.ico[data-v-9c8e8f53]{position:relative}.msg-badge[data-v-9c8e8f53]{position:absolute;top:-5px;right:-12px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9.5px;font-style:normal;line-height:15px;text-align:center}.violations-page[data-v-f595288d]{min-height:100vh;padding-bottom:90px}.credit-card[data-v-f595288d]{display:flex;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px #0f172a0f;border-left:4px solid #22c55e}.credit-card.normal[data-v-f595288d]{border-left-color:#3b82f6}.credit-card.risk[data-v-f595288d]{border-left-color:#f59e0b}.credit-card.restricted[data-v-f595288d]{border-left-color:#ef4444}.credit-score[data-v-f595288d]{font-size:34px;font-weight:700;color:#15803d;min-width:64px;text-align:center}.credit-card.normal .credit-score[data-v-f595288d]{color:#1d4ed8}.credit-card.risk .credit-score[data-v-f595288d]{color:#b45309}.credit-card.restricted .credit-score[data-v-f595288d]{color:#b91c1c}.credit-info b[data-v-f595288d]{font-size:14px;color:#0f172a}.credit-info p[data-v-f595288d]{margin:4px 0 0;font-size:12.5px;color:#475569}.bk-status.effective[data-v-f595288d]{color:#b91c1c}.bk-status.appealing[data-v-f595288d]{color:#b45309}.bk-status.revoked[data-v-f595288d]{color:#15803d}.bk-status.expired[data-v-f595288d]{color:#64748b}.messages-page[data-v-bd9f5259]{min-height:100vh;padding-bottom:90px}.ticket-link[data-v-bd9f5259]{margin-top:12px;border:none;background:transparent;color:#ffffffeb;font-size:12.5px;padding:0}.msg-item[data-v-bd9f5259]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 3px 10px #0f172a0d;cursor:pointer}.msg-item.unread[data-v-bd9f5259]{border-left:3px solid #2563eb}.msg-head[data-v-bd9f5259]{display:flex;justify-content:space-between;gap:8px;align-items:center}.msg-time[data-v-bd9f5259]{color:#94a3b8;font-size:11.5px;flex:none}.msg-content[data-v-bd9f5259]{margin:6px 0 0;color:#475569;font-size:13px;line-height:1.55}.msg-foot[data-v-bd9f5259]{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.tag[data-v-bd9f5259]{font-size:11.5px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 8px}.dot[data-v-bd9f5259]{width:7px;height:7px;border-radius:50%;background:#ef4444}.msg-list[data-v-bd9f5259]{min-width:0}.msg-item.selected[data-v-bd9f5259]{border:1px solid rgba(15,118,110,.45);box-shadow:0 6px 18px #0f766e24}.msg-detail[data-v-bd9f5259]{display:none}@media (min-width: 900px){.msg-layout[data-v-bd9f5259]{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}.msg-list[data-v-bd9f5259]{display:flex;flex-direction:column;gap:10px}.msg-list .msg-item[data-v-bd9f5259]{margin-bottom:0}.msg-detail[data-v-bd9f5259]{display:block;position:sticky;top:24px;padding:20px;border-radius:16px;background:#fff;border:1px solid #e6efed;box-shadow:0 6px 18px #0f766e0f}.md-head[data-v-bd9f5259]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.md-head h2[data-v-bd9f5259]{margin:0;font-size:17px;line-height:1.4}.md-close[data-v-bd9f5259]{flex:none;width:28px;height:28px;border-radius:9px;background:#f1f7f6;color:#64748b;font-size:12px}.md-meta[data-v-bd9f5259]{display:flex;align-items:center;gap:10px;margin:10px 0 14px;color:#94a3b8;font-size:11.5px}.md-body[data-v-bd9f5259]{margin:0;font-size:13.5px;line-height:1.8;color:#334155;white-space:pre-wrap}.md-placeholder[data-v-bd9f5259]{display:flex;align-items:center;justify-content:center;min-height:220px}.msg-layout>.empty[data-v-bd9f5259]{grid-column:1 / -1}}.tickets-page[data-v-54fdbb58]{min-height:100vh;padding-bottom:90px}.hero-tip[data-v-54fdbb58]{margin:10px 0 0;font-size:12.5px;opacity:.9}.full[data-v-54fdbb58]{width:100%;margin-bottom:14px}.tk-card[data-v-54fdbb58]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 3px 10px #0f172a0d}.tk-head[data-v-54fdbb58]{display:flex;justify-content:space-between;gap:8px;align-items:center}.tk-status[data-v-54fdbb58]{font-size:11.5px;color:#b45309;flex:none}.tk-status.processing[data-v-54fdbb58]{color:#2563eb}.tk-status.resolved[data-v-54fdbb58]{color:#15803d}.tk-status.closed[data-v-54fdbb58]{color:#64748b}.tk-meta[data-v-54fdbb58]{margin:6px 0 0;color:#94a3b8;font-size:11.5px}.tk-replies[data-v-54fdbb58]{margin:6px 0 0;color:#475569;font-size:12.5px}.chat[data-v-54fdbb58]{display:flex;flex-direction:column;gap:10px;max-height:42vh;overflow-y:auto}.msg[data-v-54fdbb58]{background:#f1f5f9;border-radius:12px;padding:10px 12px}.msg.admin[data-v-54fdbb58]{background:#eff6ff}.msg-role[data-v-54fdbb58]{color:#94a3b8;font-size:11.5px;margin-bottom:4px}.msg-body[data-v-54fdbb58]{white-space:pre-wrap;line-height:1.6;font-size:13.5px}.onboarding-page[data-v-6ce459bf]{min-height:100vh;padding-bottom:90px}.hero-tip[data-v-6ce459bf]{margin:10px 0 0;font-size:12.5px;opacity:.9}.full[data-v-6ce459bf]{width:100%;margin-top:8px}.status-card[data-v-6ce459bf]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:0 4px 14px #0f172a0f;margin-bottom:14px;border-left:4px solid #94a3b8}.status-card.pending[data-v-6ce459bf]{border-left-color:#f59e0b}.status-card.rejected[data-v-6ce459bf]{border-left-color:#dc2626}.status-card.listed[data-v-6ce459bf]{border-left-color:#16a34a}.status-sub[data-v-6ce459bf]{margin:4px 0 0;color:#64748b;font-size:12.5px}.status-badge[data-v-6ce459bf]{font-size:11.5px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 10px}.reject-box[data-v-6ce459bf]{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:12px 14px;margin-bottom:14px;color:#991b1b;font-size:13px}.reject-box p[data-v-6ce459bf]{margin:6px 0 0}.pending-box[data-v-6ce459bf]{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#92400e}.pending-box p[data-v-6ce459bf]{margin:0 0 6px}.form-row[data-v-6ce459bf]{display:flex;gap:12px}.form-row .form-item[data-v-6ce459bf]{flex:1}.chips[data-v-6ce459bf]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-6ce459bf]{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;color:#475569}.chip.active[data-v-6ce459bf]{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}.qual-card[data-v-6ce459bf]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 3px 10px #0f172a0d}.qual-top[data-v-6ce459bf]{display:flex;justify-content:space-between;align-items:center}.qual-status[data-v-6ce459bf]{font-size:11.5px;color:#b45309}.qual-status.approved[data-v-6ce459bf]{color:#15803d}.qual-status.rejected[data-v-6ce459bf]{color:#b91c1c}.qual-file[data-v-6ce459bf]{margin:6px 0 0;color:#2563eb;font-size:13px;cursor:pointer}.qual-form[data-v-6ce459bf]{background:#f8fafc;border-radius:12px;padding:12px;margin-top:12px}.submit-btn[data-v-6ce459bf]{margin-top:18px}.muted[data-v-6ce459bf]{color:#94a3b8;font-size:12px}.schedule-page[data-v-5dbf4406]{min-height:100vh;padding-bottom:90px}.hero-tip[data-v-5dbf4406]{margin:10px 0 0;font-size:12.5px;opacity:.9}.notice[data-v-5dbf4406]{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:13px;color:#1e3a8a}.notice p[data-v-5dbf4406]{margin:5px 0 0;color:#475569;font-size:12.5px}.req-card[data-v-5dbf4406]{background:#fff;border-radius:12px;padding:14px;margin-bottom:16px;box-shadow:0 3px 10px #0f172a0d}.req-types[data-v-5dbf4406]{display:flex;gap:8px;margin-bottom:12px}.req-type[data-v-5dbf4406]{flex:1;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;border-radius:9px;padding:8px;font-size:13px}.req-type.active[data-v-5dbf4406]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:600}.field[data-v-5dbf4406]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;font-size:12.5px;color:#475569}.field input[data-v-5dbf4406],.field textarea[data-v-5dbf4406],.field select[data-v-5dbf4406]{border:1px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:13px;color:#0f172a;background:#fff;font-family:inherit}.item-row[data-v-5dbf4406]{display:flex;gap:6px;align-items:center;margin-bottom:8px}.item-row select[data-v-5dbf4406],.item-row input[data-v-5dbf4406]{border:1px solid #e2e8f0;border-radius:8px;padding:7px 8px;font-size:13px;background:#fff}.item-row select[data-v-5dbf4406]{width:78px}.item-row input[type=time][data-v-5dbf4406]{width:92px}.item-row .dash[data-v-5dbf4406]{color:#94a3b8;font-size:12px}.del[data-v-5dbf4406]{margin-left:auto;background:transparent;color:#ef4444;font-size:12px}.add[data-v-5dbf4406]{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:9px;padding:7px 10px;color:#475569;font-size:12.5px;margin-bottom:6px}.hint[data-v-5dbf4406]{margin:4px 0 12px}.req-actions[data-v-5dbf4406]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.primary[data-v-5dbf4406]{background:#1d4ed8;color:#fff;border-radius:10px;padding:9px 18px;font-size:13.5px}.primary[data-v-5dbf4406]:disabled{opacity:.6}.req-item[data-v-5dbf4406]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 3px 10px #0f172a0d}.req-item-top[data-v-5dbf4406]{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#0f172a}.req-line[data-v-5dbf4406]{margin:6px 0 0;font-size:12.5px;color:#334155}.req-item-foot[data-v-5dbf4406]{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.req-status[data-v-5dbf4406]{font-size:11.5px;padding:2px 8px;border-radius:999px}.req-status.pending[data-v-5dbf4406]{background:#fffbeb;color:#b45309}.req-status.approved[data-v-5dbf4406]{background:#ecfdf5;color:#047857}.req-status.rejected[data-v-5dbf4406]{background:#fef2f2;color:#b91c1c}.req-status.cancelled[data-v-5dbf4406]{background:#f1f5f9;color:#64748b}.cancel[data-v-5dbf4406]{background:transparent;color:#ef4444;font-size:12px}.week-row[data-v-5dbf4406]{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed #e2e8f0}.week-day[data-v-5dbf4406]{width:42px;color:#64748b;font-size:12.5px;flex:none}.week-times[data-v-5dbf4406]{display:flex;flex-wrap:wrap;gap:6px}.time-chip[data-v-5dbf4406]{background:#ecfdf5;color:#047857;border-radius:999px;padding:3px 10px;font-size:12.5px}.paused[data-v-5dbf4406]{margin-top:12px;background:#fffbeb;color:#92400e;border-radius:10px;padding:10px 12px;font-size:12.5px}.summary[data-v-5dbf4406]{display:flex;gap:12px;color:#64748b;font-size:12.5px;margin-bottom:10px}.slot-day[data-v-5dbf4406]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 3px 10px #0f172a0d}.slot-date[data-v-5dbf4406]{display:flex;justify-content:space-between;color:#475569;font-size:12.5px;margin-bottom:8px}.slot-grid[data-v-5dbf4406]{display:flex;flex-wrap:wrap;gap:8px}.slot[data-v-5dbf4406]{display:flex;flex-direction:column;align-items:center;min-width:64px;border-radius:9px;padding:6px 8px;background:#f0fdf4;color:#15803d;font-size:13px}.slot em[data-v-5dbf4406]{font-style:normal;font-size:10.5px;opacity:.85}.slot.booked[data-v-5dbf4406]{background:#eff6ff;color:#1d4ed8}.slot.disabled[data-v-5dbf4406],.slot.locked[data-v-5dbf4406]{background:#f1f5f9;color:#94a3b8}.muted[data-v-5dbf4406]{color:#94a3b8;font-size:12px}.classroom-page[data-v-c5bb6e14]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a;display:flex;flex-direction:column;z-index:100}.cr-bar[data-v-c5bb6e14]{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;color:#fff;background:#111827;font-size:13.5px}.cr-back[data-v-c5bb6e14],.cr-open[data-v-c5bb6e14]{border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;border-radius:999px;padding:5px 11px;font-size:12px}.cr-frame-wrap[data-v-c5bb6e14]{flex:1;min-height:0}.cr-frame[data-v-c5bb6e14]{width:100%;height:100%;border:0;display:block;background:#000}.cr-error[data-v-c5bb6e14]{margin:auto;color:#e2e8f0;text-align:center}:root{--brand: #0f766e;--brand-2: #14b8a6;--brand-deep: #115e59;--ink: #123230;--muted: #6b8481;--line: #e3ecea;--bg: #eef4f2;--card: #ffffff;--shadow: 0 10px 28px rgba(15, 90, 80, .08)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:radial-gradient(1200px 600px at 50% -10%,#d8efe9 0%,var(--bg) 45%,#eaf1ef 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;font-size:15px;line-height:1.5}body{min-height:100vh}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{border:none;background:none;cursor:pointer}.app-shell{position:relative;width:100%;max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:78px;background:#f7faf9;box-shadow:0 0 60px #0b3d361f;overflow-x:hidden}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;line-height:18px;background:#eef7f5;color:var(--brand-deep);white-space:nowrap}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 20px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:600;letter-spacing:.3px;box-shadow:0 8px 18px #0f766e47}.btn-primary:disabled{opacity:.45;box-shadow:none}.btn-ghost{height:44px;padding:0 16px;border-radius:14px;border:1px solid #cfe2de;background:#fff;color:var(--brand-deep);font-size:14px;font-weight:600}.btn-ghost.small,.btn-primary.small{height:34px;padding:0 14px;font-size:12.5px;border-radius:11px}.btn-ghost.danger{color:#b91c1c;border-color:#fecaca}.section{margin:14px 14px 0;padding:16px;border-radius:18px;background:var(--card);box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{margin:0;font-size:15px;font-weight:650}.section-head span{font-size:11.5px;color:var(--muted)}.empty{padding:36px 20px;text-align:center;color:var(--muted)}.empty .empty-icon{font-size:30px;opacity:.5;margin-bottom:8px}.login-page{min-height:100vh;padding:54px 26px 40px;background:radial-gradient(420px 260px at 15% 0%,rgba(20,184,166,.35),transparent 70%),linear-gradient(160deg,#0b3f3a,#0f766e 55%,#0e9488);color:#fff;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.login-logo{width:48px;height:48px;border-radius:15px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:22px;font-weight:700}.login-brand h1{margin:0;font-size:19px;font-weight:600}.login-brand p{margin:2px 0 0;font-size:12px;opacity:.75}.login-hero h2{margin:0;font-size:26px;line-height:1.3;font-weight:700}.login-hero p{margin:10px 0 0;font-size:13px;opacity:.78}.login-card{margin-top:26px;padding:22px 20px;border-radius:22px;background:#fffffff7;color:var(--ink);box-shadow:0 24px 60px #03282359}.field{margin-bottom:14px}.field label{display:block;margin-bottom:7px;font-size:12px;color:var(--muted)}.field .control{display:flex;align-items:center;gap:8px;height:48px;padding:0 14px;border-radius:13px;background:#f2f7f6;border:1px solid transparent}.field .control:focus-within{border-color:#0f766e73;background:#fff}.field input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px}.code-btn{flex-shrink:0;padding:6px 4px 6px 12px;border-left:1px solid var(--line);color:var(--brand);font-size:13px;font-weight:600}.code-btn:disabled{color:#a9bab7}.login-submit{width:100%;margin-top:8px}.login-hint{margin-top:14px;padding:10px 12px;border-radius:12px;background:#f2f8f7;border:1px dashed #c8e2dd;font-size:12px;color:var(--muted);line-height:1.7}.login-hint b{color:var(--brand-deep);letter-spacing:1px}.login-err{margin:10px 0 0;font-size:12px;color:#b91c1c}.hero{padding:18px 18px 16px;background:radial-gradient(320px 180px at 100% 0%,rgba(134,239,172,.35),transparent 70%),linear-gradient(140deg,#0c5f58,#0f766e 48%,#12a594);color:#fff;border-radius:0 0 24px 24px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-actions{display:flex;gap:8px;flex:none}.hero-top .hello{margin:0 0 4px;font-size:12px;opacity:.78}.hero-top h1{margin:0;font-size:20px;font-weight:700}.hero-top .logout{padding:6px 12px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px}.tabs{display:flex;gap:6px;margin-top:14px;overflow-x:auto}.tab{flex:none;padding:6px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#ffffffe6;font-size:12.5px}.tab.active{background:#fff;color:#0f766e;border-color:#fff;font-weight:600}.bk-card{border:1px solid #e6efed;border-radius:16px;background:#fff;padding:14px;margin-bottom:12px;box-shadow:0 6px 18px #0f766e0f}.bk-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bk-who{display:flex;align-items:center;gap:8px}.bk-who b{font-size:14px}.bk-type{font-size:10.5px;color:#0f766e;background:#e6f7f4;border-radius:999px;padding:2px 8px}.bk-status{font-size:11.5px;font-weight:600;color:#0f766e}.bk-status.pending_confirm{color:#b45309}.bk-status.cancelled,.bk-status.rejected{color:#94a3b8}.bk-time{margin:10px 0 4px;font-size:15px;font-weight:600}.bk-meta{margin:0;font-size:11.5px;color:var(--muted)}.bk-hint{margin:8px 0 0;font-size:11.5px;color:#64748b}.bk-actions{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}.balance-card{margin:14px;padding:18px;border-radius:20px;color:#fff;background:radial-gradient(240px 160px at 100% 0%,rgba(134,239,172,.28),transparent 70%),linear-gradient(140deg,#0b544e,#0f766e 60%,#14b8a6);box-shadow:0 14px 30px #0b544e40}.balance-main span{font-size:12.5px;opacity:.85}.balance-main b{display:block;margin-top:4px;font-size:30px;font-weight:700;letter-spacing:.5px}.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}.balance-grid div{text-align:center}.balance-grid span{display:block;font-size:11px;opacity:.8}.balance-grid b{font-size:15px}.row-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef5f3}.row-item:last-child{border-bottom:none}.row-item .main{min-width:0}.row-item .main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-item .main span{font-size:11px;color:var(--muted)}.row-item .side{text-align:right;flex-shrink:0}.row-item .side b{display:block;font-size:13px}.row-item .side span{font-size:11px;color:var(--muted)}.status-paid{color:#0f766e}.status-pending{color:#b45309}.status-muted{color:#94a3b8}.form-item{margin-bottom:12px}.form-item label{display:block;margin-bottom:6px;font-size:12px;color:var(--muted)}.form-item input,.form-item textarea,.form-item select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #dfeae7;background:#f8fbfa;font-size:13px;outline:none}.form-item textarea{resize:none;line-height:1.6}.form-item input:focus,.form-item textarea:focus,.form-item select:focus{border-color:#0f766e73;background:#fff}.form-actions{display:flex;gap:10px;margin-top:4px}.form-actions .btn-primary{flex:1.3}.form-actions .btn-ghost{flex:1}.bank-card{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:12px;background:#f6faf9;border:1px solid #e8f1ef;margin-bottom:9px}.bank-card b{font-size:13px}.bank-card span{display:block;font-size:11px;color:var(--muted)}.tabbar{position:fixed;left:50%;bottom:0;z-index:30;transform:translate(-50%);width:min(100%,480px);display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 7px;font-size:11px;color:#8aa5a1}.tabbar button.active{color:var(--brand);font-weight:600}.tabbar .ico{font-size:17px;line-height:1}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#09282473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{width:min(100%,480px);padding:24px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -12px 40px #042f2a38}.sheet h2{margin:0;font-size:17px;font-weight:700;text-align:center}.sheet-sub{margin:6px 0 16px;font-size:12px;color:var(--muted);text-align:center}.sheet-tall{max-height:82vh;overflow-y:auto}.sheet-actions{display:flex;gap:10px;margin-top:16px}.sheet-actions .btn-ghost{flex:1}.sheet-actions .btn-primary{flex:1.4}.fb-block{margin-bottom:12px}.fb-label{display:block;font-size:11.5px;font-weight:600;color:#0f766e;margin-bottom:4px}.fb-block p{margin:0;font-size:13px;line-height:1.7;color:#334155}.toast{position:fixed;top:46px;left:50%;transform:translate(-50%);z-index:99;max-width:min(90vw,420px);padding:10px 16px;border-radius:12px;background:#123230eb;color:#fff;font-size:13px;line-height:1.5;box-shadow:0 10px 30px #0003;text-align:center}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,-8px)}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}.page-main{min-width:0}.side-nav{display:none}.only-mobile{display:inline-flex}@media (min-width: 900px){.app-shell:not(.with-nav){max-width:480px}.app-shell.with-nav{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;max-width:1280px;min-height:100vh;padding-bottom:0;overflow:visible;box-shadow:0 0 80px #0b3d3629}.tabbar,.only-mobile{display:none}.side-nav{position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;padding:24px 14px 18px;background:radial-gradient(260px 180px at 0% 0%,rgba(20,184,166,.4),transparent 70%),linear-gradient(170deg,#0b3f3a,#0f766e 58%,#115e59);color:#fff}.side-brand{padding:0 10px 16px;border-bottom:1px solid rgba(255,255,255,.16);font-size:15px;font-weight:700;letter-spacing:.3px;line-height:1.35}.side-brand small{display:block;margin-top:4px;font-size:11px;font-weight:400;letter-spacing:.6px;opacity:.7}.side-links{display:flex;flex-direction:column;gap:4px}.side-links button{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:11px;color:#ffffffd1;font-size:13.5px;text-align:left;transition:background .15s ease,color .15s ease}.side-links button:hover{background:#ffffff1a;color:#fff}.side-links button.active{background:#ffffff2e;color:#fff;font-weight:600}.side-links .ico{font-size:16px;line-height:1}.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}.side-foot button{width:100%;padding:10px 12px;border-radius:11px;border:1px solid rgba(255,255,255,.24);color:#ffffffe6;font-size:12.5px}.side-foot button:hover{background:#ffffff1f}.page-main{padding-bottom:40px}.hero{padding:24px 30px 20px}.hero-top h1{font-size:24px}.section{margin:18px 30px 0}.section-head{flex-wrap:wrap;gap:4px 10px}.section-head h2{white-space:nowrap}.balance-card{margin:18px 30px 0}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}.list-grid>.empty,.list-grid>.full,.list-grid>.section-head,.list-grid>.bk-hint{grid-column:1 / -1}.app-shell .list-grid .bk-card,.app-shell .list-grid .msg-item,.app-shell .list-grid .tk-card{margin-bottom:0}.earnings-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start;padding:0 30px}.earnings-page>.hero{grid-column:1 / -1;margin:0 -30px}.earnings-page>.balance-card{grid-column:1 / -1;margin:18px 0 0}.earnings-page>.section{margin:18px 0 0}.earnings-page>.section:last-of-type{grid-column:1 / -1}.onboarding-page>.section{max-width:760px}.schedule-page>.section{max-width:1000px}.schedule-page .req-card{max-width:760px}.violations-page>.section:first-of-type{max-width:1000px}}.pf-list{margin-bottom:12px;padding:2px 12px;border:1px solid #e6efed;border-radius:14px;background:#f8fbfa;text-align:left}.pf-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed #e6efed;font-size:12.5px}.pf-item:last-child{border-bottom:none}.pf-name{color:var(--muted)}.pf-state{font-weight:600;color:#334155;text-align:right}.pf-state.ok{color:#0f766e}.pf-state.warn{color:#b45309}.pf-modes{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.pf-mode{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid #e3ecea;background:#fff;text-align:left}.pf-mode b{font-size:13px;color:var(--ink)}.pf-mode em{font-style:normal;font-size:11.5px;color:var(--muted)}.pf-mode.active{border-color:var(--brand);background:#eefaf7;box-shadow:0 6px 16px #0f766e1f}.pf-note{margin:0 0 4px;font-size:11.5px;line-height:1.6;color:var(--muted);text-align:left}@media (min-width: 900px){.pf-modes{flex-direction:row}.pf-mode{flex:1}}
