:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#19243b;background:#edf6ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh;background:#edf6ff;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#6d7e95}.saas-login{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 18% 14%,rgba(47,198,221,.22),transparent 30%),radial-gradient(circle at 82% 78%,rgba(112,91,233,.2),transparent 35%),#edf6ff}.saas-login-card{width:430px;padding:38px;display:grid;gap:18px;border:1px solid #d8e7f4;border-radius:22px;background:#fffffff5;box-shadow:0 24px 72px #2b497426}.saas-login-card h1{margin:-6px 0 0;font-size:27px}.saas-login-card p{margin:-8px 0 4px;color:#7d8ca2;line-height:1.7}.saas-login-card label,.admin-form label{display:grid;gap:8px;color:#50627c;font-size:13px;font-weight:700}.saas-login-card input,.admin-form input,.admin-form select{height:44px;padding:0 13px;border:1px solid #d4e4f1;border-radius:10px;color:#283a55;background:#fbfdff;outline:none}.saas-login-card input:focus,.admin-form input:focus{border-color:#4dc6dd;box-shadow:0 0 0 3px #4dc6dd1f}.saas-login-card small,.admin-form small{color:#8797ad;line-height:1.6}.form-error{padding:11px 13px;color:#b93e64;border:1px solid #f0c3d1;border-radius:9px;background:#fff4f7;font-size:13px}.brand{display:flex;gap:12px;align-items:center;padding:0 5px 28px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#37c7e7,#7368f4);box-shadow:0 9px 20px #4f79e038}.brand strong{display:block;font-size:17px}.brand span{display:block;margin-top:5px;color:#8a9ab0;font-size:11px}.eyebrow{padding:5px 9px;border:1px solid #cde7f3;border-radius:7px;color:#4f91ac;background:#effbff;font-size:11px;font-weight:750;letter-spacing:.08em}.admin-shell{min-width:1120px;min-height:100vh;display:flex;background:#edf6ff}.admin-sidebar{width:238px;padding:28px 18px 20px;display:flex;flex-direction:column;border-right:1px solid #d7e6f4;background:#f5fbfff2}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav button{height:46px;padding:0 15px;text-align:left;border:1px solid transparent;border-radius:10px;color:#445671;background:transparent;font-weight:750}.admin-sidebar nav button.active{color:#226487;border-color:#a8ddec;background:linear-gradient(105deg,#e3faff,#f0eaff);box-shadow:inset 3px 0 #31bfd5}.admin-sidebar .logout{margin-top:auto}.logout{height:45px;display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:0 14px;border:1px solid #f1d4e4;border-radius:11px;color:#c85079;background:#fff6fa}.admin-workspace{min-width:0;flex:1;padding:26px 30px 40px;overflow:auto}.admin-workspace>header{min-height:84px;margin-bottom:20px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border:1px solid #d9e8f5;border-radius:16px;background:#ffffffe0}.admin-workspace>header h1{margin:5px 0 0;font-size:23px}.admin-workspace>header>div:last-child{display:flex;gap:14px;align-items:center;color:#64758d}.admin-workspace>header .ghost{display:inline-flex;gap:6px;align-items:center}.admin-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.admin-form{padding:22px;display:grid;gap:16px}.admin-form h3{margin:0 0 4px}.card{border:1px solid #d8e8f4;border-radius:13px;background:#ffffffd6;box-shadow:0 10px 28px #3f628d12}.admin-table-card{padding:12px;overflow:auto}.admin-table-card table{width:100%;border-collapse:collapse;min-width:700px}.admin-table-card th{padding:12px;color:#687b93;background:#edf7ff;text-align:left;font-size:12px}.admin-table-card td{padding:14px 12px;border-bottom:1px solid #e1ebf4;color:#3e516a;font-size:13px}.table-actions{display:flex;gap:6px}.table-actions button{padding:7px 9px;border:1px solid #cfe1ef;border-radius:7px;color:#3f7193;background:#f8fcff;font-size:11px}.empty-admin{padding:44px;color:#92a1b4;text-align:center}.resource-admin{padding:20px}.resource-head{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.resource-head h3{margin:0 0 7px}.resource-head p{margin:0;color:#8493a7}.file-button{display:inline-flex;gap:8px;align-items:center;padding:0 16px;height:40px;border-radius:9px;cursor:pointer}.file-button input{display:none}.primary,.ghost{min-height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:13px}.primary{color:#fff;background:linear-gradient(110deg,#28b7d5,#685be9);box-shadow:0 7px 15px #4a66d12b}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.ghost{color:#54728d;background:#f7fbff;border-color:#d7e6f2}.toast{position:fixed;z-index:1000;top:50%;left:50%;transform:translate(-50%,-50%);max-width:420px;min-width:180px;padding:13px 17px;color:#11745e;border:1px solid #9ddfce;border-radius:11px;background:#effcf8;box-shadow:0 14px 34px #24425b2e;font-size:13px;font-weight:700;line-height:1.5;text-align:center;pointer-events:none}
