:root{--color-bg: #f3f2f2;--color-surface: #eae9e9;--color-card: #ffffff;--color-text: #201f1d;--color-accent: #b68235;--color-accent-2: #ac803e;--color-divider: #d0cfce;--color-muted: #6e6c68;--color-olive: #5b6e3f;--color-rust: #a8481f;--color-amber: #c0894a;--color-accent-100: #fff3e4;--color-accent-800: #5a3b0a;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Lora", Georgia, serif;--sp-1: 5px;--sp-2: 9px;--sp-3: 14px;--sp-4: 18px;--sp-6: 28px;--sp-8: 38px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--sidebar-w: 232px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0}h1{font-size:34px}h2{font-size:26px}h3{font-size:20px}h4{font-size:17px}a{color:var(--color-accent);text-underline-offset:3px}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-weight:600}.muted{color:var(--color-muted)}.tnum{font-variant-numeric:tabular-nums}.right{text-align:right}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.wrap{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.grow,.spacer{flex:1}.hr{height:1px;background:var(--color-divider);border:0;margin:var(--sp-3) 0}.app{min-height:100%}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--color-surface);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;padding:var(--sp-4) var(--sp-3);gap:var(--sp-1)}.sidebar .brand{display:flex;align-items:center;gap:9px;font-family:var(--font-heading);font-weight:600;font-size:21px;padding:0 var(--sp-2) var(--sp-4)}.sidebar .brand .bean{width:26px;height:26px;color:var(--color-accent)}.navlink{display:flex;align-items:center;gap:11px;padding:9px var(--sp-2);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;font-size:15px}.navlink svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;opacity:.8}.navlink:hover{background:#201f1d0d}.navlink.active{background:var(--color-accent-100);color:var(--color-accent-800);box-shadow:inset 2px 0 0 var(--color-accent)}.navlink.active svg{opacity:1;color:var(--color-accent)}.sidebar .user{margin-top:auto;display:flex;align-items:center;gap:9px;padding:var(--sp-2);border-top:1px solid var(--color-divider);font-size:13px}.sidebar .user .av{width:30px;height:30px;border-radius:50%;background:var(--color-accent-100);color:var(--color-accent-800);display:grid;place-items:center;font-size:12px;font-weight:600}.content{margin-left:var(--sidebar-w);padding:var(--sp-6) var(--sp-6) 96px;max-width:1100px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.bottomnav{display:none}@media (max-width: 860px){.sidebar{display:none}.content{margin-left:0;padding:var(--sp-4) var(--sp-4) 88px}.bottomnav{display:flex;position:fixed;inset:auto 0 0 0;height:62px;background:color-mix(in srgb,var(--color-card) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--color-divider);z-index:20}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-muted);text-decoration:none;font-size:9.5px;letter-spacing:.01em}.bottomnav a svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6}.bottomnav a.active{color:var(--color-accent)}}.card{background:var(--color-card);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--sp-3)}.card+.card{margin-top:0}.list{display:flex;flex-direction:column;gap:10px}.name{font-size:16px}.sub{font-size:12.5px;color:var(--color-muted)}.big{font-size:20px;font-family:var(--font-heading);font-weight:600}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden;background:var(--color-card)}.stat{padding:var(--sp-3);border-right:1px solid var(--color-divider)}.stat:last-child{border-right:0}.stat .k{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-weight:600}.stat .v{font-family:var(--font-heading);font-weight:600;font-size:26px;margin-top:4px;font-variant-numeric:tabular-nums}.stat .s{font-size:11.5px;color:var(--color-muted);margin-top:2px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:3px 10px;border-radius:var(--radius-sm);background:var(--color-accent-100);color:var(--color-accent-800)}.pill.ok{background:transparent;color:var(--color-olive)}.pill.bad{background:transparent;color:var(--color-rust)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-family:var(--font-heading);font-weight:600;font-size:14px;text-decoration:none;color:var(--color-text);background:transparent;border:1px solid var(--color-divider);padding:9px 15px;border-radius:var(--radius-md)}.btn:hover{background:#201f1d0d}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent);border-color:var(--color-accent);background:#b682351a}.btn-primary:hover{background:#b682352e}.btn-block{width:100%}.btn-ghost{border-color:transparent;color:var(--color-accent);padding-inline:8px}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:12px;color:var(--color-muted)}.input,select.input{width:100%;min-height:40px;padding:8px 11px;font:inherit;font-size:14px;color:var(--color-text);background:var(--color-card);caret-color:var(--color-accent);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:focus-visible{border-color:var(--color-accent);outline:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}@media (max-width: 520px){.grid2{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--color-divider)}.table td{padding:9px 8px;border-bottom:1px solid var(--color-divider)}.table .r{text-align:right}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2b2b73;display:grid;place-items:center;padding:var(--sp-4);z-index:40}.modal{width:min(520px,100%);max-height:88vh;overflow:auto;background:var(--color-card);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:0 20px 50px #2d2b2b47}.modal h3{margin-bottom:var(--sp-3)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4)}.toast{position:fixed;bottom:78px;left:50%;transform:translate(-50%);z-index:60;background:var(--color-text);color:var(--color-bg);padding:10px 16px;border-radius:var(--radius-md);font-size:13.5px;box-shadow:0 8px 24px #00000040}.center-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-4)}.empty{color:var(--color-muted);text-align:center;padding:var(--sp-8) var(--sp-4)}.loading{color:var(--color-muted);padding:var(--sp-4)}.print-doc{background:var(--color-card);color:var(--color-text);font-family:var(--font-body)}.doc-head{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:flex-start}.doc-logo{max-height:56px;max-width:180px;display:block;margin-bottom:6px}.doc-brand{font-family:var(--font-heading);font-weight:600;font-size:22px}.doc-co-line{font-size:12px;color:var(--color-muted);line-height:1.5}.doc-type{font-size:13px;color:var(--color-muted);margin-top:3px}.doc-meta{text-align:right}.doc-num{font-family:var(--font-heading);font-weight:600;font-size:16px}.doc-status{display:inline-block;margin-top:6px;font-size:11px;padding:3px 10px;border-radius:var(--radius-sm);background:var(--color-accent-100);color:var(--color-accent-800)}.doc-billto .name{font-size:16px}.doc-totals{max-width:300px;margin-left:auto;margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:14px}.doc-payment,.doc-decl{margin-top:14px;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:11px}.doc-decl{font-size:11.5px;line-height:1.5}.doc-footer{margin-top:12px;font-size:12px}.print-only{display:none}.recipe-sheet .rs-title{font-family:var(--font-heading);font-weight:600;font-size:24px}.recipe-sheet .rs-sub{font-size:13px;color:var(--color-muted);margin:4px 0 16px}.recipe-sheet table{width:100%;border-collapse:collapse;font-size:14px}.recipe-sheet th,.recipe-sheet td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--color-divider)}.recipe-sheet th.r,.recipe-sheet td.r{text-align:right}.recipe-sheet .rs-notes{margin-top:22px}.recipe-sheet .rs-notes .line{border-bottom:1px solid var(--color-divider);height:26px}@media print{.sidebar,.bottomnav,.page-head,.doc-actions,.no-print,.backdrop{display:none!important}.content{margin:0!important;padding:0!important;max-width:none!important}body{background:#fff}.print-only{display:block!important}.print-doc{border:0;padding:8mm}.print-doc .doc-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}.recipe-sheet{padding:8mm}}
