:root{--bg:var(--color-bg);--panel:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-soft);--accent:var(--brand-primary);--danger:var(--color-danger);font-family:var(--font-sans)}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}a{color:inherit;text-decoration:none}.shell{grid-template-columns:var(--nav-width) 1fr;min-height:100vh;display:grid}.shell__nav{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.25rem 1rem;display:flex}.shell__brand{letter-spacing:.02em;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.brand-icon{color:var(--accent);flex-shrink:0}.brand-logo{object-fit:contain;background:var(--bg);border-radius:4px;flex-shrink:0;width:28px;height:28px}.onboarding-bar{background:var(--border);border-radius:999px;height:8px;margin:.5rem 0;overflow:hidden}.onboarding-bar__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.onboarding-widget__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.onboarding-toc{flex-wrap:wrap;gap:.5rem 1rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.onboarding-toc__item a{color:var(--muted);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.onboarding-toc__item--done a{color:#3fb950}.onboarding-toc__item--todo a{color:var(--text)}.onboarding-step{margin-bottom:1rem;scroll-margin-top:1.5rem}.onboarding-step__head{margin-bottom:.75rem}.onboarding-step__badge{border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;display:inline-flex}.onboarding-step__badge--done{color:#fff;background:#238636;border-color:#238636}.onboarding-step__badge--skipped{color:var(--muted)}.onboarding-list{margin:.5rem 0;padding-left:1.1rem}.onboarding-logo-preview{object-fit:contain;border:1px solid var(--border);background:var(--bg);border-radius:8px;max-width:200px;max-height:72px;padding:.35rem}.badge--ok{color:#3fb950;background:#23863633;border-radius:999px;padding:.15rem .5rem;font-size:.8rem;display:inline-block}.onboarding-summary__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.shell__tenant{color:var(--muted);border-bottom:1px solid var(--border);margin-top:-.5rem;padding-bottom:.25rem;font-size:.8rem}.shell__nav-main{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.nav-section{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.nav-item{color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.9rem;text-decoration:none;transition:all .12s;display:flex;position:relative}.nav-item:hover:not(.nav-item--disabled){color:var(--text);background:#2f81f71a}.nav-item.active{color:var(--accent);background:#2f81f72e;font-weight:500}.nav-item--nested{padding-left:.65rem;font-size:.85rem}.nav-item--disabled{opacity:.4;cursor:not-allowed}.nav-icon{opacity:.75;stroke:currentColor;flex-shrink:0;width:1rem;height:1rem}.nav-item.active .nav-icon,.nav-item:hover:not(.nav-item--disabled) .nav-icon{opacity:1}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.4rem;height:1.4rem;font-size:.65rem;font-weight:600;display:inline-flex}.nav-section-group{flex-direction:column;gap:0;display:flex}.nav-section-header{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;width:100%;padding:.45rem .65rem;font-size:.8rem;font-weight:600;transition:all .12s;display:flex}.nav-section-header:hover{color:var(--text);background:#ffffff0a}.nav-section-toggle{color:currentColor;opacity:.7;flex-shrink:0;justify-content:center;align-items:center;width:.9rem;display:inline-flex}.nav-section-label{text-align:left;flex:1}.nav-section-items{flex-direction:column;gap:.15rem;padding:.25rem 0;animation:.15s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.shell__footer{color:var(--muted);flex-direction:column;gap:.75rem;font-size:.85rem;display:flex}.shell__user{flex-direction:column;gap:.15rem;display:flex}.shell__user strong{color:var(--text)}.role-badge{color:var(--accent);background:#2f81f733;border-radius:4px;padding:.1rem .35rem;font-size:.75rem;font-weight:600;display:inline-block}.shell__lang{gap:.35rem;display:flex}.shell__lang button,.shell__logout,.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .7rem}.shell__lang button:hover,.shell__logout:hover,.btn:hover{border-color:var(--accent)}.shell__lang button.active{background:var(--accent);border-color:var(--accent);color:#fff}.shell__main{padding:1.5rem 2rem}.page h1{margin:0 0 1rem;font-size:1.4rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{flex-direction:column;gap:.85rem;width:min(380px,100%);display:flex}.login-card label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.login-card input,.toolbar select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.55rem .7rem}.login-card .error{color:var(--danger);font-size:.9rem}.login-shell{background:radial-gradient(1200px 600px at 10% -10%, #58a6ff2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #a371f724, transparent 50%), var(--color-bg);place-items:center;min-height:100vh;padding:1.25rem;display:grid}.login-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;flex-direction:column;width:min(920px,100%);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}.login-panel__top{border-bottom:1px solid var(--border);background:#0d1117;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.35rem;display:flex}.login-brand{letter-spacing:.02em;align-items:center;gap:.55rem;font-weight:700;display:flex}.login-brand__mark{color:var(--accent);font-size:1.15rem}.login-brand__name{background:linear-gradient(90deg,#58a6ff,#a371f7 55%,#f778ba);color:#0000;-webkit-background-clip:text;background-clip:text}.login-lang select{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:999px;padding:.35rem .7rem;font-size:.85rem}.login-panel__body{grid-template-columns:1.1fr .9fr;gap:0;min-height:420px;display:grid}@media (width<=760px){.login-panel__body{grid-template-columns:1fr}.login-side{display:none}}.login-form{flex-direction:column;gap:.85rem;padding:1.5rem 1.6rem 1.25rem;display:flex}.login-form__title{margin:0;font-size:1.35rem}.login-form__hint{margin:-.35rem 0 .25rem;font-size:.9rem}.login-field{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.88rem;display:flex}.login-field input,.login-field select{border:1px solid var(--border);color:var(--text);background:#58a6ff0f;border-radius:10px;padding:.65rem .8rem;font-size:.95rem}.login-field input:focus,.login-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #58a6ff33}.login-field__pw{display:flex;position:relative}.login-field__pw input{width:100%;padding-right:2.5rem}.login-field__eye{cursor:pointer;opacity:.75;background:0 0;border:0;font-size:.95rem;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.login-error{color:var(--danger);background:#f8514914;border:1px solid #f8514940;border-radius:8px;padding:.5rem .65rem;font-size:.9rem}.login-submit{border-radius:10px;width:100%;margin-top:.25rem;padding:.7rem 1rem}.login-sso{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1rem}.login-sso:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.login-dev{margin:.15rem 0 0}.login-side{border-left:1px solid var(--border);background:linear-gradient(160deg,#0d1117 0%,#161b22 55%,#0d1117 100%);justify-content:center;align-items:center;padding:1.35rem;display:flex}.login-side__card{flex-direction:column;gap:.85rem;width:min(280px,100%);display:flex}.login-side__qr-box{aspect-ratio:1;background:linear-gradient(145deg,#58a6ff59,#a371f773),#1f6feb;border:1px solid #ffffff1f;border-radius:16px;place-items:center;display:grid;box-shadow:0 16px 40px #1f6feb59}.login-side__qr-label{color:#0d1117;background:#ffffffeb;border-radius:10px;padding:.55rem .85rem;font-size:.85rem;font-weight:600}.login-side__providers{flex-direction:column;gap:.5rem;display:flex}.login-provider{border:1px solid var(--border);width:100%;color:var(--muted);cursor:not-allowed;opacity:.7;background:#ffffff0a;border-radius:10px;padding:.6rem .75rem}.login-panel__foot{border-top:1px solid var(--border);text-align:center;padding:.75rem 1.35rem 1rem}.login-org-list{flex-direction:column;gap:.55rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.login-org-item{text-align:left;border:1px solid var(--border);width:100%;color:inherit;cursor:pointer;font:inherit;background:#58a6ff0d;border-radius:12px;flex-direction:column;gap:.35rem;padding:.85rem .95rem;display:flex}.login-org-item:hover:not(:disabled){border-color:var(--accent);background:#58a6ff1f}.login-org-item:disabled{opacity:.6;cursor:wait}.login-org-item__name{font-size:.98rem;font-weight:600}.login-org-item__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.65rem .75rem}table.data th{background:var(--panel);color:var(--muted);font-weight:600;position:sticky;top:0}table.data tr:hover td{background:#ffffff05}.muted{color:var(--muted)}.small{margin-top:.2rem;font-size:.8rem}.error{color:var(--danger);font-size:.9rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:.85rem;margin-bottom:1rem;display:grid}.form-grid .form-title{grid-column:1/-1;margin:0;font-size:1rem}.form-grid label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.form-grid input,.form-grid select,.toolbar input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.55rem .7rem}.form-grid .btn,.form-grid .error{grid-column:1/-1;justify-self:start}.kpi-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.25rem;min-width:110px;padding:.75rem 1rem;display:flex}.kpi__label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.kpi strong{font-size:1.35rem}.badge{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;padding:.15rem .45rem;font-size:.8rem;display:inline-block}.badge--low{color:#8b949e}.badge--medium{color:#d29922;border-color:#d2992266}.badge--high{color:#f0883e;border-color:#f0883e66}.badge--critical{color:#f85149;border-color:#f8514973}.dashboard-links{flex-direction:column;gap:.35rem;display:flex}.dashboard-links a{color:var(--accent)}.dash-header{align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.dash-header h1{margin:0}.dash-section{margin-bottom:1.5rem}.dash-section__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:.6rem;padding-bottom:.35rem;font-size:.72rem;font-weight:700}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.dash-kpi{cursor:default;transition:border-color .15s}a .dash-kpi:hover{border-color:var(--accent)}.dash-kpi strong{font-size:1.6rem;line-height:1.1}.action-list{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.action-item{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.875rem;text-decoration:none;transition:background .12s;display:flex}.action-item:last-child{border-bottom:none}.action-item:hover{background:#ffffff08}.action-item__bar{border-radius:2px;flex-shrink:0;width:3px;height:1.1em;display:block}.action-item__icon{flex-shrink:0;font-size:.65rem}.fw-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.fw-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.82rem;transition:border-color .15s,color .15s;display:flex}.fw-chip:hover{border-color:var(--chip-color,var(--accent));color:var(--text)}.fw-chip--active{border-color:var(--chip-color,var(--accent));color:var(--chip-color,var(--accent));background:color-mix(in srgb, var(--chip-color,var(--accent)) 12%, transparent)}.fw-chip__count{color:var(--muted);background:#ffffff14;border-radius:999px;padding:0 .4rem;font-size:.75rem}.soa-table-wrap{overflow-x:auto}.soa-table--wide{min-width:1400px}.soa-table--compact{table-layout:fixed;width:100%;min-width:720px}.soa-table--compact th,.soa-table--compact td{vertical-align:middle;padding:.35rem .45rem}.soa-table--compact .col-id{white-space:nowrap;width:88px}.soa-table--compact .col-title{width:auto}.soa-table--compact .col-status{width:110px}.soa-table--compact .col-check{text-align:center;width:56px}.soa-table--compact .col-owner{width:120px}.soa-table--compact .col-docs{text-align:center;width:56px}.soa-table--compact .col-more{white-space:nowrap;text-align:right;width:72px}.soa-table .col-id{width:100px}.soa-table .col-fw{width:110px}.soa-table .col-theme{width:120px}.soa-table .col-check{text-align:center;width:72px}.soa-table .col-status{width:130px}.soa-table .col-owner{width:120px}.soa-table .col-just{width:200px}.soa-table .col-save{width:88px}.soa-table .col-title{min-width:160px}.soa-table .col-content{min-width:180px;max-width:260px}.soa-table .col-note{min-width:160px;max-width:240px}.soa-table .col-docs{min-width:56px}.soa-title-stack{flex-direction:column;gap:.15rem;min-width:0;display:flex}.soa-title-meta{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.soa-theme-inline{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;overflow:hidden}.theme-badge--xs{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;padding:.05rem .35rem;font-size:.65rem;overflow:hidden}.soa-cell{text-align:left;width:100%;color:inherit;font:inherit;cursor:default;white-space:pre-wrap;word-break:break-word;background:0 0;border:1px solid #0000;border-radius:6px;padding:.15rem .25rem;display:block}.soa-cell--title-line,.soa-cell--clamp{white-space:nowrap;text-overflow:ellipsis;word-break:normal;max-width:100%;overflow:hidden}.soa-cell--editable{cursor:pointer}.soa-cell--editable:hover{border-color:var(--border);background:color-mix(in srgb, var(--accent) 8%, transparent)}.soa-cell--long{max-height:4.5em;color:var(--muted);font-size:.9em;overflow:hidden}.soa-doc-count{color:inherit;cursor:pointer;background:0 0;border:none;padding:.15rem}.soa-expand-btn{min-width:1.75rem;padding-left:.35rem;padding-right:.35rem}.soa-expand-btn--open{color:var(--accent)}.soa-row--expanded td{border-bottom-color:#0000}.soa-detail-row td{background:color-mix(in srgb, var(--panel) 80%, var(--bg));border-top:none;padding:.5rem .75rem .85rem}.soa-detail-panel{flex-direction:column;gap:.75rem;display:flex}.soa-detail-grid{grid-template-columns:1fr 1fr;gap:.65rem 1rem;display:grid}.soa-detail-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.soa-detail-field--wide{grid-column:1/-1}.soa-detail-text{white-space:pre-wrap;color:var(--muted);margin:0;font-size:.9rem}.soa-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}@media (width<=900px){.soa-detail-grid{grid-template-columns:1fr}}.soa-input--cell{width:100%;min-width:0}.soa-textarea{resize:vertical;background:var(--bg);border:1px solid var(--border);width:100%;min-height:96px;color:var(--text);font:inherit;border-radius:8px;padding:.5rem .65rem;line-height:1.4}.soa-textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.soa-long-edit{flex-direction:column;gap:.35rem;min-width:220px;display:flex}.soa-long-edit__actions{justify-content:flex-end;display:flex}.soa-docs-picker{flex-direction:column;gap:.4rem;min-width:220px;max-width:280px;display:flex}.soa-docs-picker--wide{min-width:0;max-width:100%}.soa-docs-picker__list{border:1px solid var(--border);background:var(--bg);border-radius:8px;max-height:180px;padding:.35rem;overflow:auto}.soa-docs-picker__item{cursor:pointer;align-items:flex-start;gap:.4rem;padding:.25rem .15rem;font-size:.85rem;display:flex}.soa-doc-chips{flex-wrap:wrap;gap:.25rem;display:flex}.soa-doc-chip{background:color-mix(in srgb, var(--accent) 18%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:.1rem .4rem;font-size:.75rem;display:inline-block;overflow:hidden}.soa-id{color:var(--muted);font-size:.78rem}.theme-badge{background:color-mix(in srgb, var(--tw-color,#8b949e) 14%, transparent);color:var(--tw-color,#8b949e);border:1px solid color-mix(in srgb, var(--tw-color,#8b949e) 30%, transparent);border-radius:6px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.soa-check{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.soa-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.3rem .45rem;font-size:.85rem;transition:border-color .15s}.soa-input:focus{border-color:var(--accent);outline:none}.soa-select{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;width:100%;padding:.3rem .4rem;font-size:.85rem;transition:border-color .15s}.soa-select:focus{border-color:var(--accent);outline:none}.soa-status--not_started{color:var(--muted)}.soa-status--partial{color:#d29922}.soa-status--implemented{color:#3fb950}.soa-status--optimized{color:#2f81f7}.soa-status-badge{font-size:.8rem;font-weight:500}.soa-row--dirty td{background:#2f81f70a}.btn-sm{white-space:nowrap;border-radius:6px;padding:.25rem .55rem;font-size:.8rem}.soa-actions{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.soa-check-label{color:var(--muted);cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.banner{border:1px solid var(--border);border-radius:8px;margin-bottom:.85rem;padding:.55rem .85rem;font-size:.9rem}.banner--ok{color:#7ee787;background:#3fb9501f;border-color:#3fb95059}.banner--err{color:#ff7b72;background:#f851491f;border-color:#f8514959}.btn:disabled{opacity:.35;cursor:default}.page-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.page-header-row h1{margin-bottom:.25rem}.tab-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tab-bar__item{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.55rem .85rem;font-size:.9rem}.tab-bar__item:hover{color:var(--text)}.tab-bar__item--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.form-span-2{grid-column:1/-1}.heatmap-board{--hm-label:32px;--hm-cell:58px;--hm-gap:8px;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.heatmap-board__ylab{writing-mode:vertical-rl;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;height:calc(var(--hm-label) + 5 * var(--hm-cell) + 5 * var(--hm-gap));flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex;transform:rotate(180deg)}.heatmap-board__main{width:max-content}.heatmap-board__grid{grid-template-columns:var(--hm-label) repeat(5, var(--hm-cell));grid-template-rows:var(--hm-label) repeat(5, var(--hm-cell));gap:var(--hm-gap);width:max-content;display:grid}.heatmap-board__corner{width:var(--hm-label);height:var(--hm-label)}.heatmap-board__axis-h,.heatmap-board__axis-v{color:var(--muted);box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;font-size:.95rem;font-weight:700;display:flex}.heatmap-board__cell{cursor:default;box-sizing:border-box;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:100%;height:100%;display:flex;position:relative}.heatmap-board__cell:hover,.heatmap-board__cell:focus-visible{z-index:5;outline-offset:1px;outline:2px solid #ffffff59}.heatmap-board__score{opacity:.85;font-size:1.05rem;font-weight:700;line-height:1}.heatmap-board__count{color:#fff;background:#00000080;border-radius:999px;justify-content:center;align-items:center;min-width:1.55rem;height:1.55rem;padding:0 .4rem;font-size:.95rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 0 0 2px #ffffff2e}.heatmap-board__cell--has{cursor:help}.heatmap-board__cell--has .heatmap-board__score{opacity:1}.heatmap-board__cell--low{color:#aff5b4;background:#3fb95066}.heatmap-board__cell--medium{color:#f0d78c;background:#d2992273}.heatmap-board__cell--high{color:#ffc299;background:#f0883e80}.heatmap-board__cell--critical{color:#ffb1ad;background:#f851498c}.heatmap-tip{border:1px solid var(--border);min-width:12rem;max-width:18rem;color:var(--text);text-align:left;white-space:normal;z-index:20;pointer-events:none;background:#1c2128;border-radius:10px;padding:.55rem .7rem;font-size:.8rem;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.heatmap-tip:after{content:"";border:7px solid #0000;border-top-color:#1c2128;position:absolute;top:100%;left:50%;transform:translate(-50%)}.heatmap-board__cell:hover .heatmap-tip,.heatmap-board__cell:focus-visible .heatmap-tip{display:block}.heatmap-board__cell--tip-below .heatmap-tip{top:calc(100% + 10px);bottom:auto}.heatmap-board__cell--tip-below .heatmap-tip:after{border-top-color:#0000;border-bottom-color:#1c2128;top:auto;bottom:100%}.heatmap-tip__head{color:var(--text);margin-bottom:.2rem;font-weight:700}.heatmap-tip__meta{color:var(--muted);margin-bottom:.25rem;font-size:.75rem}.heatmap-tip__item{color:var(--text);padding:.1rem 0}.heatmap-board__xlab{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.55rem;margin-left:var(--hm-label);width:calc(5 * var(--hm-cell) + 4 * var(--hm-gap));font-size:.75rem}.heatmap__legend{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:.5rem;display:flex}.form-grid textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:8px;padding:.55rem .7rem;font-family:inherit}.row-clickable{cursor:pointer}.row-clickable:hover td{background:#2f81f70f}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.row-muted td{opacity:.65}.toolbar-check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.risk-modal{border-color:var(--accent);margin-bottom:1rem}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.cal-month-label{text-align:center;text-transform:capitalize;min-width:10rem}.cal-grid{background:var(--border);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-dow{background:var(--panel);text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:.45rem .35rem;font-size:.75rem;font-weight:600}.cal-day{background:var(--bg);flex-direction:column;gap:.25rem;min-height:6.5rem;padding:.35rem;display:flex}.cal-day--empty{background:#ffffff05;min-height:6.5rem}.cal-day--today{box-shadow:inset 0 0 0 2px var(--accent)}.cal-day--has{background:#2f81f70a}.cal-day__num{color:var(--muted);align-self:flex-end;font-size:.8rem;font-weight:600}.cal-day--today .cal-day__num{color:var(--accent)}.cal-day__events{flex-direction:column;flex:1;gap:.2rem;min-height:0;display:flex}.cal-chip{text-align:left;cursor:pointer;color:#fff;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:4px;max-width:100%;padding:.15rem .3rem;font-size:.68rem;overflow:hidden}.cal-chip--risk_due{background:#2f81f7}.cal-chip--risk_review{background:#a371f7}.cal-chip--treatment_due{background:#d29922}.cal-more{color:var(--muted);font-size:.65rem}.cal-type{font-size:.8rem;font-weight:500}.cal-type--risk_due{color:#58a6ff}.cal-type--risk_review{color:#d2a8ff}.cal-type--treatment_due{color:#e3b341}.cal-row-past{opacity:.65}.unplanned-banner{background:#d299222e;border:2px solid #d29922;border-radius:12px;margin-bottom:1.1rem;padding:1rem 1.1rem;box-shadow:0 0 0 1px #d2992240,0 8px 24px #00000040}.unplanned-banner--ok{box-shadow:none;background:#3fb9501f;border-color:#3fb9508c}.unplanned-banner--pulse{animation:1.2s ease-in-out 2 unplannedPulse}@keyframes unplannedPulse{0%,to{box-shadow:0 0 0 1px #d2992240}50%{box-shadow:0 0 0 4px #d2992273}}.unplanned-banner__head{align-items:flex-start;gap:.75rem;display:flex}.unplanned-banner__head strong{color:#e3b341;font-size:1.05rem}.unplanned-banner--ok .unplanned-banner__head strong{color:#7ee787}.unplanned-banner__hint{color:var(--text);opacity:.9;margin:.35rem 0 0;font-size:.88rem}.unplanned-banner__icon{flex-shrink:0;font-size:1.45rem;line-height:1.2}.unplanned-banner__list{flex-direction:column;gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.unplanned-banner__item{background:#0d1117bf;border:1px solid #d2992266;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.unplanned-banner__meta{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.risks-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.25rem 0 .65rem;font-size:.95rem;font-weight:600}.badge--risk-low{color:#3fb950;border-color:#3fb95066}.badge--risk-medium{color:#d29922;border-color:#d2992266}.badge--risk-high{color:#f0883e;border-color:#f0883e66}.badge--risk-critical{color:#f85149;border-color:#f8514973}.kpi--wide{flex:1;min-width:220px}.level-bars{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.stat-list{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.stat-list li{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.stat-list strong{color:var(--text)}.kpi-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.25rem;min-width:110px;padding:.75rem 1rem;display:flex}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.kpi-value{font-size:1.35rem}.progress-bar{border:1px solid var(--border);background:#ffffff0f;border-radius:999px;min-width:72px;height:1.35rem;position:relative;overflow:hidden}.progress-bar__fill{background:linear-gradient(90deg, var(--accent), #58a6ff8c);max-width:100%;position:absolute;inset:0 auto 0 0}.progress-bar__label{z-index:1;text-align:center;font-variant-numeric:tabular-nums;font-size:.75rem;line-height:1.35rem;display:block;position:relative}.stack{flex-direction:column;gap:.75rem;display:flex}.finding-card__head{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:0;display:flex}.finding-card__meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.finding-card__body{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;margin:0 0 1rem;display:grid}.detail-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.2rem;font-size:.72rem}.detail-grid dd{white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.4}.action-list{flex-direction:column;gap:.35rem;margin:.35rem 0 .75rem;padding-left:1.1rem;display:flex}.finding-action-list{padding-left:0;list-style:none}.finding-action-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:.5rem .65rem}.finding-action-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.finding-action-row__main{flex:1;min-width:0}.finding-action-edit,.finding-action-add{margin-top:.25rem}.inline-form{flex-wrap:wrap;gap:.5rem;display:flex}.inline-form input{flex:1;min-width:200px}.row-selected{background:#58a6ff14}.btn-ghost{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .65rem}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost.small,.btn.small{padding:.25rem .5rem;font-size:.8rem}.severity-critical{color:#f85149;border-color:#f8514973}.severity-high{color:#f0883e;border-color:#f0883e66}.severity-medium{color:#d29922;border-color:#d2992266}.severity-low,.severity-observation{color:#8b949e}.admin-tabs{margin-bottom:1rem;overflow-x:auto}.admin-lists{grid-template-columns:minmax(200px,240px) 1fr;align-items:start;gap:1rem;display:grid}@media (width<=900px){.admin-lists{grid-template-columns:1fr}}.admin-lists__nav{padding:.85rem}.admin-lists__nav-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .65rem;font-size:.78rem}.admin-lists__menu{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.admin-lists__menu-item{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;font-size:.88rem;display:flex}.admin-lists__menu-item:hover{color:var(--text);background:#2f81f714}.admin-lists__menu-item.active{color:var(--accent);background:#2f81f724;border-color:#2f81f773;font-weight:500}.admin-lists__add{margin:.75rem 0 1rem}.admin-lists__add input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.45rem .65rem}.admin-users__check{align-items:center;gap:.5rem;padding-top:1.4rem;flex-direction:row!important;display:flex!important}.admin-users__check input[type=checkbox]{width:auto}.badge--ok{color:#3fb950;border-color:#3fb95066}.badge--status-active{color:#3fb950;background:#3fb9501f;border-color:#3fb95073}.badge--status-monitoring{color:#d29922;background:#d299221f;border-color:#d2992280}.badge--status-closed{color:#8b949e;background:#8b949e1a;border-color:#8b949e73}.badge--swot-strength{color:#3fb950;border-color:#3fb95066}.badge--swot-weakness{color:#f0883e;border-color:#f0883e66}.badge--swot-opportunity{color:#58a6ff;border-color:#58a6ff66}.badge--swot-threat{color:#f85149;border-color:#f8514973}button.kpi{font:inherit;color:inherit;text-align:left}.kpi--clickable{cursor:pointer;transition:border-color .15s,background .15s}.kpi--clickable:hover{border-color:#58a6ff80}.kpi--active-filter{background:#58a6ff14;border-color:#58a6ffa6}.kpi--tone-ok strong{color:#3fb950}.kpi--tone-watch strong{color:#d29922}.kpi--tone-muted strong{color:#8b949e}.kpi--tone-alert strong{color:#f85149}.progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:6px;margin-top:.35rem;overflow:hidden}.progress-bar__fill{border-radius:999px;height:100%;transition:width .25s}.context-progress-card{min-width:160px;gap:.2rem!important}a.context-progress-card:hover{border-color:#58a6ff73}.role-badge--superadmin{color:#d2a8ff;background:#a371f740}.role-badge--admin{color:#ff7b72;background:#f8514926}.role-badge--contentowner{color:#d29922;background:#d2992226}.role-badge--editor{color:#58a6ff;background:#2f81f726}.role-badge--reader{color:#8b949e;background:#8b949e26}.admin-system__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem;margin-top:.75rem;display:grid}.admin-system__tile{border:1px solid var(--border);cursor:pointer;background:#ffffff05;border-radius:10px;flex-direction:column;gap:.35rem;padding:.75rem .85rem;display:flex}.admin-system__tile--on{background:#2f81f71a;border-color:#2f81f773}.admin-system__tile--locked{opacity:.85}.admin-system__tile-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-system__tile-top input{width:auto}.training-picker{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:.5rem}.training-picker__list{flex-direction:column;gap:.2rem;max-height:160px;display:flex;overflow:auto}.training-picker__item{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.25rem .4rem;font-size:.85rem}.training-picker__item:hover{border-color:var(--border);background:color-mix(in srgb, var(--accent) 10%, transparent)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--neutral-950:#0d1117;--neutral-900:#161b22;--neutral-800:#21262d;--neutral-700:#30363d;--neutral-500:#8b949e;--neutral-300:#c9d1d9;--neutral-100:#e6edf3;--blue-500:#2f81f7;--blue-600:#1f6feb;--blue-400:#58a6ff;--green-500:#3fb950;--yellow-500:#d29922;--orange-500:#f0883e;--red-500:#f85149;--color-bg:var(--neutral-950);--color-bg-soft:#0a0e14;--color-surface:var(--neutral-900);--color-surface-2:var(--neutral-800);--color-border:var(--neutral-700);--color-border-strong:#484f58;--color-text:var(--neutral-100);--color-text-soft:var(--neutral-500);--color-text-muted:#6e7681;--brand-primary:var(--blue-500);--brand-primary-hover:var(--blue-400);--brand-primary-soft:#2f81f726;--color-danger:var(--red-500);--color-warn:var(--yellow-500);--color-success:var(--green-500);--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 12px #00000059;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--z-nav:40;--z-modal:1000;--z-toast:1200;--nav-width:240px;--duration-fast:.12s}
