:root{
  --bg:#F4F5F7; --surface:#FFFFFF; --border:#DFE1E6; --text:#172B4D;
  --muted:#6B778C; --blue:#0052CC; --blue-soft:#DEEBFF;
  --green:#36B37E; --green-soft:#E3FCEF; --yellow:#FFAB00; --yellow-soft:#FFF0B3;
  --red:#DE350B; --red-soft:#FFEBE6;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 60px;}
header.top{background:var(--surface);border-bottom:1px solid var(--border);}
header.top .wrap{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
h1{font-size:22px;margin:0;}
.sub{color:var(--muted);font-size:13px;margin-top:2px;}
h2.section-title{font-size:16px;margin:32px 0 12px;display:flex;align-items:center;gap:10px;}
h2.section-title::after{content:"";flex:1;height:1px;background:var(--border);}

.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);padding:8px 14px;border-radius:6px;font-size:14px;cursor:pointer;font-family:inherit;
  transition:background .12s,border-color .12s;}
.btn:hover{background:#F4F5F7;}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;}
.btn-primary:hover{background:#0747A6;}
.btn-green{background:var(--green);border-color:var(--green);color:#fff;font-weight:600;}
.btn-green:hover{background:#2A9367;}
.btn-ghost{background:transparent;}
.btn-danger{color:var(--red);border-color:#FFBDAD;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;}
.card .label{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:600;}
.card .value{font-size:30px;font-weight:700;margin-top:6px;line-height:1.1;}
.card .hint{font-size:12px;color:var(--muted);margin-top:6px;}
.card.accent{background:linear-gradient(135deg,#0052CC,#0747A6);border-color:#0747A6;color:#fff;}
.card.accent .label,.card.accent .hint{color:rgba(255,255,255,.82);}

.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;}
.bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;min-width:120px;}
.bar>i{display:block;height:100%;background:var(--green);border-radius:4px;}
.bar.warn>i{background:var(--yellow);}
.bar.bad>i{background:var(--red);}

table.plain{width:100%;border-collapse:collapse;}
table.plain td{padding:7px 4px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.plain tr:last-child td{border-bottom:none;}

.badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;}
.badge-published{background:var(--green-soft);color:#006644;}
.badge-draft{background:var(--yellow-soft);color:#974F0C;}

.client{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.client summary{cursor:pointer;padding:14px 18px;display:flex;align-items:center;gap:14px;list-style:none;}
.client summary::-webkit-details-marker{display:none;}
.client summary:hover{background:#FAFBFC;}
.client summary .arrow{color:var(--muted);transition:transform .15s;}
.client[open] summary .arrow{transform:rotate(90deg);}
.client summary .name{font-weight:600;flex:1;}
.client summary .score{font-size:18px;font-weight:700;min-width:64px;text-align:right;}
.client .body{padding:0 18px 18px;border-top:1px solid var(--border);}
.client .body h4{margin:16px 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}

table.qa{width:100%;border-collapse:collapse;font-size:13px;}
table.qa th,table.qa td{border:1px solid var(--border);padding:7px 9px;text-align:left;vertical-align:top;}
table.qa th{background:#F4F5F7;font-weight:600;}
table.qa tr.sec td{background:#EAECF0;font-weight:700;}
table.qa td.num{text-align:center;width:60px;}

table.qa tr.excluded td{color:var(--muted);background:#FAFBFC;}
table.qa tr.excluded td:first-child{text-decoration:line-through;}
.wold{color:var(--muted);text-decoration:line-through;font-size:11px;}
.wnew{color:var(--blue);font-weight:600;}
.callout{margin-top:12px;padding:10px 14px;border-left:3px solid var(--blue);background:var(--blue-soft);
  font-size:13px;border-radius:0 6px 6px 0;}

.empty{color:var(--muted);padding:22px;text-align:center;}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.spacer{flex:1;}
input[type=text],textarea,select{font-family:inherit;font-size:14px;color:var(--text);
  border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface);width:100%;}
input[type=text]:focus,textarea:focus{outline:2px solid var(--blue-soft);border-color:var(--blue);}
label.fld{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px;}

.toast{position:fixed;right:20px;bottom:20px;background:#172B4D;color:#fff;padding:12px 18px;border-radius:8px;
  opacity:0;transform:translateY(8px);transition:all .2s;pointer-events:none;z-index:50;}
.toast.show{opacity:1;transform:translateY(0);}
