:root{--bg: #f2f4f7;--surface: #ffffff;--surface2: #f8f9fa;--border: #e1e4e8;--navy: #0d1f2b;--navy-hover: #162d3e;--accent: #c41e1d;--accent-hover: #a81a1a;--accent-light: rgba(196, 30, 29, .07);--text: #111827;--muted: #5e6673;--radius: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 14px rgba(13, 31, 43, .08)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{touch-action:manipulation}@media (pointer: coarse){input,select,textarea{font-size:16px!important}}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit}.skiplink{position:absolute;left:-9999px;top:0;z-index:300;background:#fff;color:var(--navy);font-size:13px;font-weight:700;padding:10px 16px;border-radius:0 0 var(--radius) 0}.skiplink:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.inner{max-width:1100px;width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:14px}.topnav{background:var(--accent);border-bottom:3px solid var(--navy);height:58px;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #0000002e}.topnav .inner{height:100%}.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.nav-brand img{height:30px;width:auto;filter:brightness(0) invert(1)}.nav-divider{width:1px;height:20px;background:#ffffff47}.nav-title{font-size:12px;font-weight:600;color:#ffffffb8;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:2px;margin-left:18px;flex:1 1 auto;min-width:0}.nav-link{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:6px;font-size:13.5px;font-weight:600;color:#ffffffd1;text-decoration:none;white-space:nowrap;transition:.12s}.nav-link:hover{background:#ffffff24;color:#fff}.nav-link.active{background:#fff;color:var(--accent)}.nav-lock svg{width:12px;height:12px;display:block;opacity:.75}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:34px;margin-left:auto;padding:0 8px;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer}.nav-burger span{display:block;height:2px;background:#fff;border-radius:2px}.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.nav-badge{font-size:10px;background:var(--navy);color:#fff;border-radius:4px;padding:3px 7px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.nav-badge.dev{background:#92400e}.nav-account{position:relative}.nav-account-btn{display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:600;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer}.nav-account-btn:hover{background:#ffffff24}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.02em;flex-shrink:0}.avatar.big{width:34px;height:34px;font-size:13px;background:var(--navy);color:#fff}.caret{font-size:10px;opacity:.8}.nav-menu{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:250px;padding:8px;z-index:200}.nav-menu-head{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--border);margin-bottom:6px}.nav-menu-head b{display:block;font-size:13px;color:var(--navy)}.nav-menu-head span{display:block;font-size:11.5px;color:var(--muted);word-break:break-all}.nav-menu button{width:100%;text-align:left;font:inherit;font-size:13px;font-weight:600;color:var(--accent);background:none;border:none;padding:9px 8px;border-radius:6px;cursor:pointer}.nav-menu button:hover{background:var(--accent-light)}@media (max-width: 900px){.nav-burger{display:flex;order:2}.nav-right{order:3;margin-left:10px}.nav-account-name{display:none}.nav-links{order:4;display:none;position:absolute;left:0;right:0;top:58px;margin:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);padding:6px}.nav-links.open{display:flex}.nav-links .nav-link{height:44px;color:var(--navy);border-radius:6px}.nav-links .nav-link:hover{background:var(--surface2);color:var(--navy)}.nav-links .nav-link.active{background:var(--accent-light);color:var(--accent)}}@media (max-width: 560px){.inner{padding:0 16px}.nav-title,.nav-divider{display:none}}details.card.step{padding:0}details.card.step>summary{list-style:none;cursor:pointer;padding:15px 20px;display:flex;align-items:center;gap:11px;border-radius:var(--radius)}details.card.step>summary::-webkit-details-marker{display:none}details.card.step>summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}details.card.step[open]>summary:after{transform:rotate(45deg)}details.card.step>summary:hover{background:var(--surface2)}.stepno,.step3head .stepno{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:11.5px;font-weight:700;flex:0 0 auto}.stepno.done{background:#15803d}.stepno svg{width:12px;height:12px}.steptitle{font-size:14px;font-weight:700;color:var(--navy);flex:0 0 auto}.stepnote{font-size:12.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepbody{padding:4px 20px 20px;border-top:1px solid var(--border)}.step3head{display:flex;align-items:center;gap:11px;padding:15px 20px;border-bottom:1px solid var(--border)}.dl-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--border)}.dl-row .primary{margin-left:auto}.app-main{max-width:1100px;width:100%;margin:26px auto 44px;padding:0 24px;flex:1 0 auto}.pagehead{margin:0 0 20px}.crumbs{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:10px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs [aria-current]{color:var(--navy);font-weight:600}.pagehead-row{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.pagehead-main{min-width:0}.pagehead h1{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--navy)}.pagehead p{margin:8px 0 0;font-size:14px;color:var(--muted);max-width:720px;line-height:1.55}.pagehead-actions{margin-left:auto;display:flex;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;margin-bottom:18px}h2{font-size:15px;font-weight:700;color:var(--navy);margin:0 0 12px}.muted{color:var(--muted);font-size:12px}button,.ghostbtn{font:inherit;font-size:14px;font-weight:600;border:1.5px solid var(--border);background:#fff;color:var(--text);padding:9px 16px;border-radius:var(--radius);cursor:pointer;transition:.15s}.ghostbtn:hover{border-color:#9ca3af}button.primary{background:var(--accent);color:#fff;border:none;font-weight:700;padding:11px 20px}button.primary:hover{background:var(--accent-hover)}button.primary:disabled{opacity:.4;cursor:not-allowed;background:var(--accent)}.app-footer{border-top:1px solid var(--border);background:#fff;flex-shrink:0;margin-top:auto}.footer-cols{align-items:flex-start!important;padding-top:34px;padding-bottom:30px;display:grid!important;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot-col h2{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.foot-col li{font-size:13px;color:var(--text);word-break:break-word}.foot-col li.muted{font-size:12px;color:var(--muted)}.foot-col a{color:var(--text);text-decoration:none}.foot-col a:hover{color:var(--accent)}.foot-brand img{height:26px;width:auto;margin-bottom:12px}.foot-brand p{margin:0;font-size:12.5px;line-height:1.6;color:var(--muted);max-width:420px}.footer-bar{border-top:1px solid var(--border);background:var(--surface2)}.footer-bar .inner{justify-content:space-between;padding-top:13px;padding-bottom:13px;font-size:11.5px;color:var(--muted)}.footer-build{font-variant-numeric:tabular-nums}@media (max-width: 760px){.footer-cols{grid-template-columns:1fr;gap:26px}.footer-bar .inner{flex-direction:column;align-items:flex-start;gap:4px}}.login-wrap{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.login-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:4px;padding:40px 32px;width:100%;max-width:400px;box-shadow:0 4px 24px #0000001a}.login-logo{margin-bottom:20px}.login-logo img{height:40px;width:auto}.login-sub{color:var(--muted);font-size:13px;margin-bottom:28px;border-bottom:1px solid var(--border);padding-bottom:20px}.btn-primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:Inter,sans-serif;font-size:15px;font-weight:700;padding:13px;cursor:pointer;letter-spacing:.02em;transition:background .15s,transform .1s;min-height:48px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tool-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-decoration:none;color:inherit;transition:.15s}.tool-card:hover{border-color:var(--navy);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tool-card.soon{background:var(--surface2);border-style:dashed;opacity:.85}.tool-card.soon:hover{transform:none;box-shadow:none;border-color:var(--border)}.tool-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tool-icon{width:38px;height:38px;border-radius:9px;background:var(--navy);display:flex;align-items:center;justify-content:center}.tool-card.soon .tool-icon{background:#9ca3af}.tool-icon svg{width:19px;height:19px;color:#fff}.tool-card h3{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--navy)}.tool-card p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}.tool-tag{padding:3px 8px;border-radius:999px;background:var(--accent-light);border:1px solid rgba(196,30,29,.25);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tool-go{margin-top:auto;padding-top:16px;font-size:13px;font-weight:700;color:var(--accent)}.tool-go.muted{color:var(--muted)}.gpr .drop{border:2px dashed var(--border);border-radius:var(--radius);background:#fafbfc;padding:34px 20px;text-align:center;cursor:pointer;transition:.15s;display:flex;flex-direction:column;align-items:center;gap:5px}.gpr .drop.hover{border-color:var(--accent);background:var(--accent-light)}.gpr .drop .icontile{width:48px;height:48px;border-radius:12px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:8px;transition:.15s}.gpr .drop .icontile svg{width:22px;height:22px;fill:none;stroke:var(--muted);transition:.15s}.gpr .drop.hover .icontile{border-color:var(--accent)}.gpr .drop.hover .icontile svg{stroke:var(--accent)}.gpr .drop strong{font-size:16px;font-weight:700;color:var(--navy)}.gpr .drop small{color:var(--muted);font-size:13px}.gpr .btns{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.gpr .controls{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap}.gpr .field{display:flex;flex-direction:column}.gpr .field>label{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.gpr .field input[type=number],.gpr .field input[type=text]{font:inherit;font-size:14px;padding:9px 11px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.gpr .field input[type=number]{width:130px}.gpr .field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.gpr .hint{font-size:12px;color:var(--muted);margin-top:6px;max-width:430px;line-height:1.45}.gpr .er-rules{margin-top:14px}.gpr .er-rule{display:grid;grid-template-columns:180px 90px 70px auto;align-items:center;gap:8px;margin-bottom:6px}.gpr .er-rule.head{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.gpr .er-rule input[type=text],.gpr .er-rule input[type=number]{width:100%;min-width:0;box-sizing:border-box}.gpr .er-rule .count{font-size:12px;color:var(--muted);white-space:nowrap}.gpr .linkbtn{border:none;background:none;padding:0;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;justify-self:start}.gpr .linkbtn:hover{color:var(--text)}.gpr .linkbtn.add{align-self:flex-start;margin-top:10px;color:var(--navy)}.gpr .scan-pick{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.gpr .scan-pick>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:13px;font-weight:600;color:var(--navy);border-radius:var(--radius)}.gpr .scan-pick>summary::-webkit-details-marker{display:none}.gpr .scan-pick>summary .count{font-weight:400;color:var(--muted)}.gpr .scan-pick>summary:after{content:"";margin-left:auto;width:6px;height:6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}.gpr .scan-pick[open]>summary:after{transform:rotate(-135deg)}.gpr .scan-pick>summary:hover{background:var(--surface2)}.gpr .scan-pick[open]>summary{border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.gpr .scan-pick-body{padding:10px 14px 12px}.gpr .scan-pick-tools{display:flex;gap:16px;margin-bottom:8px}.gpr .scan-pick-tools .linkbtn{color:var(--navy)}.gpr .scan-pick-tools .linkbtn:disabled{color:var(--border);cursor:default}.gpr .scan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 12px;max-height:280px;overflow-y:auto;font-size:13px}.gpr .scan-list label{display:flex;align-items:center;gap:9px;min-width:0;padding:5px 8px;border-radius:6px;cursor:pointer}.gpr .scan-list label:hover{background:var(--surface2)}.gpr .scan-list input{flex:none;width:15px;height:15px;margin:0;accent-color:var(--navy)}.gpr .scan-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpr .scan-list label.out{color:var(--muted)}.gpr .scan-list label.out span{text-decoration:line-through}.gpr .dl-wrap{margin-left:auto;align-self:flex-end}.gpr .toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text);padding:5px 0}.gpr .toggle input{position:absolute;opacity:0;width:0;height:0}.gpr .toggle .track{width:40px;height:22px;border-radius:99px;background:#cbd2d9;position:relative;transition:.15s;flex:0 0 auto}.gpr .toggle .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:.15s}.gpr .toggle input:checked+.track{background:var(--accent)}.gpr .toggle input:checked+.track:after{transform:translate(18px)}.gpr .summary-line{font-size:14px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}.gpr .pill{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid transparent}.gpr .pill.ok{background:#ecfdf3;color:#16a34a;border-color:#abefc6}.gpr .pill.warn{background:#fffaeb;color:#b45309;border-color:#fedf89}.gpr .pill.bad{background:#fef3f2;color:#b42318;border-color:#fecdca}.gpr .tablewrap{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.gpr table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.gpr th,.gpr td{padding:8px 10px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.gpr th:last-child,.gpr td:last-child{border-right:none}.gpr thead th{position:sticky;z-index:2}.gpr .results-table thead tr:first-child th{top:0;background:var(--navy);color:#fff;font-weight:700;border-color:#ffffff1f}.gpr .results-table thead tr:first-child th:nth-child(4){background:var(--accent)}.gpr .results-table thead tr:first-child th:nth-child(6){background:var(--navy-hover)}.gpr .results-table thead tr:nth-child(2) th{top:35px;background:var(--surface2);color:var(--muted);text-transform:uppercase;font-size:10.5px;font-weight:600;letter-spacing:.04em}.gpr tbody td{background:#fff;font-variant-numeric:tabular-nums}.gpr th.name,.gpr td.name{text-align:left}.gpr td.name{font-weight:600;color:var(--navy);white-space:normal}.gpr tbody tr.changed td{background:#fffcf5}.gpr tbody tr.changed td.er{background:#fef3c7;color:#92400e;font-weight:700}.gpr #warnCard{border-color:#fedf89;background:#fffcf5}.gpr #warnCard h2{color:#b45309}.gpr #warnCard ul{margin:6px 0 12px;padding-left:20px}.gpr #warnCard li{font-size:13px;margin:2px 0}.gpr .loglabel{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.gpr .loglabel .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.gpr .log{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:var(--navy);color:#d6e2f0;border-radius:var(--radius);padding:12px 14px;max-height:200px;overflow:auto;white-space:pre-wrap}.gpr .log .w{color:#ffd479}.gpr .log .e{color:#ff8f87}.gpr .log .g{color:#8fe3a0}.chl .muted{line-height:1.5;margin:6px 0 0}.chl .grid4,.chl .grid3{display:grid;gap:16px 20px;margin-top:12px}.chl .grid4,.chl .grid3{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.chl .sidecol .grid3{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:14px 14px}.chl .field{display:flex;flex-direction:column;min-width:0}.chl .field.wide{grid-column:1 / -1}.chl .field>label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.chl .field .row{display:flex;align-items:center;gap:8px}.chl .field input[type=text]{font:inherit;font-size:14px;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);width:100%;min-width:0}.chl .field input:focus,.chl .select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.chl .field .unit{font-size:12px;color:var(--muted);white-space:nowrap}.chl .field .readonly{font-size:14px;font-weight:700;color:var(--navy);padding:8px 10px;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface2)}.chl .hint{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.45}.chl .select{font:inherit;font-size:14px;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);width:100%}.chl .subrule{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:22px 0 0;padding-bottom:6px;border-bottom:1px solid var(--border)}.chl section>.subrule:first-child{margin-top:0}.chl .swatch{display:inline-block;width:14px;height:4px;border-radius:2px;flex:0 0 auto}.chl .swatch.s0{background:#00b0f0}.chl .swatch.s1,.chl .swatch.s2{background:red}.chl .swatch.c0{background:#0070c0;height:8px;width:8px;border-radius:2px}.chl .swatch.c1{background:#ffc000;height:8px;width:8px;border-radius:2px}.chl .swatch.c2{background:red;height:8px;width:8px;border-radius:2px}.chl .actfield{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;background:var(--surface2)}.chl .actname{font:inherit;font-size:13px;flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--text);padding:2px 0}.chl .actname:focus{outline:none;border-bottom:1.5px solid var(--accent)}.chl .actval{font:inherit;font-size:13px;font-weight:700;width:62px;flex:0 0 auto;text-align:center;padding:5px 6px;border:1.5px solid var(--border);border-radius:6px;background:#fff;color:var(--navy)}.chl .actval:focus{outline:none;border-color:var(--accent)}.chl .step3{padding:0}.chl .coretabs{display:flex;align-items:center;gap:4px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface2);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap}.chl .coretab{font:inherit;font-size:13px;font-weight:600;border:1px solid transparent;background:transparent;color:var(--muted);padding:7px 14px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.chl .coretab:hover{background:#fff;color:var(--navy)}.chl .coretab.on{background:#fff;border-color:var(--border);color:var(--navy);box-shadow:var(--shadow-sm)}.chl .coretab.add{color:var(--accent)}.chl .tabflag{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#b45309;color:#fff;font-size:10px;font-weight:800}.chl .tabspacer{flex:1 1 auto}.chl .coretabs .primary{padding:8px 16px;font-size:13px}.chl .corepanel{padding:18px 20px 22px}.chl .corehead{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.chl .corename{font:inherit;font-size:17px;font-weight:800;color:var(--navy);border:1.5px solid transparent;border-radius:var(--radius);padding:6px 9px;margin-left:-9px;background:transparent;width:260px}.chl .corename:hover{border-color:var(--border)}.chl .corename:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.chl .corehead-right{margin-left:auto;display:flex;gap:8px}.chl .ghostbtn.small{font-size:12.5px;padding:6px 12px}.chl .ghostbtn.small.danger:hover{border-color:var(--accent);color:var(--accent)}.chl .chartrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(296px,336px);gap:20px;align-items:start}.chl .sidecol .subrule:first-child{margin-top:0}.chl .sidecol{min-width:0}.chl .statstrip{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:18px}.chl .statstrip .stat{flex:0 0 auto;min-width:172px}.chl .statmore{flex:1 1 260px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0;padding-left:4px;font-size:12px;color:var(--muted)}.chl .statmore b{color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums;margin-left:5px}.chl .covergrid{margin-top:18px}.chl .chartwrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:8px;overflow:hidden}.chl .chartwrap svg{display:block}.chl .stat{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2)}.chl .stat.big{background:#fff;border-color:var(--navy)}.chl .stat-label{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.chl .stat-value{font-size:15px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.chl .stat.big .stat-value{font-size:17px}.chl .stat-value em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted)}.chl .panelgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:22px}.chl .panelgrid>section{min-width:0}.chl .notebox{margin-top:12px;font-size:12px}.chl .notebox>summary{cursor:pointer;color:var(--navy);font-weight:600}.chl .notebox p{margin:8px 0 0;color:var(--muted);line-height:1.5}.chl .tablewrap{margin-top:10px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.chl table{border-collapse:collapse;width:100%;font-size:12.5px}.chl th,.chl td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.chl thead th{background:var(--navy);color:#fff;font-size:11px;font-weight:700;border-bottom:none}.chl tbody tr:last-child td{border-bottom:none}.chl td.name{text-align:left;font-weight:600;color:var(--navy)}.chl td.name .swatch{margin-right:4px;vertical-align:middle}.chl table.layers td{padding:4px 6px}.chl .cellinput{font:inherit;font-size:12.5px;width:58px;padding:5px 4px;border:1.5px solid var(--border);border-radius:6px;background:#fff;color:var(--text);text-align:center}.chl .cellinput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.chl td.ro{font-variant-numeric:tabular-nums;color:var(--navy);font-weight:600}.chl tr.off td{opacity:.45}.chl .linkbtn{border:none;background:none;color:var(--muted);font-size:17px;line-height:1;padding:2px 6px;cursor:pointer}.chl .linkbtn:hover{color:var(--accent)}.chl .offscreen{position:absolute;left:-20000px;top:0;width:900px;pointer-events:none}.chl .fitwarn{margin-bottom:14px;border:1px solid rgba(180,83,9,.3);border-left:3px solid #b45309;background:#b453090f;border-radius:var(--radius);padding:4px 14px}.chl .fitwarn p{margin:9px 0;font-size:12.5px;line-height:1.5;color:#92400e}@media (max-width: 1000px){.chl .chartrow{grid-template-columns:minmax(0,1fr)}}@media (max-width: 620px){.chl .panelgrid{grid-template-columns:minmax(0,1fr)}}.pagehead-note{display:inline-flex;align-items:center;gap:7px;margin:12px 0 0!important;font-size:12px!important;color:#15803d!important}.pagehead-note svg{width:14px;height:14px;flex:0 0 auto}.chl .fitrow{margin-top:22px}.chl .fitrow .grid3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.chl .chartrow.noplot{grid-template-columns:minmax(0,1fr)}.chl .chartrow.noplot .sidecol .grid3{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.chl .layergen{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);font-size:12.5px;color:var(--text)}.chl .layergen label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.chl .layergen input{font:inherit;font-size:13px;width:52px;text-align:center;padding:5px 6px;border:1.5px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}.chl .layergen input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.chl .layergen .muted{margin:0 0 0 auto;font-variant-numeric:tabular-nums}.chl .tablewrap{max-height:70vh;overflow:auto}.chl thead th{position:sticky;top:0;z-index:1}.spdest{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2)}.spdest-site{min-width:0}.spdest-site b{font-size:14px;color:var(--navy)}.splabel{display:block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.spurl{display:block;font-size:11.5px;color:var(--muted);word-break:break-all}.spdest .primary{margin-left:auto}.sppicker{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:12px}.spsearch{display:flex;align-items:center;gap:9px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;padding:0 10px}.spsearch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.spsearch svg{width:16px;height:16px;color:var(--muted);flex:0 0 auto}.spsearch input{font:inherit;font-size:14px;border:none;outline:none;background:transparent;padding:10px 0;width:100%;min-width:0;color:var(--text)}.spclear{border:none;background:none;color:var(--muted);font-size:18px;line-height:1;padding:2px 4px;cursor:pointer}.splistlabel{margin:14px 0 6px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.splistnote{margin:8px 2px 0;font-size:12.5px;color:var(--muted)}.sphits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;max-height:280px;overflow:auto}.sphit{width:100%;text-align:left;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;padding:9px 12px;cursor:pointer}.sphit:hover{border-color:var(--navy);background:var(--surface2)}.sphit b{display:block;font-size:13.5px;color:var(--navy)}.sphit span{display:block;font-size:11.5px;color:var(--muted);word-break:break-all}.sppickerfoot{display:flex;gap:14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.sprow{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.spfield{display:flex;flex-direction:column;gap:5px;min-width:0}.spfield.grow{flex:1 1 260px}.spfield span{font-size:12px;font-weight:600;color:var(--text)}.spfield input{font:inherit;font-size:14px;padding:9px 10px;width:100%;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.spfield input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c41e1d1a}.linklike{border:none;background:none;padding:4px 2px;font-size:12px;font-weight:600;color:var(--muted);text-decoration:underline;cursor:pointer}.linklike:hover{color:var(--accent)}.spmsg{margin:0;padding:10px 13px;font-size:12.5px;line-height:1.5;border-radius:var(--radius);border:1px solid}.spmsg p{margin:0 0 8px}.spmsg p:last-child{margin-bottom:0}.spmsg ul{margin:0;padding-left:18px}.spmsg.ok{color:#15803d;background:#16a34a14;border-color:#16a34a40}.spmsg.bad{color:#b91c1c;background:#c41e1d0f;border-color:#c41e1d40}.spmsg.warn{color:#92400e;background:#b4530912;border-color:#b453094d}.chl .field.needed input[type=text],.chl .cellinput.needed{border-color:#d97706;background:#fffbeb}.chl .field.needed input[type=text]:focus,.chl .cellinput.needed:focus{border-color:var(--accent);background:#fff}.chl .needtag{margin-left:6px;padding:1px 6px;border-radius:999px;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chl th.needcol{background:#92400e}.chl .todo{border:1px solid rgba(180,83,9,.3);border-left:3px solid #d97706;background:#fde68a40;border-radius:var(--radius);padding:14px 16px;font-size:13px;color:#92400e}.chl .todo b{display:block;margin-bottom:6px}.chl .todo ul{margin:0;padding-left:18px;line-height:1.6}.chl .step .coretabs{margin:0 -20px;border-radius:0;border-top:1px solid var(--border)}.chl .step .corepanel{padding:18px 0 0}.chl .sidecol .stat{margin-bottom:8px}.chl .sidecol .statmore{flex-direction:column;align-items:flex-start;gap:4px;margin:10px 0 0}.chl .coreactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.chl .coreactions .spacer{flex:1 1 auto}.chl .fieldstack{display:flex;flex-direction:column;gap:13px;margin-top:12px;max-width:360px}.chl .fieldstack .field>label{margin-bottom:4px}.chl .actstack{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:420px}.chl .fitwarn-line{margin:12px 0 0;padding:9px 12px;border:1px solid rgba(196,30,29,.25);border-radius:var(--radius);background:#c41e1d0f;color:#b91c1c;font-size:12.5px}
