:root{--blue:#2D6CDF;--light:#CFE4FF;--ink:#12203a;--mut:#6b7a94;--line:#e3e9f3;--bg:#f6f9ff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
 font-family:"Segoe UI",Inter,system-ui,sans-serif}
.topbar{display:flex;justify-content:space-between;align-items:center;
 padding:16px 34px;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-size:19px;font-weight:500;letter-spacing:-.2px}
.brand b{font-weight:700;color:var(--blue)}
.dot{display:inline-block;width:11px;height:11px;border-radius:50%;
 background:var(--blue);margin-right:8px}
.tag{color:var(--mut);font-size:13.5px}
.link{text-decoration:none}.link:hover{color:var(--blue)}
.wrap{max-width:940px;margin:0 auto;padding:44px 26px 80px}
h1{font-size:31px;margin:0 0 8px;letter-spacing:-.6px}
h2{font-size:21px;margin:38px 0 4px}
.sub{color:var(--mut);margin:0 0 26px;line-height:1.6;max-width:640px}
.small{color:var(--mut);font-size:12.8px}
.note{background:var(--light);border-left:4px solid var(--blue);padding:11px 15px;
 border-radius:8px;margin-bottom:22px;font-size:14px}
.alert{background:#fdecec;border-left:4px solid #d94a4a;color:#8d2020;
 padding:11px 15px;border-radius:8px;margin:18px 0;font-size:14px}
.hidden{display:none}

.drop{display:flex;flex-direction:column;align-items:center;gap:9px;
 background:#fff;border:2px dashed #b9cdf0;border-radius:16px;padding:44px 20px;
 cursor:pointer;transition:.18s}
.drop:hover,.drop.over{border-color:var(--blue);background:#f4f8ff}
.big{font-size:17px;font-weight:600}.big em{font-style:normal;color:var(--mut);font-weight:400}
.picked{font-size:14px;color:var(--blue);font-weight:600}

.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
 gap:14px;margin:22px 0 4px}
.opt label{display:block;font-size:12.5px;color:var(--mut);margin-bottom:6px}
select{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;
 background:#fff;font-size:14px;color:var(--ink)}
.checks{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 26px;font-size:14px}
.checks label{display:flex;align-items:center;gap:7px;cursor:pointer}
input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}

.btn{display:inline-block;background:var(--blue);color:#fff;border:0;
 padding:14px 26px;border-radius:11px;font-size:15.5px;font-weight:600;
 cursor:pointer;text-decoration:none;box-shadow:0 6px 16px rgba(45,108,223,.24)}
