:root{
  --red:#790417;--red2:#c62b2b;--ink:#202124;--muted:#687078;--line:#dfe3e6;
  --bg:#f5f6f7;--card:#fff;--ok:#176b3a;--warn:#9a6400;--danger:#a21b1b;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}
.topbar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px max(16px,calc((100vw - 1180px)/2))}
.brand{display:flex;gap:10px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.container{max-width:1180px;margin:0 auto;padding:22px 16px 50px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #00000008}
h1{font-size:30px;margin:5px 0 8px}h2{font-size:19px;margin:0 0 14px}p{color:var(--muted);line-height:1.5}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--red);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stat span{display:block;color:var(--muted);font-size:13px}.stat b{font-size:26px;display:block;margin-top:5px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head h1{margin-top:2px}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--red);color:#fff}.success{background:var(--ok);color:#fff}.danger{background:#fff0f0;color:var(--danger);border:1px solid #efcaca}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.hidden{display:none!important}.back{border:0;background:none;color:var(--red);font-weight:700;padding:0;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:block;font-size:13px;font-weight:700;color:#343a40}input,textarea,select{display:block;width:100%;margin-top:6px;border:1px solid #cfd5da;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;font-weight:400}textarea{resize:vertical}
.criteria-card{padding:0;overflow:hidden}.criteria-title{background:#fafafa;border-bottom:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;gap:15px}.criteria-title p{margin:4px 0 0;font-size:12px}.section-total{font-weight:800;white-space:nowrap}.criterion{display:grid;grid-template-columns:42px 1fr 170px 100px;gap:10px;align-items:center;padding:12px 20px;border-bottom:1px solid #eef0f2}.criterion:last-child{border-bottom:0}.num{color:var(--muted);font-weight:800}.criterion-text{font-size:14px;line-height:1.35}.criterion small{color:var(--muted);font-size:11px}.points-input{width:90px;margin:0}.criterion-result{display:flex;gap:7px;align-items:center}.criterion-result input{margin:0}.scorebox{min-width:150px;text-align:right}.scorebox span,.scorebox small{display:block;color:var(--muted);font-size:12px}.scorebox strong{font-size:26px;display:block}.scorebox small{font-weight:700}
.actions{display:flex;gap:8px;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:0;background:#fffffff2;border:1px solid var(--line);padding:12px;border-radius:12px;backdrop-filter:blur(6px);justify-content:flex-end}
.record{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.record:first-child{border-top:0}.record-title{font-weight:800}.record-meta{font-size:12px;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;margin-left:6px;background:#eee}.badge.good{background:#e4f5eb;color:var(--ok)}.badge.mid{background:#fff3d9;color:var(--warn)}.badge.low{background:#ffe6e6;color:var(--danger)}
.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top;font-size:13px}.detail-table th{background:#fafafa}.detail-section{margin-bottom:16px}
footer{max-width:1180px;margin:auto;padding:20px 16px 35px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}
@media(max-width:720px){.hero,.section-head{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.criterion{grid-template-columns:30px 1fr;gap:7px}.criterion-result{grid-column:2}.criterion-points{grid-column:2}.scorebox{text-align:left}.record{grid-template-columns:1fr}.sticky-actions{justify-content:stretch}.sticky-actions .btn{flex:1}h1{font-size:25px}}

.history-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr auto;gap:10px;align-items:end;margin:16px 0;padding:14px;background:#fafafa;border:1px solid var(--line);border-radius:12px}
.analytics{margin-bottom:16px}.analytics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.mini-stat{background:#f8f9fa;border:1px solid var(--line);border-radius:10px;padding:10px}.mini-stat span{font-size:11px;color:var(--muted);display:block}.mini-stat b{font-size:20px}.issue-panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.issue-panel h3{margin:0 0 10px;font-size:15px}.empty-analytics{padding:12px;background:#fafafa;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}
@media(max-width:850px){.history-filters{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.history-filters{grid-template-columns:1fr}.analytics-grid{grid-template-columns:1fr 1fr}}

.brand-logo{width:150px;height:58px;object-fit:contain;background:#f2f4f5;border-radius:10px;padding:4px;box-sizing:border-box;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.event-grid label{display:flex;flex-direction:column;gap:7px}.event-grid label>span{font-weight:700}.event-grid select{width:100%}.event-grid textarea{resize:vertical}
@media(max-width:800px){.brand-logo{width:115px;height:48px}.event-grid{grid-template-columns:1fr}}
