/* KHODAM PQL Signature System | v4.5.1
 * Original understated corporate identity: quiet paper, architectural lines,
 * PQL royal blue, restrained burgundy and gold. Light mode is deliberate default.
 * Pure presentation layer: no backend, telemetry, authentication or API changes.
 */
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --bg:#f5f7fa; --ink:#1d2b42; --muted:#617087;
  --card:#ffffff; --line:#dfe4ec; --cyan:#294c98;
  --blue:#294c98; --red:#ad3547; --gold:#ac8750; --green:#216d56;
  --pql-bg:#f5f7fa;--pql-panel:#ffffff;--pql-panel-alt:#f9fafc;
  --pql-ink:#1d2b42;--pql-muted:#607086;--pql-border:#e0e5ed;
  --pql-blue:#294c98;--pql-blue-deep:#142e66;--pql-red:#ad3547;
  --pql-gold:#ac8750;--pql-green:#216d56;--pql-shadow:0 10px 34px rgba(28,48,81,.042);
  --pql-input:#fff;--pql-chip:#edf2fa;--pql-subtle:#f3f5f9;--pql-hover:#edf3ff;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#101927;--ink:#ecf1f9;--muted:#a2b0c4;
  --card:#1a2638;--line:#344153;--cyan:#a5bfff;
  --blue:#a5bfff;--red:#f0a4ab;--gold:#d5bc8b;--green:#8ad2b1;
  --pql-bg:#101927;--pql-panel:#192538;--pql-panel-alt:#202d41;
  --pql-ink:#ecf1f9;--pql-muted:#aab7c9;--pql-border:#384659;
  --pql-blue:#a5bfff;--pql-blue-deep:#a5bfff;--pql-red:#f0a4ab;
  --pql-gold:#d5bc8b;--pql-green:#8ad2b1;--pql-shadow:0 12px 38px rgba(0,0,0,.10);
  --pql-input:#152134;--pql-chip:#243954;--pql-subtle:#202d40;--pql-hover:#243b56;
}
html{scroll-behavior:smooth}
body { background:var(--pql-bg);color:var(--pql-ink);font-family:Inter,"Aptos","Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:14px;letter-spacing:.002em;line-height:1.6; }
p,.page-head p,.info-tile p,.engine-card p,.zc-tip p,.cw-hero-head p,.wall-heading p,.zc-head p {color:var(--pql-muted)}
h1,h2,h3,strong {color:var(--pql-ink)}
h1,h2,h3{letter-spacing:-.03em}
.eyebrow {color:var(--pql-blue-deep);font-size:10px;font-weight:750;letter-spacing:.13em}
.muted,.tiny,.subnote,.section-title small {color:var(--pql-muted)}
a,.text-link,footer a{color:var(--pql-blue-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pql-blue);outline-offset:3px}
.primary {background:#24457f;color:#fff;box-shadow:none;border:1px solid transparent;border-radius:8px;font-weight:700;letter-spacing:.01em;transition:background .16s ease,transform .16s ease}
.primary:hover {background:#1c3768;filter:none;transform:translateY(-1px)}
.outline,.head-right button,.language-options button,.lang-switch {color:var(--pql-ink);background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:8px;font-size:12px;font-weight:650;box-shadow:none}
.outline:hover,.head-right button:hover{border-color:var(--pql-blue);background:var(--pql-hover)}
button:disabled{opacity:.52}
input,select,textarea{background:var(--pql-input);border:1px solid #bfc9d9;color:var(--pql-ink);border-radius:8px;min-height:46px}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{border-color:var(--pql-border)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(41,76,152,.10);border-color:var(--pql-blue)}
label,.login-language>span{color:var(--pql-muted);font-size:11px;letter-spacing:.07em;font-weight:750}
/* A calm corporate welcome, not a nightclub or holographic advertisement. */
.login-shell{background:radial-gradient(ellipse at 82% 15%,rgba(41,76,152,.055),transparent 45%),linear-gradient(135deg,var(--pql-bg),var(--pql-subtle));padding:30px 18px;position:relative}
.login-shell::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1d397b 0 57%,#b03242 57% 89%,#b4945c 89% 100%)}
.login-panel{background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:16px;box-shadow:0 24px 80px rgba(21,42,76,.09);padding:44px 40px;position:relative}
:root[data-theme="dark"] .login-panel{box-shadow:0 24px 80px #0004}
.login-panel h1{font-size:clamp(28px,5vw,35px);letter-spacing:-.045em;font-weight:780;margin:13px 0 5px}
.login-panel h1 span,.brand strong i{color:var(--pql-blue-deep)}
.login-panel p{margin-bottom:23px;font-size:13px;line-height:1.6}
.login-panel .primary{margin-top:23px;width:100%;min-height:48px}
.login-panel small{color:var(--pql-muted);line-height:1.6}
.login-corporate{border-top:1px solid var(--pql-border);font-size:11px;letter-spacing:.005em;margin-top:24px}
.pql-logo-frame{background:transparent;border:none;box-shadow:none}
.pql-login-logo{object-fit:contain;filter:none}
.pql-sidebar-logo img{filter:none}
/* Navigation: disciplined spacing, stronger information hierarchy. */
.sidebar{background:var(--pql-panel);border-right:1px solid var(--pql-border);box-shadow:none}
.brand{padding:24px 18px 21px;border-bottom:1px solid var(--pql-border)}
.brand strong{color:var(--pql-ink);font-size:15px;letter-spacing:-.025em}
.brand small{color:var(--pql-muted);font-size:9px;letter-spacing:.10em}
.side-caption{color:var(--pql-muted);font-size:10px;font-weight:750;letter-spacing:.12em;margin:24px 20px 11px}
nav{gap:2px}
nav button{color:var(--pql-muted);font-size:12px;font-weight:600;padding:11px 12px;border-radius:7px;transition:background .16s ease,color .16s ease}
nav button span{color:#75849e}
nav button:hover{background:var(--pql-subtle);color:var(--pql-blue-deep)}
nav button.selected{color:var(--pql-blue-deep);background:var(--pql-hover);box-shadow:inset 3px 0 0 #ad3547}
nav button.selected span{color:var(--pql-blue-deep)}
.side-bottom{border-top:1px solid var(--pql-border);background:var(--pql-panel-alt);padding:18px}
.side-corporate-link{color:var(--pql-blue-deep);letter-spacing:.02em;font-size:11px}
.secure-dot{color:var(--pql-green)}.secure-dot::before{color:var(--pql-green)}
.logout{color:var(--pql-ink)}
.topbar{background:color-mix(in srgb,var(--pql-panel) 94%,transparent);border-bottom:1px solid var(--pql-border);backdrop-filter:blur(12px);padding:14px 28px}
.breadcrumbs{color:var(--pql-muted)}.breadcrumbs span{color:var(--pql-ink)}
.head-right{color:var(--pql-muted);gap:9px}
.head-right button{font-size:13px;padding:8px 11px}
.head-corporate-link,.mobile-corporate-link{border:1px solid var(--pql-border);color:var(--pql-blue-deep);background:var(--pql-panel);border-radius:8px;font-weight:650}
#clock{color:var(--pql-muted)}
.online{color:var(--pql-green)}.offline{color:var(--pql-red)}
.content{max-width:1440px;padding:32px 34px}
.page-head{margin-bottom:25px}
.page-head h2{font-size:clamp(23px,3vw,30px);font-weight:760;letter-spacing:-.04em}
.page-head p{font-size:13px}
.tile{background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:12px;box-shadow:var(--pql-shadow);padding:22px}
.section-title{color:var(--pql-ink);font-size:11px;letter-spacing:.09em;font-weight:760}
.section-dot{background:var(--pql-blue)}
.metric>div,.metric small,.big-indicator small,.feed-entry small,.engine-mini,.chart-legend{color:var(--pql-muted)}
.metric>div span{color:var(--pql-blue)}
.metric strong{color:var(--pql-ink);font-size:32px}
.metric{min-height:138px}
.health-stat,.feed-entry,.engine-mini,.zc-limit>div,.cw-cat-row{border-color:var(--pql-border);color:var(--pql-muted)}
.health-stat b,.feed-entry b,.engine-mini span,.zc-limit b{color:var(--pql-ink)}
.pulse-ring{background:var(--pql-chip);border:1px solid var(--pql-border);color:var(--pql-blue);box-shadow:none}
.big-indicator strong{color:var(--pql-ink)}
.pill{border:1px solid var(--pql-border);background:var(--pql-chip);color:var(--pql-ink);font-weight:700}
.pill.active{background:#e6f4ec;color:#246c51;border-color:#add8bf}
.pill.waiting,.pill.approval_only{background:#fbf3e5;color:#855e28;border-color:#e8d4a8}
.pill.degraded,.pill.not_integrated{background:#fbebef;color:#a33f55;border-color:#e6bcc5}
:root[data-theme="dark"] .pill.active{background:#19392f;color:#8ad2b1;border-color:#426c58}
:root[data-theme="dark"] .pill.waiting,:root[data-theme="dark"] .pill.approval_only{background:#3b3021;color:#efd095;border-color:#745f40}
:root[data-theme="dark"] .pill.degraded,:root[data-theme="dark"] .pill.not_integrated{background:#402833;color:#ecacbb;border-color:#764458}
.engine-card,.zc-tip,.zc-source-item,.method-metric,.topology-node{background:var(--pql-panel-alt);border:1px solid var(--pql-border);border-radius:9px;box-shadow:none}
.engine-card .icon{color:var(--pql-blue)}.engine-card h3,.zc-tip h4{color:var(--pql-ink)}
.engine-card p,.zc-tip p{color:var(--pql-muted)}
.engine-card{padding:20px}
.info-tile code,.proof-help{background:var(--pql-subtle);border:1px solid var(--pql-border);color:var(--pql-blue-deep)}
th{color:var(--pql-muted);background:var(--pql-subtle);border-bottom:1px solid var(--pql-border)}
th,td{border-color:var(--pql-border)}
td,td strong{color:var(--pql-ink)}td small,.empty{color:var(--pql-muted)}
#alert:not(:empty){background:var(--pql-subtle);border:1px solid var(--pql-gold);color:var(--pql-ink)}
.modal{background:rgba(11,24,45,.55)}
.dialog{background:var(--pql-panel);border:1px solid var(--pql-border);box-shadow:0 25px 85px #0003}
.dialog-head,.modal-actions{border-color:var(--pql-border)}
.dialog-head h3{color:var(--pql-ink)}
.dialog-head button{background:var(--pql-chip);color:var(--pql-ink);border:1px solid var(--pql-border)}
footer{color:var(--pql-muted);border-top:1px solid var(--pql-border)}
/* Hero modules: retain genuine animations and telemetry, remove ornamental neon excess. */
.defense-wall,.learning-banner,.pqc-banner,.zc-hero,.cw-hero,.pql-ecosystem-hero{background:var(--pql-panel);border:1px solid var(--pql-border);box-shadow:var(--pql-shadow)}
.defense-wall::after,.zc-hero::before,.cw-hero::before{opacity:.13}
.wall-heading h3,.zc-head h3,.cw-hero-head h3,.learning-banner h3,.pqc-banner h3,.pql-ecosystem-brand h3{color:var(--pql-ink);letter-spacing:-.025em}
.wall-heading p,.learning-banner p,.pqc-banner p,.zc-head p,.zc-hero-copy p,.cw-hero-head p{color:var(--pql-muted)}
.zc-head strong,.zc-hero-copy strong,.zc-tip small,.zc-hero-copy small,.guidance-line span{color:var(--pql-blue-deep)}
.zc-flow span{color:var(--pql-blue-deep);border:1px solid var(--pql-border);background:var(--pql-chip)}
.zc-limit span,.zc-source-item strong,.zc-hero-copy p,.zc-tip p{color:var(--pql-muted)}
.zc-ring{border-color:rgba(41,76,152,.26);box-shadow:none}.zc-ring.b{border-color:rgba(41,76,152,.36)}.zc-ring.c{border-color:rgba(172,135,80,.48)}
.zc-circuit{opacity:.48}
.source-tag{color:var(--pql-green);background:var(--pql-chip);border-color:var(--pql-border)}
.wall-meter{background:var(--pql-panel-alt);border:1px solid var(--pql-border);box-shadow:none}
.wall-meter small,.wall-meter span{color:var(--pql-muted)}.wall-meter strong{color:var(--pql-ink)}
.topology-panel{background:var(--pql-panel-alt);border:1px solid var(--pql-border)}
.topology-center,.topology-node strong{color:var(--pql-ink)}
/* Keep radar animation, but in executive-grade enamel / blueprint treatment. */
.holo-radar,.cw-radar{background:radial-gradient(circle at center,rgba(41,76,152,.065),transparent 60%),radial-gradient(circle,#f6f8fb 0%,#e7eef7 68%,#d7e1f1 100%);border:1px solid #aebed8;box-shadow:inset 0 0 28px rgba(29,57,123,.09),0 8px 30px rgba(33,62,99,.08)}
:root[data-theme="dark"] .holo-radar,:root[data-theme="dark"] .cw-radar{background:radial-gradient(circle,#263b59 0%,#13263e 72%,#0e1c2e 100%);border-color:#4a6488;box-shadow:inset 0 0 25px #101e3788,0 12px 45px #0004}
.radar-ring,.cw-radar-rings{opacity:.62;filter:saturate(.65)}
.radar-sweep,.cw-radar-sweep{opacity:.65;filter:hue-rotate(70deg) saturate(.53)}
.cw-radar{transform:perspective(880px) rotateX(5deg);max-height:450px}
.cw-radar-grid{opacity:.22}
.cw-radar-core{background:var(--pql-panel);border-color:var(--pql-border);box-shadow:0 2px 14px #17346122}
.cw-radar-core img{filter:none}
.cw-axis{color:var(--pql-blue-deep);text-shadow:none}
.cw-led.live,.cw-led-cyan{background:#247959;box-shadow:0 0 0 3px rgba(36,121,89,.12)}
.cw-led.stale{background:#b28a42;box-shadow:0 0 0 3px rgba(178,138,66,.13)}
.cw-led.danger{background:#bd4753;box-shadow:0 0 0 3px rgba(189,71,83,.16)}
.cw-readout{background:var(--pql-panel-alt);border:1px solid var(--pql-border);border-radius:9px;box-shadow:none}
.cw-readout>span:first-child,.cw-status-details,.cw-scope,.cw-controls,.cw-disclaimer{color:var(--pql-muted);border-color:var(--pql-border)}
.cw-readout strong,.cw-cat-row strong{color:var(--pql-blue-deep)}
.cw-sound{color:var(--pql-blue-deep);border-color:var(--pql-border)}
.cw-blip{background:var(--pql-gold);box-shadow:0 0 0 5px rgba(172,135,80,.16)}
.cw-blip.critical{background:var(--pql-red);box-shadow:0 0 0 5px rgba(173,53,71,.16)}
.cw-links a{color:var(--pql-blue-deep)}
.pql-ecosystem-hero{background:linear-gradient(120deg,var(--pql-panel),var(--pql-panel-alt))}
.pql-ecosystem-brand img{filter:none}
.ecosystem-links a,.module-link{background:var(--pql-panel-alt);border:1px solid var(--pql-border);color:var(--pql-ink);border-radius:9px;box-shadow:none}
.ecosystem-links small{color:var(--pql-muted)}
.module-link:hover,.module-link:focus-visible,.ecosystem-links a:hover{background:var(--pql-hover);border-color:var(--pql-blue)}
/* Compact controls. White/blue active state references the PQL identity. */
.login-language>span{color:var(--pql-muted)}
.language-options button,.lang-switch{background:var(--pql-panel);color:var(--pql-muted);border:1px solid var(--pql-border);font-size:11px;font-weight:750;box-shadow:none!important}
.language-options button.active,.lang-switch.active,.language-options button[aria-pressed="true"],.lang-switch[aria-pressed="true"]{background:var(--pql-chip);border-color:var(--pql-blue);color:var(--pql-blue-deep);box-shadow:none}
.theme-switch{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:8px;color:var(--pql-ink);font-size:11px;font-weight:720;letter-spacing:.005em;white-space:nowrap}
.theme-switch:hover{border-color:var(--pql-blue);background:var(--pql-hover)}
.theme-switch svg{flex-shrink:0}
.login-theme-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 0}
.login-theme-row small{margin:0;color:var(--pql-muted);font-size:10px}
:root[data-theme="dark"] .primary{color:#fff;background:#31599a}
:root[data-theme="dark"] .primary:hover{background:#4270b5}
/* Accessibility: clear physical affordances, comfortable tap targets, focus + reduced motion. */
#menu button,.module-link,.language-options button,.lang-switch,.theme-switch{min-height:40px}
@media(max-width:1120px){.head-right{gap:7px}.head-corporate-link{display:none}}
@media(max-width:750px){
  .sidebar{background:var(--pql-panel);border-bottom:1px solid var(--pql-border)}
  .mobile-nav-toggle{background:var(--pql-subtle);border:1px solid var(--pql-border);color:var(--pql-ink)}
  .mobile-corporate-link{background:var(--pql-panel-alt);border:1px solid var(--pql-border);color:var(--pql-blue-deep)}
  #menu button{background:var(--pql-panel);border-color:var(--pql-border)}
  #menu button.selected{background:var(--pql-hover);color:var(--pql-blue-deep);border-color:var(--pql-blue)}
  .content{padding:18px 14px}.topbar{padding:10px 14px}
  .theme-switch{padding:7px 9px;font-size:11px}
  .login-panel{padding:29px 23px}
}
@media(max-width:460px){
  .head-right{gap:4px;flex-wrap:wrap;justify-content:flex-end}
  .head-right button{padding:7px 9px}
  .login-theme-row{flex-wrap:wrap}
  .cw-radar{max-height:300px}
  .tile{padding:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* PQL 4.5.2 | mobile typography + structure repair verified on Wazuh view. */
html,body{max-width:100%;overflow-x:clip;}
.shell,.shell main,.content,.view,.tile,.metric,.engine-card,.readiness-grid>*{min-width:0;max-width:100%;}
.view *, .metric *, .engine-card *{min-width:0;}
.metric strong,.engine-card h3,.engine-card small,.readiness-card strong,.readiness-status{overflow-wrap:anywhere;word-break:normal;white-space:normal;hyphens:auto;}
.metric strong.status-value{display:block;font-size:clamp(15px,2.1vw,24px)!important;line-height:1.26;font-weight:760;letter-spacing:-.025em;margin:16px 0 12px;}
.metric{overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;}
.metric>div{overflow-wrap:anywhere;max-width:100%;}
#wazuh-controls .engine-card h3{font-size:clamp(15px,2vw,19px);line-height:1.3;overflow-wrap:anywhere;}
#wazuh-controls .engine-card{min-width:0;padding:16px;}
.head-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;min-width:0;}
.header-logout{display:inline-flex;align-items:center;justify-content:center;background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:8px;color:var(--pql-blue-deep);font-size:12px;font-weight:750;padding:9px 12px;white-space:nowrap;}
.header-logout:hover{background:var(--pql-hover);}
.report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;}
.report-actions label{font-size:11px;letter-spacing:.025em;white-space:normal;}
.report-actions select{width:auto;min-width:90px;min-height:39px;padding:6px 14px;}
.report-actions button{min-height:39px;}
.readiness-intro{margin-bottom:16px;}
.readiness-intro h3{font-size:clamp(20px,3vw,28px);line-height:1.25;margin:7px 0 10px;}
.readiness-status{margin-top:13px;color:var(--pql-blue-deep);background:var(--pql-subtle);border-left:3px solid var(--pql-blue);padding:12px 15px;border-radius:4px;font-size:13px;line-height:1.5;}
.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0;}
.readiness-card{padding:19px;background:var(--pql-panel);border:1px solid var(--pql-border);border-radius:11px;}
.readiness-card strong{font-size:16px;line-height:1.32;display:block;margin:10px 0 5px;}
.readiness-card p{font-size:12px;color:var(--pql-muted);line-height:1.6;}
.readiness-card small{color:var(--pql-muted);font-size:11px;letter-spacing:.04em;}
.readiness-steps{padding-left:22px;line-height:1.85;color:var(--pql-ink);font-size:13px;}
.readiness-steps li{padding-left:7px;margin:10px 0;}
#readiness-ports{overflow-x:auto;}
#readiness-ports table{min-width:570px;}
@media(max-width:1000px){.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:750px){
 .content{padding:16px 13px;}
 .topbar{padding:10px 13px;}
 .head-right{width:100%;gap:6px;justify-content:space-between;}
 .head-right #clock{display:none;}
 .head-right button{padding:9px 10px;min-height:39px;}
 .topbar .head-corporate-link{font-size:11px;}
 .metrics-grid.wazuh-metrics{grid-template-columns:1fr;gap:12px;}
 .wazuh-metrics .metric{min-height:0;padding:17px 19px;}
 .wazuh-metrics .metric strong.status-value{font-size:clamp(16px,4.6vw,22px)!important;line-height:1.25;margin:8px 0;}
 .wazuh-metrics .metric strong:not(.status-value){font-size:28px;margin:6px 0;}
 .engine-grid,#wazuh-controls{grid-template-columns:1fr!important;}
 .readiness-grid{grid-template-columns:1fr;gap:10px;}
 .report-actions{width:100%;justify-content:flex-start;}
 .report-actions select{flex:0 0 auto;}
 .report-actions button{width:auto;}
}
@media(max-width:370px){.head-right .head-corporate-link{display:none;}.report-actions button{width:100%;}}
@media(prefers-reduced-motion:reduce){.cw-radar-sweep,.radar-sweep,.cw-led{animation-duration:12s;}}

/* Mobile content typography remains readable at ~360 px without clipped status fields. */
@media(max-width:750px){
 .metrics-grid.wazuh-metrics .metric>div{font-size:12px;line-height:1.45;letter-spacing:.065em;}
 .metrics-grid.wazuh-metrics .metric small{font-size:12px;line-height:1.55;}
 .readiness-card strong{font-size:16px;}
 .readiness-card p{font-size:13px;}
 .section-title{letter-spacing:.065em;line-height:1.6;}
}

/* PQL v4.5.2 Public Viewer | light-first, controlled typographic hierarchy */
.login-shell{min-height:100dvh;display:grid;place-items:center;padding:30px 16px;background:linear-gradient(145deg,#f8fafc 0%,#eef2f9 100%)}
.login-panel{width:min(600px,100%);max-width:100%;padding:32px clamp(20px,5vw,40px);box-shadow:0 18px 60px rgba(25,45,79,.07)}
.login-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--pql-border)}
.login-topline .eyebrow{margin:0;font-size:10px;line-height:1.4}
.login-identity{display:flex;align-items:center;gap:20px;margin-top:19px}.login-identity>div{min-width:0}
.login-identity .pql-login-logo{width:96px;height:96px;flex:0 0 96px;object-fit:contain}
.login-identity h1{margin:9px 0 3px;line-height:1.15;font-size:clamp(25px,5.2vw,33px);overflow-wrap:normal;word-break:normal}
.login-identity p{font-size:12px;line-height:1.5;margin:0;max-width:360px}
.login-language{margin:23px 0 12px}.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.language-options button{min-width:0;min-height:43px;font-size:12px}
.auth-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 12px}
.auth-links a{display:flex;align-items:center;justify-content:center;min-height:46px;min-width:0;max-width:100%;border:1px solid var(--pql-border);color:var(--pql-ink);background:var(--pql-panel-alt);border-radius:9px;font-size:13px;font-weight:700}
.auth-links a.active{color:var(--pql-blue-deep);border-color:var(--pql-blue);background:var(--pql-hover);box-shadow:inset 0 -2px 0 var(--pql-blue)}
.auth-mode-text{font-size:10px!important;letter-spacing:.095em;text-transform:uppercase;color:var(--pql-blue-deep)!important;font-weight:780;margin:13px 0 16px!important}
#login-form{display:grid;gap:7px}#login-form label{margin-top:5px;font-size:12px;letter-spacing:.02em}
#login-form input{width:100%;min-width:0;min-height:48px;font-size:15px;padding:11px 14px}
#login-form input[readonly]{background:var(--pql-subtle);color:var(--pql-blue-deep);font-weight:720}
#login-form .primary{margin:15px 0 0;min-height:49px;font-size:13px;display:flex;justify-content:center;align-items:center;gap:9px}
#login-error:empty{display:none}#login-error:not(:empty){font-size:12px;line-height:1.5;color:var(--pql-red);margin-top:6px}
.login-note{margin:15px 0 0!important;color:var(--pql-muted)!important;font-size:12px!important;line-height:1.55}
.login-corporate{margin-top:18px;padding-top:17px}
.demo-viewer-banner{padding:12px 16px;background:#f0f5ff;color:#284579;border:1px solid #ccd8ec;border-radius:9px;font-size:12px;font-weight:760;letter-spacing:.02em;margin:0 0 15px;line-height:1.5}
.role-chip{font-weight:750;font-size:11px;color:var(--pql-blue-deep);margin-bottom:8px}
.demo-viewer .admin-only{display:none!important}
#menu #demo-access-nav{display:block}
.head-right .header-logout{min-height:39px;color:var(--pql-blue-deep);background:var(--pql-chip);font-size:12px}
@media(max-width:750px){.topbar{padding:9px 13px}.head-right{gap:6px}.head-right #connect{font-size:10px}.head-right .header-logout{min-height:40px;min-width:76px}.login-panel{padding:22px 19px}.login-identity{gap:11px;align-items:center;margin-top:17px}.login-identity .pql-login-logo{width:79px;height:79px;flex-basis:79px}.login-identity h1{font-size:clamp(23px,6.2vw,29px)}.login-identity p{font-size:11px}.auth-links a{font-size:12px}.demo-viewer-banner{font-size:11px}}
@media(max-width:360px){.login-identity .pql-login-logo{width:66px;height:66px;flex-basis:66px}.login-identity h1{font-size:23px}.login-identity .eyebrow{font-size:8px}}
:root[data-theme="dark"] .login-shell{background:linear-gradient(145deg,#101927,#182840)}
:root[data-theme="dark"] .demo-viewer-banner{background:#1e3551;color:#d9e5ff;border-color:#4d6383}

/* Light theme contrast and responsive toolbar refinements */
:root[data-theme="light"] .metric{color:#223a61;opacity:1;background:#fff}
:root[data-theme="light"] .metric strong{color:#1b3664!important;opacity:1}
:root[data-theme="light"] .metric>div,:root[data-theme="light"] .metric>div strong,:root[data-theme="light"] .metric small{color:#56677f!important;opacity:1;font-size:clamp(10px,1.6vw,12px);line-height:1.4}
:root[data-theme="light"] .metric .status-value{color:#1b3664!important}
:root[data-theme="light"] #connect{font-weight:750;letter-spacing:.005em}
:root[data-theme="light"] .tile h3,:root[data-theme="light"] .engine-card h3{color:#1d2d48}
@media(max-width:750px){
 .head-right{justify-content:flex-start;gap:8px}
 .head-right .lang-switch{min-width:43px;display:inline-flex;justify-content:center}
 .head-right .theme-switch{margin-left:auto}
 .head-right #connect{margin-right:auto}
 .head-right .header-logout{margin-left:auto}
}
