:root{--bg-primary: #0a0b0e;--bg-secondary: #12141a;--bg-card: #181b22;--bg-card-hover: #1f232c;--border-color: rgba(212, 175, 55, .18);--border-subtle: rgba(255, 255, 255, .08);--accent-gold: #d4af37;--accent-gold-light: #f3e5ab;--accent-gold-gradient: linear-gradient(135deg, #d4af37 0%, #aa820a 100%);--accent-green: #10b981;--accent-green-bg: rgba(16, 185, 129, .15);--accent-amber: #f59e0b;--accent-amber-bg: rgba(245, 158, 11, .12);--accent-red: #ef4444;--accent-blue: #38bdf8;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-main: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-brand: "Cinzel", serif;--font-mono: "JetBrains Mono", monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);-webkit-font-smoothing:antialiased;min-height:100vh;padding-top:var(--safe-top);padding-bottom:calc(var(--safe-bottom) + 24px);overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-user-select:none;user-select:none}input,select{font-family:inherit;outline:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-anim{animation:spin .8s linear infinite}.app-header{position:sticky;top:0;z-index:50;background:#0a0b0ef0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color);padding:.75rem 1rem}.header-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.brand-section{display:flex;align-items:center;gap:.6rem}.brand-logo{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--accent-gold);object-fit:cover;flex-shrink:0}.brand-text h1{font-family:var(--font-brand);font-size:.95rem;letter-spacing:.08em;color:var(--accent-gold-light);line-height:1.2;font-weight:700}.brand-text p{font-size:.65rem;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:.5rem}.session-badge{background:#d4af371f;border:1px solid rgba(212,175,55,.4);color:var(--accent-gold);font-size:.7rem;font-weight:700;padding:.25rem .55rem;border-radius:6px;letter-spacing:.02em}.icon-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.icon-btn:active{transform:scale(.92);border-color:var(--accent-gold)}.cockpit-card{margin:.85rem 1rem;padding:1rem;background:linear-gradient(145deg,#161922,#101217);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 8px 24px #0006}.cockpit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.profit-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.margin-pill{background:#10b98126;border:1px solid rgba(16,185,129,.4);color:var(--accent-green);font-weight:800;font-size:.75rem;padding:.2rem .6rem;border-radius:20px}.profit-main-val{font-family:var(--font-mono);font-size:1.85rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1;margin-bottom:.85rem}.profit-main-val span{color:var(--accent-green)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.85rem}.metric-box{background:#0a0b0e99;border:1px solid var(--border-subtle);border-radius:10px;padding:.65rem .75rem}.metric-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.metric-number{font-family:var(--font-mono);font-size:1.05rem;font-weight:700;color:var(--text-primary)}.progress-track{height:6px;background:#ffffff14;border-radius:99px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--accent-green);border-radius:99px;transition:width .4s ease}.progress-labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.68rem;color:var(--text-muted)}.tab-navigation{display:flex;gap:.4rem;padding:0 1rem .75rem;overflow-x:auto;scrollbar-width:none}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{flex:1;min-width:100px;padding:.65rem .5rem;font-size:.75rem;font-weight:700;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;text-align:center;white-space:nowrap;transition:all .2s ease}.tab-btn.active{background:var(--accent-gold-gradient);color:#000;border-color:var(--accent-gold);box-shadow:0 4px 12px #d4af3759}.search-container{padding:0 1rem .75rem}.search-input-wrap{position:relative;display:flex;align-items:center}.search-input-wrap input{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);color:#fff;padding:.65rem 1rem .65rem 2.2rem;border-radius:10px;font-size:.82rem}.search-input-wrap input:focus{border-color:var(--accent-gold)}.search-icon{position:absolute;left:.75rem;font-size:.85rem;color:var(--text-muted)}.filter-chips{display:flex;gap:.4rem;margin-top:.5rem}.chip-btn{padding:.3rem .65rem;font-size:.68rem;font-weight:600;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all .15s ease}.chip-btn.active{background:#d4af3733;border-color:var(--accent-gold);color:var(--accent-gold-light)}.content-list{padding:0 1rem;display:flex;flex-direction:column;gap:.85rem}.proj-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;transition:border-color .2s ease}.proj-card.open{border-color:var(--border-color)}.proj-head{padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#ffffff05}.proj-title{font-size:.95rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:.2rem}.proj-substats{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.7rem;color:var(--text-secondary)}.proj-substats span.highlight{color:var(--accent-green);font-weight:700}.proj-substats span.due{color:var(--accent-amber);font-weight:700}.chevron{color:var(--text-muted);font-size:.85rem;transition:transform .2s ease}.chevron.open{transform:rotate(180deg);color:var(--accent-gold)}.proj-body{padding:.75rem .85rem;background:#0a0b0e80;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.65rem}.event-date-block{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:.65rem .75rem}.event-date-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:.5rem}.event-date-badge{font-size:.75rem;font-weight:700;color:var(--accent-gold-light);display:flex;align-items:center;gap:.35rem}.event-type-tag{background:#ffffff14;font-size:.62rem;padding:.15rem .45rem;border-radius:4px;color:var(--text-secondary);text-transform:uppercase}.event-date-totals{font-size:.7rem;color:var(--accent-amber);font-weight:700;font-family:var(--font-mono)}.team-slot-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-bottom:1px dashed rgba(255,255,255,.06)}.team-slot-row:last-child{border-bottom:none;padding-bottom:.1rem}.slot-left{display:flex;flex-direction:column;gap:.15rem}.slot-role{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.slot-person{font-size:.82rem;font-weight:700;color:#fff}.slot-right{display:flex;align-items:center;gap:.65rem}.slot-rate{font-family:var(--font-mono);font-size:.88rem;font-weight:700;color:#fff}.tap-toggle-btn{min-width:86px;height:36px;border-radius:8px;font-size:.74rem;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:.3rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.tap-toggle-btn.unpaid{background:var(--accent-amber-bg);border:1px solid rgba(245,158,11,.5);color:#f59e0b}.tap-toggle-btn.unpaid:active{transform:scale(.95);background:#f59e0b40}.tap-toggle-btn.paid{background:var(--accent-green);border:1px solid #10b981;color:#000;box-shadow:0 2px 10px #10b98166}.tap-toggle-btn.paid:active{transform:scale(.95)}.roster-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.roster-card.open{border-color:var(--border-color)}.roster-head{padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.roster-name{font-size:.95rem;font-weight:800;color:var(--accent-gold-light);letter-spacing:.02em}.roster-role-tag{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;margin-top:.1rem}.roster-stats-pill{text-align:right;font-family:var(--font-mono)}.roster-stats-pill .total{font-size:.85rem;font-weight:700;color:#fff}.roster-stats-pill .due{font-size:.7rem;font-weight:700;color:var(--accent-amber)}.roster-gig-item{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:.4rem}.roster-gig-left{display:flex;flex-direction:column;gap:.15rem}.roster-gig-date{font-size:.74rem;font-weight:700;color:var(--accent-gold-light)}.roster-gig-couple{font-size:.78rem;color:var(--text-secondary)}.login-screen{min-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem}.login-box{width:100%;max-width:360px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem 1.5rem;text-align:center;box-shadow:0 12px 32px #00000080}.login-box h2{font-family:var(--font-brand);font-size:1.25rem;color:var(--accent-gold-light);margin-top:.75rem;margin-bottom:.25rem}.login-box p{font-size:.75rem;color:var(--text-secondary);margin-bottom:1.5rem}.login-input{width:100%;padding:.85rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:#fff;border-radius:10px;font-size:.95rem;margin-bottom:1rem}.login-input:focus{border-color:var(--accent-gold)}.login-btn{width:100%;padding:.85rem;background:var(--accent-gold-gradient);color:#000;font-weight:800;font-size:.9rem;border-radius:10px;letter-spacing:.04em;transition:all .2s ease}.login-btn:active{transform:scale(.97)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted);font-size:.85rem}
