:root{--ink:#17202a;--muted:#64748b;--line:#dbe4ea;--surface:#fff;--canvas:#f3f7f8;--brand:#0f766e;--blue:#2563eb}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Arial,sans-serif;color:var(--ink);background:var(--canvas);letter-spacing:0}a{color:inherit}button,input,select{font:inherit;letter-spacing:0}.page-shell{width:min(100%,720px);margin:0 auto;padding:20px 16px calc(92px + env(safe-area-inset-bottom))}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:8px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;text-decoration:none}.brand img{width:36px;height:36px;border-radius:6px;object-fit:cover}.icon-link{display:grid;place-items:center;width:42px;height:42px;color:#b42318;font-size:24px;text-decoration:none}.login-shell{min-height:100vh;display:grid;align-content:center;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.login-brand{margin-bottom:28px;text-align:center}.login-brand img{width:82px;height:82px;border-radius:8px;object-fit:cover}.login-brand h1{margin:14px 0 5px;font-size:28px}.login-brand p{margin:0;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.login-panel{padding:20px}.field{margin-bottom:16px}.field label{display:block;margin-bottom:6px;color:#475569;font-size:13px;font-weight:700}.field input,.field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b8c5cf;border-radius:6px;background:#fff}.field input:focus,.field select:focus{outline:3px solid rgba(37,99,235,.15);border-color:var(--blue)}.primary-button{width:100%;min-height:48px;border:0;border-radius:6px;color:#fff;background:var(--brand);font-weight:800;cursor:pointer}.alert{margin-bottom:16px;padding:11px 12px;border:1px solid #fda29b;border-radius:6px;color:#912018;background:#fff1f0;font-size:14px}.eyebrow{margin:0 0 5px;color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase}h1{margin:0;font-size:25px}.subtle{color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:24px 0 10px}.section-heading h2{margin:0;font-size:18px}.section-heading a{color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.metric{min-width:0;padding:13px 10px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:6px;background:#fff}.metric.diploma{border-top-color:#7c3aed}.metric.adult{border-top-color:#047857}.metric strong{display:block;font-size:24px}.metric span{display:block;margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.appointment-list{display:grid;gap:10px}.appointment{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:6px;background:#fff;overflow:hidden}.appointment.diploma{border-left-color:#7c3aed}.appointment.adult{border-left-color:#047857}.appointment summary{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:14px;cursor:pointer;list-style:none}.appointment summary::-webkit-details-marker{display:none}.date-box{text-align:center}.date-box strong{display:block;font-size:24px}.date-box span{color:var(--muted);font-size:11px;text-transform:uppercase}.appointment-main{min-width:0}.appointment-main h3{margin:4px 0 5px;font-size:16px;overflow-wrap:anywhere}.appointment-main p{margin:0;color:var(--muted);font-size:13px}.type-label{display:inline-block;padding:3px 6px;border-radius:4px;color:#1d4ed8;background:#dbeafe;font-size:10px;font-weight:800}.type-label.diploma{color:#6d28d9;background:#ede9fe}.type-label.adult{color:#047857;background:#d1fae5}.appointment-details{padding:0 14px 14px 84px;border-top:1px solid #edf1f4}.detail-row{padding-top:10px}.detail-row b{display:block;margin-bottom:3px;color:#475569;font-size:11px;text-transform:uppercase}.detail-row p{margin:0;line-height:1.45;white-space:pre-wrap}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.action-link{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);border-radius:6px;color:#334155;background:#fff;font-weight:700;text-decoration:none}.action-link.whatsapp{color:#067647;border-color:#86efac;background:#f0fdf4}.filter-panel{margin:16px 0;padding:12px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-grid .wide{grid-column:1/-1}.filter-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.secondary-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;color:#475569;background:#fff;font-weight:700;text-decoration:none}.empty-state{padding:28px 18px;text-align:center;color:var(--muted)}.bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(2,1fr);padding:7px max(12px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.97)}.bottom-nav a{display:grid;justify-items:center;gap:2px;min-height:48px;padding:4px;color:#64748b;font-size:11px;font-weight:700;text-decoration:none}.bottom-nav a.active{color:var(--brand)}.nav-icon{font-size:21px;line-height:24px}@media(min-width:721px){.app-header{padding-right:calc((100% - 720px)/2 + 16px);padding-left:calc((100% - 720px)/2 + 16px)}.bottom-nav{right:calc((100% - 720px)/2);left:calc((100% - 720px)/2);border-right:1px solid var(--line);border-left:1px solid var(--line)}}@media(max-width:380px){.page-shell{padding-right:12px;padding-left:12px}.metric-grid,.filter-grid{grid-template-columns:1fr}.filter-grid .wide{grid-column:auto}.appointment-details{padding-left:14px}}
