*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#182b49;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#fff;border-bottom:1px solid #e0e6f0;padding:23px 5%;display:flex;align-items:center;justify-content:space-between}a{color:#175bb8;text-decoration:none}.brand{font-size:27px;font-weight:850;color:#173d72;letter-spacing:-1px}.brand span{font-size:12px;letter-spacing:2px;margin-left:14px;color:#668098}nav{display:flex;align-items:center;gap:24px}nav form{margin:0}main{max-width:1400px;margin:42px auto;padding:0 30px}h1{font-size:42px;line-height:1.15;letter-spacing:-1.5px;margin:12px 0}h2{font-size:21px;margin:0 0 20px}p{color:#66768b}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#3b729c}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.pill{border-radius:30px;background:#e4f3ec;color:#267554;padding:9px 18px;font-size:13px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px;margin-bottom:28px}.card{padding:25px;border-radius:18px;background:#e5ebff;color:#284791;border:2px solid transparent;box-shadow:0 5px 15px #1b3e6a07}.card.today{background:#1764d7;color:#fff}.card.yesterday{background:#e4f4ed;color:#1a7056}.card.month{background:#eae6fa;color:#65449d}.card.last{background:#fff0da;color:#9c6424}.card.selected{border-color:#182b49}.card span{font-weight:700}.card strong{display:block;font-size:44px;line-height:1.4}.card small{opacity:.85}.panel{background:#fff;border:1px solid #e1e7ef;border-radius:17px;padding:26px;margin-bottom:24px;box-shadow:0 5px 20px #1b3e6a04}.filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}label{display:block;font-size:13px;font-weight:700;color:#53657b}input,select{display:block;width:100%;padding:12px 14px;margin-top:7px;border:1px solid #cbd6e3;border-radius:8px;background:#fff;color:#182b49;font:inherit;min-height:46px}button,.button{display:inline-block;background:#1764d7;color:#fff;border:0;border-radius:9px;padding:12px 20px;font:600 14px/1.5 system-ui;cursor:pointer;white-space:nowrap}button:hover,.button:hover{filter:brightness(.94)}.quiet{background:#edf2f8;color:#355273}.danger{background:#fff0f0;color:#a12c38}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ebae26;outline-offset:3px}.list-heading{display:flex;justify-content:space-between;align-items:center}.meta{font-size:13px;color:#708096}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#7c899b;text-transform:uppercase;font-size:11px;letter-spacing:1.2px;padding:14px 12px;background:#f8fafc}td{padding:20px 12px;border-bottom:1px solid #edf1f5;white-space:nowrap;font-size:14px}.filename{white-space:normal;overflow-wrap:anywhere;min-width:240px}.filename small{display:block;color:#7c899b;margin-top:5px}.empty{padding:55px;text-align:center;color:#708096}.pagination{display:flex;gap:20px;justify-content:center;margin-top:23px;font-size:14px}.footnote{font-size:12px}footer{text-align:center;padding:28px;font-size:12px;color:#8190a3}.login{max-width:490px;background:#fff;margin:65px auto;padding:42px;border:1px solid #e1e7ef;border-radius:22px;box-shadow:0 20px 70px #1b3e6a0b}.login form{margin:28px 0}.login label{margin-bottom:20px}.login button{width:100%}.login small{color:#8794a4}.alert{padding:16px;background:#e4f3ec;border-radius:10px;color:#236849}.alert.error{background:#fff0f0;color:#a12c38}.account{padding:20px 0;border-top:1px solid #e5eaf1}.account .meta{display:block}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}.account-actions input{width:280px;margin:0}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(140px,1fr))}nav{gap:12px;font-size:13px}.heading{align-items:flex-start}.pill{display:none}}@media(max-width:550px){main{padding:0 16px;margin-top:26px}header{padding:18px}.brand span{display:none}h1{font-size:34px}.panel{padding:18px}.login{padding:28px;margin:30px auto}.cards{gap:10px}.card{padding:18px}.filters>*{width:100%}nav{flex-wrap:wrap;justify-content:flex-end}}
/* IPH visual identity */
:root{--iph-navy:#0c2342;--iph-red:#bd1d37;--iph-teal:#208b98}body{color:var(--iph-navy)}header{border-top:4px solid var(--iph-red);gap:24px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{width:190px;height:auto;display:block}.brand span{color:var(--iph-teal);margin-left:20px;border-left:1px solid #dce7ea;padding-left:20px;letter-spacing:2px}a,.eyebrow{color:var(--iph-teal)}button,.button,.card.today{background:var(--iph-navy)}.card.yesterday{background:#e1f3f4;color:#176773}.card.month{background:#fbe8ed;color:#9d263f}.card.last{background:#edf0f6;color:var(--iph-navy)}.login{border-top:4px solid var(--iph-red)}.login-logo{display:block;width:100%;max-width:340px;height:auto;margin:0 auto 30px}.login h1{font-size:36px}.login .eyebrow{letter-spacing:1.5px}footer img{width:112px;height:auto;display:block;margin:0 auto 12px}footer span{display:block}@media(max-width:900px){header{flex-wrap:wrap}.brand img{width:165px}nav{margin-left:auto}}@media(max-width:550px){.brand img{width:135px}header{gap:16px}nav{width:100%;justify-content:flex-start;margin:0}.login-logo{margin-bottom:24px}.login h1{font-size:30px}}
/* Header navigation and calendar overview */
.brand span{display:block;font-size:42px;font-weight:850;line-height:1.05;letter-spacing:-1.5px;color:var(--iph-navy)}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card.week{background:#e4edf8;color:#234f79}.card.lastweek{background:#f4e9f0;color:#8b345c}.powered-by{margin-top:5px;font-weight:700;color:#52677e}@media(max-width:1100px){header{flex-wrap:wrap}.brand span{font-size:36px}nav{margin-left:auto}}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.brand span{font-size:34px}}@media(max-width:550px){.brand{width:100%;gap:15px}.brand span{display:block;font-size:30px;letter-spacing:-1px;margin-left:0;padding-left:15px}nav{margin:0;gap:16px}.card strong{font-size:36px}.card small{font-size:11px}}
