:root{--ink:#1b2a3a;--ink-soft:#3b4a5a;--paper:#f6f1e4;--paper-deep:#efe8d6;--rule:#dcd0af;--card:#fffdf8;--teal:#2f6f62;--teal-dark:#1f4e44;--teal-tint:#e3ece7;--mustard:#c1852b;--mustard-tint:#f3e4c9;--terracotta:#b04a34;--terracotta-tint:#f3ded6;--sage:#6e8f63;--sage-tint:#e4ebdd;--muted:#7a705c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif}.display{font-family:"Source Serif 4",serif}.mono{font-family:IBM Plex Mono,monospace}.app{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#efe8d6;flex-direction:column;gap:6px;padding:26px 18px;display:flex}.brand{border-bottom:1px solid #efe8d62e;align-items:center;gap:10px;margin-bottom:18px;padding:2px 8px 22px;display:flex}.brand-mark{background:var(--mustard);width:34px;height:34px;color:var(--ink);border-radius:8px;flex:none;justify-content:center;align-items:center;font-family:"Source Serif 4",serif;font-size:17px;font-weight:700;display:flex}.brand-name{letter-spacing:.2px;font-family:"Source Serif 4",serif;font-size:18.5px;font-weight:600}.brand-sub{color:#b9af97;letter-spacing:1.4px;text-transform:uppercase;margin-top:1px;font-size:10.5px}.navlist{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.navitem{cursor:pointer;color:#d9d1bc;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:12px;padding:10px 12px;font-size:14.5px;transition:background .15s,color .15s;display:flex}.navitem:hover{color:#f6f1e4;background:#efe8d614}.navitem.active{background:var(--mustard);color:var(--ink);font-weight:600}.navitem .dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.navitem.active .dot{opacity:.85}.sidebar-foot{color:#9a917c;border-top:1px solid #efe8d62e;margin-top:auto;padding-top:16px;font-size:12px;line-height:1.5}.content{max-width:1180px;padding:30px 40px 60px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.page-eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-size:11.5px}.page-title{color:var(--ink);margin:0;font-family:"Source Serif 4",serif;font-size:28px;font-weight:600}.topbar-actions{align-items:center;gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:8px;padding:10px 16px;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;font-weight:600;transition:transform .1s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#f6f1e4}.btn-primary:hover{background:var(--teal-dark)}.btn-ghost{color:var(--ink-soft);border:1px solid var(--rule);background:0 0}.btn-ghost:hover{background:var(--paper-deep)}.btn:active{transform:translateY(1px)}.search{background:var(--card);border:1px solid var(--rule);border-radius:7px;align-items:center;gap:8px;min-width:230px;padding:9px 12px;display:flex}.search input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:IBM Plex Sans,sans-serif;font-size:13.5px}.search svg{opacity:.55;flex:none}.view{display:none}.view.active{animation:.25s fadein;display:block}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stat-strip{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px;display:grid}.stat-card{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:16px 16px 14px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-color,var(--teal));width:4px;position:absolute;top:0;bottom:0;left:0}.stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px;font-size:11.5px}.stat-value{color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600}.stat-value .stat-suffix{color:var(--muted);font-size:13px;font-weight:500}.grid-2{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;margin-bottom:20px;display:grid}.panel{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:20px 22px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-title{color:var(--ink);margin:0;font-family:"Source Serif 4",serif;font-size:16.5px;font-weight:600}.panel-link{color:var(--teal);cursor:pointer;font-size:12.5px;font-weight:600}.panel-sub{color:var(--muted);margin-top:-10px;margin-bottom:16px;font-size:12px}.seat-legend{color:var(--ink-soft);flex-wrap:wrap;gap:16px;margin-bottom:14px;font-size:12px;display:flex}.seat-legend span{align-items:center;gap:6px;display:inline-flex}.legend-chip{border-radius:3px;width:11px;height:11px;display:inline-block}.seat-grid{grid-template-columns:repeat(12,1fr);gap:7px;display:grid}.seat{aspect-ratio:1;cursor:pointer;color:var(--ink);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:transform .1s;display:flex;position:relative}.seat:hover{transform:translateY(-1px)}.seat.available{background:var(--sage-tint);color:#3e5a34;border-color:#c9d7be}.seat.occupied{background:var(--teal-tint);color:var(--teal-dark);border-color:#bfd4cc}.seat.due{background:var(--terracotta-tint);color:var(--terracotta);border-color:#e3bbac}.seat.selected{outline:2px solid var(--mustard);outline-offset:1px}.seat-grid-github{background:var(--paper-deep);border:1px solid var(--rule);border-radius:8px;grid-template-columns:repeat(10,1fr);gap:8px;padding:16px;display:grid}.seat-github{box-sizing:border-box;text-align:center;word-break:break-word;overflow-wrap:break-word;white-space:normal;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:100%;height:38px;padding:4px;font-family:IBM Plex Mono,monospace;font-size:8.5px;font-weight:500;line-height:1.1;transition:all .2s;display:flex}.seat-github.available{color:var(--ink-soft);background:#0000000d;border-color:#00000014}.seat-github.occupied{background:var(--teal);color:#fff}.seat-github.due{background:var(--terracotta);color:#fff}.seat-github.uncreated{color:#00000040;background:#00000005;border:1px dashed #00000026}.seat-github:hover{z-index:10;transform:scale(1.15);box-shadow:0 4px 12px #00000026}.seat-github.selected{outline:2px solid var(--mustard);outline-offset:2px}.seat-side{width:100%}.seat-detail{border:1px dashed var(--rule);text-align:center;color:var(--muted);border-radius:10px;padding:16px;font-size:13px}.seat-detail.filled{text-align:left;background:var(--paper-deep);border-style:solid}.seat-detail-name{color:var(--ink);margin-bottom:4px;font-family:"Source Serif 4",serif;font-size:16px;font-weight:600}.seat-detail-row{color:var(--ink-soft);justify-content:space-between;margin-top:6px;font-size:12.5px;display:flex}.seat-detail-row b{color:var(--ink);font-weight:600}.stamp{letter-spacing:1.4px;text-transform:uppercase;border:1.5px solid;border-radius:3px;justify-content:center;align-items:center;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;display:inline-flex;transform:rotate(-6deg)}.stamp.paid{color:var(--teal)}.stamp.due{color:var(--terracotta)}.stamp.new{color:var(--mustard)}table.ledger{border-collapse:collapse;width:100%;font-size:13.5px}table.ledger th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);border-bottom:1px solid var(--rule);padding:0 10px 10px;font-size:11px;font-weight:600}table.ledger td{border-bottom:1px dashed var(--rule);vertical-align:middle;color:var(--ink-soft);padding:12px 10px}table.ledger tr:last-child td{border-bottom:none}table.ledger tr:hover td{background:var(--paper-deep)}.cell-name{color:var(--ink);font-weight:600}.cell-amount{color:var(--ink);font-family:IBM Plex Mono,monospace;font-weight:600}.avatar{background:var(--teal-tint);width:28px;height:28px;color:var(--teal-dark);border-radius:50%;justify-content:center;align-items:center;margin-right:10px;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:700;display:inline-flex}.name-cell{align-items:center;display:flex}.pill{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.pill.active{background:var(--sage-tint);color:#3e5a34}.pill.inactive{background:var(--terracotta-tint);color:var(--terracotta)}.feed{flex-direction:column;gap:14px;display:flex}.feed-item{align-items:flex-start;gap:12px;display:flex}.feed-time{color:var(--muted);flex:none;width:52px;padding-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px}.feed-dot{background:var(--teal);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.feed-dot.mustard{background:var(--mustard)}.feed-dot.terracotta{background:var(--terracotta)}.feed-text{color:var(--ink-soft);font-size:13px;line-height:1.5}.feed-text b{color:var(--ink)}.bars{align-items:flex-end;gap:10px;height:140px;padding-top:10px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bar{background:var(--teal);border-radius:5px 5px 3px 3px;width:100%;max-width:34px;position:relative}.bar.current{background:var(--mustard)}.bar-label{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10.5px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.filter-chips{gap:8px;display:flex}.chip{border:1px solid var(--rule);background:var(--card);color:var(--ink-soft);cursor:pointer;border-radius:20px;padding:7px 13px;font-size:12.5px;font-weight:500}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.report-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.report-card{background:var(--card);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:10px;padding:20px;display:flex}.report-icon{background:var(--teal-tint);width:38px;height:38px;color:var(--teal-dark);border-radius:9px;justify-content:center;align-items:center;display:flex}.report-name{color:var(--ink);font-family:"Source Serif 4",serif;font-size:15.5px;font-weight:600}.report-desc{color:var(--muted);flex:1;font-size:12.5px;line-height:1.5}.report-actions{gap:8px;margin-top:4px;display:flex}.report-actions .btn{padding:7px 12px;font-size:12px}.note{color:var(--muted);margin-top:18px;font-size:12px;line-height:1.6}#login-screen{z-index:50;background:var(--paper);grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:0}.login-brand{background:var(--ink);color:var(--paper);flex-direction:column;justify-content:space-between;padding:52px 56px;display:flex;position:relative;overflow:hidden}.login-brand-top .brand{border-bottom:none;margin:0;padding:0}.login-brand-top .brand-name{font-size:22px}.login-quote{color:#f6f1e4;max-width:420px;font-family:"Source Serif 4",serif;font-size:26px;font-weight:500;line-height:1.45}.login-quote-attr{color:#b9af97;letter-spacing:.5px;margin-top:16px;font-size:12.5px}.login-stamp-deco{border:3px solid #efe8d62e;border-radius:50%;justify-content:center;align-items:center;width:220px;height:220px;display:flex;position:absolute;bottom:-30px;right:-30px;transform:rotate(-12deg)}.login-stamp-deco span{letter-spacing:3px;color:#efe8d659;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.login-foot{color:#9a917c;font-size:12px}.login-form-wrap{justify-content:center;align-items:center;padding:40px;display:flex}.login-card{width:100%;max-width:380px}.login-eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11.5px}.login-title{color:var(--ink);margin:0 0 6px;font-family:"Source Serif 4",serif;font-size:26px;font-weight:600}.login-sub{color:var(--muted);margin-bottom:28px;font-size:13.5px;line-height:1.5}.role-toggle{background:var(--paper-deep);border-radius:9px;gap:4px;margin-bottom:26px;padding:4px;display:flex}.role-tab{text-align:center;color:var(--muted);cursor:pointer;border-radius:7px;flex:1;padding:9px 4px;font-size:12.5px;font-weight:600;transition:all .15s}.role-tab.active{background:var(--ink);color:var(--paper)}.otp-row{gap:9px;display:flex}.otp-box{text-align:center;border:1px solid var(--rule);width:100%;max-width:44px;color:var(--ink);background:var(--card);border-radius:7px;outline:none;padding:12px 0;font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:600}.otp-box:focus{border-color:var(--teal)}.login-tabs{background:var(--paper-deep);border-radius:8px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.login-tab{text-align:center;color:var(--muted);cursor:pointer;border-radius:6px;flex:1;padding:8px 0;font-size:13px;font-weight:600}.login-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #1b2a3a14}.field{margin-bottom:16px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input{border:1px solid var(--rule);width:100%;color:var(--ink);background:var(--card);border-radius:7px;outline:none;padding:11px 13px;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;transition:border-color .15s}.field input:focus{border-color:var(--teal)}.field input[type=checkbox],.field input[type=radio]{width:auto}.field-row{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.field-row a{color:var(--teal);font-size:12.5px;font-weight:600;text-decoration:none}.remember{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;display:flex}.login-btn{justify-content:center;width:100%;padding:12px;font-size:14px}.login-divider{color:var(--muted);align-items:center;gap:10px;margin:22px 0;font-size:11.5px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--rule);flex:1;height:1px}.login-note{text-align:center;color:var(--muted);margin-top:4px;font-size:12.5px}.login-note a{color:var(--teal);font-weight:600;text-decoration:none}@media (width<=860px){#login-screen{grid-template-columns:1fr}.login-brand{display:none}}.modal-overlay{z-index:60;background:#1b2a3a73;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-card{background:var(--card);border-radius:14px;width:100%;max-width:600px;max-height:88vh;overflow-y:auto;box-shadow:0 20px 50px #1b2a3a40}.modal-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:var(--ink);margin:0;font-family:"Source Serif 4",serif;font-size:19px;font-weight:600}.modal-sub{color:var(--muted);margin-top:3px;font-size:12.5px}.modal-close{border:1px solid var(--rule);cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border-radius:7px;flex:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--paper-deep)}.modal-body{padding:22px 24px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .span-2{grid-column:1/-1}.field select,.field textarea{border:1px solid var(--rule);width:100%;color:var(--ink);background:var(--card);resize:none;border-radius:7px;outline:none;padding:11px 13px;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;transition:border-color .15s}.field select:focus,.field textarea:focus{border-color:var(--teal)}.field-hint{color:var(--muted);margin-top:5px;font-size:11.5px}.modal-foot{border-top:1px solid var(--rule);justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}#toast{z-index:70;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;border-radius:10px;align-items:center;gap:12px;max-width:340px;padding:14px 18px;transition:all .25s;display:flex;position:fixed;bottom:26px;right:26px;transform:translateY(16px);box-shadow:0 12px 30px #1b2a3a4d}#toast.show{opacity:1;transform:translateY(0)}#toast .stamp{color:#8fbbae;border-color:#8fbbae;flex:none;transform:rotate(-6deg)}#toast .toast-text{font-size:13px;line-height:1.4}#toast .toast-text b{color:#fff}#onboarding-screen{z-index:55;background:var(--paper);flex-direction:column;display:none;position:fixed;inset:0}#onboarding-screen.open{display:flex}.onboarding-top{border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;padding:22px 40px;display:flex}.onboarding-top .brand{border-bottom:none;margin:0;padding:0}.onboarding-top .brand-name{color:var(--ink)}.onboarding-top .brand-sub{color:var(--muted)}#back-to-login{color:var(--teal);cursor:pointer;font-size:13px;font-weight:600;text-decoration:none}.onboarding-wrap{flex:1;justify-content:center;padding:44px 24px;display:flex;overflow-y:auto}.onboarding-card{width:100%;max-width:620px}.ob-progress{align-items:center;margin-bottom:32px;display:flex}.ob-step-item{align-items:center;gap:9px;display:flex}.ob-step-circle{border:2px solid var(--rule);background:var(--card);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;transition:all .2s;display:flex}.ob-step-label{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:600}.ob-step-line{background:var(--rule);flex:1;height:2px;margin:0 10px;transition:background .2s}.ob-step-line.done{background:var(--teal)}.ob-step-item.done .ob-step-circle{background:var(--teal);border-color:var(--teal);color:#fff}.ob-step-item.done .ob-step-label{color:var(--ink)}.ob-step-item.active .ob-step-circle{background:var(--mustard);border-color:var(--mustard);color:var(--ink)}.ob-step-item.active .ob-step-label{color:var(--ink)}.ob-panel{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:32px 34px}.ob-step-content{display:none}.ob-step-content.active{animation:.25s fadein;display:block}.ob-step-eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin-bottom:6px;font-size:11.5px}.ob-step-title{color:var(--ink);margin:0 0 6px;font-family:"Source Serif 4",serif;font-size:22px;font-weight:600}.ob-step-sub{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.5}.ob-check-row{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.ob-check{border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:var(--card);border-radius:9px;flex:1;align-items:flex-start;gap:9px;min-width:150px;padding:12px 14px;font-size:13px;display:flex}.ob-check input{width:auto;margin-top:2px}.ob-check .ob-check-time{color:var(--muted);margin-top:2px;font-size:11px;display:block}.ob-actions{justify-content:space-between;margin-top:28px;display:flex}.ob-actions .btn{justify-content:center;min-width:112px}.ob-summary{background:var(--paper-deep);border-radius:10px;margin:18px 0 6px;padding:6px 20px}.ob-summary-row{border-bottom:1px dashed var(--rule);justify-content:space-between;padding:11px 0;font-size:13px;display:flex}.ob-summary-row:last-child{border-bottom:none}.ob-summary-row span:first-child{color:var(--muted)}.ob-summary-row b{color:var(--ink)}.ob-done-wrap{text-align:center;padding:10px 0 6px}.ob-done-stamp{border:3px solid var(--teal);width:88px;height:88px;color:var(--teal);letter-spacing:1px;text-align:center;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700;line-height:1.3;display:inline-flex;transform:rotate(-8deg)}@media (width<=640px){.ob-step-label{display:none}.onboarding-top{padding:18px 20px}.ob-panel{padding:24px 20px}}.student-shell{background:var(--paper);min-height:100vh}.student-header{border-bottom:1px solid var(--rule);background:var(--card);justify-content:space-between;align-items:center;padding:18px 32px;display:flex}.student-header .brand{border-bottom:none;margin:0;padding:0}.student-header-right{align-items:center;gap:18px;display:flex}.student-avatar-name{color:var(--ink);align-items:center;font-size:13.5px;font-weight:600;display:flex}.student-tabs{border-bottom:1px solid var(--rule);background:var(--card);gap:6px;padding:14px 32px 0;display:flex}.student-tab{color:var(--muted);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13.5px;font-weight:600}.student-tab.active{color:var(--teal);border-bottom-color:var(--teal)}.student-content{max-width:760px;margin:0 auto;padding:28px 32px 60px}.sview{display:none}.sview.active{animation:.25s fadein;display:block}.sub-card{background:linear-gradient(135deg, var(--ink) 0%, #223247 100%);color:var(--paper);border-radius:14px;padding:24px 26px}.sub-card-top{justify-content:space-between;align-items:flex-start;display:flex}.sub-card-label{letter-spacing:.6px;text-transform:uppercase;color:#b9c3cc;margin-bottom:8px;font-size:12px}.sub-card-amount{color:#fff;font-family:IBM Plex Mono,monospace;font-size:32px;font-weight:600}.sub-card-due{color:#c7d0d8;margin-top:6px;font-size:12.5px}.sub-card-due b{color:#fff}.sub-card #sub-status-stamp{background:#f6f1e414}.sub-card.paid{background:linear-gradient(135deg, var(--teal-dark) 0%, #2c5a50 100%)}@media (width<=640px){.student-header{padding:14px 18px}.student-tabs{padding:12px 18px 0}.student-content{padding:20px 18px 50px}.student-avatar-name span:last-child{display:none}}@media (width<=980px){.app{grid-template-columns:1fr}.content{padding:22px}.stat-strip{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}.password-wrapper{align-items:center;width:100%;display:flex;position:relative}.password-wrapper input{padding-right:40px!important}.password-toggle-btn{color:var(--muted,#666);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--ink)}.empty-state{text-align:center;background:var(--card);border:1px dashed var(--rule);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;margin:16px 0;padding:48px 24px;display:flex}.empty-state-icon{color:var(--muted);margin-bottom:12px;font-size:36px}.empty-state-title{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:600}.empty-state-desc{color:var(--muted);max-width:320px;margin:0 0 16px;font-size:13px;line-height:1.4}.mobile-header,.mobile-backdrop{display:none}@media (width<=768px){.app{grid-template-columns:1fr}.mobile-header{background:var(--ink);color:#efe8d6;z-index:999;border-bottom:1px solid #efe8d626;justify-content:space-between;align-items:center;height:56px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-toggle{color:inherit;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:4px;display:flex}.brand-title{letter-spacing:.5px;font-family:"Source Serif 4",serif;font-size:18px;font-weight:700}.sidebar{z-index:1001;width:250px;transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-260px;box-shadow:4px 0 16px #00000040}.sidebar.open{left:0}.mobile-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:block;position:fixed;inset:0}.content{padding:16px 12px 48px}.stat-strip{gap:10px;grid-template-columns:1fr!important}.grid-2{gap:16px;grid-template-columns:1fr!important}.form-grid{grid-template-columns:1fr!important;gap:12px!important}.field.span-2{grid-column:span 1!important}.modal-card{max-height:90vh;width:92%!important;margin:12px auto!important}.topbar{flex-direction:column;align-items:stretch;gap:12px}.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.search{width:100%}.btn{justify-content:center;width:100%}.panel{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table.ledger{min-width:650px}.seat-grid-github{min-width:unset;grid-template-columns:repeat(10,1fr);overflow-x:auto}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-btn-loading{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.6s linear infinite spin;display:inline-block}.switcher-item-btn{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;padding:8px 12px;font-family:inherit;transition:all .2s;display:flex}.switcher-item-btn:hover:not(:disabled){background:var(--paper-deep,#efe8d6)}.switcher-item-btn:disabled{cursor:default}.switcher-item-btn.active{background:var(--teal-tint,#e3ece7);color:var(--teal)}
