:root{--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8faff;--ink:#17213a;--muted:#6d7890;--line:#e4e9f2;--line-strong:#d5ddeb;--primary:#2f65d9;--primary-soft:#eaf1ff;--warm:#c9663a;--warm-soft:#fff1e9;--success:#13875f;--success-soft:#e8f7f0;--warning:#b66d14;--warning-soft:#fff4df;--danger:#c3454e;--danger-soft:#ffedef;--info:#5671a6;--shadow:0 8px 28px #1d31540f;--radius:14px;--sidebar:228px;color:var(--ink);background:var(--bg);font-family:Segoe UI,Microsoft YaHei UI,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 85% 0%, #edf3ff 0, transparent 24rem), var(--bg);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f65d933}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar{z-index:30;width:var(--sidebar);border-right:1px solid var(--line);backdrop-filter:blur(18px);background:#ffffffeb;flex-direction:column;padding:25px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 5px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--primary), #6990ea);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 18px #2f65d938}.brand strong{letter-spacing:-.02em;font-size:15px;display:block}.brand small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.demo-badge{color:var(--warm);background:var(--warm-soft);border:1px solid #ffd2bd;border-radius:999px;align-self:flex-start;margin:14px 0 24px 53px;padding:4px 9px;font-size:11px;font-weight:600}.side-nav{gap:7px;display:grid}.side-nav a{color:#526078;border-radius:11px;align-items:center;gap:13px;min-height:45px;padding:0 13px;font-size:14px;font-weight:500;transition:all .18s;display:flex}.side-nav a:hover{color:var(--primary);background:#f5f8ff}.side-nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:650}.sidebar-foot{gap:12px;margin-top:auto;display:grid}.workspace-card,.account-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:11px;display:flex}.account-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.account-card:disabled{cursor:wait;opacity:.72}.workspace-card{color:var(--primary)}.workspace-card span,.account-card span{flex:1;min-width:0}.workspace-card small,.account-card small{color:var(--muted);font-size:10px;font-weight:500;display:block}.workspace-card strong,.account-card strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);margin-top:2px;font-size:12px;display:block;overflow:hidden}.account-card:hover{border-color:#cbd7ef}.avatar{color:#fff;background:var(--ink);border-radius:10px;place-items:center;width:31px;height:31px;font-size:12px;flex:none!important;display:grid!important}.app-main{min-height:100vh;margin-left:var(--sidebar)}.mobile-header{display:none}.page{width:min(1480px,100%);margin:0 auto;padding:28px 30px 50px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(25px,2.3vw,34px);line-height:1.12}.page-heading p{color:var(--muted);margin:8px 0 0;font-size:14px}.eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff5}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.panel-head h2,.panel-head h3{letter-spacing:-.01em;margin:0;font-size:16px}.panel-body{padding:20px}.muted{color:var(--muted)}.subtle{color:var(--muted);font-size:12px}.stack{gap:16px;display:grid}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:14px;display:flex}.button,.icon-button{border:1px solid var(--line-strong);color:#344059;background:var(--surface);border-radius:10px;transition:all .16s}.button{justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.button:hover,.icon-button:hover{color:var(--primary);border-color:#aebddd;transform:translateY(-1px)}.button.primary{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 7px 16px #2f65d92e}.button.warm{color:#fff;border-color:var(--warm);background:var(--warm)}.button.ghost{box-shadow:none;background:0 0;border-color:#0000}.button.danger{color:var(--danger);background:var(--danger-soft);border-color:#efcbd0}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.icon-button{place-items:center;width:39px;height:39px;padding:0;display:inline-grid}.field{gap:6px;display:grid}.field label{color:#4d5870;font-size:12px;font-weight:600}.input,.select,.textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:var(--surface);border-radius:10px}.input,.select{min-height:40px;padding:0 12px}.textarea{resize:vertical;min-height:92px;padding:11px 12px}.input::placeholder,.textarea::placeholder{color:#9ca6b8}.status{color:#647088;white-space:nowrap;background:#edf1f7;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 9px;font-size:11px;font-weight:650;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.success{color:var(--success);background:var(--success-soft)}.status.warning{color:var(--warning);background:var(--warning-soft)}.status.danger{color:var(--danger);background:var(--danger-soft)}.status.info{color:var(--primary);background:var(--primary-soft)}.status.plain:before{display:none}.empty-state{text-align:center;min-height:220px;color:var(--muted);place-items:center;padding:34px;display:grid}.empty-state svg{color:#aab6ca}.empty-state h3{color:var(--ink);margin:12px 0 4px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{border-bottom:1px solid var(--line);height:43px;color:var(--muted);text-align:left;white-space:nowrap;background:#f8faff;padding:0 12px;font-size:11px;font-weight:650}.data-table td{white-space:nowrap;border-bottom:1px solid #edf0f5;height:52px;padding:8px 12px}.data-table tbody tr{transition:all .15s}.data-table tbody tr:hover{background:#f8faff}.data-table tbody tr:last-child td{border-bottom:0}.link{color:var(--primary);font-weight:600}.link:hover{text-underline-offset:3px;text-decoration:underline}.positive{color:var(--success)}.negative{color:var(--danger)}.neutral{color:var(--muted)}.toast{z-index:50;color:#fff;background:#27334b;border:1px solid #cbd7ef;border-radius:12px;max-width:min(360px,100vw - 32px);padding:13px 16px;font-size:13px;animation:.2s toast-in;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 40px #17213a33}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.nav-toggle,.nav-backdrop,.close-nav{display:none}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1050px){:root{--sidebar:196px}.page{padding-inline:22px}.brand strong{font-size:13px}.side-nav a{padding-inline:10px}}@media (width<=760px){body{background:var(--bg)}.app-main{margin-left:0;padding-top:57px}.mobile-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#fffffff2;justify-content:space-between;align-items:center;height:57px;padding:0 14px;display:flex;position:fixed;inset:0 0 auto}.mobile-brand{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.mobile-header .icon-button{width:35px;height:35px}.close-nav{opacity:0;pointer-events:none;place-items:center;width:35px;height:35px;display:inline-grid}.sidebar{width:min(286px,86vw);transition:transform .22s;transform:translate(-103%);box-shadow:18px 0 50px #17213a26}.nav-backdrop{z-index:25;backdrop-filter:blur(2px);background:#17213a6b;position:fixed;inset:0}.nav-toggle:checked~.sidebar{transform:translate(0)}.nav-toggle:checked~.nav-backdrop{display:block}.page{padding:19px 15px 38px}.page-heading{gap:14px;margin-bottom:17px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.panel{box-shadow:none;border-radius:12px}.panel-head,.panel-body{padding:15px}.toast{bottom:16px;right:16px}}
