.calendar-heading,.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h2{margin:5px 0 20px}.calendar-controls .icon{border:1px solid var(--line);font-size:24px;min-width:44px;min-height:44px}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin:15px 0;font-size:12px}.confirmed{color:#295da9}.completed{color:#19765e}.cancelled{color:#957009}.no_show{color:#bb4646}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}.month-grid>div{font-size:12px;padding:12px}.calendar-day{min-height:92px;padding:12px 7px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.calendar-day b{font-size:20px}.calendar-day small{display:block;font-size:10px;min-height:16px}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--amber)}.calendar-day.selected{background:var(--ink);color:var(--surface);border-color:var(--ink)}.calendar-dots{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin:7px 0}.calendar-dots i{height:6px;width:6px;border-radius:100%;background:currentColor}.slot-line{display:grid;grid-template-columns:125px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.slot-line small{display:block;font-size:11px;margin-top:6px}.slot-free{color:var(--muted);font-size:12px}.calendar-appointment{display:block;text-align:left;width:100%;padding:14px;border-radius:10px;border:1px solid currentColor;border-left:5px solid currentColor;background:var(--surface);margin-bottom:8px}.calendar-appointment span{display:block;margin-top:6px}.day-agenda{margin-top:25px}.account-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.account-stats>div{padding:20px;background:var(--soft);border-radius:14px}.account-stats small{font-size:11px}.account-stats b{display:block;font-size:27px;margin-top:9px}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.invoice-row p{font-size:12px}.invoice-row .text{display:block}.invoice-watermark{color:#aa3232;font-weight:800;border:2px solid currentColor;padding:12px}#admin-dialog{width:min(880px,94vw);max-height:90dvh;overflow:auto;padding:48px 30px 30px}#invoice-form{display:grid;gap:17px}#invoice-form label{display:grid;gap:8px}.print-invoice table{white-space:normal}.premium-footer{max-width:none;background:#102f50;color:#fff;border:0;display:grid;grid-template-columns:1.35fr 1fr 1.1fr;gap:50px;padding:65px max(24px,calc((100vw - 1180px)/2)) 28px;margin-top:70px;position:relative;overflow:hidden}.premium-footer:before{content:'';position:absolute;top:0;left:0;width:90px;height:6px;background:var(--amber)}.premium-footer section{position:relative;min-width:0}.premium-footer .footerbrand{font-size:14px;gap:12px}.premium-footer .footerbrand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.premium-footer .brand small{color:#bed3e7;font-size:8px}.premium-footer p{color:#d2dfed;line-height:1.9;font-size:12px}.premium-footer h2{font-size:34px;margin:10px 0 28px;color:white;letter-spacing:-1px}.premium-footer h3{font-size:26px;color:white;margin:15px 0 22px}.premium-footer .footer-kicker{margin-top:27px;font-size:10px;letter-spacing:1.8px;color:#ffc965}.premium-footer .eyebrow{color:#ffc965;font-size:11px}.premium-footer .footer-phone{font-size:23px;font-weight:700;display:flex;align-items:center;gap:12px;margin:20px 0}.premium-footer .text{color:#fff}.premium-footer .footer-app>.btn{background:#fff;color:#173a63;font-size:12px}.premium-footer .footer-app nav{display:grid;gap:12px;margin-top:25px;font-size:11px}.premium-footer .footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #ffffff30;padding-top:24px;color:#b9cddd;font-size:10px}.premium-footer a:focus-visible,.premium-footer button:focus-visible{outline:3px solid #ffca69;outline-offset:5px}
@media(max-width:800px){.account-stats{grid-template-columns:1fr 1fr}.premium-footer{grid-template-columns:1fr 1fr;gap:35px}.premium-footer .footer-intro{grid-column:1/-1}.calendar-legend{gap:9px;font-size:10px}}
@media(max-width:540px){.calendar-heading{flex-wrap:wrap}.calendar-heading h2{font-size:26px}.calendar-panel{padding:18px 12px}.month-grid{gap:3px}.calendar-day{padding:7px 2px;min-height:65px;border-radius:8px}.calendar-day b{font-size:16px}.calendar-day small{font-size:8px}.slot-line{grid-template-columns:85px 1fr;gap:9px}.calendar-appointment{font-size:11px;padding:10px}.invoice-row{align-items:start;flex-direction:column;gap:8px}.account-stats>div{padding:14px}.account-stats b{font-size:24px}.premium-footer{display:grid;grid-template-columns:1fr;gap:0;padding:40px 24px 28px;margin:45px 0 0;border-radius:28px 28px 0 0}.premium-footer .footer-intro{padding-bottom:32px}.premium-footer h2{font-size:38px}.premium-footer .footer-contact{border-top:1px solid #ffffff25;padding:28px 0}.premium-footer .footer-app{border-radius:20px;background:#ffffff0b;border:1px solid #ffffff20;padding:24px;margin-bottom:30px}.premium-footer .footer-app>.btn{width:100%;justify-content:space-between;min-height:52px}.premium-footer .footer-app nav{grid-template-columns:1fr 1fr;gap:18px;line-height:1.8}.premium-footer .footer-bottom{flex-direction:column;gap:12px;font-size:9px}.premium-footer .footer-contact p{font-size:13px}.premium-footer .footer-phone{font-size:27px}.premium-footer .footerbrand{font-size:16px}.premium-footer .footerbrand img{width:60px;height:60px}.premium-footer .btn{min-height:48px}#admin-dialog{padding:48px 18px 22px}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.admin-tabs button{white-space:nowrap}.account-stats small{font-size:10px}}
.month-times{display:flex;gap:5px;justify-content:center;font-size:10px}.month-times>span{display:block}.calendar-day.selected .calendar-dots i{outline:1px solid white}.calendar-controls button:hover{background:var(--amber);color:#173a63}.calendar-controls button{transition:transform .18s,background .18s}.calendar-controls button:hover{transform:scale(1.07)}@media(max-width:540px){.month-times{display:none}}
@media print{body:has(#admin-dialog[open] .print-invoice)>*{display:none!important}body:has(#admin-dialog[open] .print-invoice)>#admin-dialog{display:block!important;position:static;border:0;width:100%;max-width:none;max-height:none;overflow:visible;color:#000;background:white}#admin-dialog[open]:has(.print-invoice)>:not(.print-invoice){display:none!important}.print-invoice{font-size:12pt;text-transform:none}.print-invoice h2{font-size:23pt}.print-invoice table{font-size:11pt}.print-invoice img{display:block}body:has(#admin-dialog[open] .print-invoice){padding:0!important}#admin-dialog::backdrop{background:none}}
.visit-timeline{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;margin:24px 0}.visit-timeline>div{border-top:4px solid var(--amber);background:var(--soft);border-radius:8px;padding:14px}.visit-timeline>div:nth-child(2){border-color:var(--ink)}.visit-timeline small,.visit-timeline b{display:block}.visit-timeline small{font-size:10px}.visit-timeline b{font-size:16px;margin-top:6px}@media(max-width:540px){.visit-timeline{grid-template-columns:1fr}.visit-timeline>div{display:flex;justify-content:space-between;align-items:center}.visit-timeline b{margin:0;font-size:14px}}
