:root{color-scheme:dark;--bg:#08111f;--panel:#101c2f;--panel2:#14243b;--text:#eef5ff;--muted:#91a3bb;--accent:#25d7a1;--hot:#ff5d73;--warn:#f7c948;--line:#263852}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#173456,#08111f 42%);color:var(--text);padding-bottom:92px}
button,.button,.file-btn{border:0;border-radius:12px;background:var(--accent);color:#041017;font-weight:800;padding:12px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.secondary{background:var(--panel2);color:var(--text)}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#07101d;color:var(--text);padding:13px 14px;font-size:15px}textarea{resize:vertical;min-height:160px;line-height:1.45}label{display:grid;gap:8px;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid var(--line);background:rgba(8,17,31,.76);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--warn));color:#06111d;font-weight:900}
nav{display:grid;gap:10px}.nav{background:transparent;color:var(--muted);justify-content:flex-start}.link-nav{text-decoration:none;border-radius:12px;padding:12px 16px;font-weight:800}.nav.active,.nav:hover,.link-nav:hover{background:var(--panel2);color:var(--text)}
main{padding:26px;min-width:0}.screen{display:none;animation:fade .18s ease}.screen.active{display:block}@keyframes fade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.hero{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:stretch;margin-bottom:22px}.hero>div,.panel,.trip-panel{background:rgba(16,28,47,.82);border:1px solid var(--line);border-radius:18px;padding:22px}.hero h1{font-size:clamp(32px,5vw,62px);line-height:1;margin:8px 0 12px;max-width:850px}.hero p{color:var(--muted);font-size:18px}.eyebrow{color:var(--accent)!important;text-transform:uppercase;font-size:12px!important;letter-spacing:.12em;font-weight:900}.speed-card{display:grid;align-content:center;gap:10px}.speed-card strong{font-size:54px;color:var(--warn)}
.grid,.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel h2{margin:0 0 8px}.panel p,.muted{color:var(--muted)}.toolbar,.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.file-btn input{display:none}.tabs,.chips{display:flex;gap:10px;overflow:auto;margin:14px 0}.tabs button,.chips button{background:var(--panel2);color:var(--text);white-space:nowrap}.tabs .active{background:var(--accent);color:#041017}
.big-number{font-size:38px!important;font-weight:900;color:var(--accent)!important;margin:0}.success{border-color:var(--accent)}.alert{padding:12px;border-radius:12px;background:rgba(255,93,115,.15);border:1px solid var(--hot);color:var(--text)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid button{align-self:end}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase}
.track-list{display:grid;gap:10px}.track{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;background:rgba(16,28,47,.72);border:1px solid var(--line);border-radius:14px;padding:10px}.track img{width:52px;height:52px;border-radius:10px;background:#0b1626}.track strong{display:block}.track span{color:var(--muted);font-size:13px}.track .origin{color:var(--accent)}.ai-box{display:grid;grid-template-columns:1fr auto;gap:10px;margin:16px 0 8px}
.drive-import{margin:14px 0}.drive-import h2{margin:0 0 6px}.drive-import p{margin:0 0 12px;color:var(--muted)}.drive-row{display:grid;grid-template-columns:1fr auto;gap:10px}.drive-import small{display:block;margin-top:10px;color:var(--muted)}
.storage-explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.storage-explain div{background:#07101d;border:1px solid var(--line);border-radius:14px;padding:14px}.storage-explain strong{display:block;margin-bottom:6px}.storage-explain span{color:var(--muted)}.drive-actions{display:flex;gap:12px;align-items:center;margin-top:14px}.admin-settings{grid-template-columns:2fr 3fr 1fr auto}
.inline-actions{display:flex;gap:8px;align-items:center}.inline-actions form{margin:0}.inline-actions button{padding:8px 10px}.drive-folder-list small{color:var(--muted)}.processor-results td{white-space:normal;min-width:150px}.processor-results td:nth-child(2){min-width:260px}
.trip-layout{display:grid;grid-template-columns:390px 1fr;gap:16px;min-height:calc(100vh - 150px)}#map{min-height:640px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#0c1727}.trip-panel{display:grid;align-content:start;gap:12px}.dashboard{display:grid;grid-template-columns:1fr;gap:10px}.dashboard div{background:#07101d;border:1px solid var(--line);border-radius:14px;padding:14px}.dashboard span{display:block;color:var(--muted);font-size:12px}.dashboard strong{font-size:26px}.danger{color:var(--hot)!important}
.mini-player{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:12px 18px;background:rgba(6,13,24,.94);border-top:1px solid var(--line);backdrop-filter:blur(20px)}.mini-player img{width:56px;height:56px;border-radius:14px}.now{display:grid;gap:4px}.now span{color:var(--muted);font-size:13px}.now input{padding:0}.controls{display:flex;gap:8px}.controls button{padding:10px 12px;background:var(--panel2);color:var(--text)}
.map-pin{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#08111f;border:2px solid #25d7a1;box-shadow:0 4px 16px rgba(0,0,0,.35)}
@media(max-width:900px){body{padding-bottom:116px}.app-shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:1001;padding:8px;border-right:0;border-top:1px solid var(--line)}.brand{display:none}nav{grid-template-columns:repeat(5,1fr);gap:4px}.nav{font-size:12px;justify-content:center;padding:10px 6px}main{padding:16px 14px 136px}.hero,.grid,.settings-grid,.trip-layout,.storage-explain{grid-template-columns:1fr}.hero h1{font-size:34px}.speed-card strong{font-size:42px}#map{min-height:420px}.mini-player{bottom:58px;grid-template-columns:48px 1fr;grid-template-areas:"img now" "controls controls"}.mini-player img{grid-area:img;width:46px;height:46px}.now{grid-area:now}.controls{grid-area:controls}.controls button{flex:1}.toolbar{align-items:stretch;flex-direction:column}.drive-row,.admin-settings{grid-template-columns:1fr}.drive-actions{align-items:stretch;flex-direction:column}}
.login-page{padding-bottom:0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);display:grid;gap:14px;background:rgba(16,28,47,.9);border:1px solid var(--line);border-radius:18px;padding:26px}.login-brand{margin:0}.login-card h1{margin:0}.login-card p,.login-card small{color:var(--muted)}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}.link-nav{font-size:12px;text-align:center;padding:10px 6px}.sidebar nav{grid-template-columns:repeat(4,1fr)}}
.track-actions{display:flex;gap:7px;align-items:center}.track-actions button{padding:9px 11px}.secondary-action{background:var(--panel2);color:var(--text);min-width:40px}.ai-summary{margin:10px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#07101d;color:var(--muted)}.ai-result-title{font-size:18px;font-weight:900;margin:4px 0 12px;color:var(--accent)}.duplicate-group{display:flex;align-items:center;justify-content:space-between;gap:12px}.duplicate-group h3{margin:0}.status-badge{display:inline-flex;width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:#07101d;color:var(--muted);font-size:12px;font-weight:800}.status-badge.ok{border-color:var(--accent);color:var(--accent)}.status-badge.waiting{border-color:var(--warn);color:var(--warn)}.status-badge.error{border-color:var(--hot);color:var(--hot)}.diagnostics-panel{grid-column:1/-1}.settings-grid small{display:block;margin-top:10px}button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:680px){.track{grid-template-columns:44px 1fr}.track img{width:44px;height:44px}.track-actions{grid-column:1/-1}.track-actions button:first-child{flex:1}.duplicate-group{align-items:stretch;flex-direction:column}}

/* MusicRoad AI v7.1 */
.device-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hidden-folder-input{display:none}.device-status{margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#07101d;color:var(--muted);font-size:13px;font-weight:700}.device-status.ok{border-color:var(--accent);color:var(--accent)}.device-status.waiting{border-color:var(--warn);color:var(--warn)}.device-status.error{border-color:var(--hot);color:var(--hot)}
@media(max-width:900px){.device-actions{width:100%}.device-actions button,.device-actions .button{flex:1 1 100%}}

/* App Android wrapper */
html.native-app .pwa-install-panel{display:none}
html.native-app body{overscroll-behavior:none}

.native-account-panel{display:none}.native-account-actions{display:flex;gap:10px;flex-wrap:wrap}
html.native-app .native-account-panel{display:block}
@media(max-width:900px){html.native-app .sidebar .link-nav{display:none}html.native-app .sidebar nav{grid-template-columns:repeat(5,1fr)}html.native-app .native-account-actions{display:grid;grid-template-columns:1fr}}

.native-only{display:none!important}html.native-app .native-only{display:inline-flex!important}

.music-search-row{margin:0 0 14px}.music-search-row input{max-width:720px}.load-more-tracks{margin:8px auto;min-width:220px}
