:root{--navy:#172b4d;--deep-blue:#1f4e79;--sky-blue:#4ea3f1;--teal:#21a6a1;--coral:#ff7a59;--amber:#f4b740;--background:#f7f9fc;--text:#1f2933;--muted:#6b7280;--card:#fff;--border:#d8e2ee}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:linear-gradient(120deg, var(--navy), var(--deep-blue));color:#fff;padding:20px clamp(18px,4vw,44px)}.topbar__title{margin:0;font-size:clamp(1.25rem,3vw,1.8rem)}.topbar__subtitle{color:#ffffffc7;margin:6px 0 0}.main{width:min(1120px,100%);margin:0 auto;padding:24px clamp(16px,4vw,32px) 48px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.card,.panel{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 14px 30px #172b4d0f}.card{padding:18px}.panel{padding:clamp(20px,4vw,32px)}.badge{min-height:28px;color:var(--deep-blue);background:#eaf4ff;border-radius:999px;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.button-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.button{color:#fff;background:var(--deep-blue);border:0;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.button.secondary{background:var(--teal)}.button.danger{background:var(--coral)}.muted{color:var(--muted)}.list{padding-left:20px;line-height:1.8}.stack-xl{gap:20px;display:grid}.auth-panel{max-width:520px}.admin-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.form-stack,.admin-form-grid{gap:14px;display:grid}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}label,fieldset{gap:7px;font-weight:700;display:grid}input,select{border:1px solid var(--border);min-height:44px;color:var(--text);font:inherit;background:#fff;border-radius:12px;padding:0 12px}fieldset{border:1px solid var(--border);border-radius:12px;padding:12px}.role-fieldset{align-self:stretch}.checkbox-row{align-items:center;gap:8px;font-weight:500;display:flex}.checkbox-row input{min-height:auto}.alert{border-radius:14px;padding:12px 14px;font-weight:700}.alert-success{color:#14532d;background:#dcfce7;border:1px solid #86efac}.alert-error{color:#7f1d1d;background:#fee2e2;border:1px solid #fecaca}.user-card-list{gap:16px;display:grid}.user-card{border:1px solid var(--border);background:#fbfdff;border-radius:18px;padding:16px}.user-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.inline-reset-form{flex-wrap:wrap;gap:10px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px}th{color:var(--deep-blue);background:#eef6ff}.hero-panel{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--border);background:linear-gradient(140deg,#fff,#eef7ff);border-radius:18px;padding:18px;box-shadow:0 12px 28px #172b4d0d}.metric-card span,.metric-card small{color:var(--muted);display:block}.metric-card strong{color:var(--navy);margin-top:8px;font-size:1.45rem;display:block}.status-badge{color:var(--deep-blue);background:#eef2ff;border-radius:999px;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.text-link{color:var(--deep-blue);font-weight:700;text-decoration:underline}textarea{border:1px solid var(--border);color:var(--text);font:inherit;resize:vertical;background:#fff;border-radius:12px;padding:12px}.wide-field{grid-column:1/-1}.timeline{gap:10px;display:grid}.timeline-item{border-left:4px solid var(--sky-blue);background:#fbfdff;border-radius:10px;padding:10px 12px}@media (max-width:720px){.hero-panel,.admin-hero,.user-card__header{display:grid}}
