:root{
  --fu-red:#990000;
  --ink:#0f172a;
  --muted:#475569;
  --bg:#f6f7fb;
  --card:#ffffff;
  --line:#e5e7eb;
  --ok:#16a34a;
  --warn:#f59e0b;
  --bad:#dc2626;
  --radius:16px;
  --shadow:0 10px 30px rgba(15,23,42,.08);
}

html,body{height:100%}
body{background:var(--bg);color:var(--ink);}
a{color:var(--fu-red);text-decoration:none}
a:hover{text-decoration:underline}
.navbar{background:#fff;border-bottom:1px solid var(--line);}
.navbar-brand{font-weight:800;letter-spacing:.2px}
.container-narrow{max-width:1100px}
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.card-header{background:#fff;border-bottom:1px solid var(--line);border-top-left-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}
.btn{border-radius:12px}
.btn-primary{background:var(--fu-red);border-color:var(--fu-red)}
.btn-primary:hover{filter:brightness(.95)}
.btn-success{background:var(--ok);border-color:var(--ok)}
.btn-danger{background:var(--bad);border-color:var(--bad)}
.badge-fu{background:rgba(153,0,0,.08);color:var(--fu-red);border:1px solid rgba(153,0,0,.2)}
.text-muted{color:var(--muted)!important}
.form-control,.form-select{border-radius:12px;border-color:var(--line)}
.table> :not(caption)>*>*{vertical-align:middle}
.kpi{display:flex;gap:14px;flex-wrap:wrap}
.kpi .tile{flex:1;min-width:220px;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.tile .label{color:var(--muted);font-size:.9rem}
.tile .value{font-size:1.6rem;font-weight:800}
.thumb{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#fff}
.small-help{font-size:.9rem;color:var(--muted)}
hr.soft{border:0;border-top:1px solid var(--line);opacity:1}
