.admin-body{min-height:100vh;background:linear-gradient(145deg,#f5f7fb,#f2f2ff 55%,#f7f8fb);color:var(--ink)}
.admin-shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:25px 0 42px}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:54px}
.admin-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.admin-brand .brand-mark{flex:none}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:13px}.admin-brand small{margin-top:4px;color:var(--muted);font-size:11px}
.auth-card{width:min(450px,100%);margin:0 auto;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px rgba(28,38,60,.09)}
.auth-card .eyebrow,.admin-heading .eyebrow{color:var(--primary)}.auth-card h1,.admin-heading h1{margin:0;font-size:28px;letter-spacing:-.8px}.auth-description{margin:9px 0 24px;color:var(--muted);font-size:13px;line-height:1.6}
.admin-field{display:block;min-width:0;color:var(--ink);font-size:12px;font-weight:750}.admin-field>span{display:block;margin-bottom:7px}.admin-field input{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #dfe3eb;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.admin-field input:focus{outline:3px solid #eeedff;border-color:var(--primary)}#authForm{display:grid;gap:15px}.password-hint{margin:-5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.auth-submit{width:100%;min-height:46px;margin-top:4px}
.admin-notice{margin:0 auto 20px;padding:12px 15px;border:1px solid #f1c6cb;border-radius:11px;background:#fff0f1;color:#9f303c;font-size:12px;line-height:1.5}.admin-notice.info{border-color:#d9d7ff;background:#f8f7ff;color:#5148a5}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-heading>div>p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px}
.reservation-panel{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 15px 45px rgba(28,38,60,.06)}.date-filters{display:flex;align-items:flex-end;gap:13px;padding:20px;border-bottom:1px solid var(--line)}.date-filters .admin-field{width:min(220px,30%)}.filter-button{min-height:43px}.result-count{margin:0;padding:14px 20px;color:var(--muted);font-size:11px}.table-scroll{overflow-x:auto}.reservation-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.reservation-table th{padding:12px 15px;background:#fafbfe;color:#667085;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.reservation-table td{padding:14px 15px;border-top:1px solid #eef0f4;vertical-align:top}.reservation-table td strong{display:block;color:var(--ink);font-size:12px}.subtext{display:block;margin-top:4px;color:var(--muted);font-size:10px}.status-chip{display:inline-block;padding:5px 8px;border-radius:999px;background:#f2f3f7;color:#596273;font-size:10px;font-weight:750}.status-confirmed,.status-waiting{background:#e9f8f0;color:#21764b}.status-pending,.status-in_progress{background:#fff5df;color:#9a6714}.status-cancelled{background:#fff0f1;color:#a33a43}.empty-row{padding:34px!important;color:var(--muted);text-align:center}.admin-footnote{margin:14px 2px;color:var(--muted);font-size:10px}
[hidden]{display:none!important}
@media(max-width:650px){.admin-shell{width:calc(100% - 22px);padding-top:17px}.admin-header{margin-bottom:36px}.auth-card{padding:23px 18px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:24px}.date-filters{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:15px}.date-filters .admin-field{width:auto}.filter-button{grid-column:1/-1}.reservation-table{min-width:700px}}

.auth-links{margin:15px 0 0;text-align:center}.auth-links .text-link,.back-login{padding:5px;border:0;background:transparent;color:var(--primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.reset-form{display:grid;gap:15px}.back-login{justify-self:center}
.admin-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;width:max-content;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.admin-tab{padding:9px 15px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.admin-tab.active{background:var(--primary-soft);color:var(--primary)}
.manage-intro{margin:4px 0 17px}.manage-intro h2{margin:0;font-size:20px}.manage-intro p{margin:6px 0 0;color:var(--muted);font-size:12px}
.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.service-editor,.hours-card{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px rgba(28,38,60,.04)}.service-editor h3{margin:0 0 15px;font-size:14px}.service-editor>.admin-field{margin:0 0 12px}.service-editor textarea{display:block;width:100%;min-height:65px;padding:10px 11px;border:1px solid #dfe3eb;border-radius:9px;font:inherit;font-size:12px;resize:vertical}.service-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-numbers .admin-field{margin-bottom:10px}.service-numbers input{min-height:38px;font-size:12px}.service-options{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 15px}.check-field,.day-check{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;font-weight:700}.check-field input,.day-check input{accent-color:var(--primary)}
.hours-card{max-width:690px}.hours-rows{display:grid;margin-bottom:18px}.hours-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #eef0f4}.hours-row>.admin-field input{min-height:37px;font-size:12px}.hours-row input:disabled{background:#f4f5f8;color:#a3a9b4}.hours-row .admin-field>span{margin-bottom:4px;color:var(--muted);font-size:10px}.hours-row .day-check{font-size:12px}
@media(max-width:600px){.admin-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.admin-tab{padding:9px 5px}.hours-card{padding:14px}.hours-row{grid-template-columns:1.2fr 1fr 1fr;gap:8px}.day-check{font-size:10px!important}.services-list{grid-template-columns:1fr}}

.row-action{margin:2px 3px 2px 0}.row-action.destructive{color:#a33a43;border-color:#f2cbd0}.reservation-table{min-width:820px}

.day-override-heading{margin-top:28px}.override-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:690px}.override-card>.admin-field{margin:0}.override-card select,.override-card input{display:block;width:100%;min-height:40px;padding:9px 11px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.override-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px}.override-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}@media(max-width:600px){.override-card{grid-template-columns:1fr}.override-hours{grid-template-columns:1fr 1fr}.override-actions{grid-column:auto}}

.day-override-heading{margin-top:28px}.override-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:690px}.override-card>.admin-field{margin:0}.override-card select,.override-card input{display:block;width:100%;min-height:40px;padding:9px 11px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.override-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px}.override-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}@media(max-width:600px){.override-card{grid-template-columns:1fr}.override-hours{grid-template-columns:1fr 1fr}.override-actions{grid-column:auto}}

.hours-row{grid-template-columns:.8fr .75fr .75fr 2fr}.hours-row .weekly-slots-field input{min-height:37px;padding:8px 10px;border:1px solid #dfe3eb;border-radius:9px;font:inherit;font-size:12px}.hours-row .weekly-slots-field>span{color:var(--muted);font-size:10px}.override-slots-field{grid-column:1/-1}.override-slots-field input{font:inherit}
