@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/sora-latin-ext-600-normal.9d95f760.woff2) format("woff2"),url(/_next/static/media/sora-latin-ext-600-normal.5af66179.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:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/sora-latin-600-normal.8bdc1840.woff2) format("woff2"),url(/_next/static/media/sora-latin-600-normal.2c889c61.woff) format("woff");unicode-range:u+00??,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:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/sora-latin-ext-700-normal.abb10ace.woff2) format("woff2"),url(/_next/static/media/sora-latin-ext-700-normal.6eb04684.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:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/sora-latin-700-normal.a85c9c35.woff2) format("woff2"),url(/_next/static/media/sora-latin-700-normal.7d270064.woff) format("woff");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-400-normal.d35a4c71.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-400-normal.8f6657e5.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/plus-jakarta-sans-vietnamese-400-normal.e61a1889.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-vietnamese-400-normal.fe141d99.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/plus-jakarta-sans-latin-ext-400-normal.19275e39.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-ext-400-normal.dceaf3b3.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/plus-jakarta-sans-latin-400-normal.220db345.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-400-normal.334d3f6b.woff) format("woff");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-600-normal.97e8d498.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-600-normal.861e6b71.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/plus-jakarta-sans-vietnamese-600-normal.aed17cb6.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-vietnamese-600-normal.7f6ebfd7.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/plus-jakarta-sans-latin-ext-600-normal.fc829e3f.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-ext-600-normal.54cda548.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/plus-jakarta-sans-latin-600-normal.226f862d.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-600-normal.2b3be788.woff) format("woff");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-700-normal.0be560bf.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-cyrillic-ext-700-normal.ebec912a.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/plus-jakarta-sans-vietnamese-700-normal.74c6a6ab.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-vietnamese-700-normal.b2776741.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/plus-jakarta-sans-latin-ext-700-normal.550f5207.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-ext-700-normal.489710fb.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/plus-jakarta-sans-latin-700-normal.d84247b5.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-700-normal.2eba9731.woff) format("woff");unicode-range:u+00??,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{--bg:#020504;--surface:#06100E;--surface-2:#0A1A17;--ink:#EAF4F2;--muted:#93B2AD;--line:#12302B;--field-line:#4F7A74;--accent:#19D3C5;--accent-2:#6BE7DC;--accent-ink:#021210;--warn:#f0b429;--bad:#ff7b72;--ok:#3ecf8e;--radius:12px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{background:radial-gradient(1000px 460px at 85% -8%,#0b3a35 0,transparent 62%),var(--bg);background-repeat:no-repeat;background-attachment:fixed;font:15px/1.55 Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.1rem;margin:28px 0 10px}p{margin:0 0 12px}.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.side{border-right:1px solid var(--line);background:var(--surface);padding:20px 14px}.brand{display:flex;align-items:center;gap:10px;margin:0 8px 22px}.brand.stacked{flex-direction:column;text-align:center;margin:0 0 18px;gap:12px}.brand-mark{flex:none;filter:drop-shadow(0 0 8px rgba(25,211,197,.4))}.brand-name{font-weight:800;font-size:1.05rem;line-height:1.1;white-space:nowrap}.brand.stacked .brand-name{font-size:1.5rem}.brand-a{background:linear-gradient(180deg,#ffffff,#aab3bf);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-ia{background:linear-gradient(180deg,var(--accent-2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-tag{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.nav a{display:block;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--ink);background:var(--surface-2)}.nav a[aria-current=page]{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--accent-2)}.main{padding:28px clamp(16px,4vw,40px);max-width:980px;width:100%}.top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}.badge.connected{color:var(--ok);border-color:var(--ok)}.badge.needs_attention{color:var(--bad);border-color:var(--bad)}.badge.pending{color:var(--warn);border-color:var(--warn)}.badge.locked{color:var(--muted)}.btn,button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--field-line);background:var(--surface);color:var(--ink);padding:8px 14px;min-height:40px}button.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:var(--accent-ink);border-color:var(--accent);font-weight:700}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.danger{color:var(--bad)}button:disabled{opacity:.55;cursor:not-allowed}label{display:block;font-weight:600;margin:12px 0 4px;font-size:14px}input,select{font:inherit;width:100%;padding:9px 10px;border-radius:8px;border:1px solid var(--field-line);background:var(--bg);color:var(--ink);min-height:40px}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.alert{border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:8px;padding:10px 12px;margin:12px 0;background:var(--surface)}.alert.bad{border-left-color:var(--bad)}.alert.ok{border-left-color:var(--ok)}.guide{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:12px 0;background:var(--surface)}.guide summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}.guide ol{padding-left:20px;margin:8px 0}.guide li{margin-bottom:8px}textarea{font:inherit;width:100%;padding:9px 10px;border-radius:8px;border:1px solid var(--field-line);background:var(--bg);color:var(--ink);min-height:90px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:20px;min-height:20px;margin-top:3px;flex:none}.num{font-size:1.6rem;font-weight:700}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.badge.approved,.badge.recovered{color:var(--ok);border-color:var(--ok)}.badge.disabled,.badge.paused,.badge.rejected,.badge.stopped{color:var(--bad);border-color:var(--bad)}.badge.draft,.badge.open,.badge.submitted{color:var(--warn);border-color:var(--warn)}.step{display:grid;grid-gap:8px;gap:8px;grid-template-columns:120px 1fr auto;align-items:end;margin-top:8px}@media (max-width:520px){.step{grid-template-columns:1fr}}code{background:var(--bg);border:1px solid var(--line);padding:1px 6px;border-radius:6px;word-break:break-all}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:min(420px,100%);box-shadow:0 0 48px rgba(25,211,197,.14);border-color:#1c4a43}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.nav a{white-space:nowrap}.side{border-right:0;border-bottom:1px solid var(--line);padding:12px}.nav{display:flex;gap:6px;overflow-x:auto}.brand{margin-bottom:8px}}.progress{height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin:8px 0}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.steps{list-style:none;padding:0;margin:16px 0;display:grid;grid-gap:10px;gap:10px}.steps li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.steps .mark{width:28px;height:28px;border-radius:999px;border:2px solid var(--line);display:grid;place-items:center;font-weight:700}.steps .mark.done{border-color:var(--ok);color:var(--ok)}.steps .body{min-width:0;overflow-wrap:anywhere}.btn{text-decoration:none;display:inline-flex;align-items:center}.brand-name,.num,h1,h2{font-family:Sora,Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:-.01em}h1{font-size:1.65rem;font-weight:700}h2{font-weight:600}.side{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:linear-gradient(180deg,var(--surface),var(--bg))}.nav{display:grid;grid-gap:2px;gap:2px}.nav a{display:flex;align-items:center;gap:10px;transition:background .15s,color .15s}.nav a svg{width:18px;height:18px;flex:none;opacity:.85}.nav a[aria-current=page] svg{color:var(--accent-2);opacity:1}.card{background:linear-gradient(160deg,var(--surface-2),var(--surface) 70%);transition:border-color .2s,box-shadow .2s}.grid>.card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 28px rgba(25,211,197,.1)}.badge{background:color-mix(in srgb,currentColor 10%,transparent);font-weight:600}.btn,button{transition:border-color .15s,background .15s,filter .15s}a.btn:hover,button:hover:not(:disabled){border-color:var(--accent)}button.primary{box-shadow:0 0 22px rgba(25,211,197,.25)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-2);outline-offset:1px;border-color:var(--accent)}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}tbody tr:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.num,.steps .mark.done{color:var(--accent-2)}.steps .mark.done{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}@media (max-width:760px){.side{position:static;height:auto}.nav{display:flex;gap:6px}.nav a{border:1px solid var(--line);border-radius:999px;padding:8px 12px}.nav a[aria-current=page]{box-shadow:none;border-color:var(--accent)}}