:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--surface-alt: #f4f5f7;--border: #d8dbe0;--text: #1b1d22;--text-muted: #63697a;--text-soft: #9aa1ad;--on-solid: #ffffff;--accent: #d2232a;--accent-hover: #b31d23;--accent-soft: #fbe7e7;--danger: #c2410c;--danger-bg: #fdecdf;--success: #15803d;--success-bg: #e3f5e9;--warning-text: #92400e;--warning-bg: #fff4e5;--warning-border: #f3c98a;--overlay: rgba(15, 20, 30, .5);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--banner-height: 41px;--header-height: 61px;--shadow-sm: 0 1px 2px rgba(15, 15, 20, .06), 0 1px 1px rgba(15, 15, 20, .04);--shadow-md: 0 6px 16px rgba(15, 15, 20, .1), 0 2px 4px rgba(15, 15, 20, .06);--shadow-lg: 0 16px 40px rgba(15, 15, 20, .16);--coffee: #6b4226;--coffee-light: #b9803f;--cup-body: #ffffff;--cup-shade: #dfe1e6}[data-theme=dark]{color-scheme:dark;--bg: #14151a;--surface: #1c1e24;--surface-alt: #262830;--border: #33353d;--text: #e7e7ea;--text-muted: #9a9ea8;--text-soft: #6f7480;--on-solid: #ffffff;--accent: #ef4444;--accent-hover: #f87171;--accent-soft: rgba(239, 68, 68, .18);--danger: #fb923c;--danger-bg: rgba(251, 146, 60, .16);--success: #4ade80;--success-bg: rgba(74, 222, 128, .16);--warning-text: #fbbf24;--warning-bg: rgba(251, 191, 36, .14);--warning-border: rgba(251, 191, 36, .4);--overlay: rgba(0, 0, 0, .65);--shadow-sm: 0 0 0 1px rgba(255, 255, 255, .04);--shadow-md: 0 8px 20px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .55);--coffee: #8a5a33;--coffee-light: #d9a45c;--cup-body: #eceef1;--cup-shade: #3a3c44}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--text-soft)}a,button,input,select,textarea{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{display:flex;flex-direction:column;min-height:100vh}.announcement-banner{position:sticky;top:0;z-index:100;background:var(--accent);color:#fff;font-weight:700;text-align:center;padding:10px 24px;font-size:.92em;line-height:1.4;white-space:pre-wrap}.app-header{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:var(--banner-height);z-index:40}.brand-mark{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark svg{display:block;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-size:15px;color:var(--text);font-weight:700;letter-spacing:-.01em}.brand-subtitle{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.brand-mark.brand-mark-lg svg{width:56px;height:56px}.brand-mark.brand-mark-lg .brand-text strong{font-size:22px}.brand-mark.brand-mark-lg .brand-subtitle{font-size:13px}.app-header nav{display:flex;gap:4px;flex:1;margin-left:8px}.app-header nav a{color:var(--text-muted);text-decoration:none;font-size:.92em;font-weight:600;padding:8px 14px;border-radius:999px}.app-header nav a:hover{color:var(--text);background:var(--surface-alt)}.app-header nav a.active{color:var(--on-solid);background:var(--accent)}.user-badge{display:flex;align-items:center;gap:10px;font-size:.9em}.header-side-link{color:var(--text-muted);text-decoration:none;font-size:.92em;font-weight:600;padding:8px 14px;border-radius:999px}.header-side-link:hover{color:var(--text);background:var(--surface-alt)}.header-side-link.active{color:var(--on-solid);background:var(--accent)}.header-side-separator{color:var(--border);font-weight:400}.user-avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.78em;flex-shrink:0}.user-badge button{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer;font-size:.9em}.user-badge button:hover{background:var(--surface-alt);color:var(--text);border-color:var(--text-soft)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);cursor:pointer;flex-shrink:0}.theme-toggle.theme-toggle{padding:0}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.app-main{padding:20px;flex:1;display:flex;flex-direction:column}.centered-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:40px;gap:12px;background:var(--bg)}.centered-page .brand-mark{margin-bottom:8px}.centered-page h1{margin:0;font-size:1.4em}.login-card{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:620px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px 40px}.login-card .brand-mark{margin-bottom:0}.login-intro{margin:0;color:var(--text-muted);font-size:.95em;line-height:1.55;text-align:justify}.login-intro strong{color:var(--text)}.login-divider{width:100%;height:1px;border:none;margin:0;background:var(--accent)}.login-access-steps{width:100%}.login-access-steps h2{margin:0 0 10px;font-size:1em;color:var(--text)}.login-access-steps ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}.login-access-steps li{font-size:.9em;color:var(--text-muted);line-height:1.55;text-align:justify}.login-card button.primary{align-self:center;margin-top:4px}.centered-page.login-page{justify-content:flex-start;padding-top:10vh}.login-theme-toggle{position:fixed;top:16px;right:16px;z-index:5}button{font:inherit;background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 16px;cursor:pointer;font-weight:600}button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:var(--accent);color:var(--on-solid);border:none;border-radius:var(--radius-sm);padding:8px 16px;cursor:pointer;font-weight:600;box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--accent-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.danger{background:var(--danger);color:var(--on-solid);border:none;border-radius:var(--radius-sm);padding:8px 16px;cursor:pointer;font-weight:600}button.danger:hover{filter:brightness(.93)}button.danger:disabled{opacity:.6;cursor:not-allowed}button.icon-btn{background:transparent;border:none;border-radius:0;padding:2px;font-size:1.1em;font-weight:400;cursor:pointer;color:var(--text-muted)}button.icon-btn:hover{background:transparent;border-color:transparent;color:var(--text)}.landscape-toolbar,.audit-filters{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.landscape-toolbar h1,.admin-page h1{margin:0 0 4px}.spacer{flex:1}.landscape-toolbar{background:var(--bg);margin:0 -20px 16px;padding:0 20px 14px;border-bottom:1px solid #14151a}.applications-filters-label{font-weight:600;color:var(--text-muted);font-size:.9em}.clear-filters-btn{font-size:.85em;padding:6px 12px}.page-backdrop{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;margin:0 -20px;padding:0 20px}.page-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:var(--page-bg-image, none);background-position:top left;background-size:cover;background-repeat:no-repeat;opacity:var(--page-bg-opacity, 1);pointer-events:none}.page-backdrop>*{position:relative;z-index:1}.page-backdrop>.landscape-toolbar{z-index:10}.stats-tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stats-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--surface-alt);border-radius:var(--radius-md);padding:16px 18px}.stats-tile-emoji{font-size:1.8em;line-height:1}.stats-tile-value{font-size:1.8em;font-weight:700;font-variant-numeric:tabular-nums}.stats-tile-label{font-size:.82em;color:var(--text-muted)}.stats-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.stats-chart-title{margin:0 0 14px;font-size:1.05em}.mag-list{display:flex;flex-direction:column;gap:10px}.mag-row-clickable{display:block;width:100%;text-align:left;background:none;border:none;padding:4px;margin:-4px;border-radius:var(--radius-sm);font:inherit;cursor:pointer}.mag-row-clickable:hover{background:var(--accent-soft)}.mag-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.88em;margin-bottom:4px}.mag-label{color:var(--text)}.mag-value{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.mag-track{height:12px;background:var(--surface-alt);border-radius:4px;overflow:hidden}.mag-bar{height:100%;background-image:linear-gradient(to right,#2e7d32,#f57c00,#d32f2f);background-repeat:no-repeat;border-radius:0 4px 4px 0;min-width:3px}.stack-bar{display:flex;gap:2px;height:22px;border-radius:4px;overflow:hidden;background:var(--surface)}.stack-segment{flex-grow:1;flex-basis:0;min-width:2px}.stack-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85em;margin-top:12px}.stack-legend-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.stats-empty{color:var(--text-soft);font-size:.85em;margin:0}.background-preview{position:relative;height:140px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin:4px 0 16px;background:var(--surface-alt)}.background-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--page-bg-image, none);background-position:top left;background-size:cover;background-repeat:no-repeat;opacity:var(--page-bg-opacity, 1)}.background-preview-swatch{position:relative;z-index:1;margin:16px;padding:10px 14px;display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:.85em;color:var(--text)}.legend-panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:12px}.legend-switch{display:flex;gap:6px}.legend-switch button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer}.legend-switch button.active{background:var(--accent);color:var(--on-solid);border-color:var(--accent)}.legend-swatches{display:flex;gap:14px;font-size:.85em}.legend-swatch{display:flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:2px;display:inline-block;border:1px solid rgba(0,0,0,.15)}.multiselect{position:relative}.multiselect-trigger{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.9em;white-space:nowrap;flex-shrink:0}.multiselect-trigger:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.multiselect-trigger-label{color:var(--text-muted)}.multiselect-caret{font-size:.8em;color:var(--text-muted)}.multiselect-sizer-stack{display:grid}.multiselect-sizer-stack>.multiselect-trigger-row{grid-area:1 / 1;display:flex;align-items:center;gap:6px;white-space:nowrap}.multiselect-sizer-row{visibility:hidden;pointer-events:none}.multiselect-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:5;min-width:220px;width:max-content;max-width:min(480px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px}.multiselect-panel-actions{display:flex;gap:8px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border)}.multiselect-panel-actions button{font-size:.82em;padding:3px 8px}.multiselect-options{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;overflow-x:auto}.multiselect-options li{padding:2px 4px}.multiselect-options li label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:.9em;cursor:pointer;white-space:nowrap}.multiselect-options li label input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:0}.multiselect-option-disabled label{opacity:.5;cursor:not-allowed}.multiselect-option-disabled input[type=checkbox]{cursor:not-allowed}.icicle-grid{position:relative}.icicle-box{position:absolute;border:1px solid var(--text);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.icicle-box-title{padding:8px 12px;font-weight:700;font-size:1em;border-bottom:1px solid var(--text)}.icicle-box-title-link{display:block;color:inherit;text-decoration:none}.icicle-box-title-link:hover{text-decoration:underline}.icicle-box-count{font-weight:400;font-size:8px;color:var(--text-muted);white-space:nowrap}.icicle-box-body{position:relative;flex:1}.icicle-cell{position:absolute;z-index:1}.icicle-cell:hover{z-index:2}.icicle-cell-btn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:1px solid rgba(255,255,255,.6);overflow:hidden;border-radius:0;font-weight:400;padding:4px 6px;text-align:left;font-size:.78em;cursor:pointer;color:#16202e}.icicle-cell-btn span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icicle-cell:hover .icicle-cell-btn{outline:2px solid var(--accent)}.icicle-box-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:.85em}.icicle-risk-badge{position:absolute;top:2px;right:2px;z-index:3;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--danger);color:#fff;font-size:10px;line-height:1;text-decoration:none;box-shadow:0 0 0 1.5px var(--surface),var(--shadow-sm)}.icicle-risk-badge:hover{filter:brightness(1.12)}.risk-row-highlight{background:var(--accent-soft)!important}.data-table{width:100%;border-collapse:collapse;background:var(--surface)}.data-table th,.data-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.9em}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--accent-soft)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:var(--accent-soft)}.owner-hover-target{position:relative;display:inline-block;cursor:default}.owner-hover-anchor{border-bottom:1px dotted var(--text-soft)}.owner-hover-card{display:none;position:absolute;left:0;top:100%;margin-top:6px;z-index:200;flex-direction:column;gap:4px;min-width:240px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.85em;white-space:nowrap;cursor:default}.owner-hover-target:hover .owner-hover-card{display:flex}.owner-hover-label{color:var(--text-muted);font-weight:600;margin-right:4px}.applications-table-card{padding:4px 0;overflow-x:auto}.applications-table-card .data-table th,.applications-table-card .data-table td{padding:10px 20px}.applications-table-card p.muted{padding:16px 20px;margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(920px,92vw);max-height:88vh;display:flex;flex-direction:column}.modal-header,.modal-footer{display:flex;align-items:center;gap:10px;padding:14px 20px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between}.modal-header h2{margin:0}.modal-header-actions{display:flex;align-items:center;gap:10px}.btn-owner-add{font-size:.85em;padding:6px 14px;white-space:nowrap;background:var(--accent);color:var(--on-solid);border:none;font-weight:700;box-shadow:var(--shadow-sm)}.btn-owner-add:hover{background:var(--accent-hover);color:var(--on-solid);border-color:transparent}.btn-owner-add:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-risk-add{font-size:.85em;padding:6px 14px;white-space:nowrap;background:var(--danger);color:var(--on-solid);border:none;font-weight:700;box-shadow:var(--shadow-sm)}.btn-risk-add:hover{filter:brightness(1.08)}.btn-risk-add:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-risk-view{font-size:.85em;padding:6px 14px;white-space:nowrap;background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);font-weight:700}.btn-risk-view:hover{filter:brightness(.97)}.modal-footer{border-top:1px solid var(--border)}.modal-body{padding:16px 20px;overflow-y:auto}.modal-body fieldset{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px}.modal-body legend{padding:0 6px;font-weight:600;font-size:.9em}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px}.field-grid label{display:flex;flex-direction:column;font-size:.85em;gap:4px;min-width:0}.field-grid label.field-wide{grid-column:1 / -1}.field-grid label>span:first-child{min-height:26px;display:flex;align-items:center}.field-grid input,.field-grid select,.field-grid textarea,.settings-form input,.settings-form select,.settings-form textarea,.announcement-form input,.announcement-form select,.announcement-form textarea,.section-weight-input input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface);color:var(--text);width:100%;min-width:0}.field-grid .multiselect,.field-grid .multiselect-trigger{width:100%}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.announcement-form input:focus,.announcement-form select:focus,.announcement-form textarea:focus,.section-weight-input input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-error{color:var(--danger);padding:8px 20px}.form-note{color:var(--success);margin-bottom:12px}.list-edit-input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface);color:var(--text);width:100%;max-width:260px}.list-edit-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-shell{display:flex;gap:24px;align-items:flex-start;min-height:calc(100vh - var(--banner-height) - var(--header-height))}.admin-subnav{display:flex;flex-direction:column;gap:4px;min-width:190px;position:sticky;top:calc(var(--banner-height) + var(--header-height));max-height:calc(100vh - var(--banner-height) - var(--header-height));overflow-y:auto}.admin-subnav a{padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:.9em}.admin-subnav a.active{background:var(--accent);color:var(--on-solid)}.admin-subview{flex:1;min-width:0}.admin-subnav-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.admin-subnav-group-label{padding:0 10px;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.admin-subnav-child{padding-left:22px!important}.admin-eyebrow{text-transform:uppercase;font-size:.72em;font-weight:700;letter-spacing:.04em;color:var(--accent);margin:0 0 4px}.settings-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);margin:18px 0 24px}.settings-tabs a{padding:10px 16px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-muted);text-decoration:none;font-size:.92em;font-weight:600}.settings-tabs a:hover{color:var(--text);background:var(--surface-alt);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.settings-tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tabs-group-btn{padding:10px 16px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:inherit;font-size:.92em;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.settings-tabs-group-btn:hover{color:var(--text);background:var(--surface-alt);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.settings-tabs-group-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tabs-group-caret{font-size:.75em}.settings-subtabs-panel{margin:-1px 0 24px;padding:12px 14px 14px;background:var(--surface-alt);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 4px 10px -6px #00000040}.settings-subtabs{display:flex;flex-wrap:wrap;gap:6px}.settings-subtabs a{padding:6px 14px;border-radius:999px;color:var(--text-muted);text-decoration:none;font-size:.85em;font-weight:600;background:var(--surface);border:1px solid var(--border)}.settings-subtabs a:hover{color:var(--text);border-color:var(--accent)}.settings-subtabs a.active{color:var(--accent-contrast, #fff);background:var(--accent);border-color:var(--accent)}.app-form-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface-alt)}.app-form-tab-divider{grid-column:1 / -1;align-self:center;height:1px;margin:4px 0;background:var(--border)}.app-form-tab{display:flex;align-items:center;gap:8px;padding:0;min-width:0;background:transparent;border:none;cursor:pointer;color:var(--text-muted)}.app-form-tab-circle{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);font-size:.78em;font-weight:600;color:var(--text-muted)}.app-form-tab-label{font-size:.85em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-form-tab:not(.active):hover .app-form-tab-circle{border-color:hsl(var(--tab-hue) 62% 42%);color:hsl(var(--tab-hue) 62% 42%)}.app-form-tab:not(.active):hover .app-form-tab-label{color:hsl(var(--tab-hue) 62% 42%)}[data-theme=dark] .app-form-tab:not(.active):hover .app-form-tab-circle{border-color:hsl(var(--tab-hue) 70% 65%);color:hsl(var(--tab-hue) 70% 65%)}[data-theme=dark] .app-form-tab:not(.active):hover .app-form-tab-label{color:hsl(var(--tab-hue) 70% 65%)}.app-form-tab.active .app-form-tab-circle{background:var(--accent);border-color:var(--accent);color:var(--on-solid)}.app-form-tab.active .app-form-tab-label{color:var(--accent)}.app-form-tab-error-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:none}.app-form{align-self:flex-start;margin-top:5vh;max-height:90vh}.admin-page{max-width:900px}.muted{color:var(--text-muted)}.settings-form{display:flex;flex-direction:column;gap:14px;margin:16px 0;max-width:520px}.settings-form label{display:flex;flex-direction:column;gap:4px}.settings-form small{color:var(--text-muted)}.settings-form label.checkbox-field{flex-direction:row;align-items:center;gap:8px}.settings-toggle-row{display:flex;flex-direction:row;align-items:center;gap:10px}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.settings-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.settings-card-header h2{margin:0;font-size:1.15em}.settings-card-actions{display:flex;gap:8px}.placeholder-card{border:1px dashed var(--border);border-radius:var(--radius-md);padding:20px;background:var(--surface)}.pagination{display:flex;align-items:center;gap:12px;margin-top:12px}.required-star{color:var(--danger)}.field-description{color:var(--text-muted);font-size:.8em}.field-section-description{margin-top:-6px;margin-bottom:10px;font-size:.85em}.section-notes-field{display:flex;flex-direction:column;gap:4px;margin-top:14px;font-size:.85em}.section-notes-field>span:first-child{min-height:26px;display:flex;align-items:center}.risk-app-details-note{margin-top:14px}.inline-link-button{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.inline-link-button:hover{color:var(--accent-hover)}.field-help-hover{position:relative;display:inline-flex;margin-left:6px;cursor:help;vertical-align:middle}.field-help-icon-fill{fill:var(--accent)}.field-help-icon-mark{font-size:12.5px;font-weight:700;fill:var(--on-solid);font-family:inherit}.field-help-hover:hover .field-help-icon-fill,.field-help-hover:focus-within .field-help-icon-fill,.field-help-hover:focus .field-help-icon-fill{fill:var(--accent-hover)}.field-help-tooltip{position:fixed;z-index:300;width:max-content;min-width:220px;max-width:min(520px,90vw);padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.82em;font-weight:400;color:var(--text);line-height:1.45;white-space:normal;text-align:left}.field-help-tooltip>*:first-child{margin-top:0}.field-help-tooltip>*:last-child{margin-bottom:0}.attestation-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 26px}.attestation-timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--border)}.attestation-timeline-item{position:relative;padding-bottom:18px}.attestation-timeline-item:last-child{padding-bottom:0}.attestation-timeline-dot{position:absolute;left:-26px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 2px var(--accent)}.attestation-timeline-name{font-weight:600}.attestation-timeline-meta{font-size:.82em;margin-top:2px}.attestation-timeline-actions{margin-top:6px}.attestation-count{font-size:.82em}.attestation-timeline-load-more{margin-top:4px;padding-left:26px}.attestation-diff-target{display:inline-block}.attestation-diff-btn{padding:3px 9px;font-size:.8em;font-weight:600;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:help}.attestation-diff-btn:hover{background:var(--surface)}.attestation-diff-card{position:fixed;z-index:300;min-width:320px;max-width:480px;max-height:320px;overflow:auto;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.82em;cursor:default}.attestation-diff-table{width:100%;border-collapse:collapse}.attestation-diff-table th{text-align:left;font-size:.85em;color:var(--text-muted);padding:2px 8px 4px 0;border-bottom:1px solid var(--border)}.attestation-diff-table td{padding:4px 8px 4px 0;vertical-align:top;border-bottom:1px solid var(--border)}.attestation-diff-table tr:last-child td{border-bottom:none}.attestation-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-top:1px solid var(--border);font-size:.88em}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:4px}.radio-option,.checkbox-option{display:flex;align-items:center;gap:6px;font-size:.9em;font-weight:400}.table-field table{margin-bottom:8px}.table-field input,.table-field select{padding:4px 6px}.field-subgroup{margin-top:14px;padding:12px 14px 4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt)}.field-subgroup-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.field-invalid input,.field-invalid select,.field-invalid textarea,.field-invalid .multiselect-trigger{background:var(--danger-bg);border-color:var(--danger)}.field-invalid>span{color:var(--danger)}.form-banner-error{background:var(--danger);color:var(--on-solid);padding:10px 20px;margin:0 0 12px;font-weight:600}.form-banner-deleted{background:var(--success-bg);color:var(--success);padding:10px 20px;margin:0 0 12px;font-weight:600}.form-builder-page{max-width:1720px}.deleted-applications-page{max-width:1400px}.form-builder-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0}.static-list-add-form{align-items:flex-end}.version-history{margin-bottom:20px}.form-builder-layout{display:flex;align-items:flex-start;gap:24px;margin-top:14px}.form-builder-editor{flex:1 1 480px;min-width:0}@media (max-width: 1360px){.form-builder-layout{flex-direction:column}}.form-builder-preview{flex:1 1 560px;min-width:460px;max-width:720px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}@media (max-width: 1360px){.form-builder-preview{width:100%;min-width:0;max-width:none;flex-basis:auto}}.form-builder-preview-header h3{margin:0 0 4px}.form-builder-preview-header p{margin:0 0 14px;font-size:.85em}.form-builder-preview-body fieldset{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:14px}.form-builder-preview-body legend{padding:0 6px;font-weight:600;font-size:.9em}.form-builder-preview-body input,.form-builder-preview-body select,.form-builder-preview-body textarea{background:var(--surface-alt)}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:16px}.section-card.section-hidden{opacity:.6;border-style:dashed}.section-card-dragging{opacity:.4}.section-card-drop-target{box-shadow:inset 0 2px 0 var(--accent)}.section-card-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.section-drag-handle{cursor:grab;color:var(--text-soft);font-size:1.1em;line-height:1;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none}.section-label-input{flex:1;font-weight:600;font-size:1.05em;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.section-description-input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;margin-bottom:10px;resize:vertical}.reorder-buttons{display:flex;flex-direction:column;gap:2px}.reorder-buttons button{line-height:1;padding:0 4px}.checkbox-row{display:flex;align-items:center;gap:6px;font-size:.9em;white-space:nowrap}.field-list tr.field-hidden{opacity:.55}.field-dependency-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--accent);color:var(--accent);font-size:.72em;font-weight:700;white-space:nowrap;cursor:help}.field-dependency-link{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;width:20px;height:20px;padding:0;border:none;background:none;border-radius:50%;cursor:pointer;font-size:.85em;line-height:1;color:var(--accent)}.field-dependency-link:hover{background:var(--accent-soft)}@keyframes field-row-flash-fade{0%{background:var(--accent-soft)}to{background:transparent}}.field-row-flash{animation:field-row-flash-fade 1.2s ease-out}.field-dependency-note{font-size:.78em;margin-top:2px}.field-row-actions{display:flex;gap:6px}.drag-handle-cell{width:1%;white-space:nowrap;text-align:center;color:var(--text-soft);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none}.drag-handle{font-size:1.1em;line-height:1}.field-row-dragging{opacity:.4}.field-row-drop-target{box-shadow:inset 0 2px 0 var(--accent)}.publish-bar{display:flex;align-items:flex-end;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin-top:10px}.publish-note{flex:1;display:flex;flex-direction:column;gap:4px}.publish-note input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.field-dependency-editor{display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md)}.field-dependency-condition{display:flex;flex-direction:column;gap:8px;padding-left:4px}.field-dependency-condition .multiselect,.field-dependency-condition .multiselect-trigger{width:100%}.options-editor,.columns-editor{display:flex;flex-direction:column;gap:6px;margin-top:4px}.option-row,.column-row{display:flex;align-items:center;gap:8px}.option-row input,.column-row input,.column-row select{padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm)}.option-row .drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none}.option-row-dragging{opacity:.4}.option-row-drop-target{box-shadow:inset 0 2px 0 var(--accent)}.column-options-editor{margin-left:24px;padding-left:10px;border-left:2px solid var(--border)}.owner-select{display:flex;align-items:center;gap:8px}.owner-select select,.owner-select .multiselect{flex:1;min-width:0}.risk-owner-select-row{display:flex;align-items:center;gap:10px}.risk-owner-select-row .owner-select{flex:1;min-width:0}.risk-owner-select-row .btn-owner-add{flex-shrink:0}.owner-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.owner-list li{display:flex;align-items:center;gap:6px}.alert-overlay{z-index:60}.alert-box{width:min(420px,90vw);padding:20px 20px 4px;text-align:center}.alert-box p{margin:0 0 12px;white-space:pre-line}.alert-box-success{border-top:4px solid var(--success)}.alert-box-error{border-top:4px solid var(--danger)}.confirm-dialog-title{margin:0 0 8px;font-size:1.05em}.share-link-dialog{width:min(560px,92vw);text-align:left;padding:20px}.share-link-row{display:flex;gap:8px;margin:10px 0}.share-link-row input{flex:1;font-family:monospace;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:inherit;background:var(--surface);color:var(--text);min-width:0}.share-link-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.app-diagram-add-button,.app-diagram-section{margin-top:14px}.app-diagram-preview{height:160px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:10px;cursor:pointer;position:relative}.app-diagram-preview:hover{border-color:var(--accent)}.app-diagram-preview .diagram-canvas-compact{pointer-events:none}.diagram-canvas-compact .App-bottom-bar,.diagram-canvas-compact .App-menu{display:none!important}.app-diagram-meta{margin:0 0 8px}.app-diagram-actions{display:flex;gap:8px}.diagram-editor-overlay{z-index:70;align-items:stretch;justify-content:stretch;top:var(--banner-height);height:calc(100% - var(--banner-height))}.diagram-editor-modal{display:flex;flex-direction:column;width:100%;height:100%;background:var(--surface)}.diagram-editor-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.diagram-editor-header h3{margin:0}.diagram-editor-actions{display:flex;align-items:center;gap:10px}.diagram-editor-canvas{flex:1;min-height:0}.diagram-canvas{width:100%;height:100%}.public-diagram-page{display:flex;flex-direction:column;height:100vh;background:var(--bg)}.public-diagram-header{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-muted)}.public-diagram-canvas{flex:1;min-height:0}.reason-prompt-dialog label,.test-email-dialog label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:4px 0 16px;text-align:left}.reason-prompt-dialog textarea,.test-email-dialog input,.invite-user-dialog input{display:block;width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;resize:vertical;background:var(--surface);color:var(--text)}.reason-prompt-dialog textarea:focus,.test-email-dialog input:focus,.invite-user-dialog input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.invite-user-dialog label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:4px 0 16px;text-align:left}.invite-user-dialog label span{flex:none;font-weight:600}.invite-user-dialog label input{flex:1;width:auto}.audit-log-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.audit-log-banner h1{margin-bottom:2px}.audit-log-banner-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.audit-log-banner-actions .inline-field{min-width:160px}.audit-raw-diff-modal{width:min(720px,92vw)}.export-csv-modal{width:min(480px,92vw)}.audit-raw-diff-content{white-space:pre-wrap;word-break:break-word;font-family:monospace;font-size:.85em;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin:0}.login-activity-chart{margin-bottom:20px}.login-activity-bars{display:flex;align-items:flex-end;gap:10px;padding-top:8px}.login-activity-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.login-activity-bar{width:100%;max-width:48px;background:var(--accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .2s ease}.login-activity-bar-count{font-size:.78em;color:var(--text-muted);font-weight:700}.login-activity-bar-label{font-size:.72em;color:var(--text-muted);white-space:nowrap}.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border:none;border-radius:999px;font-size:.78em;font-weight:600;line-height:1.6;vertical-align:middle}.badge-ok{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--danger-bg);color:var(--danger);margin-left:6px}.badge-link{background:var(--accent);color:var(--on-solid);text-decoration:none;cursor:pointer}.badge-link:hover{opacity:.85}.badge-danger{background:var(--danger);color:var(--on-solid);cursor:pointer}.badge-danger:hover{opacity:.85}.badge-row{display:inline-flex;align-items:center;gap:6px}.badge-row>*{margin-left:0}.notif-pref-list{display:flex;flex-direction:column;margin-top:12px}.notif-pref-row{display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--border)}.notif-pref-row:last-child{border-bottom:none;padding-bottom:0}.notif-pref-main{flex:1;min-width:0}.notif-pref-label{font-weight:600;margin-bottom:3px}.notif-pref-desc{font-size:.85em;color:var(--text-muted);margin-bottom:8px}.notif-pref-audiences{display:flex;gap:6px;flex-wrap:wrap}.notif-pref-toggle-col{flex-shrink:0}.badge-audience{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}.badge-audience-admins{background:var(--accent-soft);color:var(--accent)}.badge-audience-user{background:var(--success-bg);color:var(--success)}.badge-audience-requester{background:var(--warning-bg);color:var(--warning-text)}.badge-status-beta{background:var(--accent-soft);color:var(--accent)}.badge-status-preview{background:var(--warning-bg);color:var(--warning-text)}.badge-status-released{background:var(--success-bg);color:var(--success)}.notif-toggle-group{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;align-self:flex-start}.notif-toggle-btn{padding:5px 14px;font-size:.8em;font-weight:700;border:none;cursor:pointer;background:var(--surface-alt);color:var(--text-muted)}.notif-toggle-btn:disabled{cursor:default}.notif-toggle-btn-on{border-right:1px solid var(--border)}.notif-toggle-btn-on.active{background:var(--success);color:var(--on-solid)}.notif-toggle-btn-off.active{background:var(--accent);color:var(--on-solid)}.notif-toggle-group-inline{display:flex;align-items:center;gap:6px}.notif-toggle-group-label{font-size:.82em;color:var(--text-muted)}.section-weight-input{display:flex;align-items:center;gap:4px}.section-weight-input input{width:70px;text-align:right}.section-weight-input span{font-size:.82em;color:var(--text-muted)}.section-footer-row{display:flex;align-items:center;gap:12px}.section-weight-row{margin-left:auto}.section-notes-config{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.section-notes-config-collapsed{opacity:.75}.section-notes-hint{font-size:.82em;flex-basis:100%}.weight-total-float{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md);box-shadow:0 4px 16px #0003;font-weight:600}.weight-total-good{background:var(--success-bg);color:var(--success)}.weight-total-bad{background:var(--danger-bg);color:var(--danger)}.weight-total-label{font-size:.82em;font-weight:500;opacity:.85}.weight-total-value{font-size:1.1em}.btn-disabled-look{opacity:.5;cursor:not-allowed}button.badge:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}button.badge:disabled:hover{opacity:.4}.badge-eol-expired{background:#424242;color:#fff}.badge-eol-soon{background:#d32f2f;color:#fff}.badge-eol-approaching{background:#f57c00;color:#fff}.badge-eol-mainstream{background:#2e7d32;color:#fff}.badge-dumpster-30{background:#1565c0;color:#fff}.badge-dumpster-60{background:#2e7d32;color:#fff}.badge-dumpster-90{background:#f9a825;color:#1a1a1a}.badge-dumpster-180{background:#f57c00;color:#fff}.badge-dumpster-ancient{background:#c62828;color:#fff}.filter-chip{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;padding:4px 6px 4px 12px;margin-bottom:12px;font-size:.9em}.inline-field{display:flex;flex-direction:column;gap:4px;font-size:.85em}.inline-field select,.inline-field input{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.landscape-toolbar input,.landscape-toolbar select,.audit-filters input,.audit-filters select,.form-builder-toolbar input{border-radius:var(--radius-sm);padding:8px 16px;border:1px solid var(--border)}.form-warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.preview-feature-warning{padding:10px 16px;border-radius:var(--radius-md);margin:0 0 16px;font-size:.92em}.setup-steps{padding-left:20px}.setup-steps li{margin-bottom:4px}.color-swatch-input{display:flex;align-items:center;gap:6px}.color-swatch-input input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.color-hex-text{width:90px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:monospace}.picker-search-input{display:block;width:100%;margin-bottom:12px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.picker-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.picker-list{list-style:none;margin:0 0 16px;padding:0}.picker-list-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text)}.picker-list-item:hover:not(:disabled){background:var(--accent-soft);border-color:transparent;color:var(--text)}.picker-list-item:disabled{opacity:.6;cursor:not-allowed}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);margin-right:8px;font-size:1rem;vertical-align:middle}.color-swatch{display:inline-block;width:22px;height:22px;border-radius:5px;border:1px solid var(--border)}.rich-text-editor{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.rich-text-editor-disabled{opacity:.7}.rich-text-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 8px;background:var(--surface-alt);border-bottom:1px solid var(--border)}.rich-text-toolbar button{padding:4px 9px;font-size:.82em;font-weight:600;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);cursor:pointer}.rich-text-toolbar button:hover{background:var(--surface);border-color:var(--border)}.rich-text-toolbar button:disabled{opacity:.5;cursor:not-allowed}.rich-text-toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 4px}.rich-text-font-select{padding:4px 6px;font-size:.82em;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;max-width:110px}.rich-text-font-select:hover{background:var(--surface);border-color:var(--border)}.rich-text-font-select:disabled{opacity:.5;cursor:not-allowed}.rich-text-color-picker{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:.82em;font-weight:700;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.rich-text-color-picker:hover{background:var(--surface);border-color:var(--border)}.rich-text-color-picker input[type=color]{width:18px;height:18px;padding:0;border:1px solid var(--border);border-radius:3px;cursor:pointer}.rich-text-uploading{margin-left:auto;font-size:.82em;color:var(--text-muted)}.rich-text-body{min-height:160px;max-height:420px;overflow-y:auto;padding:10px 12px;font-size:.92em;line-height:1.5;font-weight:400;font-style:normal;text-decoration:none}.rich-text-field{display:flex;flex-direction:column;gap:4px}.rich-text-body:focus{outline:none}.rich-text-body img{max-width:100%;border-radius:6px}.rich-text-body:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.announcement-form{display:flex;flex-direction:column;gap:14px;margin:16px 0}.announcement-form label{display:flex;flex-direction:column;gap:4px}.announcement-form-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.announcement-form-row label:first-child{flex:0 0 200px}.announcement-form label.announcement-visible-checkbox{flex-direction:row;align-items:center;padding-bottom:7px}.whats-new{position:relative}.whats-new-trigger{display:inline-flex;align-items:center;gap:6px;position:relative;padding:6px 12px;font-size:.85em;font-weight:600;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer}.whats-new-trigger:hover{background:var(--surface-alt);color:var(--text);border-color:var(--accent)}.whats-new-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}.whats-new-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:5;width:min(420px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px;max-height:70vh;overflow-y:auto}.whats-new-panel-title{font-weight:700;font-size:.9em;margin-bottom:8px}.whats-new-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.whats-new-item{border-bottom:1px solid var(--border)}.whats-new-item:last-child{border-bottom:none}.whats-new-item-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 4px;background:transparent;border:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.whats-new-item-header:hover{background:var(--surface-alt)}.whats-new-item-title{flex:1;font-size:.88em;font-weight:600;color:var(--text)}.whats-new-item-date{font-size:.78em;color:var(--text-muted);white-space:nowrap}.whats-new-item-body{padding:0 4px 10px;font-size:.85em;line-height:1.5;color:var(--text-muted)}.whats-new-item-body img{max-width:100%;border-radius:6px}.whats-new-item-body p:first-child{margin-top:0}.whats-new-item-body p:last-child{margin-bottom:0}.whats-new-see-more{display:block;text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.85em;font-weight:600;color:var(--accent);text-decoration:none}.whats-new-see-more:hover{text-decoration:underline}.about-intro-card h2{font-size:1em;margin:18px 0 6px}.about-intro-card h2:first-child{margin-top:0}.about-intro-card p{margin:0 0 4px;line-height:1.6;color:var(--text-muted)}.changelog-list .whats-new-item-title{font-size:.95em}.pagination-status{font-size:.85em;color:var(--text-muted)}.spill-embedded{display:flex;justify-content:center;padding:24px 0}.spill-card{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 36px 36px;text-align:center;position:relative}.spill-scene-wrap{position:relative;width:100%;max-width:280px;margin:0 auto}.spill-scene{width:100%;height:auto;display:block;overflow:visible}.spill-steam{fill:none;stroke:var(--text-soft);stroke-width:3;stroke-linecap:round;opacity:.5}.spill-steam-1{animation:spill-drift1 4.5s ease-in-out infinite}.spill-steam-2{animation:spill-drift2 5.5s ease-in-out infinite .6s}@keyframes spill-drift1{0%,to{transform:translateY(0);opacity:.15}50%{transform:translateY(-6px);opacity:.5}}@keyframes spill-drift2{0%,to{transform:translateY(0);opacity:.1}50%{transform:translateY(-5px);opacity:.4}}.spill-splash{transform-origin:200px 176px;animation:spill-burst .6s cubic-bezier(.2,1.4,.4,1) both .15s}@keyframes spill-burst{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.spill-droplet{animation:spill-pop .5s ease-out both}@keyframes spill-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.spill-steam-1,.spill-steam-2,.spill-splash,.spill-droplet{animation:none!important}}.spill-badge{position:absolute;right:6px;bottom:2px;width:70px;height:70px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center}.spill-code-text{font-family:monospace;font-weight:700;font-size:1.3em;color:var(--accent);letter-spacing:.01em}.spill-code-text-small{font-size:.68em;letter-spacing:0}.spill-headline{font-weight:800;font-size:1.8em;letter-spacing:-.01em;margin:20px 0 8px;color:var(--text)}.spill-subhead{font-size:1em;line-height:1.5;color:var(--text);margin:0 auto 6px;max-width:40ch}.spill-context{font-size:.9em;line-height:1.5;color:var(--text-muted);margin:0 auto 24px;max-width:38ch}.spill-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}.spill-receipt{text-align:left;max-width:380px;margin:0 auto}.spill-receipt summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.82em;color:var(--text-muted);font-weight:600;padding:8px 0;-webkit-user-select:none;user-select:none}.spill-receipt summary::-webkit-details-marker{display:none}.spill-chev{display:inline-block;transition:transform .18s ease;font-size:.85em}.spill-receipt[open] .spill-chev{transform:rotate(90deg)}.spill-receipt summary:hover{color:var(--text)}.spill-receipt-body{margin-top:8px;background:var(--surface-alt);border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);padding:14px 16px;font-family:monospace;font-size:.8em;line-height:1.9;color:var(--text-muted);border-radius:var(--radius-sm)}.spill-rline{display:flex;justify-content:space-between;gap:12px}.spill-rkey{color:var(--text-soft);white-space:nowrap}.spill-rval{color:var(--text);text-align:right;word-break:break-word}.spill-receipt-divider{border:none;border-top:1px dashed var(--border);margin:8px 0}.spill-hint{margin:10px 2px 0;font-size:.78em;line-height:1.5;color:var(--text-soft)}.spill-receipt-foot{margin-top:10px;display:flex;justify-content:flex-end}.spill-copy-btn{font-family:inherit;font-size:.78em;font-weight:600;background:none;border:1px solid var(--border);color:var(--text-muted);padding:5px 11px;border-radius:var(--radius-sm);cursor:pointer}.spill-copy-btn:hover{color:var(--text);background:var(--surface);border-color:var(--accent)}.spill-footnote{margin-top:18px;font-size:.74em;color:var(--text-soft)}@media (max-width: 480px){.spill-card{padding:26px 20px 30px}.spill-headline{font-size:1.5em}}.login-theme-toggle{display:flex;align-items:center;gap:8px}.doc-link-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.85em;font-weight:600;cursor:pointer}.doc-link-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.doc-modal{width:min(880px,94vw)}.doc-modal .modal-body{padding:4px 24px 24px}.doc-content{display:flex;flex-direction:column;gap:20px}.doc-subnav{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:calc(var(--header-height, 61px) + 12px);z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px;box-shadow:var(--shadow-sm)}.doc-subnav a{color:var(--text-muted);text-decoration:none;font-size:.85em;font-weight:600;padding:6px 12px;border-radius:999px}.doc-subnav a:hover{color:var(--text);background:var(--surface-alt)}.doc-sections{display:flex;flex-direction:column;gap:20px}.doc-section h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:0}.doc-section>p.muted:first-of-type{margin-top:-6px}.doc-role-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.doc-role-chip{display:inline-flex;align-items:center;gap:6px;font-size:.85em;font-weight:600;padding:5px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.doc-role-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.doc-role-viewer{color:var(--text-muted)}.doc-role-editor{color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}.doc-role-admin{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-bg)}.doc-steps{list-style:none;counter-reset:doc-step;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:0}.doc-steps li{counter-increment:doc-step;position:relative;padding:10px 0 10px 40px;font-size:.92em;color:var(--text-muted)}.doc-steps li:not(:last-child){border-bottom:1px dashed var(--border)}.doc-steps li:before{content:counter(doc-step);position:absolute;left:0;top:8px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-solid);font-weight:700;font-size:.8em;display:flex;align-items:center;justify-content:center}.doc-steps b{color:var(--text)}.doc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}@media (max-width: 680px){.doc-grid2{grid-template-columns:1fr}}.doc-stack{display:flex;flex-direction:column;gap:12px;margin-top:16px}.doc-minicard{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;font-size:.9em}.doc-minicard b{color:var(--text)}.doc-minicard p{margin:6px 0 0;color:var(--text-muted)}.doc-minicard-wide{width:100%}.doc-callout{display:flex;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:.88em;margin:16px 0 0}.doc-callout b{color:var(--text)}.doc-callout-tip{background:var(--success-bg);color:var(--success)}.doc-callout-note{background:var(--accent-soft);color:var(--accent)}.doc-callout-warn{background:var(--warning-bg);color:var(--warning-text)}.doc-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);margin-top:16px}.doc-table-wrap .data-table{margin:0;width:100%}.doc-table-wrap .data-table th,.doc-table-wrap .data-table td{padding:9px 14px;text-align:left}.doc-table-wrap .data-table th:not(:first-child),.doc-table-wrap .data-table td:not(:first-child){text-align:center}.doc-icicle-demo{margin-top:16px}.doc-icicle-row{display:flex;gap:6px}.doc-icicle-cap{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}.doc-icicle-cap b{font-size:.72em;color:var(--text-muted);letter-spacing:.03em}.doc-icicle-tiles{display:flex;gap:4px;flex-wrap:wrap}.doc-tile{display:block;height:22px;border-radius:4px;min-width:18px}.doc-legend-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.doc-legend-item{display:flex;align-items:center;gap:6px;font-size:.8em;color:var(--text-muted)}.doc-legend-sw{width:10px;height:10px;border-radius:3px}.doc-stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}@media (max-width: 620px){.doc-stat-tiles{grid-template-columns:1fr 1fr}}.doc-stat-tile{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.doc-stat-n{font-size:1.5em;font-weight:700;color:var(--text)}.doc-stat-l{font-size:.8em;color:var(--text-muted)}.doc-bar-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.doc-bar-row{display:flex;align-items:center;gap:10px;font-size:.82em}.doc-bar-lbl{width:92px;flex-shrink:0;color:var(--text-muted)}.doc-bar-track{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.doc-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.doc-bar-val{width:24px;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.doc-faq{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden;margin-top:10px}.doc-faq summary{padding:12px 16px;cursor:pointer;font-weight:600;font-size:.9em;list-style:none;color:var(--text)}.doc-faq summary::-webkit-details-marker{display:none}.doc-faq p{padding:0 16px 14px;margin:0;color:var(--text-muted);font-size:.85em}.security-audit-page{max-width:900px}.security-audit-meta-row{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 4px;font-size:.92em;color:var(--text-muted)}.security-audit-meta-row b{color:var(--text)}.security-audit-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}@media (max-width: 700px){.security-audit-tiles{grid-template-columns:repeat(3,1fr)}}.security-audit-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 8px;text-align:center}.security-audit-tile-n{font-size:1.7em;font-weight:700;font-variant-numeric:tabular-nums}.security-audit-tile-l{font-size:.72em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.sec-tile-critical .security-audit-tile-n{color:var(--accent)}.sec-tile-high .security-audit-tile-n{color:var(--danger)}.sec-tile-medium .security-audit-tile-n{color:var(--warning-text)}.sec-tile-low .security-audit-tile-n{color:var(--text-muted)}.sec-tile-clean .security-audit-tile-n{color:var(--success)}.security-audit-verdict{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px;margin:0 0 20px;font-size:.94em}.security-audit-verdict b{color:var(--accent)}.security-audit-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.security-audit-toc a{font-size:.82em;padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);text-decoration:none;font-weight:500}.security-audit-toc a:hover{border-color:var(--accent);color:var(--accent)}.security-audit-domain-card h2{font-size:1.1em;margin-bottom:2px;scroll-margin-top:12px}.sec-finding-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px}.sec-finding-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.sec-finding-top h3{font-size:.98em;font-weight:600;margin:0;flex:1;min-width:200px}.sec-finding-top .loc{font-family:monospace;font-size:.8em;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:2px 8px;border-radius:5px}.sec-finding-card p{margin:6px 0;font-size:.9em}.sec-finding-card code,.sec-fix-box code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.05em .4em;font-size:.92em}.sec-finding-footer{margin-top:10px}.sec-severity-pill{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap;flex-shrink:0}.sec-severity-critical{background:var(--accent);color:var(--on-solid)}.sec-severity-high{background:var(--danger);color:var(--on-solid)}.sec-severity-medium{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.sec-severity-low{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.sec-fix-box{background:var(--accent-soft);border-radius:var(--radius-sm);padding:8px 12px;margin-top:8px;font-size:.88em}.sec-fix-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:2px}.security-audit-clean{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:16px;scroll-margin-top:12px}.security-audit-clean summary{padding:12px 16px;cursor:pointer;font-weight:600;font-size:.88em;color:var(--success);list-style:none}.security-audit-clean summary::-webkit-details-marker{display:none}.security-audit-clean-body{padding:0 16px 12px}.security-audit-clean-body p{margin:6px 0;font-size:.85em}.risk-avg-composite{font-size:1.8em;font-weight:700;margin:0}.risk-readonly-value{padding:6px 8px;color:var(--text-muted);font-size:.95em}.risk-score-summary{display:flex;flex-direction:column;gap:16px}.risk-score-headline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.risk-score-composite{font-size:1.6em;font-weight:700}.risk-score-headline .badge{font-size:.85em;padding:4px 12px}.architecture-docs-page{max-width:1400px}.architecture-docs-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.architecture-docs-tabs button{border-radius:999px}.architecture-docs-tabs button.active{background:var(--accent);color:var(--on-solid);border-color:var(--accent)}.architecture-doc-card{padding:20px}.architecture-doc-frame{width:100%;height:78vh;min-height:560px;border:1px solid var(--border);border-radius:var(--radius-md);margin-top:10px}
