:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172334;background:#f5f7fa}
*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#1262a3;text-decoration:none}a:hover{text-decoration:underline}
h1,h2,p{margin-top:0}h1{font-size:clamp(1.7rem,3.5vw,2.3rem);margin-bottom:.4rem}h2{font-size:1.18rem}
small,.muted{color:#64748b}small{display:block;margin-top:.3rem}.hidden{display:none!important}
button,input,select{font:inherit}button,.button-link{cursor:pointer;border:0;border-radius:9px;padding:.7rem 1rem;font-weight:600}
button:disabled{opacity:.55;cursor:not-allowed}
.primary{background:#1558a5;color:#fff}.secondary,.button-link{background:#e8edf6;color:#1b3557}
.danger{background:#b42337;color:white}.text-danger{color:#af2139;background:transparent;text-align:left}
input,select{width:100%;padding:.7rem .75rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172334}
input:focus,select:focus{outline:2px solid #70a2dc;outline-offset:1px}
label{display:block;font-weight:600;font-size:.92rem}label input,label select{display:block;margin-top:.4rem}
.topbar{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 1140px)/2))}
.topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.brand{font-weight:800;font-size:1.1rem;color:#10253b}
.nav-user{color:#64748b}.container{max-width:1140px;margin:0 auto;padding:2rem 1rem 5rem}
.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem}
.section-heading{margin-top:2rem}.card,.stat-card,.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;box-shadow:0 2px 7px #132e4510;margin-bottom:1.2rem}
.card h2{margin-bottom:1.1rem}.stack{display:grid;gap:1rem}.two-col,.two-panel,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.filter-row label{min-width:165px}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1rem;margin-bottom:1.2rem}
.stat-card{display:grid;gap:.4rem;margin-bottom:0}.stat-card span{font-size:.87rem;color:#64748b}.stat-card strong{font-size:1.7rem}
.link-card{color:inherit}.link-card:hover{border-color:#1262a3;text-decoration:none}
.total-chip{border-radius:999px;background:#e9f5ee;color:#14643c;font-weight:700;padding:.7rem 1rem;white-space:nowrap}
.timer-card{max-width:670px;padding:2rem}.timer-display{font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,9vw,4.3rem);font-weight:800;letter-spacing:.03em;margin:1rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-size:.75rem;font-weight:700}.activity-title{color:#64748b;font-size:1.05rem}
.notice{background:#fff7e6;border:1px solid #ead49b;border-radius:9px;padding:1rem;margin:1rem 0}
.error{color:#af2139}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}
th,td{padding:.85rem;border-bottom:1px solid #e2e8f0;vertical-align:top}th{background:#f6f8fb;font-size:.85rem;white-space:nowrap}
.metric-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e2e8f0}
.share-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.back-link{display:inline-block;margin-bottom:.75rem}
.modal{position:fixed;inset:0;background:#101a2dbb;z-index:50;display:grid;place-items:center;padding:1rem;overflow:auto}
.modal-panel{background:#fff;border-radius:16px;padding:2rem;width:min(100%,560px);max-height:95vh;overflow:auto;position:relative}
.modal-close{position:absolute;right:1rem;top:.75rem;background:transparent;font-size:1.5rem}
.login-page{display:grid;place-items:center;padding:1rem}.login-card{width:min(100%,420px);padding:2.25rem}
@media(max-width:650px){.topbar{align-items:start;flex-direction:column}.container{padding:1.5rem .75rem}.page-heading,.section-heading,.share-card{align-items:start;flex-direction:column}.two-col,.two-panel,.form-grid{grid-template-columns:1fr}.card,.modal-panel{padding:1.2rem}.timer-card{padding:1.25rem}}
