@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--c-bg:#fff;--c-surface:#fff;--c-surface-2:#f6f9fb;--c-surface-3:#eef2f6;--c-text:#192550;--c-text-strong:#2e3656;--c-text-muted:#4b5168;--c-text-on-primary:#fff;--c-primary:#384987;--c-primary-hover:#2b3a6e;--c-primary-soft:#eef1f8;--c-primary-softer:#f5f7fb;--c-accent:#fa6141;--c-border:#eaeff2;--c-border-strong:#c9d1db;--c-divider:#eef2f5;--c-placeholder:#a7b0bf;--c-success:#17663f;--c-success-bg:#e2f2e8;--c-success-border:#a9d8bc;--c-warning:#7a4a00;--c-warning-strong:#5c3800;--c-warning-bg:#fcefd6;--c-warning-border:#e9c98a;--c-warning-dot:#d9a21b;--c-danger:#8e1f27;--c-danger-strong:#a3262e;--c-danger-bg:#fae5e6;--c-danger-border:#e9b3b7;--c-neutral-bg:#eef2f5;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-card:0 8px 24px #4b51680f;--shadow-pop:0 16px 32px #4b516829;--focus-ring:0 0 0 3px #38498747;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--sidebar-width:248px;--mobile-width:480px;--control-height:42px;--touch-height:48px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.45}h1,h2,h3,h4{color:var(--c-text);margin:0;font-weight:700;line-height:1.25}h1{font-size:28px}h2{font-size:17px}h3{font-size:15px}p{margin:0}a{color:var(--c-primary)}a:hover{color:var(--c-primary-hover)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}.mono{font-family:var(--font-mono)}.muted{color:var(--c-text-muted)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:600}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,12px);display:flex}.row-wrap{align-items:center;gap:var(--gap,10px);flex-wrap:wrap;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:auto;min-width:0}.grid-auto{grid-template-columns:repeat(auto-fit, minmax(var(--min,220px), 1fr));gap:var(--gap,14px 16px);display:grid}.columns{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.columns>.main{flex:999 520px;min-width:0}.columns>.aside{flex:320px;min-width:0}.btn{min-height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);text-align:center;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--c-surface-2);color:var(--c-text)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-text-on-primary)}.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-text-on-primary)}.btn-danger{color:var(--c-danger);border-color:var(--c-danger-border)}.btn-danger:hover{background:var(--c-danger-bg);color:var(--c-danger)}.btn-danger-solid{background:var(--c-danger-strong);border-color:var(--c-danger-strong);color:#fff}.btn-danger-solid:hover{background:var(--c-danger);color:#fff}.btn-ghost{color:var(--c-primary);background:0 0;border-color:#0000;padding:0 10px}.btn-ghost:hover{background:var(--c-primary-soft);color:var(--c-primary-hover)}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.btn-lg{min-height:52px;padding:0 22px;font-size:15px}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--c-surface-2);color:var(--c-text)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card-pad{padding:20px}.card-flat{background:var(--c-surface-2);border-radius:var(--radius-lg);padding:16px 18px}.section{flex-direction:column;gap:16px;padding:20px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head .titles{flex-direction:column;gap:4px;display:flex}.page-head .subtitle{color:var(--c-text-muted);font-size:14px}.breadcrumb{color:var(--c-text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.breadcrumb a{text-decoration:none}.badge{border-radius:var(--radius-pill);white-space:nowrap;background:var(--c-neutral-bg);color:var(--c-text-strong);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{border-radius:var(--radius-pill);background:currentColor;width:7px;height:7px}.badge-success{background:var(--c-success-bg);color:var(--c-success)}.badge-warning{background:var(--c-warning-bg);color:var(--c-warning)}.badge-danger{background:var(--c-danger-bg);color:var(--c-danger)}.badge-info{background:var(--c-primary-soft);color:var(--c-primary-hover)}.badge-dark{background:var(--c-text);color:#fff}.badge-muted{background:var(--c-text-muted);color:#fff}.tag-id{font-family:var(--font-mono);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:500;display:inline-block}.field{color:var(--c-text-strong);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-label{flex-direction:column;gap:6px;display:flex}.field .hint{color:var(--c-text-muted);font-size:12px;font-weight:400}.field .error{color:var(--c-danger);font-size:12px;font-weight:500}.input,.select,.textarea{width:100%;min-height:var(--control-height);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);padding:0 12px;font-size:14px;font-weight:400}.select{padding:0 10px}.textarea{resize:vertical;padding:10px 12px;line-height:1.45}.input::placeholder,.textarea::placeholder{color:var(--c-placeholder)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary);box-shadow:var(--focus-ring);outline:none}.input[readonly]{background:var(--c-surface-2);border-color:var(--c-border);color:var(--c-text-strong)}.input-invalid{border-color:var(--c-danger-border)}.search{min-height:var(--control-height);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-surface);align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--c-primary);box-shadow:var(--focus-ring)}.search.input-invalid{border-color:var(--c-danger-border)}.search input:focus,.search input:focus-visible{box-shadow:none;outline:none}.search input{min-width:0;color:var(--c-text);background:0 0;border:0;outline:none;flex:auto;font-size:14px;font-weight:400}@media (pointer:coarse){:root{--control-height:44px}.input,.select,.textarea,.search input{font-size:16px}}.check{cursor:pointer;align-items:flex-start;gap:10px;min-height:36px;padding:6px 0;font-size:14px;font-weight:400;display:flex}.check input{width:18px;height:18px;accent-color:var(--c-primary);flex-shrink:0;margin:1px 0 0}.check .check-sub{color:var(--c-text-muted);font-size:12px;display:block}.choice{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);width:100%;min-height:56px;color:var(--c-text);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.choice:hover{border-color:var(--c-border-strong)}.choice[aria-pressed=true],.choice[aria-checked=true]{border:2px solid var(--c-primary);background:var(--c-primary-soft);padding:9px 13px}.choice .choice-title{font-size:15px;font-weight:600}.choice .choice-sub{color:var(--c-text-muted);font-size:12px}.chip{border-radius:var(--radius-pill);border:1px solid var(--c-border-strong);background:var(--c-surface);min-height:38px;color:var(--c-text);cursor:pointer;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.chip[aria-pressed=true]{border:2px solid var(--c-primary);background:var(--c-primary-soft);color:var(--c-primary-hover);padding:0 13px;font-weight:600}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;background:var(--c-surface-2);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 12px;font-size:12px;font-weight:600}.table td{border-top:1px solid var(--c-divider);vertical-align:middle;padding:12px}.table th:first-child,.table td:first-child{padding-left:20px}.table th:last-child,.table td:last-child{padding-right:20px}.table tbody tr:hover,.table tr.selected{background:var(--c-primary-softer)}.table .sub{color:var(--c-text-muted);font-size:12px;display:block}.table a.row-link{color:var(--c-text);font-weight:600;text-decoration:none}.table a.row-link:hover{color:var(--c-primary);text-decoration:underline}.tabs{border-bottom:1px solid var(--c-border);flex-wrap:wrap;gap:4px;display:flex}.tab{min-height:44px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;text-decoration:none}.tab:hover{color:var(--c-text)}.tab[aria-selected=true],.tab.active{color:var(--c-text);border-bottom-color:var(--c-accent);font-weight:600}.alert{border-radius:var(--radius-lg);background:var(--c-primary-soft);color:var(--c-primary-hover);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.alert>svg{flex-shrink:0;margin-top:2px}.alert-success{background:var(--c-success-bg);color:var(--c-success)}.alert-warning{background:var(--c-warning-bg);color:var(--c-warning-strong)}.alert-danger{background:var(--c-danger-bg);color:var(--c-danger)}.avatar{border-radius:var(--radius-pill);background:var(--c-primary-soft);width:36px;height:36px;color:var(--c-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.avatar-solid{background:var(--c-primary);color:#fff}.avatar-sm{width:30px;height:30px;font-size:11px}.avatar-lg{width:44px;height:44px;font-size:15px}.list{flex-direction:column;display:flex}.list-row{border-top:1px solid var(--c-divider);align-items:center;gap:12px;padding:12px 16px;display:flex}.list-row:first-child{border-top:0}.kv{border-top:1px solid var(--c-divider);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.kv:first-child{border-top:0}.kv dt,.kv .k{color:var(--c-text-muted);margin:0;font-size:13px}.kv dd,.kv .v{text-align:right;margin:0;font-size:14px;font-weight:500}.dl-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0;display:grid}.dl-grid dt{color:var(--c-text-muted);margin:0;font-size:13px}.dl-grid dd{margin:2px 0 0;font-size:15px;font-weight:500}.progress{border-radius:var(--radius-pill);background:var(--c-divider);height:8px;display:flex;overflow:hidden}.progress>span{border-radius:var(--radius-pill);background:var(--c-primary);display:block}.progress.success>span{background:var(--c-success)}.progress.warning>span{background:var(--c-warning-dot)}.timeline{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.timeline li{align-items:flex-start;gap:12px;display:flex}.timeline .tl-dot{border-radius:var(--radius-pill);border:2px solid var(--c-border-strong);background:var(--c-surface);flex-shrink:0;width:14px;height:14px;margin-top:3px}.timeline .tl-done .tl-dot{background:var(--c-success);border-color:var(--c-success)}.timeline .tl-current .tl-dot{background:var(--c-warning-bg);border-color:var(--c-warning-dot)}.timeline .tl-error .tl-dot{background:var(--c-danger-strong);border-color:var(--c-danger-strong)}.timeline .tl-title{font-size:14px;font-weight:600}.timeline .tl-pending .tl-title{color:var(--c-text-muted)}.timeline .tl-meta{color:var(--c-text-muted);font-size:13px}.stat{border-radius:var(--radius-lg);background:var(--c-surface-2);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat .stat-label{font-size:13px;font-weight:600}.stat .stat-value{font-size:28px;font-weight:700;line-height:1.2}.stat .stat-sub{font-size:12px}.stat.success{background:var(--c-success-bg);color:var(--c-success)}.stat.warning{background:var(--c-warning-bg);color:var(--c-warning)}.stat.danger{background:var(--c-danger-bg);color:var(--c-danger)}.center-state{text-align:center;color:var(--c-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;display:flex}.center-state h2{color:var(--c-text)}.spinner{border:3px solid var(--c-primary-soft);border-top-color:var(--c-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.photo-placeholder{border-radius:var(--radius-md);background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-text-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.dialog-backdrop{z-index:50;background:#19255059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--c-surface);border-radius:var(--radius-lg);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);flex-direction:column;gap:16px;padding:22px;display:flex;overflow:auto}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-lg);background:var(--c-text);color:#fff;box-shadow:var(--shadow-pop);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.toast.toast-error{background:var(--c-danger-strong)}.popover{z-index:40;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-pop);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute}.popover button{border-radius:var(--radius-sm);min-height:42px;color:var(--c-text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.popover button:hover,.popover button[aria-selected=true]{background:var(--c-primary-soft)}.popover button[aria-selected=true]{font-weight:600}.portal{background:var(--c-bg);min-height:100vh;display:flex}.sidebar{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--c-surface);border-right:1px solid var(--c-border);flex-direction:column;gap:2px;height:100vh;padding:20px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:var(--c-text);align-items:center;gap:10px;padding:4px 8px 18px;text-decoration:none;display:flex}.brand-mark{background:var(--c-accent);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-name{font-size:16px;font-weight:700;line-height:1.15}.brand-sub{color:var(--c-text-muted);font-size:12px}.nav-section{letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-muted);padding:16px 10px 6px;font-size:11px;font-weight:600}.nav-link{border-radius:var(--radius-sm);min-height:40px;color:var(--c-text-muted);align-items:center;gap:10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.nav-link:hover{background:var(--c-surface-2);color:var(--c-text)}.nav-link.active{background:var(--c-primary-soft);color:var(--c-primary);box-shadow:inset 3px 0 0 var(--c-accent);font-weight:600}.nav-link .nav-count{border-radius:var(--radius-pill);background:var(--c-warning-bg);color:var(--c-warning);margin-left:auto;padding:1px 8px;font-size:12px;font-weight:600}.sidebar-footer{flex-direction:column;gap:10px;margin-top:auto;padding-top:12px;display:flex}.user-box{border-top:1px solid var(--c-border);align-items:center;gap:10px;padding:12px 8px 0;display:flex}.user-box .user-name{font-size:13px;font-weight:600}.user-box .user-role{color:var(--c-text-muted);font-size:12px}.portal-main{flex-direction:column;flex:auto;gap:20px;min-width:0;padding:28px 32px 48px;display:flex}.portal-topbar,.sidebar-backdrop{display:none}@media (width<=960px){.portal{flex-direction:column}.portal-topbar{z-index:30;background:var(--c-surface);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;position:sticky;top:0}.portal-topbar .brand{padding:0}.sidebar{z-index:45;box-shadow:var(--shadow-pop);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.portal.nav-open .sidebar{transform:none}.portal.nav-open .sidebar-backdrop{z-index:44;background:#1925504d;display:block;position:fixed;inset:0}.portal-main{padding:20px 16px 40px}}.mobile{background:var(--c-bg);min-height:100vh}.mobile-header{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--c-border);background:#fffffff5;position:sticky;top:0}.mobile-header-inner{max-width:var(--mobile-width);justify-content:space-between;align-items:center;gap:8px;margin:0 auto;padding:8px 12px;display:flex}.mobile-content{max-width:var(--mobile-width);padding:16px 16px calc(96px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.mobile-nav{z-index:20;background:var(--c-surface);border-top:1px solid var(--c-border);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.mobile-nav-inner{max-width:var(--mobile-width);grid-auto-columns:1fr;grid-auto-flow:column;margin:0 auto;display:grid}.mobile-nav a{min-height:58px;color:var(--c-text-muted);flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.mobile-nav a.active{color:var(--c-primary);font-weight:600}.mobile-nav a.active:before{content:"";background:var(--c-accent);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.mobile-nav .badge-dot{border-radius:var(--radius-pill);background:var(--c-accent);color:#fff;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:8px;left:calc(50% + 8px)}.auth-page{background:var(--c-surface-2);justify-content:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card{flex-direction:column;align-self:flex-start;gap:18px;width:min(440px,100%);margin-top:6vh;padding:28px;display:flex}
