:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#eaf2ff;background:#070c15;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 95% 0%,#13274050,transparent 35%),#070c15}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}.cyan{color:#6ce4fc}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#8495b1}.brandmark{display:flex;align-items:center;gap:13px;letter-spacing:.18em;font-size:12px;font-weight:900;white-space:nowrap}.brandmark b{color:#66ddfa}.logo{width:39px;height:39px;background:linear-gradient(160deg,#69e0fa,#235cb1);border-radius:11px;color:#081425;display:grid;place-items:center;font-size:23px;font-weight:950;box-shadow:0 4px 28px #20cef450}.workspace{display:flex;min-height:100vh}.rail{width:262px;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:1px solid #1c2b43;background:#0d1422;display:flex;flex-direction:column;padding:27px 18px;gap:7px}.rail .brandmark{padding:0 6px;margin:0 0 55px}.nav-heading{color:#5e7190;font-size:10px;font-weight:900;letter-spacing:.19em;padding:0 14px 11px}.nav{padding:15px 14px;font-size:13px;color:#9facbf;border-radius:12px;display:flex;align-items:center;gap:13px;font-weight:640}.nav:hover,.nav.active{background:#152b3b;color:#74e6f6}.navicon{width:20px;font-size:18px}.rail-space{flex:1}.rail-info{background:#121f30;border:1px solid #23374d;border-radius:14px;padding:15px;font-size:12px;font-weight:700}.rail-info small{display:block;color:#778ba8;margin:8px 0 0;font-weight:400;font-size:11px}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4fe2aa;box-shadow:0 0 12px #4fe2aa;margin-right:6px}.logout{border:none;background:transparent;text-align:left;color:#9baac4;font-size:12px;padding:15px;cursor:pointer}.logout:hover{color:white}.main{min-width:0;width:100%}.topbar{height:78px;border-bottom:1px solid #1c2b43;padding:0 45px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:10px;font-weight:800;letter-spacing:.15em;color:#6f819a}.breadcrumb span{padding:0 12px;color:#38516f}.breadcrumb b{color:#cad6e8}.topbar-right{display:flex;align-items:center;gap:22px}.timestamp{font-size:12px;color:#8292ac}.avatar{background:#1a3349;border:1px solid #3d607c;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:#74dcf6;font-size:11px;font-weight:900}.content{max-width:1450px;margin:auto;padding:46px 45px 24px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 38px}.hero h1,.login-panel h1{font-size:clamp(30px,4vw,53px);letter-spacing:-.058em;line-height:1.09;margin:14px 0 17px;font-weight:760}.hero h1 em,.login-panel h1 em{font-style:normal;background:linear-gradient(100deg,#63dbed,#558cf2);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p,.login-panel p{color:#91a1bb;font-size:13px;line-height:1.75;max-width:550px}.primary{background:linear-gradient(108deg,#76e2f6,#4d96e6);border:0;color:#0b1a2f;border-radius:10px;padding:15px 19px;font-size:12px;font-weight:900;transition:filter .2s}.primary:hover{filter:brightness(1.12)}.add-device{white-space:nowrap;min-height:47px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{padding:22px 24px;min-width:0;border:1px solid #223248;border-radius:15px;background:linear-gradient(145deg,#141f31,#101927);position:relative;overflow:hidden}.metric:before{content:'';position:absolute;right:-30px;top:-60px;width:140px;height:140px;border:1px solid #274055;border-radius:50%}.metric-label{display:flex;justify-content:space-between;gap:10px;color:#8b9bb6;font-size:10px;font-weight:800;letter-spacing:.09em}.metric-label span{color:#54d9f4}.metric strong{display:block;font-size:35px;font-weight:760;letter-spacing:-.06em;margin:12px 0 4px}.metric small{color:#6d7d99;font-size:11px}.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;margin:38px 0 18px;gap:20px}.sectionhead h2{font-size:21px;letter-spacing:-.035em;margin:7px 0 0}.ghost{background:transparent;border:1px solid #30445f;color:#93a4bd;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:700}.ghost:hover,.secondary:hover{border-color:#5a9cc0;color:#eaf5ff}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.device-card{background:#111c2d;border:1px solid #293952;border-radius:16px;padding:22px;min-width:0}.device-head{display:flex;align-items:center;gap:13px}.device-icon{height:49px;width:49px;display:grid;place-items:center;border:1px solid #386078;background:#183548;border-radius:13px;color:#63d8f1;font-size:24px}.device-head h3{font-size:14px;margin:0 0 4px;overflow-wrap:anywhere}.device-head small{color:#7487a5;font-size:11px}.device-status{display:inline-flex;margin:23px 0 19px;padding:6px 10px;border-radius:30px;font-size:10px;border:1px solid #3c624d;color:#70e7ae;background:#173328}.device-status.off{border-color:#3b4660;color:#93a0b8;background:#1a2538}.device-actions{display:flex;gap:9px}.device-actions button{flex:1;min-width:0}.secondary{background:#18273b;color:#b5c8e2;border:1px solid #33465f;padding:11px 13px;border-radius:10px;font-size:11px;font-weight:760}.secondary:disabled{cursor:not-allowed;opacity:.45}.danger{background:transparent;border:1px solid #5d3849;color:#dca5b2;border-radius:10px;padding:11px;font-size:11px}.empty{grid-column:1/-1;border:1px dashed #2e435b;padding:34px;color:#889cba;background:#101927;border-radius:15px;font-size:13px;text-align:center}.viewerhead{margin-top:45px}.pill{border:1px solid #2c695a;border-radius:20px;padding:8px 12px;color:#70e7aa;background:#173327;font-size:10px;font-weight:800}.pill.offline{color:#8393ad;background:#172335;border-color:#334259}.live-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,.7fr);gap:16px}.live-card,.info-panel{border:1px solid #25364d;border-radius:16px;background:#111a29;overflow:hidden}.live-toolbar{border-bottom:1px solid #223247;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;font-size:10px;color:#5be2e5;font-weight:860;letter-spacing:.1em}.live-toolbar span:last-child{font-size:10px;color:#8698b2;font-weight:500;letter-spacing:0}.stage{min-height:440px;display:grid;place-items:center;background:radial-gradient(circle,#18263c 0%,#0b1220 65%);padding:22px}.phone{border:6px solid #25334a;border-radius:31px;position:relative;background:#020509;max-width:100%;overflow:hidden;box-shadow:0 25px 50px #0009;min-width:210px;min-height:370px;display:flex;align-items:center;justify-content:center}.phone-hole{position:absolute;z-index:2;top:8px;width:58px;height:10px;background:#030408;border-radius:20px}canvas{max-height:400px;max-width:100%;height:auto;width:auto;display:block;background:#000}.stage-placeholder{position:absolute;inset:0;background:#0b1321;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;gap:10px}.stage-icon{font-size:52px;color:#355370}.stage-placeholder b{font-size:14px}.stage-placeholder p{max-width:210px;font-size:11px;color:#7e90ac;line-height:1.7}.player-actions{display:flex;flex-wrap:wrap;gap:10px;padding:17px;border-top:1px solid #25364d}.info-panel{padding:25px 24px}.info-title{font-size:10px;color:#80e2e8;font-weight:850;letter-spacing:.1em;margin-bottom:23px}.status-row{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #24334b;font-size:11px}.status-row span{color:#7184a2}.status-row b{font-size:11px;text-align:right}.rule{height:1px;background:#26374a;margin:28px 0}.info-panel h3{font-size:14px}.info-panel p{font-size:11px;line-height:1.8;color:#8a9cb7}.security-tag{margin-top:22px;border:1px solid #345e66;color:#79d6d8;background:#152e36;font-size:10px;padding:12px;border-radius:10px}footer{color:#62728c;font-size:10px;margin-top:50px;letter-spacing:.1em}.overlay{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;backdrop-filter:blur(5px)}.modal{width:min(100%,490px);padding:32px;border:1px solid #2a4c69;background:#101d2d;border-radius:22px;box-shadow:0 30px 90px #000b}.modal-top{display:flex;justify-content:space-between;gap:10px}.modal h2{font-size:25px;margin:10px 0}.modal p,.modal-tip{font-size:12px;line-height:1.75;color:#94a9c6}.modal form{display:flex;flex-direction:column;gap:12px;margin-top:24px}.modal label,.login-panel label{font-size:11px;color:#a4b3c9;font-weight:700}.modal input,.login-panel input{background:#0b1523;border:1px solid #37506d;border-radius:11px;color:white;padding:15px;outline:0}.modal input:focus,.login-panel input:focus{border-color:#61cdea}.close{background:none;border:0;color:#a4b7d0;font-size:28px}.modal-tip{border-top:1px solid #2e4059;margin-top:20px;padding-top:20px}.error{color:#ffacb9}.toast{position:fixed;bottom:24px;right:24px;z-index:100;background:#24405b;border:1px solid #61cdea;color:#e5f6ff;border-radius:12px;padding:13px 18px;font-size:12px;box-shadow:0 8px 50px #0007;display:none}.toast.show{display:block}.login-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-panel{padding:10vh clamp(28px,7vw,115px);display:flex;flex-direction:column;justify-content:center}.login-panel .brandmark{margin-bottom:90px}.login-panel p{max-width:400px}.login-panel form{margin-top:42px;display:flex;flex-direction:column;gap:14px;max-width:400px}.login-panel form button{margin-top:7px}.login-panel .security-foot{margin-top:78px;color:#5e728e;font-size:11px}.login-art{overflow:hidden;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,#16445f,#0a1426 44%,#0c1726 66%,#091222)}.orbit{position:absolute;border:1px solid #2264857a;border-radius:50%;width:70%;aspect-ratio:1}.orbit-one{width:45%;box-shadow:0 0 65px #2dbdec18}.orbit-two{width:78%;border-style:dashed;transform:rotate(-30deg)}.orb-inner{width:220px;height:220px;border-radius:50%;border:1px solid #397b9c;background:linear-gradient(140deg,#275579,#09213b);box-shadow:0 0 100px #2cabcd32,inset 0 0 90px #5fa1c235;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9cf0ff;font-size:100px;font-weight:900;letter-spacing:-.1em;padding-right:22px}.orb-inner span{font-size:12px;letter-spacing:.6em;padding-left:22px}.art-caption{position:absolute;bottom:55px;color:#5680a1;font-size:10px;letter-spacing:.3em}.art-caption span{color:#79e8ef}@media(max-width:1100px){.rail{width:222px}.topbar{padding:0 25px}.content{padding:35px 25px}.live-grid{grid-template-columns:1fr}.info-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.info-title,.info-panel .rule,.info-panel h3,.security-tag{grid-column:1/-1}}@media(max-width:780px){.workspace{display:block}.rail{height:auto;width:100%;position:relative;border-right:0;border-bottom:1px solid #1e3049;display:flex;flex-direction:row;align-items:center;padding:14px;gap:7px;flex-wrap:wrap}.rail .brandmark{margin:0 auto 0 0;padding:0}.nav-heading,.rail-space,.rail-info{display:none}.nav{padding:10px;font-size:0}.navicon{font-size:20px}.logout{font-size:11px;padding:9px}.topbar{height:58px}.content{padding:25px 16px}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:36px}.stats{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric:last-child{grid-column:1/-1}.metric-label{font-size:9px}.metric strong{font-size:28px}.stage{min-height:360px}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh;padding:40px 28px}.login-panel .brandmark{margin-bottom:55px}}@media(max-width:450px){.device-grid{grid-template-columns:1fr}.topbar-right .timestamp{display:none}.sectionhead h2{font-size:18px}.info-panel{display:block}.player-actions button{flex:1 1 100%}}

