:root{--pk-navy-950:#0b152e;--pk-navy-800:#222d55;--pk-navy-600:#45569b;--pk-navy-300:#97a5d6;--pk-steel-700:#4f5a75;--pk-steel-200:#d9dde7;--pk-line:#d5dae8;--pk-paper:#f6f7fa;--pk-white:#fff;--pk-ok:#1d7048;--pk-ok-soft:#e3f2ea;--pk-warn:#8a5300;--pk-warn-soft:#fbf0d9;--pk-crit:#b42318;--pk-crit-soft:#fbe4e1;--pk-bg:var(--pk-paper);--pk-text:var(--pk-navy-800);--pk-text-muted:var(--pk-steel-700);--pk-link:var(--pk-navy-600);--pk-focus:var(--pk-navy-600)}*,:before,:after{box-sizing:border-box}body{background:var(--pk-bg);color:var(--pk-text);margin:0;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:var(--pk-link)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--pk-focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header{background:var(--pk-white);border-bottom:1px solid var(--pk-line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.app-header img{width:auto;display:block}.app-customer{color:var(--pk-text-muted);font-size:.9rem}.demo-banner{background:var(--pk-navy-800);color:var(--pk-white);text-align:center;margin:0;padding:.4rem 1rem;font-size:.85rem}.status{color:var(--pk-text-muted);padding:2rem 1.5rem}.btn{border:2px solid var(--pk-navy-800);background:0 0;border-radius:999px;padding:.6rem 1.1rem;font-weight:650}.btn-solid{background:var(--pk-navy-800);color:var(--pk-white)}@media (hover:hover){.btn:hover{background:var(--pk-navy-800);color:var(--pk-white)}.btn-solid:hover{background:var(--pk-navy-600);border-color:var(--pk-navy-600)}.fleet button:hover{background:var(--pk-paper);border-color:var(--pk-line)}}.btn:disabled{opacity:.6;cursor:progress}.btn-small{border-width:1.5px;padding:.3rem .8rem;font-size:.85rem}.entry{max-width:40rem;margin:0 auto;padding:3rem 1.5rem}.entry h1{margin:0 0 1rem;font-size:1.8rem;line-height:1.2}.entry .lead{font-size:1.1rem}.entry p{color:var(--pk-text-muted)}.portal{grid-template-columns:300px 1fr;min-height:calc(100vh - 100px);display:grid}.portal aside{background:var(--pk-white);border-right:1px solid var(--pk-line);padding:1.25rem}.fleet-title{margin:0 0 .75rem;font-size:.95rem}.fleet{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.fleet button{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:12px 1fr auto;align-items:center;gap:.2rem .65rem;width:100%;padding:.7rem .8rem;display:grid;position:relative}.fleet button[aria-current=true]{background:var(--pk-paper);border-color:var(--pk-line)}.fleet .name{font-weight:650}.fleet .hours{font-variant-numeric:tabular-nums;color:var(--pk-text-muted);font-size:.85rem}.fleet .sub{color:var(--pk-text-muted);grid-column:2/4;font-size:.82rem}.dot{border-radius:50%;grid-row:span 2;width:10px;height:10px}.dot.ok{background:var(--pk-ok)}.dot.warn{background:var(--pk-warn)}.dot.crit{background:var(--pk-crit)}.portal main{min-width:0;padding:1.5rem 2rem 3rem}.overview{grid-template-columns:repeat(4,1fr);gap:1rem;margin:0 0 1.5rem;display:grid}.stat{background:var(--pk-white);border:1px solid var(--pk-line);border-radius:16px;flex-direction:column-reverse;justify-content:flex-end;padding:1rem 1.1rem;display:flex}.stat dd{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:800;line-height:1.1}.stat dt{color:var(--pk-text-muted);font-size:.88rem}.stat.warn dd{color:var(--pk-warn)}.stat.crit dd{color:var(--pk-crit)}.alerts,.detail{background:var(--pk-white);border:1px solid var(--pk-line);border-radius:16px;margin-bottom:1.5rem;padding:1rem 1.2rem}.alerts h2{margin:0 0 .6rem;font-size:1rem}.alerts ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.alerts li{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.alerts li .btn{margin-left:auto}.empty{color:var(--pk-text-muted);margin:0}.tag{border-radius:999px;flex:none;padding:.12rem .55rem;font-size:.75rem;font-weight:700}.tag.ok{background:var(--pk-ok-soft);color:var(--pk-ok)}.tag.warn{background:var(--pk-warn-soft);color:var(--pk-warn)}.tag.crit{background:var(--pk-crit-soft);color:var(--pk-crit)}.demo-controls{border-top:1px solid var(--pk-line);gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.hint{color:var(--pk-text-muted);margin:0;font-size:.8rem}.live{color:var(--pk-text-muted);min-height:1.3em;font-size:.85rem}.detail{padding:0;overflow:hidden}.d-head{border-bottom:1px solid var(--pk-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;padding:1.4rem 1.5rem 1.2rem;display:flex}.d-head h1{margin:0 0 .3rem;font-size:1.6rem;line-height:1.1}.meta{color:var(--pk-text-muted);margin:0;font-size:.9rem}.tag.tier{background:var(--pk-ok-soft);color:var(--pk-ok)}.tag.predict{background:var(--pk-steel-200);color:var(--pk-navy-800)}.odo{text-align:right;color:var(--pk-text-muted);margin:0;font-size:.85rem}.odo b{color:var(--pk-text);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;line-height:1;display:block}.tabs{border-bottom:1px solid var(--pk-line);gap:.3rem;padding:.6rem 1.2rem 0;display:flex}.tabs button{color:var(--pk-text-muted);background:0 0;border:none;border-bottom:3px solid #0000;padding:.55rem .7rem;font-weight:600}.tabs button[aria-selected=true]{color:var(--pk-text);border-bottom-color:var(--pk-navy-600)}.panel{padding:1.2rem 1.5rem 1.5rem}.comps,.log{margin:0;padding:0;list-style:none}.comps li{border-bottom:1px solid var(--pk-line);grid-template-columns:minmax(180px,1.3fr) 2fr 20rem;align-items:center;gap:.4rem 1.25rem;padding:1rem 0;display:grid}.comps li:last-child,.log li:last-child{border-bottom:none}.c-name{font-weight:650}.c-sub{color:var(--pk-text-muted);font-size:.83rem;font-weight:400;display:block}.meter{background:var(--pk-steel-200);border-radius:10px;height:10px;overflow:hidden}.meter .fill{border-radius:10px;height:100%;display:block}.fill.ok{background:var(--pk-ok)}.fill.warn{background:var(--pk-warn)}.fill.crit{background:var(--pk-crit)}.c-read{color:var(--pk-text-muted);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:.83rem}.c-act{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.c-left{font-variant-numeric:tabular-nums;font-size:.83rem}.replace{background:var(--pk-paper);border:1px solid var(--pk-line);border-radius:14px;grid-column:1/-1;gap:.3rem;max-width:32rem;padding:1rem 1.2rem;display:grid}.replace h2{margin:0;font-size:1rem}.replace p{color:var(--pk-text-muted);margin:0 0 .5rem;font-size:.9rem}.replace label{font-size:.88rem;font-weight:600}.replace input{font:inherit;border:1px solid var(--pk-line);background:var(--pk-white);color:var(--pk-text);border-radius:10px;margin-bottom:.5rem;padding:.5rem .7rem}.replace .row{justify-content:flex-end;gap:.5rem;display:flex}.log li{border-bottom:1px solid var(--pk-line);grid-template-columns:110px 1fr;gap:1rem;padding:.8rem 0;display:grid}.log time{color:var(--pk-text-muted);font-variant-numeric:tabular-nums}.log .kind{font-weight:650}.locked{background:var(--pk-paper);border-radius:14px;margin:0;padding:1.2rem}@media (width<=1000px){.overview{grid-template-columns:1fr 1fr}}.detail-anchor{scroll-margin-top:1rem}@media (width<=820px){.portal{flex-direction:column;display:flex}.portal aside{display:contents}.portal nav{background:var(--pk-white);border-bottom:1px solid var(--pk-line);order:1;min-width:0;padding:1rem 0 1rem 1rem}.fleet{scroll-snap-type:x mandatory;grid-auto-columns:minmax(13rem,72%);grid-auto-flow:column;padding:0 1rem .25rem 0;overflow-x:auto}.fleet li{scroll-snap-align:start}.fleet button{border-color:var(--pk-line);background:var(--pk-white)}.portal main{order:2;padding:1.2rem 1rem 1.5rem}.demo-controls{border:1px solid var(--pk-line);background:var(--pk-white);border-radius:16px;order:3;margin:0 1rem 5rem;padding:1.25rem}.live{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:10;background:var(--pk-navy-800);max-width:calc(100% - 2rem);color:var(--pk-white);border-radius:999px;min-height:0;margin:0;padding:.6rem 1.1rem;position:fixed;transform:translate(-50%)}.live:empty{display:none}.app-customer{text-align:right;font-size:.8rem}.overview{gap:.6rem}.stat dd{font-size:1.6rem}.alerts li{border-bottom:1px solid var(--pk-line);grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;padding:.5rem 0;display:grid}.alerts li:last-child{border-bottom:none}.alerts li .tag{justify-self:start}.alerts li .btn{grid-area:1/2/span 2;margin-left:0}.comps li{grid-template-columns:1fr}.c-act{justify-content:flex-start}.odo{text-align:left}.log li{grid-template-columns:1fr;gap:.1rem}}
