.admin-page{background:#f5eff9}.admin-header{display:flex;align-items:center;gap:28px;padding:25px 4%;background:var(--paper);border-bottom:1px solid var(--line);font-size:14px}.admin-header>a:last-child{margin-left:auto}.admin-main{max-width:1240px;margin:auto;padding:45px 35px 80px}.admin-gate{max-width:650px;background:var(--paper);padding:60px;border-radius:18px;margin:55px auto}.admin-gate h1{font-size:60px;margin:25px 0}.admin-gate p:not(.eyebrow){font-size:17px;margin-bottom:25px}.admin-gate a[hidden]{display:none}.admin-gate #admin-switch{display:block;margin-top:20px;text-decoration:underline}.admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.admin-top h1{font-size:52px;margin-top:18px}.admin-account{display:grid;gap:7px;text-align:right;font-size:13px}.admin-account a{text-decoration:underline}.admin-notice{font-size:14px;border:1px solid #d6bde6;border-radius:10px;background:#f0e1fb;padding:18px 22px;line-height:1.6}.admin-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:30px 0}.admin-tabs button{font:inherit;border:0;background:transparent;padding:16px 24px;font-size:16px;border-bottom:3px solid transparent}.admin-tabs button[aria-current]{border-bottom-color:var(--green);background:#efe5f7;font-weight:600}.admin-section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-section-top h2{font-size:31px;letter-spacing:-.045em}.small-button{padding:11px 18px;border-radius:7px;border:1px solid #c9aedb;background:white;color:var(--green);font-size:14px}.small-button:disabled{opacity:.45;cursor:wait}.small-button.primary{background:var(--green);color:white;border-color:var(--green)}.small-button.danger{color:#8c362b;border-color:#d2a398;background:#fff7f4}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:24px 0 20px}.admin-main label{font-size:14px;display:grid;gap:8px}.admin-main input:not([type=checkbox]),.admin-main select{font:inherit;font-size:15px;color:var(--green);background:white;border:1px solid #d4c1e2;border-radius:7px;min-height:43px;padding:9px 12px;max-width:100%}.admin-main input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}.filter-row label{flex:1;min-width:150px}#booking-count{font-size:14px;color:var(--muted);margin-bottom:20px}.day-heading{font-size:19px;letter-spacing:-.02em;margin:30px 0 14px;text-transform:capitalize}.admin-booking{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:22px;display:grid;grid-template-columns:105px 1fr 200px auto;gap:20px;align-items:start;margin-bottom:12px;font-size:14px}.admin-booking-time{font-size:19px;font-weight:600;letter-spacing:-.025em}.admin-booking-time span{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:5px}.admin-booking strong{display:block;font-size:17px;font-weight:550;line-height:1.4}.admin-booking small{display:block;font-size:12px;margin-top:7px;color:var(--muted)}.admin-booking-contact{display:grid;gap:6px;overflow-wrap:anywhere;font-size:13px}.admin-booking-contact a{text-decoration:underline}.booking-status{display:inline-block;font-size:12px;padding:4px 9px;background:#eee1f8;border-radius:4px;margin-top:10px}.booking-status.cancelled{background:#eee6e1;color:#8a6454}.booking-status.completed{background:#ede6f2}.booking-actions{display:grid;gap:8px}.booking-actions .small-button{font-size:12px;padding:9px 12px}.empty-bookings{padding:45px 25px;text-align:center;border:1px dashed #cdb6df;border-radius:12px;font-size:16px;color:var(--muted)}.admin-help{font-size:14px;color:#796487;line-height:1.65;margin:0 0 25px;max-width:85ch}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:30px}.admin-main .check-label{display:flex;align-items:center;gap:12px;grid-column:1/-1}.weekly-hours{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.hours-row{display:grid;grid-template-columns:170px 1fr 1fr;gap:20px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line)}.hours-row:last-child{border:0}.hours-row .check-label{grid-column:auto;margin:0}.separated{margin-top:50px}.block-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:18px;align-items:end;margin-bottom:30px}.block-reason{grid-column:1/4}.admin-block{display:flex;gap:20px;justify-content:space-between;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:18px 20px;margin-bottom:10px;font-size:14px}.admin-block small{display:block;color:var(--muted);margin-top:5px;font-size:13px}.service-table-wrap{overflow-x:auto}.admin-service-table{width:100%;border-collapse:collapse;background:var(--paper);font-size:15px}.admin-service-table td,.admin-service-table th{border-bottom:1px solid var(--line);text-align:left;padding:16px 18px}.admin-service-table th{font-size:13px;font-weight:550;color:var(--muted)}.admin-service-table td:first-child{width:55%}.admin-service-table input[type=number]{width:100px}.admin-service-table td small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.admin-save-status{font-size:14px;color:var(--green);margin-top:22px}#admin-alert{background:#fff0e9;border:1px solid #daaf9b;padding:18px;border-radius:8px;color:#77371e;margin-bottom:25px;font-size:15px}#admin-confirm{padding:35px;max-width:550px}#admin-confirm h2{font-size:34px;line-height:1.1;margin-bottom:20px}#admin-confirm p{font-size:16px;margin-bottom:25px}#admin-confirm form>div{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
@media(max-width:1000px){.admin-booking{grid-template-columns:90px 1fr 180px}.booking-actions{grid-column:2/-1;display:flex}.admin-main{padding:35px 25px}.admin-header>span{display:none}.settings-grid{grid-template-columns:1fr 1fr}.admin-service-table td,.admin-service-table th{padding:14px 10px}}
@media(max-width:650px){.admin-header{padding:20px 5%;gap:10px}.admin-header .brand{font-size:23px}.admin-header>a:last-child{font-size:12px;max-width:125px;text-align:right}.admin-main{padding:30px 5%}.admin-gate{padding:30px 24px;margin:20px auto}.admin-gate h1{font-size:46px}.admin-top{display:block}.admin-top h1{font-size:40px}.admin-account{text-align:left;margin-top:20px;font-size:12px}.admin-notice{font-size:13px;padding:15px}.admin-tabs{gap:0;overflow:auto}.admin-tabs button{font-size:13px;padding:14px 12px;white-space:nowrap}.admin-section-top{align-items:flex-start}.admin-section-top h2{font-size:26px}.small-button{font-size:12px;padding:10px 13px}.filter-row{gap:12px}.filter-row label{min-width:120px}.filter-row .small-button{min-height:43px}.admin-booking{grid-template-columns:75px 1fr;padding:17px;gap:15px}.admin-booking-contact{grid-column:2}.admin-booking strong{font-size:16px}.admin-booking-time{font-size:17px}.settings-grid{gap:18px}.settings-grid label{font-size:13px}.hours-row{grid-template-columns:1fr 1fr;gap:12px;padding:15px}.hours-row>.check-label{grid-column:1/-1}.hours-row label{font-size:12px}.block-form{grid-template-columns:1fr 1fr;gap:15px}.block-reason{grid-column:1/-1}.admin-block{align-items:flex-start;gap:15px}.admin-block small{font-size:12px}.admin-service-table{min-width:570px;font-size:14px}.admin-help{font-size:13px}}
.mail-card{background:white;border:1px solid var(--line);border-radius:12px;padding:30px;max-width:850px}.mail-card h3{font-size:28px;letter-spacing:-.03em;margin:15px 0;overflow-wrap:anywhere}.mail-card #mail-connection{font-weight:600;margin-bottom:18px}.mail-steps{padding-left:22px;line-height:1.8;font-size:14px;margin:20px 0 25px}.mail-card a{text-decoration:underline}.mail-steps li{margin-bottom:10px}.mail-card form{display:flex;align-items:end;gap:14px}.mail-card form label{flex:1;min-width:0}.mail-key-help{margin-top:12px}.mail-actions{display:flex;gap:12px;flex-wrap:wrap}#mail-feedback{font-size:14px;line-height:1.7;margin-top:20px}@media(max-width:650px){.mail-card{padding:20px}.mail-card h3{font-size:24px}.mail-card form{display:block}.mail-card form button{margin-top:14px}}

.auth-form{display:grid;gap:22px}.auth-form .button{justify-self:start;margin-top:8px}.auth-form h2{font-size:24px;margin-top:10px}.auth-form .admin-help{margin:0}.logout-link{font:inherit;color:inherit;text-decoration:underline;border:0;background:none;padding:0;cursor:pointer;justify-self:end}#setup-checks{font-size:14px;line-height:1.6;background:#eee1f8;padding:16px;border-radius:8px}@media(max-width:650px){.logout-link{justify-self:start}}

.mail-card .account-form{display:grid;align-items:stretch;max-width:600px}.account-form .small-button{justify-self:start}.user-dialog{width:min(560px,90vw);max-height:90vh;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:16px}.user-dialog h2{font-size:30px;margin-bottom:16px}.user-dialog>p{margin-bottom:22px;overflow-wrap:anywhere}.user-dialog .auth-form{gap:16px}.user-dialog .check-label{display:flex;gap:10px;align-items:center}.user-dialog input:not([type=checkbox]),.user-dialog select{width:100%;padding:12px;border:1px solid #d4c1e2;border-radius:7px;font:inherit}.user-dialog label{display:grid;gap:8px;font-size:14px}.dialog-error{color:#883a2e;font-size:14px}.user-row .mail-actions{justify-content:end}.user-row>div:first-child{min-width:0;overflow-wrap:anywhere}#password-feedback,#users-feedback{font-size:14px;margin-top:20px;line-height:1.6}@media(max-width:650px){.user-row{display:block}.user-row .mail-actions{justify-content:start;margin-top:15px}.user-dialog{padding:22px}}
