:root{--bg:#f5f7fc;--ink:#18213c;--muted:#8491a8;--line:#e9ecf4;--violet:#6c5ce7;--green:#10a977;--red:#e85673}
*{box-sizing:border-box}body{font-family:ui-sans-serif,system-ui,"Microsoft YaHei",sans-serif!important;color:var(--ink)!important;background:var(--bg)!important;font-size:14px!important}
body.fs-ready{margin:0!important;padding:0!important;max-width:none!important;min-height:100vh;display:flex;align-items:stretch}
.fs-side{width:245px;flex:none;min-height:100vh;background:linear-gradient(180deg,#141b38,#1c2243);padding:28px 18px;display:flex;flex-direction:column;color:#dbe1fa;position:sticky;top:0;height:100vh}
.fs-brand{display:flex;align-items:center;gap:12px;padding:0 8px;color:white;font-size:19px;font-weight:850}.fs-symbol{display:grid;place-items:center;width:42px;height:42px;background:linear-gradient(135deg,#8c75ff,#40bedc);box-shadow:0 9px 25px #6e5cfe50;border-radius:13px;font-size:24px}.fs-brand small{font-size:10px;color:#b6a9ff}
.fs-navtitle{letter-spacing:2px;font-size:10px;color:#7985ae;margin:42px 14px 12px;font-weight:800}.fs-link{padding:14px 16px;background:#ffffff13;border:1px solid #ffffff18;border-radius:12px;font-weight:700;color:white}.fs-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding-top:20px;color:#9eaacc;font-size:12px}.fs-online{color:#67d8ae}.fs-bottom button{margin:14px 0 0;background:#ffffff18;color:white;border:1px solid #ffffff23;width:100%}
body.fs-ready main{max-width:1550px!important;min-width:0;width:100%;margin:0 auto!important;padding:38px clamp(18px,4vw,56px) 62px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
body.fs-ready h1{font-size:30px;margin:0 0 4px!important;letter-spacing:-1px}.fs-eyebrow{font-size:11px;color:#7569e9;font-weight:850;letter-spacing:1.6px;margin-bottom:7px}.fs-description{color:var(--muted);margin:0 0 28px;font-size:13px}.fs-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.fs-admin{padding:9px 13px;border-radius:50px;border:1px solid var(--line);background:white;font-weight:700;font-size:12px;white-space:nowrap}.fs-admin:before{content:'●';color:var(--green);margin-right:8px}
.fs-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:26px 0}.fs-stat{padding:20px 18px;border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 10px 28px #2d3d6608}.fs-stat span{font-size:12px;color:var(--muted);display:block}.fs-stat strong{display:block;font-size:30px;letter-spacing:-1px;margin:8px 0 0}.fs-stat:nth-child(2) strong{color:var(--green)}.fs-stat:nth-child(3) strong{color:#d79a36}.fs-stat:nth-child(4) strong{color:var(--red)}
.fs-panel{background:white;border:1px solid var(--line);box-shadow:0 12px 30px #2d3d6608;border-radius:18px;padding:25px;margin-bottom:23px}.fs-panel h2{font-size:19px;margin:0 0 20px;font-weight:800;letter-spacing:-.4px}.fs-panel form{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px}.fs-panel>form{display:flex}.fs-panel input{margin:0!important;min-height:43px;padding:11px 13px;border:1px solid #e1e5f0;border-radius:10px}.fs-panel input:focus{outline:3px solid #e9e4ff;border-color:#8b7bf8}.fs-panel button{margin:0!important;background:#f9f9fc;border:1px solid #e4e7ee;border-radius:9px;padding:8px 11px;color:#424c65;font-weight:700}.fs-panel>form button{background:linear-gradient(115deg,#7d6bfc,#605fdf);border:0;color:white;padding:12px 18px;box-shadow:0 8px 20px #6c5ce735}.fs-panel table{min-width:900px;margin:0;background:white;width:100%;border-collapse:collapse}.fs-panel th{font-size:11px;color:#8e96a7;white-space:nowrap;background:#fafbfe}.fs-panel td,.fs-panel th{padding:15px 12px!important;border-bottom:1px solid #edf0f6!important}.fs-panel tbody tr:hover{background:#fbfbff}.fs-panel td form{gap:0;display:inline-flex}.fs-panel td button{font-size:11px;padding:6px 9px}.fs-panel td button[data-action="delete"]{color:#dc4765;background:#fff0f3;border-color:#ffe2ea}.fs-panel td button[data-action="disable"]{color:#d78e2b;background:#fff8eb;border-color:#ffe8c5}
.fs-state{display:inline-block;border-radius:90px;padding:5px 10px;font-weight:750;font-size:11px;color:#12a477;background:#e8f9f2}.fs-state.expired{color:#b57e2d;background:#fff3e4}.fs-state.disabled{color:#da516c;background:#fff0f3}.fs-tablebar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:-5px 0 16px}.fs-tablebar input{width:min(360px,100%)}.fs-tablebar select{padding:11px 12px;min-height:43px;border-radius:10px;border:1px solid #e1e5f0;background:white}.fs-message{background:#f0faf5!important;border:1px solid #cfeee0;border-radius:12px;padding:15px 17px!important;margin-bottom:15px;overflow-wrap:anywhere}.fs-copy{display:inline-block;margin-left:12px!important;background:#e3defe!important;color:#6455dd!important;border:0!important}
body.fs-login{margin:0!important;max-width:none!important;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 15%,#e9e8ff,transparent 35%),radial-gradient(circle at 80% 85%,#e2f2ff,transparent 38%),#f6f8fc!important}
body.fs-login main{max-width:440px!important;margin:20px!important;width:calc(100% - 40px);padding:40px!important;border:1px solid #e8eaf3;background:white!important;border-radius:22px!important;box-shadow:0 22px 60px #2c376023!important}.fs-login h1{font-size:26px;margin:0 0 10px}.fs-login input{display:block;width:100%;padding:13px;margin:10px 0!important}.fs-login button{width:100%;margin:5px 0!important;padding:12px;background:#6c5ce7;color:white;border:0}.fs-login main:before{content:'F';display:grid;place-items:center;font-weight:850;color:white;width:55px;height:55px;border-radius:15px;background:linear-gradient(130deg,#8873ff,#48c0db);font-size:27px;margin-bottom:22px}
@media(max-width:1150px){.fs-kpi{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){body.fs-ready{display:block}.fs-side{position:static;width:100%;height:auto;min-height:0;padding:14px 20px}.fs-brand{font-size:16px}.fs-symbol{width:34px;height:34px;font-size:18px}.fs-navtitle,.fs-link,.fs-bottom{display:none}body.fs-ready main{padding:22px 15px 55px!important}.fs-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fs-stat{padding:16px}.fs-stat strong{font-size:24px}.fs-panel{padding:17px}.fs-top h1{font-size:23px}.fs-admin{font-size:11px}}
