@font-face{font-family:Roboto;font-style:normal;font-weight:100 900;font-stretch:75% 100%;font-display:swap;src:url(/admin/assets/Roboto-Variable-B3covOPw.ttf)format("truetype")}:root{--brand-400:#3b91f4;--brand-500:#1877e6;--brand-600:#0d63c8;--brand-700:#084fa6;--cyan-300:#57dbe7;--ink-950:#0b1726;--ink-900:#132235;--ink-850:#18283a;--ink-800:#213247;--ink-750:#2b3c50;--ink-700:#35485c;--ink-600:#53667a;--ink-500:#6c7e90;--ink-400:#8797a7;--ink-300:#a8b5c2;--surface-0:#fff;--surface-50:#fbfcfd;--surface-100:#f3f6f9;--line-100:#edf1f5;--line-200:#dce4eb;--radius-lg:13px;--shadow-card:0 8px 28px #122a420d;--font-sans:"Roboto", Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink-800);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;background:#f7fafc}*{box-sizing:border-box}html{background:#f7fafc;min-width:320px}body{background:linear-gradient(#f7fafcf0,#f7fafcf0),linear-gradient(90deg,#0000 23px,#16487908 24px) 0 0/24px 24px,linear-gradient(#0000 23px,#16487908 24px) 0 0/24px 24px;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline-offset:2px;outline:3px solid #1877e638}.field{align-content:start;gap:7px;min-width:0;display:grid}.field label{color:var(--ink-700);font-size:14px;font-weight:650}.field label span{color:var(--ink-400);font-size:12px;font-weight:500}.field small{color:var(--ink-400);font-size:12px;line-height:1.5}.field input,.field select,.field textarea{width:100%;min-height:43px;color:var(--ink-800);background:#fff;border:1px solid #cad5df;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .14s,box-shadow .14s,background .14s}.field input::placeholder,.field textarea::placeholder{color:#adb9c4}.field input:hover,.field select:hover,.field textarea:hover{border-color:#aebdca}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px #1877e61a}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 15px;font-size:14px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:linear-gradient(#2182ef,#0d67ce);border-color:#0c63c9;box-shadow:0 7px 17px #0d67ce2e}.button--primary:hover:not(:disabled){background:linear-gradient(#1979e6,#095ebf);box-shadow:0 9px 21px #0d67ce3d}.button--secondary{color:var(--ink-700);background:#fff;border-color:#cbd7e3;box-shadow:0 2px 6px #122a420d}.button--secondary:hover:not(:disabled){background:var(--surface-100);border-color:#acc0d4}.icon-button{border:1px solid var(--line-200);width:38px;height:38px;color:var(--ink-500);background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;transition:color .14s,background .14s,border-color .14s;display:grid}.icon-button:hover:not(:disabled){color:var(--ink-800);background:#fff;border-color:#bdcad7}.alert{border:1px solid;border-radius:9px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.alert>svg{flex:none;margin-top:1px}.alert span{display:grid}.alert strong{margin-bottom:2px}.alert--error{color:#aa3434;background:#fff5f5;border-color:#efc2c2}.alert--success{color:#08734c;background:#effbf5;border-color:#b9e8d2}.table-scroll{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line-100);text-align:left;padding:13px 17px}th{background:var(--surface-50);color:var(--ink-400);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:750}td{color:var(--ink-500)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}td strong{color:var(--ink-750)}td code{color:var(--ink-600);font-size:12px}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
