:root{
  --bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--ink:#183247;--muted:#728397;--line:#e5ebf2;
  --primary:#0878ee;--primary-2:#0667cf;--navy:#062844;--navy-2:#0a3759;--danger:#ef4444;--success:#22a06b;--warning:#c58a00;
  --shadow:0 10px 30px rgba(17,45,70,.06);--shadow-lg:0 24px 70px rgba(17,45,70,.14);--radius:12px;--radius-sm:9px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer}
.app{min-height:100vh;display:flex}.sidebar{width:198px;background:linear-gradient(180deg,var(--navy),#082e4a);color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.brand{padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-text{line-height:1.18;font-weight:800;font-size:12px;letter-spacing:-.01em}.brand-text span,.brand-text small{display:block}.brand-text small{color:#bdd2e5;font-weight:700;margin-top:3px}.nav{padding:14px 10px;display:grid;gap:4px}.nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;color:#cbd8e6;font-size:12px;font-weight:800}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.active{background:#0b7ef3;color:#fff;box-shadow:0 8px 18px rgba(0,126,243,.25)}.nav .sep{height:1px;background:rgba(255,255,255,.08);margin:9px 3px}.sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.user-mini{display:flex;align-items:center;gap:9px;padding:8px 6px}.avatar{width:31px;height:31px;border-radius:50%;background:#e3f0ff;color:#0b67be;display:grid;place-items:center;font-weight:900;font-size:12px}.user-mini small{display:block;color:#97aec2;margin-top:2px;font-size:10px}.logout{display:flex;align-items:center;gap:8px;padding:8px 7px;color:#c7d5e2;font-weight:800;font-size:12px;border-radius:8px}.logout:hover{background:rgba(255,255,255,.06);color:#fff}
.main{margin-left:198px;min-width:0;flex:1}.topbar{height:68px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.crumb{font-size:13px;color:var(--muted);font-weight:800}.topbar .app-name{font-size:12px;font-weight:800;color:#5f7387}.page{padding:24px 28px;max-width:1460px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.page-head h1{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.03em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;font-size:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(8,120,238,.18)}.btn-primary:hover{background:var(--primary-2);transform:translateY(-1px)}.btn-soft{background:#eaf3fb;color:#18577f}.btn-soft:hover{background:#dfeef9}.btn-danger{background:#fff0f1;color:#bb2c36}.btn-danger:hover{background:#ffe6e8}.btn-ghost{background:transparent;color:#697b8d}.btn-ghost:hover{background:#edf2f7}.btn:disabled{opacity:.5;cursor:not-allowed}
.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.stat{padding:17px 18px}.stat .label{color:#718498;font-size:11px;font-weight:800}.stat .value{font-size:28px;font-weight:900;margin-top:5px;letter-spacing:-.04em}.stat .sub{font-size:10px;color:#97a6b5;margin-top:4px}.stat-icon{width:35px;height:35px;border-radius:9px;background:#ebf4fc;color:var(--primary);display:grid;place-items:center;margin-bottom:13px;font-size:14px}.section-title{font-weight:900;font-size:15px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 15px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:10px;color:#8393a2;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2)}.table td{font-size:12px}.table tr:hover td{background:#fbfdff}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.status.success{background:#e9f8f0;color:var(--success)}.status.danger{background:#fff0f2;color:#d03847}.status.warning{background:#fff6dd;color:#9a6b00}.status.neutral{background:#eef2f6;color:#667688}
.form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:900;color:#28445a}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5ed;background:#fff;border-radius:8px;padding:10px 11px;outline:none;color:var(--ink);font-size:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ec2f7;box-shadow:0 0 0 4px rgba(8,120,238,.08)}.field textarea{min-height:140px;resize:vertical}.help{font-size:10px;color:var(--muted)}.alert{border-radius:9px;padding:11px 13px;font-size:12px;margin-bottom:16px}.alert.success{background:#ecf9f2;color:#17623f;border:1px solid #cfebdb}.alert.error{background:#fff1f2;color:#ad2c39;border:1px solid #f1d1d6}.alert.warning{background:#fff8e8;color:#865c00;border:1px solid #eeddb3}.alert.info{background:#eef6ff;color:#215f95;border:1px solid #d9e9f8}.empty{padding:40px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:6px}
.split{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:16px}.editor{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.toolbar{display:flex;flex-wrap:wrap;gap:3px;padding:7px;border-bottom:1px solid var(--line);background:#fafcfe}.tool{border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 8px;cursor:pointer;font-weight:900;color:#3c5265;font-size:11px}.tool:hover{background:#eaf3fb;color:#13598e}.editor-area{min-height:350px;padding:16px;outline:none;font-size:12px;line-height:1.65}.editor-area:focus{box-shadow:inset 0 0 0 2px rgba(8,120,238,.08)}.preview{border:1px solid var(--line);border-radius:10px;min-height:420px;background:#fff;overflow:hidden}.preview-head{padding:12px 14px;border-bottom:1px solid var(--line);font-size:11px;color:#728397}.preview-body{padding:18px;font-size:12px;line-height:1.7}.template-vars{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:5px 8px;background:#edf6ff;color:#145e94;border-radius:7px;font-size:10px;font-weight:900;cursor:pointer}.search{position:relative}.search input{padding-left:33px}.search:before{content:'⌕';position:absolute;left:12px;top:8px;color:#90a0ad;font-weight:900}.kpi-list{display:grid;gap:6px}.kpi-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.muted{color:var(--muted)}.text-right{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.danger-note{background:#fff5f6;border:1px solid #f1d4d8;border-radius:9px;padding:11px;color:#8f2c38;font-size:11px}.two-col-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.small-note{font-size:10px;color:var(--muted);margin-top:5px}.security-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fbfdff;margin-top:14px}.security-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-weight:900}.security-card.success{background:#eefaf4;border-color:#d5efe0}.security-card.success .security-icon{background:#d4f1df;color:#19885b}.security-card strong,.security-card span{display:block}.security-card strong{font-size:11px}.security-card span{font-size:10px;color:#748495;margin-top:2px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,#e9f5ff 0,#f4f7fb 35%,#f4f7fb 100%)}.auth-shell{width:min(1050px,100%);display:grid;grid-template-columns:1.02fr .98fr;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg)}.auth-side{padding:40px;background:linear-gradient(160deg,#083454,#0a6fc9 85%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:620px}.auth-side h1{font-size:31px;line-height:1.08;margin:0 0 13px;letter-spacing:-.04em}.auth-side p{color:#d6e7f8;line-height:1.65;font-size:13px;max-width:390px}.auth-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:7px 9px;border-radius:999px;width:max-content;font-size:9px;font-weight:900;letter-spacing:.04em}.auth-main{padding:40px}.auth-main h2{margin:0 0 7px;font-size:23px;letter-spacing:-.03em}.auth-main .lead{color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.55}.otp{text-align:center;font-size:27px;font-weight:900;letter-spacing:.42em}.qr{width:222px;height:222px;border:10px solid #fff;box-shadow:0 10px 25px rgba(0,0,0,.08);border-radius:10px;margin:0 auto 15px;display:block}.auth-links{display:flex;justify-content:flex-end;margin-top:-4px}.auth-links a{font-size:11px;color:#1a70be;font-weight:800}.auth-links a:hover{text-decoration:underline}
.modal{position:fixed;inset:0;background:rgba(10,25,40,.45);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.open{display:flex}.modal-card{background:#fff;border-radius:16px;max-width:560px;width:100%;box-shadow:0 28px 90px rgba(0,0,0,.2);overflow:hidden}.modal-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-body{padding:18px}.modal-foot{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.close{border:0;background:transparent;cursor:pointer;color:var(--muted)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sidebar{width:188px}.main{margin-left:188px}}
@media(max-width:780px){.sidebar{position:static;width:100%;min-height:auto}.app{display:block}.main{margin-left:0}.nav{grid-template-columns:repeat(2,1fr)}.nav .sep{display:none}.topbar{position:static}.page{padding:18px}.grid-4,.grid-3,.grid-2,.two-col-form{grid-template-columns:1fr}.page-head{display:block}.actions{margin-top:12px}.auth-shell{grid-template-columns:1fr}.auth-side{display:none}.auth-main{padding:28px}.auth-page{padding:14px}}
.auth-wordmark{font-size:13px;font-weight:900;line-height:1.18;color:#183247;letter-spacing:-.01em;margin-bottom:24px}.auth-wordmark span{color:#6f8294}
