@font-face{font-family:Unbounded;src:url(/fonts/Unbounded-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/Unbounded-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Helvetica Neue NCG;src:url(/fonts/HelveticaNeue-Roman.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Helvetica Neue NCG;src:url(/fonts/HelveticaNeue-Medium.woff) format("woff");font-weight:500;font-display:swap}:root{color-scheme:dark;--bg: #0a0a0a;--surface: #141414;--surface-2: #1b1b1b;--surface-3: #242424;--border: #2c2c2c;--border-strong: #3a3a3a;--text: #efefef;--text-muted: #9f9f9f;--text-faint: #737373;--text-on-accent: #0a0a0a;--accent: #d6ff30;--accent-hover: #e2ff6b;--accent-soft: rgba(214, 255, 48, .12);--danger: #ff6b5e;--danger-soft: rgba(255, 107, 94, .12);--warning: #ffc53d;--warning-soft: rgba(255, 197, 61, .12);--success: #7ee787;--success-soft: rgba(126, 231, 135, .12);--highlight: #fff23a;--highlight-text: #111111;--backdrop: rgba(0, 0, 0, .65);--light: #f1f1f1;--light-2: #efefef;--font-display: "Unbounded", "Arial Black", system-ui, sans-serif;--font-text: "Helvetica Neue NCG", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-s: 10px;--radius-m: 15px;--radius-l: 20px;--shadow: 0 12px 40px rgba(0, 0, 0, .45);--focus: 0 0 0 3px rgba(214, 255, 48, .35)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.2}h1{font-size:28px}h2{font-size:20px}h3,.h3{font-size:16px}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}mark{background:var(--highlight);color:var(--highlight-text);border-radius:3px;padding:0 2px;white-space:pre-wrap}.muted{color:var(--text-muted)}.small{font-size:13px}.mono{font-family:var(--font-mono);font-size:13px}.nowrap{white-space:nowrap}.accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.req{color:var(--accent);margin-left:2px}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;height:64px;padding:0 32px;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;color:var(--text)}.brand:hover{color:var(--text)}.brand-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-s);background:var(--light);overflow:hidden}.brand-logo img{width:30px;height:30px;object-fit:contain}.brand-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.nav{display:flex;gap:4px;flex:1}.nav-link{padding:8px 14px;border-radius:999px;color:var(--text-muted);font-size:14px;white-space:nowrap}.nav-link:hover{color:var(--text);background:var(--surface-3)}.nav-link-active,.nav-link-active:hover{background:var(--accent);color:var(--text-on-accent)}.header-user{display:flex;align-items:center;gap:12px}.user-name{background:none;border:0;color:var(--text-muted);font:inherit;font-size:14px;cursor:pointer;padding:6px 8px;border-radius:var(--radius-s)}.user-name:hover{color:var(--text);background:var(--surface-3)}.page{max-width:1200px;margin:0 auto;padding:40px 32px 64px}.page-wide{max-width:1480px}.page-narrow{max-width:960px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head-text{display:flex;flex-direction:column;gap:8px;min-width:0}.page-desc{color:var(--text-muted)}.page-head-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.eyebrow{color:var(--text-faint);font-size:13px}.badges-line{display:flex;align-items:center;gap:12px}.back-link{display:inline-block;margin-bottom:20px;color:var(--text-muted);font-size:14px}.back-link:hover{color:var(--text)}.empty{padding:56px 16px;text-align:center;color:var(--text-muted)}.empty-small{padding:24px 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-s);border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn:hover{border-color:var(--text-faint);color:var(--text)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.tab:focus-visible,.segment:focus-visible,.chip:focus-visible,.icon-btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-3);border-color:transparent;color:var(--text)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:48px;padding:0 24px;font-size:15px}.btn-block{width:100%}.icon-btn{width:32px;height:32px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:default}.input{width:100%;height:42px;padding:0 14px;border-radius:var(--radius-s);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}.input-invalid,.input-invalid:focus{border-color:var(--danger)}.input.mono{font-size:14px}.textarea{height:auto;min-height:84px;padding:10px 14px;resize:vertical}select.input{padding-right:32px}.input-file{padding:8px 14px;height:auto}.input-with-button{display:flex;gap:8px}.input-with-button .input{flex:1;min-width:0}.form-row{display:flex;flex-direction:column;gap:6px;min-width:0}.form-label-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.form-label{color:var(--text-muted);font-size:13px}.field-error{color:var(--danger);font-size:12px}.field-hint{color:var(--text-faint);font-size:12px}.help-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:0;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;cursor:pointer;padding:0}.help-box{flex-basis:100%;padding:10px 12px;border-radius:var(--radius-s);background:var(--accent-soft);color:var(--text);font-size:13px}.checkbox{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.form-stack{display:flex;flex-direction:column;gap:16px}.form-stack h3{margin-top:4px}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-l);padding:24px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-head-actions{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;white-space:nowrap;background:var(--surface-3);color:var(--text-muted)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.progress-info .badge{margin-left:12px}.table-card{padding:8px 16px;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;padding:14px 12px;color:var(--text-faint);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.table td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-link{color:var(--accent)}.table-actions{display:flex;gap:8px;justify-content:flex-end}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.tab{padding:8px 16px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab-active{background:var(--surface-3);color:var(--text)}.segments{display:flex;gap:4px;padding:4px;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border)}.segment{flex:1;min-height:40px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.segment:hover{color:var(--text)}.segment-active,.segment-active:hover{background:var(--accent);color:var(--text-on-accent);font-weight:500}.progress{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.chip:hover{color:var(--text);border-color:var(--text-faint)}.spinner{display:inline-block;width:22px;height:22px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--accent);animation:spin .8s linear infinite}.btn .spinner{width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px 16px;background:var(--backdrop);overflow-y:auto}.modal{width:560px;max-width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:28px}.modal-wide{width:760px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.modal-close{border:0;background:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-foot{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.credentials{padding:16px;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border-strong);display:flex;flex-direction:column;gap:6px}.toasts{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:min(440px,calc(100vw - 48px))}.toast{padding:14px 18px;border-radius:var(--radius-s);background:var(--surface-3);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:14px}.toast-success{border-color:var(--success)}.toast-danger{border-color:var(--danger)}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:56px 60px;background:var(--surface);border-right:1px solid var(--border);overflow:hidden}.login-hero:after{content:"";position:absolute;left:-200px;bottom:-260px;width:640px;height:480px;background:radial-gradient(closest-side,var(--accent-soft),transparent);pointer-events:none}.hero-title{font-size:44px;font-weight:700;line-height:1.15;max-width:560px}.hero-text{margin-top:24px;color:var(--text-muted);max-width:460px}.hero-foot{color:var(--text-faint);font-size:13px}.login-side{display:grid;place-items:center;padding:40px 32px}.login-form{width:100%;max-width:410px;display:flex;flex-direction:column;gap:16px}.login-form .muted{margin-top:-8px;margin-bottom:8px}.catalog-group{margin-bottom:40px}.catalog-category{color:var(--text-muted);margin-bottom:16px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.doc-card{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--radius-l);background:var(--surface-2);border:1px solid var(--border);color:var(--text);transition:border-color .15s,transform .15s}.doc-card:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text)}.doc-card h3{font-size:16px}.doc-form{display:flex;flex-direction:column;gap:20px}.form-card{display:flex;flex-direction:column;gap:16px}.form-card-compact{padding:16px;background:var(--surface)}.form-group-title{font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.form-grid-single{grid-template-columns:1fr}.form-grid-wide{grid-column:1 / -1}.table-input{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.table-input-scroll{width:100%;overflow-x:auto}.table-input-grid td{padding:6px;vertical-align:top}.table-input-grid th{padding:6px}.table-input-grid .input{min-width:120px}.table-input-num{width:36px;text-align:center}.table-input-grid td.table-input-num,.table-input-grid td:last-child{padding-top:16px}.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.progress-card{display:flex;align-items:center;gap:24px;margin-bottom:24px}.progress-info{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.progress-actions{display:flex;gap:12px}.editor{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:24px;align-items:start}.editor-list{display:flex;flex-direction:column;gap:10px}.editor-list>.tabs{align-self:flex-start;margin-bottom:4px}.editor-panel{position:sticky;top:88px;max-height:calc(100vh - 112px);overflow-y:auto;display:flex;flex-direction:column;gap:20px}.editor-panel>.tabs{align-self:flex-start}.fragment-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:16px 18px;text-align:left;border-radius:var(--radius-m);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--warning);color:var(--text);font:inherit;cursor:pointer}.fragment-card:hover{background:var(--surface-3)}.fragment-done{border-left-color:var(--success)}.fragment-selected{border-color:var(--accent);border-left-color:var(--accent)}.fragment-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.fragment-row{margin-left:12px}.fragment-text{white-space:pre-wrap;word-break:break-word}.fragment-preview{color:var(--success);font-size:14px;white-space:pre-wrap;word-break:break-word}.panel-section{display:flex;flex-direction:column;gap:14px}.panel-section>.btn-primary{align-self:flex-start}.panel-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.fragment-box{padding:14px 16px;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border)}.binding{display:flex;flex-direction:column;gap:8px}.binding .segments{flex-wrap:wrap}.blank-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-m);border:1px solid var(--border)}.result-box{padding:14px 16px;border-radius:var(--radius-s);background:var(--success-soft);color:var(--text);white-space:pre-wrap;word-break:break-word}.result-box .small{color:var(--text-muted);margin-bottom:4px}.field-item{display:flex;align-items:center;gap:8px;padding:12px 8px 12px 16px;border-radius:var(--radius-m);border:1px solid var(--border)}.field-item-unused{border-color:var(--warning)}.field-item-wrap{display:flex;flex-direction:column;gap:6px}.field-columns{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-left:20px;padding-left:12px;border-left:2px solid var(--border)}.field-columns .field-item{align-self:stretch}.field-item-main{flex:1;min-width:0;text-align:left;background:none;border:0;color:var(--text);font:inherit;cursor:pointer;padding:0}.field-item-actions{display:flex}.danger-zone{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}@media (max-width: 1000px){.editor{grid-template-columns:1fr}.editor-panel{position:static;max-height:none}.header{gap:16px;padding:0 16px;overflow-x:auto}}@media (max-width: 860px){.login{grid-template-columns:1fr}.login-hero{display:none}.page-head{flex-direction:column;align-items:stretch}.page-head-actions{justify-content:flex-start}.progress-card{flex-direction:column;align-items:stretch}}@media (max-width: 720px){.page{padding:24px 16px 48px}.form-grid{grid-template-columns:1fr}.brand-name{display:none}.card-head{flex-direction:column}}
