
:root {
  --brand:#004578; /* Fluent primary */
  --brand-acc:#107c10; /* Accent */
  --bg:#ffffff;
  --text:#1b1b1b;
  --muted:#616161;
  --border:#d1d1d1;
}
* { box-sizing:border-box; }
html, body { height:100%; }
body { font-family: Segoe UI, Calibri, Arial, sans-serif; margin:0; color:var(--text); background:var(--bg); }
header { display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--border); background:#f7f7f7; }
header h1 { font-size:20px; margin:0; color:var(--brand); }
nav a { margin-right:12px; color:var(--brand); text-decoration:none; }
nav a:hover { text-decoration:underline; }
main { max-width:1100px; margin:24px auto; padding:0 16px; }
section { margin-bottom:24px; }
h2 { font-size:18px; border-bottom:1px solid var(--border); padding-bottom:6px; }
label { display:block; margin:8px 0 4px; }
input[type=text], input[type=url], input[type=date], select, textarea { width:100%; padding:8px; border:1px solid var(--border); border-radius:4px; }
textarea { min-height:80px; }
.button-row { display:flex; gap:8px; margin-top:12px; }
button { background:var(--brand); color:white; border:none; padding:8px 12px; border-radius:4px; cursor:pointer; }
button[aria-disabled="true"], button:disabled { background:#999; cursor:not-allowed; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { border:1px solid var(--border); padding:8px; text-align:left; }
.badge { display:inline-block; padding:2px 8px; border-radius:12px; font-size:12px; border:1px solid var(--border); }
.badge.complete { background:#e6f4ea; color:#0b6a0b; }
.badge.progress { background:#eef3ff; color:#00478a; }
.badge.not { background:#fff1f0; color:#b00020; }
.kpi { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.card { border:1px solid var(--border); border-radius:6px; padding:12px; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,0.04); }
.card h3 { margin-top:0; font-size:16px; }
.tabbar { display:flex; gap:8px; margin-bottom:12px; }
.tabbar button { background:#eee; color:#000; }
.tabbar button.active { background:var(--brand); color:#fff; }
.visually-hidden { position:absolute; left:-9999px; }
footer { padding:24px; border-top:1px solid var(--border); color:var(--muted); text-align:center; }
