.admin-nav{border-bottom:1px solid var(--brand-line);flex-wrap:wrap;align-items:center;gap:26px;min-height:64px;padding:0 32px;font-size:14px;display:flex}.admin-nav a{color:var(--brand-ink);text-decoration:none}.admin-nav a:hover{color:var(--brand-deep);text-decoration:none}.linklike{font:inherit;color:var(--brand-muted);cursor:pointer;background:0 0;border:0;padding:10px 0}.linklike:hover{color:var(--brand-ink)}.admin-wrap{max-width:1180px;margin:0 auto;padding:34px 32px 72px}h1{margin-bottom:24px;font-size:32px}h2{margin-top:30px;font-size:20px}.admin-wrap>form:first-of-type{max-width:520px}.admin-wrap form p{margin:18px 0 0}.admin-wrap a{color:var(--brand-ink)}.admin-wrap a:hover{color:var(--brand-deep)}.admin-wrap input[type=password]{border:1px solid var(--brand-line);width:100%;height:48px;font:inherit;color:var(--brand-ink);background:#fff;border-radius:0;padding:0 14px;font-size:15px}.admin-wrap input[type=password]:focus-visible{outline:2px solid var(--brand-deep);outline-offset:1px}.row{border:1px solid var(--brand-line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:18px 20px;display:flex}.row:hover{background:var(--brand-surface)}.row .when{min-width:140px;color:var(--brand-deep);font-weight:500}.row .who{flex:1}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions button{font:inherit;border:1px solid var(--brand-line);cursor:pointer;background:#fff;border-radius:0;min-height:40px;padding:8px 14px;font-size:13px}.actions button:hover{background:var(--brand-surface)}.actions button.primary{background:var(--brand-accent);color:var(--brand-ink);border-color:#0000}.actions button.danger{color:#b3261e}.tabs{border-bottom:1px solid var(--brand-line);flex-wrap:wrap;gap:0;margin:0 0 24px;display:flex}.tabs a{min-height:42px;color:var(--brand-muted);border:0;border-bottom:2px solid #0000;padding:11px 16px;font-size:13px;text-decoration:none}.tabs a:hover{color:var(--brand-ink);background:var(--brand-surface)}.tabs a[data-active=true]{color:var(--brand-ink);border-bottom-color:var(--brand-deep);background:0 0}table.grid{border-collapse:collapse;background:#fff;width:100%;font-size:14px}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--brand-line);padding:13px 14px}table.grid th{color:var(--brand-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}table.grid tbody tr:nth-child(2n){background:var(--brand-surface)}table.grid tbody tr:hover{background:var(--brand-accent)}.card{border:1px solid var(--brand-line);background:#fff;border-radius:0;padding:20px}.error{border-radius:0}.admin-wrap .btn{min-height:44px;padding:11px 22px}.admin-search-form{align-items:end;gap:10px;max-width:560px;display:flex}.admin-search-form label{flex:1;margin:0}.admin-search-form .btn{flex:none}.payment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:12px 0 20px;display:grid}.payment-summary-card{min-height:120px}.availability-row{border-bottom:1px solid var(--brand-line);grid-template-columns:1.2fr .9fr .8fr .8fr 1.4fr auto auto;align-items:center;gap:8px;padding:12px 0;display:grid}.availability-row select,.availability-row input[type=time]{width:100%}.availability-active{white-space:nowrap;align-items:center;gap:6px;margin:0;display:flex}.admin-wrap .lead{margin-top:24px}.tab-count{color:var(--brand-muted)}.row-meta{color:var(--brand-muted);font-size:12px}.smartmedical-card{border:1px solid var(--brand-line);background:#fff;gap:0;margin-bottom:16px;display:flex}.smartmedical-fields{background:var(--brand-surface);border-right:1px dashed var(--brand-line);flex:1;padding:20px 24px}.field-row{border-bottom:1px solid var(--brand-line);padding:9px 0;display:flex}.field-row:last-child{border-bottom:0}.field-label{width:150px;color:var(--brand-muted);flex-shrink:0;padding-top:2px;font-size:12px}.field-value{color:var(--brand-ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.smartmedical-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:12px;width:200px;padding:24px;display:flex}.smartmedical-actions .linklike{border:1px solid var(--brand-line);min-height:44px;color:var(--brand-ink)}.smartmedical-actions form{margin:0}.smartmedical-actions .btn{width:100%}.calendar-grid{border:1px solid var(--brand-line);background:#fff;overflow-x:auto}.calendar-grid-head,.calendar-grid-body{grid-template-columns:60px repeat(var(--therapist-count,1), minmax(140px, 1fr));min-width:720px;display:grid}.calendar-grid-head{border-bottom:1px solid var(--brand-line);min-height:48px}.calendar-time-corner{border-right:1px solid var(--brand-line)}.calendar-therapist{border-right:1px solid var(--brand-line);align-items:center;padding:8px;font-size:12px;line-height:1.25;display:flex}.calendar-grid-body{background-image:repeating-linear-gradient(#0000 0 27px,#e7eded 27px 28px),repeating-linear-gradient(#0000 0 55px,#c9d6d5 55px 56px);grid-template-rows:1fr;min-height:672px;position:relative}.calendar-times{border-right:1px solid var(--brand-line);position:relative}.calendar-times span{color:var(--brand-muted);font-size:11px;position:absolute;right:8px}.calendar-column{border-right:1px solid var(--brand-line);min-height:672px;position:relative}.calendar-block{z-index:1;color:var(--brand-ink);padding:5px 7px;font-size:11px;line-height:1.35;text-decoration:none;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-block strong,.calendar-block span{display:block}.calendar-block strong{font-size:11.5px;font-weight:500}.calendar-confirmed{background:var(--brand-accent)}.calendar-paid{background:var(--brand-deep);color:#fff}.calendar-pending-approval{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn)}.calendar-completed{background:var(--brand-surface);color:var(--brand-muted);border:1px solid var(--brand-line)}.calendar-empty{color:var(--brand-muted);text-align:center;grid-column:2/-1;padding-top:240px}.admin-login-page{background:#e1e8e8;justify-content:center;align-items:center;min-height:calc(100dvh - 64px);margin:-34px -32px -72px;padding:40px 16px;display:flex}body:has(.admin-login-page) .admin-nav{display:none}.admin-login-card{border:1px solid var(--brand-line);background:#fff;width:min(340px,100%);padding:40px 36px}.admin-login-logo{color:var(--brand-ink);letter-spacing:.02em;text-align:center;margin-bottom:36px;font-size:24px;font-weight:500}.admin-field{margin-bottom:18px}.admin-field-last{margin-bottom:28px}.admin-login-error{color:var(--warn);margin-bottom:20px;font-size:13px;line-height:1.4}.admin-login-submit{width:100%}.admin-login-submit:disabled,.admin-login-card input:disabled{background:var(--brand-line);color:var(--brand-muted);cursor:not-allowed}.code-box{background:var(--brand-surface);border:1px solid var(--brand-line);border-radius:0;align-items:center;gap:8px;padding:8px 10px;font-family:ui-monospace,monospace;display:inline-flex}.status-badge,.badge{white-space:nowrap;align-items:center;min-height:24px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.status-pending,.badge-pending{background:var(--warn-bg);color:var(--warn)}.status-confirmed,.badge-confirmed{background:var(--brand-accent);color:var(--brand-ink)}.status-paid,.badge-paid{background:var(--brand-deep);color:#fff}.status-completed,.badge-completed{background:var(--ok-bg);color:var(--ok)}.status-cancelled,.status-rejected,.badge-cancelled,.badge-rejected{background:var(--brand-surface);color:var(--brand-muted)}.chip-auto{background:var(--brand-accent);color:var(--brand-ink)}.chip-manual{border:1px solid var(--brand-line);color:var(--brand-ink);background:#fff}@media (max-width:700px){.admin-nav{gap:14px;min-height:56px;padding:8px 16px}.admin-nav form{margin-left:0!important}.admin-wrap{padding:24px 16px 56px}.admin-login-page{margin:-24px -16px -56px}h1{font-size:28px}.row{flex-direction:column;align-items:flex-start}.row .when{min-width:0}.actions{width:100%}.actions button{flex:1}.smartmedical-card{flex-direction:column}.smartmedical-fields{border-right:0;border-bottom:1px dashed var(--brand-line)}.smartmedical-actions{width:auto}table.grid{white-space:nowrap;display:block;overflow-x:auto}.admin-search-form{flex-direction:column;align-items:stretch}.payment-summary{grid-template-columns:1fr;gap:10px}.availability-row{grid-template-columns:1fr 1fr}.availability-row .availability-active,.availability-row button{grid-column:span 1}}
