:root{color:#f7f8fb;background:#090b10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page-shell,.admin-shell,.auth-shell{min-height:100vh;padding:28px}.page-shell,.admin-shell{background:linear-gradient(135deg,rgba(0,168,143,.16),transparent 34%),radial-gradient(circle at 90% 10%,rgba(255,180,84,.18),transparent 28%),#090b10}.auth-shell{display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,107,107,.12),transparent 38%),#090b10}.hero-band,.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;width:min(1180px,100%);margin:0 auto 24px}.hero-band h1,.admin-header h1,.auth-card h1{margin:0;font-size:clamp(2rem,6vw,5rem);line-height:.95;letter-spacing:0}.lede{max-width:620px;color:#ffffffb3;font-size:1.1rem}.eyebrow{margin:0 0 8px;color:#00d6b7;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.admin-link,.ghost-btn,.google-btn,.primary-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 14px;color:#f8fafc;text-decoration:none;cursor:pointer}.admin-link,.ghost-btn,.google-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.primary-btn{background:#00a88f;color:#06110f;font-weight:900}.primary-btn:disabled,.ghost-btn:disabled{cursor:progress;opacity:.65}.player-grid,.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;width:min(1180px,100%);margin:0 auto}.now-playing,.song-list,.panel,.auth-card{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#13161df0;box-shadow:0 20px 60px #00000047}.now-playing{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;padding:20px}.cover-art{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#00a88f,#20242d 52%,#07080b),#111827}.cover-art img{width:100%;height:100%;object-fit:cover}.cover-art span{color:#050807;font-size:7rem;font-weight:1000}.track-copy h2{margin:0;font-size:clamp(2rem,5vw,4.8rem);line-height:.95;letter-spacing:0}.track-copy p:not(.eyebrow){color:#ffffffad}audio{grid-column:1 / -1;width:100%}.song-list,.panel,.auth-card{padding:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2,.panel h2{margin:0}.song-row,.admin-song{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:8px;margin-bottom:8px;padding:12px;color:#fff;text-align:left;background:#ffffff0e}.song-row.active{background:#00a88f2e}.song-row span:first-child,.admin-song div{display:grid;gap:3px}small,.muted{color:#ffffff94}.play-dot{width:12px;height:12px;flex:0 0 auto;border-radius:50%;background:#ffb454}.admin-grid{align-items:start}.panel label,.auth-card label{display:grid;gap:7px;margin-bottom:12px;color:#ffffffbd;font-size:.92rem;font-weight:700}.panel input,.panel select,.panel textarea,.auth-card input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:11px 12px;color:#fff;background:#080a0ec7}.check-row{grid-template-columns:auto 1fr;align-items:center}.check-row input{width:18px;height:18px}.lyrics-editor{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin:0 0 14px;padding:12px}.lyrics-editor legend{font-weight:800}.lyric-row{display:grid;grid-template-columns:110px minmax(0,1fr) 38px;align-items:end;gap:8px}.lyric-row label{margin-bottom:8px}.compact-btn,.icon-btn{min-height:36px;padding:7px 10px}.icon-btn{border:1px solid rgba(255,255,255,.12);border-radius:8px;margin-bottom:8px;color:#fff;background:#ffffff0f;cursor:pointer}.auth-card{width:min(440px,100%)}.google-btn{width:100%;margin-top:10px}.error{color:#ff8f8f}.success{color:#00d6b7}@media(max-width:900px){.page-shell,.admin-shell,.auth-shell{padding:16px}.hero-band,.admin-header{flex-direction:column}.player-grid,.admin-grid,.now-playing{grid-template-columns:1fr}}@media(max-width:520px){.lyric-row{grid-template-columns:96px minmax(0,1fr) 36px}}.admin-workspace{min-height:100vh;background:#0b0d12;color:#f6f7f9}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:10;display:flex;width:236px;flex-direction:column;border-right:1px solid #242832;padding:22px 14px 16px;background:#11141a}.admin-brand{display:flex;min-height:54px;align-items:center;gap:11px;padding:0 8px 16px}.admin-brand div{display:grid;gap:2px}.admin-brand small{font-size:.72rem}.brand-mark,.job-icon,.library-cover{display:grid;flex:0 0 auto;place-items:center;color:#6de1c5;background:#18342f}.brand-mark{width:38px;height:38px;border-radius:8px}.admin-nav{display:grid;gap:4px;margin-top:18px}.admin-nav button,.sidebar-logout{display:flex;width:100%;min-height:44px;align-items:center;gap:11px;border:0;border-radius:7px;padding:0 12px;color:#aeb4bf;background:transparent;cursor:pointer}.admin-nav button:hover,.sidebar-logout:hover{color:#fff;background:#1b1f27}.admin-nav button.active{color:#8cf0d7;background:#18342f}.sidebar-logout{margin-top:auto}.admin-main{min-height:100vh;margin-left:236px;padding:28px 34px 48px}.admin-topbar{display:flex;width:min(1240px,100%);min-height:70px;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 auto 26px}.admin-topbar h1{margin:0;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.1;letter-spacing:0}.admin-topbar .primary-btn,.submit-release,.ghost-btn{gap:8px}.metric-grid,.admin-panel,.upload-panel,.notice{width:min(1240px,100%);margin-right:auto;margin-left:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{display:grid;min-height:132px;grid-template-columns:1fr auto;align-content:space-between;gap:8px;border:1px solid #272b35;border-radius:8px;padding:17px;background:#14171d}.metric svg{color:#6de1c5}.metric:nth-child(2) svg{color:#ffbf69}.metric:nth-child(3) svg{color:#7fc9ff}.metric:nth-child(4) svg{color:#ff839c}.metric span{grid-column:1 / -1;align-self:end;color:#9ba2ae;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric strong{grid-column:1 / -1;font-size:2rem;line-height:1}.admin-panel,.upload-panel{border:1px solid #272b35;border-radius:8px;background:#14171d}.admin-panel{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2,.form-section h2{margin:0;font-size:1.14rem}.panel-heading>span:not(.status-chip){color:#8f96a1;font-size:.82rem}.empty-state{min-height:92px;margin:0;padding:34px 12px;color:#848b96;text-align:center}.job-row{display:grid;grid-template-columns:44px minmax(0,1fr) 48px;align-items:center;gap:13px;border-top:1px solid #252932;padding:14px 2px}.job-row:first-of-type{border-top:0}.job-icon,.library-cover{width:44px;height:44px;border-radius:7px}.job-detail{display:grid;min-width:0;gap:5px}.job-detail small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}progress{width:100%;height:5px;overflow:hidden;border:0;border-radius:5px;background:#292e38;color:#56d9b9}progress::-webkit-progress-bar{background:#292e38}progress::-webkit-progress-value{border-radius:5px;background:#56d9b9;transition:width .3s ease}progress::-moz-progress-bar{background:#56d9b9}.upload-panel{overflow:hidden}.form-section{display:grid;grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:30px;border-bottom:1px solid #272b35;padding:26px}.section-copy p:last-child{max-width:270px;margin:8px 0 0;color:#8f96a1;font-size:.84rem;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1 / -1}.form-section label,.schedule-field{display:grid;min-width:0;gap:7px;color:#c5cad2;font-size:.82rem;font-weight:700}.form-section input,.form-section textarea{width:100%;min-height:43px;border:1px solid #303540;border-radius:7px;outline:0;padding:10px 12px;color:#f7f8fa;background:#0e1116}.form-section textarea{resize:vertical}.form-section input:focus,.form-section textarea:focus{border-color:#51cdb0;box-shadow:0 0 0 3px #51cdb01c}.media-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:12px}.file-drop{min-height:160px;align-content:center;justify-items:center;border:1px dashed #3d4552;border-radius:8px;padding:20px;color:#cbd0d7;text-align:center;background:#0f1217;cursor:pointer}.file-drop:hover,.file-drop.selected{border-color:#58d5b7;background:#111d1b}.file-drop input{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;opacity:0}.file-drop svg{margin-bottom:6px;color:#68dfc3}.file-drop strong,.file-drop small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lyrics-list{min-width:0}.lyric-row.advanced{grid-template-columns:112px minmax(0,1fr) 40px;margin-bottom:8px}.lyric-row.advanced .icon-btn{display:grid;width:40px;height:43px;min-height:43px;place-items:center;margin:0;padding:0}.mode-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:500px;border:1px solid #303540;border-radius:8px;padding:3px;background:#0e1116}.mode-control button{min-height:38px;border:0;border-radius:6px;color:#9097a2;text-transform:capitalize;background:transparent;cursor:pointer}.mode-control button.active{color:#0c1614;font-weight:800;background:#6de1c5}.schedule-field{max-width:500px;margin-top:14px}.upload-actions{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;background:#11141a}.upload-actions>div,.upload-meter{min-width:0;flex:1}.upload-meter span{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:.82rem}.upload-actions p{margin:0}.submit-release{flex:0 0 auto}.processing-panel{margin-top:16px}.job-row.large{padding-bottom:2px}.status-chip{display:inline-flex;min-height:25px;align-items:center;border-radius:5px;padding:4px 8px;color:#b9c0ca;font-size:.68rem;font-weight:850;background:#292e38}.status-chip[data-status=READY]{color:#86e8d0;background:#18342f}.status-chip[data-status=FAILED]{color:#ff9dad;background:#3b1c25}.library-panel{overflow:hidden;padding-bottom:8px}.library-row{display:grid;grid-template-columns:44px minmax(180px,1.5fr) minmax(120px,.8fr) minmax(150px,.8fr) 100px;align-items:center;gap:14px;border-top:1px solid #252932;padding:13px 2px}.library-title,.publication-copy{display:grid;min-width:0;gap:3px}.library-title strong,.library-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-state{display:grid;justify-items:start;gap:7px}.library-state progress{min-width:110px}.publication-copy span{color:#c3c8d0;font-size:.76rem}.notice{border:1px solid #5a2530;border-radius:7px;margin-top:-8px;margin-bottom:18px;padding:11px 13px;background:#25151a}@media(max-width:1040px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{grid-template-columns:1fr;gap:18px}.section-copy p:last-child{max-width:620px}.library-row{grid-template-columns:44px minmax(160px,1.5fr) minmax(120px,.8fr) 92px}.publication-copy{display:none}}@media(max-width:760px){.admin-sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px 12px}.admin-brand{display:none}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.admin-nav button{justify-content:center;padding:0 8px}.sidebar-logout{position:absolute;top:10px;right:12px;display:none;width:42px}.admin-main{margin-left:0;padding:22px 16px 38px}.media-fields,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.library-row{grid-template-columns:44px minmax(0,1fr) 92px}.library-state{display:none}}@media(max-width:520px){.admin-topbar{align-items:center}.admin-topbar .primary-btn{min-width:42px;padding:10px;font-size:0}.metric-grid{gap:8px}.metric{min-height:116px;padding:14px}.form-section,.upload-actions,.admin-panel{padding-right:15px;padding-left:15px}.lyric-row.advanced{grid-template-columns:90px minmax(0,1fr) 40px}.mode-control{grid-template-columns:1fr}.upload-actions{align-items:stretch;flex-direction:column}.submit-release{width:100%}.admin-nav button span{font-size:.72rem}.library-row{grid-template-columns:40px minmax(0,1fr) 82px;gap:9px}.library-cover{width:40px;height:40px}}
