.portal-shell{--portal-ink:#0a0a0a;--portal-muted:#5c5c5c;--portal-line:#0000001a;--portal-green:var(--myklen-teal);--portal-accent:var(--hero-accent);--portal-paper:#fafafa}.portal-shell .page{max-width:1120px;margin:0 auto;padding:3rem 1.25rem 5rem}.portal-shell .page-narrow{max-width:560px}.portal-shell .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--portal-muted);font-size:.6875rem;font-weight:600}.portal-shell .display-title{letter-spacing:-.035em;font-weight:700;line-height:1.1}.portal-shell .lead{color:#0a0a0ac7;font-size:1.0625rem;line-height:1.65}.portal-shell .btn-primary{background:var(--portal-accent);color:#fff;cursor:pointer;border:none;border-radius:9999px;padding:.75rem 1.75rem;font-size:.875rem;font-weight:600;display:inline-block}.portal-shell .btn-primary:hover{background:#a81832}.portal-shell .btn-primary:disabled{opacity:.6;cursor:not-allowed}.portal-shell .btn-secondary{border:1px solid var(--portal-line);font:inherit;cursor:pointer;background:#fff;border-radius:.5rem;padding:.5rem 1rem;font-size:.8125rem;display:inline-block}.portal-shell .form-field{margin-bottom:1.25rem}.portal-shell .form-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--portal-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.portal-shell .form-field input,.portal-shell .form-field select,.portal-shell .form-field textarea{border:1px solid var(--portal-line);width:100%;font-family:var(--font-body,system-ui, sans-serif);color:var(--portal-ink);caret-color:var(--portal-ink);text-align:left;direction:ltr;unicode-bidi:isolate;background:#fff;border-radius:.5rem;padding:.75rem .875rem;font-size:1rem;line-height:1.4}.portal-shell .form-field input::placeholder,.portal-shell .form-field textarea::placeholder{color:#0a0a0a6b}.portal-shell.bg-slate-950 .admin-form-panel,.portal-shell.bg-slate-950 .schedule-page__panel{color:var(--portal-ink);background:#fff;border:1px solid #ffffff1f;border-radius:1rem;padding:1.5rem}.portal-shell.bg-slate-950 .admin-form-panel h2,.portal-shell.bg-slate-950 .admin-form-panel label{color:var(--portal-ink)}.portal-shell.bg-slate-950 .admin-form-panel .form-field label{color:var(--portal-muted)}.portal-shell.bg-slate-950 .admin-data-table{border-collapse:collapse;width:100%;color:var(--portal-ink);background:#fff;border:1px solid #ffffff1f;border-radius:1rem;overflow:hidden}.portal-shell.bg-slate-950 .admin-data-table th,.portal-shell.bg-slate-950 .admin-data-table td{border-bottom:1px solid var(--portal-line);text-align:left;padding:.75rem 1rem}.portal-shell.bg-slate-950 .admin-data-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-muted);background:var(--portal-paper);font-size:.75rem;font-weight:600}.portal-shell .account-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.portal-shell .account-card{border:1px solid var(--portal-line);background:var(--portal-paper);border-radius:1rem;padding:1.125rem 1.25rem}.portal-shell .account-card__head{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.portal-shell .account-card__meta{color:var(--portal-muted);font-size:.875rem}.portal-shell .account-badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--portal-line);border-radius:9999px;padding:.25rem .625rem;font-size:.6875rem;font-weight:600}.portal-shell .account-badge--scheduled{border-color:var(--portal-green);color:var(--portal-green)}.portal-shell .account-badge--cancelled{color:#6b7280;background:#6b728014;border-color:#9ca3af}.portal-shell .account-badge--completed{border-color:var(--portal-muted);color:var(--portal-muted)}.portal-shell .schedule-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.portal-shell .schedule-page__panel,.portal-shell .account-detail{border:1px solid var(--portal-line);background:var(--portal-paper);border-radius:1rem;margin-top:1.75rem;padding:1.5rem}.portal-shell .account-calendar-hint{color:var(--portal-muted);margin-top:.75rem;font-size:.8125rem}.portal-shell .customer-calendar-section{overflow:visible}.portal-shell.bg-slate-950 .admin-schedule-surface,.portal-shell.bg-slate-950 .schedule-calendar{color:var(--portal-ink)}.portal-shell .schedule-calendar__scroll{border:1px solid var(--portal-line);color:var(--portal-ink);background:#fff;border-radius:1rem;padding:1rem;overflow-x:auto}.portal-shell .admin-schedule-surface{color:var(--portal-ink);background:#fff;border:1px solid #ffffff1f;border-radius:1rem;margin-top:1rem;padding:1rem}.portal-shell .schedule-calendar__date{color:var(--portal-ink);margin-bottom:.25rem;font-size:.8125rem;font-weight:700;line-height:1.2;display:block}.portal-shell .schedule-calendar__events{flex-direction:column;flex:1;gap:3px;min-height:0;margin:0;padding:0;list-style:none;display:flex}.portal-shell .schedule-calendar__cell--outside{background:#f5f5f4}.portal-shell .schedule-calendar__cell--outside .schedule-calendar__date{color:var(--portal-muted)}.portal-shell .schedule-calendar__month,.portal-shell .schedule-calendar__event,.portal-shell .schedule-calendar__event-time,.portal-shell .schedule-calendar__event-label,.portal-shell .schedule-calendar__event-sub{color:var(--portal-ink)}.portal-shell .schedule-calendar__hint{color:var(--portal-muted);margin-top:.75rem;font-size:.8125rem}.portal-shell .schedule-calendar__hint--warn{color:var(--hero-accent,#c41e3a);font-weight:600}.portal-shell .schedule-calendar__toolbar{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.portal-shell .schedule-calendar__month{text-align:center;min-width:12rem;margin:0;font-size:1.125rem;font-weight:600}.portal-shell .schedule-calendar__weekdays{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.portal-shell .schedule-calendar__weekday{text-align:center;text-transform:uppercase;color:var(--portal-muted);font-size:.6875rem;font-weight:600}.portal-shell .schedule-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:min(100%,720px);display:grid}.portal-shell .schedule-calendar__cell{border:1px solid var(--portal-line);background:#fff;min-height:5.5rem;padding:.375rem}.portal-shell .schedule-calendar--client .schedule-calendar__scroll{padding:.75rem .5rem;overflow:visible}.portal-shell .schedule-calendar--client .schedule-calendar__body,.portal-shell .schedule-calendar--client .schedule-calendar__grid{position:relative;overflow:visible}.portal-shell .schedule-calendar--client .schedule-calendar__weekday{transition:transform .2s,font-weight .2s}.portal-shell .schedule-calendar--client .schedule-calendar__cell{z-index:0;transition:min-height .2s,transform .2s,border-color .2s,box-shadow .2s,background .2s;position:relative;overflow:visible}@media (hover:hover){.portal-shell .schedule-calendar--client .schedule-calendar__weekday--hover-col,.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-col{z-index:4;transform-origin:50%;transform:scaleX(1.14)}.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-row{z-index:4;min-height:7.25rem}.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-row.schedule-calendar__cell--hover-col{z-index:10;min-height:7.25rem;transform:scaleX(1.14)}.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-cross{border-color:var(--portal-green);background:#fff;box-shadow:inset 0 0 0 1px #0d5c5c47,0 6px 16px #0000001a}.portal-shell .schedule-calendar--client .schedule-calendar__weekday--hover-col{color:var(--portal-green);font-weight:700}.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-row .schedule-calendar__event-label,.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-col .schedule-calendar__event-label{white-space:normal;text-overflow:unset;word-break:break-word;overflow:visible}.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-row .schedule-calendar__events,.portal-shell .schedule-calendar--client .schedule-calendar__cell--hover-col .schedule-calendar__events{overflow:visible}}.portal-shell .schedule-calendar__cell--today{border-color:var(--portal-accent)}.portal-shell .schedule-calendar__cell--clickable{cursor:pointer}.portal-shell .schedule-calendar__event{text-align:left;width:100%;font:inherit;cursor:pointer;border:none;border-left:3px solid var(--portal-green);background:#0d5c5c1a;border-radius:.25rem;padding:.25rem .375rem;font-size:.6875rem}.portal-shell .schedule-calendar__event--selected{outline:2px solid var(--portal-accent)}.portal-shell .schedule-calendar__event{align-items:center;gap:.35rem;min-height:1.375rem;display:flex}.portal-shell .schedule-calendar__event-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.portal-shell .schedule-calendar__event-sub{text-overflow:ellipsis;white-space:nowrap;opacity:.75;width:100%;font-size:.625rem;line-height:1.2;display:block;overflow:hidden}.portal-shell .schedule-calendar__event{flex-wrap:wrap}.portal-shell .schedule-calendar__event--cancelled{background:#6b72801f!important;border-left-color:#9ca3af!important}.portal-shell .schedule-calendar__event--cancelled .schedule-calendar__event-label{color:#6b7280;text-decoration:line-through}.portal-shell .schedule-calendar__event--completed{background:#0d5c5c0f!important;border-left-color:#0d5c5c59!important}.portal-shell .schedule-calendar__event--completed .schedule-calendar__event-label{color:var(--portal-muted)}.portal-shell .schedule-calendar__event--alert{border-left-color:var(--hero-accent,#c41e3a);background:#c41e3a14}.portal-shell .schedule-calendar__event--cancelled.schedule-calendar__event--alert,.portal-shell .schedule-calendar__event--completed.schedule-calendar__event--alert{border-left-color:var(--hero-accent,#c41e3a)}.portal-shell .schedule-calendar__alert{background:var(--hero-accent,#c41e3a);color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;font-size:.6875rem;font-weight:800;line-height:1;display:inline-flex}.portal-shell .schedule-calendar__cell--alert .schedule-calendar__date:after{content:"";background:var(--hero-accent,#c41e3a);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.portal-shell .visit-notes-panel__title{margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.portal-shell .visit-notes-panel__meta{color:var(--portal-muted);margin:0;font-size:.8125rem}.portal-shell .visit-notes-panel__head{border-bottom:1px solid var(--portal-line);margin-bottom:1rem;padding-bottom:.75rem}.portal-shell .visit-notes-panel__head-row,.admin-panel .visit-notes-panel__head-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.portal-shell .visit-notes-panel__edit-link,.admin-panel .visit-notes-panel__edit-link{color:var(--portal-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.admin-panel .visit-notes-panel__edit-link{color:var(--admin-muted)}.admin-panel .admin-schedule-detail{margin-top:1rem}.admin-panel .admin-schedule-detail__hint{color:var(--admin-muted);margin:1rem 0 0;font-size:.875rem}.admin-panel .admin-schedule-detail>*+*{margin-top:0}.portal-shell .visit-thread,.admin-panel .visit-thread{margin:0 0 1rem;padding:0;list-style:none}.portal-shell .visit-thread__empty,.admin-panel .visit-thread__empty{color:var(--portal-muted);padding:.25rem 0;font-size:.875rem}.portal-shell .visit-thread__item,.admin-panel .visit-thread__item{border-bottom:1px solid var(--portal-line);align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex}.admin-panel .visit-thread__item{border-bottom-color:var(--admin-line)}.portal-shell .visit-thread__item--reply,.admin-panel .visit-thread__item--reply{border-left:2px solid var(--portal-line);margin-left:1.25rem;padding-left:.75rem}.admin-panel .visit-thread__item--reply{border-left-color:var(--admin-line)}.portal-shell .visit-thread__text,.admin-panel .visit-thread__text{white-space:pre-wrap;flex:1;margin:0;font-size:.9375rem;line-height:1.5}.portal-shell .visit-thread__del,.admin-panel .visit-thread__del{color:#b91c1c;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.75rem;text-decoration:underline}.portal-shell .visit-thread__del:disabled,.admin-panel .visit-thread__del:disabled{opacity:.4;cursor:not-allowed}.portal-shell .visit-thread__compose,.admin-panel .visit-thread__compose{flex-direction:column;gap:.5rem;display:flex}.portal-shell .visit-thread__input,.admin-panel .visit-thread__input{border:1px solid var(--portal-line);width:100%;font-family:var(--font-body,system-ui, sans-serif);color:var(--portal-ink);resize:vertical;direction:ltr;border-radius:.5rem;padding:.75rem;font-size:1rem;line-height:1.4}.admin-panel .visit-thread__input{border-color:var(--admin-line);color:var(--admin-ink)}.portal-shell .visit-thread__error,.admin-panel .visit-thread__error{color:#b91c1c;margin:0;font-size:.8125rem}.portal-shell .appointment-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}
