:root{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-ui);font-size:15px;color-scheme:light dark;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--page: #f3f4f6;--card: #ffffff;--border: #e3e6eb;--ink: #191e27;--ink-2: #545e6e;--ink-3: #656f7e;--action-fill: #ffffff;--accent: #8a6134;--on-accent: #ffffff;--positive: #1f7a47;--negative: #c4373d;--caution-fill: #fff0cc;--caution-ink: #7c5a15;--wash: rgba(138, 97, 52, .1);--radius-card: 20px;--radius-inner: 14px;--inset: 16px;--sidebar: 240px;--shadow-card: 0 1px 2px rgba(25, 30, 39, .04), 0 6px 20px rgba(25, 30, 39, .05);--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}:root[data-theme=dark]{--page: #14181f;--card: #1c222b;--border: #2a3340;--ink: #e6ebf2;--ink-2: #a6afbd;--ink-3: #8a93a3;--action-fill: #232b37;--accent: #c79a66;--on-accent: #201709;--positive: #57c384;--negative: #f07a7a;--caution-fill: #373632;--caution-ink: #e0b25c;--wash: rgba(199, 154, 102, .18);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--page);color:var(--ink)}button{font:inherit;color:inherit}.shell{min-height:100vh;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--card);border-right:1px solid var(--border);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);display:flex;flex-direction:column;z-index:20}.sidebar-nav{display:flex;flex-direction:column;height:100%}.brand{display:flex;align-items:center;gap:12px;padding:20px var(--inset) 14px}.brand-wheel{flex:none;display:block;overflow:visible;--wheel-shadow: .28}:root[data-theme=dark] .brand-wheel{--wheel-shadow: .55}.login-brand{display:flex;align-items:center;gap:14px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{color:var(--ink);font-weight:600;letter-spacing:.02em}.brand-tagline{color:var(--ink-3);font-size:12px;line-height:1.3}.nav-list{list-style:none;margin:0;padding:4px 8px;display:flex;flex-direction:column;gap:2px}.nav-item{width:100%;min-height:44px;text-align:left;border:0;background:transparent;border-radius:var(--radius-inner);padding:0 12px;color:var(--ink-2);cursor:pointer}.nav-item:hover{background:var(--wash);color:var(--ink)}.nav-item.active{background:var(--wash);color:var(--accent);font-weight:600}.nav-item:focus-visible,.btn-ghost:focus-visible,.btn-filled:focus-visible,.btn-outlined:focus-visible{outline:none;box-shadow:var(--ring)}.sidebar-foot{margin-top:auto;padding:12px 8px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border)}.mobile-header,.scrim{display:none}.content{margin-left:var(--sidebar);padding:calc(24px + env(safe-area-inset-top)) var(--inset) calc(24px + env(safe-area-inset-bottom));max-width:1120px}@media(max-width:899px){.sidebar{transform:translate(-100%);visibility:hidden;transition:transform .16s ease,visibility 0s linear .16s;box-shadow:none}.sidebar.open{transform:none;visibility:visible;transition:transform .16s ease;box-shadow:var(--shadow-card)}body.drawer-open{overflow:hidden}.mobile-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) var(--inset) 8px;background:var(--card);border-bottom:1px solid var(--border)}.mobile-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;border:0;background:#00000059}.content{margin-left:0;padding:16px var(--inset) calc(24px + env(safe-area-inset-bottom))}}.page{display:flex;flex-direction:column;gap:16px}.page-title{margin:0;font-size:22px;font-weight:700}.lead{margin:0;color:var(--ink-2);line-height:1.5;max-width:60ch}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--inset);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px}.card p{margin:0;line-height:1.5}.card-caution{background:var(--caution-fill);border-color:transparent;color:var(--caution-ink)}.muted{color:var(--ink-2)}.small{font-size:12.5px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat{gap:4px}.stat-label{color:var(--ink-3);font-size:12.5px}.stat-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.btn-filled,.btn-outlined,.btn-ghost{min-height:44px;padding:0 16px;border-radius:var(--radius-inner);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-filled{border:0;background:var(--accent);color:var(--on-accent);font-weight:600}.btn-filled:disabled{opacity:.45;cursor:not-allowed}.btn-outlined{border:1px solid var(--border);background:var(--action-fill);color:var(--ink)}.btn-ghost{border:0;background:transparent;color:var(--ink-2);justify-content:flex-start}.btn-ghost:hover{background:var(--wash);color:var(--ink)}.menu-button{min-width:44px;padding:0;justify-content:center;font-size:20px}.mono{font-family:var(--font-mono)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:12.5px;color:var(--ink-3)}.field-help{font-size:12.5px;color:var(--ink-3);line-height:1.4}.input{min-height:44px;width:100%;padding:0 12px;font-size:16px;font-family:inherit;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-inner)}textarea.input{min-height:0;height:auto;padding:10px 12px;resize:vertical;font-family:var(--font-mono);font-size:14px}.input:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--accent)}.input.compact{min-height:44px;width:auto;max-width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media(max-width:599px){.form-row{grid-template-columns:1fr}}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:20px;height:20px;accent-color:var(--accent)}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-filled.compact,.btn-outlined.compact,.btn-ghost.compact{min-height:44px;padding:0 12px}.btn-ghost.back{align-self:flex-start;padding-left:0}.link-button{border:0;background:transparent;color:var(--accent);font-weight:600;padding:0;min-height:44px;cursor:pointer;text-align:left}.notice{border-radius:var(--radius-inner);padding:12px 14px;line-height:1.45;display:flex;flex-direction:column;gap:8px}.notice p{margin:0}.notice-plain{background:var(--wash);color:var(--ink)}.notice-caution{background:var(--caution-fill);color:var(--caution-ink)}.notice-negative{background:color-mix(in srgb,var(--negative) 14%,var(--card));color:var(--negative)}.notice-positive{background:color-mix(in srgb,var(--positive) 14%,var(--card));color:var(--positive)}.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--wash);color:var(--ink-2);white-space:nowrap;vertical-align:middle}.status-paid{background:color-mix(in srgb,var(--positive) 16%,var(--card));color:var(--positive)}.status-underpaid,.status-overpaid{background:var(--caution-fill);color:var(--caution-ink)}.status-cancelled,.status-expired{color:var(--ink-3)}.table-scroll{overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{color:var(--ink-3);font-weight:500;font-size:12.5px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--wash)}.nowrap{white-space:nowrap}.wrap{overflow-wrap:anywhere}.num{font-variant-numeric:tabular-nums}.amount{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}code.mono{font-family:var(--font-mono);font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.qr-wrap{display:flex;justify-content:center;padding:8px 0}.qr{background:#fff;border-radius:var(--radius-inner);overflow:hidden;max-width:100%}.qr svg{display:block;width:100%;height:100%}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.asset{display:inline-block;min-width:110px;color:var(--ink-2)}details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}a.btn-filled{text-decoration:none}input[type=date]{min-width:0;max-width:100%}.print-only{display:none}@media print{.sidebar,.mobile-header,.scrim,.no-print{display:none!important}.content{margin:0;padding:0;max-width:none}.card{box-shadow:none;border-color:#ccc;break-inside:avoid}.print-only{display:block}.table-scroll{overflow:visible}}.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top)) var(--inset) calc(16px + env(safe-area-inset-bottom))}.login-card{width:100%;max-width:420px;gap:12px}.copyable{display:inline-flex;align-items:center;gap:4px;max-width:100%}.copyable .select-all{-webkit-user-select:all;user-select:all}.cell-person{min-width:220px}.mail-note{display:block;font-size:12px;line-height:1.35;margin-top:2px;overflow-wrap:anywhere}.mail-note-negative{color:var(--negative)}.mail-note-caution{color:var(--caution-ink)}.refund-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.refund-actions-row td{border-top:0;padding-top:0}.refund-txid{flex:1 1 200px;min-width:0;width:auto}.mono-input{font-family:var(--font-mono)}.login-passkey{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:center}
