:root{
  --bg:#f4f8fb;--card:#fff;--text:#183040;--muted:#6d7e89;--line:#dce7ed;
  --primary:#3f7ea6;--primary2:#67a7c5;--accent:#c99b4f;--danger:#b94f58;
  --shadow:0 10px 28px rgba(24,48,64,.07);--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f7fbfd 0,#eef5f8 100%);color:var(--text);font-family:Tahoma,Arial,sans-serif;line-height:1.65;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.wrap{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:24px 0 42px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.brand h1{margin:0;font-size:clamp(24px,4vw,34px);line-height:1.3}.brand .sub{margin-top:5px;color:var(--muted)}
#nav{margin:0 0 18px;position:sticky;top:0;z-index:20;padding-top:8px;background:linear-gradient(180deg,rgba(244,248,251,.97) 72%,rgba(244,248,251,0))}
.nav{display:flex;gap:7px;overflow-x:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);scrollbar-width:thin}
.nav a{white-space:nowrap;padding:8px 11px;border-radius:10px;color:#526773;font-size:13px;font-weight:700}
.nav a:hover{background:#f0f6f9;color:var(--primary)}.nav a.active{background:var(--primary);color:#fff}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.span12{grid-column:span 12}.span8{grid-column:span 8}.span6{grid-column:span 6}.span4{grid-column:span 4}.span3{grid-column:span 3}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);min-width:0}.card h2,.card h3{margin:0 0 8px}.hero{background:linear-gradient(135deg,#fff,#f1f8fb)}
.section-title,.row{display:flex;align-items:center;gap:10px}.section-title,.between{justify-content:space-between}.section-title{flex-wrap:wrap;margin-bottom:10px}
.muted,.mini{color:var(--muted)}.mini{font-size:12.5px}.kpi{font-size:clamp(27px,5vw,38px);font-weight:800;color:var(--primary);margin:4px 0 10px}
.badge{display:inline-flex;align-items:center;gap:4px;background:#edf6fa;color:var(--primary);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.field{margin-top:11px}.label{font-size:13px;font-weight:700;margin-bottom:5px;color:#425a68}
input,select,textarea{width:100%;border:1px solid #d6e2e8;background:#fff;color:var(--text);border-radius:11px;padding:10px 11px;outline:none;transition:.15s}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8fbcd2;box-shadow:0 0 0 3px rgba(63,126,166,.10)}
input[type=checkbox]{width:auto;accent-color:var(--primary);transform:scale(1.12)}
.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;background:var(--primary);color:#fff;padding:9px 13px;font-weight:700;cursor:pointer;transition:.15s}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.secondary{background:#edf4f7;color:#294756}.btn.gold{background:var(--accent);color:#fff}.btn.danger{background:var(--danger)}.danger-text{color:var(--danger)}
.list{display:grid;gap:8px}.item{background:#f8fbfc;border:1px solid #e3ebef;border-radius:12px;padding:10px 11px}.item.done{opacity:.62}.item.done strong{text-decoration:line-through}.checkrow{display:flex;gap:9px;align-items:flex-start;cursor:pointer}.checkrow input{margin-top:5px;flex:0 0 auto}
.progress-wrap{height:13px;background:#e8eff3;border-radius:999px;overflow:hidden}.progress{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:999px;transition:width .25s}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:650px;background:#fff}th,td{padding:10px;border-bottom:1px solid #e7edf0;text-align:right;vertical-align:top}th{font-size:12px;color:#5d707b;background:#f6f9fa}tr:last-child td{border-bottom:0}
.footer{text-align:center;color:var(--muted);font-size:12.5px;margin-top:22px;padding:12px}.empty{color:var(--muted);padding:12px;text-align:center}
@media(max-width:900px){.span3,.span4{grid-column:span 6}.span8{grid-column:span 12}}
@media(max-width:640px){.wrap{width:min(100% - 18px,1180px);padding-top:13px}.grid{gap:10px}.span3,.span4,.span6,.span8,.span12{grid-column:span 12}.card{padding:13px;border-radius:15px}.row.between,.section-title{align-items:flex-start}.btn{padding:9px 11px}.nav{border-radius:12px}.topbar{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
