@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f5f0e8;--surface:#fffcf7;--ink:#2b1711;--brown:#39221c;--copper:#a75c40;--muted:#7b6b61;--line:#e5dcd2;--sage:#3e6753;--green-bg:#e8eee6;--red:#a93b39;--red-bg:#f8eae5;--sans:'DM Sans',sans-serif;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #be7858;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #bc7855;outline-offset:1px}button{border:0;background:transparent}h1,h2,h3,p{margin:0}h1{font-size:2.35rem;line-height:1.2;font-weight:500;letter-spacing:-.045em}h2{font-size:1.2rem;letter-spacing:-.025em;font-weight:600}h3{font-size:1rem;font-weight:600}small,.muted{color:var(--muted)}small{font-size:.8125rem}.wordmark{font-size:2rem;letter-spacing:.27em;font-weight:500;line-height:1.3;white-space:nowrap}.wordmark sup{font-size:.6rem;letter-spacing:0;vertical-align:top;margin-left:-.3rem}.loading{min-height:100dvh;display:grid;place-content:center;text-align:center;gap:2rem}.loading p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;color:var(--muted)}.shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--ink);color:#f5ece0;position:fixed;inset:0 auto 0 0;width:242px;display:flex;flex-direction:column;padding:2.1rem 1.05rem 1.15rem;z-index:15;overflow:auto}.sidebar .wordmark{padding:0 .8rem}.workspace-label{font-size:.75rem;letter-spacing:.12em;color:#b6a094;margin:.4rem .8rem 2.1rem;text-transform:uppercase}.nav-label{font-size:.6875rem;color:#b19a8d;letter-spacing:.15em;text-transform:uppercase;padding:1.3rem 1rem .45rem}.nav-item{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;width:100%;text-align:left;border-radius:7px;font-size:.875rem;color:#d5c8bd;margin:.15rem 0;transition:.18s}.nav-item svg{width:19px;height:19px;opacity:.8;flex-shrink:0}.nav-item:hover{background:#ffffff0c}.nav-item.active{background:#fbf4e8;color:var(--ink)}.nav-item.active svg{opacity:1}.nav-count{margin-left:auto;font-size:.75rem;background:#a8573e;color:#fff;padding:0 .4rem;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:2rem}.venue-card{border:1px solid #e6d6c328;padding:.9rem 1rem;border-radius:7px;display:flex;align-items:center;gap:.8rem;font-size:.8125rem}.venue-letter{font-family:var(--serif);font-size:1.6rem;background:#d4aa8740;width:32px;text-align:center;border-radius:5px}.venue-card small{color:#bda99c;display:block}.sidebar-bottom>a{display:block;color:#bda99c;font-size:.8125rem;padding:.9rem 1rem .1rem}.workspace{grid-column:2;min-width:0}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 2.1rem;background:#f9f5ee}.breadcrumb{display:flex;align-items:center;gap:1rem;font-size:.875rem}.breadcrumb span:first-child{color:var(--muted)}.breadcrumb .divider{color:#c4b5a6}.topbar-right{display:flex;align-items:center;gap:1.1rem;font-size:.8125rem}.profile{display:flex;align-items:center;gap:.6rem}.avatar{width:35px;height:35px;background:#e5d5c8;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:.75rem;font-weight:600}.profile small{display:block;font-size:.6875rem;text-transform:capitalize}.icon-button{height:36px;width:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px}.icon-button svg{width:18px;height:18px}.mobile-menu{display:none}.content{padding:2rem 2.1rem 3rem;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}.page-heading .eyebrow{margin-bottom:.65rem}.page-heading p{margin-top:.6rem;color:var(--muted);font-size:.9375rem}.actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.btn{padding:.65rem 1rem;min-height:42px;display:inline-flex;gap:.55rem;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:6px;font-size:.875rem;font-weight:500;white-space:nowrap}.btn svg{width:17px;height:17px}.btn:hover{background:#4b2c21}.btn.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#eee5da}.btn.ghost{background:transparent;color:var(--ink);border-color:transparent}.btn.danger{background:var(--red);border-color:var(--red);color:white}.btn.small{min-height:33px;padding:.35rem .65rem;font-size:.8125rem}.badge{display:inline-flex;gap:.4rem;align-items:center;border:1px solid var(--line);padding:.25rem .55rem;border-radius:5px;font-size:.75rem;line-height:1.4;color:var(--muted);white-space:nowrap;background:#fbf7f0}.badge.green{color:var(--sage);background:var(--green-bg);border-color:#cfdbcd}.badge.copper{color:#8d4a2d;background:#f1e3d6;border-color:#e6cdb8}.badge.red{color:var(--red);background:var(--red-bg);border-color:#edcec6}.badge.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.3rem}.metric{padding:1.2rem 1.3rem 1rem;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8125rem;gap:.4rem}.metric-label svg{width:17px;height:17px;opacity:.75}.metric-value{font-size:2rem;letter-spacing:-.055em;line-height:1.4;font-weight:500;margin:.4rem 0 .35rem}.metric-value small{font-size:.9rem;letter-spacing:0}.metric.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.metric.dark .metric-label,.metric.dark small{color:#c9b6a6}.grid-two{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.3rem;margin-bottom:1.3rem}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-bottom:1.3rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.panel-head{padding:1.3rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.panel-head h2{font-size:1rem;font-weight:600;letter-spacing:-.01em}.panel-head small{display:block;margin-top:.2rem}.panel-body{padding:1.4rem}.panel-title-actions{display:flex;gap:.5rem;align-items:center}.setup-note,.notice{padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #d9c3ad;background:#f0e4d6;border-radius:7px;margin-bottom:1.3rem;font-size:.875rem}.notice.red{background:var(--red-bg);border-color:#ebcbbf}.setup-note h3{margin-bottom:.25rem}.setup-note p,.notice p{color:#725342}.empty{padding:2.7rem 1.5rem;text-align:center;color:var(--muted)}.empty svg{width:29px;height:29px;color:#b69c84;margin-bottom:.7rem}.empty h3{color:var(--ink);font-size:1rem;font-weight:500;margin-bottom:.5rem}.empty p{font-size:.875rem;max-width:26rem;margin:0 auto 1.2rem}.empty.compact{padding:1.4rem}.empty.compact p{margin-bottom:.75rem}.sales-chart{padding:1.6rem 1.4rem 1rem}.chart-stat{font-size:2.3rem;letter-spacing:-.06em;font-weight:500}.chart-caption{font-size:.8125rem;color:var(--muted);margin:.1rem 0 1.6rem}.chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.4rem;height:180px;border-bottom:1px solid var(--line);padding:0 .5rem;align-items:end;background:repeating-linear-gradient(to top,transparent 0px,transparent 44px,#ece3d940 45px,#ece3d940 46px)}.bar{height:100%;display:flex;align-items:end;position:relative;justify-content:center}.bar i{display:block;background:#d7bb9f;width:100%;max-width:52px;height:var(--height);border-radius:4px 4px 0 0;min-height:2px;transition:height .4s}.bar:last-child i{background:var(--copper)}.bar-label{position:absolute;top:calc(100% - var(--height) - 23px);font-size:.75rem;font-style:normal;color:var(--muted);white-space:nowrap}.chart-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.4rem;padding:.7rem .5rem;font-size:.75rem;color:var(--muted);text-align:center}.chart-legend{font-size:.75rem;padding:.4rem 1.4rem 1rem;color:var(--muted)}.chart-legend:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:#d7bb9f;margin-right:.5rem}.check-row{display:flex;gap:.8rem;align-items:center;padding:1rem 1.4rem;border-bottom:1px solid var(--line);font-size:.875rem}.check-row:last-child{border:0}.check-row p{margin-top:.15rem;font-size:.8125rem;color:var(--muted)}.check-row .step-circle{width:29px;height:29px;display:grid;place-items:center;font-size:.8125rem;border:1px solid #d5c2ad;background:#f0e5d7;border-radius:50%;flex:none}.check-row .btn{margin-left:auto}.task-row{padding:1rem 1.4rem;border-bottom:1px solid var(--line);display:flex;gap:.8rem;align-items:flex-start}.task-row:last-child{border:0}.task-row p{font-size:.8125rem;color:var(--muted);margin:.2rem 0}.task-check{width:22px;height:22px;border:1px solid #ccbaa9;border-radius:5px;display:grid;place-items:center;flex:none;margin-top:.1rem}.task-check.done{background:var(--sage);color:#fff;border-color:var(--sage)}.task-check svg{width:15px}.task-row.complete h3{text-decoration:line-through;color:var(--muted)}.task-row .badge{margin-left:auto}.alert-row{padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.alert-row:last-child{border:0}.alert-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.alert-row h3{font-size:.875rem}.alert-row p{font-size:.8125rem;color:var(--muted);margin:.3rem 0}.alert-impact{border-left:2px solid #b1704d;margin:.8rem 0 0;padding-left:.8rem;font-size:.8125rem}.table-scroll{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left;min-width:550px}.data-table th{font-size:.75rem;color:var(--muted);font-weight:500;white-space:nowrap;background:#faf6ef;padding:.9rem 1.2rem;border-bottom:1px solid var(--line)}.data-table td{padding:1rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td small{display:block;margin-top:.2rem}.data-table .person{display:flex;gap:.75rem;align-items:center}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1.3rem;overflow:auto}.tab{padding:.85rem 1.1rem;color:var(--muted);font-size:.875rem;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--ink);border-color:var(--ink)}.roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.week-control{display:flex;gap:.75rem;align-items:center;font-size:.9375rem}.week-control button{border:1px solid var(--line);border-radius:5px;width:32px;height:32px;display:grid;place-items:center;background:var(--surface)}.week-control input{max-width:155px;padding:.5rem;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:.8125rem}.roster{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.roster-grid{display:grid;grid-template-columns:180px repeat(7,minmax(125px,1fr));min-width:1090px}.roster-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:108px;padding:.6rem;position:relative;display:flex;flex-direction:column;gap:.4rem}.roster-cell:nth-child(8n){border-right:0}.roster-day{background:#f8f3ea;padding:1rem .75rem;min-height:84px}.roster-day>span{font-size:.75rem;color:var(--muted);display:block}.roster-day strong{font-size:1.05rem;font-weight:500}.roster-day.today{background:#ede2d2}.roster-person{padding:1.15rem 1rem;flex-direction:row;align-items:flex-start;gap:.6rem;background:#fffcf7;position:sticky;left:0;z-index:2}.roster-person b{font-size:.875rem;font-weight:500}.roster-person small{display:block;font-size:.75rem}.roster-person .avatar{width:29px;height:29px;font-size:.6875rem}.shift{padding:.7rem .7rem .65rem;border-radius:5px;text-align:left;font-size:.8125rem;line-height:1.5;background:#eedfc9;border:1px solid #dbc4a8;width:100%;position:relative;transition:transform .15s}.shift.type-1{background:#e6eadd;border-color:#c9d0b7}.shift.type-2{background:#eddfd8;border-color:#d9c1b5}.shift b{font-weight:600;display:block;white-space:nowrap;font-size:.8125rem}.shift small{font-size:.6875rem;display:block;color:#6e5948}.shift:active{cursor:grabbing}.shift[draggable=true]{cursor:grab}.add-shift{border:1px dashed #d6c8b6;border-radius:5px;min-height:31px;width:100%;color:#927b65;font-size:1.05rem;opacity:.25}.roster-cell:hover .add-shift,.add-shift:focus{opacity:1}.roster-cell.drag-over{background:#e9d6be}.roster-cell.unavailable{background:repeating-linear-gradient(135deg,#faf2eb,#faf2eb 5px,#f2e9dd 5px,#f2e9dd 6px)}.leave-tag{font-size:.6875rem;color:#966a48;margin:.35rem .1rem}.roster-total{min-height:60px;padding:.85rem .8rem;background:#f6eee1;font-size:.8125rem}.roster-total b{font-weight:600}.roster-total small{display:block;font-size:.6875rem}.roster-legend{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-top:.85rem;font-size:.8125rem;color:var(--muted)}.staff-shifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.my-shift{border:1px solid var(--line);border-radius:7px;padding:1.3rem;background:var(--surface);display:flex;gap:1.1rem}.my-shift .date-box{border-right:1px solid var(--line);padding-right:1rem;text-align:center}.date-box strong{font-family:var(--serif);font-size:2rem;font-weight:400;display:block;line-height:1.15}.date-box span{font-size:.75rem;color:var(--muted);text-transform:uppercase}.my-shift h3{font-size:1.2rem;letter-spacing:-.02em}.my-shift p{font-size:.8125rem;color:var(--muted);margin-top:.35rem}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.document-card{padding:1.3rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.document-card>svg{width:28px;height:28px;color:var(--copper);margin-bottom:.9rem}.document-card h3{font-size:1rem}.document-card p{font-size:.8125rem;color:var(--muted);margin:.5rem 0 1.3rem;overflow-wrap:anywhere}.document-card .actions{justify-content:space-between}.recipe-table button{text-align:left}.cost-high{color:var(--red)}.cost-good{color:var(--sage)}.mono{font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem}.field{display:flex;flex-direction:column;gap:.4rem;font-size:.8125rem;min-width:0}.field.full{grid-column:1/-1}.field>span,.field>label{font-weight:500}.field input,.field select,.field textarea,.form-input{border:1px solid #d8c9b9;background:#fffdf9;padding:.65rem .8rem;border-radius:5px;min-height:43px;width:100%;font-size:.9375rem}.field textarea{min-height:95px;resize:vertical}.field small{font-size:.75rem;font-weight:400}.form-section{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line)}.form-section h3{margin-bottom:.9rem;font-size:.9375rem}.form-help{font-size:.8125rem;color:var(--muted);margin:.8rem 0 1.2rem}.check-label{display:flex;align-items:flex-start;gap:.55rem;font-size:.875rem}.check-label input{accent-color:var(--ink);margin-top:.3rem;width:16px;height:16px;flex:none}.day-pills{display:flex;gap:.4rem;flex-wrap:wrap}.day-pills label{position:relative;font-size:.8125rem;cursor:pointer}.day-pills input{position:absolute;opacity:0}.day-pills span{display:block;border:1px solid var(--line);border-radius:5px;padding:.45rem .6rem;background:var(--surface)}.day-pills input:checked+span{color:var(--paper);background:var(--ink);border-color:var(--ink)}.day-pills input:focus-visible+span{outline:2px solid var(--copper)}.form-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.5rem}.form-error{font-size:.875rem;color:var(--red);padding:.75rem 0;min-height:1.1rem;white-space:pre-wrap}.line-builder{margin-top:.85rem;display:flex;flex-direction:column;gap:.65rem}.line-row{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) 27px;gap:.5rem;align-items:end;background:#f5eee3;padding:.75rem;border-radius:6px}.line-row.recipe-line{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 27px}.line-row.delivery-line{grid-template-columns:2fr repeat(3,1fr) 27px}.line-row.order-line{grid-template-columns:2fr 1fr 27px}.line-row input,.line-row select{min-height:38px;font-size:.8125rem;padding:.5rem}.line-row .field{font-size:.75rem}.remove-line{width:27px;height:38px;font-size:1.25rem;color:var(--muted)}.total-strip{display:flex;justify-content:flex-end;gap:1.5rem;margin-top:1rem;font-size:.875rem}.total-strip strong{display:block;font-size:1.35rem;letter-spacing:-.025em}.reading{white-space:pre-wrap;font-size:.9375rem;line-height:1.75;max-height:55vh;overflow:auto;margin:1.2rem 0;overflow-wrap:anywhere}.reading h3{font-weight:600}dialog{width:660px;max-width:calc(100% - 2rem);max-height:calc(100dvh - 3rem);border:1px solid var(--line);border-radius:10px;padding:0;background:var(--surface);color:var(--ink);box-shadow:0 20px 90px #22100840}dialog.wide{width:850px}dialog::backdrop{background:#29150e77;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.15rem}.modal-head button{font-size:1.7rem;line-height:1;color:var(--muted)}.modal-body{padding:1.5rem;overflow:auto}.modal-body .notice{font-size:.8125rem}.modal-body .modal-link{overflow-wrap:anywhere;padding:1rem;background:#f2e5d5;border-radius:6px;font-size:.8125rem;margin-bottom:1rem}#toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--ink);color:var(--paper);padding:1rem 1.3rem;border-radius:8px;box-shadow:0 10px 30px #2b171122;max-width:450px;font-size:.875rem;z-index:100;opacity:0;transform:translateY(1rem);transition:.2s;pointer-events:none}#toast.visible{opacity:1;transform:translateY(0)}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-brand{background:var(--ink);color:var(--paper);padding:3rem 4rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-brand .wordmark{font-size:2.8rem}.auth-brand .eyebrow{color:#c9ab91;margin-top:.6rem}.auth-brand-middle{margin:auto 0;padding:4rem 0}.auth-brand h1{font-family:var(--serif);font-size:clamp(3.5rem,4.6vw,5.5rem);font-weight:400;letter-spacing:-.035em;line-height:1.05;max-width:6.5em}.auth-brand h1 em{color:#d9bfa5;font-style:italic}.auth-brand p{color:#c4af9d;max-width:23rem;margin-top:1.5rem;font-size:.9375rem;line-height:1.75}.auth-meta{border-top:1px solid #e9d4bf33;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#bfa692}.auth-form-wrap{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:3rem 2rem}.auth-card{width:100%;max-width:380px}.auth-card h2{font-size:1.8rem;font-weight:500;letter-spacing:-.04em;margin:.8rem 0 .5rem}.auth-card>p{font-size:.875rem;color:var(--muted);margin-bottom:1.6rem}.auth-form{display:flex;flex-direction:column;gap:1.05rem}.auth-form .btn{width:100%;margin-top:.4rem;min-height:46px}.auth-links{display:flex;gap:.75rem;justify-content:space-between;font-size:.8125rem;color:var(--muted);margin-top:1.1rem}.auth-links button{text-decoration:underline;font-size:.8125rem;padding:0}.auth-back{display:block;text-align:center;font-size:.8125rem;color:var(--muted);margin-top:2rem}.onboarding{max-width:870px;margin:auto}.onboard-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:1.3rem 1.4rem;gap:1rem}.onboard-step{display:flex;gap:.7rem;align-items:center;font-size:.8125rem;color:var(--muted)}.onboard-step span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex:none;font-size:.75rem}.onboard-step.active{color:var(--ink)}.onboard-step.active span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.onboard-form{padding:1.7rem 2rem}.onboard-form h2{margin-bottom:.6rem}.onboard-pane[hidden]{display:none}.onboard-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.onboard-footer .actions{justify-content:flex-end}.settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.integration-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.integration-title{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.integration-title h3{font-size:1.1rem}.integration-card p{font-size:.875rem;color:var(--muted)}.integration-card .btn{align-self:flex-start}.meta-line{font-size:.8125rem;color:var(--muted);margin-top:.8rem}.cash-equation{background:#f2e7d7;padding:1rem;border-radius:6px;display:flex;align-items:center;justify-content:space-between;margin:1.2rem 0;font-size:.875rem}.cash-equation strong{font-size:1.5rem;font-weight:500;letter-spacing:-.03em}.mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.csv-preview{max-height:220px;overflow:auto;border:1px solid var(--line);margin:1rem 0}.csv-preview table{font-size:.75rem;width:100%;border-collapse:collapse}.csv-preview td,.csv-preview th{padding:.5rem;border:1px solid var(--line);white-space:nowrap}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.summary-grid>div{padding:1rem;background:#f5eee3;border-radius:5px}.summary-grid strong{font-size:1.6rem;font-weight:500;letter-spacing:-.04em;display:block}.summary-grid small{font-size:.75rem}.text-link{border-bottom:1px solid currentColor;font-size:.8125rem}.pending-block{max-width:600px;margin:4rem auto}.pending-block h2{font-family:var(--serif);font-size:2.3rem;font-weight:400}.pending-block p{margin:1rem 0;color:var(--muted)}.print-note{font-size:.75rem;color:var(--muted);text-align:right;margin-top:1rem}
@media(min-width:1600px){.content{padding:2.5rem 3rem}.topbar{padding:0 3rem}.grid-two{grid-template-columns:1.6fr 1fr}.chart{height:220px}}@media(max-width:1180px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{width:210px}.content,.topbar{padding-left:1.5rem;padding-right:1.5rem}.metrics{gap:.7rem}.metric{padding:1rem}.metric-value{font-size:1.65rem}.grid-two{grid-template-columns:1.3fr 1fr}.staff-shifts,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-right .badge{display:none}}@media(max-width:900px){.grid-two,.grid-equal{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-list{grid-template-columns:1fr}.page-heading{align-items:flex-start}.auth-brand{padding:2.5rem 2rem}.auth-brand h1{font-size:4rem}}@media(max-width:720px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s;width:242px;box-shadow:10px 0 50px #2b171144}.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid}.workspace{display:block}.topbar{height:66px;padding:0 1rem}.topbar-right{gap:.55rem}.breadcrumb{gap:.65rem;font-size:.8125rem}.breadcrumb span:first-child,.breadcrumb .divider{display:none}.profile>div:last-child{display:none}.content{padding:1.5rem 1rem 3rem}.page-heading{flex-direction:column;gap:1rem;margin-bottom:1.3rem}h1{font-size:1.8rem}.page-heading p{font-size:.875rem}.metrics{gap:.65rem}.metric-value{font-size:1.7rem}.metric-label{font-size:.75rem}.metric small{font-size:.75rem}.metric-label svg{display:none}.panel-head,.panel-body{padding:1.1rem}.staff-shifts,.document-grid{grid-template-columns:1fr}.setup-note,.notice{align-items:flex-start;flex-direction:column}.roster-toolbar{align-items:flex-start;flex-direction:column;gap:.75rem}.week-control{font-size:.875rem}.chart{gap:.65rem;height:155px}.chart-labels{gap:.65rem}.bar-label{font-size:.65rem}.form-grid,.mapping{grid-template-columns:1fr}.field.full{grid-column:auto}.line-row{grid-template-columns:1fr 1fr;gap:.6rem;position:relative;padding-right:2rem}.line-row>.field:first-child{grid-column:1/-1}.line-row .remove-line{position:absolute;right:0;top:.5rem}.line-row.recipe-line,.line-row.delivery-line,.line-row.order-line{grid-template-columns:1fr 1fr}.auth{display:block}.auth-brand{padding:1.6rem 1.5rem}.auth-brand .wordmark{font-size:2rem}.auth-brand-middle,.auth-meta{display:none}.auth-brand .eyebrow{font-size:.6875rem;margin-top:.25rem}.auth-form-wrap{padding:2rem 1.5rem;min-height:calc(100dvh - 110px)}.auth-card{max-width:450px}.onboard-steps{gap:.35rem;padding:1.1rem .85rem}.onboard-step{flex-direction:column;gap:.4rem;font-size:.6875rem}.onboard-form{padding:1.3rem 1rem}.onboard-footer{align-items:flex-start;gap:1rem;flex-wrap:wrap}.onboard-footer>.actions{margin-left:auto}.summary-grid{grid-template-columns:1fr}.modal-body{padding:1.15rem}.modal-head{padding:1.1rem}.total-strip{gap:1rem;flex-wrap:wrap}.total-strip strong{font-size:1.1rem}#toast{bottom:1rem;left:1rem;right:1rem;max-width:none}.data-table td,.data-table th{padding:.8rem}.auth-brand p{font-size:.875rem}.reading{font-size:.9375rem}.actions{gap:.5rem}.btn{padding:.6rem .8rem}.settings-list{gap:1rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* SANA operations snapshot */
.snapshot-metric{position:relative;min-height:175px;overflow:hidden}.snapshot-metric .metric-label{font-size:.875rem}.snapshot-metric .metric-value{margin:.55rem 0 .3rem;font-size:clamp(1.65rem,2.25vw,2.6rem);font-variant-numeric:tabular-nums}.snapshot-metric>small{display:block;font-size:.8125rem;margin-top:.65rem;position:relative}.comparison{font-size:.875rem;display:block;position:relative;z-index:1;font-weight:600;line-height:1.55}.comparison>span{display:block;color:var(--muted);font-size:.8125rem;font-weight:400}.positive{color:var(--sage)}.negative{color:var(--red)}.dark .comparison.positive{color:#b4d8b5}.dark .comparison.negative{color:#ffc1a9}.dark .comparison.muted,.dark .comparison>span{color:#dac7b7}.sparkline{position:absolute;width:120px;height:42px;bottom:18px;right:15px;opacity:.18;fill:none;stroke:var(--copper);stroke-width:2}.insight-chart{padding:1.4rem}.chart-key{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--muted);margin-bottom:1rem}.chart-key>span{display:flex;align-items:center;gap:.45rem}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}.swatch.espresso{background:var(--ink)}.swatch.copper{background:var(--copper)}.swatch.gold{background:#b49158}.swatch.previous{background:#bcb0a1}.sales-line-chart{display:block;width:100%;height:auto;overflow:visible}.chart-gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.axis-label{fill:var(--muted);font-family:var(--sans);font-size:14px}.sales-path{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.sales-path.current{stroke:var(--ink)}.sales-path.previous{stroke:#bcb0a1;stroke-width:2;stroke-dasharray:6 6}.sales-point{stroke:var(--surface);stroke-width:2}.sales-point.current{fill:var(--ink)}.sales-point.previous{fill:#bcb0a1}.sales-point:focus{outline:none;stroke:var(--copper);stroke-width:4}.insight-note{font-size:.8125rem;color:var(--muted);line-height:1.65;margin-top:1rem}.chart-details{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.8rem;font-size:.875rem}.chart-details summary{cursor:pointer;color:var(--ink);font-weight:500}.chart-details .table-scroll{margin-top:.7rem}.profit-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:1.5rem}.profit-heading small{font-size:.75rem;letter-spacing:.05em}.profit-heading strong{display:block;font-size:2.4rem;line-height:1.4;font-weight:500;letter-spacing:-.04em}.bridge-row{margin:.9rem 0}.bridge-row>div:first-child{display:flex;justify-content:space-between;gap:.7rem;font-size:.875rem;margin-bottom:.45rem}.bridge-row b{font-weight:500;font-variant-numeric:tabular-nums}.bridge-track{height:8px;background:#f1e9dd;border-radius:5px;overflow:hidden}.bridge-track i{display:block;height:100%;border-radius:5px;background:var(--ink)}.bridge-track .labour{background:var(--copper)}.bridge-track .food{background:#b49158}.bridge-track .freight{background:#ad9783}.bridge-track .contribution{background:var(--sage)}.bridge-track .loss{background:var(--red)}.cost-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;padding-top:.75rem}.cost-column-group{text-align:center;min-width:0}.cost-bars{height:170px;display:flex;gap:.4rem;align-items:flex-end;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 41px,#e5dcd270 42px,#e5dcd270 43px)}.cost-bar-wrap{flex:1;position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;min-width:0}.cost-bar{height:var(--bar);background:var(--ink);width:100%;max-width:30px;border-radius:4px 4px 0 0;position:relative}.cost-bar.labour{background:var(--copper)}.cost-bar.food{background:#b49158}.missing-bar{color:var(--muted);font-size:.875rem}.cost-week{display:block;font-size:.875rem;margin-top:.65rem}.cost-column-group>small{font-size:.75rem;display:block;margin-top:.15rem}.bar-tooltip{display:none;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:.8125rem;border-radius:5px;padding:.5rem .75rem;white-space:nowrap;z-index:5;box-shadow:0 4px 12px #2b171120}.bar-tooltip b{display:block}.cost-bar:hover .bar-tooltip,.cost-bar:focus .bar-tooltip{display:block}.recipe-insight{display:block;width:100%;text-align:left;padding:.8rem 0 1rem;border-bottom:1px solid var(--line)}.recipe-insight:first-child{padding-top:0}.recipe-insight:last-of-type{border:0}.recipe-insight>div:first-child{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;font-size:.875rem}.recipe-insight b{font-weight:500}.recipe-insight>div>span{white-space:nowrap;color:var(--muted)}.recipe-track{height:9px;background:#ede5d8;border-radius:5px;position:relative;margin:.6rem 0}.recipe-track>i{display:block;height:100%;background:var(--sage);border-radius:5px}.recipe-track>i.above{background:var(--copper)}.recipe-track>span{height:15px;width:2px;background:var(--ink);position:absolute;top:-3px;transform:translateX(-1px)}.recipe-insight>small{font-size:.8125rem}.movement-row{padding:1.1rem 1.4rem;display:flex;gap:.9rem;width:100%;border-bottom:1px solid var(--line);text-align:left}.movement-row:last-child{border:0}.movement-rank{font-family:var(--serif);font-size:1.5rem;line-height:1.3;color:#a39281;width:23px;flex:none}.movement-info{flex:1;min-width:0}.movement-info>div:first-child{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;font-size:.9375rem}.movement-info b{font-weight:500}.movement-info strong{font-size:1.05rem;white-space:nowrap;color:var(--red);font-weight:500}.movement-row.falls strong{color:var(--sage)}.movement-track{height:5px;border-radius:4px;background:#f1e9e0;margin:.55rem 0}.movement-track>i{height:100%;display:block;border-radius:4px;background:#b76c50}.falls .movement-track>i{background:#608069}.movement-info>small{font-size:.8125rem}.movement-row:hover,.upcoming-leave>button:hover,.recipe-insight:hover{background:#f9f2e8}.upcoming-leave>button{display:flex;align-items:center;gap:1rem;text-align:left;padding:1rem 1.4rem;border-bottom:1px solid var(--line);width:100%}.upcoming-leave>button:last-child{border:0}.upcoming-leave small{display:block;font-size:.8125rem;margin-top:.2rem}.upcoming-leave .date-box{flex:none;text-align:center;width:40px}.upcoming-leave .badge{margin-left:auto}.attention-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.attention-grid>button{padding:1.2rem 1.4rem;text-align:left}.attention-grid>button:first-child{border-right:1px solid var(--line)}.attention-grid strong{display:block;font-weight:500;font-size:2rem;letter-spacing:-.04em}.attention-grid span{font-size:.875rem;color:var(--muted)}
/* Month-by-month team availability */
.leave-calendar-panel{margin-bottom:1.3rem}.calendar-controls{padding:1.3rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-controls h2{font-size:1.3rem;font-weight:500;min-width:11rem;text-align:center}.calendar-picker{font-size:.875rem;display:flex;gap:.5rem;align-items:center;color:var(--muted)}.calendar-picker input{border:1px solid var(--line);border-radius:5px;padding:.4rem .5rem;background:var(--surface);font-size:.875rem;min-width:155px}.month-strip{display:flex;gap:.4rem;overflow-x:auto;overscroll-behavior-x:contain;padding:0 1.4rem 1.2rem;scrollbar-width:thin}.month-strip>button{border:1px solid var(--line);border-radius:5px;padding:.55rem .8rem;font-size:.875rem;white-space:nowrap;background:#f9f4ec;flex:none}.month-strip>button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.calendar-filter-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding:1rem 1.4rem;background:#f8f3eb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-filter-row>label{font-size:.875rem;display:flex;flex-direction:column;gap:.3rem}.calendar-filter-row select{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:.4rem .6rem;min-height:38px;font-size:.875rem;max-width:240px}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto;padding-bottom:.55rem;font-size:.8125rem;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:.4rem}.leave-dot{width:9px;height:9px;border-radius:3px;display:inline-block}.leave-dot.approved{background:var(--sage)}.leave-dot.pending{background:var(--copper)}.leave-dot.declined{background:var(--red)}.calendar-summary{padding:.85rem 1.4rem;font-size:.875rem;color:var(--muted)}.leave-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.calendar-weekday{padding:.7rem .7rem;font-size:.875rem;color:var(--muted);background:#faf6ef;border-bottom:1px solid var(--line)}.calendar-day{min-height:142px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.5rem;min-width:0;background:var(--surface)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f5efe6}.calendar-day.outside .calendar-day-number{color:#aa9784}.calendar-day.today{background:#fff8eb}.calendar-day-number{padding:.3rem .4rem;display:flex;align-items:center;gap:.4rem;font-size:.9375rem;width:100%;text-align:left;min-height:32px;border-radius:4px;margin-bottom:.3rem}.calendar-day-number:hover{background:#eadecf}.calendar-day.today .calendar-day-number{font-weight:700;color:var(--copper)}.calendar-day-count{margin-left:auto;font-size:.75rem;border:1px solid var(--line);background:#fffaf3;border-radius:4px;padding:0 .3rem;color:var(--muted)}.calendar-event{display:block;width:100%;text-align:left;border:1px solid #c8d9c9;background:#e8eee6;border-left:3px solid var(--sage);padding:.35rem .4rem;border-radius:4px;margin-bottom:.3rem;font-size:.8125rem;min-width:0}.calendar-event>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{display:block;font-size:.75rem;color:#62745f}.calendar-event.pending{background:#f4e7d8;border-color:#d2b49c;border-left-color:var(--copper);border-style:dashed;border-left-style:solid}.calendar-event.pending small{color:#956440}.calendar-event.declined{background:#f7e9e4;border-color:#e0bbb0;border-left-color:var(--red);opacity:.65}.calendar-event.declined>span{text-decoration:line-through}.calendar-more{font-size:.8125rem;color:var(--muted);padding:.25rem .4rem;text-decoration:underline}.calendar-footnote{padding:0 1.4rem 1.2rem}.leave-request-card{padding:1.2rem 1.4rem;border-bottom:1px solid var(--line)}.leave-request-card:last-child{border:0}.leave-request-card h3{font-size:1rem}.leave-request-card>p{font-size:.875rem;color:var(--muted);margin:.5rem 0 .8rem}.leave-request-card .reading{font-size:.9375rem;max-height:none;margin:.8rem 0}.modal-body .leave-request-card{padding:1rem 0}.day-markers{display:none}
@media(max-width:1100px){.overview-top{grid-template-columns:1fr}.snapshot-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-metric .metric-value{font-size:2rem}.calendar-controls{flex-wrap:wrap}.calendar-legend{margin-left:0}.calendar-event small{display:none}.calendar-day{min-height:125px}}
@media(max-width:720px){.snapshot-metric{min-height:185px;padding:1rem}.snapshot-metric .metric-label{font-size:.875rem}.snapshot-metric .metric-value{font-size:1.8rem}.comparison{font-size:.8125rem}.insight-chart{padding:1.1rem}.profit-heading{flex-wrap:wrap}.profit-heading strong{font-size:2.3rem}.chart-key{gap:.75rem;font-size:.8125rem}.axis-label{font-size:23px}.cost-columns{gap:.7rem}.cost-bars{height:145px;gap:.25rem}.cost-column-group>small{font-size:.75rem}.cost-week{font-size:.8125rem}.recipe-insight>div:first-child{flex-wrap:wrap;gap:.35rem}.movement-row{padding:1rem 1.1rem}.upcoming-leave>button{padding:1rem 1.1rem;flex-wrap:wrap;gap:.7rem}.upcoming-leave .badge{font-size:.75rem}.calendar-controls{padding:1rem;gap:.8rem}.calendar-controls h2{min-width:10rem;font-size:1.2rem}.calendar-controls>.actions{width:100%;justify-content:space-between}.month-strip{padding:0 1rem 1rem}.calendar-filter-row{padding:1rem;gap:.7rem}.calendar-filter-row>label{flex:1;min-width:120px}.calendar-filter-row select{width:100%;max-width:none}.calendar-legend{width:100%;padding-top:.3rem;padding-bottom:0;gap:.75rem}.calendar-summary{padding:.8rem 1rem;font-size:.8125rem}.calendar-weekday{padding:.5rem .15rem;text-align:center;font-size:.8125rem}.calendar-day{min-height:78px;padding:.2rem}.calendar-day-number{font-size:.875rem;padding:.25rem;min-height:35px;gap:.15rem}.calendar-day-count{font-size:.75rem;padding:0 .2rem}.calendar-event,.calendar-more{display:none}.day-markers{display:flex;flex-wrap:wrap;gap:.2rem;justify-content:center;pointer-events:none}.day-markers>span{width:8px;height:8px;border-radius:3px;background:var(--sage)}.day-markers>.pending{background:var(--copper)}.day-markers>.declined{background:var(--red)}.calendar-footnote{padding:0 1rem 1rem}.leave-request-card{padding:1.1rem}.attention-grid>button{padding:1.1rem}.bar-tooltip{left:auto;right:0;transform:none}.bridge-row>div:first-child{font-size:.8125rem}.insight-note{font-size:.8125rem}.chart-details .data-table{min-width:450px}}