.btn:hover{background:#245ac0}
.btn:disabled{background:#c2cee0;box-shadow:none;cursor:not-allowed}

.progress{display:flex;align-items:center;gap:15px;background:#fff;
 border:1px solid var(--line);border-radius:13px;padding:18px 22px;margin-top:24px}
.spinner{width:26px;height:26px;border:3px solid var(--light);
 border-top-color:var(--blue);border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

.scorewrap{background:#fff;border:1px solid var(--line);border-radius:16px;
 padding:26px;margin-bottom:20px}
.scorebig{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.ring{width:96px;height:96px;border-radius:50%;flex:none;display:flex;
 align-items:baseline;justify-content:center;gap:2px;
 background:var(--light);border:5px solid var(--blue);padding-top:26px}
.ring span{font-size:32px;font-weight:700;color:var(--blue)}
.ring small{color:var(--blue);opacity:.7}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.card{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px}
.card .k{display:block;font-size:12.5px;color:var(--mut)}
.card b{display:block;font-size:26px;margin:2px 0;color:var(--blue)}
.card small{color:var(--mut);font-size:12px}

.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.totals div{background:#fff;border:1px solid var(--line);border-radius:13px;
 padding:18px;text-align:center}
.totals b{display:block;font-size:27px;color:var(--ink)}
.totals span{font-size:12.8px;color:var(--mut)}

.dl{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.dl p{margin:14px 0 0;line-height:1.6}

.grp{background:#fff;border:1px solid var(--line);border-radius:13px;
 overflow:hidden;margin-bottom:14px}
.grphead{display:flex;justify-content:space-between;align-items:center;
 padding:13px 18px;background:#f0f5ff;border-bottom:1px solid var(--line)}
.pill{background:var(--blue);color:#fff;border-radius:20px;padding:2px 11px;font-size:12.5px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:600;color:var(--mut);font-size:12.5px;
 padding:9px 18px;border-bottom:1px solid var(--line)}
td{padding:9px 18px;border-bottom:1px solid #f2f5fa}
tr:last-child td{border-bottom:0}
td.num{text-align:right;font-weight:700;color:var(--blue);width:90px}
tr.zero td{color:#a9b4c6}tr.zero td.num{color:#c3ccda;font-weight:500}
@media(max-width:620px){.totals{grid-template-columns:1fr}}

/* ---------- client accounts (login / suspended / documents) ---------- */
body.centered{min-height:100vh;display:flex;align-items:center;justify-content:center}
.loginbox{background:#fff;border:1px solid var(--line);border-radius:16px;
 padding:34px;width:380px;box-shadow:0 12px 40px rgba(18,32,58,.09)}
.loginbox.wide-box{width:470px;text-align:center}
.lbrand{font-size:21px;font-weight:500}
.lbrand b{font-weight:700;color:var(--blue)}
.lsub{color:var(--mut);font-size:13.5px;margin:5px 0 20px}
.loginbox label{display:block;font-size:12.5px;color:var(--mut);margin:14px 0 6px;
 text-align:left}
.loginbox input{width:100%;padding:11px 12px;border:1px solid var(--line);
 border-radius:9px;font-size:14.5px}
.btn.wide{width:100%;margin-top:20px;border:0;display:block;text-align:center;
 text-decoration:none}
.help{color:var(--mut);font-size:13px;margin-top:18px;line-height:1.7}
.wa,.help a{color:#25D366;font-weight:700;text-decoration:none}
.wa:hover,.help a:hover{text-decoration:underline}
.backlink{display:block;margin-top:16px;font-size:13px;color:var(--mut);
 text-decoration:none}
.backlink:hover{color:var(--blue)}

.susp-icon{width:62px;height:62px;border-radius:50%;background:#fdf0e2;
 color:#d98324;font-size:34px;font-weight:700;line-height:62px;margin:22px auto 0}
.susp-icon.blocked{background:#fdecec;color:#d94a4a}
.susp-title{font-size:24px;margin:16px 0 8px}
.susp-text{color:var(--mut);line-height:1.65;font-size:14.5px;margin:0 0 18px}
.safe{background:#eaf7f0;border:1px solid #b9e2cd;border-radius:11px;
 padding:14px 16px;font-size:13.6px;line-height:1.65;color:#20614a;text-align:left}
.wa-btn{background:#25D366 !important;box-shadow:0 6px 16px rgba(37,211,102,.28) !important}
.wa-btn:hover{background:#1eb757 !important}

.userbar{display:flex;align-items:center;gap:10px}
.warnbar{background:#fdf0e2;border:1px solid #f0d5b0;border-left:4px solid #d98324;
 color:#8a5312;padding:12px 16px;border-radius:10px;margin-bottom:22px;font-size:14px}
.warnbar a{color:#1eae56;font-weight:700;text-decoration:none}

.accountbar{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.accountbar div{background:#fff;border:1px solid var(--line);border-radius:12px;
 padding:15px 18px}
.accountbar span{display:block;font-size:12.3px;color:var(--mut)}
.accountbar b{font-size:18px}
.tablewrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}
table.clients{width:100%;border-collapse:collapse;font-size:14px}
.clients th{text-align:left;font-size:12px;color:var(--mut);font-weight:600;
 text-transform:uppercase;letter-spacing:.4px;padding:12px 16px;background:#f0f5ff;
 border-bottom:1px solid var(--line)}
.clients td{padding:12px 16px;border-bottom:1px solid #f2f5fa}
.clients tr:last-child td{border-bottom:0}
.score{color:var(--blue);font-size:16px}
.empty{text-align:center;color:var(--mut);padding:34px}
.empty a{color:var(--blue)}
.acts{white-space:nowrap;text-align:right}
.mini{display:inline-block;background:#eef2f9;border:1px solid var(--line);
 color:var(--ink);padding:6px 12px;border-radius:7px;font-size:12.5px;
 text-decoration:none;margin-left:5px}
.mini:hover{background:#e2e9f5}
.mini.good{background:#e3f6ec;border-color:#bfe5d1;color:#17754f}
@media(max-width:620px){.accountbar{grid-template-columns:1fr}
 .loginbox,.loginbox.wide-box{width:92vw}}
