:root{color:#30231e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f0e8;font-family:Trebuchet MS,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f4f0e8;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:#f4f0e8;grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eee4d6;background:#342522;flex-direction:column;min-height:100vh;padding:2rem 1.2rem 1.3rem;display:flex}.brand{color:#fff8ef;align-items:center;gap:.7rem;font-family:Georgia,serif;font-size:1.25rem;line-height:.9;display:flex}.brand em{color:#cda37d;font-size:.8em;font-style:normal}.brand-mark{color:#cda37d;border:1px solid #cda37d;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-family:Georgia,serif;font-size:1.4rem;display:grid}.nav-list{gap:.35rem;margin-top:4rem;display:grid}.nav-item,.text-button{color:inherit;text-align:left;background:0 0;border:0}.nav-item{border-radius:4px;align-items:center;gap:.8rem;padding:.8rem .7rem;font-size:.85rem;display:flex}.nav-item span{color:#bf9472;text-align:center;width:1.2rem}.nav-item strong{color:#a99285;margin-left:auto;font-weight:400}.sidebar-bottom{border-top:1px solid #58443d;margin-top:auto;padding-top:1.4rem}.eyebrow{color:#9a6a48;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.68rem;font-weight:700}.sidebar .eyebrow{color:#bd9b80}.storage-row{color:#cdbeb2;justify-content:space-between;padding:.55rem 0;font-size:.78rem;display:flex}.storage-row strong{color:#fff8ef;font-weight:500}.text-button{color:#d0a17b;margin-top:1.1rem;padding:0;font-size:.75rem;display:block}.workspace{width:100%;max-width:1600px;padding:2.6rem clamp(1.5rem,4vw,4.5rem)}.topbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}h1,h2{margin:0;font-family:Georgia,serif;font-weight:400}h1{color:#342522;font-size:clamp(2rem,4vw,3.3rem)}h2{color:#342522;font-size:1.35rem}.primary-button,.quiet-button{cursor:pointer;border:0;border-radius:3px}.primary-button{color:#fff9f1;background:#793e38;padding:.78rem 1.1rem;font-size:.8rem;font-weight:700}.quiet-button{color:#966647;background:0 0;padding:.5rem .7rem;font-size:.76rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:2rem;display:grid}.metric{background:#fbf9f4;border:1px solid #e2dacf;padding:1.1rem 1.2rem}.metric.highlight{background:#ead7c5;border-color:#bb8967}.metric span,.metric small{color:#8a7568;font-size:.72rem;display:block}.metric strong{color:#382722;margin:.55rem 0 .35rem;font-family:Georgia,serif;font-size:1.75rem;font-weight:400;display:block}.metric small{color:#9d887a;font-size:.68rem}.content-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.1rem;display:grid}.inventory-panel,.detail-panel{background:#fbf9f4;border:1px solid #e2dacf}.panel-heading{justify-content:space-between;align-items:end;padding:1.3rem 1.3rem 1rem;display:flex}.filters{grid-template-columns:minmax(180px,1fr) 130px 130px;gap:.5rem;padding:0 1.3rem 1rem;display:grid}.search{background:#fffdf9;border:1px solid #ddd0c4;align-items:center;gap:.5rem;padding:0 .7rem;display:flex}.search span{color:#9a6a48;font-size:1.25rem}input,select{color:#4d3930;background:#fffdf9;border:1px solid #ddd0c4;border-radius:2px;outline:none;width:100%;padding:.62rem .65rem;font-size:.76rem}.search input{border:0;padding-left:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#a18a7c;letter-spacing:.07em;text-transform:uppercase;border-top:1px solid #e8ded5;border-bottom:1px solid #e8ded5;padding:.65rem .7rem;font-size:.65rem;font-weight:700}td{color:#705c51;white-space:nowrap;border-bottom:1px solid #eee7df;padding:.75rem .7rem;font-size:.74rem}tbody tr{cursor:pointer}td strong,td small{display:block}td strong{color:#44312a;font-family:Georgia,serif;font-size:.88rem;font-weight:400}td small{color:#a08b7f;margin-top:.2rem;font-size:.65rem}.id-cell{color:#ad8a76;font-family:monospace}.colour-dot{background:#783b32;border-radius:50%;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block}.colour-dot.white{background:#ddbf74}.colour-dot.rosé{background:#df8e89}.colour-dot.sparkling{background:#ad9a50}.status{color:#6e6547;background:#ebe7cf;border-radius:2px;padding:.25rem .42rem;font-size:.65rem;display:inline-block}.empty-state{color:#927c6d;text-align:center;padding:3rem}.detail-header{border-bottom:1px solid #e8ded5;align-items:center;gap:.8rem;padding-bottom:1.2rem;display:flex}.detail-header h2{font-size:1.35rem;line-height:1.05}.detail-header p:last-child{color:#927b6e;margin:.35rem 0 0;font-size:.75rem}.large-colour{background:#783b32;border-radius:2px 2px 8px 8px;flex:none;width:2.8rem;height:4.2rem;box-shadow:inset .25rem 0 #a66350}.large-colour.white{background:#d4af69;box-shadow:inset .25rem 0 #f0d99c}.large-colour.rosé{background:#d98780}.large-colour.sparkling{background:#a7954c}.detail-status{color:#907a6d;justify-content:space-between;padding:1rem 0;font-size:.73rem;display:flex}.detail-form{gap:.9rem;display:grid}.detail-form label{color:#8c7568;gap:.35rem;font-size:.68rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.toggle-label{align-items:center;display:flex!important}.toggle-label input{accent-color:#793e38;width:auto}.detail-footer{border-top:1px solid #e8ded5;gap:.55rem;margin-top:1.5rem;padding-top:1.2rem;display:grid}.full{width:100%}.review-page{--review-green:#1f6f5a;--review-dark:#0f4c3a;--review-ink:#0f172a;--review-muted:#64748b;--review-border:#e5e5e5;min-height:100vh;color:var(--review-ink);background:#f7f7f5;padding:2rem clamp(1rem,4vw,4rem);font-family:Times New Roman,serif}.review-topbar,.review-header-actions,.review-toolbar,.review-list-heading,.review-pagination,.review-decision-actions{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.review-topbar{max-width:1500px;margin:0 auto 1.5rem}.review-page h1,.review-page h2,.review-page h3{color:var(--review-ink)}.review-eyebrow{color:var(--review-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font:700 .7rem Segoe UI,sans-serif}.review-page h1{font-size:clamp(2rem,4vw,2.8rem)}.review-page h2{font-size:1.35rem}.review-page h3{margin:0 0 .8rem;font-size:1.08rem}.review-secondary,.review-primary,.review-danger{border:1px solid var(--review-border);color:var(--review-ink);background:#fff;border-radius:8px;padding:.65rem .9rem;font:600 .82rem Segoe UI,sans-serif}.review-primary{border-color:var(--review-green);color:#fff;background:var(--review-green)}.review-danger{color:#8a3029;border-color:#e2b7b2}.review-secondary:disabled,.review-primary:disabled,.review-danger:disabled{cursor:not-allowed;opacity:.6}.review-auth-card,.review-list-card,.review-detail-card{border:1px solid var(--review-border);background:#fff;border-radius:14px}.review-auth-card{width:min(100%,440px);margin:5vh auto;padding:1.5rem}.review-auth-card>p,.review-banner,.review-fields>p,.review-issues>p{color:var(--review-muted);line-height:1.5}.review-login,.review-login label,.review-decision label{gap:.55rem;display:grid}.review-login{gap:1rem;margin-top:1.25rem}.review-login label,.review-decision label{color:var(--review-muted);font:600 .82rem Segoe UI,sans-serif}.review-login input,.review-toolbar select,.review-field-grid input,.review-decision textarea{border:1px solid var(--review-border);color:var(--review-ink);background:#fff;border-radius:7px;padding:.65rem .7rem;font:.9rem Segoe UI,sans-serif}.review-banner,.review-notice,.review-error{background:#f1f8f3;border:1px solid #d8e8df;border-radius:10px;max-width:1500px;margin:0 auto 1rem;padding:.85rem 1rem}.review-error{color:#8a3029;background:#fff5f3;border-color:#ebc8c4}.review-notice{color:var(--review-dark)}.review-toolbar{max-width:1500px;color:var(--review-muted);margin:0 auto 1rem;font:.85rem Segoe UI,sans-serif}.review-toolbar label{align-items:center;gap:.6rem;display:flex}.review-toolbar select{width:auto;min-width:170px}.review-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:1rem;max-width:1500px;margin:0 auto;display:grid}.review-list-card,.review-detail-card{min-width:0;padding:1rem}.review-list-heading{border-bottom:1px solid var(--review-border);padding:0 0 .8rem}.review-list-heading span,.review-row-choice small,.review-issue-count,.review-field-grid small,.review-issues small{color:var(--review-muted);font:.75rem Segoe UI,sans-serif}.review-row-list{max-height:70vh;overflow-y:auto}.review-row-choice{width:100%;color:var(--review-ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f0ee;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem .45rem;display:flex}.review-row-choice.selected{background:#eef6f1}.review-row-choice strong,.review-row-choice small,.review-issues strong,.review-issues small{display:block}.review-row-choice small,.review-issues small{margin-top:.2rem}.review-issue-count{flex:none}.review-pagination{padding-top:.8rem}.review-detail-heading{border-bottom:1px solid var(--review-border);justify-content:space-between;gap:1rem;padding-bottom:1rem;display:flex}.review-detail-heading h2{overflow-wrap:anywhere}.review-detail-heading>div>p:last-child{color:var(--review-muted);margin:.3rem 0 0}.review-state{color:var(--review-dark);background:#edf5ef;border-radius:999px;flex:none;align-self:start;padding:.35rem .6rem;font:.72rem Segoe UI,sans-serif}.state-rejected{color:#8a3029;background:#fff0ed}.review-issues,.review-fields{border-bottom:1px solid var(--review-border);padding:1.1rem 0}.review-issues ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.review-issues li{color:var(--review-ink);align-items:flex-start;gap:.55rem;display:flex}.review-issues li.resolved{opacity:.65}.review-severity{background:#d4a546;border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.25rem}.severity-error{background:#b8463c}.severity-info{background:#6a8aa5}.review-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.review-field-grid label{min-width:0;color:var(--review-ink);gap:.35rem;font-weight:700;display:grid}.review-field-grid small{overflow-wrap:anywhere;min-height:1.1rem}.review-source-details{border-bottom:1px solid var(--review-border);color:var(--review-dark);padding:1rem 0;font:.85rem Segoe UI,sans-serif}.review-source-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;display:grid}.review-source-details dl div{min-width:0}.review-source-details dt{color:var(--review-muted);font-weight:700}.review-source-details dd{overflow-wrap:anywhere;color:var(--review-ink);margin:.2rem 0 0}.review-decision{gap:.8rem;padding-top:1rem;display:grid}.review-decision textarea{resize:vertical}.review-decision-actions{justify-content:flex-end}.review-empty{color:var(--review-muted);text-align:center;padding:1.5rem .5rem}@media (width<=1050px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.content-grid{grid-template-columns:1fr}.detail-panel{order:-1}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-shell{display:block}.sidebar{min-height:auto;padding:1rem}.nav-list{margin-top:1.5rem;display:flex;overflow-x:auto}.nav-item{white-space:nowrap}.sidebar-bottom{display:none}.workspace{padding:1.3rem 1rem}.topbar{flex-direction:column;align-items:start}.metric-grid{gap:.5rem}.metric{padding:.8rem}.metric strong{font-size:1.35rem}.filters{grid-template-columns:1fr;padding-left:0;padding-right:0}.panel-heading{padding-left:0;padding-right:0}.review-page{padding:1rem}.review-topbar,.review-header-actions{flex-direction:column;align-items:flex-start}.review-layout{grid-template-columns:1fr}.review-row-list{max-height:35vh}.review-field-grid,.review-source-details dl{grid-template-columns:1fr}.review-toolbar{flex-wrap:wrap}.review-toolbar label{justify-content:space-between;width:100%}}:root{--page:#f7f7f5;--surface:#fff;--ink:#0f172a;--muted:#64748b;--brand:#0f4c3a;--action:#1f6f5a;--border:#e5e5e5;color:var(--ink);background:var(--page);font-family:Times New Roman,Georgia,serif}body{background:var(--page)}button,input,select{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--action);outline-offset:2px}.app-shell{background:var(--page);min-height:100vh;display:block}.sidebar{border-bottom:1px solid var(--border);min-height:0;color:var(--ink);background:var(--surface);flex-direction:row;align-items:center;gap:clamp(1rem,3vw,3rem);padding:.8rem clamp(1rem,4vw,3.5rem)}.brand{color:var(--brand);flex:none;gap:.65rem;font-size:1.15rem;font-weight:700;line-height:1}.brand em{color:var(--muted);font-size:.85em;font-style:normal;font-weight:400}.brand-mark{border-color:var(--brand);width:2.25rem;height:2.25rem;color:var(--brand)}.nav-list{align-items:center;gap:.35rem;margin:0;display:flex}.nav-item{color:var(--muted);border-radius:10px;gap:.55rem;padding:.65rem .8rem;font-size:.9rem}.nav-item span{color:var(--action)}.nav-item strong{color:var(--muted)}.nav-item.active{color:var(--brand);background:#ebffff}.sidebar-bottom{border:0;align-items:center;gap:.75rem;margin:0 0 0 auto;padding:0;display:flex}.storage-status{max-width:16rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.45rem;font-size:.8rem;display:inline-flex;overflow:hidden}.storage-indicator{background:var(--action);border-radius:50%;flex:none;width:.5rem;height:.5rem}.text-button{color:var(--muted);white-space:nowrap;border-radius:8px;margin:0;padding:.5rem .6rem;font-size:.82rem}.text-button:hover,.quiet-button:hover{color:var(--brand);background:#f1f5f2}.workspace{max-width:1600px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,3.5rem)}h1,h2{color:var(--ink);font-family:Times New Roman,Georgia,serif;font-weight:700}h1{font-size:clamp(2rem,4vw,2.8rem)}h2{font-size:1.3rem}.eyebrow{color:var(--muted);letter-spacing:.08em;font-size:.72rem}.primary-button,.quiet-button{border-radius:10px;font-family:inherit}.primary-button{color:#fff;background:var(--action);padding:.75rem 1rem;font-size:.9rem}.primary-button:hover{background:var(--brand)}.quiet-button{color:var(--action)}.metric-grid{gap:.9rem}.metric,.metric.highlight,.inventory-panel,.detail-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px}.metric{padding:1.1rem 1.2rem}.metric.highlight{border-color:#c8ddd5}.metric span,.metric small{color:var(--muted);font-size:.78rem}.metric strong{color:var(--brand);font-size:1.8rem;font-weight:700}.content-grid{grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:1rem}.inventory-panel,.detail-panel{min-width:0}.panel-heading{padding:1.2rem 1.2rem .9rem}.filters{gap:.6rem;padding:0 1.2rem 1rem}input,select,.search{border-color:var(--border);color:var(--ink);background:var(--surface);border-radius:8px;font-size:.84rem}.search{min-width:0}.search span{color:var(--muted)}input:focus,select:focus{border-color:var(--action)}table{min-width:740px}th{border-color:var(--border);color:var(--muted);font-size:.7rem}td{color:var(--muted);border-color:#f0f0ee;font-size:.82rem}td strong{color:var(--ink);font-size:.95rem;font-weight:700}td small{color:var(--muted);font-size:.73rem}tbody tr:hover,tbody tr.selected{background:#f4f8f5}.status{color:#365b4d;background:#edf5ef;border-radius:999px;font-size:.72rem}.status-sold{color:#64748b;background:#f1f3f4}.status-corked{color:#85443d;background:#f8eeeb}.status-to-review{color:#785a27;background:#f7f2e6}.detail-panel{padding:1.25rem}.detail-header{border-color:var(--border)}.detail-header h2{overflow-wrap:anywhere;line-height:1.15}.detail-header p:last-child,.detail-status,.detail-form label{color:var(--muted)}.detail-form label{font-size:.78rem}.detail-footer{border-color:var(--border)}.empty-state{color:var(--muted)}@media (width<=1050px){.sidebar{flex-wrap:wrap;gap:.5rem 1rem}.nav-list{margin:0}.sidebar-bottom{justify-content:flex-end;width:100%;margin:0}.storage-status{margin-right:auto}.content-grid{grid-template-columns:minmax(0,1fr)}.detail-panel{order:0}}@media (width<=700px){.sidebar{align-items:flex-start;padding:.8rem 1rem .65rem}.brand{width:100%}.nav-list{max-width:100%;overflow-x:auto}.sidebar-bottom{justify-content:flex-start;gap:.25rem;overflow-x:auto}.storage-status{max-width:100%}.workspace{padding:1.5rem 1rem}.topbar{flex-flow:wrap;align-items:flex-start;margin-bottom:1.3rem}.metric-grid{gap:.6rem;margin-bottom:1.3rem}.metric{min-width:0;padding:.85rem}.metric strong{font-size:1.5rem}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-left:1rem;padding-right:1rem}.search{grid-column:1/-1}.panel-heading{align-items:center;padding-left:1rem;padding-right:1rem}.review-page{padding:1rem}}
