:root{font-family:Arial,sans-serif;color:#201b23;background:#fff7fa}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:24px}.login{max-width:430px;margin:10vh auto;padding:32px;border:1px solid #efd3df;border-radius:20px;background:#fff}.login b,header b{font-size:1.15rem}.login em,header em{color:#d4407a;font-style:normal}.login>p{color:#a42058;font-weight:bold;font-size:.8rem;letter-spacing:.1em}.login label{display:block;font-weight:bold;margin:16px 0}input{display:block;width:100%;padding:11px;border:1px solid #d7b8c7;border-radius:8px;margin-top:6px;font:inherit}button{background:#d4407a;border:0;color:#fff;border-radius:8px;padding:10px 13px;font-weight:bold;cursor:pointer}header{display:flex;justify-content:space-between;border-bottom:1px solid #efd3df;padding:12px 0}header button{background:none;color:#a42058;padding:0}nav{display:flex;gap:6px;overflow:auto;padding:16px 0}nav button{background:#fff0f5;color:#7a2450;white-space:nowrap}#msg,#loginMsg{display:block;min-height:24px;color:#06734c;font-weight:bold}.bad{color:#b21f40!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card,.row,.stat-link{border:1px solid #efd3df;background:#fff;border-radius:13px;padding:16px}.stat-link{color:#201b23;text-align:left;font:inherit;font-weight:normal;min-height:126px}.stat-link:hover,.stat-link:focus-visible{border-color:#d4407a;box-shadow:0 0 0 3px #ffe3ee;outline:none}.stat-link span{display:block;margin-top:7px;color:#a42058;font-weight:bold;font-size:.85rem}.stats strong{display:block;font-size:2rem;color:#a42058;margin-top:8px}.list{display:grid;gap:10px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row span{display:block;color:#735f6c;font-size:.9rem;margin-top:4px}.actions{display:flex;gap:7px;flex-wrap:wrap}.secondary{background:#5b5360}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.form b,.form button{grid-column:1/-1}.form label{font-weight:bold;font-size:.9rem}.form input{margin-top:5px}.schedule{margin-top:16px}.schedule-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.schedule h2{margin:0}.schedule-heading p{margin:6px 0 0;color:#735f6c}.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;margin-top:16px;overflow-x:auto;padding-bottom:4px}.schedule-day{background:#fff7fa;color:#201b23;border:1px solid #efd3df;border-radius:10px;padding:10px;text-align:left;min-width:100px}.schedule-day b,.schedule-day span,.schedule-day small{display:block}.schedule-day span{margin:3px 0}.schedule-day small{font-size:.75rem;color:#735f6c;line-height:1.25}.schedule-day:hover,.schedule-day:focus-visible,.schedule-day.selected{border-color:#d4407a;box-shadow:0 0 0 2px #ffe3ee;outline:none}.schedule-day.selected{background:#fff0f5}.schedule-detail{margin-top:16px;border-top:1px solid #efd3df;padding-top:14px}.schedule-detail h3{margin:0 0 10px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{border-radius:9px;padding:10px;border:1px solid #d9e8df;min-height:64px}.slot b,.slot span{display:block}.slot span{font-size:.82rem;margin-top:4px;line-height:1.3}.slot.open{background:#f5fcf8;color:#176542}.slot.booked{background:#fff0f5;border-color:#efd3df;color:#7a2450}.schedule-note{font-size:.9rem;color:#735f6c;margin-bottom:0}@media(max-width:700px){main{padding:16px}.stats,.form{grid-template-columns:repeat(2,1fr)}.row{align-items:flex-start;flex-direction:column}.schedule-heading{flex-direction:column}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.stats,.form,.slot-grid{grid-template-columns:1fr}}
#mfaMsg{display:block;min-height:24px;color:#06734c;font-weight:bold}.mfa-qr{display:block;width:220px;height:220px;margin:16px auto;border:1px solid #efd3df;border-radius:10px;background:#fff}.mfa-secret{display:block;overflow-wrap:anywhere;padding:10px;border-radius:8px;background:#fff0f5;color:#7a2450;font-size:.8rem}.login h2{margin-top:28px}
