:root { --ink:#142434; --muted:#647382; --blue:#075985; --blue-dark:#0c3b5d; --sky:#e8f4fa; --line:#d8e1e7; --paper:#f7f9fa; --danger:#a92828; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--blue); }
.container { width:min(1120px,calc(100% - 32px)); margin:0 auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.nav-row { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:var(--ink); text-decoration:none; font-weight:800; font-size:20px; letter-spacing:-.03em; }
nav { display:flex; align-items:center; gap:20px; } nav a,.link-button { color:var(--ink); text-decoration:none; font-weight:600; }
.link-button { border:0; background:none; padding:0; cursor:pointer; font:inherit; }
main.container { padding-top:40px; padding-bottom:80px; }
h1,h2 { line-height:1.15; letter-spacing:-.025em; } h1 { font-size:clamp(30px,5vw,44px); margin:.15em 0; } h2 { font-size:20px; }
.eyebrow { margin:0; color:var(--blue); text-transform:uppercase; font-size:12px; letter-spacing:.13em; font-weight:800; }
.muted,.source { color:var(--muted); } .source { font-size:13px; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--blue); border-radius:8px; padding:10px 16px; color:var(--blue); background:#fff; text-decoration:none; font:inherit; font-weight:700; cursor:pointer; }
.button.primary { color:#fff; background:var(--blue); } .button.primary:hover { background:var(--blue-dark); } .button.secondary { border-color:var(--line); color:var(--ink); }
.button.small { padding:6px 10px; font-size:13px; }.button.danger { border-color:#edcaca; color:var(--danger); }
.filters { padding:18px; display:flex; gap:16px; align-items:end; background:#fff; border:1px solid var(--line); border-radius:12px; }
label { display:block; margin-bottom:5px; font-size:13px; font-weight:700; }
input,select { width:100%; min-height:42px; padding:8px 10px; border:1px solid #b8c5cf; border-radius:7px; background:#fff; color:var(--ink); font:inherit; }
.filters > div { min-width:180px; }.filters .button { width:auto; }
.day-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:26px 0; }.day-nav a:last-child { text-align:right; }
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px; }
.chart-card { padding:22px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 2px 12px rgba(20,36,52,.04); }
.card-top { display:flex; align-items:center; justify-content:space-between; font-weight:700; }.badge,.status { display:inline-block; border-radius:99px; padding:4px 9px; font-size:12px; font-weight:800; }.badge.temsi { color:#6b3100; background:#ffead6; }.badge.wintem { color:#075985; background:#dff1fb; }
.empty-state { padding:60px 20px; text-align:center; background:#fff; border:1px dashed #b8c5cf; border-radius:12px; }
.auth-card,.account-card { width:min(560px,100%); margin:5vh auto; padding:32px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 40px rgba(20,36,52,.08); }.auth-card { width:min(480px,100%); }.stack { display:grid; gap:18px; margin-top:24px; }.auth-foot { text-align:center; margin:24px 0 0; }
fieldset { display:grid; gap:16px; margin:4px 0; padding:20px; border:1px solid var(--line); border-radius:10px; }legend { padding:0 8px; font-weight:800; }.form-hint { margin:0; font-size:13px; }
.flash { margin-bottom:20px; padding:12px 16px; border-radius:8px; background:#ddf6e8; }.flash.alert { color:#7b2020; background:#fde8e8; }
.document-actions { display:flex; gap:12px; margin:20px 0; }.pdf-preview { width:100%; height:72vh; border:1px solid var(--line); border-radius:12px; background:#fff; }
.section { margin-top:36px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; background:#fff; }th,td { padding:12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }th { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.actions { display:flex; flex-wrap:wrap; gap:8px; }.actions form { display:inline; }.inline-form { display:grid!important; gap:6px; min-width:220px; margin-top:8px; }.status.pending { background:#fff0c4; }.status.active { background:#ddf6e8; }.status.disabled { background:#eee; }.ok { color:#157343; font-weight:700; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; }.stats div { padding:18px; background:#fff; border:1px solid var(--line); border-radius:10px; }.stats span { display:block; color:var(--muted); font-size:13px; }.stats strong { display:block; margin-top:7px; font-size:17px; }
.back-link { display:inline-block; margin-bottom:18px; }
@media (max-width:700px) { .nav-row,.page-heading,.filters { align-items:stretch; flex-direction:column; }.nav-row { padding:16px 0; }.nav-row nav { flex-wrap:wrap; }.filters > div { min-width:0; }.day-nav { grid-template-columns:1fr 1fr; gap:10px; }.day-nav strong { grid-column:1/-1; grid-row:1; text-align:center; }.pdf-preview { height:58vh; } }
