:root { color-scheme: dark; --uc-surface:#111827; --uc-border:#334155; --uc-muted:#b5c3d7; --uc-accent:#b6f35b; }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--uc-accent); outline-offset: 3px; }
[hidden] { display: none !important; }
.admin-page { font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
.admin-shell { max-width: 1440px; width:100%; min-width:0; box-sizing:border-box; margin-inline:auto; display:block; }
.admin-shell > * { min-width:0; max-width:100%; box-sizing:border-box; }
.admin-topbar { display:flex; }
.admin-workspace { grid-template-columns:220px minmax(0,1fr); align-items:start; gap:24px; }
.admin-workspace > .recovery-panel { grid-column:2; grid-row:1; margin:0; }
.admin-workspace > .admin-building-search { grid-column:1; grid-row:1; }
.admin-workspace > .admin-locations { grid-column:1; grid-row:2 / span 5; position:sticky; top:20px; }
.admin-workspace > #videoDock { grid-column:2; grid-row:2; }
.admin-workspace > #hotspotEditor { grid-column:2; grid-row:3; }
.admin-workspace > #salesGuideAdmin { grid-column:2; grid-row:4; }
.admin-workspace > #cityBuilderAdmin { grid-column:2; grid-row:5; }
.admin-workspace > #guestPermissionAdmin { grid-column:2; grid-row:6; }
body.builder-is-open .recovery-panel, body.builder-is-open .admin-building-search { display:none; }
.admin-topbar { gap:20px; }
.admin-topbar h1 { font-size:clamp(24px, 3vw, 36px); letter-spacing:-.035em; }
.admin-signin-panel { max-width:460px; padding:36px; border:1px solid var(--uc-border); background:var(--uc-surface); border-radius:20px; }
.admin-signin-note { color:var(--uc-muted); line-height:1.6; }
.admin-signin-form { gap:12px; }
.admin-signin-form input { font-size:16px; min-height:48px; }
.admin-signin-form .password-toggle { color:var(--uc-muted); background:transparent; border:0; padding:4px; min-height:32px; justify-self:start; font-size:13px; }
.recovery-panel { grid-column:1/-1; padding:24px; margin-bottom:24px; border:1px solid var(--uc-border); border-radius:16px; background:var(--uc-surface); }
.recovery-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.recovery-heading h2 { margin:0 0 8px; font-size:20px; letter-spacing:-.02em; }
.recovery-heading p { margin:0; color:var(--uc-muted); line-height:1.5; max-width:760px; font-size:14px; overflow-wrap:anywhere; }
#storageIndicator { flex-shrink:0; color:var(--uc-accent); font-size:12px; font-weight:700; padding-block:5px; }
.has-pending { border-color:#dca64a; }
.has-pending #storageIndicator { color:#ffd089; }
.recovery-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.recovery-actions button, .recovery-import { display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; min-height:44px; border:1px solid #49576a; background:#202c3f; color:#f6f8fc; border-radius:9px; font-size:13px; font-weight:650; cursor:pointer; }
.recovery-actions button:disabled { opacity:.45; cursor:default; }
.recovery-import { position:relative; overflow:hidden; }
.recovery-import input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.recovery-import:focus-within { outline:3px solid var(--uc-accent); outline-offset:3px; }
.recovery-note { margin:16px 0 0; font-size:12px; line-height:1.5; color:var(--uc-muted); }
.admin-building-search, .destination-search { width:100%; min-height:44px; border:1px solid #3d5366; background:#0d1927; color:#fff; border-radius:9px; padding:10px 14px; font-size:16px; box-sizing:border-box; }
.admin-building-search { grid-column:1/-1; margin-bottom:14px; }
.destination-search { margin:0 0 12px; min-height:40px; font-size:14px; flex-shrink:0; }
.destination-empty { font-size:13px; line-height:1.5; color:#e0e9ed; padding:12px; }
.signal-guide.is-collapsed .destination-search, .signal-guide.is-collapsed .destination-empty { display:none; }
.signal-guide-list button { min-height:44px; }
.admin-locations { scrollbar-width:thin; }
.admin-location { min-height:44px; }
.admin-panel input, .admin-panel textarea, .admin-panel select { font-size:16px; }
@media (max-width:760px) {
  .admin-workspace { display:flex; flex-direction:column; gap:18px; width:100%; min-width:0; }
  .admin-workspace > * { width:100%; min-width:0; box-sizing:border-box; }
  .admin-workspace > .recovery-panel { order:0; }
  .admin-workspace > .admin-building-search { order:1; margin:0; }
  .admin-workspace > .admin-locations { order:2; position:static; }
  .admin-workspace > #videoDock { order:3; }
  .admin-workspace > #hotspotEditor { order:4; }
  .admin-workspace > #salesGuideAdmin { order:5; }
  .admin-workspace > #cityBuilderAdmin { order:6; }
  .admin-workspace > #guestPermissionAdmin { order:7; }
  .admin-shell { padding:16px; }
  .admin-topbar { flex-wrap:wrap; gap:12px; padding-bottom:20px; }
  .admin-topbar-actions { margin-left:auto; }
  .admin-signin-panel { padding:24px; margin-top:16px; }
  .recovery-panel { padding:18px; }
  .recovery-heading { flex-direction:column; gap:8px; }
  .recovery-actions { display:grid; grid-template-columns:1fr 1fr; }
  .recovery-actions button, .recovery-import { min-height:48px; padding:10px; }
  .admin-locations { display:flex; flex-wrap:nowrap; overflow-x:auto; padding-bottom:12px; }
  .admin-location { flex:0 0 auto; }
  .destination-search { min-height:44px; font-size:16px; }
  .signal-guide { max-width:calc(100vw - 24px); max-height:calc(100dvh - 40px); }
  .signal-guide-actions button, .signal-guide-actions a { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}
