:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Instrument Sans,Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app-shell{background:radial-gradient(circle at top,#3b82f61f,#0000 30%),linear-gradient(#fff 0%,#f8fafc 100%);place-items:center;min-height:100vh;padding:2rem;display:grid}.bootstrap-card{background:#ffffffeb;border:1px solid #dbe3ef;border-radius:1.5rem;width:min(100%,42rem);min-width:0;padding:2.5rem;box-shadow:0 24px 60px #0f172a14}.bootstrap-card h1{overflow-wrap:anywhere;margin:.25rem 0 .75rem;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.bootstrap-card p{color:#475569;margin:0}.bootstrap-card>:last-child{margin-bottom:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#2563eb;font-size:.8rem;font-weight:700}.auth-layout{background:radial-gradient(circle at 100% 0,#2563eb1f,#0000 32%),linear-gradient(#f8fafc 0%,#eef4ff 100%);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{background:#fffffff0;border:1px solid #dbe3ef;border-radius:1.5rem;width:min(100%,32rem);min-width:0;padding:2rem;box-shadow:0 24px 60px #0f172a14}.auth-card h1{overflow-wrap:anywhere;margin:.25rem 0 .75rem;font-size:clamp(2rem,5vw,2.5rem);line-height:1.05}.auth-card p{color:#475569;margin:0 0 1rem}.auth-form{gap:.875rem;display:grid}.auth-form label{color:#0f172a;gap:.45rem;font-weight:600;display:grid}.auth-form input{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.9rem;padding:.9rem 1rem}.auth-form input:focus{border-color:#2563eb;outline:2px solid #2563eb33}.primary-button,.link-button{min-height:2.75rem;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:#2563eb}.primary-button:disabled{cursor:progress;background:#93c5fd}.link-button{color:#2563eb;background:0 0;padding-left:0}.status-banner{color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:1rem;margin-top:1rem;padding:.9rem 1rem}.status-banner.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-banner.success{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.auth-card-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.workspace-meta{border-top:1px solid #dbe3ef;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.workspace-meta-item{gap:.2rem;display:grid}.workspace-meta-item dt{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.8rem;font-weight:700}.workspace-meta-item dd{color:#0f172a;margin:0;font-weight:600}.day-view-shell{gap:1rem;margin-top:1.5rem;display:grid}.day-view-section{background:#f8fafc;border:1px solid #dbe3ef;border-radius:1.1rem;gap:.9rem;min-width:0;padding:1rem 1.1rem;display:grid}.day-view-section-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.day-view-section-header>div{min-width:0}.day-view-section-header h2{color:#0f172a;overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1.2rem}.day-view-section-count{color:#2563eb;margin:0;font-size:.95rem;font-weight:700}.day-view-bookings{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.day-view-booking{background:#fff;border:1px solid #dbe3ef;border-radius:.95rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.85rem .95rem;display:flex}.day-view-booking--changed{border-color:#cbd5e1}.day-view-booking--actionable{background:#fffbeb;border-color:#fbbf24}.day-view-booking--pending-review{background:#eff6ff;border-color:#93c5fd}.day-view-booking--canceled{background:#f8fafc;border-color:#cbd5e1}.day-view-time{color:#0f172a;margin:0;font-weight:700}.day-view-service-area{color:#475569;margin:.2rem 0 0}.day-view-marker-list{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.booking-marker,.queue-state-badge{border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.booking-marker--changed-booking{color:#0f172a;background:#e2e8f0}.booking-marker--therapist-action-required,.queue-state-badge--therapist-actionable{color:#92400e;background:#fef3c7}.booking-marker--pending-review,.queue-state-badge--pending-review{color:#1d4ed8;background:#dbeafe}.booking-marker--canceled{color:#334155;background:#e2e8f0}.day-view-booking-id,.day-view-empty{color:#64748b;margin:0;font-size:.95rem}.booking-link-stack{justify-items:end;gap:.25rem;min-width:0;display:grid}.booking-detail-link{overflow-wrap:anywhere;text-align:end;min-height:auto;padding:0;font-size:.9rem}.action-queue-panel{background:#fff;border:1px solid #dbe3ef;border-radius:1.1rem;gap:1rem;min-width:0;padding:1rem 1.1rem;display:grid}.action-queue-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.action-queue-header>div{min-width:0}.action-queue-header h2{color:#0f172a;overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1.2rem}.action-queue-count{color:#2563eb;margin:0;font-size:.95rem;font-weight:700}.action-queue-grid{gap:.85rem;display:grid}.action-queue-section{background:#f8fafc;border:1px solid #dbe3ef;border-radius:.95rem;gap:.75rem;min-width:0;padding:.9rem;display:grid}.action-queue-section-header{gap:.35rem;min-width:0;display:grid}.action-queue-section-header h3{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:1rem}.action-queue-section-header p{color:#475569;margin:0}.action-queue-items{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.action-queue-item{background:#fff;border:1px solid #dbe3ef;border-radius:.95rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.85rem .95rem;display:flex}.action-queue-item-primary{gap:.35rem;min-width:0;display:grid}.action-queue-time{color:#0f172a;margin:0;font-weight:700}.action-queue-date{color:#334155;margin:0;font-weight:600}.action-queue-service-area{color:#475569;margin:0}.action-queue-booking-id,.action-queue-empty{color:#64748b;margin:0;font-size:.95rem}.action-queue-load-more{flex-direction:column;justify-content:center;align-items:stretch;gap:.75rem;display:flex}.operations-review-section,.operations-review-detail{gap:.85rem;min-width:0;margin-top:1rem;display:grid}.operations-review-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.operations-review-item{background:#f8fafc;border:1px solid #dbe3ef;border-radius:.95rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.85rem .95rem;display:flex}.operations-review-item-main{gap:.35rem;min-width:0;display:grid}.operations-review-item-main p,.operations-review-reason,.operations-review-action{overflow-wrap:anywhere;margin:0}.operations-review-action{color:#0f172a;font-weight:800}.operations-review-reason{color:#475569}.operations-review-detail-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.operations-review-approval-form,.operations-review-rejection-form{gap:.875rem;min-width:0;display:grid}.operations-review-approval-form label,.operations-review-rejection-form label{color:#0f172a;gap:.45rem;min-width:0;font-weight:700;display:grid}.operations-review-approval-form textarea,.operations-review-rejection-form textarea{resize:vertical;width:100%;min-width:0;color:inherit;font:inherit;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.8rem .9rem}.operations-review-approval-form textarea:focus,.operations-review-rejection-form textarea:focus{border-color:#2563eb;outline:2px solid #2563eb33}.booking-detail{gap:1rem;margin-top:1rem;display:grid}.booking-detail-section{background:#f8fafc;border:1px solid #dbe3ef;border-radius:.95rem;gap:.75rem;min-width:0;padding:1rem;display:grid}.booking-detail-section h2{color:#0f172a;margin:0;font-size:1.05rem}.booking-detail-list{gap:.75rem;margin:0;display:grid}.booking-detail-list div{gap:.2rem;display:grid}.booking-detail-list dt{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.booking-detail-list dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-weight:700}.booking-detail-visibility,.booking-detail-address,.booking-detail-muted{overflow-wrap:anywhere;margin:0}.booking-detail-visibility{color:#2563eb;font-weight:700}.booking-detail-address{color:#0f172a;font-weight:700}.booking-detail-muted{color:#475569}.booking-detail-actions{gap:.5rem;margin:0;padding-left:1.25rem;display:grid}.booking-detail-actions li{overflow-wrap:anywhere;min-width:0}.booking-self-service-actions{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.booking-self-service-action{overflow-wrap:anywhere;background:#fff;border:1px solid #dbe3ef;border-radius:.75rem;gap:.35rem;min-width:0;padding:.75rem;display:grid}.booking-self-service-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.booking-self-service-label{color:#0f172a;font-weight:800}.booking-self-service-state{color:#92400e;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:800}.booking-self-service-state.available{color:#166534}.booking-self-service-state.review_only{color:#1d4ed8}.booking-reschedule-form{gap:.875rem;min-width:0;display:grid}.booking-reschedule-form label{color:#0f172a;gap:.45rem;min-width:0;font-weight:700;display:grid}.booking-reschedule-form input{width:100%;min-width:0;color:inherit;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.8rem .9rem}.booking-reschedule-form input:focus{border-color:#2563eb;outline:2px solid #2563eb33}.history-timeline{background:#f8fafc;border:1px solid #dbe3ef;border-radius:.95rem;gap:.75rem;min-width:0;margin-top:1rem;padding:1rem;display:grid}.history-timeline h2{color:#0f172a;margin:0;font-size:1.05rem}.history-timeline-list{gap:.75rem;margin:0;padding-left:1.25rem;display:grid}.history-timeline-item{overflow-wrap:anywhere;min-width:0}.history-timeline-item-header{color:#475569;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.history-timeline-state{color:#2563eb;font-weight:800}.history-timeline-state.final_outcome,.history-timeline-state.history-timeline-state--approved{color:#166534}.history-timeline-state.history-timeline-state--pending-review{color:#1d4ed8}.history-timeline-state.history-timeline-state--rejected{color:#991b1b}.history-timeline-label,.history-timeline-event-type{overflow-wrap:anywhere;margin:.35rem 0 0}.history-timeline-label{color:#0f172a;font-weight:800}.history-timeline-event-type{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:700}@media (width<=640px){.app-shell{padding:1rem}.bootstrap-card{padding:1.25rem}.action-queue-panel,.day-view-section{padding:.9rem}.action-queue-header,.action-queue-item,.operations-review-item,.day-view-section-header,.day-view-booking{display:grid}.booking-link-stack{justify-items:start}.booking-detail-link{text-align:start}}
