:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fa;--text:#17202b;--muted:#5a6572;--line:#dde1e6;--line-strong:#c3c9d1;--accent:#0e6b68;--accent-text:#fff;--accent-soft:#e2f1f0;--danger:#b42318;--danger-soft:#fdecea;--warning:#9a6700;--focus:#1d6fd6;--closed:#eceef1;--held-bg:#fff3cd;--held-edge:#c98a00;--confirmed-bg:#dfeafc;--confirmed-edge:#2f64c4;--progress-bg:#dcf2e2;--progress-edge:#2b7a44;--walkin-bg:#d9f1ef;--walkin-edge:#13776f;--blocked-bg:#e4e7eb;--blocked-edge:#7b8594;--overtime-bg:#fde3e1;--overtime-edge:#c2362c;--noshow-bg:#fff;--noshow-edge:#98a1ad;--done-bg:#eef0f2;--done-edge:#b0b7c1;--block-text:#17202b;--r-sm:4px;--r-md:6px;--r-lg:10px;--row-h:48px;--label-w:92px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--bg:#11161d;--surface:#19202a;--surface-2:#1f2733;--text:#edf1f5;--muted:#a8b3bf;--line:#2d3744;--line-strong:#435063;--accent:#3fb5ae;--accent-text:#0c1a19;--accent-soft:#173634;--danger:#ff8a80;--danger-soft:#3a1e1c;--warning:#f2c14e;--focus:#7fb4ff;--closed:#161c24;--held-bg:#4a3a0e;--held-edge:#f2c14e;--confirmed-bg:#1c3358;--confirmed-edge:#7fa9f2;--progress-bg:#183d27;--progress-edge:#6fcf8e;--walkin-bg:#123c39;--walkin-edge:#5fd0c6;--blocked-bg:#2a323d;--blocked-edge:#8e99a8;--overtime-bg:#4a1f1c;--overtime-edge:#ff8a80;--noshow-bg:#19202a;--noshow-edge:#8e99a8;--done-bg:#242c37;--done-edge:#5b6674;--block-text:#edf1f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 14px;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:default;color:var(--muted);background:var(--surface-2);transform:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.primary:disabled{background:var(--line-strong);border-color:var(--line-strong);color:var(--surface);filter:none}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.small{min-height:32px;padding:0 10px;font-size:14px}.btn.ghost{background:0 0;border-color:#0000}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-height:40px;color:var(--text);padding:8px 10px;font-size:15px}.error-text{color:var(--danger);font-size:14px}.muted{color:var(--muted)}.signin{place-items:center;min-height:100vh;padding:16px;display:grid}.signin form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:16px;width:min(360px,100%);padding:24px;display:flex}.signin h1{margin:0;font-size:20px}.signin p{margin:0}.dev-note{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--line-strong);padding:8px 10px;font-size:13px}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 16px;display:flex}.topbar .cafe{font-size:16px;font-weight:650}.topbar select{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:4px 8px;font-weight:650}.role{color:var(--muted);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 6px;font-size:12px}.topbar .spacer{flex:1}.centered{text-align:center;padding:48px 16px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.toolbar .date{text-align:center;min-width:120px;font-weight:600}.toolbar input[type=date]{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-height:40px;padding:0 8px}.toolbar .spacer{flex:1}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 12px;padding:0 16px 8px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:var(--r-sm);border:1px solid var(--line-strong);width:14px;height:14px;display:inline-block}.grid-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:0 16px 16px;display:flex;overflow:hidden}.labels{flex:0 0 var(--label-w);border-right:1px solid var(--line);background:var(--surface);z-index:2}.labels .corner{border-bottom:1px solid var(--line);height:32px}.labels .group,.track-area .group{height:28px;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:flex}.labels .station{height:var(--row-h);border-bottom:1px solid var(--line);align-items:center;padding:0 10px;font-size:14px;font-weight:600;display:flex}.labels .station.inactive{color:var(--muted);font-weight:400}.scroller{-webkit-overflow-scrolling:touch;flex:1;position:relative;overflow:auto hidden}.track-area{position:relative}.hours{border-bottom:1px solid var(--line);height:32px;color:var(--muted);font-size:12px;position:relative}.hours span{white-space:nowrap;position:absolute;top:8px;transform:translate(4px)}.track{height:var(--row-h);border-bottom:1px solid var(--line);cursor:cell;position:relative}.track.inactive{cursor:default;background:repeating-linear-gradient(135deg, transparent 0 6px, var(--closed) 6px 8px)}.hour-line{background:var(--line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.closed{background:var(--closed);pointer-events:none;position:absolute;top:0;bottom:0}.now-line{background:var(--danger);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.now-line:before{content:"";background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:-4px}.block{border-radius:var(--r-md);text-align:left;color:var(--block-text);cursor:pointer;z-index:1;border:1px solid;padding:2px 6px;font-size:12px;line-height:1.25;position:absolute;top:4px;bottom:4px;overflow:hidden}.block:hover{filter:brightness(.97)}.block .who{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.block .meta{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);display:block;overflow:hidden}.block .warn{color:var(--danger);font-weight:700}.s-held{background:var(--held-bg);border-color:var(--held-edge)}.s-confirmed{background:var(--confirmed-bg);border-color:var(--confirmed-edge)}.s-in-progress{background:var(--progress-bg);border-color:var(--progress-edge)}.s-walk-in{background:var(--walkin-bg);border-color:var(--walkin-edge)}.s-blocked{background:repeating-linear-gradient(135deg, var(--blocked-bg) 0 6px, transparent 6px 10px);border-color:var(--blocked-edge)}.s-overtime{background:var(--overtime-bg);border-color:var(--overtime-edge)}.s-no-show{background:var(--noshow-bg);border-color:var(--noshow-edge);border-style:dashed}.s-no-show .who{text-decoration:line-through}.s-completed{background:var(--done-bg);border-color:var(--done-edge)}.s-free{background:var(--surface)}.skeleton{height:var(--row-h);border-radius:var(--r-md);background:linear-gradient(90deg, var(--surface-2), var(--line), var(--surface-2));background-size:200% 100%;margin:8px 16px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.backdrop{z-index:10;background:#0a0e1473;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;width:min(420px,100%);height:100%;display:flex}@media (width<=640px){.backdrop{align-items:flex-end}.drawer{border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);border-left:none;height:auto;max-height:88vh}}.drawer header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.drawer header h2{flex:1;margin:0;font-size:17px}.drawer .body{flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.status-chip{border-radius:var(--r-sm);border:1px solid;align-items:center;gap:6px;padding:2px 8px;font-size:13px;font-weight:600;display:inline-flex}.facts{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.money{font-variant-numeric:tabular-nums}.actions{flex-wrap:wrap;gap:8px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:12px;display:flex}.panel h3{margin:0;font-size:14px}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.row .field{flex:1;min-width:110px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.notice{border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);padding:8px 10px;font-size:14px}.success{border-radius:var(--r-md);background:var(--accent-soft);padding:8px 10px;font-size:14px}.spacer{flex:1}.topbar .cafe,.topbar select{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=560px){.topbar{padding:8px 12px}.topbar .user{display:none}.toolbar,.legend{padding-left:12px;padding-right:12px}.grid-wrap{margin:0 8px 12px}:root{--label-w:72px}}.nav{background:var(--surface);border-bottom:1px solid var(--line);gap:4px;padding:0 12px;display:flex;overflow-x:auto}.nav a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 12px;text-decoration:none;display:inline-flex}.nav a:hover{color:var(--text)}.nav a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.badge{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.content{flex:1;min-height:0}@media (width<=560px){.shell{padding-bottom:60px}.nav{z-index:5;border-top:1px solid var(--line);padding:0 0 env(safe-area-inset-bottom);border-bottom:none;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav a{border-top:2px solid #0000;border-bottom:none;flex:1;justify-content:center;padding:12px 4px;font-size:13px}.nav a.active{border-top-color:var(--accent)}}.page{padding:12px 16px 24px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filters .field{min-width:130px}.field.grow,.grow{flex:1;min-width:200px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:0;padding:0;list-style:none;overflow:hidden}.list li+li{border-top:1px solid var(--line)}.list-row{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;width:100%;padding:10px 14px;display:grid}.list-row:hover,.list-row.selected{background:var(--surface-2)}.cell.main{flex-direction:column;min-width:0;display:flex}.cell.main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.right{text-align:right}.small{font-size:13px}.tag{border-radius:var(--r-sm);border:1px solid var(--line-strong);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600}.t-confirmed{background:var(--confirmed-bg);border-color:var(--confirmed-edge)}.t-in_progress{background:var(--progress-bg);border-color:var(--progress-edge)}.t-held{background:var(--held-bg);border-color:var(--held-edge)}.t-cancelled,.t-expired,.t-no_show{color:var(--muted)}@media (width<=640px){.list-row{grid-template-columns:1fr auto}.list-row .cell:nth-child(2){color:var(--muted);grid-column:1;font-size:13px}}.cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:14px;display:flex}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.split{grid-template-columns:minmax(260px,360px) 1fr;gap:12px;height:calc(100vh - 110px);display:grid}.split-list{overflow-y:auto}.split-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex;overflow:hidden}@media (width<=800px){.split{grid-template-columns:1fr;height:auto}.split .split-detail,.split.has-open .split-list{display:none}.split.has-open .split-detail{height:calc(100vh - 170px);display:flex}}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.messages{background:var(--surface-2);flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.msg{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;max-width:78%;padding:8px 10px}.msg.out{background:var(--accent-soft);align-self:flex-end}.msg-meta{color:var(--muted);margin-top:4px;font-size:11px}.composer{border-top:1px solid var(--line);gap:8px;padding:10px 12px;display:flex}.composer input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);flex:1;min-height:40px;padding:0 10px}.drawer .chat{height:100%}.notice.warn{background:var(--held-bg);color:var(--text)}.settings{grid-template-columns:minmax(240px,300px) 1fr;align-items:start;gap:16px;display:grid}.settings-link{color:inherit;grid-template-columns:1fr auto;text-decoration:none;display:grid}.settings-page{min-width:0;max-width:760px}.settings-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.settings-head h2{margin:0;font-size:18px}.settings-head .back{color:var(--text);text-decoration:none;display:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.settings .pick{padding:24px 0}.settings-form{flex-direction:column;gap:12px;display:flex}.settings-form fieldset.panel,.settings-form section.panel,.settings-form form.panel{background:var(--surface);margin:0}.panel legend{padding:0 4px;font-size:14px;font-weight:600}.panel.inset{background:var(--surface-2)}.field .hint{color:var(--muted);font-size:12px}.field textarea{resize:vertical;font:inherit}.toggle{cursor:pointer;align-items:flex-start;gap:10px;font-size:15px;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:2px 0 0}.toggle>span{flex-direction:column;gap:2px;display:flex}.toggle-label{font-weight:600}.list-line{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.list-line .actions{flex:none}.card-head h3{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.station-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.btn.off{color:var(--muted);border-style:dashed}.day-picker{border:none;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;font-size:14px;display:flex}.day-picker legend{color:var(--muted);width:100%;margin-bottom:4px;padding:0;font-size:13px}.day-picker label{align-items:center;gap:4px;min-height:32px;display:inline-flex}.hours-table{border-collapse:collapse;width:100%;font-size:14px}.hours-table th,.hours-table td{text-align:left;white-space:nowrap;padding:6px 8px 6px 0}.hours-table thead th{color:var(--muted);font-size:12px;font-weight:500}.hours-table input[type=time]{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-height:36px;color:var(--text);padding:4px 6px;font-size:15px}.day-note{margin-left:6px}.hours-table input[type=time]:disabled{opacity:.45}@media (width<=800px){.settings{grid-template-columns:1fr}.settings.has-page .settings-nav,.settings:not(.has-page) .settings-page{display:none}.settings-head .back{display:inline-flex}}@media (width<=560px){.nav a{padding:12px 2px;font-size:12px}.list-line{flex-direction:column;align-items:stretch}.hours-table{table-layout:fixed}.hours-table th:first-child{width:44px}.hours-table th:nth-child(2){width:30px}.hours-table th,.hours-table td{white-space:normal;padding-right:4px}.hours-table input[type=time]{width:100%;min-width:0;font-size:14px}.hours-table .day-note{display:block}}.reports .tabs{margin-bottom:12px;overflow-x:auto}.tabs a.tab{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none}.tabs a.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.report .filters{align-items:flex-end;margin-bottom:0}.report{flex-direction:column;gap:12px;max-width:980px;display:flex}.stats{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap;margin:0;display:flex;overflow:hidden}.stats>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;flex:170px;gap:2px;margin:0 -1px -1px 0;padding:12px 14px;display:flex}.stats dt{color:var(--muted);font-size:13px}.stats dd{margin:0}.stats dd.money{font-size:22px;font-weight:700}.report-tables{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.data caption{text-align:left;padding:10px 12px 4px;font-weight:600}table.data th,table.data td{text-align:right;white-space:nowrap;border-top:1px solid var(--line);padding:8px 12px}table.data thead th{color:var(--muted);border-top:none;font-size:12px;font-weight:500}table.data th[scope=row],table.data thead th:first-child,table.data.customers td,table.data.customers th{text-align:left}table.data th[scope=row]{font-weight:500}table.data a{color:inherit}@media (width<=560px){.nav a{flex:auto;gap:2px;min-width:0;padding:12px 0;font-size:11px}.nav .badge{min-width:16px;height:16px;padding:0 4px;font-size:10px}.stats>div{flex-basis:140px}table.data th,table.data td{padding:8px}.stats dd.money{font-size:19px}}.affected{flex-direction:column;gap:8px;display:flex}.topic-list{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.topic-list legend{color:var(--muted);margin-bottom:6px;font-size:13px}.topic-list:disabled{opacity:.55}.banner{background:var(--confirmed-bg);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:flex}.banner.warn{background:var(--held-bg)}.stack{display:block}button.link{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}ul.plain{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.report.wide{max-width:none}.read-only .drawer .actions,.read-only .drawer form,.read-only .composer,.read-only .chat-head .btn,.read-only .card .actions,.read-only .card form{display:none}.facts .contents{display:contents}.danger-zone{border:1px solid var(--line);border-radius:8px;margin-top:12px;padding:8px 12px}.danger-zone summary{cursor:pointer;color:var(--danger);font-weight:600}.danger-zone[open]{gap:8px;display:grid}.facts dd.span{grid-column:1/-1}.facts ul.plain{margin:4px 0 0;padding-left:18px}.setup{gap:16px;max-width:760px;margin:0 auto;padding:16px;display:grid}.setup-head h2{margin:0 0 4px}.steps{counter-reset:step}.check{border:2px solid var(--line-strong);width:24px;height:24px;color:var(--danger);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.check.ok{background:var(--confirmed-bg);color:var(--text);border-color:#0000}.list.checklist .list-line{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}.kits{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.kit{text-align:left;border:1px solid var(--line);background:var(--surface);font:inherit;color:inherit;cursor:pointer;border-radius:8px;gap:4px;padding:12px;display:grid}.kit:hover:not(:disabled){border-color:var(--line-strong)}.list.steps .list-row.step-link{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;display:grid}.list.steps .list-row.step-link .cell{font-size:inherit;color:inherit;grid-column:auto}.qr-print{border:1px solid var(--line);color:#17202b;text-align:center;word-break:break-all;background:#fff;border-radius:12px;justify-items:center;gap:8px;margin:0;padding:24px;display:grid}.qr-print figcaption{gap:4px;font-size:18px;display:grid}@media print{body *{visibility:hidden}.qr-print,.qr-print *{visibility:visible}.qr-print{border:none;width:100%;position:absolute;inset:0 auto auto 0}}.crash{text-align:center;max-width:420px;margin:15vh auto;padding:24px}.heatmap{border-collapse:separate;border-spacing:2px;font-size:11px}.heatmap th{color:var(--muted);white-space:nowrap;padding:2px 4px;font-weight:500}.heatmap thead th{writing-mode:vertical-rl;height:40px;transform:rotate(180deg)}.heat{border-radius:4px;width:22px;min-width:22px;height:22px}.heat-0{background:var(--surface-2);outline:1px solid var(--line);outline-offset:-1px}.heat-1{background:#d9efed}.heat-2{background:#a9d9d4}.heat-3{background:#6dbcb4}.heat-4{background:#2e968e}.heat-5{background:#0e6b68}.heat-legend{color:var(--muted);align-items:center;gap:4px;margin:8px 0 20px;font-size:12px;display:flex}.heat-legend i{width:18px;min-width:18px;height:14px;display:inline-block}.report-title{margin:20px 0 8px;font-size:16px}.invoice-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.invoice-meta{grid-template-columns:repeat(2,minmax(0,auto));gap:4px 16px;margin:0;display:grid}.invoice-meta dt{color:var(--muted);font-size:12px}.invoice-meta dd{margin:0}.invoice-parties{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0;display:grid}.invoice-party h4{text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:12px}.invoice-party p{margin:2px 0}.pre{white-space:pre-line}.num{text-align:right}@media print{.invoice-print,.invoice-print *{visibility:visible}.invoice-print{width:100%;box-shadow:none;border:none;position:absolute;inset:0 auto auto 0}.no-print{display:none}}
