@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-cyrillic-ext-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-ext-400-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-cyrillic-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-400-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-greek-ext-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-ext-400-normal.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-greek-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-400-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-vietnamese-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-vietnamese-400-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-latin-ext-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-ext-400-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/static/dist/assets/source-sans-3-latin-400-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-400-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-cyrillic-ext-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-ext-600-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-cyrillic-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-600-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-greek-ext-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-ext-600-normal.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-greek-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-600-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-vietnamese-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-vietnamese-600-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-latin-ext-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-ext-600-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/static/dist/assets/source-sans-3-latin-600-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-600-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-cyrillic-ext-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-ext-700-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-cyrillic-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-cyrillic-700-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-greek-ext-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-ext-700-normal.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-greek-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-greek-700-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-vietnamese-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-vietnamese-700-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-latin-ext-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-ext-700-normal.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/static/dist/assets/source-sans-3-latin-700-normal.woff2) format("woff2"),url(/static/dist/assets/source-sans-3-latin-700-normal.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(/static/dist/assets/ibm-plex-mono-cyrillic-ext-400-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-cyrillic-ext-400-normal.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(/static/dist/assets/ibm-plex-mono-cyrillic-400-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-cyrillic-400-normal.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(/static/dist/assets/ibm-plex-mono-vietnamese-400-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-vietnamese-400-normal.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(/static/dist/assets/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-latin-ext-400-normal.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(/static/dist/assets/ibm-plex-mono-latin-400-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-latin-400-normal.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(/static/dist/assets/ibm-plex-mono-cyrillic-ext-500-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-cyrillic-ext-500-normal.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(/static/dist/assets/ibm-plex-mono-cyrillic-500-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-cyrillic-500-normal.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(/static/dist/assets/ibm-plex-mono-vietnamese-500-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-vietnamese-500-normal.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(/static/dist/assets/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-latin-ext-500-normal.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(/static/dist/assets/ibm-plex-mono-latin-500-normal.woff2) format("woff2"),url(/static/dist/assets/ibm-plex-mono-latin-500-normal.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{--rodin-primary: #0da0a9;--rodin-primary-bright: #0fb4be;--rodin-primary-hover: #0da0a9;--rodin-light: #f9fafa;--rodin-soft-bg: #f8f9fb;--rodin-text: #333333;--rodin-ink: #111827;--rodin-muted: #8a8a8a;--rodin-gray: #74808b;--rodin-border: #ededed;--rodin-dark: #1f272e;--rodin-dark-2: #36414c;--rodin-dark-3: #313b44;--rodin-success: #38a160;--rodin-danger: #dc3545;--rodin-blue: #0066ff;--rodin-warning: #b54708;--rodin-warning-bg: #fff4e5;--accent: var(--rodin-primary);--accent-bright: var(--rodin-primary-bright);--bg: var(--rodin-soft-bg);--surface: #ffffff;--ink: var(--rodin-ink);--muted: var(--rodin-gray);--border: var(--rodin-border);--danger: var(--rodin-danger);--ok: var(--rodin-success);--shell: var(--rodin-dark);--shell-2: var(--rodin-dark-2);--font: "Source Sans 3", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", "Consolas", monospace;--radius: 8px;--radius-sm: 4px;--shadow: 0 1px 2px rgba(31, 39, 46, .06), 0 8px 24px rgba(31, 39, 46, .04);--shadow-lg: 0 12px 40px rgba(31, 39, 46, .12);--sidebar-w: 240px;--topbar-h: 56px;--ease: cubic-bezier(.22, 1, .36, 1);--motion: .28s;--content-max: 1280px;--form-max: 720px}@media(prefers-reduced-motion:reduce){:root{--motion: 0ms}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);min-height:100vh;line-height:1.45;-webkit-font-smoothing:antialiased}body.app-body{display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-bright)}h1,h2,h3{margin-top:0;color:var(--ink);letter-spacing:-.01em}h1{font-size:1.65rem;font-weight:700}h2{font-size:1.2rem;font-weight:700}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.85rem}.error{color:var(--danger)}.ok{color:var(--ok)}img,svg{display:block;max-width:100%}::selection{background:#0da0a92e}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:linear-gradient(180deg,var(--shell) 0%,#171d23 100%);color:#e8eef2;display:flex;flex-direction:column;z-index:40;transform:translate(0);transition:transform var(--motion) var(--ease)}.sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:1.15rem 1.1rem;color:#fff!important;font-weight:700;font-size:1.05rem;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand .brand-mark{width:2rem;height:2rem;border-radius:8px;background:linear-gradient(135deg,var(--accent-bright),var(--accent));display:grid;place-items:center;flex-shrink:0}.sidebar-brand .brand-mark svg{width:1.1rem;height:1.1rem;stroke:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .65rem;flex:1;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:6px;color:#e8eef2c7!important;font-weight:600;font-size:.92rem;transition:background var(--motion) var(--ease),color var(--motion) var(--ease)}.nav-link svg{width:1.1rem;height:1.1rem;opacity:.85;flex-shrink:0}.nav-link:hover{background:#ffffff0f;color:#fff!important}.nav-link.is-active{background:#0da0a938;color:#fff!important;box-shadow:inset 3px 0 0 var(--accent-bright)}.nav-link.is-active svg{opacity:1;stroke:var(--accent-bright)}.sidebar-foot{padding:.85rem 1rem 1.1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:#e8eef28c;line-height:1.5;font-family:var(--mono)}.shell-main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar-mobile{display:none;align-items:center;gap:.75rem;height:var(--topbar-h);padding:0 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.menu-toggle{width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:grid;place-items:center;cursor:pointer;padding:0}.menu-toggle svg{width:1.15rem;height:1.15rem;stroke:var(--ink)}.topbar-mobile .brand-inline{font-weight:700;color:var(--ink)}.page-frame{width:min(var(--content-max),calc(100% - 2.5rem));margin:1.35rem auto 2rem;flex:1}.page-frame.frame-narrow{width:min(var(--form-max),calc(100% - 2.5rem))}.page-frame.frame-login{width:100%;margin:0;max-width:none}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-header h1{margin-bottom:.2rem}.page-header .page-sub{margin:0;color:var(--muted);font-size:.95rem}.page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;z-index:35;opacity:0;pointer-events:none;transition:opacity var(--motion) var(--ease)}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}body.nav-open .sidebar{transform:translate(0)}@media(max-width:900px){.sidebar{transform:translate(-105%)}body.nav-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block}.shell-main{margin-left:0}.topbar-mobile{display:flex}.page-frame{width:min(100% - 1.5rem,var(--content-max))}}body.login-body{min-height:100vh;background:radial-gradient(ellipse at 0% 0%,rgba(15,180,190,.22) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(13,160,169,.12) 0%,transparent 45%),linear-gradient(160deg,#1f272e,#171d23 55%,#0f1419)}body.login-body .shell-main{margin-left:0}body.login-body .page-frame{display:grid;place-items:center;min-height:100vh;margin:0;width:100%;padding:1.5rem}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;font:inherit;font-weight:600;font-size:.92rem;padding:.55rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;transition:transform var(--motion) var(--ease),filter var(--motion) var(--ease),background var(--motion) var(--ease)}button:hover,.btn:hover{filter:brightness(1.06);color:#fff}button:active,.btn:active{transform:scale(.98)}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary,button.btn-secondary,a.btn-secondary{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--border)}.btn-secondary:hover,button.btn-secondary:hover,a.btn-secondary:hover{background:var(--rodin-light)!important;color:var(--ink)!important;filter:none}button.danger,.btn-danger,.danger{background:var(--danger);color:#fff}.btn-kill{background:var(--danger);color:#fff;border:none;padding:.4rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer}.btn-danger-solid{background:var(--danger);color:#fff;border:1px solid #c0392b;padding:.45rem .9rem;border-radius:var(--radius-sm);font-weight:700;font-size:.88rem;cursor:pointer;box-shadow:0 1px #0000000f}.btn-danger-solid:hover{filter:brightness(.95)}.btn-danger-ghost{display:inline-flex;align-items:center;background:#fff;color:var(--danger);border:1px solid #f3b6b0;padding:.4rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer}.btn-danger-ghost:hover{background:#fdf2f1}.btn-danger-outline{background:#fff;color:var(--danger);border:1px solid var(--danger);padding:.4rem .75rem;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem;cursor:pointer;width:100%}.btn-danger-outline:hover{background:var(--danger);color:#fff}.btn-quiet-danger{background:transparent;color:var(--danger);border:1px solid #f3b6b0;padding:.3rem .55rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer}.link-danger{background:transparent;color:var(--danger);border:none;padding:0;cursor:pointer;width:auto;font-weight:600}.btn-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-weight:600;text-decoration:none;background:none;border:none;padding:0;width:auto}label{display:block;margin-bottom:.85rem;font-size:.92rem;font-weight:600;color:var(--ink)}input,select,textarea{font:inherit;font-weight:400;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;margin-top:.35rem;background:#fff;color:var(--ink);transition:border-color var(--motion) var(--ease),box-shadow var(--motion) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0da0a926}.check{display:flex;align-items:center;gap:.5rem;font-weight:500;margin-bottom:.5rem}.check input{width:auto;margin:0;accent-color:var(--accent)}.inline-input{width:10rem;margin:0 0 0 .5rem;flex:1;min-width:8rem}.stack{display:flex;flex-direction:column;gap:.35rem;max-width:var(--form-max)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.inline{display:inline}.inline button{width:auto;margin-left:.35rem}fieldset.section,fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;margin:0 0 1rem;background:var(--surface)}fieldset legend{font-weight:700;padding:0 .35rem;color:var(--ink)}.panel,.panel-block,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow)}.panel{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.35rem;transition:transform var(--motion) var(--ease),box-shadow var(--motion) var(--ease)}.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:inherit}.panel strong{font-size:1.75rem;color:var(--accent)}.panel .panel-label{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:600;font-size:.88rem}.panel-block{margin-bottom:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}table,.data-table{width:100%;border-collapse:collapse;background:var(--surface)}.data-table{min-width:720px}th,td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;background:var(--rodin-light);position:sticky;top:0}.actions{white-space:nowrap}.data-table th:last-child,.data-table td.actions{width:1%;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;background:#e8eef2;color:var(--ink)}.badge.success{background:#dcfae6;color:var(--ok)}.badge.failed{background:#fce8e6;color:var(--danger)}.badge.running,.badge.pending{background:var(--rodin-warning-bg);color:var(--rodin-warning)}.badge.live-badge{padding:.35rem .7rem;font-size:.88rem}.pulse-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--rodin-warning);box-shadow:0 0 #b5470873;animation:pulse-dot 1.4s ease-out infinite;flex-shrink:0}@keyframes pulse-dot{0%{box-shadow:0 0 #b5470873}70%{box-shadow:0 0 0 8px #b5470800}to{box-shadow:0 0 #b5470800}}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-flex;align-items:center;background:#0da0a91a;color:#0a6e75;border:1px solid rgba(13,160,169,.25);border-radius:var(--radius-sm);padding:.15rem .45rem;font-size:.8rem;font-weight:600;line-height:1.3}.chip-branch{background:#f3eee8;border-color:#e2d4c4;color:#5c3d1e;gap:.35rem;font-family:var(--mono);font-weight:500}.chip-branch .chip-k{opacity:.75}.chip-branch .chip-v{font-weight:700}.chip-site{background:#eef1f6;border-color:#d0d7e2;color:#2c3a4d}.chip-op{background:#0fb4be1a;border-color:#0fb4be4d;color:#0a6e75}.plan-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.plan-value{font-size:.95rem;line-height:1.35}.plan-value.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.plan-summary{margin-top:.25rem}.plan-grid{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:.85rem 1.25rem}.plan-field--wide{grid-column:1 / -1}.plan-summary--compact .plan-grid{grid-template-columns:1fr 1fr}.plan-summary--compact .plan-field--wide{grid-column:1 / -1}.banner,.toast{display:flex;align-items:flex-start;gap:.65rem;background:var(--rodin-warning-bg);border:1px solid #f5d0a8;padding:.75rem .95rem;border-radius:var(--radius);margin:0 0 1rem;font-size:.95rem}.error.banner,.toast-error{background:#fce8e6;border-color:#f3b6b0;color:#9b1c1c}.ok.banner,.toast-ok{background:#dcfae6;border-color:#abefc6;color:#067647}.parallel-banner{align-items:flex-start;gap:.75rem}.parallel-banner .pulse-dot{margin-top:.35rem}.busy-list{margin:.45rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.busy-list li{margin:0;font-size:.92rem}.toast-host{position:relative}.live-strip{display:flex;align-items:flex-start;gap:.65rem;background:#38a1601a;border:1px solid rgba(56,161,96,.35);color:#1b4332;padding:.75rem .9rem;border-radius:var(--radius);margin:0 0 1rem;font-size:.95rem;line-height:1.45}.live-strip .pulse-dot{background:var(--ok);animation-name:pulse-dot-ok;margin-top:.35rem}@keyframes pulse-dot-ok{0%{box-shadow:0 0 #38a16066}70%{box-shadow:0 0 0 8px #38a16000}to{box-shadow:0 0 #38a16000}}.live-strip.live-quiet{background:var(--rodin-warning-bg);border-color:#f0d9a8;color:#7a4e00}.live-strip.live-quiet .pulse-dot{background:var(--rodin-warning);animation-name:pulse-dot}.live-strip.live-warn{background:#fce8e6;border-color:#f3b6b0;color:#9b1c1c}.live-strip.live-warn .pulse-dot{background:var(--danger);animation:none}.live-strip.live-done{background:#e8eef2;border-color:#c5d0d8;color:#334}.live-strip.live-done .pulse-dot{display:none}.live-strip-body{flex:1;min-width:0}.live-sep{opacity:.55;margin:0 .15rem}.flag{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#e8eef2;color:#445}.flag-upcoming{background:#0da0a929;color:#0a6e75}.flag-recurring{background:#0da0a947;color:#086066}.flag-running{background:var(--rodin-warning-bg);color:var(--rodin-warning)}.flag-past{background:#e8eef2;color:#5a6772}.flag-paused{background:#f0ebe3;color:#7a6550}.flag-manual{background:#ede7f6;color:#5e35b1}.flag-done{background:#dcfae6;color:var(--ok)}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:#0da0a91f;color:var(--accent);font-size:.8rem;font-weight:700}.search-bar{margin:0 0 1.25rem;align-items:flex-end;gap:.75rem}.search-label{flex:1;max-width:420px;margin-bottom:0}.search-label input{width:100%}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.icon{width:1.1rem;height:1.1rem;stroke-width:2}.repeat-builder{margin:.25rem 0 1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:#f7fafb}.repeat-modes{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .85rem}.repeat-mode{display:inline-flex;align-items:center;margin:0;cursor:pointer;font-weight:600}.repeat-mode input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}.repeat-mode span{display:inline-block;padding:.4rem .75rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink);font-size:.88rem;transition:border-color var(--motion) var(--ease),background var(--motion) var(--ease),color var(--motion) var(--ease)}.repeat-mode input:checked+span{background:#0da0a924;border-color:var(--accent);color:#0a6e75}.repeat-mode input:focus-visible+span{box-shadow:0 0 0 3px #0da0a933}.repeat-row{margin-bottom:.75rem}.repeat-time-label{max-width:14rem;margin-bottom:0}.repeat-time-label input[type=time]{max-width:10rem}.repeat-days-wrap{margin-bottom:.75rem}.day-toggles{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.day-toggle{display:inline-flex;margin:0;cursor:pointer;font-weight:700}.day-toggle input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}.day-toggle span{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:.85rem;color:var(--ink)}.day-toggle input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.day-toggle input:focus-visible+span{box-shadow:0 0 0 3px #0da0a933}.repeat-preview{margin:.35rem 0 0;font-size:.92rem;font-weight:600;color:#0a6e75}.client-chosen{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.client-chosen-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.bench-line{margin:0 0 1rem}.client-picker{margin:0 0 1.25rem}.client-filter-label{display:block;margin-bottom:.65rem;font-weight:600}.client-filter-label input{margin-top:.35rem}.client-pick-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-height:18rem;overflow-y:auto;background:var(--surface)}.client-pick-item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem .9rem;text-decoration:none;color:inherit;border-bottom:1px solid var(--border);background:#fff}.client-pick-item:last-child{border-bottom:none}.client-pick-item:hover{background:#0da0a914}.client-pick-name{font-weight:700;color:var(--ink)}.client-pick-meta{font-size:.85rem;color:var(--muted)}.client-pick-hint,.empty-pick{margin:.5rem 0 0;padding:.5rem 0}@media(max-width:700px){.grid-3,.plan-grid,.plan-summary--compact .plan-grid{grid-template-columns:1fr}}.login-card{width:min(400px,100%);background:var(--surface);padding:2rem 1.85rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg)}.login-card h1{margin-bottom:.25rem;color:var(--accent)}.login-card .btn,.login-card button[type=submit]{width:100%;margin-top:.5rem;padding:.7rem 1rem}.browse-box{max-width:640px}.path-line{display:flex;flex-direction:column;gap:.35rem;margin:0 0 .75rem}.path-value{display:block;font-family:var(--mono);font-size:.9rem;word-break:break-all;background:var(--rodin-light);padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.dir-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:280px;overflow:auto;background:var(--surface)}.dir-item{background:transparent;color:var(--ink);border:none;border-bottom:1px solid var(--border);border-radius:0;text-align:left;width:100%;padding:.55rem .65rem;display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.dir-item:hover{background:#0da0a914}.dir-item:last-child{border-bottom:none}.dir-up{color:var(--accent);font-weight:600}.app-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(10rem,1.2fr);gap:.65rem 1rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border)}.app-row:last-of-type{border-bottom:none}.app-row .check{margin:0}.app-row .branch-field{margin:0;font-weight:500;font-size:.85rem;color:var(--muted)}.app-row .branch-field input{margin-top:.25rem;width:100%}.form-sticky-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:.65rem;padding:.85rem 0;margin-top:.5rem;background:linear-gradient(180deg,transparent,var(--bg) 28%);z-index:5}.schedule-section{margin-bottom:2rem}.schedule-section h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .35rem}.section-hint{margin:0 0 .75rem}.schedule-table{font-size:.92rem}.schedule-table th{white-space:nowrap}.wrap-cell{max-width:14rem;word-break:break-word;font-size:.88rem}.sched-list{display:flex;flex-direction:column;gap:.85rem}.sched-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--border);padding:.9rem 1.1rem .95rem;box-shadow:var(--shadow)}.sched-card--upcoming,.sched-card--recurring{border-left-color:var(--accent)}.sched-card--running{border-left-color:var(--rodin-warning);background:linear-gradient(90deg,rgba(181,71,8,.06),var(--surface) 40%)}.sched-card--past,.sched-card--paused{border-left-color:#9aa8b3}.sched-card--manual{border-left-color:#7c5cbf}.sched-card--done{border-left-color:var(--ok)}.sched-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}.sched-card-title{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0}.sched-name{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.sched-client{color:var(--muted);font-weight:600;font-size:.9rem}.sched-when{color:var(--muted);font-size:.85rem;white-space:nowrap}.sched-card-body{display:flex;flex-direction:column;gap:.65rem}.sched-field{min-width:0}.sched-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.sched-meta-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(6rem,.6fr);gap:.75rem 1rem;align-items:start}.sched-field--sm .mono{font-size:.88rem}.sched-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border)}.chip-row--tight{gap:.28rem}.chip-row--tight .chip{font-size:.78rem;padding:.1rem .4rem}.count-pill--running{background:var(--rodin-warning-bg);color:var(--rodin-warning)}@media(max-width:800px){.sched-meta-row{grid-template-columns:1fr}}.run-list{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.run-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem 1.1rem;border-left:4px solid var(--border);box-shadow:var(--shadow)}.run-card.status-running,.run-card.status-pending{border-left-color:var(--rodin-warning)}.run-card.status-success{border-left-color:var(--ok)}.run-card.status-failed{border-left-color:var(--danger)}.run-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.run-card-title{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.run-id{font-size:1.15rem;font-weight:700;color:var(--ink);text-decoration:none}.run-id:hover{color:var(--accent)}.run-card-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.run-card-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1.25rem;margin-bottom:.9rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.run-plan-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem;margin:0 0 1rem;box-shadow:var(--shadow)}.run-plan-heading{margin:0 0 .75rem;font-size:1rem}.cmd-details{margin:0 0 .75rem;font-size:.9rem;color:var(--muted)}.cmd-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:.4rem}.cmd-panel{margin:0 0 .75rem}.cmd-heading{margin:0 0 .45rem;font-size:.95rem;font-weight:700;color:var(--ink)}.cmd{background:transparent;color:#d7e2ea;padding:.75rem 1rem;display:block;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;margin:0;font-family:var(--mono);font-size:.85rem}.cmd-wrap{background:var(--shell);border-radius:var(--radius);overflow:hidden;margin-bottom:.5rem}.log-view{background:#0f1620;color:#c8d6e0;padding:1rem;height:min(65vh,720px);overflow:auto;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:0;border-radius:var(--radius);overscroll-behavior:contain;scrollbar-width:thin;font-family:var(--mono);font-size:.85rem}.log-toolbar{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0}.run-page{max-width:100%}.run-header-actions{align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.run-advanced{font-size:.85rem;color:var(--muted)}.run-advanced summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.run-advanced summary::-webkit-details-marker{display:none}.run-advanced summary:before{content:"▸ ";opacity:.7}.run-advanced[open] summary:before{content:"▾ "}.run-advanced form{margin-top:.4rem}.run-danger-menu{position:relative}.run-danger-menu>summary{list-style:none;cursor:pointer}.run-danger-menu>summary::-webkit-details-marker{display:none}.run-danger-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;width:min(22rem,90vw);padding:.85rem 1rem;background:var(--surface);border:1px solid #f3b6b0;border-radius:var(--radius);box-shadow:var(--shadow)}.run-danger-copy{margin:0 0 .75rem;font-size:.85rem;color:var(--muted);font-weight:400;line-height:1.4}.settings-grid{display:grid;gap:1.25rem}.meta{display:grid;grid-template-columns:10rem 1fr;gap:.35rem 1rem}.meta dt{color:var(--muted)}.meta dd{margin:0;font-family:var(--mono);font-size:.9rem}.page-enter{opacity:0;transform:translateY(8px)}.stagger-item{opacity:0;transform:translateY(10px)}@media(max-width:700px){.run-card-meta,.app-row{grid-template-columns:1fr}.log-view{height:55vh}}
