@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-sans-latin-700-normal-BmN9tIp5.woff2) format("woff2"),url(/assets/geist-sans-latin-700-normal-CjScfYeH.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-D-GG86Jb.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-600-normal-V-KvD_pi.woff2) format("woff2"),url(/assets/geist-mono-latin-600-normal-bZn07FKM.woff) format("woff")}.pub-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);padding:var(--space-4) 16px var(--space-6);font-size:var(--text-sm)}.pub-foot a{color:var(--ink-3);text-decoration:none}.pub-foot a:hover{color:var(--accent-600);text-decoration:underline}.pub-main{width:100%;max-width:960px;display:grid;gap:var(--space-6)}.pub-head h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.pub-head p{margin:var(--space-2) 0 0;max-width:680px;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.pub-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-base);color:var(--ink-3)}.pub-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,340px));gap:var(--space-4)}.pub-plan{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-6)}.pub-plan>a{margin-top:var(--space-5);justify-content:center}.pub-plan h2{margin:0;font-size:var(--text-xl);font-weight:600;color:var(--ink)}.pub-price{margin:var(--space-3) 0 0;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--navy-900)}.pub-price span{font-size:var(--text-base);font-weight:400;color:var(--ink-3)}.pub-save{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-weight:500;color:var(--success-600)}.pub-plan ul{flex:1;margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;align-content:start;gap:var(--space-2);font-size:var(--text-base);color:var(--ink-2)}.pub-plan li.has-tick{display:flex;align-items:flex-start;gap:8px}.pub-plan li.has-tick svg{flex:none;margin-top:2px;color:var(--success-600)}@media(max-width:767px){.pub-plans{grid-template-columns:minmax(0,1fr)}}.pub-notes{display:grid;gap:var(--space-3);font-size:var(--text-base);line-height:1.55;color:var(--ink-2)}.pub-notes p{margin:0}.pub-notes a:not([class]),.pub-contact a{color:var(--accent-500)}.pub-contact{display:grid;gap:var(--space-3);font-size:var(--text-base);line-height:1.55;color:var(--ink-2)}.pub-contact p{margin:0}.pub-email{font-size:var(--text-xl);font-weight:500}.pub-site{min-height:100vh;display:flex;flex-direction:column;background:var(--canvas);color:var(--ink)}.pub-top{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface);border-bottom:1px solid var(--line)}.pub-top-in{display:flex;align-items:center;gap:var(--space-6);max-width:1120px;margin:0 auto;padding:12px 16px}.pub-logo img{display:block;height:26px;width:auto}.pub-nav{display:flex;gap:var(--space-5);font-size:var(--text-md)}.pub-nav a,.pub-signin{color:var(--ink-2);text-decoration:none}.pub-nav a:hover,.pub-nav a.active,.pub-signin:hover{color:var(--navy-900)}.pub-nav a.active{font-weight:600}.pub-top-actions{display:flex;align-items:center;gap:var(--space-4);margin-left:auto;font-size:var(--text-md)}.pub-page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:var(--space-10) 16px var(--space-12);box-sizing:border-box;display:grid;align-content:start;gap:var(--space-8)}.pub-page.is-wide{max-width:1120px}@media(max-width:720px){.pub-top-in{flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.pub-nav{order:3;width:100%;gap:var(--space-4);font-size:var(--text-base)}.pub-page{padding-top:var(--space-6)}}.pub-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-6);display:grid;gap:var(--space-4)}.fc-drop{position:relative;display:grid;gap:4px;justify-items:center;padding:var(--space-8) var(--space-4);border:1.5px dashed var(--slate-300);border-radius:var(--radius-lg);background:var(--slate-50);text-align:center;cursor:pointer}.fc-drop:hover{border-color:var(--navy-900)}.fc-drop input{position:absolute;width:1px;height:1px;opacity:0}.fc-drop strong{font-size:var(--text-lg);color:var(--ink)}.fc-drop span,.fc-note,.fc-wait span{font-size:var(--text-base);color:var(--ink-3)}.fc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.fc-wait{display:grid;gap:4px}.fc-result{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-6)}.fc-grade{display:grid;justify-items:center;width:96px;padding:var(--space-3) 0;border-radius:var(--radius-lg);background:var(--slate-100)}.fc-grade span{font-size:40px;font-weight:700;line-height:1;color:var(--ink)}.fc-grade small{margin-top:4px;font-size:var(--text-base);color:var(--ink-2)}.fc-grade.is-a{background:var(--success-100)}.fc-grade.is-b{background:var(--success-50)}.fc-grade.is-c{background:var(--warning-75)}.fc-grade.is-d,.fc-grade.is-f{background:var(--danger-100)}.fc-summary h2,.fc-h2{margin:0;font-size:var(--text-xl);font-weight:600;color:var(--ink)}.fc-summary p{margin:6px 0 0;font-size:var(--text-md);line-height:1.5;color:var(--ink-2)}.fc-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.fc-table th,.fc-table td{padding:8px 10px;border-bottom:1px solid var(--slate-100);text-align:left}.fc-table thead th{font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-500);background:var(--slate-50)}.fc-table .num{text-align:right;font-variant-numeric:tabular-nums}.fc-table td.num{white-space:nowrap}.fc-table a{color:var(--ink);text-decoration-color:var(--slate-300)}.fc-status{font-weight:600}.fc-status.is-pass{color:var(--success-600)}.fc-status.is-fail{color:var(--danger-600)}.fc-status.is-warn{color:var(--warning-600)}.fc-status.is-not_applicable,.fc-status.is-skipped{color:var(--slate-500)}.fc-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;background:var(--accent-50);border-color:var(--accent-200)}.fc-cta p{margin:6px 0 0;font-size:var(--text-md);line-height:1.5;color:var(--ink-2)}.fc-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media(max-width:720px){.fc-result,.fc-cta{grid-template-columns:minmax(0,1fr)}.fc-table th:nth-child(3),.fc-table td:nth-child(3),.fc-table th:nth-child(4),.fc-table td:nth-child(4){display:none}}.lp-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-10);align-items:center}.lp-hero h1{margin:0;font-size:40px;font-weight:650;line-height:1.12;letter-spacing:-.025em;color:var(--ink)}.lp-hero-text>p{margin:var(--space-4) 0 0;font-size:var(--text-xl);line-height:1.55;color:var(--ink-2)}.lp-ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.lp-hero-text .lp-fine{margin-top:var(--space-3);font-size:var(--text-base);color:var(--ink-3)}.lp-panels{display:grid;gap:var(--space-3)}.lp-panel{position:relative;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.lp-panel h3{margin:0;font-size:var(--text-md);font-weight:600;color:var(--ink)}.lp-panel p{margin:6px 0 0;font-size:var(--text-base);line-height:1.5;color:var(--ink-2)}.lp-panel-row{display:flex;align-items:center;gap:var(--space-4)}.lp-panel-row .fc-grade{width:72px;flex:none}.lp-panel-row .fc-grade span{font-size:30px}.lp-tag{position:absolute;top:var(--space-3);right:var(--space-4);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--slate-500)}.lp-panel .lp-big{font-size:var(--text-2xl);font-weight:600;color:var(--danger-600)}.lp-split{display:flex;height:10px;margin-top:var(--space-2);border-radius:5px;overflow:hidden;gap:2px}.lp-split .is-exec{background:var(--danger-500)}.lp-split .is-logic{background:var(--accent-500)}.lp-legend{display:flex;gap:var(--space-4)}.lp-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px}.lp-legend .is-exec:before{background:var(--danger-500)}.lp-legend .is-logic:before{background:var(--accent-500)}.lp-changes{margin:6px 0 0;padding-left:18px;font-size:var(--text-base);line-height:1.6;color:var(--ink-2)}.lp-video iframe{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--radius-xl);background:var(--slate-100)}.lp-section h2,.lp-final h2{margin:0 0 var(--space-4);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-4)}.lp-card{gap:var(--space-2);padding:var(--space-5)}.lp-card h3{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--ink)}.lp-card p{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--ink-2)}.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-3) var(--space-8);margin:0;padding-left:18px;font-size:var(--text-md);line-height:1.55;color:var(--ink-2)}.lp-features strong{color:var(--ink)}.lp-faq{display:grid;gap:var(--space-2)}.lp-q{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5)}.lp-q summary{cursor:pointer;font-size:var(--text-lg);font-weight:500;color:var(--ink)}.lp-q p{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-md);line-height:1.55;color:var(--ink-2)}.lp-final{padding:var(--space-8);background:var(--navy-900);border-radius:var(--radius-xl);color:var(--slate-0)}.lp-final h2{color:var(--slate-0)}.lp-final .btn-primary{background:var(--slate-0);border-color:var(--slate-0);color:var(--navy-900)}.lp-final p{margin:0;font-size:var(--text-lg);color:var(--navy-muted)}@media(max-width:860px){.lp-hero{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.lp-hero h1{font-size:30px}}.help-list{display:grid;gap:var(--space-3)}.help-item{gap:4px;text-decoration:none}.help-item strong{font-size:var(--text-lg);color:var(--ink)}.help-item span{font-size:var(--text-md);color:var(--ink-2)}.help-item:hover{border-color:var(--navy-900)}.help-article{gap:var(--space-3);font-size:var(--text-lg);line-height:1.6;color:var(--ink-2)}.help-article h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}.help-article h2{margin:var(--space-4) 0 0;font-size:var(--text-2xl);font-weight:600;color:var(--ink)}.help-article p,.help-article ol,.help-article ul,.help-article dl{margin:0}.help-article strong{color:var(--ink)}.help-back{font-size:var(--text-md);color:var(--ink-3);text-decoration:none}.help-checks{display:grid;gap:var(--space-3)}.help-check{scroll-margin-top:80px}.help-check dt{font-weight:600;color:var(--ink)}.help-check dt span{display:inline-block;min-width:24px;color:var(--slate-500)}.help-check dd{margin:2px 0 0 24px}.help-next{grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:var(--text-md);color:var(--ink-2)}@media(max-width:720px){.help-next{grid-template-columns:minmax(0,1fr)}}.gate-entry .pub-foot{margin-top:auto}.gate-entry-box{max-width:440px}.gate-page-logo-link{display:inline-flex}.gate-page{min-height:100vh;background:var(--canvas);display:flex;flex-direction:column;align-items:center;padding:56px 16px;box-sizing:border-box;gap:var(--space-6)}.gate-page-logo{height:30px;width:auto}.gate-box{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-sizing:border-box;overflow:hidden}.gate-box-wide{max-width:520px}.gate-box-pad{padding:28px}.gate-box-head{background:var(--navy-900);color:#fff;padding:22px 28px;display:grid;gap:6px}.gate-eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--navy-muted)}.gate-box-head h1{margin:0;font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em}.gate-box-head p{margin:0;font-size:var(--text-base);color:var(--navy-text)}.gate-form{width:100%;max-width:380px;display:grid;gap:18px}.gate-box .gate-form{max-width:none}.gate-title{margin:0;font-size:var(--fs-kpi);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.gate-box-title{margin:0;font-size:var(--fs-kpi);font-weight:600;letter-spacing:-.02em}.gate-sub{margin:6px 0 0;font-size:var(--text-base);line-height:1.5;color:var(--ink-3)}.gate-form label,.gate-fieldset legend{display:grid;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--slate-600)}.gate-form .field-input,.gate-form .field-select{min-height:44px;font-size:var(--text-md)}.gate-form .btn{min-height:46px;font-size:var(--text-md)}.gate-label-row{display:flex;justify-content:space-between;align-items:baseline}.gate-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media(max-width:767px){.gate-row{grid-template-columns:1fr}}.gate-link{background:none;border:0;padding:0;font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--accent-500);cursor:pointer;text-decoration:none}.gate-link:hover{color:var(--accent-700)}.gate-back{justify-self:start}.gate-alert{margin:0;font-size:var(--text-sm);color:var(--danger-600);background:var(--danger-50);border:1px solid var(--danger-100);border-radius:var(--radius-md);padding:10px 12px}.gate-ok{margin:0;font-size:var(--text-sm);color:var(--success-700);background:var(--success-50);border:1px solid var(--success-100);border-radius:var(--radius-md);padding:10px 12px}.gate-readonly .field-input{background:var(--canvas);color:var(--ink-3);border-color:var(--line)}.gate-form .field-rules{display:flex;gap:14px;font-weight:400}.gate-step{display:flex;align-items:center;gap:10px}.gate-step-label{font-size:var(--text-xs);font-weight:600;color:var(--accent-500)}.gate-step-bar{flex:1;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.gate-step-bar>span{display:block;height:100%;background:var(--navy-900)}.gate-fieldset{border:0;margin:0;padding:0;display:grid;gap:var(--space-2)}.gate-fieldset legend{padding:0;margin-bottom:var(--space-2)}.gate-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media(max-width:767px){.gate-roles{grid-template-columns:1fr}}.gate-role{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:10px;padding:13px;font-size:var(--text-base)!important;color:var(--ink)!important;font-weight:400!important;cursor:pointer}.gate-role:has(input:checked){border:2px solid var(--navy-900);background:var(--accent-50);padding:12px;font-weight:500!important}.gate-role:has(input:focus-visible){outline:2px solid var(--accent-500);outline-offset:2px}.gate-role input{accent-color:var(--navy-900)}.gate-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.gate-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-50);color:var(--navy-900);display:flex;align-items:center;justify-content:center}.gate-box-stack{display:grid;gap:18px;justify-items:start}.gate-box-stack h1{margin:0 0 8px;font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em}.gate-box-stack p{margin:0;font-size:var(--text-md);line-height:1.5;color:var(--slate-600)}.gate-box-stack .gate-actions{justify-self:stretch}.gate-form label.gate-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:var(--text-sm);line-height:1.45;color:var(--slate-600)}.gate-check input{margin-top:2px;accent-color:var(--navy-900)}.gate-check a,.gate-foot a{color:var(--accent-500)}.gate-foot{margin:0;font-size:var(--text-sm);color:var(--slate-600)}.gate-form .field-input.gate-code{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.3em}.gate-captcha{min-height:65px}.gate-link:disabled{color:var(--ink-3);cursor:default}.gate-box.legal-gate{max-width:820px}.legal-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.legal-item{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.legal-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.legal-item-title{font-weight:600}.legal-item-org{color:var(--slate-600)}.legal-item-version{margin-left:auto;font-size:var(--text-xs);color:var(--slate-500)}.legal-box{max-height:min(55vh,520px);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--slate-50)}.gate-form label.legal-check,.legal-check{display:flex;align-items:flex-start;gap:8px;margin-top:var(--space-3);font-size:var(--text-sm);font-weight:400;line-height:1.45;color:var(--ink-2);cursor:pointer}.legal-check input{flex:none;margin-top:2px;accent-color:var(--navy-900)}.legal-text{font-size:var(--text-base);line-height:1.6;color:var(--ink-2)}.legal-text h2{margin:0 0 var(--space-2);font-size:var(--text-lg);color:var(--ink)}.legal-text h3{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-md);color:var(--ink)}.legal-text p,.legal-text ul{margin:0 0 var(--space-2)}.legal-text ul{padding-left:20px}.legal-page-panel{max-width:760px}.legal-public{display:grid;gap:var(--space-3);max-width:760px}.btn,.btn-secondary,.btn-primary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:var(--control-h);padding:0 12px;font-size:var(--fs-ui);font-weight:600;line-height:1.35;cursor:pointer;text-decoration:none;border:1px solid transparent;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn,.btn-secondary{border-color:var(--line);background:var(--slate-0);color:var(--ink)}.btn:hover,.btn-secondary:hover{background:var(--slate-50);border-color:var(--line-strong)}.btn-primary{border-color:var(--navy-900);background:var(--navy-900);color:#fff}.btn-primary:hover{background:var(--navy-800);border-color:var(--navy-800)}.btn-ghost{border-color:transparent;background:transparent;color:var(--slate-600);padding:0 12px}.btn-ghost:hover{background:var(--ink-8);color:var(--ink)}.btn-danger{border-color:var(--danger-300);background:var(--slate-0);color:var(--danger-600)}.btn-danger:hover{background:var(--danger-50);border-color:var(--danger-500)}.btn:disabled,.btn-secondary:disabled,.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.btn.is-disabled{background:var(--slate-100);border-color:var(--line);color:var(--slate-400);cursor:not-allowed}.btn-sm{min-height:var(--control-h-sm);padding:0 10px;font-size:var(--fs-meta);border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-meta);font-weight:600;line-height:1.35;padding:3px 10px;border:1px solid transparent;border-radius:var(--radius-pill);white-space:nowrap}.badge-uppercase{font-family:var(--font-num);font-size:var(--fs-over);padding:3px 7px;border-radius:4px}.badge-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentcolor;flex:0 0 auto}.badge-neutral{background:var(--slate-100);border-color:var(--line);color:var(--slate-500)}.badge-info{background:var(--accent-50);border-color:var(--accent-200);color:var(--accent-600)}.badge-info .badge-dot{background:var(--accent-500)}.badge-success{background:var(--success-50);border-color:var(--success-100);color:var(--success-600)}.badge-warning{background:var(--warning-50);border-color:var(--warning-100);color:var(--warning-600)}.badge-danger{background:var(--danger-50);border-color:var(--danger-100);color:var(--danger-600)}.badge-danger .badge-dot{background:var(--danger-500)}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--slate-0)}.table-wrap-fill{flex:1 1 auto;min-height:0;overflow:auto;border:0;border-radius:0}.table{width:100%;border-collapse:collapse;font-size:var(--fs-meta)}.table th{text-align:left;position:sticky;top:0;z-index:1;font-size:var(--fs-meta);line-height:var(--lh-meta);font-weight:500;color:var(--slate-500);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--slate-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table td{height:44px;padding:4px 12px;border-bottom:1px solid var(--slate-100);vertical-align:middle;font-size:var(--fs-ui);line-height:var(--lh-ui);color:var(--ink)}.table-compact td{height:36px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--ink-8)}.table tbody tr.is-selected{background:var(--row-selected);box-shadow:inset 3px 0 0 var(--accent-500)}.table tbody tr.is-selected td:first-child{padding-left:12px}.table tbody tr.is-group td{height:31px;background:var(--ink-8);color:var(--slate-500)}.table a{color:var(--accent-600);text-decoration:none;font-weight:500}.table td.num,.table th.num{text-align:right;white-space:nowrap}.table td.num.pos{color:var(--success-600);font-weight:600}.table td.num.warn{color:var(--warning-600);font-weight:600}.table td.num.neg{color:var(--danger-600);font-weight:600}.table-roomy td{height:44px;padding:0 10px;font-size:var(--fs-ui)}.table-roomy th:first-child,.table-roomy td:first-child{padding-left:20px}.table-roomy th:last-child,.table-roomy td:last-child{padding-right:20px}.table-compact th,.table-compact td{padding:3px var(--space-2);font-size:var(--text-sm)}.table-compact td{height:29px}.tabs{display:flex;flex-wrap:wrap;gap:.15rem}.tabs-underline{border-bottom:1px solid var(--ink-6);margin-bottom:var(--space-4)}.tabs-underline button{border:0;background:transparent;padding:.6rem var(--space-3);font:inherit;font-size:var(--text-base);color:var(--slate-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-2)}.tabs-underline button:hover{color:var(--ink-1)}.tabs-underline button.active{color:var(--navy-900);font-weight:600;border-bottom-color:var(--navy-900)}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--slate-0)}.segmented button{border:0;background:transparent;border-radius:6px;padding:0 12px;height:calc(var(--control-h) - 8px);font:inherit;font-size:var(--fs-meta);font-weight:500;line-height:1.35;cursor:pointer;color:var(--slate-600);white-space:nowrap;transition:background-color .12s ease,color .12s ease}.segmented button:hover:not(.active){color:var(--slate-800)}.segmented button.active{background:var(--navy-900);color:#fff}.segmented-units button{font-family:var(--font-num);font-size:var(--fs-over);padding:0 10px}.field{display:grid;gap:6px}.field-label{font-size:var(--fs-meta);font-weight:600;color:var(--slate-700)}.field-hint{font-size:var(--fs-meta);color:var(--slate-450)}.field-input,.field-select{width:100%;border:1px solid var(--line);background:var(--slate-0);border-radius:var(--radius-md);min-height:var(--control-h);padding:0 10px;font:inherit;font-size:var(--fs-ui);color:var(--ink)}.field-input.is-invalid,.field-select.is-invalid{border-color:var(--danger-300);box-shadow:0 0 0 3px var(--danger-50)}.field-error{font-size:var(--fs-meta);color:var(--danger-600)}.field-rules{display:grid;gap:1px;padding-top:2px}.field-rule{font-size:var(--fs-meta);color:var(--slate-450)}.field-rule.is-met{color:var(--success-600)}.field-input::placeholder{color:var(--ink-4)}.pw-field{position:relative;display:block}.pw-field .pw-input{padding-right:38px}.pw-toggle{position:absolute;top:50%;right:4px;width:30px;height:30px;margin-top:-15px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--slate-450);cursor:pointer}.pw-toggle:hover{background:var(--ink-8);color:var(--ink)}.pw-toggle:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.pw-toggle:disabled{color:var(--slate-300);cursor:default;background:transparent}.field-input:focus,.field-select:focus{outline:2px solid var(--accent-500);outline-offset:1px;border-color:var(--accent-500)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--ink-3)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);background:var(--ink-8);color:var(--ink-4);margin-bottom:var(--space-1)}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--ink-1)}.empty-state-desc{max-width:26rem;font-size:var(--text-base)}.empty-state-action{margin-top:var(--space-2)}.empty-state-compact{padding:var(--space-4) var(--space-2);align-items:flex-start;text-align:left;gap:var(--space-1)}.empty-state-compact .empty-state-title{font-size:var(--text-base);font-weight:500;color:var(--ink-3)}.state-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--slate-0);text-align:left}.state-kicker{font-size:var(--fs-over);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.state-title{font-size:var(--fs-ui);font-weight:600;color:var(--ink)}.state-body{margin:0;font-size:var(--fs-meta);line-height:1.45;color:var(--slate-600)}.state-foot{font-size:var(--fs-over);color:var(--slate-450)}.state-action{margin-top:4px}.state-gate .state-kicker{color:var(--accent-600)}.state-finding{border-color:var(--success-100)}.state-finding .state-kicker{color:var(--success-600)}.state-failure{border-color:var(--danger-100)}.state-failure .state-kicker{color:var(--danger-600)}.state-runid{align-self:flex-start;padding:3px 7px;border-radius:5px;background:var(--slate-100);color:var(--slate-500);font-family:var(--font-mono),monospace;font-size:var(--fs-over)}.app-main{--page-pad-x: 1.5rem;--page-pad-top: 1.25rem}.page-header-block{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin:calc(-1 * var(--page-pad-top)) calc(-1 * var(--page-pad-x)) var(--space-5);padding:14px var(--page-pad-x);background:var(--surface);border-bottom:1px solid var(--line)}.page-header-eyebrow{font-size:var(--fs-meta);color:var(--slate-500);margin-bottom:2px}.page-header-titleline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.page-header-title{font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.page-header-scope{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--accent-200);border-radius:var(--radius-pill);background:var(--accent-50);color:var(--accent-600);font-family:var(--font-num);font-size:var(--fs-over);font-weight:400;white-space:nowrap}.page-header-sub{margin-top:var(--space-1);color:var(--slate-500);font-size:var(--fs-meta);max-width:42rem;line-height:1.5}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex-shrink:0;max-width:100%}.page-header-md .page-header-title{font-size:var(--fs-h2);font-weight:600}.page-header-md .page-header-sub{font-size:var(--text-base)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--space-3);align-items:stretch}.kpi{display:grid;grid-template-rows:var(--lh-meta) 1fr;grid-auto-rows:var(--lh-meta);row-gap:4px;min-height:112px;min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;background:var(--slate-0)}.kpi-label{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{align-self:center;min-width:0;font-size:var(--fs-kpi);font-weight:600;line-height:var(--lh-kpi);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value.neg{color:var(--danger-600)}.kpi-value.pos{color:var(--success-600)}.kpi-soft{font-size:var(--fs-h2);font-weight:500;color:var(--slate-400)}.kpi-sub,.kpi-foot{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi.is-emphasis{background:var(--navy-900);border-color:var(--navy-900)}.kpi.is-emphasis .kpi-label{color:var(--navy-muted)}.kpi.is-emphasis .kpi-value{color:#fff}.kpi.is-emphasis .kpi-value.neg{color:#fca5a5}.kpi.is-emphasis .kpi-value.pos{color:#86efac}.kpi.is-emphasis .kpi-value.warn{color:#fbbf24}.kpi.is-emphasis .kpi-sub,.kpi.is-emphasis .kpi-foot{color:var(--navy-text)}.ui-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--slate-0);border:1px solid var(--line);border-radius:var(--radius-lg)}.ui-panel-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 16px;border-bottom:1px solid var(--slate-100)}.ui-panel-title{font-size:var(--fs-body);font-weight:600;color:var(--ink)}.ui-panel-sub{margin-top:1px;font-size:var(--fs-meta);color:var(--slate-500)}.ui-panel-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.ui-panel-body{flex:1 1 auto;min-height:0;overflow:auto}.ui-panel-body.is-padded{padding:12px 16px}.ui-panel-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 16px;border-top:1px solid var(--line);background:var(--slate-50);font-size:var(--fs-meta);color:var(--slate-500)}.view-all{font-weight:600;color:var(--accent-500);text-decoration:none}.view-all:hover{color:var(--accent-700)}.pager{display:flex;align-items:center;gap:var(--space-2)}.pager-range{font-family:var(--font-num);font-size:var(--fs-meta)}.pager-btn{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--slate-0);color:var(--ink);cursor:pointer}.pager-btn:hover:not(:disabled){background:var(--slate-50)}.pager-btn:disabled{color:var(--slate-300);cursor:not-allowed}.skeleton{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,var(--slate-100),var(--slate-50),var(--slate-100));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-lines{display:grid;gap:10px;padding:16px 20px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.field-select.select-trigger{width:100%}.select-trigger:disabled{background:var(--slate-100);color:var(--slate-400);cursor:not-allowed}.select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-chevron{flex:none;color:var(--slate-400)}.select-trigger[aria-expanded=true] .select-chevron{color:var(--accent-500)}.field-select.select-trigger[aria-expanded=true]{border-color:var(--accent-500)}.select-inline{border:0;background:transparent;padding:0;height:100%;min-height:0;font:inherit;font-weight:600;color:var(--ink)}.select-inline:focus-visible{outline-offset:4px;border-radius:var(--radius-sm)}.select-proxy{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.select-pop{position:fixed;z-index:70;display:flex;flex-direction:column;margin:4px 0 0;overflow:hidden;background:var(--slate-0);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--fs-ui)}.select-search{display:flex;flex:none;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line);color:var(--slate-400)}.select-search input{flex:1;min-width:0;border:0;padding:2px 0;background:transparent;font:inherit;color:var(--ink);outline:none}.select-search input::placeholder{color:var(--ink-4)}.select-list{flex:1;min-height:0;margin:0;padding:4px;list-style:none;overflow-y:auto}.select-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-empty{padding:6px 8px;color:var(--ink-3)}.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer}.select-option[data-active=true]{background:var(--slate-100)}.select-option[aria-selected=true]{font-weight:600;color:var(--accent-600)}.select-option[aria-disabled=true]{color:var(--slate-300);cursor:not-allowed}.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:var(--text-sm);color:var(--ink-3)}.page-header-eyebrow .crumbs{font-weight:400;letter-spacing:0;text-transform:none;margin-bottom:var(--space-2)}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--accent-600);text-decoration:underline}.crumbs-sep{color:var(--line-strong)}.crumbs-current{color:var(--ink);font-weight:500}.info-tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--slate-400);vertical-align:middle;cursor:help}.info-tip:hover,.info-tip.is-open,.info-tip:focus-visible{color:var(--accent-500);background:var(--accent-50)}.info-tip-pop{position:fixed;z-index:1000;width:300px;box-sizing:border-box;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--ink-2)}.info-tip-pop strong{display:block;margin-bottom:4px;font-size:var(--text-base);font-weight:600;color:var(--ink)}.info-tip-pop p{margin:0 0 6px}.info-tip-pop p:last-child{margin-bottom:0}.feature-gate{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:520px;margin:var(--space-12) auto;padding:var(--space-8) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);text-align:center}.feature-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--accent-50);color:var(--navy-900)}.feature-gate h2{margin:0;font-size:var(--text-2xl);font-weight:600;color:var(--ink)}.feature-gate p{margin:0;font-size:var(--text-md);line-height:1.5;color:var(--ink-2)}.sb-lock{margin-left:auto;color:var(--navy-muted)}@media(max-width:767px){.field-input,.field-select,.select-trigger,.select-search input{font-size:var(--fs-h2)}.select-pop{left:0!important;right:0!important;top:auto!important;bottom:0!important;min-width:100%!important;max-height:70vh!important;margin:0;border-radius:16px 16px 0 0;box-shadow:0 -12px 32px #0f172a2e}.select-option{min-height:44px}}.app-shell .table{table-layout:fixed;min-width:720px}.app-shell .table th.num,.app-shell .table th.col-num{width:96px}.app-shell .table th.col-date{width:104px}.app-shell .table th.col-code{width:96px}.app-shell .table th.col-status{width:112px}.app-shell .table th.col-grade{width:88px}.app-shell .table th.col-progress{width:120px}.app-shell .table th.col-text{width:140px}.app-shell .table th.col-action{width:88px}.app-shell .table th.col-buttons{width:184px}.app-shell .table td{overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.app-shell .table,.app-shell .table tbody{display:block;width:100%;min-width:0!important}.app-shell .table thead{display:none}.app-shell .table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px 16px;border-bottom:1px solid var(--slate-100)}.app-shell .table tbody td{display:flex;flex-direction:column;gap:2px;width:auto!important;max-width:none;height:auto;min-width:0;padding:0;border:0;text-align:left;white-space:normal}.app-shell .table tbody td:before{content:attr(data-label);font-size:var(--fs-over);line-height:var(--lh-over);color:var(--slate-500)}.app-shell .table tbody td:first-child,.app-shell .table tbody td[colspan]{grid-column:1 / -1;font-weight:500}.app-shell .table tbody td:empty{display:none}.app-shell .table tbody td:first-child:before,.app-shell .table tbody td[data-label=""]:before{content:none}}input.ui-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;width:36px;height:20px;margin:0;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:background .15s}input.ui-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--slate-0);box-shadow:0 1px 2px #0f172a33;transition:transform .15s}input.ui-switch:checked{background:var(--navy-900)}input.ui-switch:checked:after{transform:translate(16px)}input.ui-switch:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}input.ui-switch:disabled{cursor:default;opacity:.5}.page-tabs{display:flex;flex-wrap:wrap;gap:0 var(--space-1);border-bottom:1px solid var(--ink-6)}.page-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);font-size:var(--text-base);color:var(--slate-500);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.page-tabs a:hover{color:var(--ink-1)}.page-tabs a.active{color:var(--navy-900);font-weight:600;border-bottom-color:var(--navy-900)}.page-tab-hint{margin-left:6px;font-size:var(--text-sm, 12px);font-weight:400;color:var(--slate-500)}.shell{min-height:100vh;display:flex;flex-direction:column;background:var(--slate-0);color:var(--ink)}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-4) var(--space-6) 4rem;text-align:center}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.modal-panel{position:relative;z-index:1;width:min(400px,100%);background:var(--slate-0);border:1px solid var(--ink-6);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-lg);animation:modal-in .16s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.modal-header h2{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em}.modal-close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink-4);padding:var(--space-1);border-radius:var(--radius-sm);cursor:pointer}.modal-close:hover{color:var(--ink);background:var(--ink-8)}.onb-form{display:grid;gap:var(--space-4)}.onb-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:var(--space-3)}.card .onb-form{max-width:720px}@media(max-width:767px){.onb-row{grid-template-columns:1fr}}.onb-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.form-error{margin:var(--space-3) 0 0;color:var(--danger-600);font-size:var(--text-sm)}.form-ok{margin:var(--space-3) 0 0;color:var(--success-600);font-size:var(--text-sm)}.muted{color:var(--ink-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-sidebar{background:#fff;border-right:1px solid var(--ink-6);padding:.65rem .75rem 1rem;overflow:auto;min-width:0}.app-main{padding:1.5rem 1.75rem 2.5rem;overflow:auto;min-height:0}.app-shell:has(.analysis-page) .app-main{padding:.45rem .85rem .85rem;--page-pad-x: .85rem;--page-pad-top: .45rem;display:flex;flex-direction:column;min-height:0}.app-shell:has(.cost-page) .app-main{overflow-y:auto;padding-bottom:.55rem}.app-shell:has(.cost-page) .analysis-page{flex:none;min-height:auto;height:auto;overflow:visible}.app-shell:has(.analysis-page-xer) .app-main{padding:.4rem .75rem .45rem;--page-pad-x: .75rem;--page-pad-top: .4rem;overflow:hidden;height:100%}.app-shell:has(.analysis-page-xer) .analysis-page-xer{flex:1 1 0;min-height:0;overflow:hidden}.analysis-page{display:flex;flex-direction:column;gap:.65rem;min-height:0;flex:1 1 auto}.card{margin-top:1.25rem;background:#fff;border:1px solid var(--ink-6);border-radius:12px;padding:1.1rem 1.2rem;box-shadow:0 1px 2px #1a19170a}.section-label{margin:0 0 .75rem;font-size:var(--fs-over);font-weight:600;color:var(--ink-4)}.section-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-head-row a{font-size:var(--fs-body);text-decoration:none}.create-project{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.create-project label{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.35rem;font-size:var(--fs-ui);color:var(--ink-3)}.banner-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-50);color:var(--danger-700);border:1px solid var(--danger-100)}.banner-error-body{display:flex;align-items:flex-start;gap:var(--space-3)}.banner-error-detail{margin-top:var(--space-1)}.settings-dl{margin:0}.settings-dl>div{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:center;column-gap:var(--space-4);min-height:44px;padding:6px 0;border-bottom:1px solid var(--ink-7)}.settings-dl>div:last-child{border-bottom:0}.settings-dl dt{color:var(--slate-500);font-size:var(--text-base)}.settings-dl dd{margin:0;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}@media(max-width:767px){.settings-dl>div{grid-template-columns:1fr}}.analysis-body{display:flex;flex-direction:column;gap:.85rem;animation:modal-in .18s ease-out;min-height:0;flex:1 1 auto}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.panel{border:1px solid var(--ink-6);border-radius:12px;padding:.85rem 1rem 1rem;background:#fff}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.panel-head .section-label{margin:0}.evm-card{min-height:5.5rem}.evm-card .kpi-value{font-size:var(--fs-kpi)}.evm-delta{display:flex;align-items:center;gap:.3rem;margin-top:.35rem;font-size:var(--fs-meta);color:var(--ink-4)}.evm-delta-up,.evm-delta-down{color:var(--red)}.cost-page{flex:none;height:auto;overflow:visible;gap:.55rem}.cost-kpis{flex:0 0 auto;display:flex;flex-direction:column;gap:.55rem}.cost-page .evm-card{min-height:4.35rem;padding:.6rem .8rem}.cost-page .evm-card .kpi-value{font-size:var(--fs-kpi)}.cost-wbs-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:.45rem;overflow:hidden;margin:0;padding-bottom:.55rem}.cost-wbs-head{flex:0 0 auto;flex-wrap:wrap;gap:.55rem;align-items:center}.cost-wbs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.cost-wbs-filter{width:9.5rem;min-width:8rem;height:2.1rem;box-sizing:border-box;padding:0 .65rem;font-size:var(--fs-body)}.cost-wbs-filter-name{width:14rem;min-width:11rem}.cost-wbs-range{font-size:var(--text-sm);white-space:nowrap}.cost-wbs-table-wrap{flex:1 1 0;min-height:0;overflow:hidden}.cost-wbs-table{width:100%}.cost-wbs-table thead th{position:sticky;top:0;background:var(--ink-8, #fff);z-index:1}.cost-wbs-table th,.cost-wbs-table td{padding-top:.38rem;padding-bottom:.38rem;font-size:var(--fs-body);white-space:nowrap;line-height:1.25;height:2.15rem;box-sizing:border-box}.cost-wbs-id{font-variant-numeric:tabular-nums;color:var(--ink-3);font-weight:600}.cost-wbs-name{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cost-wbs-pager{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding-top:.15rem}.snap-dot{width:.5rem;height:.5rem;margin-top:.28rem;border-radius:999px;background:var(--slate-400);flex-shrink:0}.kpi-value.warn{color:var(--warning-600)}.kpi-foot{margin-top:auto;padding-top:.65rem;font-size:var(--fs-meta)}.chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--ink-7);stroke-width:1}.chart-axis{fill:var(--ink-4);font-size:var(--fs-over)}@media(max-width:767px){.app-sidebar{border-right:0;border-bottom:1px solid var(--ink-6)}.analysis-grid{grid-template-columns:1fr}}.analysis-grid.chart-grid-2{align-items:stretch;grid-template-columns:minmax(0,6fr) minmax(0,4fr)}.chart-panel{display:flex;flex-direction:column;min-height:17rem}.chart-panel-compress{margin-top:.25rem;min-height:0}.cum-compress-intro{margin:0 0 .75rem;font-size:var(--fs-ui);line-height:1.4}.cum-compress{display:flex;flex-direction:column;gap:.55rem}.cum-compress-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.cum-compress-kpis>div{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--ink-6, var(--line));border-radius:6px;background:var(--ink-8, var(--slate-50))}.cum-compress-kpi-label{font-size:var(--fs-over);font-weight:600;color:var(--ink-3, var(--slate-500))}.cum-compress-kpis strong{font-size:var(--fs-h2);font-variant-numeric:tabular-nums}.cum-compress-legend{display:flex;flex-wrap:wrap;gap:.85rem;font-size:var(--fs-meta);color:var(--ink-3, var(--slate-500))}.cum-compress-legend span{display:inline-flex;align-items:center;gap:.35rem}.cum-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.cum-swatch.exec{background:var(--warning-700)}.cum-swatch.logic{background:var(--warning-500)}.cum-period-list{display:flex;flex-direction:column;gap:.45rem;overflow:hidden}.cum-period-row{display:flex;flex-direction:column;gap:.3rem;width:100%;margin:0;padding:.55rem .65rem;border:1px solid var(--ink-6, var(--line));border-radius:6px;background:var(--slate-0);text-align:left;cursor:pointer;color:inherit;font:inherit}.cum-period-row:hover,.cum-period-row.active{border-color:color-mix(in srgb,var(--accent, var(--accent-500)) 35%,var(--ink-6, var(--line)));background:color-mix(in srgb,var(--accent, var(--accent-500)) 5%,#fff)}.cum-period-row.selected{border-color:color-mix(in srgb,var(--accent, #2563eb) 55%,var(--ink-6, #e4e7ec));box-shadow:inset 3px 0 0 var(--accent, #2563eb)}.forensics-kpi-head{margin:.35rem 0 .15rem}.forensics-kpi-head .section-label{margin-bottom:.2rem}.forensics-kpi-sub{margin:0 0 .65rem;font-size:var(--fs-ui);line-height:1.35}.cum-period-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.cum-period-label{font-size:var(--fs-ui);font-weight:650}.cum-period-net{font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.cum-diverge{display:grid;grid-template-columns:1fr 2px 1fr;align-items:center;gap:0;min-height:1.6rem}.cum-diverge-left,.cum-diverge-right{display:flex;align-items:center;min-width:0;height:1.35rem}.cum-diverge-left{justify-content:flex-end}.cum-diverge-right{justify-content:flex-start}.cum-diverge-axis{width:2px;align-self:stretch;background:var(--ink-5, var(--slate-400));border-radius:1px}.cum-fill{display:flex;align-items:center;min-width:2.5rem;height:100%;padding:0 .4rem;border-radius:3px;color:#fff;font-size:var(--fs-over);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.cum-fill.exec{background:var(--warning-700);justify-content:flex-start}.cum-fill.logic{background:var(--warning-500);justify-content:flex-end}.cum-fill.gain{opacity:.85}.cum-zero{font-size:var(--fs-over);color:var(--ink-4, var(--slate-400));padding:0 .35rem}.cum-compress-table{width:100%;border-collapse:collapse;font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.cum-compress-table th,.cum-compress-table td{padding:.35rem .5rem;border-bottom:1px solid var(--ink-7, var(--slate-100));text-align:right}.cum-compress-table th:first-child,.cum-compress-table td:first-child{text-align:left}.cum-compress-table th{font-size:var(--fs-over);font-weight:650;color:var(--ink-3, var(--slate-500))}.cum-compress-table tbody tr{cursor:pointer}.cum-compress-table tbody tr:hover,.cum-compress-table tbody tr.active{background:color-mix(in srgb,var(--accent, var(--accent-500)) 6%,#fff)}.cum-compress-hover{margin:0;font-size:var(--fs-ui)}.cum-compress.compact .cum-compress-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:767px){.cum-compress-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.scurve-wrap{display:flex;flex-direction:column;gap:.65rem;flex:1}.scurve-svg{flex:1;min-height:12rem}.scurve-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:var(--fs-meta);color:var(--slate-450)}.scurve-legend span{display:inline-flex;align-items:center;gap:.4rem}@media(max-width:1279px){.analysis-grid.chart-grid-2{grid-template-columns:1fr}}.dash-bottom-panel{display:flex;flex-direction:column;min-height:100%;height:100%;overflow:hidden}.dash-bottom-panel .panel-head{flex-shrink:0;align-items:flex-start;margin-bottom:.4rem;min-height:2.85rem}.dash-panel-intro{width:100%;min-width:0}.cps-sub-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-top:.15rem;min-height:1.1rem}.cps-sub-row .panel-sub{margin:0;flex:1;min-width:0}.dash-table-body{flex:1 1 auto;min-height:0;overflow:visible}.dash-bottom-panel .panel-foot{flex-shrink:0;margin-top:auto;padding-top:.45rem}.panel-sub{margin:.15rem 0 0;font-size:var(--fs-meta)}.panel-foot{margin:.55rem 0 0;font-size:var(--fs-meta)}.cps-legend{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem;margin:0;flex-shrink:0;font-size:var(--fs-over);color:var(--slate-450);font-weight:600;line-height:1;white-space:nowrap}.cps-legend-item{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.cps-swatch{display:inline-block;width:.9rem;height:.26rem;border-radius:1px;flex-shrink:0}.cps-swatch.baseline{height:.4rem;border-radius:2px}.cps-swatch.line{height:.2rem}.cps-table{table-layout:fixed}.cps-table thead th{height:auto;vertical-align:bottom;white-space:nowrap;position:sticky;top:0;z-index:3;background:var(--surface)}.cps-table .cps-act-th,.cps-table .cps-act-td{width:24%;vertical-align:middle}.cps-table .cps-timeline-th,.cps-table .cps-timeline-td{width:auto;vertical-align:middle}.cps-table .cps-slip-th,.cps-table .cps-slip-td{width:5.75rem;min-width:5.75rem;text-align:right;vertical-align:middle;white-space:nowrap;padding-left:.4rem;padding-right:.4rem}.cps-table .cps-date-th,.cps-table .cps-date-td{width:6.4rem;text-align:right;vertical-align:middle;white-space:nowrap;padding-left:.4rem;padding-right:.4rem}.cps-table .cps-date-td{font-size:var(--fs-meta)}.cps-table .cps-period-th,.cps-table .cps-period-td{width:5.6rem;text-align:right;vertical-align:middle;white-space:nowrap;padding-left:.4rem;padding-right:.4rem}.cps-table .cps-period-td{font-size:var(--fs-meta)}.cps-period-neg{color:var(--danger-600);font-weight:600}.cps-period-pos{color:var(--success-600);font-weight:600}.cps-table .cps-progress-th,.cps-table .cps-progress-td{width:8.6rem;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:.6rem}.cps-table .cps-progress-td{font-size:var(--fs-meta)}.cps-new{display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;background:var(--danger-50);color:var(--danger-600);font-size:var(--fs-over);font-weight:700;vertical-align:1px}.cps-table thead th[class]{vertical-align:bottom}.cps-table thead .cps-date-th,.cps-table thead .cps-period-th{white-space:normal;line-height:1.25}@media(max-width:1279px){.cps-table .cps-date-th,.cps-table .cps-date-td,.cps-table .cps-progress-th,.cps-table .cps-progress-td{display:none}}.cps-table .cps-float-th,.cps-table .cps-float-td{width:4.25rem;min-width:4.25rem;text-align:right;vertical-align:middle;white-space:nowrap;padding-left:.35rem;padding-right:.9rem}.cps-table .cps-num-td{text-align:right;vertical-align:middle;white-space:nowrap}.cps-table td{padding:.26rem .4rem}.cps-act-name{font-weight:600;font-size:var(--fs-meta);color:var(--ink);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cps-act-code{font-size:var(--fs-over);margin-top:.02rem;line-height:1.1}.cps-track{position:relative;height:1.15rem;border-radius:3px;background:var(--slate-100);overflow:hidden}.cps-bar{position:absolute;border-radius:2px;min-width:3px}.cps-bar.baseline{top:.1rem;height:.38rem;opacity:.95;z-index:1;border-radius:2px}.cps-bar.line{height:.18rem;z-index:2;border-radius:1px}.cps-slip-pill{display:inline-block;padding:.08rem .4rem;border-radius:999px;font-size:var(--fs-meta);font-variant-numeric:tabular-nums;font-weight:600;background:var(--slate-100);color:var(--ink-2)}.cps-slip-pill.neg{background:var(--danger-100);color:var(--danger-600)}.cps-slip-pill.pos{background:var(--success-100);color:var(--success-500)}.cps-float{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-meta)}.cps-float.crit{color:var(--danger-600)}.cps-float.near{color:var(--warning-600)}.neg-text{color:var(--danger-600);font-weight:600;font-variant-numeric:tabular-nums}.fft-done{color:var(--success-500);font-weight:600;display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-meta)}.fft-table{table-layout:fixed;width:100%}.fft-table th,.fft-table td{overflow:hidden;text-overflow:ellipsis}.fft-table th:nth-child(1),.fft-table td:nth-child(1){width:40%}.fft-table th:nth-child(2),.fft-table td:nth-child(2),.fft-table th:nth-child(3),.fft-table td:nth-child(3){width:22%;white-space:nowrap;padding-left:.3rem;padding-right:.3rem}.fft-table th:nth-child(4),.fft-table td:nth-child(4){width:16%;white-space:nowrap;text-align:left}.fft-date{font-size:var(--fs-over);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.dash-tri-grid{margin-top:.25rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.wbs-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.35rem;max-height:18rem;overflow:auto}.wbs-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) 2.4rem 2.6rem;gap:.45rem;align-items:center}.wbs-name{font-size:var(--fs-ui);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wbs-bar-track{height:.45rem;border-radius:999px;background:var(--slate-100);overflow:hidden}.wbs-bar-fill{height:100%;border-radius:inherit;background:var(--accent-400);min-width:0}.wbs-pct{font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--ink-3);text-align:right}.wbs-spi{font-size:var(--fs-meta);font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-3)}.wbs-spi.neg{color:var(--danger-600)}.wbs-spi.pos{color:var(--success-500)}.wbs-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.75rem;font-size:var(--fs-meta);color:var(--slate-450)}.wbs-legend{display:inline-flex;align-items:center;gap:.35rem}.wbs-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent-400)}.logic-period-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.45rem}.logic-period-card{border:1px solid var(--ink-7);border-radius:10px;padding:.7rem .8rem;background:var(--slate-50)}.logic-period-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.logic-period-title{font-weight:600;font-size:var(--fs-body)}.logic-drift-badge{font-size:var(--fs-meta);font-weight:600;font-variant-numeric:tabular-nums;padding:.15rem .5rem;border-radius:999px;background:var(--slate-100);color:var(--ink-2)}.logic-drift-badge.warm{background:var(--warning-100);color:var(--warning-600)}.logic-drift-badge.hot{background:var(--danger-100);color:var(--danger-600)}.logic-drift-badge.cool{background:var(--success-100);color:var(--success-500)}.logic-period-meta{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:var(--fs-meta);color:var(--slate-450)}.logic-period-meta em{font-style:normal;font-weight:600;color:var(--ink-2)}.pos-text{color:var(--success-500)}.warm-text{color:var(--warning-600)}.neg-text{color:var(--danger-600)}.warn-text{color:var(--warning-600)}.hc7-topbar{display:flex;align-items:center;gap:10px}.hc7-verdict{display:grid;grid-template-columns:330px 1px 1fr 1px 400px;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.hc7-divider{background:var(--row-stripe);align-self:stretch}.hc7-verdict-grade{display:flex;align-items:center;gap:14px}.hc7-grade-tile{width:54px;height:54px;border-radius:13px;border:1px solid;display:grid;place-items:center;font-size:var(--fs-kpi);font-weight:600;flex-shrink:0}.hc7-grade-meta{display:flex;flex-direction:column;gap:5px;min-width:0}.hc7-grade-label{font-size:var(--fs-body);font-weight:600;color:var(--ink)}.hc7-grade-sub{font-size:var(--fs-meta);color:var(--ink-2)}.hc7-segs{display:flex;gap:2px}.hc7-seg{width:13px;height:5px;border-radius:2px}.hc7-verdict-k{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--ink-3);margin-bottom:9px}.hc7-verdict-sev{display:flex;flex-direction:column;gap:9px}.hc7-sev-row{display:flex;align-items:center;gap:18px}.hc7-sev-cell{display:flex;flex-direction:column;gap:2px}.hc7-sev-val{font-size:var(--fs-h1);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.hc7-sev-val.sev-high{color:var(--danger-600)}.hc7-sev-val.sev-medium{color:var(--warning-600)}.hc7-sev-val.sev-low{color:var(--ink-3)}.hc7-sev-val.sev-checked{color:var(--ink)}.hc7-sev-val-row{display:flex;align-items:baseline;gap:6px}.hc7-sev-delta{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;font-style:normal}.hc7-sev-delta.delta-good{color:var(--success-600)}.hc7-sev-delta.delta-bad.sev-high{color:var(--danger-600)}.hc7-sev-delta.delta-bad.sev-medium{color:var(--warning-600)}.hc7-sev-delta.delta-bad.sev-low{color:var(--ink-3)}.hc7-sev-delta.delta-bad.sev-checked{color:var(--danger-600)}.hc7-sev-label{font-size:var(--fs-meta);color:var(--ink-2)}.hc7-verdict-trend{display:flex;flex-direction:column;gap:9px}.hc7-verdict-trend-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hc7-trend-note{font-size:var(--fs-over);font-weight:600}.hc7-trend-note.neg{color:var(--danger-600)}.hc7-trend-note.pos{color:var(--success-600)}.hc7-trend-bars{display:flex;align-items:flex-end;gap:6px}.hc7-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.hc7-trend-grade{font-size:var(--fs-over);font-weight:600}.hc7-trend-bar2{width:100%;max-width:36px;border:1px solid;border-bottom:none;border-radius:3px 3px 0 0}.hc7-trend-code{font-size:var(--fs-over);font-weight:600;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hc7-trend-col.is-current .hc7-trend-code{color:var(--accent-600)}.hc7-split{flex:1;min-height:0;display:grid;grid-template-columns:452px 1fr;gap:14px}.hc7-checks{min-height:0;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.hc7-checks-head{flex:0 0 auto;padding:11px 12px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.hc7-checks-title{display:flex;align-items:baseline;justify-content:space-between}.hc7-checks-title>span:first-child{font-size:var(--fs-body);font-weight:600}.hc7-checks-count{font-size:var(--fs-over);color:var(--ink-3)}.hc7-filters{display:flex;gap:5px}.hc7-chip{font-size:var(--fs-meta);font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer;transition:all .12s}.hc7-chip.is-on{color:var(--accent-600);background:var(--accent-50);border-color:var(--accent-200)}.hc7-checks-body{flex:1;min-height:0;overflow-y:auto}.hc7-group-k{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--ink-3);padding:10px 12px 4px;border-bottom:1px solid var(--row-stripe)}.hc7-check-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--row-stripe);background:transparent;cursor:pointer;text-align:left;transition:background .1s}.hc7-check-row:hover{background:var(--row-hover)}.hc7-check-row.is-active{background:var(--row-selected);box-shadow:inset 3px 0 0 0 var(--accent-500)}.hc7-check-code{width:30px;flex:0 0 auto;font-size:var(--fs-over);font-weight:600;color:var(--ink-2);background:var(--row-stripe);border-radius:5px;padding:2px 0;text-align:center}.hc7-check-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hc7-check-title{font-size:var(--fs-ui);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc7-check-meta{font-size:var(--fs-over);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc7-check-status{width:46px;flex:0 0 auto;text-align:center;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;border:1px solid;border-radius:999px;padding:3px 0}.hc7-checks-empty{padding:24px 12px;font-size:var(--fs-ui);color:var(--ink-3);text-align:center}.hc7-checks-foot{flex:0 0 auto;padding:9px 12px;border-top:1px solid var(--line);background:var(--canvas);display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-meta);color:var(--ink-2)}.hc7-link{background:none;border:none;color:var(--accent-600);font-size:inherit;font-weight:500;cursor:pointer;padding:0}.hc7-link:hover{text-decoration:underline}.hc7-evidence{min-height:0;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.hc7-ev-head{flex:0 0 auto;padding:13px 16px 12px;border-bottom:1px solid var(--line)}.hc7-ev-title-row{display:flex;align-items:center;gap:9px}.hc7-ev-code{font-size:var(--fs-over);font-weight:600;color:#fff;background:var(--danger-600);border-radius:5px;padding:2px 7px}.hc7-ev-title{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.01em;margin:0}.hc7-ev-status{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;border:1px solid;border-radius:999px;padding:3px 8px}.hc7-ev-export{margin-left:auto;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:var(--fs-ui);font-weight:500;color:var(--ink-2);background:#fff;cursor:pointer}.hc7-ev-export:hover{border-color:var(--ink-4)}.hc7-ev-desc{margin:8px 0 0;font-size:var(--fs-ui);line-height:1.5;color:var(--ink-2);max-width:720px}.hc7-ev-metrics{flex:0 0 auto;padding:12px 16px;border-bottom:1px solid var(--row-stripe);display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hc7-metric{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.hc7-metric--neg{border-top:3px solid var(--danger-600)}.hc7-metric--warn{border-top:3px solid var(--warning-600)}.hc7-metric-k{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--ink-3)}.hc7-metric-v{font-size:var(--fs-h2);font-weight:600;color:var(--ink)}.hc7-metric--neg .hc7-metric-v,.hc7-metric--warn .hc7-metric-v{color:var(--danger-600)}.hc7-metric-unit{font-size:var(--fs-meta);font-weight:500;color:var(--ink-3)}.hc7-metric-sub{font-size:var(--fs-over);color:var(--ink-3)}.hc7-ev-filterbar{flex:0 0 auto;padding:10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;background:var(--canvas);flex-wrap:wrap}.hc7-ev-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;width:260px}.hc7-toggle{font-size:var(--fs-meta);font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px;cursor:pointer;transition:all .12s;white-space:nowrap}.hc7-toggle:hover{border-color:var(--ink-4)}.hc7-toggle.is-on{color:#fff;background:var(--accent-600);border-color:var(--accent-600)}.hc7-ev-table-head{flex:0 0 auto;height:30px;padding:0 16px;background:var(--canvas);border-bottom:1px solid var(--line);display:grid;grid-template-columns:236px 1fr 82px;align-items:center;gap:12px;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--ink-3)}.hc7-ev-table-head .num{text-align:right}.hc7-ev-table-body{flex:1;min-height:0;overflow-y:auto}.hc7-ev-row{height:44px;padding:0 16px;border-bottom:1px solid var(--row-stripe);display:grid;grid-template-columns:236px 1fr 82px;align-items:center;gap:12px}.hc7-ev-act{display:flex;flex-direction:column;gap:1px;min-width:0}.hc7-ev-code-sm{font-size:var(--fs-meta);font-weight:600;color:var(--ink)}.hc7-ev-act-name{font-size:var(--fs-meta);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc7-ev-finding{font-size:var(--fs-ui);color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc7-ev-sev-cell{text-align:right}.hc7-ev-sev-pill{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;border-radius:999px;padding:2px 7px}.hc7-ev-sev-pill.is-high{color:var(--danger-600);background:#fef2f2;border:1px solid #fee2e2}.hc7-ev-sev-pill.is-medium{color:var(--warning-600);background:#fff7ed;border:1px solid #fed7aa}.hc7-ev-sev-pill.is-low{color:var(--ink-2);background:var(--row-stripe);border:1px solid var(--line)}.hc7-ev-foot{flex:0 0 auto;padding:9px 16px;border-top:1px solid var(--line);background:var(--canvas);display:flex;align-items:center;justify-content:space-between;gap:14px}.hc7-ev-foot-right{display:flex;align-items:center;gap:12px}.hc7-ev-pager-info{font-size:var(--fs-meta);color:var(--ink-2)}.hc7-ev-pager{display:flex;align-items:center;gap:8px}.hc7-ev-pager button{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-2);cursor:pointer;font-size:var(--fs-body)}.hc7-ev-pager button:disabled{color:var(--ink-4);cursor:default}.hc7-ev-empty{flex:1;display:grid;place-items:center;padding:24px;font-size:var(--fs-ui);color:var(--ink-3)}.hc7-ev-empty--big{padding:40px}.hc7-config-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16181d66;z-index:200;display:grid;place-items:center}.hc7-config-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;width:400px;display:flex;flex-direction:column;gap:12px}.hc7-config-panel h3{font-size:var(--fs-h2);font-weight:600;margin:0}.hc7-config-panel label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-ui);color:var(--ink-2)}.hc7-config-panel input{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:var(--fs-ui)}.hc7-config-actions{display:flex;gap:8px;margin-top:4px}.halfstep-bar{display:flex;height:2.4rem;border-radius:10px;overflow:hidden;background:var(--slate-100);margin-bottom:.85rem}.halfstep-seg{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:var(--fs-ui);font-weight:600;white-space:nowrap;overflow:hidden;padding:0 .5rem}.halfstep-seg.exec{background:var(--danger-500)}.halfstep-seg.logic{background:var(--warning-500)}.halfstep-finishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.finish-date{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.02em;margin-top:.15rem}.halfstep-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:var(--fs-meta);color:var(--ink-4)}.halfstep-legend .leg{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;margin-right:.35rem;vertical-align:middle}.halfstep-legend .leg.exec{background:var(--danger-500)}.halfstep-legend .leg.logic{background:var(--warning-500)}.forensics-detail .tabs-underline{margin:-.15rem 0 .85rem}.forensics-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.forensics-cat-card{border:1px solid var(--ink-6);border-radius:10px;padding:.75rem .85rem;background:var(--slate-50)}.forensics-cat-list{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.forensics-cat-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--fs-body)}.variance-row{display:grid;grid-template-columns:6.5rem 1fr 2.4rem;gap:.5rem;align-items:center;margin-top:.55rem;font-size:var(--fs-ui)}.variance-row em{font-style:normal;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.variance-track{height:.55rem;border-radius:999px;background:var(--line);overflow:hidden}.variance-fill{height:100%;border-radius:999px}.variance-fill.exec{background:var(--danger-500)}.variance-fill.logic{background:var(--warning-500)}.forensics-cal-note{margin:-.25rem 0 .75rem;font-size:var(--fs-ui)}.forensics-note{font-size:var(--fs-meta)}@media(max-width:1279px){.dash-tri-grid,.halfstep-finishes,.forensics-cat-grid{grid-template-columns:1fr}}.act3{flex:1 1 0;min-height:0;gap:10px}.act3-capsule,.act3-toolbar .act3-colpick .btn,.act3-toolbar .act3-capsule{border-radius:var(--radius-pill);padding:5px 12px;flex-shrink:0}.act3-toolbar .act3-rel,.act3-rel{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--slate-0);color:var(--slate-700);cursor:pointer;flex-shrink:0}.act3-rel svg{display:block;width:16px;height:16px;flex-shrink:0}.act3-rel.is-on{border-color:var(--accent-300);background:var(--accent-50);color:var(--accent-600)}.act3-rel:disabled{opacity:.4;cursor:default}.act3-link-layer{position:absolute;top:0;left:0;pointer-events:none;z-index:3;overflow:visible}.act3-colpick{position:relative;z-index:6}.act3-colpick-n{margin-left:4px;padding:1px 5px;border-radius:var(--radius-pill);background:var(--slate-100);color:var(--slate-500);font-size:var(--fs-over);font-weight:600}.act3-colpick-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-dropdown, 40);min-width:13rem;padding:10px 0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 28px #16181d24}.act3-colpick-title{margin:0 12px 2px;font-size:var(--fs-meta);font-weight:600}.act3-colpick-hint{margin:0 12px 8px;font-size:var(--fs-over);color:var(--slate-450)}.act3-colpick-list{list-style:none;margin:0;padding:0}.act3-colpick-item{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:var(--fs-ui);cursor:pointer}.act3-colpick-item:hover{background:var(--slate-50)}.act3-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.act3-search{display:inline-flex;align-items:center;gap:7px;width:15rem;min-width:10rem;flex:0 1 15rem;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--slate-0);color:var(--slate-400)}.act3-search .field-input{border:0;padding:7px 0;box-shadow:none}.act3-search .field-input:focus{outline:none}.act3-toolbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:nowrap;flex-shrink:0}.act3-expand{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid var(--line);border-radius:8px}.act3-filters{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent-200);background:var(--accent-50);border-radius:8px;padding:6px 11px;font:inherit;font-size:var(--fs-ui);font-weight:500;color:var(--accent-600);cursor:pointer}.act3-filters:not(.is-on){border-color:var(--line);background:var(--slate-0);color:var(--slate-600)}.act3-filters-n{padding:1px 5px;border-radius:var(--radius-pill);background:var(--accent-500);color:#fff;font-size:var(--fs-over);font-weight:600}.act3-views{display:inline-flex;padding:3px;border-radius:8px;background:var(--slate-100)}.act3-views button{display:inline-flex;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--slate-500);cursor:pointer}.act3-views button.is-on{background:var(--slate-0);color:var(--ink);box-shadow:0 1px 2px #16181d0f}.act3-expand-k,.act3-path-k,.act3-rollk{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.act3-expand-pills{display:flex;gap:2px}.act3-depth{min-width:17px;border:0;background:transparent;color:var(--slate-500);font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;cursor:pointer;padding:2px 4px}.act3-depth.is-on{color:var(--accent-600);background:var(--accent-50);border-radius:4px}.act3-depth:disabled{opacity:.35;cursor:default}.act3-path{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--slate-0);font-size:var(--fs-meta)}.act3-path-seg button{border:0;background:transparent;font:inherit;color:var(--ink);cursor:pointer;padding:0}.act3-path-sep{margin:0 5px;color:var(--line-strong)}.act3-path-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--slate-400)}.act3-path-link,.act3-path-clear,.act3-trace{border:0;background:transparent;font:inherit;font-size:var(--fs-meta);font-weight:500;cursor:pointer;padding:0}.act3-path-link,.act3-trace{color:var(--accent-600)}.act3-path-clear{color:var(--slate-500)}.act3-trace:disabled{color:var(--slate-400);cursor:not-allowed}.act3-frame{flex:1 1 0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--slate-0);overflow:hidden}.act3-frame.is-split{flex-direction:row}.act3-pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.act3-frame:not(.is-split) .act3-pane{flex:1 1 auto}.act3-frame.is-split .act3-pane.is-table{flex:0 0 40%;width:40%}.act3-frame.is-split .act3-pane.is-gantt{flex:0 0 60%;width:60%;border-left:1px solid var(--line)}.act3-pane-head{flex:0 0 auto;overflow:hidden;background:var(--ink-8);border-bottom:1px solid var(--line)}.act3-cols,.act3-row{display:grid;min-width:0;align-items:center}.act3-cols{align-items:end;font-family:var(--font-num);font-size:var(--fs-meta);font-weight:500;color:var(--slate-500)}.act3-cols>div{padding:10px 8px 9px}.act3-cols>div:first-child{padding-left:16px}.act3-tl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:8px 10px;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.act3-tl-keys{display:flex;gap:8px}.act3-tl-keys .is-now{color:var(--accent-600)}.act3-scroll{flex:1 1 0;min-height:0;overflow:auto}.act3-frame.is-split .act3-pane.is-table .act3-scroll{overflow-x:auto;overflow-y:hidden}.act3-frame.is-split .act3-pane.is-gantt .act3-scroll{overflow:auto}.act3-virt{position:relative;width:100%;min-width:0}.act3-virt-row{position:absolute;top:0;left:0;width:100%;min-width:0}.act3-row{height:100%;border-bottom:1px solid var(--ink-7);cursor:pointer}.act3-row.is-gantt{display:block;position:relative}.act3-row.is-wbs{background:var(--ink-8)}.act3-row.is-act:hover{background:var(--slate-50)}.act3-row.is-selected{background:var(--row-selected);box-shadow:inset 3px 0 0 var(--accent-500)}.act3-row>div{min-width:0;padding:0 8px;font-size:var(--fs-ui)}.act3-row>.num{font-family:var(--font-num);font-size:var(--fs-over);text-align:right;color:var(--slate-600)}.act3-row>.num.is-neg{color:var(--danger-600);font-weight:600}.act3-row>.num.is-pos{color:var(--success-600);font-weight:600}.act3-row>.num.is-warn{color:var(--warning-600);font-weight:600}.act3-name{display:flex;align-items:stretch;min-width:0;height:100%;padding-left:14px!important}.act3-rails{display:flex}.act3-rails span{flex:0 0 11px;border-left:1px solid var(--line)}.act3-caret{flex:0 0 15px;display:grid;place-items:center;border:0;background:transparent;color:var(--slate-400);padding:0;cursor:pointer}.act3-caret.is-leaf{width:15px}.act3-lvl{flex:0 0 auto;margin-right:7px;align-self:center;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-500);background:var(--slate-100);border-radius:4px;padding:1px 4px}.act3-wbs-name{align-self:center;min-width:0;font-size:var(--fs-ui);font-weight:600;color:var(--slate-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act3-act-name{align-self:center;min-width:0;font-size:var(--fs-ui);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act3-meta{align-self:center;margin-left:7px;font-size:var(--fs-over);color:var(--slate-450);flex:0 0 auto}.act3-code{font-size:var(--fs-over);color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act3-st{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-pill);font-size:var(--fs-over);font-weight:600;white-space:nowrap}.act3-st-complete{background:var(--success-50);color:var(--success-600)}.act3-st-critical{background:var(--danger-50);color:var(--danger-600)}.act3-st-near{background:var(--warning-50);color:var(--warning-600)}.act3-st-neutral{background:var(--slate-100);color:var(--slate-500)}.act3-st-progress{background:var(--accent-50);color:var(--accent-600)}.act3-tl{position:relative;height:100%;width:100%;padding:0 10px!important}.act3-bar{position:absolute;top:50%;height:7px;margin-top:-3.5px;border-radius:2px;background:var(--accent-500)}.act3-row.is-wbs .act3-bar{height:4px;margin-top:-2px;background:var(--slate-500)}.act3-mark{position:absolute;top:0;bottom:0;width:1px;background:var(--line-strong)}.act3-mark.is-now{background:var(--accent-500)}.act3-tl-slip{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--font-num);font-size:var(--fs-over);font-weight:600}.act3-empty{padding:16px}.act3-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:var(--fs-meta);color:var(--slate-500)}.act3-foot-actions{margin-left:auto}.chain-modal{width:min(640px,100%);max-height:85vh;overflow-y:auto}.chain-lookup{display:flex;flex-direction:column;gap:var(--space-3)}.chain-search-row{display:flex;align-items:center;gap:var(--space-3)}.chain-search-row .field-input{max-width:16rem}.chain-result{display:flex;flex-direction:column;gap:var(--space-4)}.chain-hops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.chain-hop{position:relative;border:1px solid var(--ink-6);border-radius:var(--radius-lg);background:var(--slate-0);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.chain-connector{position:absolute;left:var(--space-4);bottom:calc(-1 * var(--space-5));width:1px;height:var(--space-5);background:var(--ink-6)}.chain-hop-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.chain-hop-id{display:flex;align-items:baseline;gap:var(--space-2)}.chain-hop-id code{font-weight:700;font-size:var(--text-sm)}.chain-hop-name{font-size:var(--text-sm);color:var(--ink-3)}.chain-hop-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--ink-7);border-bottom:1px solid var(--ink-7);margin-bottom:var(--space-2)}.chain-hop-metric{display:flex;flex-direction:column;gap:2px}.chain-hop-metric-label{font-size:var(--text-xs);color:var(--ink-4)}.chain-hop-metric strong{font-size:var(--text-base);font-weight:700}.chain-hop-own{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.chain-hop-own-split{font-size:var(--text-xs)}.chain-arrow{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--accent-500)}.chain-stop{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.chain-note{font-size:var(--fs-meta)}.chain-period-sub{margin:4px 0 0;font-size:var(--text-sm)}.chain-periods{display:grid;gap:6px;margin-bottom:var(--space-3)}.chain-periods-label{font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.chain-periods-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.chain-period{display:grid;flex:none;gap:2px;min-width:112px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);font:inherit;text-align:left;cursor:pointer}.chain-period:hover{border-color:var(--accent-300)}.chain-period.is-active{border-color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--navy-900)}.chain-period-name{font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.chain-period-moved{font-family:var(--font-num);font-size:var(--text-base);font-weight:600;color:var(--slate-400)}.chain-period.is-late .chain-period-moved{color:var(--danger-600)}.chain-period.is-early .chain-period-moved{color:var(--success-600)}.chain-elsewhere{margin:0 0 var(--space-3);padding:8px 12px;border-radius:var(--radius-md);background:var(--accent-50);font-size:var(--text-base);color:var(--ink)}.chain-link{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--accent-600);text-decoration:underline;cursor:pointer}.log4{gap:10px;min-height:0;flex:1 1 auto}.log4-toolbar,.log4-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.log4-toolbar-right,.log4-tools-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.log4-search{width:14rem;min-width:10rem;flex:0 1 14rem}.log4-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.log4-kpi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:7px}.log4-kpi-k{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.log4-kpi-val{display:flex;align-items:baseline;gap:8px}.log4-kpi-val span{font-size:var(--fs-kpi);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.log4-kpi-val span.neg{color:var(--danger-700, #b91c1c)}.log4-kpi-val span.warn{color:var(--warn-700, #c2410c)}.log4-kpi-val em{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;font-style:normal;color:var(--slate-500)}.log4-kpi-val em.neg{color:var(--danger-700, #b91c1c)}.log4-kpi-val em.pos{color:var(--success-700, #15803d)}.log4-kpi-bar{display:flex;align-items:center;gap:7px}.log4-kpi-bar span{flex:1;height:4px;border-radius:2px;background:var(--slate-100);position:relative;overflow:hidden}.log4-kpi-bar i{position:absolute;inset:0 auto 0 0;background:var(--accent-300);border-radius:2px}.log4-kpi-bar small{font-size:var(--fs-over);color:var(--slate-400);white-space:nowrap}.log4-chips{display:flex;flex-wrap:wrap;gap:6px}.log4-chip{border:1px solid var(--line);background:#fff;color:var(--slate-600);border-radius:var(--radius-pill);padding:5px 11px;font:inherit;font-size:var(--fs-meta);font-weight:500;cursor:pointer}.log4-chip.is-on{background:var(--accent-500);border-color:var(--accent-500);color:#fff;font-weight:600}.log4-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font:inherit;font-size:var(--fs-ui);font-weight:500;color:var(--slate-600);cursor:pointer}.log4-toggle.is-on{border-color:var(--accent-200);background:var(--accent-50);color:var(--accent-text, var(--accent-600))}.log4-switch{width:26px;height:15px;border-radius:999px;background:var(--slate-300);position:relative}.log4-switch:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:999px;background:#fff}.log4-toggle.is-on .log4-switch{background:var(--accent-500)}.log4-toggle.is-on .log4-switch:after{left:auto;right:2px}.log4-group{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--slate-50, #f9f9fb);border-radius:8px;padding:4px 8px}.log4-group-k,.log4-path-k,.log4-rail-k,.log4-filter-h{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.log4-group-pills{display:flex;gap:2px}.log4-group-pills button{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-500);background:transparent;border:0;border-radius:5px;padding:3px 7px;cursor:pointer}.log4-group-pills button.is-on{background:var(--accent-500);color:#fff}.log4-filters{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font:inherit;font-size:var(--fs-ui);font-weight:500;color:var(--slate-600);cursor:pointer}.log4-filters.is-on{border-color:var(--accent-200);background:var(--accent-50);color:var(--accent-text, var(--accent-600))}.log4-filter-wrap{position:relative}.log4-filter-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:8;width:220px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 10px 28px #16181d1a}.log4-filter-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);padding:4px 0}.log4-filter-note{margin:8px 0 0;font-size:var(--fs-over);color:var(--slate-400);line-height:1.4}.log4-split{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.log4-table-card,.log4-rail-card{background:#fff;border:1px solid var(--line);border-radius:12px}.log4-table-card{min-height:0;display:flex;flex-direction:column;overflow:hidden}.log4-banner{padding:8px 16px;font-size:var(--fs-meta);color:var(--ink-2, #5c6370);background:var(--row-selected, #fbfaff);border-bottom:1px solid var(--line)}.log4-path{display:flex;align-items:center;gap:7px;padding:7px 16px;background:var(--row-selected, #fbfaff);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}.log4-path-bit{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-meta);color:var(--slate-500);white-space:nowrap}.log4-path-bit .is-on{font-weight:600;color:var(--ink)}.log4-path-sep{color:var(--slate-300)}.log4-path-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.log4-path-actions button{border:0;background:none;font:inherit;font-size:var(--fs-meta);font-weight:500;color:var(--accent-text, var(--accent-600));cursor:pointer;padding:0}.log4-path-dot{color:var(--slate-300)}.log4-head,.log4-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 148px 60px 54px 58px 120px;align-items:center}.log4-head{background:var(--slate-50, #f9f9fb);border-bottom:1px solid var(--line);font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.log4-head>div{padding:10px 8px 9px}.log4-head>div:first-child{padding-left:16px}.log4-body{flex:1 1 auto;min-height:220px;overflow:auto}.log4-virt{position:relative;width:100%}.log4-virt-row{position:absolute;top:0;left:0;right:0}.log4-row{height:32px;border-bottom:1px solid var(--slate-100);cursor:pointer}.log4-row.is-group{background:#f5f5f8;height:28px}.log4-row.is-act{background:#fff}.log4-row.is-selected{background:var(--row-selected, #fbfaff);box-shadow:inset 3px 0 0 var(--accent-500)}.log4-name{display:flex;align-items:center;gap:6px;min-width:0;padding-left:14px;height:100%}.log4-rail-line{flex:0 0 13px;align-self:stretch;border-left:1px solid #eaeaef}.log4-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-ui);font-weight:500;color:var(--ink)}.log4-row.is-delta .log4-row-name{font-weight:400}.log4-meta,.log4-from{flex:0 0 auto;font-size:var(--fs-over);color:var(--slate-400)}.log4-kind-chip{flex:0 0 auto;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;letter-spacing:.04em;color:var(--accent-text, var(--accent-600));background:var(--accent-50);border:1px solid var(--accent-200);border-radius:5px;padding:1px 5px}.log4-kind-chip.is-add{color:var(--success-700, #15803d);background:#f0fdf4;border-color:#bbf7d0}.log4-kind-chip.is-remove{color:var(--slate-600);background:var(--slate-100);border-color:var(--slate-200, #e5e5ea)}.log4-id,.log4-chg{padding:0 8px;font-size:var(--fs-over);color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log4-chg s{color:var(--slate-400)}.log4-arrow{margin:0 4px;color:var(--slate-300)}.log4-new{color:var(--accent-text, var(--accent-600));font-weight:600}.log4-row .num{padding-right:8px;font-family:var(--font-num);font-size:var(--fs-over)}.log4-row .num.neg{color:var(--danger-700, #b91c1c);font-weight:600}.log4-drives{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;letter-spacing:.06em;color:var(--danger-700, #b91c1c)}.log4-col-wrap{position:relative}.log4-col-pop{position:absolute;top:100%;right:0;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;z-index:50;min-width:180px;box-shadow:0 4px 16px #00000014}.log4-col-h{font-size:var(--fs-over);font-weight:600;color:var(--ink-3);margin:0 0 8px}.log4-col-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);color:var(--ink-2);padding:4px 0;cursor:pointer}.log4-col-row input{accent-color:var(--accent-600)}.log4-effect-col{padding:8px 12px;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.log4-effect-cell{padding:0 12px;display:flex;align-items:center}.log4-effect-bar{width:100%;display:flex;align-items:center;gap:4px}.log4-effect-track{flex:1;height:6px;background:var(--slate-100, #f2f2f5);border-radius:3px;overflow:hidden}.log4-effect-fill{height:100%;border-radius:3px;transition:width .2s}.log4-effect-fill.is-neg{background:var(--danger-500, #dc2626)}.log4-effect-fill.is-pos{background:var(--success-500, #15803d)}.log4-effect-none{width:100%;height:6px;background:var(--slate-100, #f2f2f5);border-radius:3px}.log4-effect-dot{width:6px;height:6px;border-radius:50%;background:var(--danger-500, #dc2626);flex:0 0 auto}.log4-foot{display:flex;align-items:center;gap:16px;padding:8px 16px;border-top:1px solid var(--line);font-size:var(--fs-meta);color:var(--slate-500)}.log4-foot-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.log4-rail{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.log4-rail-card{padding:14px;display:flex;flex-direction:column;gap:10px}.log4-rail-title{font-size:var(--fs-body);font-weight:600;color:var(--ink)}.log4-rail-empty{margin:0;font-size:var(--fs-ui);color:var(--slate-400)}.log4-rail-head{display:flex;align-items:baseline;justify-content:space-between}.log4-see{font-size:var(--fs-meta);font-weight:500;color:var(--accent-text, var(--accent-600))}.log4-states{display:flex;flex-direction:column;gap:8px}.log4-state{border:1px solid var(--line);background:var(--slate-50, #f9f9fb);border-radius:10px;padding:9px 10px}.log4-state.is-now{background:var(--row-selected, #fbfaff);border-color:var(--accent-200)}.log4-state-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400);margin-bottom:8px}.log4-state.is-now .log4-state-top{color:var(--accent-text, var(--accent-600))}.log4-state-top em{font-style:normal;font-size:var(--fs-over);color:var(--slate-600)}.log4-state-nodes{display:flex;align-items:center;gap:5px;font-size:var(--fs-meta);color:var(--slate-700)}.log4-state-nodes span{background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%}.log4-state-nodes i{flex:1;height:2px;background:var(--slate-200, #e5e5ea)}.log4-state-nodes code{font-family:var(--font-mono),monospace;font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.log4-state.is-now .log4-state-nodes code{color:var(--accent-text, var(--accent-600))}.log4-pc{display:flex;align-items:center;gap:8px;border-top:1px solid var(--slate-100);padding-top:11px;font-size:var(--fs-ui);color:var(--slate-600)}.log4-pc-line{flex:1;height:1px;background:var(--slate-100)}.log4-pc strong{font-family:var(--font-num);font-size:var(--fs-ui)}.log4-pc strong.neg,.log4-cons em.neg{color:var(--danger-700, #b91c1c)}.log4-cons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.log4-cons li{display:flex;align-items:center;gap:9px;font-size:var(--fs-ui);color:var(--ink)}.log4-cons i{width:6px;height:6px;border-radius:999px;background:var(--slate-300);flex:0 0 auto}.log4-cons i.is-slip{background:#b91c1c}.log4-cons i.is-float{background:#c2410c}.log4-cons i.is-logic{background:var(--accent-500)}.log4-cons em{margin-left:auto;font-family:var(--font-num);font-size:var(--fs-meta);font-weight:600;font-style:normal}.log4-cons em.is-plain{color:var(--slate-600)}.log4-similar{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.log4-similar li{border-left:2px solid var(--accent-100);padding-left:9px;display:flex;flex-direction:column;gap:2px}.log4-similar span{font-size:var(--fs-ui);color:var(--ink)}.log4-similar code{font-family:var(--font-mono),monospace;font-size:var(--fs-over);color:var(--slate-400)}.log4-rail-actions{display:flex;gap:9px;margin-top:auto}.log4-rail-actions .btn{flex:1}@media(max-width:1279px){.log4-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.log4-split{grid-template-columns:1fr}}.analysis-page-xer{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding-top:0;gap:.35rem}.tv5{display:flex;flex-direction:column;min-height:0;flex:1 1 0;gap:10px;padding:10px 22px 16px}.tv5-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;flex-shrink:0}.tv5-search{display:inline-flex;align-items:center;gap:8px;width:218px;min-width:160px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--slate-0);color:var(--slate-400)}.tv5-search .field-input{border:0;padding:7px 0;box-shadow:none}.tv5-search .field-input:focus{outline:none}.tv5-expand{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--slate-50);flex-shrink:0}.tv5-expand-k{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.tv5-links{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--slate-0);border-radius:8px;padding:6px 10px;font:inherit;font-size:var(--fs-ui);font-weight:500;color:var(--slate-700);cursor:pointer;flex-shrink:0}.tv5-links.is-on{border-color:var(--accent-200);background:var(--accent-50);color:var(--accent-600)}.tv5-switch{position:relative;width:26px;height:15px;border-radius:999px;background:var(--slate-300);display:inline-block}.tv5-links.is-on .tv5-switch{background:var(--accent-500)}.tv5-switch span{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:999px;background:#fff}.tv5-links.is-on .tv5-switch span{left:auto;right:2px}.tv5-capsule{display:inline-flex!important;align-items:center;gap:6px}.tv5-col-n{padding:1px 5px;border-radius:999px;background:var(--slate-100);color:var(--slate-500);font-size:var(--fs-over);font-weight:600}.tv5-toolbar-right{display:flex;align-items:center;gap:9px;margin-left:auto;flex-shrink:0}.tv5-dd-dot{width:8px;height:8px;border-radius:999px;background:var(--danger-600, #dc2626)}.tv5-gantt{min-height:0}.tv5-gantt .gantt-split{border-radius:12px 12px 0 0;border-color:var(--line)}.tv5-gantt .gantt-left-header,.tv5-gantt .gantt-right-header{height:44px;background:var(--slate-50);border-bottom-color:var(--line);font-family:var(--font-num);font-size:var(--fs-over);letter-spacing:.06em}.tv5-gantt .gantt-left-header{align-items:flex-end}.tv5-gantt .gantt-sort-btn{padding:0 8px 9px;justify-content:flex-end;color:var(--slate-400)}.tv5-gantt .gantt-name-head .gantt-sort-btn{justify-content:flex-start;padding-left:16px}.tv5-gantt .gantt-sort-btn.active{color:var(--accent-600)}.tv5-gantt .gantt-name-cell{display:flex;align-items:stretch;padding:0 8px 0 12px;gap:0}.tv5-gantt .gantt-rails{display:flex}.tv5-gantt .gantt-rails span{flex:0 0 12px;border-left:1px solid #eaeaef}.tv5-gantt .gantt-rails span.is-last{border-left-color:var(--accent-300)}.tv5-gantt .gantt-wbs-toggle,.tv5-gantt .gantt-act-label{flex:1;min-width:0;padding-left:0}.tv5-gantt .gantt-lvl{flex:0 0 auto;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--slate-500);background:#e9e9ee;border-radius:4px;padding:1px 4px}.tv5-gantt .gantt-lvl.is-high{color:var(--accent-600);background:var(--accent-100)}.tv5-gantt .gantt-wbs-code,.tv5-gantt .gantt-act-code{margin-left:auto;font-size:var(--fs-over);color:var(--slate-450)}.tv5-gantt .gantt-row-wbs.is-wbs-top,.tv5-gantt .gantt-row-wbs.is-wbs-top .gantt-name-cell,.tv5-gantt .gantt-row-wbs.is-wbs-top .gantt-data-cell{background:#eeeef3!important}.tv5-gantt .gantt-row-wbs.is-wbs-mid,.tv5-gantt .gantt-row-wbs.is-wbs-mid .gantt-name-cell,.tv5-gantt .gantt-row-wbs.is-wbs-mid .gantt-data-cell{background:#f5f5f8!important}.tv5-gantt .gantt-chart-row.gantt-row-wbs.is-wbs-top{background:#f4f4f7}.tv5-gantt .gantt-chart-row.gantt-row-wbs.is-wbs-mid{background:#fafafc}.tv5-gantt .gantt-row.is-selected,.tv5-gantt .gantt-chart-row.is-selected{background:var(--row-selected, #fbfaff);box-shadow:inset 3px 0 0 var(--accent-500)}.tv5-gantt .gantt-row.is-done .gantt-act-name{color:var(--slate-500)}.tv5-gantt .gantt-data-cell{font-family:var(--font-num);font-size:var(--fs-over);color:var(--slate-600);justify-content:flex-end;text-align:right}.tv5-gantt .gantt-band-row{position:relative;height:20px}.tv5-gantt .gantt-band-row.is-minor{height:23px;border-top:1px solid var(--slate-100)}.tv5-gantt .gantt-band{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:8px;border-left:1px solid var(--line);font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;letter-spacing:.06em;color:var(--slate-500);box-sizing:border-box}.tv5-gantt .gantt-band-row.is-minor .gantt-band{justify-content:center;padding-left:0;font-size:var(--fs-over);font-weight:500;letter-spacing:.04em;color:var(--slate-400);border-left-color:var(--slate-100)}.tv5-gantt .gantt-band-row.is-minor .gantt-band.is-major-tick{color:var(--slate-500);border-left-color:var(--line)}.tv5-gantt .gantt-dd-chip{position:absolute;top:4px;z-index:2;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:var(--danger-600, #dc2626);background:#fef2f2;border:1px solid #fee2e2;border-radius:4px;padding:1px 5px;white-space:nowrap}.tv5-gantt .gantt-gridline.is-major{background:#eceaf0}.tv5-gantt .gantt-today-line{width:1px;background:#dc2626}.tv5-gantt .gantt-bar{top:9px;height:12px;border:1px solid var(--accent-300);background:var(--accent-100);overflow:hidden}.tv5-gantt .gantt-bar.is-todo{background:var(--accent-500);border-color:var(--accent-500)}.tv5-gantt .gantt-bar.is-crit{background:#dc2626;border-color:#dc2626}.tv5-gantt .gantt-bar.is-prog{background:var(--accent-100);border-color:var(--accent-300)}.tv5-gantt .gantt-bar.is-done{background:#e9e9ee;border-color:#cdced4;opacity:1}.tv5-gantt .gantt-bar-fill{display:block;height:100%;background:var(--accent-500)}.tv5-gantt .gantt-bar.is-done .gantt-bar-fill{background:#9a9da6}.tv5-gantt .gantt-wbs-bar{top:12px;height:6px;background:#3a3d46}.tv5-gantt .gantt-wbs-cap{top:6px;width:5px;height:4px}.tv5-gantt .gantt-wbs-cap-start{left:0;transform:skew(28deg);border-radius:0 0 0 2px}.tv5-gantt .gantt-wbs-cap-end{right:0;transform:skew(-28deg);border-radius:0 0 2px}.tv5-gantt .gantt-ms-wrap{position:absolute;top:9px;z-index:2;display:flex;align-items:center;gap:6px;margin-left:-5.5px}.tv5-gantt .gantt-milestone{position:relative;top:0;width:11px;height:11px;margin-left:0;background:#16181d;flex-shrink:0}.tv5-gantt .gantt-milestone.critical{background:#b91c1c}.tv5-gantt .gantt-ms-label{font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;color:#16181d;white-space:nowrap}.tv5-gantt .gantt-milestone.critical+.gantt-ms-label{color:#b91c1c}.tv5-gantt .gantt-link-path.is-drive{stroke:#dc2626}.tv5-gantt .gantt-link-arrow.is-drive{fill:#dc2626}.tv5-foot{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:9px 16px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--slate-50)}.tv5-foot-meta{font-size:var(--fs-over);color:var(--slate-500)}.tv5-legend{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:var(--fs-meta);color:var(--slate-500)}.tv5-legend span{display:inline-flex;align-items:center;gap:5px}.tv5-legend i{display:inline-block}.tv5-legend i.is-sum{width:14px;height:6px;background:#3a3d46}.tv5-legend i.is-act,.tv5-legend i.is-crit,.tv5-legend i.is-done{width:14px;height:8px;border-radius:2px}.tv5-legend i.is-act{background:var(--accent-500)}.tv5-legend i.is-crit{background:#dc2626}.tv5-legend i.is-done{background:#9a9da6}.tv5-legend i.is-ms{width:8px;height:8px;background:#16181d;transform:rotate(45deg)}.analysis-page-xer .analysis-body,.xer-details-page{display:flex;flex-direction:column;min-height:0;flex:1 1 0;gap:.3rem;overflow:hidden}.analysis-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;flex-shrink:0;margin:calc(-1 * var(--page-pad-top, 0px)) calc(-1 * var(--page-pad-x, 0px)) 0;padding:14px 32px;background:var(--surface);border-bottom:1px solid var(--line)}.analysis-topbar-lead{display:flex;align-items:center;gap:14px;min-width:0}.analysis-topbar-lead>div{min-width:0}.analysis-topbar-crumb{margin:0;min-width:0;font-size:var(--fs-meta);color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-topbar-crumb a{color:var(--slate-500);text-decoration:none}.analysis-topbar-crumb a:hover{color:var(--accent-600)}.analysis-topbar-titleline{display:flex;align-items:baseline;gap:12px;min-width:0}.analysis-topbar-title{margin:2px 0 0;font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.analysis-topbar-sub{margin:0;font-size:var(--fs-meta);color:var(--slate-500);white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);padding:5px 11px;white-space:nowrap}.status-pill-dot{width:7px;height:7px;border-radius:var(--radius-pill)}.status-pill-label{font-size:var(--fs-meta);font-weight:600}.status-pill-warn{background:var(--warning-25);border:1px solid var(--warning-75)}.status-pill-warn .status-pill-dot{background:var(--warning-500)}.status-pill-warn .status-pill-label{color:var(--warning-700)}.status-pill-bad{background:var(--danger-50);border:1px solid var(--danger-100)}.status-pill-bad .status-pill-dot{background:var(--danger-500)}.status-pill-bad .status-pill-label{color:var(--danger-600)}.status-pill-ok{background:var(--success-50);border:1px solid var(--success-100)}.status-pill-ok .status-pill-dot{background:var(--success-500)}.status-pill-ok .status-pill-label{color:var(--success-700)}.anchor-chip-wrap{position:relative;display:inline-flex;align-items:center;gap:8px}.anchor-chip-k{font-size:var(--fs-over);font-weight:600;color:var(--slate-400)}.anchor-chip-from{font-size:var(--fs-ui);font-weight:600;color:var(--slate-800)}.anchor-chip-to{font-size:var(--fs-ui);font-weight:600;color:var(--accent-600)}.anchor-chip-dates{padding-left:8px;margin-left:2px;border-left:1px solid var(--line);font-size:var(--fs-meta);color:var(--slate-500)}@media(max-width:767px){.anchor-chip-dates{display:none}}.analysis-topbar-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem;flex:0 1 auto;min-width:0}.analysis-topbar-status{font-size:var(--fs-meta);white-space:nowrap}.analysis-topbar-controls .segmented{flex-shrink:0}.analysis-topbar-controls .segmented button{padding:.28rem .45rem;font-size:var(--fs-meta)}.analysis-topbar-controls .field-select{width:auto;min-width:6.5rem;max-width:9rem;min-height:var(--control-h);padding:.28rem .45rem;font-size:var(--fs-meta)}.gantt-filter-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--slate-0);color:var(--slate-600);font:inherit;font-size:var(--fs-ui);font-weight:500;cursor:pointer;flex-shrink:0}.gantt-filter-btn:hover{background:var(--slate-50);color:var(--ink);border-color:var(--line-strong)}.gantt-filter-btn.active{color:var(--accent-600);border-color:var(--accent-200);background:var(--accent-50)}.gantt-filter-btn-badge{min-width:1rem;padding:1px 5px;border-radius:999px;background:var(--accent-500);color:#fff;font-family:var(--font-num);font-size:var(--fs-over);font-weight:600;line-height:1.2;text-align:center}.gantt-filter-modal{width:min(32rem,calc(100vw - 2rem));max-height:min(36rem,calc(100vh - 2.5rem));display:flex;flex-direction:column;overflow:hidden}.gantt-filter-body{flex:1;min-height:0;overflow:auto;padding-bottom:.35rem}.gantt-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem .85rem;padding:0 1.1rem .35rem}.gantt-filter-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.gantt-filter-field>span{font-size:var(--fs-meta);font-weight:600;color:var(--ink-muted, var(--slate-600));letter-spacing:.01em}.gantt-filter-fieldset{margin:.55rem 1.1rem 0;padding:.55rem .65rem .65rem;border:1px solid var(--border);border-radius:10px;min-width:0}.gantt-filter-fieldset legend{padding:0 .25rem;font-size:var(--fs-meta);font-weight:650;color:var(--ink-muted, var(--slate-600))}.gantt-filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}.gantt-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border:1px solid var(--border);border-radius:999px;font-size:var(--fs-meta);color:var(--ink);background:var(--slate-0);cursor:pointer;-webkit-user-select:none;user-select:none}.gantt-filter-chip input{margin:0}.gantt-filter-chip.on{border-color:color-mix(in srgb,var(--accent, var(--accent-500)) 50%,var(--border));background:color-mix(in srgb,var(--accent, var(--accent-500)) 10%,#fff);color:var(--accent, var(--accent-500))}.gantt-filter-chip-n{font-size:var(--fs-over);font-weight:600;opacity:.72}.gantt-filter-wbs{max-height:9.5rem;overflow:auto;display:flex;flex-direction:column;gap:.15rem;margin-top:.15rem}.gantt-filter-wbs-item{display:flex;align-items:center;gap:.45rem;padding:.2rem .15rem;font-size:var(--fs-ui);min-width:0;cursor:pointer}.gantt-filter-wbs-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-filter-clear-wbs{margin-top:.4rem;border:none;background:none;padding:0;font-size:var(--fs-meta);color:var(--accent, var(--accent-500));cursor:pointer;text-align:left}.gantt-filter-actions{display:flex;justify-content:flex-end;gap:.55rem;padding:.85rem 1.1rem 1rem;margin-top:auto;border-top:1px solid var(--border);background:var(--slate-0)}.gantt{display:flex;flex-direction:column;min-height:0;flex:1 1 0;overflow:hidden}.gantt-split{display:flex;min-height:0;flex:1 1 0;border:1px solid var(--ink-6);border-radius:8px;background:var(--surface);overflow:hidden}.gantt-left{display:flex;flex-direction:column;flex-shrink:0;min-width:0;min-height:0;border-right:1px solid var(--ink-6);overflow-x:auto;overflow-y:hidden;background:var(--surface);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink-6) 90%,var(--ink-4)) transparent}.gantt-resizer{flex:none;width:7px;margin:0 -4px 0 -3px;position:relative;z-index:4;cursor:col-resize;touch-action:none;background:transparent}.gantt-resizer:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .12s}.gantt-resizer:hover:after,.gantt-resizer:focus-visible:after{background:var(--accent-500)}.gantt-left::-webkit-scrollbar{width:8px;height:8px}.gantt-left::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink-6) 85%,var(--ink-4));border-radius:999px}.gantt-left::-webkit-scrollbar-track{background:transparent}.gantt-left-inner{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;height:100%}.gantt-left-header,.gantt-right-header{box-sizing:border-box;height:36px;flex-shrink:0;border-bottom:1px solid var(--ink-6);background:color-mix(in srgb,var(--blue-light) 70%,var(--ink-8));font-size:var(--fs-over);font-weight:600;color:var(--ink-3)}.gantt-left-header{display:flex;align-items:stretch;width:100%}.gantt-name-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:0 .4rem 0 .35rem;box-sizing:border-box;border-right:1px solid var(--ink-6);flex-shrink:0}.gantt-link-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:visible}.gantt-link-path{fill:none;stroke:var(--slate-500);stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter;opacity:.9}.gantt-link-arrow{fill:var(--slate-500)}.gantt-col-head{display:flex;align-items:stretch;justify-content:center;text-align:center;padding:0;box-sizing:border-box;border-right:1px solid var(--ink-6);flex-shrink:0;line-height:1.15;min-width:0}.gantt-sort-btn{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;min-width:0;height:100%;margin:0;padding:0 .25rem;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;border-radius:4px}.gantt-sort-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.gantt-sort-btn.active{color:var(--ink)}.gantt-sort-btn-center{width:100%;justify-content:center}.gantt-sort-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-sort-icon{flex-shrink:0;opacity:.9}.gantt-col-head:last-child,.gantt-data-cell:last-child{border-right:1px solid var(--ink-6)}.gantt-left-body{position:relative;overflow-x:hidden;overflow-y:auto;flex:1 1 0;min-height:0;width:100%;scrollbar-width:none}.gantt-left-body::-webkit-scrollbar{width:0;height:0;display:none}.gantt-left-rows{position:relative;width:100%}.gantt-name-cell{display:flex;align-items:center;height:100%;box-sizing:border-box;border-right:1px solid var(--ink-6);overflow:hidden;flex-shrink:0}.gantt-data-cell{display:flex;align-items:center;justify-content:center;text-align:center;height:100%;padding:0 .25rem;box-sizing:border-box;border-right:1px solid var(--ink-6);font-size:var(--fs-over);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;font-variant-numeric:tabular-nums}.gantt-row{display:flex;box-sizing:border-box;border-bottom:1px solid var(--ink-6);background:var(--surface)}.gantt-col-editor{position:relative}.gantt-col-editor-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:20;width:14rem;padding:.65rem .7rem;background:var(--slate-0);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.gantt-col-editor-title{margin:0 0 .45rem;font-size:var(--fs-meta);font-weight:650;color:var(--ink-3)}.gantt-col-editor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.gantt-col-editor-item{display:flex;align-items:center;gap:.45rem;font-size:var(--fs-ui);color:var(--ink-2);cursor:pointer;padding:.2rem .15rem;border-radius:4px}.gantt-col-editor-item:hover{background:var(--ink-8)}.gantt-right{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}.gantt-right-header{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.gantt-right-header::-webkit-scrollbar{height:0;display:none}.gantt-right-body{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink-6) 90%,var(--ink-4)) transparent}.gantt-right-body::-webkit-scrollbar{width:8px;height:8px}.gantt-right-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink-6) 85%,var(--ink-4));border-radius:999px}.gantt-right-body::-webkit-scrollbar-track{background:transparent}.gantt-chart-row{position:relative;border-bottom:1px solid var(--ink-7)}.gantt-time-track{position:relative;height:100%;flex-shrink:0}.gantt-row-wbs,.gantt-row-wbs .gantt-name-cell,.gantt-row-wbs .gantt-data-cell{background:var(--ink-8)}.gantt-wbs-toggle,.gantt-act-label{display:flex;align-items:center;gap:.35rem;width:100%;border:0;background:transparent;padding:0 .5rem 0 0;margin:0;text-align:left;cursor:pointer;color:inherit;font:inherit;min-width:0}.gantt-wbs-toggle:disabled{cursor:default;opacity:.85}.gantt-chevron-spacer{width:14px;flex-shrink:0}.gantt-wbs-name{font-weight:600;font-size:var(--fs-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gantt-act-code{font-size:var(--fs-over);color:var(--ink-3);flex-shrink:0;font-variant-numeric:tabular-nums}.gantt-act-name{font-size:var(--fs-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gantt-act-label:hover .gantt-act-name{text-decoration:underline}.gantt-gridline{position:absolute;top:0;bottom:0;width:1px;background:var(--ink-6);pointer-events:none;opacity:.85}.gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:color-mix(in srgb,var(--danger, var(--warning-600)) 75%,transparent);z-index:1;pointer-events:none}.gantt-bar{position:absolute;top:7px;height:16px;border:0;border-radius:3px;background:color-mix(in srgb,var(--accent, var(--accent-500)) 72%,#fff);cursor:pointer;padding:0;min-width:4px;z-index:2}.gantt-bar.critical{background:var(--warning-700)}.gantt-bar.done{opacity:.72}.gantt-bar:hover{filter:brightness(.95)}.gantt-wbs-bar{position:absolute;top:9px;height:5px;background:var(--ink-2, var(--slate-700));z-index:2;pointer-events:none}.gantt-wbs-cap{position:absolute;top:0;width:3px;height:13px;background:var(--ink-2, var(--slate-700))}.gantt-wbs-cap-start{left:0}.gantt-wbs-cap-end{right:0}.gantt-milestone{position:absolute;top:8px;width:12px;height:12px;margin-left:-6px;border:0;padding:0;background:var(--ink-2, var(--slate-700));transform:rotate(45deg);cursor:pointer;z-index:2}.gantt-milestone.critical{background:var(--warning-700)}.gantt-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a47;z-index:40;cursor:pointer}.gantt-drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);z-index:41;background:var(--slate-0);border-left:1px solid var(--line);box-shadow:-8px 0 28px #0f172a1f;padding:1.1rem 1.15rem 1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.gantt-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.gantt-drawer-code{margin:0;font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.gantt-drawer-title{margin:.15rem 0 0;font-size:var(--fs-h2);line-height:1.3;font-weight:650}.gantt-drawer-badges{display:flex;flex-wrap:wrap;gap:.35rem}.gantt-drawer-dl{margin:0;display:grid;gap:.55rem}.gantt-drawer-dl>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem;font-size:var(--fs-ui)}.gantt-drawer-dl dt{margin:0;color:var(--ink-3);font-weight:500}.gantt-drawer-dl dd{margin:0;color:var(--ink);word-break:break-word}.gantt-drawer-rels{display:flex;flex-direction:column;gap:.4rem;padding-top:.35rem;border-top:1px solid var(--line, var(--line))}.gantt-drawer-rels-title{margin:0;display:flex;align-items:center;gap:.4rem;font-size:var(--fs-meta);font-weight:650;color:var(--ink-2, var(--slate-700))}.gantt-drawer-rels-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.15rem;padding:0 .35rem;border-radius:999px;background:var(--ink-7, var(--slate-100));color:var(--ink-3, var(--slate-500));font-size:var(--fs-over);font-weight:600;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.gantt-drawer-rels-empty{margin:0;font-size:var(--fs-ui)}.gantt-drawer-rel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.gantt-drawer-rel-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;width:100%;margin:0;padding:.45rem .5rem;border:1px solid var(--line, var(--line));border-radius:6px;background:var(--slate-0);text-align:left;cursor:pointer;color:inherit;font:inherit}.gantt-drawer-rel-row:hover{border-color:color-mix(in srgb,var(--accent, var(--accent-500)) 35%,var(--line, var(--line)));background:color-mix(in srgb,var(--accent, var(--accent-500)) 6%,#fff)}.gantt-drawer-rel-row.static{cursor:default}.gantt-drawer-rel-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.gantt-drawer-rel-code{font-size:var(--fs-meta);font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink, var(--slate-900))}.gantt-drawer-rel-name{font-size:var(--fs-meta);color:var(--ink-3, var(--slate-500));line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gantt-drawer-rel-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex-shrink:0}.gantt-drawer-rel-type{font-size:var(--fs-meta);font-weight:700;letter-spacing:.04em;color:var(--ink-2, var(--slate-700));font-variant-numeric:tabular-nums}.gantt-drawer-rel-lag{font-size:var(--fs-over);color:var(--ink-3, var(--slate-500));font-variant-numeric:tabular-nums}@media(max-width:767px){.analysis-topbar{grid-template-columns:1fr;gap:.4rem}.analysis-topbar-title,.analysis-topbar-controls{justify-self:start}.analysis-topbar-controls{justify-content:flex-start;flex-wrap:wrap}.gantt-split{flex-direction:column}.gantt-left{width:100%!important;max-height:40vh;border-right:0;border-bottom:1px solid var(--line)}.gantt-drawer{width:min(100vw,100%)}}.dash-triage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:.85rem;align-items:start;margin-top:.25rem}.scurve-exposure{fill:var(--danger-500);opacity:.07}.exc-panel{display:flex;flex-direction:column;min-width:0}.exc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.exc-body{flex:1;min-height:0}.exc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.exc-row{padding:.7rem 0;border-bottom:1px solid var(--line)}.exc-row:last-child{border-bottom:0}.exc-row-top{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.35rem}.exc-code{font-size:var(--fs-meta)}.exc-impact{margin-left:auto;font-size:var(--fs-meta);font-weight:600;color:var(--danger-600)}.exc-impact-none{margin-left:auto;font-size:var(--fs-meta)}.exc-title{margin:0;font-size:var(--fs-body);font-weight:600;color:var(--slate-900);line-height:1.35}.exc-detail{margin:.2rem 0 0;font-size:var(--fs-meta);line-height:1.45}.exc-actions{display:flex;align-items:center;gap:.6rem;margin-top:.45rem}.exc-float{font-size:var(--fs-meta)}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--slate-50)}@media(max-width:1279px){.dash-triage-grid{grid-template-columns:1fr}}.gate-hint{margin:0;font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;margin-top:1.25rem;align-items:start}.home-grid>.card,.home-side>.card{margin-top:0}.home-side{display:grid;gap:1.25rem}.home-progress{height:6px;border-radius:3px;background:var(--slate-100);overflow:hidden;margin:var(--space-3) 0 var(--space-2)}.home-progress>div{height:100%;background:var(--accent-500)}.home-steps{list-style:none;margin:0;padding:0}.home-steps li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--slate-100)}.home-steps li:last-child{border-bottom:0}.home-step-mark{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);flex:0 0 auto;display:grid;place-items:center;font-size:var(--fs-over)}.home-steps li.is-done .home-step-mark{background:var(--success-600);border-color:var(--success-600);color:#fff}.home-steps li.is-current .home-step-mark{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-50)}.home-step-text{flex:1;display:grid;gap:2px;font-size:var(--text-sm)}.home-steps li.is-done .home-step-text strong{color:var(--ink-3);font-weight:500}.home-facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;font-size:var(--text-sm)}.home-facts dt{color:var(--ink-3)}.home-facts dd{margin:0;font-weight:500}.home-pf-list{list-style:none;margin:var(--space-3) 0 var(--space-2);padding:0;display:grid;gap:var(--space-2);font-size:var(--text-sm)}.home-pf-list li{display:flex;justify-content:space-between;gap:var(--space-3)}@media(max-width:1279px){.home-grid{grid-template-columns:1fr}}.page-header-block+.kpi-row,.home-checklist+.kpi-row{margin-top:1.25rem}.status-filter{margin-bottom:var(--space-3)}.analysis-note{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--ink-6);border-radius:8px;background:var(--slate-0);color:var(--ink-3)}.act3-search:focus-within,.tv5-search:focus-within{outline:2px solid var(--accent-500);outline-offset:1px}.period-anchor{font-size:var(--text-xs);text-decoration:none;white-space:nowrap}.period-anchor:hover{color:var(--ink)}.wbs-table{table-layout:fixed}.wbs-table th:nth-child(1){width:34%}.wbs-table th:nth-child(3){width:4.5rem}.wbs-table th:nth-child(4){width:5.5rem}.wbs-progress{display:flex;align-items:center;gap:var(--space-2);min-width:0}.wbs-progress .wbs-bar-track{display:block;flex:1}.wbs-progress .wbs-bar-fill{display:block}.wbs-progress .wbs-pct{min-width:2.6rem}.wbs-slip{font-variant-numeric:tabular-nums;color:var(--ink-3)}.wbs-slip.neg{color:var(--danger-600);font-weight:600}.wbs-slip small{font-weight:400;color:var(--slate-500)}.act3-wbs-chip{display:inline-flex;align-items:center;gap:6px;max-width:22rem;height:var(--control-h-sm);padding:0 4px 0 10px;border-radius:var(--radius-pill);background:var(--accent-50);color:var(--navy-900);font-size:var(--text-sm);white-space:nowrap}.act3-wbs-chip strong{overflow:hidden;text-overflow:ellipsis}.act3-wbs-chip button{display:inline-grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}.act3-wbs-chip button:hover{background:#0000000f}.dash-logic-notice{padding:var(--space-3) var(--space-4);border:1px solid var(--warning-100);border-radius:var(--radius-md);background:var(--warning-25);color:var(--warning-700);font-size:var(--text-base);line-height:1.5}.dash-logic-notice a{color:var(--warning-700);font-weight:600}.log4-cons-note{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}@media(max-width:767px){.act3-cols,.act3-row,.act3-virt{min-width:640px}}:root{color-scheme:light;--font-sans: "Geist Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-num: var(--font-sans);--font-brand: var(--font-sans);--slate-0: #ffffff;--slate-50: #f7f9fc;--slate-100: #edf0f5;--slate-200: #e2e7f0;--slate-300: #cdd5e2;--slate-400: #647186;--slate-450: #5c697f;--slate-500: #55627a;--slate-600: #3a4659;--slate-700: #2b3547;--slate-800: #1b2434;--slate-900: #0f172a;--navy-900: #14305e;--navy-800: #1b3b70;--navy-700: #24477f;--navy-line: #2a4c86;--navy-text: #d3dded;--navy-muted: #9fb2d3;--navy-link: #a9c4f5;--accent-50: #eef3fc;--accent-100: #dfe8fa;--accent-200: #c9d7f2;--accent-300: #a9c4f5;--accent-400: #3d69b3;--accent-500: #1d4ed8;--accent-600: #1e40af;--accent-700: #1e3a8a;--accent-on-dark: #a9c4f5;--accent-border-dark: #2a4c86;--success-50: #f0fdf4;--success-100: #bbf7d0;--success-400: #22c55e;--success-500: #067647;--success-600: #067647;--success-700: #166534;--warning-25: #fffbeb;--warning-75: #fde68a;--warning-50: #fff7ed;--warning-100: #fed7aa;--warning-500: #d97706;--warning-600: #b54708;--warning-700: #93370d;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-300: #fca5a5;--danger-500: #dc2626;--danger-600: #b42318;--danger-700: #991b1b;--info-50: #eef3fc;--info-500: #1d4ed8;--info-600: #1e40af;--grade-a-bg: #dcfce7;--grade-a-fg: #166534;--grade-a-bar: #16a34a;--grade-b-bg: #ecfccb;--grade-b-fg: #3f6212;--grade-b-bar: #65a30d;--grade-c-bg: #fef3c7;--grade-c-fg: #92400e;--grade-c-bar: #d97706;--grade-d-bg: #fee4e2;--grade-d-fg: #b42318;--grade-d-bar: #dc2626;--canvas: #f4f6fa;--surface: #ffffff;--line: #e2e7f0;--line-strong: #cdd5e2;--row-selected: #eef3fc;--bar-baseline: #5f6269;--bar-previous: #a9c4f5;--bar-current: #1d4ed8;--ink: var(--slate-900);--border: var(--line);--ink-1: var(--slate-800);--ink-2: var(--slate-700);--ink-3: var(--slate-500);--ink-4: var(--slate-400);--ink-5: var(--slate-300);--ink-6: var(--slate-200);--ink-7: var(--slate-100);--ink-8: var(--slate-50);--blue: var(--accent-500);--blue-light: var(--accent-50);--blue-text: var(--accent-600);--red: var(--danger-600);--green: var(--success-500);--mono: var(--font-mono);--row-stripe: var(--slate-100);--row-hover: var(--slate-50);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .16);--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px;--fs-display: 28px;--lh-display: 34px;--fs-h1: 22px;--lh-h1: 28px;--fs-h2: 16px;--lh-h2: 24px;--fs-h3: 14px;--lh-h3: 20px;--fs-body: 14px;--lh-body: 20px;--fs-ui: 13px;--lh-ui: 18px;--fs-meta: 12px;--lh-meta: 16px;--fs-over: 11px;--lh-over: 14px;--fs-kpi: 24px;--lh-kpi: 28px;--control-h: 36px;--control-h-sm: 32px;--control-h-touch: 44px;--sidebar-w: 236px;--sidebar-w-collapsed: 64px;--z-dropdown: 20;--z-sticky: 30;--z-modal: 40;--z-toast: 50;font-family:var(--font-sans);line-height:1.5;font-weight:400;font-size:14px;color:var(--ink);background:var(--canvas);min-height:100%;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;font-size:var(--text-base);font-variant-numeric:tabular-nums;min-height:100vh;height:100%;background:var(--canvas)}html,#root{height:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p,dl,dd{margin:0}.mono{font-family:var(--font-num);font-variant-numeric:tabular-nums}.code{font-family:var(--font-mono);letter-spacing:0}.micro{font-size:var(--fs-meta);line-height:var(--lh-meta);font-weight:500;color:var(--slate-500);white-space:nowrap}@media(pointer:coarse){:root{--control-h: var(--control-h-touch)}}::selection{background:var(--accent-100)}:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}*{scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--slate-400);background-clip:content-box}
