:root{color-scheme:light;--page: #f4f4f5;--surface: #ffffff;--surface-2: #ececee;--text-primary: #3f3f46;--text-strong: #2b2b30;--text-secondary: #52525b;--text-muted: #66666e;--grid: #e8e8ea;--baseline: #c9c9ce;--border: #e4e4e7;--border-strong: #d4d4d8;--brand: #ed9c21;--brand-strong: #a65403;--brand-wash: #feebd2;--brand-hover: #dc8c12;--on-brand: #2a1c02;--good-text: #0a7a3d;--good-fill: #dbfdea;--good-line: #97f7c2;--warning-text: #965d06;--warning-fill: #fef0da;--warning-line: #f9d194;--critical-text: #c32418;--critical-fill: #fbdedc;--critical-line: #f3a19b;--info-text: #1263ce;--info-fill: #dbeafd;--info-line: #98c1f6;--share-text: #763adf;--share-fill: #e8defa;--share-line: #bc9fef;--brand-fill: #feebd2;--brand-line: #f9ce94;--good: #0d8544;--warning: #d99a1e;--critical: #d1291c;--info: #1a6fdd;--serious: #e2703c;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--series-8: #e34948;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 1px rgba(16, 24, 40, .04);--shadow-md: 0 6px 20px rgba(16, 24, 40, .1), 0 2px 5px rgba(16, 24, 40, .05);--radius: 12px;--radius-sm: 8px;--radius-xs: 5px;--sidebar-w: 248px;--header-h: 60px;--toolbar-h: 52px;--font: system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--fw-normal: 400;--fw-medium: 550;--fw-strong: 640;--fw-heading: 650;--fw-stat: 680}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #232320;--text-primary: #ffffff;--text-strong: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8f8d86;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--brand: #ed9c21;--brand-strong: #f4b552;--brand-wash: #2c2212;--brand-hover: #f0a733;--on-brand: #241a06;--good-text: #4fc24f;--good-fill: #183117;--good-line: #164615;--warning-text: #e8a93a;--warning-fill: #403419;--warning-line: #624b19;--critical-text: #ef6b6b;--critical-fill: #39201f;--critical-line: #542524;--info-text: #78aeee;--info-fill: #1f2d3c;--info-line: #243d5a;--share-text: #a99cc9;--share-fill: #2e2c3c;--share-line: #403c5c;--brand-fill: #3e301a;--brand-line: #5e441c;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--info: #3987e5;--serious: #ec835a;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #232320;--text-primary: #ffffff;--text-strong: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8f8d86;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--brand: #ed9c21;--brand-strong: #f4b552;--brand-wash: #2c2212;--brand-hover: #f0a733;--on-brand: #241a06;--good-text: #4fc24f;--good-fill: #183117;--good-line: #164615;--warning-text: #e8a93a;--warning-fill: #403419;--warning-line: #624b19;--critical-text: #ef6b6b;--critical-fill: #39201f;--critical-line: #542524;--info-text: #78aeee;--info-fill: #1f2d3c;--info-line: #243d5a;--share-text: #a99cc9;--share-fill: #2e2c3c;--share-line: #403c5c;--brand-fill: #3e301a;--brand-line: #5e441c;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--info: #3987e5;--serious: #ec835a;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--fw-heading: 650;--fw-strong: 640;--fw-medium: 550;--fw-stat: 680;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;font-family:var(--font);background:var(--page);color:var(--text-primary);-webkit-font-smoothing:auto;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])) body{-webkit-font-smoothing:antialiased}}:root[data-theme=dark] body{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:color-mix(in srgb,var(--brand) 32%,transparent);color:var(--text-strong)}h1,h2,h3,h4{margin:0;color:var(--text-strong);font-weight:var(--fw-heading);letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}code,.mono{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:.92em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--baseline);border-radius:8px;border:2px solid var(--page)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{position:fixed;top:0;left:0;z-index:30;width:var(--sidebar-w);height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;gap:6px;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#f5b957,#d9821a);display:grid;place-items:center;color:#241a06;flex:none}.brand-name{font-weight:700;font-size:15px;letter-spacing:-.02em}.brand-sub{font-size:11px;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:2px;margin-top:4px}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:14px 10px 4px;font-weight:var(--fw-strong)}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;transition:background .12s,color .12s}.nav-item:hover{background:var(--surface-2);color:var(--text-primary)}.nav-item.active{background:var(--brand-wash);color:var(--brand-strong);font-weight:var(--fw-strong)}.nav-item.active svg{color:var(--brand)}.nav-item svg{flex:none}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.main{grid-column:2;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--header-h);position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px}.content{padding:24px;max-width:1400px;width:100%;margin:0 auto}.toolbar{position:sticky;top:var(--header-h);z-index:12;display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:var(--toolbar-h);margin:0 -24px 16px;padding:8px 24px;background:var(--page);border-bottom:1px solid transparent}@media(max-width:640px){.toolbar{margin:0 -14px 12px;padding:8px 14px;position:static}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:22px}.page-desc-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.page-desc{color:var(--text-secondary);margin-top:3px;font-size:13px}.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);flex-wrap:wrap}.breadcrumbs a:hover{color:var(--brand-strong)}.breadcrumbs .sep{opacity:.5}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:20px}.grid{display:grid;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-title{font-size:14px;color:var(--text-strong);font-weight:var(--fw-heading);display:flex;align-items:center;gap:8px}.card-body{padding:18px}.card-body.flush{padding:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:var(--fw-medium)}.stat-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--brand-strong)}.stat-value{font-size:28px;color:var(--text-strong);font-weight:var(--fw-stat);letter-spacing:-.02em;line-height:1}.stat-foot{font-size:11.5px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);padding:7px 13px;border-radius:var(--radius-sm);font-weight:var(--fw-medium);font-size:13px;box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,box-shadow .12s,opacity .12s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.good{background:var(--good-fill);border-color:var(--good-line);color:var(--good-text)}.btn.good:hover{background:var(--good-line)}.btn.danger{color:var(--critical-text);border-color:var(--critical-line)}.btn.danger:hover{background:var(--critical-fill)}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.ghost.danger:hover{background:var(--critical-fill);border-color:var(--critical-line);color:var(--critical-text)}.btn.icon{color:var(--text-secondary)}tr:hover .btn.icon{color:var(--text-strong)}.btn.icon:hover,.btn.ghost.icon:hover{color:var(--text-primary);background:var(--border-strong);border-color:transparent;box-shadow:0 0 0 1px var(--border-strong)}.btn.icon.danger:hover,.btn.ghost.icon.danger:hover,tr:hover .btn.icon.danger:hover{color:var(--critical-text);background:var(--critical-fill);border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 9px;font-size:12px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary)}.icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:var(--fw-strong);padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap}.badge.brand{background:var(--brand-wash);color:var(--brand-strong);border-color:transparent}.badge.platform{background:var(--text-primary);color:var(--surface);border-color:transparent;text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;padding:4px 11px}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge.good{background:var(--good-fill);color:var(--good-text);border-color:transparent}.badge.warn{background:var(--warning-fill);color:var(--warning-text);border-color:transparent}.badge.bad{background:var(--critical-fill);color:var(--critical-text);border-color:transparent}.badge.prov-owned{background:transparent;border-color:var(--border-strong);color:var(--text-secondary)}.badge.prov-owned:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--text-muted);margin-right:1px}.badge.outline{background:transparent;border-color:var(--border-strong);color:var(--text-secondary)}.badge.info{background:var(--info-fill);color:var(--info-text);border-color:transparent}.badge.muted{background:var(--surface-2);color:var(--text-muted);border-color:transparent}.badge.cap-read{background:var(--info-fill);color:var(--info-text);border-color:transparent}.badge.cap-write{background:var(--good-fill);color:var(--good-text);border-color:transparent}.badge.cap-delete{background:var(--critical-fill);color:var(--critical-text);border-color:transparent}.badge.cap-share{background:var(--share-fill);color:var(--share-text);border-color:transparent}.badge.cap-admin{background:var(--brand-wash);color:var(--brand-strong);border-color:transparent}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.change-type{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.change-type:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex:none}.change-type.add:before{background:var(--good)}.change-type.del:before{background:var(--critical)}.table-wrap{overflow-x:visible}@media(max-width:1200px){.table-wrap{overflow-x:auto}.table-wrap table.data thead th,.toolbar~* .table-wrap table.data th{top:0}}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-weight:var(--fw-strong);font-size:11.5px;text-transform:uppercase;letter-spacing:.055em;color:var(--text-muted);font-size:11px;padding:11px 16px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:var(--header-h);z-index:2;background:var(--surface)}.toolbar~* table.data th{top:calc(var(--header-h) + var(--toolbar-h))}table.data td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr{transition:background .1s}table.data tbody tr.clickable:hover{background:var(--surface-2);cursor:pointer}table.data tr:last-child td{border-bottom:none}table.data td .row{flex-wrap:nowrap}table.data td.col-actions .row{justify-content:flex-end}@media(max-width:1200px){table.data th:first-child,table.data td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}table.data thead th:first-child{z-index:2;background:var(--surface-2)}table.data tbody tr.clickable:hover td:first-child{background:var(--surface-2)}}.num{font-variant-numeric:tabular-nums;text-align:left}@media(max-width:560px){table.data.stackable,table.data.stackable tbody,table.data.stackable tr,table.data.stackable td{display:block;width:auto}table.data.stackable{min-width:0}table.data.stackable thead{display:none}table.data.stackable tr{border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:10px;background:var(--surface)}table.data.stackable tr:last-child{margin-bottom:0}table.data.stackable td{border:none;padding:4px 0;display:flex;align-items:baseline;justify-content:flex-end;gap:14px;flex-wrap:wrap;text-align:right}table.data.stackable td.col-optional{display:none}table.data.stackable td:before{content:attr(data-label);color:var(--text-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase;flex:none;text-align:left;margin-right:auto}table.data.stackable td:first-child{display:block;text-align:left;padding-bottom:8px}table.data.stackable td:first-child:before{content:none}table.data.stackable td.col-actions .row{justify-content:flex-end}table.data.stackable td.col-actions{display:flex;justify-content:flex-end;padding-top:10px;margin-top:6px;border-top:1px solid var(--border)}table.data.stackable td.col-actions:before{content:none}table.data.stackable tr.group-row{border:none;background:none;padding:14px 0 6px;margin:0}table.data.stackable tr.group-row td{display:block;text-align:left;padding:0}table.data.stackable tr.group-row td:before{content:none}}.people-table td:first-child,.people-table th:first-child{min-width:210px}.people-table td:nth-child(3),.people-table th:nth-child(3){min-width:196px}.people-table td:first-child .cell-muted{overflow-wrap:anywhere}.people-table .cell-strong{display:flex;align-items:center;gap:7px}.self-tag{background:var(--brand-wash);color:var(--brand-strong);font-size:10px;letter-spacing:.04em}tr.is-self>td{background:color-mix(in srgb,var(--brand) 7%,transparent)}.nowrap,table.data td.num,table.data td.mono{white-space:nowrap}@media(max-width:720px){table.data th{padding:9px 12px;font-size:10.5px}table.data td{padding:10px 12px;font-size:12.5px}table.data td.cell-strong{max-width:42vw}table.data td .row{gap:4px}table.data td.col-actions .row{justify-content:flex-end}}.cell-strong{font-weight:var(--fw-strong);color:var(--text-strong)}.cell-muted{color:var(--text-muted)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:20px 0 18px}.page-head+.tabs{margin-top:0}.tab{padding:9px 14px;font-weight:var(--fw-medium);font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;border-top:none;border-left:none;border-right:none}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--brand-strong);border-bottom-color:var(--brand)}.tab .count{color:var(--text-muted);font-weight:500;margin-left:6px}.input,.select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 11px;font-size:13px;color:var(--text-primary);font-family:inherit;width:100%}.input:focus,.select:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand-strong)}.select-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}.select-btn svg{flex:none;color:var(--text-muted)}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-panel{position:fixed;z-index:300;max-height:280px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column}.select-option{display:flex;align-items:center;gap:8px;padding:7px 10px;min-height:34px;border:none;border-radius:6px;background:none;color:var(--text-secondary);font:inherit;font-size:13px;text-align:left;white-space:nowrap;cursor:pointer}.select-option.active{background:var(--surface-2);color:var(--text-primary)}.select-option.on{color:var(--text-primary);font-weight:var(--fw-strong)}@media(pointer:coarse){.select-option{min-height:42px}}.col-head{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.col-del{display:inline-grid;place-items:center;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-muted)}.col-del:hover{background:var(--critical-fill);color:var(--critical-text)}.pagination{display:flex;align-items:center;gap:12px;padding:14px 2px 2px;flex-wrap:wrap}.pagination .pg-info{font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pagination .icon-btn{width:30px;height:30px}.pagination .icon-btn:disabled{opacity:.35;cursor:not-allowed}.cell-input{width:100%;min-width:72px;padding:4px 7px;font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;text-align:right;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px}.cell-input:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand-strong)}.dgrid-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}.dgrid-toolbar .btn{padding:0 9px;gap:5px}.dgrid-toolbar .sep{width:1px;align-self:stretch;min-height:24px;background:var(--border)}.dgrid-toolbar .lbl{font-size:12px;color:var(--text-secondary);font-weight:var(--fw-medium)}.dgrid-toolbar .input,.dgrid-toolbar .select{width:auto}.dgrid-toolbar .input,.dgrid-toolbar .select,.dgrid-toolbar .btn{height:30px;box-sizing:border-box;font-size:12.5px}.dgrid-toolbar .input,.dgrid-toolbar .select{padding-top:0;padding-bottom:0}.dgrid-legend{display:flex;gap:16px;flex-wrap:wrap;padding:0 2px 12px;font-size:11.5px;color:var(--text-secondary)}.dgrid-legend .lg{display:inline-flex;align-items:center;gap:6px}.dgrid-legend .box{width:12px;height:12px;border-radius:3px;border:1px solid var(--border-strong)}.dgrid-hint{margin-left:auto;font-size:11.5px;color:var(--text-muted);font-style:italic}.dgrid-wrap{overflow:auto;max-height:640px;border:1px solid var(--border);border-radius:var(--radius-sm)}.dgrid-wrap.tall{max-height:calc(100vh - 280px)}table.dgrid{border-collapse:separate;border-spacing:0;font-size:12.5px;table-layout:fixed;width:max-content;min-width:100%}table.dgrid th,table.dgrid td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0 12px;height:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-variant-numeric:tabular-nums}table.dgrid thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);color:var(--text-secondary);font-weight:var(--fw-strong);font-size:11px;text-transform:uppercase;letter-spacing:.03em}table.dgrid tbody tr:hover td{background:var(--surface-2)}.dg-num{position:sticky;left:0;z-index:2;background:var(--surface);color:var(--text-muted);width:56px;text-align:right}.dg-idx{position:sticky;left:56px;z-index:2;background:var(--surface);color:var(--brand-strong);font-weight:var(--fw-heading);width:132px}.dg-val{width:112px}table.dgrid thead .dg-num,table.dgrid thead .dg-idx{z-index:5;background:var(--surface-2)}table.dgrid tbody tr:hover .dg-num,table.dgrid tbody tr:hover .dg-idx{background:var(--surface-2)}.dg-cell{cursor:cell}.dg-cell.modified{background:color-mix(in srgb,var(--warning) 24%,var(--surface))}.dg-cell.nullv{color:var(--critical-text);font-style:italic}.dg-cell.textv{color:var(--series-7)}.dg-colhead{display:inline-flex;align-items:center;gap:6px;justify-content:space-between;width:100%}td.dg-editing{padding:0}.dg-input{width:100%;min-width:0;height:100%;box-sizing:border-box;border:2px solid var(--brand);border-radius:4px;padding:0 8px;font:inherit;text-align:left;background:var(--surface);color:var(--text-primary);outline:none;font-variant-numeric:tabular-nums}.dgrid-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--page);padding:18px;overflow:auto}.dgrid-fullscreen>.card{min-height:100%}@keyframes dgflash{0%{background:var(--brand);color:#fff}to{background:transparent}}tr.dg-flash td,tr.dg-flash .dg-num,tr.dg-flash .dg-idx{animation:dgflash 1.8s ease-out}.col-menu{position:relative}.col-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:8px;min-width:210px;max-height:320px;overflow:auto}.col-menu-panel label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer}.col-menu-panel label:hover{background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:var(--fw-strong);color:var(--text-secondary)}.search{position:relative;min-width:220px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search .input{padding-left:32px}.kv{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.kv .k,.kv .v{background:var(--surface);padding:9px 14px}.kv .k{color:var(--text-secondary);font-weight:var(--fw-medium);font-size:12.5px;background:var(--surface-2)}.kv .v{font-variant-numeric:tabular-nums;word-break:break-word}pre.json{margin:0;padding:14px 16px;background:var(--surface-2);border-radius:var(--radius-sm);overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text-secondary);max-height:360px}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:208px;padding:32px 24px;text-align:center;color:var(--text-secondary)}.state .state-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-muted)}.state h3{color:var(--text-primary);font-size:15px}.state p{margin:0;max-width:380px;font-size:13px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--grid),var(--surface-2));background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:6px}@keyframes shimmer{to{background-position:-200% 0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b80;display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:440px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px)}.modal-head,.modal-foot{flex:none}.modal-head{padding:18px 20px 4px}.modal-head h3{font-size:16px}.modal-head p{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.modal-foot{padding:14px 20px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);background:var(--surface-2)}.modal-foot .btn{min-height:38px;padding:0 18px}.modal-foot .btn.primary,.modal-foot .btn.danger{border-color:transparent;box-shadow:none}.modal-foot .btn.ghost{background:none;border-color:transparent;box-shadow:none;color:var(--text-secondary)}.modal-foot .btn.ghost:hover{background:var(--surface-3, var(--surface));color:var(--text-primary)}.chart-tip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:9px 11px;font-size:12px;min-width:130px}.chart-tip .tip-idx{font-weight:var(--fw-heading);margin-bottom:6px;font-variant-numeric:tabular-nums}.chart-tip .tip-row{display:flex;align-items:center;gap:8px;padding:1px 0}.chart-tip .swatch{width:9px;height:9px;border-radius:2px;flex:none}.chart-tip .tip-name{color:var(--text-secondary)}.chart-tip .tip-val{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:var(--fw-strong)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:4px 2px 0}.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary);background:none;border:none;padding:2px 4px;border-radius:5px}.legend-swatch{width:11px;height:11px;border-radius:3px;flex:none}.hint{font-size:12px;color:var(--text-muted)}.hint.lead{display:block;margin:0 0 14px;line-height:1.55}.field-note{display:block;min-height:18px;color:var(--critical-text)}.field-help{display:block;min-height:18px;font-size:12px;line-height:1.5;color:var(--text-muted)}.plan-hint{min-height:36px;margin:0;line-height:1.5}.dgrid-notice{min-height:0}.dgrid-notice.armed{min-height:52px;margin-bottom:10px}.hint.flat{margin:0;line-height:1.55}.hint.trail{display:block;margin:14px 0 0;line-height:1.55}.flush-note{margin:0;padding:12px 16px 16px;line-height:1.55}.badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.step-chip{font-size:10px;font-weight:var(--fw-strong);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px;white-space:nowrap}.divider{height:1px;background:var(--border);margin:4px 0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary)}.chip.on{background:var(--brand);border-color:var(--brand-strong);color:var(--on-brand)}.chip:disabled{opacity:.4;cursor:not-allowed}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 500px at 50% -10%,var(--brand-wash),var(--page) 60%)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-md);padding:34px 32px;width:100%;max-width:400px;text-align:center}.login-mark{width:54px;height:54px;border-radius:14px;margin:0 auto 18px;background:linear-gradient(135deg,#f5b957,#d9821a);display:grid;place-items:center;color:#241a06}.login-wordmark{font-weight:800;letter-spacing:.24em;font-size:12px;color:var(--brand-strong);margin-bottom:20px}.login-card h1{font-size:20px}.login-footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted)}.login-footer strong{color:var(--brand-strong);letter-spacing:.08em;font-weight:700}.login-card p{color:var(--text-secondary);margin:8px 0 24px;font-size:13.5px}.login-form{display:flex;flex-direction:column;gap:.4rem;text-align:left;margin-top:.4rem}.login-hint{margin:-.1rem 0 .15rem;font-size:12px;color:var(--text-muted);text-transform:none;letter-spacing:0}.login-form label{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);font-weight:var(--fw-strong)}.login-form input{padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font:inherit}.login-form input:focus{outline:none;border-color:var(--brand-strong)}.login-form button{margin-top:.7rem;padding:.6rem .9rem;border:none;border-radius:8px;background:var(--brand);color:var(--on-brand);font:inherit;font-weight:var(--fw-heading);cursor:pointer}.login-form button:disabled{opacity:.5;cursor:not-allowed}.login-gbtn{display:flex;justify-content:center;min-height:44px;overflow:hidden}.login-gbtn iframe,.login-gbtn>div{background:transparent!important;color-scheme:light}.login-note{margin-top:22px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px;justify-content:center}.login-error{background:var(--critical-fill);color:var(--critical-text);border:1px solid var(--critical-line);border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;margin-bottom:18px;text-align:left}.account{position:relative}.user-chip{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background .12s}.user-chip:hover,.user-chip.on{background:var(--surface-2)}.user-chip-name{flex:1 1 auto;min-width:0;font-size:12.5px;font-weight:var(--fw-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-caret{flex:none;color:var(--text-muted)}.account-menu,.menu-panel{position:fixed;z-index:80;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column}.account-menu-head{padding:8px 10px 10px;min-width:0}.account-menu-who{font-size:12.5px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-org{margin-top:2px;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu a,.account-menu button,.menu-panel button{display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:36px;border:none;border-radius:7px;background:none;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.account-menu a span,.account-menu button span,.menu-panel button span{flex:1 1 auto;min-width:0}.account-menu kbd{flex:none;font-family:inherit;font-size:11.5px;letter-spacing:.04em;color:var(--text-muted)}.account-menu a:hover,.account-menu button:hover,.menu-panel button:hover{background:var(--surface-2);color:var(--text-primary)}.account-menu a svg,.account-menu button svg,.menu-panel button svg{flex:none;color:var(--text-muted)}.account-menu-sep{height:1px;margin:6px 4px;background:var(--border)}@media(pointer:coarse){.account-menu a,.account-menu button{min-height:42px}.account-menu kbd{display:none}}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:var(--fw-heading);font-size:12px;flex:none}.user-meta{min-width:0}.user-email{font-size:12.5px;font-weight:var(--fw-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:860px){.app{grid-template-columns:1fr}.main{grid-column:1}.sidebar{position:fixed;z-index:60;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.sidebar.open{transform:translate(0)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b66;z-index:55}}@media(min-width:861px){.menu-toggle{display:none}}@media(max-width:640px){.content{padding:14px}.topbar{padding:0 14px;gap:10px}.page-head{gap:12px;margin-bottom:16px}.page-title{font-size:19px}.page-desc{font-size:12.5px}.search{min-width:0;flex:1 1 150px}.page-head>.row{width:100%}.kv{grid-template-columns:minmax(84px,34%) 1fr}.kv .k,.kv .v{padding:7px 11px}.kv dt{padding-bottom:0}.stat-grid,.mode-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.acl-row{grid-template-columns:1fr 56px 56px 56px;padding:8px 10px;font-size:12.5px}.table-wrap{-webkit-overflow-scrolling:touch}table.data th,table.data td{padding:10px}table.data td{font-size:12.5px}table.data th{white-space:normal;font-size:10px}table.data .mono{overflow-wrap:anywhere}table.data td .row{flex-wrap:nowrap}table.data .badge{font-size:10.5px;padding:2px 7px;gap:4px}table.data th.col-actions,table.data td.col-actions{position:static;box-shadow:none}table.data td .btn{padding:0 9px;font-size:11.5px}.col-optional{display:none}table.data{min-width:max-content}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}.dgrid-wrap,.dgrid-wrap.tall{max-height:calc(100vh - 220px)}}.stat-ident{font-size:15px;word-break:break-word}.stat-sub{font-size:11px;color:var(--text-secondary);line-height:1.4}.btn.ghost.on{background:var(--brand-wash);border-color:var(--brand-strong);color:var(--brand-strong)}.card-body>.form-warn,.card-body>.form-error{margin:0 0 14px}.form-warn{margin-top:10px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--warning-fill);border:1px solid var(--warning-line);color:var(--warning-text);font-size:12.5px;line-height:1.5}.legend-span{color:var(--text-muted);font-size:10.5px;font-variant-numeric:tabular-nums;margin-left:6px}.chart-scale-note{margin:10px 0 0;line-height:1.5}.chart-plot{width:100%;height:340px;user-select:none;-webkit-user-select:none}.chart-plot.zoomable{cursor:crosshair;touch-action:pan-y}@media(max-width:560px){.chart-plot{height:250px}}.card.card-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;margin:0;height:100dvh;max-height:100dvh;border-radius:0;border:0;background:var(--surface);display:flex;flex-direction:column}.card-fullscreen>.card-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.card-fullscreen .chart-block{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.card-fullscreen .chart-plot{flex:1 1 auto;height:auto;min-height:180px}.card-has-drawer{position:relative}.curve-drawer{position:absolute;inset:0 0 0 auto;z-index:5;width:min(320px,85vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md);animation:curve-drawer-in .18s ease}@keyframes curve-drawer-in{0%{opacity:0;transform:translate(24px)}}.curve-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 10px 11px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:550}.curve-drawer-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px}.curve-row{display:flex;align-items:center;gap:9px;min-height:40px;padding:4px 8px;border-radius:6px;font-size:12.5px;cursor:pointer}.curve-row:hover{background:var(--surface-2)}.curve-row.blocked{opacity:.45;cursor:not-allowed}.curve-row input{flex:none;accent-color:var(--brand);cursor:inherit}.curve-swatch{flex:none;width:11px;height:11px;border-radius:3px;border:1px solid var(--border-strong)}.curve-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-uom{margin-left:5px;color:var(--text-muted);font-size:11px}.curve-drawer-foot{margin:0;padding:9px 14px;border-top:1px solid var(--border);font-size:11.5px;line-height:1.45;color:var(--text-muted)}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#0b0b0b59}@media(min-width:861px)and (pointer:fine){.drawer-scrim{display:none}}@media(prefers-reduced-motion:reduce){.curve-drawer{animation:none}}.card-fullscreen>.card-head{padding:10px 12px}.card-fullscreen>.card-body{padding:10px 12px 8px}.card-fullscreen .legend{padding-top:2px}.card-fullscreen .chart-zoom-note{display:none}@media(max-height:520px){.card-fullscreen .chart-scale-note{display:none}}@media(max-width:480px){.card-fullscreen .chart-status{display:none}}@media(max-width:640px){.card-fullscreen>.card-head{justify-content:flex-end}.card-fullscreen>.card-head .card-title{display:none}.card-fullscreen .chart-scale-note{display:none}}.card-fullscreen .legend{max-height:22vh;overflow-y:auto}.chart-zoom-note{margin:8px 0 0;font-size:.78rem}.activity-strip{position:sticky;bottom:12px;z-index:15;display:flex;align-items:center;gap:12px;margin-top:16px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-md);font-size:12.5px;color:var(--text-secondary);transition:border-color .2s ease,box-shadow .2s ease}.activity-strip.live{border-color:var(--brand-line)}.activity-chip{display:inline-flex;align-items:center;gap:6px;flex:none;padding:3px 9px 3px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.09em}.activity-strip.live .activity-chip{background:var(--brand-wash);color:var(--brand-strong)}.activity-strip-text{display:flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}.activity-strip-desc{color:var(--text-strong);font-variant-numeric:tabular-nums}.activity-strip-when{color:var(--text-muted);font-size:11.5px;white-space:nowrap}@media(max-width:560px){.activity-strip{position:fixed;left:0;right:0;bottom:0;margin-top:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:0 -4px 16px #0000002e;gap:8px;white-space:nowrap;overflow:hidden}.activity-strip-text{min-width:0;flex-wrap:nowrap;overflow:hidden}.activity-strip-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-strip-when{display:none}.content:has(.activity-strip){padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.live-dot{position:relative;width:7px;height:7px;border-radius:999px;background:currentColor;flex:none}.live-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:currentColor;animation:live-pulse 2s cubic-bezier(.2,.6,.3,1) infinite}@keyframes live-pulse{0%{transform:scale(1);opacity:.45}75%{transform:scale(3.2);opacity:0}to{transform:scale(3.2);opacity:0}}.live-badge{display:inline-flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.live-dot:after{animation:none;opacity:0}}.activity-strip-end{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex:none}.activity-note{color:var(--warning-text);font-size:11px;white-space:nowrap}.activity-refresh{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease}.activity-refresh:hover:not(:disabled){background:var(--surface-2);color:var(--text-strong)}.activity-refresh:disabled{cursor:default;color:var(--text-muted)}.activity-refresh .spinning{animation:spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.activity-refresh .spinning{animation:none}}@media(max-width:560px){.activity-strip-end{margin-left:0}}.fresh-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--brand-line);border-radius:999px;background:var(--brand-wash);color:var(--brand-strong);font-size:11.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease}.fresh-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--brand);flex:none}.fresh-pill:hover{background:var(--brand-fill);border-color:var(--brand-strong)}.fresh-pill:active{transform:translateY(.5px)}.domain-chip.adding{border-color:var(--brand-line);background:var(--brand-fill)}.domain-chip.removing{opacity:.6}.domain-chip.removing .mono{text-decoration:line-through}.save-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border:1px solid var(--brand-line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md)}.save-bar-text{font-size:12.5px;color:var(--text-secondary);line-height:1.5}.save-bar-text strong{color:var(--text-strong)}.save-bar-hint{color:var(--text-muted)}.dgrid-save{margin-top:14px;z-index:18}@media(max-width:560px){.dgrid-save{position:fixed;left:0;right:0;bottom:0;margin-top:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.save-bar-hint{display:none}}.form-error{margin-top:10px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--critical-fill);border:1px solid var(--critical-line);color:var(--critical-text);font-size:12.5px;line-height:1.5}table.data tbody tr.group-row td{background:transparent;border-bottom:1px solid var(--border);padding:20px 16px 7px}table.data tbody tr.group-row:first-child td{padding-top:10px}.group-toggle{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:12.5px;color:var(--text-secondary);background:none;border:none;padding:3px 9px 3px 5px;margin-left:-5px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}.group-toggle:hover{background:var(--surface-2);color:var(--text-primary)}.group-toggle svg{color:var(--text-muted);transition:transform .15s ease-out,color .12s}.group-toggle:hover svg{color:var(--text-secondary)}.group-toggle svg.open{transform:rotate(90deg)}.group-name{font-weight:var(--fw-strong);letter-spacing:.01em}.count-pill{padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.5}.group-toggle:hover .count-pill{background:var(--border)}.org-chip{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:.02em;flex:none;background:oklch(.93 .055 var(--org-hue, 0));color:oklch(.45 .14 var(--org-hue, 0));border:1px solid oklch(.86 .08 var(--org-hue, 0))}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .org-chip{background:oklch(.3 .05 var(--org-hue, 0));color:oklch(.82 .11 var(--org-hue, 0));border-color:oklch(.42 .06 var(--org-hue, 0))}}:root[data-theme=dark] .org-chip{background:oklch(.3 .05 var(--org-hue, 0));color:oklch(.82 .11 var(--org-hue, 0));border-color:oklch(.42 .06 var(--org-hue, 0))}.seg{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:var(--radius-sm);height:34px;padding:3px;background:var(--surface-2);flex:none}.seg button{display:flex;align-items:center;height:100%;padding:0 12px;border-radius:calc(var(--radius-sm) - 3px);font:inherit;font-size:12.5px;font-weight:var(--fw-medium);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s}.seg button:hover{color:var(--text-secondary)}.seg button.on{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn.ghost.danger{color:var(--critical-text);border-color:transparent}.btn.ghost.danger:hover{background:var(--critical-fill)}.back-link{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;color:var(--text-muted);text-decoration:none;margin-bottom:10px}.back-link:hover{color:var(--text-secondary)}.cap-grid{display:flex;flex-direction:column;gap:5px}.cap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:7px 12px;min-height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}.cap{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:6px}.cap>.badge{flex:none;min-width:66px;justify-content:center}.cap .cap-help{flex:1 1 220px;margin:0}.cap .cap-scope,.cap .cap-state{flex:none;margin:0 0 0 auto}.cap:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface)}.cap.on{background:color-mix(in srgb,var(--cap-fill, var(--brand-wash)) 45%,var(--surface-2));border-color:var(--border);border-left-color:var(--cap-line, var(--brand-strong));border-left-width:3px;padding-left:10px}.cap.on .badge:after{content:"✓";margin-left:4px;font-size:10px;opacity:.85}.cap.on .cap-help,.cap.on .cap-implies{color:var(--text-secondary)}.cap.on:hover:not(:disabled){border-color:var(--border-strong);border-left-color:var(--cap-line, var(--brand-strong));background:color-mix(in srgb,var(--cap-fill, var(--brand-wash)) 62%,var(--surface-2))}.cap:disabled{cursor:default;opacity:.7}.cap:not(.on) .badge{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.cap-help{font-size:11.5px;color:var(--text-muted);line-height:1.5}.cap.static{cursor:default}.cap.static:hover{border-color:var(--border);background:var(--surface-2)}.cap.static.on:hover{border-color:var(--cap-line, var(--brand-strong));background:var(--cap-fill, var(--brand-wash))}.cap-state{font-size:10.5px;font-weight:var(--fw-strong);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin-top:2px}.cap.on .cap-state{color:var(--cap-ink, var(--brand-strong))}.cap.tint-read{--cap-fill: var(--info-fill);--cap-line: var(--info-line);--cap-ink: var(--info-text)}.cap.tint-write{--cap-fill: var(--good-fill);--cap-line: var(--good-line);--cap-ink: var(--good-text)}.cap.tint-delete{--cap-fill: var(--critical-fill);--cap-line: var(--critical-line);--cap-ink: var(--critical-text)}.cap.tint-share{--cap-fill: var(--share-fill);--cap-line: var(--share-line);--cap-ink: var(--share-text)}.cap.tint-admin{--cap-fill: var(--brand-wash);--cap-line: var(--brand-line);--cap-ink: var(--brand-strong)}.cap-scope{font-size:10.5px;color:var(--warning-text);background:var(--warning-fill);border:1px solid var(--warning-line);border-radius:999px;padding:1px 8px;margin-top:2px;align-self:flex-start}.cap-implies{flex-basis:100%;margin:0;padding-left:80px;font-size:11px;font-weight:var(--fw-normal);color:var(--text-secondary)}@media(max-width:640px){.cap{flex-direction:column;align-items:flex-start;row-gap:5px}.cap>.badge{min-width:0}.cap .cap-help{flex:none}.cap .cap-scope,.cap .cap-state{margin-left:0}.cap .cap-implies{padding-left:0}}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:16px}.mode-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}.mode-card.on{border-color:var(--brand-strong);background:var(--brand-wash)}.mode-card:disabled{cursor:default;opacity:.7}.mode-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:var(--fw-strong);color:var(--text-strong)}.mode-help{font-size:11.5px;color:var(--text-muted);line-height:1.5}.acl-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.acl{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.acl-row{display:grid;grid-template-columns:1fr 72px 72px 72px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border)}.acl-row:last-child{border-bottom:none}.acl-row:not(.acl-head):hover{background:var(--surface-2)}.acl-head{background:var(--surface-2);padding-top:9px;padding-bottom:9px}.acl-head span{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:var(--fw-strong);justify-self:center}.acl-head span:first-child{justify-self:start}.acl-row .cb{justify-self:center}.acl-well{display:flex;flex-direction:column;gap:1px;min-width:0}.acl-group{padding:12px 14px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:var(--fw-strong);background:var(--surface-2);border-bottom:1px solid var(--border)}.cb{width:17px;height:17px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);cursor:pointer;padding:0;position:relative;transition:background .1s,border-color .1s}.cb:hover:not(:disabled){border-color:var(--brand-strong);background:var(--brand-wash)}.cb.on:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-strong)}.cb.on{background:var(--brand);border-color:var(--brand-strong)}.cb.on:after{content:"";position:absolute;left:4px;top:4px;width:7px;height:3px;border-left:2px solid var(--on-brand);border-bottom:2px solid var(--on-brand);transform:rotate(-45deg)}.cb:disabled{opacity:.4;cursor:default}.sentence{margin:14px 0 0;font-size:13px;color:var(--text-secondary)}.sentence strong{color:var(--text-strong)}.invite-link{margin-top:10px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.invite-link .row{gap:6px}.invite-link .input{flex:1;min-width:0;font-size:12px;font-family:var(--mono)}.note{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.note.danger-note{background:var(--critical-fill);border-color:var(--critical-line);color:var(--critical-text)}.note strong{color:var(--text-strong)}.note.danger-note strong{color:var(--critical-text)}.uid-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:7px;min-height:30px}.uid-verdict{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.uid-verdict.ok{color:var(--good-text)}.uid-verdict.bad{color:var(--critical-text)}.uid-suggest{display:inline-flex;align-items:center;gap:8px}.uid-suggest .mono{padding:2px 7px;border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);font-size:12px;color:var(--text-primary)}.input.bad,.input.bad:focus{border-color:var(--critical-line)}.uid-alias{margin-left:8px;padding:1px 6px;border-radius:var(--radius-xs);background:var(--info-fill);border:1px solid var(--info-line);color:var(--info-text);font-size:11px;white-space:nowrap}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px;line-height:1.6;color:var(--text-secondary)}.notice>:first-child{min-width:0}.notice p{margin:0}.notice strong{color:var(--text-strong);font-weight:var(--fw-strong)}.notice .btn{flex:none}.notice.info{background:var(--info-fill);border-color:var(--info-line)}.notice.warn{background:var(--warning-fill);border-color:var(--warning-line)}.notice.warn strong{color:var(--warning-text)}.badge.plan-adapter{background:var(--brand-fill);border-color:var(--brand-line);color:var(--brand-strong)}.badge.plan-complimentary{background:var(--good-fill);border-color:var(--good-line);color:var(--good-text)}.badge.plan-standard{background:var(--warning-fill);border-color:var(--warning-line);color:var(--warning-text)}tr.row-muted td{opacity:.55}.ot-well{background:var(--text-primary);color:var(--surface)}.ot-wellbore{background:#d6e8fc;color:#1364c1}.ot-log{background:#d7fce9;color:#0e7e46}.ot-channel{background:#d6f6fc;color:#0e768b}.ot-trajectory{background:#e7d8fa;color:#7b34de}.ot-mudlog{background:#fce3d6;color:#af4611}.badge.ot-well,.badge.ot-wellbore,.badge.ot-log,.badge.ot-channel,.badge.ot-trajectory,.badge.ot-mudlog{border-color:transparent;font-weight:var(--fw-strong)}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .ot-wellbore{background:#102032;color:#438ada}:root:where(:not([data-theme=light])) .ot-log{background:#113221;color:#2dd280}:root:where(:not([data-theme=light])) .ot-channel{background:#102d32;color:#2ab8d5}:root:where(:not([data-theme=light])) .ot-trajectory{background:#1f132f;color:#996dd7}:root:where(:not([data-theme=light])) .ot-mudlog{background:#321b10;color:#d76a33}}:root[data-theme=dark] .ot-wellbore{background:#102032;color:#438ada}:root[data-theme=dark] .ot-log{background:#113221;color:#2dd280}:root[data-theme=dark] .ot-channel{background:#102d32;color:#2ab8d5}:root[data-theme=dark] .ot-trajectory{background:#1f132f;color:#996dd7}:root[data-theme=dark] .ot-mudlog{background:#321b10;color:#d76a33}.perm-choices{display:grid;gap:8px}.perm-choice{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.perm-choice:hover{border-color:var(--border-strong)}.perm-choice.on{border-color:var(--brand);background:var(--brand-wash);box-shadow:var(--shadow-sm)}.perm-choice-help{color:var(--text-secondary);font-size:12.5px;line-height:1.45}.choice-text{display:flex;flex-direction:column;gap:3px;min-width:0}.perm-choice.on .perm-choice-help{color:var(--text-primary)}.reach-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;padding:14px 16px 12px}.reach-count{font-size:13px;color:var(--text-secondary)}.reach-count strong{font-size:19px;color:var(--text-strong);font-weight:var(--fw-stat);margin-right:2px}.bell-wrap{position:relative}.bell-count{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;font-weight:var(--fw-strong);display:grid;place-items:center;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:360px;max-height:420px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:var(--fw-strong);color:var(--text-secondary)}.notif-empty{padding:18px 14px;color:var(--text-muted);font-size:12.5px;line-height:1.5}.notif-item{display:grid;grid-template-columns:14px 1fr;gap:8px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--surface-2)}.notif-dot{width:7px;height:7px;margin-top:6px;border-radius:999px;background:transparent}.notif-item.unread .notif-dot{background:var(--brand)}.notif-text{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-title{font-size:13px;color:var(--text-primary);overflow-wrap:anywhere}.notif-item.unread .notif-title{font-weight:var(--fw-medium);color:var(--text-strong)}.notif-body{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.notif-when{font-size:11.5px;color:var(--text-muted)}@media(max-width:640px){.notif-panel{position:fixed;left:10px;right:10px;width:auto;top:calc(var(--header-h) + 8px);max-height:60vh}}.nav-item .nav-pill{margin-left:auto;padding:0 6px;font-size:10.5px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column-reverse;gap:10px;width:352px;max-width:calc(100vw - 36px);pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:26px 1fr 20px;gap:10px;padding:12px 12px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);animation:toast-in .22s ease-out}.toast.leaving{animation:toast-out .18s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translate(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(14px) scale(.98)}}@media(prefers-reduced-motion:reduce){.toast,.toast.leaving{animation:none}}.toast-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}.toast-icon.k-share-offer{background:var(--share-fill);color:var(--share-text)}.toast-icon.k-share-accepted{background:var(--good-fill);color:var(--good-text)}.toast-icon.k-access-lost,.toast-icon.k-share-expired{background:var(--warning-fill);color:var(--warning-text)}.toast-icon.k-share-declined{background:var(--surface-2);color:var(--text-secondary)}.toast-body{min-width:0}.toast-title{font-size:13px;font-weight:var(--fw-medium);color:var(--text-strong);overflow-wrap:anywhere}.toast-sub{margin-top:2px;font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.toast-failed{color:var(--critical-text)}.toast-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.toast-actions:empty{display:none}.toast-close{align-self:start;display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.toast-close:hover{background:var(--surface-2);color:var(--text-primary)}@media(max-width:640px){.toast-stack{left:10px;right:10px;bottom:10px;width:auto;max-width:none}}.acting-bar{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:11px 14px;border:1px solid var(--warning-line);border-left:3px solid var(--warning-text);border-radius:10px;background:var(--warning-fill);color:var(--warning-text);font-size:13px}.acting-bar>svg{flex:none}.acting-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;flex:1}.acting-text strong{font-weight:var(--fw-strong)}.acting-reason{color:var(--warning-text);opacity:.85;font-style:italic;overflow-wrap:anywhere}.acting-bar .btn{flex:none;border-color:var(--warning-line);background:var(--surface);color:var(--text-primary)}@media(max-width:640px){.acting-bar{align-items:flex-start;flex-wrap:wrap}}.domain-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 5px 4px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:12.5px}.domain-chip .btn.icon{padding:3px;border-color:transparent;background:transparent;color:var(--text-muted)}.domain-chip .btn.icon:hover:not(:disabled){border-color:var(--critical-line);background:var(--critical-fill);color:var(--critical-text)}.owner-tag{gap:5px}.form-page .field+.field{margin-top:16px}.form-page>.row:last-child{margin-top:4px}.seg+.stack,.seg+.grid{margin-top:20px}.card-body.flush .pagination{padding:12px 16px 14px;border-top:1px solid var(--border)}.cell-note{color:var(--text-muted)}.pager-controls{display:flex;align-items:center;gap:6px}@media(max-width:560px){.pagination .spacer{display:none}.pagination .pg-info{width:100%}.pager-controls{width:100%;justify-content:space-between;gap:8px}.pager-controls .btn{flex:1;justify-content:center}}@media(max-width:560px){.form-page .perm-choice{flex-direction:column;align-items:flex-start;gap:4px}}.cred-grid{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 14px}.cred-label{font-size:12px;color:var(--text-muted)}.cred-value{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-family:var(--mono);font-size:12.5px;color:var(--text-primary);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.row-icon{color:var(--text-muted);vertical-align:-1px}.login-alt{margin-top:14px;text-align:center;font-size:12.5px}.login-alt a,.login-note a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-strong)}.login-alt a:hover,.login-note a:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.icon-btn.spinning svg{animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-btn.spinning svg{animation:none;opacity:.55}}.field-tag{display:inline-block;margin-right:6px;padding:1px 5px;border:1px solid var(--border);border-radius:4px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);vertical-align:1px}.avatar.has-image{background:var(--surface-2);color:transparent;overflow:hidden;padding:0}.avatar.has-image img{width:100%;height:100%;object-fit:cover;display:block}.identicon{width:100%;height:100%;display:block}.who{display:flex;align-items:center;gap:10px;min-width:0}.who-text{min-width:0}.avatar-sm{width:28px;height:28px;flex:none}.avatar-lg{width:56px;height:56px;font-size:18px;flex:none}.avatar-empty{display:grid;place-items:center;background:var(--surface-2);color:var(--text-muted);border:1px dashed var(--border-strong)}.avatar-choices{display:flex;gap:14px}.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;cursor:pointer;transition:border-color .12s,background .12s}.avatar-choice:hover{border-color:var(--border-strong)}.avatar-choice.on{border-color:var(--brand);background:var(--brand-wash)}.avatar-choice-label{font-size:12px;color:var(--text-secondary)}.org-logo{display:inline-flex;align-items:center;justify-content:flex-start;max-width:168px;height:48px;flex:none}.org-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.who-inline{display:inline-flex;align-items:center;gap:7px;min-width:0}.org-mark-sm{max-width:84px;height:17px}.group-mark{max-width:96px;height:20px}.logo-preview{display:inline-flex;align-items:center;justify-content:center;width:140px;height:56px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--surface-2)}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.org-chip-lg{width:48px;height:48px;font-size:16px;border-radius:var(--radius-sm);flex:none}.org-head{display:flex;align-items:flex-start;gap:14px;min-width:0}.org-head-mark{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:none;background:none;font:inherit;cursor:pointer;flex:none}.org-head-mark:disabled{cursor:default}.org-head-hint{font-size:10.5px;color:var(--text-muted)}.org-head-mark:hover .org-head-hint{color:var(--brand-strong)}.identity{display:flex;flex-direction:column;gap:18px}.identity-head{display:flex;align-items:center;gap:16px;min-width:0}.identity-picture{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;border:none;background:none;font:inherit;cursor:pointer;flex:none}.identity-picture-hint{font-size:10.5px;color:var(--text-muted)}.identity-picture:hover .identity-picture-hint{color:var(--brand-strong)}.identity-picture:disabled{cursor:default;opacity:.6}.avatar-xl{width:72px;height:72px;font-size:22px;flex:none}.identity-headline{display:flex;flex-direction:column;gap:3px;min-width:0}.identity-name{font-size:19px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-sub{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-divide{height:1px;background:var(--border)}.identity-name-field .row{max-width:420px}.identity-name-field .input{flex:1 1 auto;width:auto;min-width:0}.account-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 28px;margin:0;padding-top:4px}.account-facts dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}.account-facts dd{margin:0;min-width:0;font-size:13px;color:var(--text-secondary);overflow-wrap:anywhere}.account-facts .fact-sub{color:var(--text-muted)}@media(max-width:640px){.identity-head{gap:12px}.avatar-xl{width:56px;height:56px;font-size:18px}}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.setting-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 260px}.setting-text label,.setting-label{font-size:13.5px;font-weight:500;color:var(--text-primary)}.setting-text label{cursor:pointer;width:fit-content}.setting-help{font-size:12px;line-height:1.5;color:var(--text-muted)}.setting-control{flex:none;display:flex;align-items:center}.setting-row+.setting-row{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.switch{flex:none;width:38px;height:22px;padding:2px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);cursor:pointer;transition:background .15s ease,border-color .15s ease}.switch.on{border-color:var(--brand);background:var(--brand)}.switch-knob{display:block;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .15s ease,background .15s ease}.switch.on .switch-knob{transform:translate(16px);background:#fff}.switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(prefers-reduced-motion:reduce){.switch,.switch-knob{transition:none}}.legend-age{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.legend-age.stalled{padding:1px 6px;border-radius:999px;background:var(--warning-fill);color:var(--warning-text);font-weight:var(--fw-medium)}.select.sm{width:auto;min-width:118px;height:31px;padding:3px 9px;font-size:12px}.span-form{display:flex;align-items:center;gap:6px}.input.sm{width:130px;height:28px;padding:3px 9px;font-size:12px}@media(max-width:560px){.input.sm{width:100%;min-width:0}.span-form{flex:1 1 100%}}@media(pointer:coarse){.btn.icon,.icon-btn{min-width:44px;min-height:44px}.col-del{min-width:40px;min-height:40px}.chip{min-height:40px;padding:8px 14px}.switch{position:relative}.switch:after{content:"";position:absolute;top:-11px;right:-8px;bottom:-11px;left:-8px}table.data td .btn{min-height:40px;min-width:40px}.btn,.seg button,.group-toggle,.input,.select{min-height:40px}table.data td a,.back-link,.breadcrumbs a{display:inline-block;padding-block:10px;margin-block:-10px}.activity-refresh{min-width:40px;min-height:40px}}.menu-panel{min-width:180px}.menu-panel button:disabled{opacity:.45;cursor:not-allowed}.menu-panel button.danger,.menu-panel button.danger svg{color:var(--critical-text)}.menu-panel button.danger:hover{background:var(--critical-fill)}.menu-sep{height:1px;margin:5px 6px;background:var(--border)}.cell-link{color:inherit;text-decoration:none}.cell-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.table-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}.cap-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;border:1px solid var(--border-strong);border-radius:999px;background:none;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:var(--fw-strong);cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}.cap-toggle:hover{border-color:var(--text-muted);color:var(--text-primary)}.cap-toggle.on{border-color:transparent}.cap-toggle.on.cap-read{background:var(--info-fill);color:var(--info-text)}.cap-toggle.on.cap-write{background:var(--good-fill);color:var(--good-text)}.cap-toggle.on.cap-delete{background:var(--critical-fill);color:var(--critical-text)}.cap-toggle.on.cap-share{background:var(--share-fill);color:var(--share-text)}.cap-toggle.on.cap-admin{background:var(--brand-wash);color:var(--brand-strong)}.cap-row{display:flex;flex-wrap:wrap;gap:7px}.cap-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.cap-legend li{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted);line-height:1.5}.cap-legend-name{flex:none;min-width:58px;color:var(--text-secondary);font-weight:var(--fw-strong)}.cap-legend .cap-scope{margin-left:auto}@media(max-width:560px){.cap-legend .cap-scope{margin-left:0}.cap-legend li{flex-wrap:wrap}}.mode-seg{flex-wrap:wrap;height:auto;max-width:100%}.mode-seg button{gap:6px;min-height:30px;white-space:normal;text-align:left}table.data tr.row-error>td{padding-top:0}table.data tr.row-error .form-error{margin-top:0;margin-bottom:10px}.form-error.dismissible{display:flex;align-items:flex-start;gap:10px}.form-error-text{flex:1 1 auto;min-width:0}.form-error-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -3px 0 0;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;opacity:.65;cursor:pointer}.form-error-close:hover{opacity:1;background:var(--critical-line)}.form-error-close:focus-visible{outline:2px solid var(--critical-text);outline-offset:1px;opacity:1}@media(max-width:560px){table.data.stackable tr.row-error>td{display:block;width:100%}table.data.stackable tr.row-error>td:before{content:none}}
