:root{--bg:#f4f5fa;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#eef0f7;--border:#e3e6ef;--border-strong:#cfd5e3;--text:#0e1527;--text-2:#475068;--muted:#7b859b;--brand:#4f46e5;--brand-hover:#4338ca;--brand-soft:#eef0ff;--brand-ring:#4f46e547;--green:#047857;--green-soft:#e3f6ee;--amber:#b45309;--amber-soft:#fef1dc;--red:#c81e1e;--red-soft:#fdeaea;--blue:#1d4ed8;--blue-soft:#e5edff;--shadow-sm:0 1px 2px #0e15270d;--shadow:0 1px 2px #0e15270a, 0 6px 20px #0e15270f;--shadow-lg:0 28px 70px #080c1e59;--radius:14px;--radius-sm:10px;--sidebar-w:264px;--header-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0e1c;--surface:#11172b;--surface-2:#151c33;--surface-3:#1b2340;--border:#232c4a;--border-strong:#313c60;--text:#eaeefb;--text-2:#b4bdd6;--muted:#8590ad;--brand:#7c83ff;--brand-hover:#9aa0ff;--brand-soft:#1c2250;--brand-ring:#7c83ff59;--green:#34d399;--green-soft:#0f2c24;--amber:#fbbf24;--amber-soft:#33270c;--red:#f87171;--red-soft:#3a1417;--blue:#7aa2ff;--blue-soft:#14224a;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0e1c;--surface:#11172b;--surface-2:#151c33;--surface-3:#1b2340;--border:#232c4a;--border-strong:#313c60;--text:#eaeefb;--text-2:#b4bdd6;--muted:#8590ad;--brand:#7c83ff;--brand-hover:#9aa0ff;--brand-soft:#1c2250;--brand-ring:#7c83ff59;--green:#34d399;--green-soft:#0f2c24;--amber:#fbbf24;--amber-soft:#33270c;--red:#f87171;--red-soft:#3a1417;--blue:#7aa2ff;--blue-soft:#14224a;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:14.5px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:650}h1{font-size:26px;line-height:1.2}h2{margin-bottom:12px;font-size:18px}h3{margin-bottom:10px;font-size:15px}p{margin:0 0 10px}code{font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:.92em}.muted{color:var(--muted)}.icon{vertical-align:-.2em;flex-shrink:0}::selection{background:var(--brand-ring)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:11px;padding:4px 8px 18px;font-size:17px;font-weight:700;display:flex}.brand small{color:var(--muted);letter-spacing:0;margin-top:-2px;font-size:11.5px;font-weight:500;display:block}.logo-mark{background:linear-gradient(135deg,#6366f1 0%,#4338ca 55%,#7c3aed 100%);border-radius:11px;flex-shrink:0;place-items:center;display:inline-grid;box-shadow:0 4px 14px #4f46e573,inset 0 1px #ffffff40}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:18px 10px 6px;font-size:11px;font-weight:650}.nav a{border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:12px;padding:9px 12px;font-weight:550;transition:background .15s,color .15s;display:flex}.nav a:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav a.active{background:var(--brand-soft);color:var(--brand)}.nav a.active .icon{color:var(--brand)}.sidebar-foot{flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;display:flex}.userchip{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:11px;min-width:0;padding:10px;display:flex}.userchip .who{min-width:0;line-height:1.25}.userchip .who b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;display:block;overflow:hidden}.userchip .who span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.avatar{color:#fff;background:linear-gradient(135deg,#818cf8,#6d28d9);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.foot-actions{gap:8px;display:flex}.foot-actions button{flex:1}.main{flex-direction:column;flex:1;min-width:0;display:flex}.header{z-index:30;min-height:var(--header-h);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:10px 32px;display:flex;position:sticky;top:0}.menu-btn,.header-brand{display:none}.searchbox{flex:1;max-width:520px;position:relative}.searchbox .icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.searchbox input{background:var(--surface);height:42px;box-shadow:var(--shadow-sm);border-radius:999px;padding-left:40px}.content{width:100%;max-width:1240px;margin:0 auto;padding:28px 32px 56px;animation:.25s rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-head .titles{flex:260px;min-width:0}.page-head p{color:var(--muted);margin:4px 0 0}.page-head .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.backdrop{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:20px}.card.flush{padding:0;overflow:hidden}.card h2,.card h3{margin-bottom:12px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-head h2,.card-head h3{margin:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:18px;display:grid}.stat{align-items:center;gap:14px;margin:0;display:flex}.stat .tile{background:var(--brand-soft);width:46px;height:46px;color:var(--brand);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.stat .tile.amber{background:var(--amber-soft);color:var(--amber)}.stat .tile.green{background:var(--green-soft);color:var(--green)}.stat b{letter-spacing:-.02em;font-size:24px;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:13px}.link-card{color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}.link-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}label{color:var(--text-2);margin:14px 0 6px;font-size:13px;font-weight:600;display:block}label.inline{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin:0;font-weight:500;display:inline-flex}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:42px;color:var(--text);font:inherit;padding:0 13px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;height:auto;min-height:96px;padding:10px 13px;line-height:1.5}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237b859b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring);outline:none}input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer;padding:0}input[type=file]{height:auto;padding:9px 12px}input:disabled,select:disabled{opacity:.6;cursor:not-allowed}.field-hint{color:var(--muted);margin-top:5px;font-size:12.5px}button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,transform 50ms,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:var(--surface-3)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #00000026,0 4px 14px #4f46e54d}:root[data-theme=dark] button.primary{color:#0b1020}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) button.primary{color:#0b1020}}button.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}button.danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 35%, var(--border));background:var(--surface)}button.danger:hover:not(:disabled){background:var(--red-soft)}button.small{border-radius:8px;gap:6px;height:32px;padding:0 11px;font-size:13px}button.ghost{box-shadow:none;color:var(--text-2);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}button.icon{width:36px;padding:0}button.icon.small{width:32px}a.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--text);box-shadow:var(--shadow-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}a.btn:hover{background:var(--surface-3)}a.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #00000026,0 4px 14px #4f46e54d}:root[data-theme=dark] a.btn.primary{color:#0b1020}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) a.btn.primary{color:#0b1020}}a.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-link{box-shadow:none;height:auto;color:var(--brand);background:0 0;border:0;padding:0;font-weight:600}.btn-link:hover:not(:disabled){background:0 0;text-decoration:underline}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.row.nowrap{flex-wrap:nowrap}.grid2{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.err,.okmsg,.warnbox{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 14px;font-size:14px;display:flex}.err{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb, var(--red) 30%, transparent)}.okmsg{background:var(--green-soft);color:var(--green);border-color:color-mix(in srgb, var(--green) 30%, transparent)}.warnbox{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in srgb, var(--amber) 30%, transparent)}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.7;display:inline-flex}.badge:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.brand{background:var(--brand-soft);color:var(--brand)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11.5px;font-weight:650}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}tr:last-child td{border-bottom:0}td .sub{color:var(--muted);font-size:13px}.cell-user{align-items:center;gap:12px;min-width:0;display:flex}.cell-user .avatar{width:34px;height:34px;font-size:12.5px}.actions-cell .row{gap:6px}.tabs{background:var(--surface-3);scrollbar-width:none;border-radius:12px;gap:4px;width:fit-content;max-width:100%;margin-bottom:22px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{height:36px;box-shadow:none;color:var(--text-2);background:0 0;border:0;border-radius:9px;padding:0 16px}.tabs button:hover:not(:disabled){color:var(--text);background:0 0}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:22px 0 10px;font-size:12px;font-weight:700;display:flex}.cred{padding:0;overflow:hidden}.cred.focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.cred-head{flex-wrap:wrap;align-items:center;gap:14px;padding:16px 20px;display:flex}.cred-icon{background:var(--brand-soft);width:42px;height:42px;color:var(--brand);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.cred-title{flex:220px;min-width:0}.cred-title b{letter-spacing:-.01em;font-size:16px;display:block}.cred-title .meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.cred-actions{flex-wrap:wrap;gap:6px;display:flex}.cred-body{border-top:1px solid var(--border);background:var(--surface-2);padding:6px 20px}.kv{grid-template-columns:minmax(120px,190px) 1fr;display:grid}.kv>div{border-bottom:1px dashed var(--border);align-items:center;min-width:0;padding:11px 0;display:flex}.kv>div:nth-last-child(-n+2){border-bottom:0}.kv .k{color:var(--muted);font-size:13.5px;font-weight:550}.val{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.val>span,.val>a,.val>pre{overflow-wrap:anywhere;flex:0 auto;min-width:0}.val .copy{opacity:.6}.val:hover .copy,.copy:focus-visible{opacity:1}@media (hover:none){.val .copy{opacity:1}}.cred-foot{color:var(--muted);border-top:1px solid var(--border);padding:10px 20px;font-size:12.5px}.secret{flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.secret code{background:var(--surface);border:1px solid var(--border);word-break:break-all;white-space:pre-wrap;letter-spacing:.04em;border-radius:8px;min-width:0;padding:5px 11px}.secret .actions{gap:6px;margin-left:auto;display:flex}.secret .note{color:var(--green);font-size:12.5px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.empty .tile{background:var(--surface-3);width:56px;height:56px;color:var(--muted);border-radius:16px;place-items:center;margin-bottom:12px;display:inline-grid}.empty h3{color:var(--text);margin-bottom:4px}.empty p{max-width:380px;margin:0 auto 14px}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:10px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.codes{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);letter-spacing:.06em;grid-template-columns:1fr 1fr;gap:6px 18px;padding:16px 18px;font-family:ui-monospace,Consolas,monospace;font-size:15px;display:grid}.list-link{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:12px 4px;display:flex}.list-link:last-child{border-bottom:0}.list-link:hover{color:var(--brand);text-decoration:none}.list-link .icon:first-child{color:var(--muted)}.list-link .sub{color:var(--muted);margin-left:auto;font-size:13px}.note-item{border-bottom:1px solid var(--border);padding:14px 0}.note-item:last-of-type{border-bottom:0}.file-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.file-item:last-of-type{border-bottom:0}.file-item .ico{background:var(--surface-3);width:38px;height:38px;color:var(--text-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.file-item .grow{overflow-wrap:anywhere;flex:1;min-width:0}.modalbg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#080c1c8c;place-items:start center;padding:48px 16px;animation:.15s fade;display:grid;position:fixed;inset:0;overflow:auto}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:620px;box-shadow:var(--shadow-lg);border-radius:18px;padding:24px;animation:.2s pop}.modal.wide{max-width:900px}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modalbg:has(.modal.tall){place-items:center;padding:32px 16px;overflow:hidden}.modal.tall{flex-direction:column;max-width:1000px;height:min(860px,100vh - 64px);padding:0;display:flex;overflow:hidden}.modal.tall .modal-head{border-bottom:1px solid var(--border);margin:0;padding:18px 24px}.modal.tall>form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-scroll{flex:1;min-height:0;padding:6px 24px 24px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.modal-foot .grow{flex:1;min-width:0}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.modal-head h2{margin:0}.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-hero{color:#fff;background:radial-gradient(900px 500px at 10% -10%,#6366f1 0%,#0000 60%),radial-gradient(700px 500px at 100% 100%,#7c3aed 0%,#0000 55%),#1e1b4b;flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"";background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.auth-hero>*{z-index:1;position:relative}.auth-hero .brand{color:#fff;padding:0;font-size:20px}.auth-hero h2{letter-spacing:-.03em;margin-bottom:14px;font-size:34px;line-height:1.15}.auth-hero p{color:#ffffffc7;max-width:440px;font-size:16px}.auth-points{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.auth-points li{color:#ffffffe0;align-items:flex-start;gap:12px;display:flex}.auth-points .icon{background:#ffffff24;border-radius:10px;width:34px;height:34px;padding:7px}.auth-pane{place-items:center;padding:32px 20px;display:grid}.auth-box{width:100%;max-width:420px}.auth-box .brand{padding-left:0;display:none}.auth-box h1{margin-bottom:6px;font-size:26px}.auth-box .lead{color:var(--muted);margin-bottom:18px}.auth-box button.primary{width:100%;height:46px;margin-top:20px;font-size:15px}.qr{border:1px solid var(--border);border-radius:var(--radius);background:#fff;place-items:center;gap:8px;margin:8px 0 4px;padding:16px;display:grid}.qr img{border-radius:8px}.manual-key{word-break:break-all;text-align:center;font-size:13px}@media (width<=1080px){.header{padding:10px 24px}.content{padding:24px 24px 56px}}@media (width<=900px){.sidebar{box-shadow:var(--shadow-lg);width:min(84vw,300px);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sidebar.open{transform:none}.backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:35;background:#080c1c8c;animation:.2s fade;display:block;position:fixed;inset:0}.menu-btn{display:inline-flex}.header-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:700;display:flex}.header{flex-wrap:wrap;gap:10px;padding:10px 16px}.searchbox{flex:1 0 100%;order:3;max-width:none}.header .spacer{flex:1}.content{padding:18px 16px 48px}h1{font-size:23px}.auth{grid-template-columns:1fr}.auth-hero{display:none}.auth-box .brand{display:flex}}@media (width>=901px){.header .spacer{display:none}}@media (width<=760px){.grid2,.grid3{grid-template-columns:1fr}.card{border-radius:12px;padding:16px}.card.cred,.card.flush{padding:0}.stat-grid{grid-template-columns:1fr}.page-head .actions{width:100%}.page-head .actions>button,.page-head .actions>input{flex:1}.page-head .actions input{min-width:0}.kv{grid-template-columns:1fr}.kv>div{border-bottom:0;padding:0}.kv .k{text-transform:uppercase;letter-spacing:.05em;padding-top:12px;font-size:12.5px}.kv>div:not(.k){border-bottom:1px dashed var(--border);padding-bottom:12px}.kv>div:last-child{border-bottom:0}.cred-head{padding:14px 16px}.cred-body{padding:0 16px}.cred-foot{padding:10px 16px}.cred-actions{width:100%}.cred-actions button{flex:1}.cred-actions button.icon{flex:0 0 36px}.secret .actions{margin-left:0}.rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable td{width:100%;display:block}.rtable tr{border-bottom:1px solid var(--border);padding:12px 16px}.rtable tr:last-child{border-bottom:0}.rtable tbody tr:hover{background:0 0}.rtable td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:14px;padding:5px 0;display:flex}.rtable td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;flex-shrink:0;font-size:12px;font-weight:650}.rtable td[data-label=""],.rtable td:not([data-label]){text-align:left;display:block}.rtable td[data-label=""]:before,.rtable td:not([data-label]):before{display:none}.rtable td.primary-cell{text-align:left;padding-bottom:8px;display:block}.rtable td.primary-cell:before{display:none}.rtable td.actions-cell{padding-top:10px}.rtable td.actions-cell .row{justify-content:flex-start}.modalbg{place-items:end center;padding:0}.modal,.modal.wide{border-bottom:0;border-radius:20px 20px 0 0;max-width:none;max-height:94vh;padding:20px 16px 24px;animation:.25s sheet;overflow:auto}@keyframes sheet{0%{opacity:.6;transform:translateY(40px)}}.modalbg:has(.modal.tall){place-items:end center;padding:0}.modal.tall,.modal.tall.wide{height:94vh;max-height:94vh;padding:0}.modal.tall .modal-head{padding:16px}.modal-scroll{padding:4px 16px 20px}.modal-foot{padding:12px 16px}.modal-foot button{flex:1}.codes{grid-template-columns:1fr}.tabs{width:100%}.tabs button{flex:1 0 auto;padding:0 12px;font-size:13.5px}.row.end{justify-content:stretch}.row.end>button{flex:1}}@media (width<=380px){.content{padding-left:12px;padding-right:12px}}.nav-badge{background:var(--brand);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}.fb-cat{color:var(--text-2);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.fb-private{color:var(--red);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.fb-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;display:flex}.fb-list .fb-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:16px 20px;transition:background .15s;display:flex}.fb-list .fb-row:last-child{border-bottom:0}.fb-list .fb-row:hover{background:var(--surface-2);text-decoration:none}.fb-main{flex:1;min-width:0}.fb-title{overflow-wrap:anywhere;align-items:center;gap:8px;font-size:15px;font-weight:650;display:flex}.fb-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:9px;height:9px}.fb-go{color:var(--muted)}.fb-back{margin-bottom:10px;font-size:13.5px}.fb-flip{margin-right:4px;transform:rotate(180deg)}.fb-filters{grid-template-columns:repeat(3,minmax(0,190px)) minmax(0,1fr);gap:10px;margin-bottom:16px;display:grid}.fb-steps{flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.fb-steps li{background:var(--surface-3);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:13.5px;font-weight:600;display:flex}.fb-steps li span{background:var(--surface);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12.5px;display:grid}.fb-steps li.on{background:var(--brand-soft);color:var(--brand)}.fb-steps li.on span,.fb-steps li.done span{background:var(--brand);color:#fff}.fb-steps li.done{color:var(--text-2)}.fb-cats{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.fb-cat-card{text-align:left;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);height:auto;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.fb-cat-card:hover:not(:disabled){box-shadow:var(--shadow);border-color:var(--brand);background:var(--surface);transform:translateY(-2px)}.fb-cat-card b{font-size:16px}.fb-cat-card>span:last-child{color:var(--text-2);white-space:normal;font-size:13.5px;font-weight:400;line-height:1.45}.fb-cat-card .tile{background:var(--brand-soft);width:42px;height:42px;color:var(--brand);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.fb-cat-card.red .tile{background:var(--red-soft);color:var(--red)}.fb-cat-card.amber .tile{background:var(--amber-soft);color:var(--amber)}.fb-cat-card.blue .tile{background:var(--blue-soft);color:var(--blue)}.fb-form-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.fb-side{top:calc(var(--header-h) + 16px);position:sticky}.fb-tips{color:var(--text-2);margin:0;padding-left:18px;font-size:13.5px}.fb-tips li{margin-bottom:4px}.fb-sim{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);margin-bottom:8px;padding:10px 12px;font-size:13.5px;display:block}a.fb-sim:hover{border-color:var(--brand);text-decoration:none}.fb-sim b{overflow-wrap:anywhere;margin-bottom:4px;display:block}.fb-sim span{color:var(--muted);font-size:12.5px}.fb-hint{justify-content:space-between;gap:12px;display:flex}.field-hint.bad{color:var(--red)}.fb-count{font-variant-numeric:tabular-nums;white-space:nowrap}.fb-count.ok{color:var(--green)}.fb-callout{border-radius:var(--radius-sm);background:var(--surface-3);align-items:flex-start;gap:12px;margin:14px 0;padding:12px 14px;font-size:13.5px;display:flex}.fb-callout .icon{margin-top:2px}.fb-callout.red{background:var(--red-soft);color:var(--text)}.fb-callout.red .icon{color:var(--red)}.fb-callout.amber{background:var(--amber-soft);color:var(--text)}.fb-callout.amber .icon{color:var(--amber)}.fb-callout.green{background:var(--green-soft);color:var(--text)}.fb-callout.green .icon{color:var(--green)}.fb-prio{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fb-prio button{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:10px 12px}.fb-prio button span{color:var(--muted);font-size:12.5px;font-weight:400}.fb-prio button.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px var(--brand-ring)}.fb-files{flex-wrap:wrap;gap:10px;display:flex}.fb-file{flex-direction:column;gap:4px;width:120px;font-size:12px;display:flex;position:relative}.fb-file img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:120px;height:80px}.fb-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fb-file button{background:var(--surface);position:absolute;top:4px;right:4px}.fb-add{width:120px;height:80px;color:var(--text-2);border-style:dashed;flex-direction:column;gap:4px}.fb-review{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin-top:14px;padding:16px}.fb-review-row{margin-top:12px}.fb-review-row span,.fb-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:650}.fb-review-row p,.fb-section p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.fb-section{margin-bottom:16px}.fb-facts{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:6px 18px;padding-top:12px;font-size:13px;display:flex}.fb-gallery{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.fb-gallery img{object-fit:cover;border:1px solid var(--border);border-radius:8px;max-width:220px;height:120px;display:block}.fb-detail{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.fb-review-panel{top:calc(var(--header-h) + 16px);position:sticky}.fb-timeline{margin:0 0 8px;padding:0 0 0 4px;list-style:none}.fb-timeline li{gap:12px;padding:0 0 16px;font-size:13.5px;display:flex;position:relative}.fb-timeline li:before{content:"";background:var(--border);width:2px;position:absolute;top:14px;bottom:0;left:4px}.fb-timeline li:last-child:before{display:none}.fb-timeline .dot{background:var(--border-strong);z-index:1;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.fb-timeline .msg .dot{background:var(--brand)}.fb-timeline .msg.sender .dot{background:var(--green)}.fb-timeline .msg.internal>div{background:var(--amber-soft)}.fb-timeline .msg>div{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);flex:1;min-width:0;padding:10px 12px}.fb-timeline .msg p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.fb-timeline .who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fb-timeline time{color:var(--muted);margin-left:6px;font-size:12.5px}.fb-timeline .ev{color:var(--text-2)}.fb-check{align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.fb-check input{width:auto;height:auto}@media (width<=900px){.fb-form-grid,.fb-detail{grid-template-columns:minmax(0,1fr)}.fb-side,.fb-review-panel{position:static}.fb-filters{grid-template-columns:1fr 1fr}.fb-prio{grid-template-columns:1fr}}@media (width<=520px){.fb-filters{grid-template-columns:1fr}}.kb-subnav{align-items:center;gap:4px;margin-bottom:18px;display:flex}.kb-subnav a:not(.btn){color:var(--text-2);border-radius:999px;padding:6px 14px;font-weight:600}.kb-subnav a:not(.btn):hover{background:var(--surface-3);text-decoration:none}.kb-subnav a.on{background:var(--brand-soft);color:var(--brand)}.kb-subnav .grow,.kb-toolbar .grow,.kb-cat-row .grow{flex:1}.kb-hero{text-align:center;background:radial-gradient(1200px 300px at 50% -40%, var(--brand-soft), transparent 70%), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;margin-bottom:26px;padding:38px 20px 34px}.kb-hero h1{letter-spacing:-.03em;font-size:34px}.kb-hero p{color:var(--text-2);max-width:520px;margin:8px auto 22px;font-size:16px}.kb-search{background:var(--surface);border:1px solid var(--border-strong);width:100%;max-width:760px;height:46px;box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:10px;margin:0 auto 18px;padding:0 16px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.kb-search.big{height:58px;box-shadow:var(--shadow);border-radius:18px;padding:0 20px}.kb-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.kb-search input{background:0 0;border:0;flex:1;height:100%;padding:0;font-size:15.5px;box-shadow:none!important}.kb-search.big input{font-size:17px}.kb-search .icon{color:var(--muted)}.kb-sug{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:left;border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0}.kb-sug li{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;display:flex}.kb-sug li.on,.kb-sug li:hover{background:var(--brand-soft)}.kb-h2{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin:26px 0 12px;font-size:15px;font-weight:650}.kb-h1{font-size:22px}.kb-cat-grid,.kb-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.kb-cat-tile{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);flex-direction:column;gap:4px;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.kb-cat-tile:hover{box-shadow:var(--shadow);border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}.kb-cat-tile .tile{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:11px;place-items:center;margin-bottom:6px;display:grid}.kb-cat-tile .muted{font-size:13.5px}.kb-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);flex-direction:column;gap:6px;min-width:0;padding:16px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.kb-card:hover{box-shadow:var(--shadow);border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}.kb-card h3{overflow-wrap:anywhere;margin:2px 0 0;font-size:16px}.kb-card p{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;display:-webkit-box;overflow:hidden}.kb-card-top{flex-wrap:wrap;align-items:center;gap:8px;min-height:22px;display:flex}.kb-card-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:auto;padding-top:6px;font-size:12.5px;display:flex}.kb-crumb-chip{color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:650}.kb-star{color:var(--amber);align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.kb-tag{background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;display:inline-flex}a.kb-tag:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}.kb-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}.kb-side{top:calc(var(--header-h) + 16px);position:sticky}.kb-cats{flex-direction:column;gap:2px;display:flex}.kb-cats a{color:var(--text-2);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-weight:560;display:flex}.kb-cats a span{color:var(--muted);margin-left:auto;font-size:12.5px;font-weight:500}.kb-cats a.sub{padding-left:38px;font-weight:500}.kb-cats a:hover{background:var(--surface-3);text-decoration:none}.kb-cats a.on{background:var(--brand-soft);color:var(--brand)}.kb-resultbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.kb-resultbar select{width:auto}.kb-list{gap:12px;display:grid}.kb-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:14px;font-size:13.5px;display:flex}.kb-breadcrumb span{align-items:center;gap:4px;display:inline-flex}.kb-article-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:36px;display:grid}.kb-article{min-width:0;max-width:820px}.kb-article h1{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:34px;line-height:1.18}.kb-lede{color:var(--text-2);margin:10px 0 14px;font-size:18px;line-height:1.55}.kb-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:13.5px;display:flex}.kb-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.kb-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:16px 0 6px;padding-bottom:18px;display:flex}.kb-mod{border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--border-strong);flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 16px;padding:10px 14px;display:flex}.kb-mod select{width:auto;min-width:180px}.kb-prose{color:var(--text);overflow-wrap:anywhere;font-size:16.5px;line-height:1.75}.kb-prose>:first-child{margin-top:0}.kb-prose h2,.kb-prose h3,.kb-prose h4,.kb-prose h5{scroll-margin-top:calc(var(--header-h) + 16px);margin:1.9em 0 .6em;line-height:1.3;position:relative}.kb-prose h2{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:24px}.kb-prose h3{font-size:19px}.kb-prose h4{font-size:16.5px}.kb-anchor{opacity:0;color:var(--muted);margin-left:8px;font-weight:500}.kb-prose h2:hover .kb-anchor,.kb-prose h3:hover .kb-anchor,.kb-prose h4:hover .kb-anchor,.kb-anchor:focus{opacity:1}.kb-prose p{margin:0 0 1.1em}.kb-prose ul,.kb-prose ol{margin:0 0 1.1em;padding-left:1.5em}.kb-prose li{margin:.3em 0}.kb-prose li>p{margin-bottom:.4em}.kb-prose a{text-decoration:underline;-webkit-text-decoration-color:var(--brand-ring);text-decoration-color:var(--brand-ring);text-underline-offset:3px}.kb-prose a:hover{-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}.kb-ext{opacity:.6;margin-left:3px}.kb-prose code{background:var(--surface-3);border-radius:6px;padding:.15em .4em;font-size:.88em}.kb-prose img{border:1px solid var(--border);border-radius:10px;max-width:100%;height:auto;margin:.4em 0}.kb-prose blockquote{border-left:4px solid var(--brand);background:var(--brand-soft);color:var(--text-2);border-radius:0 10px 10px 0;margin:0 0 1.1em;padding:4px 18px}.kb-prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}.kb-code{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin:0 0 1.2em;overflow:hidden}.kb-code-bar{color:var(--muted);background:var(--surface-3);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:4px 8px 4px 14px;font-size:12px;display:flex}.kb-code pre{margin:0;padding:14px 16px;font-size:14px;line-height:1.6;overflow-x:auto}.kb-code pre code{font-size:inherit;background:0 0;padding:0}.kb-table{border:1px solid var(--border);border-radius:12px;margin:0 0 1.2em;overflow-x:auto}.kb-table table{border-collapse:collapse;width:100%;font-size:15px}.kb-table th,.kb-table td{border-bottom:1px solid var(--border);text-align:left;padding:9px 14px}.kb-table th{background:var(--surface-3);font-weight:650}.kb-table tr:last-child td{border-bottom:0}.kb-foot{border-top:1px solid var(--border);overflow-wrap:anywhere;margin-top:36px;padding-top:16px;font-size:13px}.kb-share{background:var(--surface-3);-webkit-user-select:all;user-select:all;border-radius:6px;padding:2px 8px}.kb-aside{top:calc(var(--header-h) + 16px);flex-direction:column;gap:24px;font-size:13.5px;display:flex;position:sticky}.kb-toc,.kb-related{border-left:2px solid var(--border);flex-direction:column;gap:2px;padding-left:14px;display:flex}.kb-toc b,.kb-related b{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px;font-size:12px}.kb-toc a,.kb-related a{color:var(--text-2);padding:3px 0}.kb-toc a:hover,.kb-related a:hover{color:var(--brand);text-decoration:none}.kb-toc a.l4{padding-left:12px}.kb-history{grid-template-columns:240px minmax(0,1fr);gap:18px;min-height:300px;display:grid}.kb-history ol{flex-direction:column;gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.kb-history ol button{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:auto;padding:8px 12px}.kb-history ol button.on{border-color:var(--brand);background:var(--brand-soft)}.kb-history ol span,.kb-history ol em{color:var(--muted);font-size:12.5px;font-weight:400}.kb-history-view pre{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:50vh;padding:12px;font-size:13.5px;overflow:auto}.kb-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.kb-state{color:var(--muted);font-size:13px}.kb-meta-form{margin-bottom:14px}.kb-sim{margin:6px 0 0;padding-left:18px}.kb-tag-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:4px 8px;display:flex}.kb-tag-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.kb-tag-input input{background:0 0;border:0;flex:1;min-width:120px;height:30px;padding:0 4px;box-shadow:none!important}.kb-tag .ghost,.kb-tag button{width:16px;height:16px;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.kb-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.kb-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.kb-toolbar button{gap:4px;height:32px;padding:0 10px;font-size:13px}.kb-toolbar .sep{background:var(--border);width:1px;height:20px;margin:0 4px}.kb-modes{background:var(--surface-3);border-radius:10px;gap:2px;padding:3px;display:flex}.kb-modes button{box-shadow:none;background:0 0;border:0;height:28px}.kb-modes button.on{background:var(--surface);box-shadow:var(--shadow-sm)}.kb-panes{min-height:420px;display:grid}.kb-panes.split{grid-template-columns:1fr 1fr}.kb-panes.split .kb-write{border-right:1px solid var(--border)}.kb-write{flex-direction:column;min-width:0;display:flex}.kb-write textarea{resize:vertical;border:0;border-radius:0;flex:1;min-height:420px;padding:16px 18px;font:14.5px/1.65 ui-monospace,Cascadia Code,Consolas,monospace;box-shadow:none!important}.kb-foot-hint{color:var(--muted);border-top:1px solid var(--border);padding:6px 16px;font-size:12.5px}.kb-preview{min-width:0;max-height:75vh;padding:18px 22px;overflow:auto}.kb-cat-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.kb-cat-row.sub{padding-left:28px}.kb-cat-row input{max-width:280px}@media (width<=1100px){.kb-article-grid{grid-template-columns:minmax(0,1fr)}.kb-aside{order:-1;position:static}}@media (width<=900px){.kb-layout{grid-template-columns:minmax(0,1fr)}.kb-side{position:static}.kb-cats{flex-flow:wrap}.kb-cats a.sub{padding-left:12px}.kb-panes.split{grid-template-columns:1fr}.kb-panes.split .kb-write{border-right:0}.kb-history{grid-template-columns:1fr}.kb-hero h1,.kb-article h1{font-size:28px}}