/* V2.2 — contas e permissões */
.users-panel{margin-top:46px;scroll-margin-top:24px}.users-intro{color:#8799b7;font-size:12px;line-height:1.7;margin:0 0 20px}
.users-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:16px}
.user-box{background:#101b2b;border:1px solid #2a3b55;border-radius:16px;padding:24px;min-width:0}
.user-box h3{font-size:15px;margin:0 0 24px}.user-box p{color:#a6b9d1;font-size:12px}.password-box{max-width:590px}
.settings-form{display:flex;flex-direction:column;gap:11px}.settings-form label{color:#a5b7d2;font-size:11px;font-weight:700}
.settings-form input,.settings-form select,.user-entry select{background:#091422;border:1px solid #354960;border-radius:10px;color:#f0f8ff;padding:12px;min-width:0;max-width:100%;font:inherit;font-size:12px}
.settings-form input:focus,.settings-form select:focus,.user-entry select:focus{outline:2px solid #5ecbe1;outline-offset:1px}
.settings-form button{margin-top:12px}.settings-form small{min-height:14px;color:#91e5c4;font-size:11px}
.users-list{display:flex;flex-direction:column;gap:12px}.user-entry{padding:16px;border-radius:12px;border:1px solid #293e56;background:#0b1422}
.user-entry-head,.user-entry-actions,.user-entry-buttons{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.user-entry-head{margin-bottom:14px}.user-entry-head b{font-size:13px}.user-active,.user-inactive{font-size:11px;color:#77dfb6}
.user-inactive{color:#e4a1a1}.user-entry-actions{justify-content:flex-start;margin-bottom:14px}.user-entry-actions select{flex:1}
.checkbox-label{font-size:11px;color:#adbed5;display:flex;align-items:center;gap:6px}
.user-entry-buttons{justify-content:flex-start}.user-entry-buttons button{font-size:10px;padding:9px 12px}
.user-entry-buttons button:disabled{opacity:.35;cursor:not-allowed}
#account{margin-bottom:18px}
@media(max-width:1050px){.users-layout{grid-template-columns:1fr}}
@media(max-width:540px){.user-box{padding:16px}.user-entry-buttons button{flex:1}}

:root { color: #edf2ff; background: #0c1019; }
body { background: #0c1019; }
.rail { background: #101521; width: 232px; }
.rail .brandmark { margin-bottom: 30px; }
.hero { margin-bottom: 28px; }
.hero h1 { margin: 0 0 10px; }
.hero h1 em, .login-panel h1 em { color: #88ddd5; background: none; }
.logo, .primary { background: #88ddd5; color: #0d2426; box-shadow: none; }
.brandmark b, .nav.active, .nav:hover { color: #88ddd5; }
.metric { background: #151d2b; }
.metric::before { display: none; }
.metric strong { font-variant-numeric: tabular-nums; }
.device-status { margin: 16px 0; }
.device-head small, .metric small, .status-row span { color: #a2b0c8; }
.device-actions { flex-wrap: wrap; }
.device-actions .remove { flex: 0 0 auto; }
.stage { background: #0b111b; min-height: 330px; }
.phone { border: 1px solid #2b364b; border-radius: 12px; min-height: 270px; width: 100%; }
.stage-placeholder p { color: #a0b0ca; }
.toast { max-width: min(440px, calc(100vw - 32px)); }
dialog { background: #151d2b; color: inherit; border: 1px solid #435771; border-radius: 16px; width: min(460px, 92vw); padding: 20px; }
dialog::backdrop { background: #0009; }
dialog .users-list { max-height: 50vh; overflow: auto; }
dialog .checkbox-label { padding: 9px 0; }
:focus-visible { outline: 2px solid #88ddd5; outline-offset: 3px; }
@media (max-width: 780px) {
  .rail { width: 100%; }
  .rail .brandmark { margin: 0 auto 0 0; }
  .stage { min-height: 250px; padding: 12px; }
  .phone { min-height: 220px; }
}

[data-page][hidden] { display: none; }
.device-picker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 24px; }
.device-picker select, .device-picker input { font: inherit; color: inherit; background: #151d2b; border: 1px solid #435771; border-radius: 8px; padding: 10px 12px; min-width: 0; max-width: 100%; }
.device-picker p { flex-basis: 100%; min-height: 1.25em; margin: 0; color: #a2b0c8; }
.device-picker .player-actions { border: 0; padding: 0; }
#callsStatus { color: #a2b0c8; }

#locationMap iframe { display: block; width: 100%; height: min(60vh, 540px); border: 1px solid #435771; border-radius: 12px; margin-top: 16px; }
.sms-entry { padding: 12px 0; border-top: 1px solid #293750; }
.sms-entry:first-of-type { margin-top: 12px; }
.sms-entry p { white-space: pre-wrap; overflow-wrap: anywhere; }
.sms-entry small { color: #a2b0c8; }

/* Portal shell */
:root { --aziru-accent: #73e4c9; --aziru-panel: #141d2c; --aziru-border: #2b3950; }
body { background: #0c121c; }
.logo { background: transparent; object-fit: contain; }
.login-logo { width: min(46%, 280px); z-index: 1; }
.login-art { background: radial-gradient(ellipse at center, #183646, #0c141f 72%); }
.rail { height: 100dvh; min-height: 0; overflow: hidden; gap: 12px; padding: 20px 13px; }
.rail .brandmark { flex-shrink: 0; padding: 3px 7px 14px; margin: 0; touch-action: none; user-select: none; cursor: grab; }
.rail .brand-name { font-size: 18px; letter-spacing: .15em; }
.rail-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #41536a transparent; }
.rail nav { display: grid; gap: 4px; }
.rail .nav { min-height: 43px; }
.rail .logout { flex-shrink: 0; }
.rail-collapsed .rail { width: 66px; padding-inline: 8px; }
.rail-collapsed .rail .brand-name, .rail-collapsed .logout span { display: none; }
.rail-collapsed .nav { font-size: 0; gap: 0; justify-content: center; padding-inline: 4px; }
.topbar { position: sticky; z-index: 20; top: 0; display: flex; justify-content: flex-start; gap: 16px; min-height: 64px; height: auto; padding-block: 10px; background: #101823; }
.topbar-right { margin-inline-start: auto; min-width: 0; gap: 10px; }
.topbar-right label { color: #adbcd0; font-size: 12px; }
.menu-toggle, #globalDevice { border: 1px solid var(--aziru-border); border-radius: 10px; background: var(--aziru-panel); color: inherit; font: inherit; padding: 9px; }
.menu-toggle { flex: 0 0 auto; }
#globalDevice { max-width: min(35vw, 280px); width: 100%; min-width: 0; }
.topbar .avatar { flex-shrink: 0; }
.content { max-width: 1280px; }
.hero h1 em, .login-panel h1 em { color: var(--aziru-accent); }
.primary { background: var(--aziru-accent); }
.selected-device { border-color: #66cbb7; }
.schedule { margin: 12px 0; }
.schedule form { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px; border-radius: 12px; background: var(--aziru-panel); border: 1px solid var(--aziru-border); }
.schedule input { width: 84px; padding: 8px; border-radius: 8px; background: #0e1723; border: 1px solid var(--aziru-border); color: inherit; }
.schedule label, .schedule small { font-size: 12px; color: #adbcd0; }
.notification-card { display: flex; align-items: center; gap: 12px; background: var(--aziru-panel); border: 1px solid var(--aziru-border); border-radius: 15px; padding: 14px; }
.notification-card small, .timeline-point small { display: block; margin-top: 5px; color: #aab9cb; }
.notification-icon { flex: 0 0 38px; height: 38px; display: grid; place-items: center; background: #21443f; color: var(--aziru-accent); border-radius: 12px; font-weight: 800; }
.location-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(200px, 1fr); gap: 14px; margin-top: 14px; }
#locationMap { height: min(60vh, 480px); background: #101b27; border: 1px solid var(--aziru-border); border-radius: 14px; z-index: 0; }
#locationTimeline { max-height: min(60vh, 480px); overflow-y: auto; }
.timeline-point { text-align: left; padding: 12px; border: 1px solid var(--aziru-border); border-radius: 12px; background: var(--aziru-panel); color: inherit; }
#railOverlay, #railEdge { display: none; }
.older-entries { margin-top: 14px; }
@media (max-width: 780px) {
  .topbar { padding-inline: 12px; gap: 8px; }
  .topbar .breadcrumb { display: none; }
  .topbar-right label { font-size: 11px; }
  #globalDevice { max-width: 45vw; }
  .rail, .rail-collapsed .rail { width: min(290px, 85vw); position: fixed; top: 0; bottom: 0; left: 0; z-index: 60; display: flex; flex-direction: column; align-items: stretch; flex-wrap: nowrap; border-right: 1px solid var(--aziru-border); transform: translateX(-105%); }
  .rail-open .rail { transform: translateX(0); }
  .rail-collapsed .rail .brand-name, .rail-collapsed .logout span { display: inline; }
  .rail .nav, .rail-collapsed .nav { font-size: 14px; justify-content: flex-start; gap: 12px; padding: 10px; }
  .rail-open #railOverlay { display: block; position: fixed; inset: 0; z-index: 55; background: #020711aa; }
  .rail-collapsed #railEdge { display: block; position: fixed; left: 0; top: 65px; width: 14px; bottom: 0; z-index: 25; touch-action: pan-y; }
  .location-layout { grid-template-columns: minmax(0, 1fr); }
}

/* Device controls and location */
.live-sidebar { min-width: 0; display: grid; align-content: start; gap: 14px; }
.control-panel, .location-panel { min-width: 0; background: var(--aziru-panel); border: 1px solid var(--aziru-border); border-radius: 14px; padding: 16px; }
.control-panel[hidden] { display: none; }
.control-panel h3, .location-panel h2 { margin: 0 0 12px; font-size: 16px; }
.control-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.control-buttons + .control-buttons { margin-top: 8px; }
.control-buttons .danger { border: 1px solid #87525a; border-radius: 10px; padding: 10px; background: #472c37; color: #ffcad0; }
.control-buttons button:disabled { opacity: .45; cursor: not-allowed; }
#requestStatus, .location-heading p, .location-panel > p, #locationStatus { color: #b1bfd0; font-size: 13px; }
#requestStatus:empty { display: none; }
#requestStatus { margin: 12px 0 0; }
.location-heading { margin-top: 0; align-items: center; }
.location-heading h1 { margin: 0; }
.location-heading p { margin: 5px 0 0; }
.location-panel:has(#locationMap) { position: relative; }
.location-tools, .location-section-title, .zone-row, .zone-coordinates { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.location-tools { margin-bottom: 12px; }
.location-tools label, .timeline-range { color: #bfcbd9; font-size: 12px; }
.location-tools input { accent-color: var(--aziru-accent); }
#locationMap { background-color: #152234; background-image: linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px); background-size: 26px 26px; }
.map-hint { position: absolute; z-index: 1; left: 50%; bottom: 18px; transform: translateX(-50%); width: max-content; max-width: 78%; padding: 8px 12px; border-radius: 8px; background: #0d1624; pointer-events: none; }
.timeline-range { display: grid; gap: 5px; margin-bottom: 10px; }
.timeline-range select { color: inherit; background: #131b2a; border: 1px solid var(--aziru-border); border-radius: 8px; padding: 7px; }
#locationTimeline { max-height: min(44vh, 420px); }
.timeline-point[aria-pressed=true] { border-color: var(--aziru-accent); }
.location-settings { margin-top: 14px; }
.location-settings summary { cursor: pointer; }
.location-section-title { justify-content: space-between; }
.location-section-title h2 { margin: 0; }
.zone-row > .timeline-point { flex: 1 1 165px; overflow-wrap: anywhere; }
.zone-coordinates > label { flex: 1 1 100px; min-width: 0; }
.zone-coordinates input { display: block; width: 100%; margin-top: 5px; }
#zoneStatus:empty { display: none; }
.rail-scroll, .rail .brandmark, .menu-toggle { touch-action: pan-y; }
.rail a, .rail .brandmark, #railOverlay, #railEdge { user-select: none; }
.rail { transition: width .18s ease, transform .18s ease; }
.rail-dragging .rail { transition: none; width: calc(66px + 196px * var(--rail-progress, 0)); }
@media (min-width: 781px) and (max-width: 1100px) { .rail-dragging .rail { width: calc(66px + 156px * var(--rail-progress, 0)); } }
@media (max-width: 780px) {
  .rail, .rail-collapsed .rail, .rail-dragging .rail { width: min(290px, 85vw); }
  .rail-dragging .rail { transform: translateX(calc(-100% + 100% * var(--rail-progress, 0))); }
  .rail-dragging #railOverlay { display: block; position: fixed; inset: 0; z-index: 55; background: rgb(2 7 17 / calc(.67 * var(--rail-progress, 0))); }
  #railOverlay { touch-action: pan-y; }
  .live-sidebar { grid-row: 1; }
  .location-layout { grid-template-columns: minmax(0, 1fr); }
  #locationMap { height: min(50vh, 400px); }
}
@media (prefers-reduced-motion: reduce) { .rail { transition: none; } }
