:root{--bg: #F7F4EF;--bg-warm: #F2EEE7;--surface: #FFFFFF;--surface-2: #F9F7F4;--surface-3: #EEE9E1;--navy: #0B1C51;--navy-mid: #1E3070;--navy-light: #6679B6;--sand: #A68E72;--sand-light: #C4AA8A;--sand-pale: #F0E8DC;--text-primary: #0F1E52;--text-secondary: #4A5578;--text-muted: #8A93AE;--text-placeholder:#B0B8CC;--border: #E2DDD5;--border-mid: #CEC8BE;--border-focus: #6679B6;--success-bg: #EDF7F2;--success-border: #A8D5BC;--success-text: #1F6B45;--error-bg: #FDF2F2;--error-border: #F0BABA;--error-text: #8B2020;--font-display: "DM Serif Display", Georgia, serif;--font-metric: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(11,28,81,.06), 0 1px 2px rgba(11,28,81,.04);--shadow: 0 4px 12px rgba(11,28,81,.08), 0 2px 4px rgba(11,28,81,.04);--shadow-lg: 0 12px 32px rgba(11,28,81,.1), 0 4px 8px rgba(11,28,81,.06);--transition: .16s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100vh}.header{position:sticky;top:0;z-index:100;background:#f7f4efeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.header__inner{max-width:1140px;margin:0 auto;padding:0 36px;display:flex;align-items:center;height:64px}.header__brand{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-right:48px}.header__logo-mark{width:32px;height:32px;background:var(--navy);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header__logo-letter{font-family:var(--font-display);font-size:17px;color:var(--sand-light);line-height:1;margin-top:1px}.header__title{font-family:var(--font-display);font-size:17px;color:var(--text-primary);letter-spacing:-.2px}.nav{display:flex;gap:2px;flex:1}.nav__tab{display:flex;align-items:center;gap:8px;padding:7px 18px;background:transparent;border:none;border-radius:var(--radius);color:var(--text-muted);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:color var(--transition),background var(--transition);position:relative;letter-spacing:.01em}.nav__tab:hover{color:var(--text-secondary);background:var(--surface-3)}.nav__tab--active{color:var(--navy);background:var(--surface-3);font-weight:600}.nav__tab--active:after{content:"";position:absolute;bottom:-1px;left:18px;right:18px;height:2px;background:var(--sand);border-radius:2px 2px 0 0}.nav__icon{font-size:14px;opacity:.6;transition:opacity var(--transition)}.nav__tab--active .nav__icon,.nav__tab:hover .nav__icon{opacity:1}.main{flex:1;max-width:1140px;width:100%;margin:0 auto;padding:40px 36px 80px}.panel{display:grid;grid-template-columns:420px 1fr;gap:32px;align-items:start}.panel__section--form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow);position:sticky;top:88px}.panel__section--list{min-width:0}.panel__heading{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--text-primary);letter-spacing:-.3px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.panel__heading--list{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;border-bottom:none;padding-bottom:0}.quick-entry{background:linear-gradient(135deg,#eef0fa,#f0f4fc);border:1px solid rgba(102,121,182,.22);border-radius:var(--radius-lg);padding:18px;margin-bottom:4px;display:flex;flex-direction:column;gap:12px}.quick-entry__header{display:flex;align-items:center;gap:11px}.quick-entry__badge{width:28px;height:28px;background:var(--navy);color:var(--sand-light);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-entry__title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.quick-entry__subtitle{font-size:11px;color:var(--text-muted);margin-top:1px}.quick-entry__textarea{background:#ffffffbf!important;border-color:#6679b62e!important;font-size:13px!important;line-height:1.6!important;min-height:72px!important}.quick-entry__textarea:focus{background:#fffffff7!important;border-color:var(--navy-light)!important}.quick-entry__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-entry__hint{font-size:11px;color:var(--text-muted)}.btn-parse{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;background:var(--navy);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);box-shadow:var(--shadow-sm);min-width:124px;justify-content:center;white-space:nowrap}.btn-parse:hover:not(:disabled){background:var(--navy-mid);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-parse:active:not(:disabled){transform:translateY(0)}.btn-parse:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn-parse--loading{background:var(--navy-mid)!important;pointer-events:none}.btn-parse--done{background:var(--success-text)!important}.form-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border)}.form-divider span{font-size:11px;color:var(--text-muted);letter-spacing:.06em;white-space:nowrap;font-weight:500}.entry-form--highlight .input{animation:fieldHighlight 1.8s ease-out forwards}@keyframes fieldHighlight{0%{border-color:var(--navy-light);background:#6679b612;box-shadow:0 0 0 3px #6679b624}60%{border-color:var(--navy-light);background:#6679b608;box-shadow:0 0 0 2px #6679b60f}to{border-color:var(--border);background:var(--surface-2);box-shadow:none}}.entry-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row--3{grid-template-columns:1fr 1fr 1fr}.form-row--4{grid-template-columns:1fr 1fr 1fr 1fr}.field{display:flex;flex-direction:column;gap:5px}.field__label{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.field__hint{font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:10px;font-style:italic}.input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);font-size:13.5px;padding:9px 12px;outline:none;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}.input::placeholder{color:var(--text-placeholder)}.input:hover{border-color:var(--border-mid);background:var(--surface)}.input:focus{border-color:var(--border-focus);background:var(--surface);box-shadow:0 0 0 3px #6679b61f}.input--textarea{resize:vertical;min-height:64px;line-height:1.5}.input--select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A93AE' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}input[type=datetime-local]{color-scheme:light}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.btn-submit{margin-top:4px;padding:11px 24px;background:var(--navy);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);align-self:flex-start;display:flex;align-items:center;gap:8px;min-width:130px;justify-content:center;box-shadow:var(--shadow-sm)}.btn-submit:hover:not(:disabled){background:var(--navy-mid);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-submit__spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.list{display:flex;flex-direction:column;gap:10px}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.list-item:hover{border-color:var(--border-mid);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.list-item__main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.list-item__title{font-size:14px;font-weight:500;color:var(--text-primary);flex:1;min-width:0;line-height:1.4}.list-item__value{font-family:var(--font-metric);font-size:16px;font-weight:600;color:var(--sand);white-space:nowrap;flex-shrink:0}.list-item__badge{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-light);background:#6679b61a;border:1px solid rgba(102,121,182,.2);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap;flex-shrink:0}.list-item__badge--prescription{color:var(--sand);background:var(--sand-pale);border-color:#a68e724d}.list-item__badge--otc{color:var(--text-secondary);background:var(--surface-3);border-color:var(--border)}.list-item__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.list-item__time{font-size:12px;color:var(--text-muted)}.list-item__stat{font-size:12px;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);padding:1px 8px;border-radius:var(--radius-sm);font-weight:500}.list-item__notes{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);font-style:italic;line-height:1.5}.skeleton-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;gap:12px;align-items:center}.skeleton{height:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-3) 25%,var(--bg-warm) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton--wide{flex:1}.skeleton--mid{width:90px}.skeleton--narrow{width:55px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:56px 24px;color:var(--text-muted)}.empty-state__icon{width:40px;height:40px;border:1.5px dashed var(--border-mid);border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;opacity:.5}.empty-state p{font-size:13px;font-weight:500;color:var(--text-muted)}.error-state{color:var(--error-text);font-size:13px;padding:14px 16px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius)}.toast{position:fixed;bottom:28px;right:28px;display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;z-index:9999;animation:slideUp .22s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg);max-width:340px}.toast--success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.toast--error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.toast__close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;opacity:.45;padding:0;line-height:1;transition:opacity var(--transition);flex-shrink:0;margin-left:auto}.toast__close:hover{opacity:.8}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:900px){.panel{grid-template-columns:1fr}.panel__section--form{position:static}.form-row--4{grid-template-columns:1fr 1fr}}@media(max-width:640px){.header__inner{padding:0 16px}.main{padding:24px 16px 64px}.header__brand{margin-right:16px}.nav__label{display:none}.nav__icon{font-size:18px;opacity:1}.nav__tab{padding:8px 14px}.panel__section--form{padding:20px}.form-row,.form-row--3{grid-template-columns:1fr}.quick-entry__hint{display:none}}.review-panel{background:var(--surface);border:1px solid rgba(102,121,182,.3);border-radius:var(--radius-lg);padding:18px;margin:8px 0;display:flex;flex-direction:column;gap:14px;animation:slideUp .2s ease}.review-panel--empty{align-items:center;padding:24px;color:var(--text-muted);font-size:13px;gap:10px}.review-panel__header{display:flex;align-items:center;justify-content:space-between}.review-panel__title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-light)}.review-panel__list{display:flex;flex-direction:column;gap:8px}.review-card{display:flex;align-items:flex-start;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:border-color var(--transition)}.review-card:hover{border-color:var(--border-mid)}.review-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.review-card__name{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.3}.review-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-card__notes{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:2px}.review-card__remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:13px;line-height:1;padding:2px 4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--transition),background var(--transition)}.review-card__remove:hover{color:var(--error-text);background:var(--error-bg)}.btn-submit--full{align-self:stretch;margin-top:0;min-width:unset}.btn-discard-link{background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-muted);text-decoration:underline;font-family:var(--font-body);padding:0;transition:color var(--transition)}.btn-discard-link:hover{color:var(--error-text)}.btn-discard{padding:7px 16px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-discard:hover{background:var(--border)}
