:root{--bg:#0f0a1a;--panel:#1b1230;--panel2:#241a3d;--gold:#e8b64c;--gold-dim:#a9843a;--text:#f2eefa;--muted:#a99bc7;--accent:#7c5cff;--danger:#ff6b81;--good:#4cd68a}*{box-sizing:border-box}html{background:#050308}body{color:var(--text);background:#050308;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}.navbar{z-index:39;background:var(--bg);border-bottom:1px solid #201735;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.nav-logo{cursor:pointer;color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.nav-role{align-items:center;gap:12px;display:flex}.nav-role-label{color:var(--muted);font-size:12px}.nav-link{color:var(--gold);border:1px solid var(--gold-dim);cursor:pointer;white-space:nowrap;background:#e8b64c1a;border-radius:20px;padding:7px 14px;font-size:11.5px;font-weight:600;text-decoration:none}.app-shell{width:100%;max-width:1180px;margin:0 auto}.topbar{align-items:center;gap:12px;padding:20px 28px 6px;display:flex}.topbar .back{background:var(--panel);cursor:pointer;width:34px;height:34px;color:var(--text);border:1px solid #2a2140;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:flex}.topbar h1{flex:1;margin:0;font-size:19px;font-weight:700}.content{max-width:1000px;padding:14px 28px 60px}.content.narrow{max-width:540px;margin:0 auto}.content.wide{max-width:1120px}.hero{text-align:center;max-width:760px;margin:0 auto;padding:56px 28px 40px}.hero .logo{background:linear-gradient(135deg,var(--accent),#ff5ca0);border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 18px;font-size:34px;display:flex}.hero h1{letter-spacing:-.5px;margin:0 0 10px;font-size:34px}.hero p{color:var(--muted);margin:0 0 36px;font-size:15.5px;line-height:1.6}.role-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:1000px;margin:0 auto;padding:0 28px 40px;display:grid}.role-card{background:var(--panel);cursor:pointer;text-align:left;color:var(--text);border:1px solid #2a2140;border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;text-decoration:none;transition:all .15s;display:flex}.role-card:hover{border-color:var(--gold-dim);transform:translateY(-2px)}.role-card .emoji{font-size:28px}.role-card .rc-title{font-size:16px;font-weight:700}.role-card .rc-sub{color:var(--muted);font-size:12.5px;line-height:1.4}.btn{text-align:center;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:10px;padding:14px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,var(--gold),#c98f2e);color:#241708}.btn-secondary{background:var(--panel2);color:var(--text);border:1px solid #362a54}.btn-outline{color:var(--gold);border:1px solid var(--gold-dim);background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.field{margin-bottom:16px}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{background:var(--panel);width:100%;color:var(--text);border:1px solid #2a2140;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px}.field textarea{resize:vertical;min-height:70px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--panel);color:var(--muted);cursor:pointer;border:1px solid #2a2140;border-radius:20px;padding:8px 13px;font-size:12.5px;font-weight:600}.chip.active{border-color:var(--gold);color:var(--gold);background:#e8b64c26}.day-chip{background:var(--panel);width:42px;height:42px;color:var(--muted);cursor:pointer;border:1px solid #2a2140;border-radius:12px;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.day-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.card{background:var(--panel);border:1px solid #2a2140;border-radius:16px;margin-bottom:12px;padding:16px}.artist-card{cursor:pointer;color:var(--text);align-items:flex-start;gap:12px;text-decoration:none;display:flex}.avatar{background:linear-gradient(135deg,var(--accent),#ff5ca0);color:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:16px;font-weight:800;display:flex}.ac-name{font-size:15px;font-weight:700}.ac-genres{color:var(--gold);margin-top:2px;font-size:11.5px}.ac-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;display:flex}.rating-pill{color:var(--good);background:#4cd68a1f;border-radius:10px;align-items:center;gap:3px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:18px 0 10px;font-size:12px;font-weight:700}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:6px;display:grid}.stat-box{background:var(--panel);text-align:center;border:1px solid #2a2140;border-radius:14px;flex:1;padding:14px}.stat-box .num{color:var(--gold);font-size:20px;font-weight:800}.stat-box .lab{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:10.5px}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:6px;display:grid}.menu-item{background:var(--panel);cursor:pointer;color:var(--text);border:1px solid #2a2140;border-radius:14px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.menu-item .mi-emoji{text-align:center;width:28px;font-size:20px}.menu-item .mi-title{font-size:14px;font-weight:700}.menu-item .mi-sub{color:var(--muted);margin-top:1px;font-size:11.5px}.menu-item .mi-arrow{color:var(--muted);margin-left:auto}.stars{cursor:pointer;-webkit-user-select:none;user-select:none;gap:6px;font-size:26px;display:flex}.stars .star{color:#3a3153}.stars .star.on{color:var(--gold)}.review{border-bottom:1px solid #241a3d;padding:12px 0}.review:last-child{border-bottom:none}.review .rv-top{justify-content:space-between;align-items:center;display:flex}.review .rv-name{font-size:13.5px;font-weight:700}.review .rv-stars{color:var(--gold);font-size:12px}.review .rv-comment{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.4}.badge-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.badge{background:var(--panel2);color:var(--muted);border-radius:8px;padding:4px 9px;font-size:10.5px}.status-pill{white-space:nowrap;border-radius:10px;flex:none;padding:4px 10px;font-size:10.5px;font-weight:700}.status-pending{color:var(--gold);background:#e8b64c26}.status-countered{color:var(--accent);background:#7c5cff2e}.status-accepted{color:var(--good);background:#4cd68a26}.status-declined{color:var(--danger);background:#ff6b811f}.status-withdrawn{background:var(--panel2);color:var(--muted)}.upload-box{text-align:center;cursor:pointer;border:2px dashed #3a2f5c;border-radius:16px;margin-bottom:16px;padding:24px}.upload-box input[type=file]{display:none}.upload-box .ub-emoji{margin-bottom:8px;font-size:30px}.upload-box .ub-title{font-size:14px;font-weight:700}.upload-box .ub-sub{color:var(--muted);margin-top:4px;font-size:11.5px}.file-row{background:var(--panel);border:1px solid #2a2140;border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.file-row .fr-name{word-break:break-all;flex:1;font-size:12.5px}.file-row .fr-tag{color:var(--good);background:#4cd68a1f;border-radius:8px;padding:2px 7px;font-size:10px}.event-card{background:var(--panel);cursor:pointer;color:var(--text);border:1px solid #2a2140;border-radius:16px;padding:16px;text-decoration:none;display:block}.event-card .ev-date{color:var(--gold);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.event-card .ev-name{margin:4px 0 6px;font-size:15px;font-weight:800}.event-card .ev-meta{color:var(--muted);font-size:12px}.grid-list{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.empty-note{color:var(--muted);text-align:center;grid-column:1/-1;padding:20px 0;font-size:12px}.center-text{text-align:center}.center-text h2{margin:0 0 8px;font-size:19px}.center-text p{color:var(--muted);font-size:13px;line-height:1.5}.success-icon{width:64px;height:64px;color:var(--good);background:#4cd68a26;border-radius:50%;justify-content:center;align-items:center;margin:20px auto;font-size:30px;display:flex}.error-banner{color:var(--danger);background:#ff6b811f;border:1px solid #5c2534;border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:13px}.spinner{border:4px solid #2a2140;border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;margin:20px auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.nav-left{align-items:center;gap:24px;display:flex}.nav-right{align-items:center;gap:14px;display:flex}.nav-links-public{align-items:center;gap:16px;display:flex}.nav-link-text{color:var(--muted);font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}.nav-link-text:hover{color:var(--text)}.nav-link-subtle{color:var(--gold);margin-right:8px;font-size:12px;font-weight:600;text-decoration:none}.nav-auth-buttons{align-items:center;gap:12px;display:flex}.btn-signout{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px}.btn-signout:hover{color:var(--danger)}.ticket-tier-card{border:1px solid #2a2140;border-radius:14px;margin-bottom:10px;padding:14px;transition:all .15s}.ticket-tier-card:hover:not(.disabled){border-color:var(--gold-dim)}.ticket-tier-card.active{border-color:var(--gold);background:#e8b64c14}.ticket-tier-card.disabled{opacity:.6;cursor:not-allowed}.order-summary-box{background:var(--panel);border:1px solid #2a2140;border-radius:16px;padding:20px}.ticket-pass-card{text-align:left;background:#1e1436;border:2px dashed #433368;border-radius:16px;margin-bottom:14px;padding:18px;position:relative}.tpc-header{border-bottom:1px solid #2d214d;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.tpc-code{color:var(--gold);letter-spacing:1px;font-family:monospace;font-size:14px;font-weight:700}.tpc-body{color:var(--text)}.mock-qr-code{text-align:center;background:#100921;border:1px solid #2d214d;border-radius:10px;flex-direction:column;gap:4px;margin-top:12px;padding:12px;display:flex}.barcode-lines{background:repeating-linear-gradient(90deg, var(--text) 0, var(--text) 3px, transparent 3px, transparent 7px, var(--text) 7px, var(--text) 9px);opacity:.85;height:36px;margin-bottom:6px}.mock-qr-code span{color:var(--muted);letter-spacing:.5px;font-size:10px}.modal-backdrop{z-index:99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.modal-card{background:var(--panel);border:1px solid #362a54;border-radius:20px;width:100%;max-width:680px;padding:20px;box-shadow:0 20px 40px #0009}.modal-card.narrow{max-width:440px}@media (width<=640px){.navbar{flex-wrap:wrap;row-gap:8px;padding:12px 16px}.nav-links-public{display:none}.nav-right{width:100%}.nav-role{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.topbar{padding:16px 16px 4px}.content{padding:12px 16px 48px}.hero{padding:40px 18px 28px}.role-grid{padding:0 16px 32px}}.timeline-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid;position:relative}@media (width<=768px){.timeline-grid{grid-template-columns:repeat(3,1fr);row-gap:16px}}@media (width<=480px){.timeline-grid{grid-template-columns:repeat(2,1fr);row-gap:14px}}.next-action-card{border:1px solid var(--accent);background:linear-gradient(135deg,#7c5cff1f,#241a3df2);border-radius:16px;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px 24px;display:flex}.next-action-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.next-action-role{text-transform:uppercase;letter-spacing:.6px;color:var(--gold);font-size:11px;font-weight:800}.next-action-title{color:var(--text);margin:0;font-size:17px;font-weight:800}.next-action-desc{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.card table{min-width:520px}@media (width<=600px){.content.wide{padding:0 12px 40px}.stat-row{flex-wrap:wrap;gap:10px}.stat-box{flex:120px;min-width:120px}.menu-grid{grid-template-columns:1fr}.next-action-card{padding:16px}.next-action-title{font-size:15px}.next-action-desc{font-size:12.5px}}@media (width<=640px){.modal-card{max-height:90vh;padding:20px 16px;overflow-y:auto}}@media (width<=540px){.cover-banner{height:180px}}
