/* Matches Android's Mediora Sky palette (ui/theme/Color.kt). */
:root {
  font-family: Roboto,"Segoe UI",system-ui,-apple-system,sans-serif;
  color-scheme:dark; color:#e5e9f0; background:#060912;
  --surface:#0a0f1b; --panel:#131927; --high:#1c2333; --border:#3a4454;
  --muted:#b8c2d1; --accent:#7dc8ff; --ink:#003355; --danger:#ffb4ab;
}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}[hidden]{display:none!important}
.page{max-width:1120px;margin:auto;padding:0 32px}
header{min-height:96px;padding:22px 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:26px;font-weight:700}
.mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #7dc8ff70;border-radius:15px;background:var(--high)}.mark img{width:30px;height:30px}
.tag{padding:5px 10px;border-radius:8px;background:var(--high);font-size:12px;font-weight:600;color:var(--accent)}
.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.header-actions select{width:auto;min-height:44px;font-size:13px}
.intro{padding:40px 0 28px}.eyebrow{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:1.3px;color:var(--accent)}
h1{margin:0 0 14px;font-size:clamp(28px,3.3vw,38px);line-height:1.2;letter-spacing:-.8px;font-weight:700;white-space:pre-line}
h2{margin:0 0 16px;font-size:22px;line-height:1.35;font-weight:650}h3{margin:0 0 8px;font-size:16px;line-height:1.4}
.lead{margin:0 0 24px;max-width:620px;color:var(--muted);font-size:15px;line-height:1.65}
.steps{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px}.steps>span{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-radius:12px}.steps b{color:var(--accent);font-size:12px}.steps i{align-self:center;color:var(--muted);font-style:normal}
.card{min-width:0;padding:24px;background:var(--panel);border-radius:24px}
.card-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}.card-heading>div{min-width:0}.card-heading h2{margin-bottom:10px}
.section-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;color:var(--accent);background:var(--high);border-radius:14px}
.ui-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
.login-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.login-card p:not(.eyebrow){max-width:500px;margin-bottom:0;color:var(--muted);line-height:1.65;font-size:14px}#google-button{flex-shrink:0;max-width:100%}
/* GIS uses a transparent, light-only iframe. Match its scheme to avoid a white canvas. */
#google-button{color-scheme:light}
.beta-info,.support{margin:18px 0}.beta-info p,.support p{color:var(--muted);font-size:14px;line-height:1.7}.beta-info h2{color:var(--accent);font-size:18px}
.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:12px 18px;border-radius:14px;color:var(--ink);background:var(--accent);font-size:14px;font-weight:650;text-decoration:none;overflow-wrap:anywhere}.button-link.quiet{background:transparent;color:var(--accent)}
.guide summary:after{content:'⌄';margin-left:auto;padding-left:12px}.guide[open] summary:after{content:'⌃'}.help{margin-top:18px}.help>p{margin-top:12px}footer a{color:inherit;margin-right:16px;line-height:1.6}
label{display:block;margin:18px 0 8px;font-size:13px;font-weight:600}
select,textarea{width:100%;min-width:0;padding:13px 14px;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:14px}
textarea{resize:vertical;min-height:140px;font-size:14px;line-height:1.6}textarea::placeholder{color:var(--muted)}
select:focus,textarea:focus,button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button{min-height:44px;max-width:100%;padding:12px 18px;border:0;border-radius:14px;color:var(--ink);background:var(--accent);font-size:14px;font-weight:650;overflow-wrap:anywhere}
button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.08)}
.quiet{background:transparent;border:1px solid var(--border);color:var(--accent);font-size:13px;font-weight:600}#send{width:100%;margin-top:18px;min-height:48px}
.hint,.note{color:var(--muted);font-size:13px;line-height:1.65}.hint{margin:10px 0 18px}.note{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--border)}.divider{height:1px;margin:24px 0;background:var(--border)}
.device-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}.device-name{flex:1;min-width:0;font-weight:600;font-size:14px;overflow-wrap:anywhere}.device-name:before{content:'▯';color:var(--accent);margin-right:10px}
.queue{margin-top:18px}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}
.guide{margin-bottom:18px;line-height:1.65}.guide summary{cursor:pointer;font-weight:650;color:var(--accent);min-height:44px;display:flex;align-items:center}.guide ol{padding-left:24px;margin-bottom:0}.guide li{padding:10px 0;color:var(--muted)}.guide h3{color:var(--accent)}.guide p{margin:0;font-size:14px}
.queue-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.queue-filters>div{flex:1 1 180px;min-width:0}.queue-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.queue-actions span{color:var(--muted);font-size:13px}
.job-select{display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;margin:0;cursor:pointer}.job-select input{width:20px;height:20px;margin:0;accent-color:var(--accent);cursor:pointer}
.job{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--border)}.job-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:var(--high);color:var(--accent);font-size:20px}
.job-content{flex:1 1 140px;min-width:0}.job-link{display:block;color:inherit;font-size:14px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-link:hover{text-decoration:underline}.job-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;color:var(--muted);font-size:12px}
.status{padding:4px 8px;border-radius:7px;background:var(--high);color:var(--accent);font-size:11px}.status.failed,.status.cancelled,.danger{color:var(--danger)}
.empty{margin:0;padding:20px 0;color:var(--muted);font-size:14px;line-height:1.65}.account{margin:24px 0;color:var(--muted);font-size:13px;line-height:1.7}.account summary{cursor:pointer;display:inline-block;padding:8px 0}
#message{padding:14px 18px;border-radius:14px;background:#004c7a;color:#c5e5ff;font-size:14px;line-height:1.6}#message.error{background:#382124;color:var(--danger)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;padding:22px 0 32px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}
@media(max-width:720px){.page{padding:0 16px}header{min-height:80px;padding:16px 0;gap:12px}.brand{font-size:23px;gap:9px}.mark{width:40px;height:40px;border-radius:12px}.mark img{width:26px;height:26px}.header-actions{gap:8px}.intro{padding:28px 0 24px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.card{padding:20px;border-radius:20px}.login-card{align-items:flex-start;flex-direction:column}.steps{gap:8px}.steps i{display:none}.job{gap:10px}}
@media(prefers-reduced-motion:no-preference){button{transition:filter .15s,opacity .15s}}
:root[data-theme="light"]{color-scheme:light;color:#181c22;background:#f9fbff;--surface:#f9fbff;--panel:#e9eef6;--high:#dde3ec;--border:#c6cdd6;--muted:#42474e;--accent:#00689f;--ink:#fff;--danger:#ba1a1a}
:root[data-theme="light"] .mark{background:#00689f;border-color:#00689f}
:root[data-theme="light"] #message{background:#c5e5ff;color:#001e31}
:root[data-theme="light"] #message.error{background:#ffdad6}

.login-actions{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;max-width:100%}
