:root{--bg: #f7f7f8;--surface: #ffffff;--surface-2: #f2f3f5;--surface-3: #e8eaee;--border: #e2e4e9;--border-strong: #c9ced6;--text: #16181d;--text-2: #3b414b;--muted: #5a6270;--accent: #a80000;--accent-hover: #8a0000;--accent-fg: #a80000;--accent-soft: #fbeaea;--accent-text: #ffffff;--link: #0a58b8;--focus: #1d63d8;--ok: #157347;--ok-bg: #e3f4ea;--imported: #3a7654;--imported-bg: #e9f3ed;--bad: #b42318;--bad-bg: #fdecea;--warn: #8a5300;--warn-bg: #fff3dc;--test: #1d5fc4;--test-bg: #e7efff;--info-bg: #eef4fd;--off-bg: #eef0f3;--empty: #eceef2;--cell-ok: #1f8a4c;--cell-imported: #4d8a67;--cell-test: #2f6fd1;--cell-bad: #c62828;--cell-running: #a86500;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-lg: 0 24px 64px rgba(16, 24, 40, .22);--backdrop: rgba(15, 17, 21, .45);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--sidebar-w: 236px;--font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1115;--surface: #171a20;--surface-2: #1e222a;--surface-3: #282d37;--border: #2a2f39;--border-strong: #3c4350;--text: #e8eaee;--text-2: #c4c9d1;--muted: #9ba4b1;--accent: #c42b31;--accent-hover: #d8383e;--accent-fg: #ff8a8e;--accent-soft: #3a1618;--accent-text: #ffffff;--link: #7ab7ff;--focus: #7ab0ff;--ok: #5ccf8c;--ok-bg: #12301f;--imported: #79b993;--imported-bg: #15291e;--bad: #ff8178;--bad-bg: #3a1714;--warn: #f2b552;--warn-bg: #33260f;--test: #86b4ff;--test-bg: #142640;--info-bg: #14233a;--off-bg: #232831;--empty: #232831;--cell-ok: #2a9a5a;--cell-imported: #3d7a57;--cell-test: #3b74d4;--cell-bad: #d14343;--cell-running: #b07410;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--backdrop: rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1115;--surface: #171a20;--surface-2: #1e222a;--surface-3: #282d37;--border: #2a2f39;--border-strong: #3c4350;--text: #e8eaee;--text-2: #c4c9d1;--muted: #9ba4b1;--accent: #c42b31;--accent-hover: #d8383e;--accent-fg: #ff8a8e;--accent-soft: #3a1618;--accent-text: #ffffff;--link: #7ab7ff;--focus: #7ab0ff;--ok: #5ccf8c;--ok-bg: #12301f;--imported: #79b993;--imported-bg: #15291e;--bad: #ff8178;--bad-bg: #3a1714;--warn: #f2b552;--warn-bg: #33260f;--test: #86b4ff;--test-bg: #142640;--info-bg: #14233a;--off-bg: #232831;--empty: #232831;--cell-ok: #2a9a5a;--cell-imported: #3d7a57;--cell-test: #3b74d4;--cell-bad: #d14343;--cell-running: #b07410;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--backdrop: rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3,h4,p{margin:0}h1{font-size:1.6rem;line-height:1.25;font-weight:650;letter-spacing:-.01em}h2{font-size:1.15rem;line-height:1.3;font-weight:620}h3{font-size:1rem;font-weight:620}small{font-size:.85rem}a{color:var(--link);text-underline-offset:2px}code,.mono{font-family:var(--font-mono);font-size:.85rem}ul,ol{margin:0}img,svg{flex:none}fieldset{border:0;margin:0;padding:0;min-width:0}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:200;padding:10px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.muted{color:var(--muted)}.error-text{color:var(--bad)}.block{display:block}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1 1 auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.plain-list{list-style:none;padding:0}button,input,select,textarea{font:inherit;color:inherit}button,a.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:550;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}button:hover:not(:disabled),a.button:hover{background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled),a.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--bad);border-color:var(--border-strong)}button.danger:hover:not(:disabled){background:var(--bad-bg)}button.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}button.link{min-height:32px;padding:4px 8px;border-color:transparent;background:none;color:var(--link)}button.link:hover:not(:disabled){background:var(--surface-2)}button.icon{min-height:32px;width:32px;padding:0;border-color:transparent;background:none;color:var(--muted)}button.icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.small,a.button.small{min-height:30px;padding:4px 10px;font-size:.87rem}input,select,textarea{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:var(--accent);flex:none}input[type=file]{padding:6px}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted)}textarea{resize:vertical;line-height:1.45}[aria-invalid=true]{border-color:var(--bad)}.search{position:relative;min-width:220px;max-width:320px;flex:1 1 220px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search input{padding-left:34px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field>label,.field-label{font-weight:560;color:var(--text)}.field small,.hint{color:var(--muted)}.field.check{flex-direction:column}.check-label{display:flex;gap:10px;align-items:flex-start;font-weight:450!important;cursor:pointer}.check-label input{margin-top:3px}.req{color:var(--bad)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 16px}.form-row{display:flex;gap:16px;flex-wrap:wrap}.form-row>.field{flex:1 1 200px}.form-section{padding:20px 0;border-top:1px solid var(--border)}.form-section:first-child{padding-top:0;border-top:0}.form-section>h3{margin-bottom:12px}.form-section>h3+.section-desc{margin-top:-8px}.form-section>.section-desc{color:var(--muted);margin-bottom:14px}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;margin-bottom:8px;background:var(--surface)}.choice:hover{background:var(--surface-2)}.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{margin-top:3px}.choice small{display:block;color:var(--muted)}.segmented{display:inline-flex;flex-wrap:wrap;padding:3px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.segmented label{position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:4px;cursor:pointer;color:var(--text-2);font-weight:520}.segmented input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.segmented label:has(input:checked){background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.segmented label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.segmented.full{display:flex}.segmented.full label{flex:1;justify-content:center}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.5;background:var(--off-bg);color:var(--text-2);white-space:nowrap;vertical-align:middle}.badge svg{width:13px;height:13px}.badge.success,.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.imported{background:var(--imported-bg);color:var(--imported)}.badge.failed,.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.running,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.tested{background:var(--test-bg);color:var(--test)}.badge.accent{background:var(--accent-soft);color:var(--accent-fg)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:.8rem;padding:2px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);margin:12px 0;background:var(--info-bg);color:var(--text)}.notice>svg{margin-top:2px;color:var(--link)}.notice.error{background:var(--bad-bg)}.notice.error>svg{color:var(--bad)}.notice.success{background:var(--ok-bg)}.notice.success>svg{color:var(--ok)}.notice.warn{background:var(--warn-bg)}.notice.warn>svg{color:var(--warn)}.notice-body{flex:1;min-width:0}.notice-body>strong:first-child{display:block;margin-bottom:2px}.notice ul{padding-left:18px;margin-top:4px}.notice small.block{margin-top:6px;opacity:.8;word-break:break-word}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.card>h2:first-child,.card>h3:first-child{margin-bottom:12px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-sm)}table.list{width:100%;border-collapse:collapse}table.list th,table.list td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:top}table.list thead th{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);white-space:nowrap}table.list tbody tr:last-child td,table.list tbody tr:last-child th{border-bottom:0}table.list tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}table.list tbody th{font-weight:560}table.list.compact th,table.list.compact td{padding:7px 10px}table.list td.actions-cell{text-align:right;white-space:nowrap;width:1%}table.list .sub{display:block;color:var(--muted);font-size:.85rem;font-weight:400}tr.inactive>*{color:var(--muted)}.row-link{all:unset;cursor:pointer;font-weight:560;color:var(--text)}.row-link:hover{color:var(--link);text-decoration:underline}.row-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:4px 0 20px;overflow-x:auto}.tabs [role=tab]{min-height:42px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:8px 14px;color:var(--muted);font-weight:560;margin-bottom:-1px}.tabs [role=tab]:hover:not(:disabled){background:none;color:var(--text)}.tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:640}.tabs .count{margin-left:4px;padding:0 7px;border-radius:999px;background:var(--surface-2);font-size:.78rem;color:var(--muted)}[role=tabpanel]:focus-visible{outline-offset:6px}dialog.dialog{padding:0;border:0;color:var(--text);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}dialog.dialog:not([open]){display:none}dialog.dialog::backdrop{background:var(--backdrop)}dialog.dialog.modal{width:min(560px,calc(100vw - 32px));max-height:min(88vh,900px);border-radius:var(--radius-lg)}dialog.dialog.modal.sm{width:min(440px,calc(100vw - 32px))}dialog.dialog.modal.lg{width:min(900px,calc(100vw - 32px))}dialog.dialog.panel{margin:0 0 0 auto;width:min(560px,100vw);height:100dvh;max-height:100dvh;border-radius:0;animation:panel-in .18s ease-out}dialog.dialog.panel.lg{width:min(820px,100vw)}dialog.dialog.panel.sm{width:min(440px,100vw)}@keyframes panel-in{0%{transform:translate(24px);opacity:.4}}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.dialog-head p{color:var(--muted);margin-top:2px}.dialog-body{padding:18px 20px;overflow-y:auto;flex:1}.dialog-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface)}.dialog-foot .hint{margin-right:auto;font-size:.87rem}.dialog-foot .danger{margin-right:auto}.actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.actions.start{justify-content:flex-start}.actions .danger{margin-right:auto}.loading{display:flex;align-items:center;gap:10px;padding:28px 0;color:var(--muted)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:var(--surface-2);color:var(--muted)}.empty h2,.empty h3{color:var(--text);margin-bottom:4px}.empty .actions{justify-content:center}.toasts{position:fixed;right:18px;bottom:18px;z-index:300;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 36px));pointer-events:none}.toasts>div{display:flex;flex-direction:column;gap:8px}.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 12px 12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--ok);box-shadow:var(--shadow-lg);animation:toast-in .18s ease-out}.toast>svg{margin-top:2px;color:var(--ok)}.toast.error{border-left-color:var(--bad)}.toast.error>svg{color:var(--bad)}.toast.info{border-left-color:var(--link)}.toast.info>svg{color:var(--link)}.toast p{flex:1}.toast button.icon{min-height:24px;width:24px;margin:-2px -2px 0 0}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}details.disclosure{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:12px 0}details.disclosure>summary{cursor:pointer;padding:10px 14px;font-weight:560;list-style:none;display:flex;align-items:center;gap:8px}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary>svg:first-child{transition:transform .15s;color:var(--muted)}details.disclosure[open]>summary>svg:first-child{transform:rotate(90deg)}details.disclosure>.disclosure-body{padding:0 14px 12px 38px}details.disclosure.info{background:var(--info-bg);border-color:transparent}details.disclosure.warn{background:var(--warn-bg);border-color:transparent}details.disclosure.error{background:var(--bad-bg);border-color:transparent}details.disclosure ol,details.disclosure ul{padding-left:18px}details.disclosure li{margin:4px 0}dl.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;margin:0 0 14px}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;word-break:break-word}.preview{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:12px 0}.preview-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-2);font-size:.87rem}.preview iframe{display:block;width:100%;height:380px;border:0;background:#fff}.status-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--off-bg);color:var(--muted)}.status-icon.done,.status-icon.success{background:var(--ok-bg);color:var(--ok)}.status-icon.imported{background:var(--imported-bg);color:var(--imported)}.status-icon.failed{background:var(--bad-bg);color:var(--bad)}.status-icon.running{background:var(--warn-bg);color:var(--warn)}.status-icon.tested{background:var(--test-bg);color:var(--test)}.section-title{margin:24px 0 10px}.field.spaced{margin-top:12px}.section-lead{margin:6px 0 16px;max-width:75ch}.card.narrow{max-width:680px}button.choice-button{width:100%;justify-content:flex-start;text-align:left;white-space:normal;font-weight:400;min-height:0}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px 14px 14px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--text);text-decoration:none}.brand-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text);font-weight:750;font-size:1.05rem}.brand-name{display:flex;flex-direction:column;line-height:1.15;font-weight:700}.brand-name small{font-weight:550;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.nav-section+.nav-section{margin-top:14px}.nav-section h2{padding:0 10px 6px;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav-section ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px}.nav-section a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);text-decoration:none;font-weight:520}.nav-section a svg{color:var(--muted)}.nav-section a:hover{background:var(--surface-2);color:var(--text)}.nav-section a[aria-current=page]{background:var(--accent-soft);color:var(--accent-fg);font-weight:640}.nav-section a[aria-current=page] svg{color:var(--accent-fg)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--border)}.sidebar .segmented label{padding:5px 4px;gap:4px;font-size:.82rem}.me{display:flex;align-items:center;gap:10px;padding:0 4px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--text);font-weight:650;text-transform:uppercase;flex:none}.me-name{flex:1;min-width:0;line-height:1.25}.me-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-name small{color:var(--muted)}.topbar,.nav-scrim{display:none}.content{min-width:0;padding:28px 36px 48px}.content:focus{outline:none}.page{max-width:1280px;margin:0 auto}.breadcrumb ol{list-style:none;padding:0;display:flex;gap:6px;align-items:center;font-size:.9rem;color:var(--muted);margin-bottom:8px}.breadcrumb li+li:before{content:"/";margin-right:6px;color:var(--border-strong)}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--link);text-decoration:underline}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-head .page-desc{color:var(--muted);margin-top:4px;max-width:70ch}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar.spread{justify-content:space-between}.toolbar select,.toolbar input:not([type=checkbox]){width:auto}.toolbar .search input{width:100%}.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-check{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:40;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.sidebar{position:fixed;z-index:60;inset:0 auto 0 0;width:min(280px,85vw);transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg);visibility:hidden}.sidebar.open{transform:none;visibility:visible}.nav-scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:var(--backdrop);border:0;border-radius:0}.content{padding:20px 16px 40px}.split{grid-template-columns:minmax(0,1fr)}.search{max-width:none}}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(400px,100%)}.login-card .brand{margin-bottom:24px;padding:0}.login-card h1{font-size:1.35rem;margin-bottom:4px}.login-card>p{color:var(--muted);margin-bottom:20px}.login-card button[type=submit]{width:100%;margin-top:4px}.login-foot{display:flex;justify-content:center;margin-top:20px}.context-bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.day-nav{display:inline-flex;align-items:center;gap:4px}.day-nav input[type=date]{width:auto}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.summary button{flex-direction:column;align-items:flex-start;gap:2px;min-height:0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;color:var(--muted);font-weight:520;white-space:normal}.summary button b{font-size:1.75rem;line-height:1.1;font-weight:700;color:var(--text)}.summary button.ok b{color:var(--ok)}.summary button.bad b{color:var(--bad)}.summary button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-sm);color:var(--text)}.item-list{list-style:none;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.item-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.item-row:last-child{border-bottom:0}.item-main{flex:1;min-width:0}.item-title{font-weight:620;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.item-title .chip{font-weight:500}.item-sub{margin-top:2px;font-size:.9rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-sub .state{font-weight:600}.state.done{color:var(--ok)}.state.failed{color:var(--bad)}.state.running{color:var(--warn)}.state.tested{color:var(--test)}.state.todo{color:var(--muted)}.item-error{margin-top:4px;font-size:.9rem;color:var(--bad)}.item-actions{display:flex;gap:6px;align-items:center;flex:none}.list-note{color:var(--muted);font-size:.9rem}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;list-style:none;padding:0;margin:0 0 12px}.legend li{display:inline-flex;align-items:center;gap:6px}.swatch{width:18px;height:18px;border-radius:4px;display:inline-grid;place-items:center;color:#fff}.swatch svg{width:12px;height:12px}.grid-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-height:calc(100vh - 240px);box-shadow:var(--shadow-sm)}table.tracker{border-collapse:separate;border-spacing:0;width:100%}table.tracker th,table.tracker td{border-bottom:1px solid var(--border);padding:0}table.tracker thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);font-size:.8rem;font-weight:620;padding:8px 4px;text-align:center;min-width:56px}table.tracker thead th small{display:block;color:var(--muted);font-weight:450}table.tracker thead th.today{color:var(--accent-fg)}table.tracker .sticky{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;padding:6px 14px;font-weight:540;white-space:nowrap;border-right:1px solid var(--border)}table.tracker thead .sticky{z-index:3;background:var(--surface-2)}table.tracker .group-row th{background:var(--surface-2);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:6px 14px;text-align:left}td.cell{padding:3px}td.cell button{width:100%;height:30px;min-height:0;padding:0;border:0;border-radius:5px;color:#fff;font-size:.75rem;font-weight:700;gap:2px}td.cell button svg{width:14px;height:14px}.cell-success,.cell.success button{background:var(--cell-ok)}.cell-imported,.cell.imported button{background:var(--cell-imported)}.cell-tested,.cell.tested button{background:var(--cell-test)}.cell-failed,.cell.failed button{background:var(--cell-bad)}.cell-running,.cell.running button{background:var(--cell-running)}.cell-empty,.cell.empty button{background:var(--empty);color:var(--muted)}td.cell button:hover:not(:disabled){filter:brightness(1.08)}.cell.success button:hover,.cell.imported button:hover,.cell.tested button:hover,.cell.failed button:hover,.cell.running button:hover{background-image:linear-gradient(#ffffff14,#ffffff14)}.cell.empty button:hover{background:var(--surface-3)!important}.run-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.run-card p{margin-top:6px}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.auto-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.auto-card{display:flex;flex-direction:column;gap:14px;position:relative}.auto-card h2 a{color:var(--text);text-decoration:none}.auto-card h2 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg)}.auto-card h2 a:focus-visible{outline:none}.auto-card:has(h2 a:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.auto-card:hover{border-color:var(--border-strong)}.auto-card p{color:var(--muted)}.auto-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.92rem}.auto-card dt{color:var(--muted)}.auto-card dd{margin:0}.steps{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:12px;counter-reset:step}.step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.step-num{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;background:var(--surface-2);font-size:.82rem;font-weight:700;margin-right:8px;flex:none}.step-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.step-fields{margin-top:14px}.sticky-actions{position:sticky;bottom:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:12px 0;margin-top:16px;border-top:1px solid var(--border)}.schedule .sentence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.schedule .sentence select,.schedule .sentence input{width:auto}.check-box{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:12px 14px;margin-bottom:16px}.howto{margin:0 0 18px;padding:12px 14px 12px 34px;background:var(--info-bg);border-radius:var(--radius)}.howto li{margin:4px 0}.result{text-align:center;padding:8px 0 4px}.result h3{margin:12px 0 4px;font-size:1.15rem}.result-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto;color:#fff;background:var(--cell-ok)}.result.bad .result-icon{background:var(--cell-bad)}.result .actions{justify-content:center}.left-align{text-align:left}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.role-card{display:flex;flex-direction:column;gap:12px}.perm-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.perm-columns h3{margin-bottom:8px}.perm{display:flex;gap:10px;align-items:flex-start;padding:7px 0;cursor:pointer}.perm input{margin-top:3px}.perm small{display:block;color:var(--muted)}.perm.implied{opacity:.75}.scope{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.scope-list{padding-left:26px}.audit-detail{max-width:420px;word-break:break-word}@media(max-width:900px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row{flex-wrap:wrap}.item-actions{width:100%;justify-content:flex-end}.item-sub{white-space:normal}.perm-columns{grid-template-columns:1fr}dl.kv{grid-template-columns:1fr;gap:2px}dl.kv dd{margin-bottom:8px}}.check-box>small{margin-top:6px}table.tracker .group-row th span{position:sticky;left:14px}.welcome-steps{padding-left:44px;max-width:640px}.welcome-steps li{margin:8px 0}.step-desc{margin-left:34px}.schedule{margin-top:16px;padding:14px;border-radius:var(--radius);background:var(--surface-2)}.schedule .sentence:last-child,.schedule .field:last-child{margin-bottom:0}
