@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal-D1bw2c55.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal-DeBecvsH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-math-wght-normal-PLC37mLR.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0330,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2034-2037,U+2057,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2102,U+210A-210E,U+2110-2112,U+2115,U+2119-211D,U+2124,U+2128,U+212C-212D,U+212F-2131,U+2133-2138,U+213C-2140,U+2145-2149,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B6,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-symbols-wght-normal-BAl2Agyj.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8B1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA88,U+1FA90-1FABD,U+1FABF-1FAC5,U+1FACE-1FADB,U+1FAE0-1FAE8,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-latin-ext-wght-normal-DdkngCU0.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-latin-wght-normal-Dsi2zSaW.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-Ppvk0Q8J.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-BHGt_4Dy.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DE4PpeND.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0c0c0c;--surface: #141414;--surface-2: #1b1b1b;--surface-3: #222222;--text: #ede8df;--muted: #8f8a83;--faint: #5e5a55;--border: rgba(237, 232, 223, .09);--border-strong: rgba(237, 232, 223, .2);--accent: #a0c9cb;--accent-soft: rgba(160, 201, 203, .1);--accent-text: #0c0c0c;--ember: #c98a5c;--ember-soft: rgba(201, 138, 92, .12);--ivory: #ede8df;--good: #9cc9a7;--good-soft: rgba(156, 201, 167, .1);--warn: #d9b46f;--warn-soft: rgba(217, 180, 111, .1);--bad: #e0907f;--bad-soft: rgba(224, 144, 127, .1);--info: #a0c9cb;--info-soft: rgba(160, 201, 203, .1);--chart-1: #a0c9cb;--chart-2: #c98a5c;--chart-3: #ede8df;--chart-4: #6f9a9d;--chart-5: #9c6440;--chart-6: #b9b2a6;--chart-7: #4f6f71;--chart-8: #6b6560;--shadow: none;--radius: 2px;--sidebar: #080808;--sidebar-text: #a9a39b;--sidebar-active: #151515;--font-text: "DM Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Archivo Variable", "DM Sans Variable", system-ui, sans-serif;--font-serif: "Bodoni Moda Variable", "Didot", "Bodoni 72", Georgia, serif;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--font-text);letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:var(--accent-text)}a{color:var(--accent);text-decoration:none}h1{font-family:var(--font-display);font-stretch:125%;font-weight:600;font-size:24px;margin:0;letter-spacing:.03em;text-transform:uppercase;line-height:1.15}h2{font-family:var(--font-display);font-stretch:112%;font-weight:600;font-size:11px;margin:0 0 14px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}h3{font-family:var(--font-display);font-stretch:112%;font-size:11px;margin:0 0 8px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.16em}.num{font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.stack{display:flex;flex-direction:column;gap:16px}.wordmark{font-family:var(--font-serif);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory);line-height:1;white-space:nowrap}.wordmark-sub{font-family:var(--font-display);font-stretch:125%;font-size:9px;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px 26px}.brand .wordmark{font-size:22px}.brand .company{font-size:11px;color:var(--faint);letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{display:grid;grid-template-columns:244px 1fr;min-height:100%}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:22px 12px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:#222 transparent}.nav-group{margin:18px 0 6px 12px;font-family:var(--font-display);font-stretch:112%;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--faint)}.nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--sidebar-text);padding:7px 12px;border-radius:var(--radius);font-size:13px;position:relative;transition:color .2s var(--ease),background .2s var(--ease)}.nav a:hover,.nav a.active{color:var(--ivory);background:var(--sidebar-active)}.nav a.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:1px;background:var(--accent)}.nav .count{background:var(--ember);color:#0c0c0c;border-radius:0;font-size:10px;padding:1px 6px;font-weight:700;letter-spacing:.04em}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 32px;border-bottom:1px solid var(--border);background:#0c0c0cd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.topbar strong{font-family:var(--font-display);font-stretch:112%;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.topbar .who{letter-spacing:.02em}.content{padding:30px 32px 56px;max-width:1320px;width:100%}.demo-banner{background:var(--ember-soft);color:var(--ember);font-size:12px;padding:7px 32px;border-bottom:1px solid var(--border);letter-spacing:.02em}.demo-banner button.link{color:var(--ivory)}.bottom-nav{display:none}@media (max-width: 860px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:12px 16px}.content{padding:18px 16px 96px}.demo-banner{padding:6px 16px}.bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;bottom:0;left:0;right:0;background:#0a0a0ae6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:10}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px;position:relative}.bottom-nav a.active{color:var(--ivory)}.bottom-nav a.active span[aria-hidden]{color:var(--accent)}.bottom-nav .count{position:absolute;top:0;right:18%;background:var(--ember);color:#0c0c0c;border-radius:0;font-size:9px;padding:0 4px}.hide-mobile{display:none!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);min-width:0}.card.flush{padding:0;overflow:hidden}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,var(--border-strong),transparent)}.stat .label{font-family:var(--font-display);font-stretch:112%;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.stat .value{font-family:var(--font-serif);font-size:clamp(24px,2.1vw,32px);font-weight:500;font-variant-numeric:lining-nums tabular-nums;margin-top:12px;line-height:1.1;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value .ccy{font-family:var(--font-display);font-stretch:112%;font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--muted);margin-right:8px;vertical-align:.55em}.stat .sub{font-size:12px;margin-top:8px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border)}.page-head p{margin:8px 0 0;color:var(--muted);font-size:13px}button,.btn{font:inherit;font-size:13px;border:1px solid var(--border-strong);background:transparent;color:var(--text);padding:8px 15px;border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}button:hover,.btn:hover{background:var(--surface-3);border-color:#ede8df52}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--ivory);border-color:var(--ivory);color:#0c0c0c;font-family:var(--font-display);font-stretch:112%;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 18px}button.primary:hover{background:#fff;border-color:#fff}button.good{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-family:var(--font-display);font-stretch:112%;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 18px}button.good:hover{filter:brightness(1.08);background:var(--accent)}button.danger{color:var(--bad);border-color:#e0907f59}button.link{border:none;background:none;color:var(--accent);padding:2px 4px}button.link:hover{background:none;color:var(--ivory)}button.small{padding:5px 10px;font-size:12px}input,select,textarea{font:inherit;color:var(--text);background:#0f0f0f;border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 11px;width:100%;min-width:0;transition:border-color .2s var(--ease)}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:#ede8df4d}input:focus,select:focus,textarea:focus,button:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-color:var(--accent)}select option{background:#141414;color:var(--text)}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=date]{color-scheme:dark}label.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);min-width:0}label.field>span{font-family:var(--font-display);font-stretch:112%;font-weight:600;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-family:var(--font-display);font-stretch:112%;font-size:9.5px;color:var(--muted);font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--surface);position:sticky;top:0;cursor:pointer;user-select:none;white-space:nowrap}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}tfoot td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--border-strong)}.table-tools{display:flex;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.table-tools input{max-width:280px}.empty{padding:36px;text-align:center;color:var(--muted);font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:0;font-family:var(--font-display);font-stretch:112%;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-strong);background:transparent;color:var(--muted)}.badge.good{border-color:#9cc9a766;color:var(--good)}.badge.warn{border-color:#d9b46f66;color:var(--warn)}.badge.bad{border-color:#e0907f66;color:var(--bad)}.badge.info{border-color:#a0c9cb66;color:var(--info)}.badge.accent{border-color:#c98a5c73;color:var(--ember)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tabs button{border:none;background:none;border-bottom:1px solid transparent;border-radius:0;padding:10px 14px;color:var(--muted);margin-bottom:-1px;font-family:var(--font-display);font-stretch:112%;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.tabs button:hover{background:none;color:var(--text)}.tabs button.active{color:var(--ivory);border-bottom-color:var(--accent)}.modal-back{position:fixed;inset:0;background:#000000a8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(820px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px #0009}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.modal-head h2{margin:0;color:var(--ivory)}.modal-body{padding:22px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--surface)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--ivory);color:#0c0c0c;padding:12px 16px;border-radius:var(--radius);max-width:400px;box-shadow:0 12px 40px #00000080;font-size:13px}.toast.bad{background:#2a1714;color:var(--bad);border:1px solid rgba(224,144,127,.35)}.toast.good{background:#142120;color:var(--accent);border:1px solid rgba(160,201,203,.35)}@media (max-width: 860px){.toasts{bottom:84px;left:16px;right:16px}}.notice{padding:12px 14px;border-radius:var(--radius);background:var(--info-soft);color:var(--info);border-left:1px solid var(--info);font-size:13px}.notice.warn{background:var(--warn-soft);color:var(--warn);border-left-color:var(--warn)}.notice.bad{background:var(--bad-soft);color:var(--bad);border-left-color:var(--bad)}.notice.good{background:var(--good-soft);color:var(--good);border-left-color:var(--good)}.center-screen{min-height:100%;display:grid;place-items:center;align-content:center;gap:10px;padding:24px 16px;background:radial-gradient(ellipse 70% 45% at 50% 108%,rgba(201,138,92,.2),transparent 70%),radial-gradient(ellipse 60% 40% at 50% -8%,rgba(160,201,203,.1),transparent 70%),var(--bg)}.login{width:min(430px,100%);padding:34px 32px;background:#141414c7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:var(--border-strong)}.login-head{display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:22px;margin-bottom:4px;border-bottom:1px solid var(--border);text-align:center}.login-head .wordmark{font-size:34px}.login-head h1{font-size:13px;font-stretch:112%;letter-spacing:.2em;color:var(--muted)}.login button:not(.link){justify-content:center}.spinner{width:22px;height:22px;border:1px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kiosk{min-height:100%;display:grid;place-items:center;color:var(--ivory);padding:16px;background:radial-gradient(ellipse 80% 50% at 50% 110%,rgba(201,138,92,.22),transparent 70%),var(--bg)}.kiosk-box{width:min(420px,100%);text-align:center}.kiosk .wordmark{font-size:26px;display:block;margin-bottom:18px}.kiosk .clock{font-family:var(--font-serif);font-size:72px;font-weight:400;font-variant-numeric:tabular-nums lining-nums;line-height:1;letter-spacing:.02em}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.pin-pad button{font-family:var(--font-serif);font-size:28px;padding:18px 0;justify-content:center;background:#141414cc;color:var(--ivory);border-color:var(--border-strong);border-radius:var(--radius)}.pin-pad button:hover{background:var(--surface-3)}.pin-dots{display:flex;justify-content:center;gap:14px;margin:16px 0}.pin-dots span{width:10px;height:10px;border-radius:50%;border:1px solid var(--muted)}.pin-dots span.on{background:var(--accent);border-color:var(--accent)}.kiosk input{background:#141414cc;color:var(--ivory);border-color:var(--border-strong);font-size:18px;text-align:center;letter-spacing:.1em}.hello{font-family:var(--font-serif);font-size:15px;font-style:italic;color:var(--muted);margin:0 0 6px;letter-spacing:.01em}.print-only{display:none}.made-by{display:block;font-size:11px;color:var(--faint);text-decoration:none;text-align:center;padding:16px 4px 4px;letter-spacing:.02em}.made-by strong{font-weight:600;color:var(--muted)}.made-by:hover,.made-by:hover strong{color:var(--accent)}.sidebar .made-by{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}@media print{@page{margin:14mm}:root{--text: #000;--muted: #555;--border: #ddd;--border-strong: #bbb;--surface: #fff;--surface-2: #f3f3f3;color-scheme:light}body{background:#fff;color:#000}.sidebar,.topbar,.bottom-nav,.demo-banner,.no-print,.toasts,.modal-head,.modal-foot{display:none!important}.app{display:block}.content{padding:0;max-width:none}.card{border:none;box-shadow:none;padding:0;background:#fff}.page-head{border-bottom-color:#ddd}.modal-back{position:static;background:none;padding:0;display:block;backdrop-filter:none}.modal{box-shadow:none;max-height:none;width:100%;border:none;background:#fff}.print-only{display:block}.print-credit{margin-top:24px;font-size:9px;color:#888;text-align:center}.made-by{display:none}th{background:#f1f1f1!important;color:#000}a{color:#000}.stat .value{color:#000!important}}.invoice{color:#111;background:#fcfbf8;padding:32px;border:1px solid var(--border-strong);border-radius:var(--radius)}.invoice table th{position:static;background:#f1efea;color:#333}.invoice td{border-bottom-color:#e5e1da}.invoice tbody tr:hover{background:none}.invoice h1{font-family:var(--font-serif);font-stretch:100%;text-transform:none;font-size:28px;letter-spacing:.02em;color:#111}.invoice .muted{color:#6b665f}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.mobile-brand,.more-sheet{display:none}@media (max-width: 860px){h1{font-size:19px}.page-head{margin-bottom:16px;padding-bottom:14px}.card{padding:16px}.grid{gap:10px}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:after{left:16px;right:16px}.stat .value{font-size:20px;margin-top:8px}.stat .value .ccy{display:block;margin:0 0 4px;font-size:9px;vertical-align:baseline}.stat .label{font-size:9px;letter-spacing:.14em}.mobile-brand{display:flex;align-items:baseline;gap:10px;min-width:0}.mobile-brand .wordmark{font-size:18px}.topbar .who{display:none}.table-tools input{max-width:none;flex:1}.rtable thead{display:none}.rtable tbody tr{display:block;border-bottom:1px solid var(--border);padding:10px 14px}.rtable tbody td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:none;padding:3px 0;text-align:right;min-height:26px}.rtable tbody td:before{content:attr(data-label);color:var(--muted);font-size:11px;text-align:left;flex-shrink:0;letter-spacing:.02em}.rtable tbody td[data-label=""]:before{content:none}.rtable tbody td:first-child{font-weight:600}.rtable tbody td.empty{display:block;text-align:center;font-weight:400}.rtable tbody td>input,.rtable tbody td>select{max-width:64%}.rtable tbody td:empty{display:none}.rtable tfoot tr{display:block;padding:10px 14px;background:var(--surface-2)}.rtable tfoot td{display:flex;justify-content:space-between;border:none;padding:2px 0;background:none}.rtable tfoot td:empty{display:none}.rtable tfoot td:before{content:attr(data-label);color:var(--muted);font-weight:400;font-size:11px}.rtable tbody tr:hover{background:none}.modal-back{padding:0;align-items:end;place-items:end stretch}.modal{width:100%!important;max-height:94vh;border-radius:0;border-left:none;border-right:none;border-bottom:none}.modal-body{padding:16px}.modal-foot{flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal-foot>*{flex:1 1 auto;justify-content:center}.modal-foot input{flex-basis:100%;max-width:none!important}.more-sheet{display:block;position:fixed;inset:0;z-index:40;background:#000000a8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.more-sheet .panel{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border-strong);padding:16px 14px calc(80px + env(safe-area-inset-bottom));max-height:80vh;overflow-y:auto}.more-sheet .nav-group{margin:14px 4px 4px}.more-sheet a{display:flex;justify-content:space-between;padding:11px 10px;border-radius:var(--radius);color:var(--text)}.more-sheet a.active{background:var(--surface-3);color:var(--ivory)}.bottom-nav button{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px}.bottom-nav button:hover{background:none}.bottom-nav{z-index:45}.more-sheet .nav a:hover{background:var(--surface-2);color:var(--text)}.more-sheet .nav a.active:hover{background:var(--surface-3);color:var(--ivory)}.rtable tfoot td:first-child{justify-content:flex-start}.rtable tbody td{width:auto!important;min-width:0!important}.rtable tbody td>input,.rtable tbody td>select{flex:0 1 64%}.rtable tbody tr.m-inline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px}.rtable tbody tr.m-inline td{display:block;padding:0;min-height:0;text-align:left;font-weight:400}.rtable tbody tr.m-inline td.num{text-align:right;font-weight:600}.rtable tbody tr.m-inline td:before{content:none}.rtable td.m-hide{display:none!important}.login{padding:28px 22px}.login-head .wordmark{font-size:28px}}
