@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--ih-font-sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--ih-font-mono: "IBM Plex Mono", Consolas, ui-monospace, monospace;--ih-text-xs: 11px;--ih-text-sm: 12px;--ih-text-md: 13px;--ih-text-base: 14px;--ih-text-lg: 15px;--ih-text-xl: 17px;--ih-text-h1: 22px;--ih-radius-sm: 6px;--ih-radius-md: 8px;--ih-radius-lg: 12px;--ih-radius-pill: 999px;--ih-space-1: 4px;--ih-space-2: 8px;--ih-space-3: 12px;--ih-space-4: 16px;--ih-space-5: 20px;--ih-space-6: 24px;--ih-control-h: 40px;--ih-control-h-sm: 34px;--ih-touch: 44px;--ih-shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 12px 32px rgba(15, 27, 45, .08);--ih-shadow-bar: 0 6px 24px rgba(0, 0, 0, .1)}:root,:root[data-theme=light]{color-scheme:light;--ih-bg: #f3f5f8;--ih-surface: #ffffff;--ih-surface2: #f6f8fb;--ih-border: #dce2ea;--ih-border-soft: #e9edf2;--ih-border-strong: #b4bfcd;--ih-text: #0f1b2d;--ih-muted: #4f5d70;--ih-accent: #0a5bb0;--ih-accent-text: #ffffff;--ih-accent-soft: #e4eefa;--ih-accent-soft-text: #0a4f99;--ih-sel-row: #eef4fc;--ih-seg-active: #ffffff;--ih-seg-shadow: 0 1px 2px rgba(15, 27, 45, .12);--ih-page-well: #e6eaf0;--ih-paper: #ffffff;--ih-paper-ink: #d6dde6;--ih-code-bg: #f7f9fc;--ih-box-fill: rgba(10, 91, 176, .1);--ih-neutral-bg: #eceff3;--ih-neutral-fg: #46546a;--ih-info-bg: #e4eefa;--ih-info-fg: #0a4f99;--ih-warn-bg: #fcf0da;--ih-warn-fg: #7a4300;--ih-alert-bg: #fde7dc;--ih-alert-fg: #9a3412;--ih-danger-bg: #fbe4e2;--ih-danger-fg: #a4231b;--ih-ok-bg: #dff2e6;--ih-ok-fg: #17633a}:root[data-theme=dark]{color-scheme:dark;--ih-bg: #0b1119;--ih-surface: #121a25;--ih-surface2: #0e151f;--ih-border: #243041;--ih-border-soft: #1b2532;--ih-border-strong: #3a4b62;--ih-text: #e5ebf2;--ih-muted: #9dabbd;--ih-accent: #5ea3ee;--ih-accent-text: #061321;--ih-accent-soft: #15283e;--ih-accent-soft-text: #a9cdf7;--ih-sel-row: #15233a;--ih-seg-active: #22324a;--ih-seg-shadow: none;--ih-page-well: #070b11;--ih-paper: #dce2e9;--ih-paper-ink: #b3bdca;--ih-code-bg: #0e151f;--ih-box-fill: rgba(10, 91, 176, .14);--ih-neutral-bg: #1e2834;--ih-neutral-fg: #b2bdcb;--ih-info-bg: #15283e;--ih-info-fg: #9cc8f8;--ih-warn-bg: #33270f;--ih-warn-fg: #f3c77f;--ih-alert-bg: #3a2013;--ih-alert-fg: #f7ae85;--ih-danger-bg: #3a1716;--ih-danger-fg: #ffa39b;--ih-ok-bg: #11301f;--ih-ok-fg: #86d9a4}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--ih-bg: #0b1119;--ih-surface: #121a25;--ih-surface2: #0e151f;--ih-border: #243041;--ih-border-soft: #1b2532;--ih-border-strong: #3a4b62;--ih-text: #e5ebf2;--ih-muted: #9dabbd;--ih-accent: #5ea3ee;--ih-accent-text: #061321;--ih-accent-soft: #15283e;--ih-accent-soft-text: #a9cdf7;--ih-sel-row: #15233a;--ih-seg-active: #22324a;--ih-seg-shadow: none;--ih-page-well: #070b11;--ih-paper: #dce2e9;--ih-paper-ink: #b3bdca;--ih-code-bg: #0e151f;--ih-box-fill: rgba(10, 91, 176, .14);--ih-neutral-bg: #1e2834;--ih-neutral-fg: #b2bdcb;--ih-info-bg: #15283e;--ih-info-fg: #9cc8f8;--ih-warn-bg: #33270f;--ih-warn-fg: #f3c77f;--ih-alert-bg: #3a2013;--ih-alert-fg: #f7ae85;--ih-danger-bg: #3a1716;--ih-danger-fg: #ffa39b;--ih-ok-bg: #11301f;--ih-ok-fg: #86d9a4}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--ih-bg);color:var(--ih-text);font:400 var(--ih-text-base) / 1.45 var(--ih-font-sans);-webkit-font-smoothing:antialiased}code,kbd,.mono{font-family:var(--ih-font-mono)}h1{margin:0 0 4px;font-size:var(--ih-text-h1);font-weight:600;letter-spacing:-.015em}h2{margin:0 0 12px;font-size:var(--ih-text-h1);font-weight:600;letter-spacing:-.015em}h3{font-size:var(--ih-text-xl);font-weight:600}a{color:var(--ih-accent-soft-text)}:focus-visible{outline:2px solid var(--ih-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.icon{flex:none}form{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:20px}label{display:flex;flex-direction:column;gap:4px;font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}label.inline{flex-direction:row;align-items:center;gap:6px;color:var(--ih-text);font-size:var(--ih-text-md)}input:where(:not([type=checkbox]):not([type=radio]):not([type=file])),select,textarea{min-height:var(--ih-control-h);padding:0 10px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);background:var(--ih-surface2);color:var(--ih-text);font:inherit;font-size:var(--ih-text-base)}textarea{padding:8px 10px;line-height:1.5}input[type=checkbox],input[type=radio]{accent-color:var(--ih-accent);width:16px;height:16px}input[type=file]{font:inherit;color:var(--ih-text)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ih-accent);outline-offset:0;border-color:var(--ih-accent)}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ih-control-h);padding:0 14px;border:1px solid var(--ih-border-strong);border-radius:var(--ih-radius-md);background:transparent;color:var(--ih-text);font:inherit;font-weight:500;cursor:pointer}button:hover:not(:disabled){background:var(--ih-surface2)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{border-color:var(--ih-accent);background:var(--ih-accent);color:var(--ih-accent-text)}button.primary:hover:not(:disabled){background:var(--ih-accent);filter:brightness(1.08)}button.danger{color:var(--ih-danger-fg)}button.icon{width:var(--ih-control-h);padding:0;border:0;color:var(--ih-muted)}button.block{width:100%;min-height:46px;font-size:var(--ih-text-lg);font-weight:600}button.link{min-height:0;padding:0 4px;border:none;background:none;color:var(--ih-accent-soft-text);font-weight:400;text-decoration:underline}button.link:hover:not(:disabled){background:none}button.link.danger{color:var(--ih-danger-fg)}table{width:100%;border-collapse:collapse;background:var(--ih-surface)}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ih-border-soft)}th{font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}.status{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:var(--ih-radius-pill);font-size:var(--ih-text-sm);font-weight:500;white-space:nowrap;background:var(--ih-neutral-bg);color:var(--ih-neutral-fg)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-running{background:var(--ih-info-bg);color:var(--ih-info-fg)}.status-awaiting_review{background:var(--ih-warn-bg);color:var(--ih-warn-fg)}.status-needs_review{background:var(--ih-alert-bg);color:var(--ih-alert-fg)}.status-failed{background:var(--ih-danger-bg);color:var(--ih-danger-fg)}.status-succeeded{background:var(--ih-ok-bg);color:var(--ih-ok-fg)}.error{font-size:var(--ih-text-sm);color:var(--ih-danger-fg)}[role=alert]{color:var(--ih-danger-fg)}.callout{display:flex;gap:10px;padding:12px 14px;border-radius:var(--ih-radius-md);font-size:var(--ih-text-md)}.callout>span{display:flex;flex-direction:column;gap:2px}.callout strong{font-weight:600}.card{border:1px solid var(--ih-border);border-radius:14px;background:var(--ih-surface);box-shadow:var(--ih-shadow-card)}.segmented{display:flex;gap:2px;padding:3px;border:1px solid var(--ih-border);border-radius:9px;background:var(--ih-surface2)}.segmented button{min-height:var(--ih-control-h-sm);padding:0 10px;border:0;border-radius:var(--ih-radius-sm);color:var(--ih-muted);font-size:var(--ih-text-md);font-weight:400;gap:6px}.segmented button[aria-pressed=true]{background:var(--ih-seg-active);color:var(--ih-text);box-shadow:var(--ih-seg-shadow)}html{scroll-padding-top:calc(var(--ih-topbar-h) + 8px)}:root{--ih-topbar-h: 0px}@media(min-width:641px){:root{--ih-topbar-h: 69px}.top-bar{position:sticky;top:0;z-index:30}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 24px;background:var(--ih-surface);border-bottom:1px solid var(--ih-border)}.brand{display:flex;align-items:center;gap:10px;min-height:var(--ih-touch);color:var(--ih-text);font-size:var(--ih-text-lg);font-weight:600;letter-spacing:-.01em;text-decoration:none}.brand-mark{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--ih-accent);color:var(--ih-accent-text)}.brand-mark.large{width:48px;height:48px;border-radius:12px}.search{flex:1 1 260px;max-width:520px;flex-direction:row;align-items:center;gap:8px;height:var(--ih-control-h);padding:0 8px 0 12px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);background:var(--ih-surface2);color:var(--ih-muted);font-size:var(--ih-text-base);font-weight:400}.search:focus-within{outline:2px solid var(--ih-accent);border-color:var(--ih-accent)}.search input[type=search]{flex:1;min-width:0;min-height:0;height:100%;padding:0;border:0;outline:none;background:transparent}.search kbd{font-size:var(--ih-text-xs);padding:2px 6px;border:1px solid var(--ih-border);border-radius:4px}.top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}.user-chip{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid var(--ih-border)}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ih-neutral-bg);color:var(--ih-neutral-fg);font-size:var(--ih-text-sm);font-weight:600}.who{display:flex;flex-direction:column;line-height:1.2;font-size:var(--ih-text-md);font-weight:500}.who small{font-size:var(--ih-text-xs);font-weight:400;color:var(--ih-muted)}.app-body{flex:1;display:flex;flex-wrap:wrap;align-items:stretch}.side-nav{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;padding:20px 12px;background:var(--ih-surface);border-right:1px solid var(--ih-border)}.side-nav a{display:flex;align-items:center;gap:12px;min-height:var(--ih-touch);padding:0 12px;border-radius:var(--ih-radius-md);color:var(--ih-text);text-decoration:none}.side-nav a:hover{background:var(--ih-surface2)}.side-nav a[aria-current=page]{background:var(--ih-accent-soft);color:var(--ih-accent-soft-text);font-weight:600}.nav-label{flex:1}.nav-badge{min-width:22px;height:22px;padding:0 7px;border-radius:var(--ih-radius-pill);display:flex;align-items:center;justify-content:center;background:var(--ih-warn-bg);color:var(--ih-warn-fg);font-size:var(--ih-text-sm);font-weight:600}.nav-heading{margin:16px 12px 4px;font-size:var(--ih-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ih-muted)}.page{flex:999 1 640px;min-width:0;padding:24px 28px 40px}.auth{min-height:100vh;display:flex;flex-direction:column;background-color:var(--ih-bg);background-image:radial-gradient(var(--ih-border) 1px,transparent 1.2px);background-size:22px 22px}.auth-top{display:flex;justify-content:flex-end;padding:16px 24px}.auth-top .segmented{background:var(--ih-surface)}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 16px 80px}.auth-column{width:100%;max-width:420px;display:flex;flex-direction:column;gap:24px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px}.auth-brand h1{margin:0}.auth-card{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:28px}.token-field{display:flex;flex-direction:column;gap:6px}.token-field label{font-size:var(--ih-text-md);color:var(--ih-text)}.token-input{display:flex;align-items:center;height:46px;padding-left:12px;border:1.5px solid var(--ih-border);border-radius:9px;background:var(--ih-surface2);color:var(--ih-muted)}.token-input:focus-within{border-color:var(--ih-accent)}.token-input.invalid{border-color:var(--ih-danger-fg)}.token-input input:not([type=checkbox]){flex:1;min-width:0;height:100%;padding:0 10px;border:0;outline:none;background:transparent;font-family:var(--ih-font-mono)}.token-input button.icon{height:100%;width:var(--ih-touch)}.field-error{display:flex;align-items:center;gap:8px;margin:-6px 0 0;font-size:var(--ih-text-md);font-weight:500;color:var(--ih-danger-fg)}.auth-hint{margin:0;text-align:center;font-size:var(--ih-text-md);color:var(--ih-muted)}@media(max-width:640px){.top-bar{padding:12px 16px}.page{padding:20px 16px 32px}.top-actions{margin-left:0}.page table:not(.job-list):not(.result-list):not(.token-list){display:block;overflow-x:auto}}[role=tablist]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--ih-border)}[role=tab]{border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ih-muted)}[role=tab][aria-selected=true]{color:var(--ih-text);font-weight:600;border-bottom-color:var(--ih-accent)}.table-scroll{max-height:70vh;overflow:auto}.fields th[scope=row] small{opacity:.6;font-weight:400}tr.flagged,td.flag{background:var(--ih-warn-bg)}td.edited-cell,.edited{color:var(--ih-info-fg)}.edited{margin-left:.5rem}.value.editing input{min-width:10rem}.filter{flex-direction:row;align-items:center;gap:.25rem;margin-bottom:.5rem}.edit-log li{margin-bottom:.25rem}.table-scroll td{white-space:nowrap;padding:.25rem .5rem}.review-data td .value button.link{opacity:0}.review-data td:hover .value button.link,.review-data td:focus-within .value button.link{opacity:1}@media(hover:none){.review-data td .value button.link{opacity:1}}.template-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.template-actions form{flex-direction:column;align-items:stretch}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:end;margin:.5rem 0}.issues{color:var(--ih-alert-fg);font-size:.875rem}.hint{color:var(--ih-muted)}.editor-body{min-width:0;border:none;padding:0;margin:0}.editor-body .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem 1rem}.editor-body textarea{width:100%;font-family:var(--ih-font-mono)}.list-item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;padding:.5rem 0;border-bottom:1px dashed var(--ih-border)}.table-def{width:100%}.step-tools{display:flex;gap:6px;min-width:0;margin:0;padding:0;border:0}fieldset.choice{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}fieldset.choice legend{margin-bottom:6px;padding:0;font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}fieldset.choice label.inline{min-height:34px;padding:0 12px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-pill);font-family:var(--ih-font-mono);font-size:var(--ih-text-md);cursor:pointer}fieldset.choice label.inline:has(input:checked){border-color:var(--ih-accent);background:var(--ih-accent-soft);color:var(--ih-accent-soft-text)}.editor-body .form-rows{display:flex;flex-direction:column;gap:.75rem}.form-rows>label{display:grid;grid-template-columns:12rem 1fr;align-items:start;gap:1rem;font-size:.95rem}.form-rows>label>input:not([type=checkbox]),.form-rows>label>select,.form-rows>label>textarea{width:100%;box-sizing:border-box;padding:.4rem .5rem;font-size:1rem}.form-rows>label>select{max-width:16rem}.form-rows>label>input[type=checkbox]{justify-self:start}@media(max-width:700px){.form-rows>label{grid-template-columns:1fr;gap:.25rem}}.row-table table{table-layout:fixed;margin-bottom:.5rem}.row-table th,.row-table td{padding:.25rem .4rem;vertical-align:middle}.row-table td input:not([type=checkbox]),.row-table td select{width:100%;box-sizing:border-box}.row-table td.index{color:var(--ih-muted)}input.code{font-family:var(--ih-font-mono)}.extract-step{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);gap:1rem;align-items:stretch}.editor-body .step-settings{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-content:start}.step-prompts{display:flex;flex-direction:column;gap:.75rem;min-height:24rem}.step-prompts>label{flex:3}.step-prompts>label.context{flex:1}.step-prompts textarea{flex:1;resize:vertical;min-height:4rem}@media(max-width:900px){.extract-step{grid-template-columns:1fr}}.result-meta,.result-fields{display:grid;grid-template-columns:12rem 1fr;gap:.35rem 1rem;margin:.75rem 0}.result-fields>div{display:contents}.result-meta dt,.result-fields dt{font-weight:600}.result-meta dd,.result-fields dd{margin:0}.downloads{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.5rem 0 1rem}.result-detail details{margin:1rem 0}.result-detail pre{overflow:auto;max-height:60vh}@media(max-width:700px){.result-meta,.result-fields{grid-template-columns:1fr}}.job-cleanup{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.job-cleanup input{width:5rem}.job-cleanup p{margin:0}.new-token{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:end;padding:.75rem;margin:.75rem 0;border:1.5px solid var(--ih-ok-fg);border-radius:var(--ih-radius-lg);background:var(--ih-ok-bg)}.new-token input{width:32rem;max-width:100%;font-family:var(--ih-font-mono)}.token-revoked,.token-expired{color:var(--ih-muted);background:var(--ih-surface2)}.token-current-admin{font-weight:600}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px;margin-bottom:20px}.page-header p{margin:4px 0 0}.muted{color:var(--ih-muted)}.eyebrow{margin:0;font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}.link-text{color:var(--ih-accent-soft-text);text-decoration:underline}a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ih-control-h);padding:0 14px;border:1px solid var(--ih-border-strong);border-radius:var(--ih-radius-md);color:var(--ih-text);font-weight:500;text-decoration:none;white-space:nowrap}a.button.primary{border-color:var(--ih-accent);background:var(--ih-accent);color:var(--ih-accent-text)}button.danger-fill{border-color:var(--ih-danger-fg);background:var(--ih-danger-fg);color:var(--ih-surface)}.pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:3px 10px;border-radius:var(--ih-radius-pill);font-size:var(--ih-text-sm);font-weight:500;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tone-neutral{background:var(--ih-neutral-bg);color:var(--ih-neutral-fg)}.tone-warn{background:var(--ih-warn-bg);color:var(--ih-warn-fg)}.tone-alert{background:var(--ih-alert-bg);color:var(--ih-alert-fg)}.tone-danger{background:var(--ih-danger-bg);color:var(--ih-danger-fg)}.tone-ok{background:var(--ih-ok-bg);color:var(--ih-ok-fg)}.live{display:flex;align-items:center;gap:8px;font-size:var(--ih-text-sm);color:var(--ih-muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ih-ok-fg)}.live-warn{color:var(--ih-warn-fg)}.live-warn .live-dot{background:var(--ih-warn-fg)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:36px;padding:0 8px 0 14px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-pill);background:var(--ih-surface);font-size:var(--ih-text-md)}.chip[aria-pressed=true],.chip[aria-pressed=true]:hover:not(:disabled){border-color:var(--ih-text);background:var(--ih-text);color:var(--ih-bg)}.chip-count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--ih-radius-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--ih-neutral-bg);color:var(--ih-neutral-fg);font-size:var(--ih-text-sm)}.chip[aria-pressed=true] .chip-count:not(.tone-warn){background:var(--ih-muted);color:var(--ih-bg)}.chip-count.tone-warn{background:var(--ih-warn-bg);color:var(--ih-warn-fg)}.upload-strip{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;margin-bottom:20px;border:1.5px dashed var(--ih-border-strong);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.drop-zone{flex:2 1 260px;flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:4px 8px;border:1.5px solid transparent;border-radius:var(--ih-radius-md);color:var(--ih-text);font-size:var(--ih-text-base);font-weight:400;cursor:pointer}.drop-zone.over{border-color:var(--ih-accent);background:var(--ih-accent-soft)}.upload-strip:has(>input:focus-visible) .drop-zone{outline:2px solid var(--ih-accent)}.drop-icon{flex:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--ih-accent-soft);color:var(--ih-accent-soft-text)}.drop-text{display:flex;flex-direction:column}.drop-text strong{font-weight:600}.drop-text small{font-size:var(--ih-text-sm);color:var(--ih-muted)}.upload-strip .field{flex:1 1 200px}.upload-list{flex:1 1 100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:var(--ih-text-md)}.upload-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 10px;border-radius:var(--ih-radius-sm);background:var(--ih-surface2)}.upload-list .upload-queued{color:var(--ih-ok-fg)}.upload-list .upload-error{color:var(--ih-danger-fg)}.upload-list .upload-skipped{color:var(--ih-muted)}.jobs-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}.jobs-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:12px}.job-list-box{border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface);overflow-x:auto}.job-list{min-width:740px;background:transparent}.job-list th{padding:10px 16px;border-bottom-color:var(--ih-border)}.job-list td{padding:10px 16px;vertical-align:middle}.job-list tbody tr:last-child td{border-bottom:0}.job-list tr.selected td{background:var(--ih-sel-row)}.job-list .actions-col{text-align:right}.doc-cell,.type-cell{max-width:0;width:34%}.type-cell{width:26%}.doc-cell>*,.type-cell>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-button{min-height:0;max-width:100%;padding:0;border:0;background:none;font-weight:500;text-align:left;justify-content:flex-start}.doc-button:hover:not(:disabled){background:none;text-decoration:underline}.note{margin-top:2px;font-size:var(--ih-text-sm);color:var(--ih-muted)}.note-warn{color:var(--ih-warn-fg)}.note-danger{color:var(--ih-danger-fg)}.type-cell .mono{font-size:var(--ih-text-xs)}.created-cell{white-space:nowrap;font-size:var(--ih-text-md);color:var(--ih-muted)}.job-list .actions-cell{width:1%}.row-actions{position:relative;display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.row-actions>button,.row-actions>a.button,.inline-confirm button,.inline-confirm select{min-height:34px;padding:0 12px;border-radius:7px;font-size:var(--ih-text-md)}.row-actions>.more{flex:none;width:34px;padding:0;border-color:var(--ih-border);color:var(--ih-muted)}.row-actions>.more .icon{stroke-width:3.5}.menu{position:fixed;z-index:20;width:220px;display:flex;flex-direction:column;padding:4px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);background:var(--ih-surface);box-shadow:var(--ih-shadow-card)}.menu>button,.menu>a.button{justify-content:flex-start;min-height:36px;border:0;border-radius:var(--ih-radius-sm);font-weight:400}.menu>a.button:hover{background:var(--ih-surface2)}.inline-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;font-size:var(--ih-text-md)}.list-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:var(--ih-text-md)}.job-panel{flex:1 1 320px;max-width:420px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.job-panel h2{margin:-8px 0 0;font-size:var(--ih-text-xl);word-break:break-all}.job-panel>.pill{margin-top:-8px}.job-panel .callout{flex-direction:column}.progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.progress li{display:flex;align-items:center;gap:10px}.step-icon{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--ih-border-strong);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.step-done .step-icon{border-color:var(--ih-ok-fg);background:var(--ih-ok-fg);color:var(--ih-surface)}.step-done .step-icon:after{content:"✓"}.step-current .step-icon{border-color:var(--ih-info-fg);border-right-color:transparent}.step-wait .step-icon{border-color:var(--ih-warn-fg)}.step-fail .step-icon{border-color:var(--ih-danger-fg);background:var(--ih-danger-fg);color:var(--ih-surface)}.step-fail .step-icon:after{content:"!"}.step-todo .step-label{color:var(--ih-muted)}.step-state{margin-left:auto;font-size:var(--ih-text-sm);color:var(--ih-muted)}.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:var(--ih-text-md)}.meta dt{color:var(--ih-muted)}.meta dd{margin:0;word-break:break-all}.meta .mono{font-size:var(--ih-text-sm)}.outputs{display:flex;flex-direction:column;gap:6px}.outputs h3{margin:0;font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}.outputs a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);color:var(--ih-text);text-decoration:none;font-size:var(--ih-text-sm)}.outputs a .mono{flex:1}.panel-actions{display:flex;flex-wrap:wrap;gap:8px}.panel-actions>a.button,.panel-actions>button{flex:1 1 auto}.panel-actions>:first-child{flex-basis:100%}.job-panel .inline-confirm{justify-content:flex-start}.job-cleanup{padding:12px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);background:var(--ih-surface)}@media(max-width:640px){.job-list{min-width:0}.job-list thead{display:none}.job-list,.job-list tbody{display:block}.job-list tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px;border-bottom:1px solid var(--ih-border-soft)}.job-list tbody tr:last-child{border-bottom:0}.job-list td{display:block;padding:0;border:0;background:none}.job-list tr.selected{background:var(--ih-sel-row)}.job-list tr.selected td{background:none}.job-list .doc-cell{max-width:none;width:auto}.job-list .type-cell,.job-list .created-cell{display:none}.job-list .actions-cell{grid-column:1 / -1}.job-list .row-actions{justify-content:flex-start}.job-panel{max-width:none}}.review{display:flex;flex-direction:column;gap:16px}.review-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.back-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--ih-muted);font-size:var(--ih-text-md);text-decoration:none}.back-link:hover{color:var(--ih-text)}.review-header h1{word-break:break-all}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:4px 0 0;color:var(--ih-muted);font-size:var(--ih-text-md)}.review-meta .mono{font-size:var(--ih-text-sm)}.review-queue{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:var(--ih-text-md)}.why{flex-direction:row;flex-wrap:wrap;gap:4px 24px;padding:14px 16px}.why ul{margin:0;padding-left:18px}.review-panes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.page-viewer,.review-data{min-width:0;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface);overflow:hidden}.page-viewer{flex:1 1 420px}.review-data{flex:1.3 1 480px}@media(min-width:1000px){.page-viewer{position:sticky;top:calc(var(--ih-topbar-h) + 8px)}}.page-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ih-border);font-size:var(--ih-text-md)}.page-hint{margin-left:auto;font-size:var(--ih-text-sm)}button.icon.bordered{width:36px;min-height:36px;border:1px solid var(--ih-border);color:var(--ih-text)}.page-well{display:flex;justify-content:center;padding:24px;background:var(--ih-page-well)}.page-well img{max-width:100%;background:var(--ih-paper);box-shadow:var(--ih-shadow-card)}.data-tabs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 0 0;border-bottom:1px solid var(--ih-border)}.data-tabs [role=tablist]{margin:0;border-bottom:0}.data-tabs [role=tab]{min-height:46px;padding:0 16px}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--ih-radius-pill);background:var(--ih-neutral-bg);color:var(--ih-neutral-fg);font-size:var(--ih-text-xs);font-weight:600}.tab-count.tone-warn{background:var(--ih-warn-bg);color:var(--ih-warn-fg)}.next-flagged{min-height:36px;padding:0 12px;border-color:var(--ih-border);color:var(--ih-warn-fg);font-size:var(--ih-text-md)}.review-data>:not(.data-tabs){margin:12px 16px}.review-data>table.fields-grid{width:calc(100% - 32px)}.fields-grid th,.fields-grid td{vertical-align:top}.fields-grid tbody tr:focus,.fields-grid tr.selected{outline:none;background:var(--ih-sel-row)}.field-name{min-height:0;padding:0;border:0;background:none;flex-direction:column;align-items:flex-start;gap:2px;color:var(--ih-text);font-weight:500;text-align:left}.field-name:hover:not(:disabled){background:none;text-decoration:underline}.fields-grid th[scope=row]{width:30%}.field-name small{white-space:nowrap;font-size:var(--ih-text-xs);font-weight:400;color:var(--ih-muted)}.value.boxed{display:flex;align-items:center;gap:6px}.value-box{flex:1;min-width:0;min-height:36px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);background:var(--ih-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-box.flagged{border:1.5px solid var(--ih-warn-fg)}.value-box.edited{border:1.5px solid var(--ih-info-fg)}.flag-text,.edit-text{display:block;margin-top:4px;font-size:var(--ih-text-sm)}.flag-text{color:var(--ih-warn-fg);font-weight:500}.edit-text{color:var(--ih-info-fg)}.evidence{font-size:var(--ih-text-sm);color:var(--ih-muted)}.evidence q{font-style:italic}td[id^=flag-]:focus{outline:2px solid var(--ih-warn-fg);outline-offset:-2px}.decision-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0;padding:14px 16px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface);box-shadow:var(--ih-shadow-bar)}.decision-bar .reviewer{flex:0 1 200px}.decision-bar .grow{flex:1 1 260px}.decision-bar input{width:100%}.decision-bar p{flex:1 1 100%;margin:0}input.danger-border{border:1.5px solid var(--ih-danger-fg)}@media(max-width:640px){.decision-bar{position:static}}.workbench .muted{color:var(--ih-muted)}.workbench-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ih-border);margin:12px 0 16px}.workbench-tabs a{padding:8px 12px;color:var(--ih-muted);text-decoration:none;border-bottom:2px solid transparent}.workbench-tabs a[aria-current=page]{color:var(--ih-accent);border-bottom-color:var(--ih-accent)}.sample-text section{border:1px solid var(--ih-border-soft);border-radius:var(--ih-radius-md);margin:8px 0;padding:8px 12px;background:var(--ih-surface)}.sample-text pre{white-space:pre-wrap;font-family:var(--ih-font-mono);margin:0}.brief-form label{display:block;margin-top:12px;font-weight:600}.brief-form textarea{width:100%}.toolbar{justify-content:space-between;align-items:center;margin:0 0 16px}.filter-field{flex:0 1 280px}.results-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}.results-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:12px}.results-main>*{align-self:stretch}.results-main>button{align-self:center}.list-box{border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface);overflow-x:auto}.result-list{min-width:720px;background:transparent}.result-list th,.result-list td{padding:12px 16px}.result-list tbody tr:last-child td{border-bottom:0}.result-list tr.selected td{background:var(--ih-sel-row)}.issues-count{color:var(--ih-warn-fg);font-weight:600}.result-list .doc-cell{width:55%}.result-list .type-cell{width:45%}.result-list .doc-cell>*,.result-list .type-cell>*{white-space:normal;overflow-wrap:anywhere}.result-list td:not(.doc-cell):not(.type-cell),.result-list th:not(.doc-cell):not(.type-cell){width:1%;white-space:nowrap}.result-list .row-actions>a.button{min-height:32px}.result-list .row-actions>a.button.icon{width:32px}.result-list a.dl{gap:6px;padding:0 10px;font-family:var(--ih-font-mono);font-size:var(--ih-text-xs)}.table-outputs .doc-button{font-size:var(--ih-text-md)}.result-preview{flex:1 1 320px;max-width:420px;min-width:0;display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.result-preview h2{margin:-8px 0 0;font-size:var(--ih-text-xl);word-break:break-all}.result-preview>p{margin:0;font-size:var(--ih-text-md)}.preview-fields{display:block;border:1px solid var(--ih-border);border-radius:var(--ih-radius-md)}.preview-fields>div{display:grid;grid-template-columns:40% 1fr;gap:12px;padding:9px 12px;border-bottom:1px solid var(--ih-border-soft)}.preview-fields>div:last-child{border-bottom:0}.preview-fields dd{font-weight:500}.preview-table{display:flex;flex-direction:column;gap:6px}.preview-table table{border:1px solid var(--ih-border);border-radius:var(--ih-radius-md);font-size:var(--ih-text-sm)}.preview-table th,.preview-table td{padding:8px 10px}.preview-table p{margin:0;font-size:var(--ih-text-sm)}@media(max-width:640px){.filter-field{flex:1 1 100%}.result-list{min-width:0}.result-list thead{display:none}.result-list,.result-list tbody{display:block}.result-list tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px;border-bottom:1px solid var(--ih-border-soft)}.result-list td,.result-list td:not(.doc-cell):not(.type-cell){display:block;width:auto;max-width:none;padding:0;border:0;background:none}.result-list tr.selected{background:var(--ih-sel-row)}.result-list tr.selected td{background:none}.result-list td:nth-child(3),.result-list td:nth-child(4){display:none}.result-preview{max-width:none}}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}.type-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.type-card-head{display:flex;align-items:flex-start;gap:12px}.type-card-head h2{margin:0;font-size:16px}.type-card-head .mono{font-size:var(--ih-text-sm)}.type-icon{flex:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--ih-accent-soft);color:var(--ih-accent-soft-text)}.pills{display:flex;flex-wrap:wrap;gap:6px}.pills .pill:before{display:none}a.pill{text-decoration:none}.tone-info{background:var(--ih-info-bg);color:var(--ih-info-fg)}.shape-line,.quality{margin:0;font-size:var(--ih-text-md)}.shape-line{margin-bottom:-8px}.quality-warn{color:var(--ih-warn-fg)}.quality-ok{color:var(--ih-ok-fg)}.quality-muted{color:var(--ih-muted)}.card-actions{display:flex;gap:8px;margin-top:auto}.card-actions>.primary{flex:1}label.button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-height:var(--ih-control-h);padding:0 14px;border:1px solid var(--ih-border-strong);border-radius:var(--ih-radius-md);color:var(--ih-text);font-size:var(--ih-text-base);font-weight:500;cursor:pointer}.card-actions:has(input:focus-visible) label.button{outline:2px solid var(--ih-accent)}a.button.icon.bordered{width:var(--ih-control-h);padding:0}.type-card [role=status]{margin:0;font-size:var(--ih-text-sm)}.dialog-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#060c148c}.dialog{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--ih-border);border-radius:14px;background:var(--ih-surface);box-shadow:var(--ih-shadow-card)}.dialog h2{margin:0;font-size:var(--ih-text-xl)}.dialog-form{flex-direction:column;align-items:stretch;margin:0}.dialog-form textarea{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.segmentation-grid td.cell-missing-required,.segmentation-grid td.cell-empty{background:var(--ih-danger-bg);color:var(--ih-danger-fg)}.segmentation-grid td.cell-large,.segmentation-grid td.cell-missing{background:var(--ih-info-bg);color:var(--ih-info-fg)}.segmentation-grid .anchor-errors{background:var(--ih-alert-bg);color:var(--ih-alert-fg);border-radius:var(--ih-radius-md);padding:8px 12px 8px 28px}.section-start{color:var(--ih-accent);font-weight:600}.sections-tab input.mono{width:100%;font-family:var(--ih-font-mono)}.template-editor{display:flex;flex-direction:column;gap:12px}.editor-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.editor-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.editor-title h1{margin:0}.editor-title .pill:before{display:none}.editor-title .muted{font-size:var(--ih-text-md)}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.unsaved{display:inline-flex;align-items:center;gap:8px;margin-right:4px;color:var(--ih-warn-fg);font-size:var(--ih-text-md)}.unsaved .live-dot{background:var(--ih-warn-fg)}.publish-reason{flex:1 1 100%;margin:0;text-align:right;font-size:var(--ih-text-sm);color:var(--ih-alert-fg)}.menu-anchor{position:relative}.menu.menu-down{position:absolute;top:calc(100% + 4px);right:0;width:180px}.delete-confirm{flex:1 1 100%;justify-content:flex-end;padding:10px 12px;border-radius:var(--ih-radius-md);background:var(--ih-danger-bg);color:var(--ih-danger-fg)}.template-editor [role=tablist]{margin:0}.template-editor [role=tab]{min-height:44px;padding:0 14px}.template-editor .tab-count{margin-left:6px}.editor-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}.editor-main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:12px}.pipeline{display:flex;flex-wrap:wrap;gap:12px}.pipeline>.step-card{flex:1 1 100%;min-width:0}.step-card{border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.step-card.open{border-color:var(--ih-accent)}.step-head{display:flex;align-items:center;gap:8px;padding:12px 16px}.step-card.open .step-head{border-bottom:1px solid var(--ih-border)}.step-toggle{flex:1;min-width:0;justify-content:flex-start;gap:12px;padding:0;border:0;background:none;text-align:left}.step-toggle:hover:not(:disabled){background:none}.step-num{flex:none;width:28px;height:28px;border:1px solid var(--ih-border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--ih-text-sm)}.kind-tag{flex:none;padding:2px 8px;border-radius:var(--ih-radius-sm);font-size:var(--ih-text-xs);font-weight:600;letter-spacing:.04em}.step-id{flex:none;font-weight:500}.step-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ih-text-md);font-weight:400}.step-body{min-width:0;margin:0;padding:16px;border:0}button.icon.bordered.danger{color:var(--ih-danger-fg)}button.add{border-style:dashed;border-color:var(--ih-border-strong)}.field-label{font-size:var(--ih-text-sm);font-weight:500;color:var(--ih-muted)}.extract-step .field{display:flex;flex-direction:column;gap:4px}.extract-step .segmented{width:fit-content}.test-rail{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.test-rail h2{margin:0;font-size:var(--ih-text-lg)}.test-rail h3{margin:4px 0 0}.rail-drop{flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border:1.5px dashed var(--ih-border-strong);text-align:center}.rail-drop small{font-size:var(--ih-text-sm);color:var(--ih-muted)}.test-rail:has(input:focus-visible) .rail-drop{outline:2px solid var(--ih-accent)}.test-rail>p{margin:0;font-size:var(--ih-text-sm)}.recent-runs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.recent-runs li{display:flex;align-items:center;justify-content:space-between;gap:8px}.recent-runs li>span{display:flex;flex-direction:column;min-width:0}.recent-runs a{color:var(--ih-text);font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.test-rail{max-width:none}}.access-page{display:flex;flex-direction:column;gap:16px}.access-page .page-header{margin-bottom:0}.access-top{display:flex;flex-wrap:wrap;gap:16px}.card-form{flex:3 1 520px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:0;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.card-form h2{flex:1 1 100%;margin:0;font-size:var(--ih-text-lg)}.card-form>label{flex:1 1 200px}.card-form .field{display:flex;flex-direction:column;gap:4px}.note-card{flex:1 1 260px;display:flex;gap:12px;padding:20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface);color:var(--ih-text)}.note-card>.icon{color:var(--ih-info-fg)}.note-card p{margin:4px 0 0;font-size:var(--ih-text-md);color:var(--ih-muted)}.token-panel{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border:1.5px solid var(--ih-ok-fg);border-radius:var(--ih-radius-lg);background:var(--ih-ok-bg)}.token-panel strong{color:var(--ih-ok-fg)}.token-panel p{margin:4px 0 0;font-size:var(--ih-text-md)}.token-copy{display:flex;flex-wrap:wrap;gap:8px}.token-copy input{flex:1 1 280px;min-width:0;background:var(--ih-surface)}.token-list{min-width:860px;background:transparent}.token-list th,.token-list td{padding:12px 16px}.token-list tbody tr:last-child td{border-bottom:0}.token-label{display:block;font-weight:500}.confirm-text{display:block;margin-top:2px;font-size:var(--ih-text-sm);color:var(--ih-danger-fg)}.tag{padding:2px 8px;border-radius:var(--ih-radius-sm);font-size:var(--ih-text-sm);font-weight:500}.expiry span,.expiry small{display:block}.expiry small{font-size:var(--ih-text-sm);color:var(--ih-muted)}.expiry.soon small{color:var(--ih-warn-fg);font-weight:600}tr.muted-row td{background:var(--ih-surface2)}tr.confirming td{background:var(--ih-danger-bg)}.token-list .actions-cell{width:1%;white-space:nowrap;text-align:right}.token-list .row-actions>button{min-height:34px}.template-editor .sub-tabs{margin:0 0 12px}.template-editor .sub-tabs [role=tab]{min-height:36px;font-size:var(--ih-text-md)}.table-outputs{display:flex;flex-direction:column;gap:12px}.table-outputs>.add{align-self:flex-start}.table-outputs tr.selected td{background:var(--ih-sel-row)}.table-outputs .step-tools{justify-content:flex-end}.table-config{padding:16px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.table-def-names{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.table-def-names>*{flex:1 1 220px}.yaml-editor{border:1px solid var(--ih-border-strong);border-radius:var(--ih-radius-md);overflow:hidden;background:var(--ih-surface)}.yaml-editor .cm-editor{max-height:70vh;font-size:var(--ih-text-sm)}.yaml-editor .cm-editor.cm-focused{outline:2px solid var(--ih-accent);outline-offset:-1px}.yaml-editor .cm-scroller{font-family:var(--ih-font-mono);line-height:1.55}.yaml-editor .cm-content{caret-color:var(--ih-text)}.yaml-editor .cm-cursor{border-left-color:var(--ih-text)}.yaml-editor .cm-gutters{border-right:1px solid var(--ih-border);background:var(--ih-surface2);color:var(--ih-muted)}.yaml-editor .cm-activeLine,.yaml-editor .cm-activeLineGutter{background:var(--ih-accent-soft)}.yaml-editor .cm-selectionBackground,.yaml-editor .cm-focused .cm-selectionBackground{background:var(--ih-accent-soft)!important}.yaml-editor .tok-propertyName{color:var(--ih-accent-soft-text);font-weight:600}.yaml-editor .tok-string{color:var(--ih-ok-fg)}.yaml-editor .tok-number,.yaml-editor .tok-bool,.yaml-editor .tok-null,.yaml-editor .tok-atom{color:var(--ih-warn-fg)}.yaml-editor .tok-comment{color:var(--ih-muted);font-style:italic}.yaml-editor .tok-punctuation,.yaml-editor .tok-separator,.yaml-editor .tok-meta{color:var(--ih-muted)}.yaml-editor .tok-keyword,.yaml-editor .tok-labelName,.yaml-editor .tok-typeName{color:var(--ih-danger-fg)}.yaml-editor .cm-content[aria-readonly=true]{background:var(--ih-surface2)}.s3-keys{display:flex;flex-direction:column;gap:16px;margin-top:8px}.s3-keys>.card-form{flex:none}.s3-keys h2{margin:0;font-size:var(--ih-text-lg)}.s3-keys>div>p{margin:4px 0 0}.s3-consumer{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border:1px solid var(--ih-border);border-radius:var(--ih-radius-lg);background:var(--ih-surface)}.s3-consumer>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.s3-consumer>header.confirming{margin:-8px -12px;padding:8px 12px;border-radius:var(--ih-radius-md);background:var(--ih-danger-bg)}.s3-rotate{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.s3-rotate .field,.s3-fields .field{display:flex;flex-direction:column;gap:4px}.s3-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px 16px}
