.report-indicator{margin-top:4px;font-size:12px}.report-indicator a,.appointment-main>a{color:var(--blue);font-weight:600}.report-list{list-style:none;padding:0;margin:0}.report-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.report-list li:last-child{border-bottom:0}.report-list span{color:var(--muted)}
:root{--purple:#7147a6;--purple-dark:#503176;--lavender:#eee6f7;--ink:#26232d;--muted:#6f6a78;--line:#e5e1e9;--surface:#fff;--bg:#f7f5f8;--green:#18794e;--red:#b42318;--blue:#1769aa;--orange:#b54708;--shadow:0 8px 28px rgba(53,34,73,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;min-height:64px;padding:0 28px;color:#fff;background:linear-gradient(110deg,var(--purple-dark),var(--purple));box-shadow:0 3px 14px rgba(39,18,57,.2)}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:18px;font-weight:750}.brand:hover{text-decoration:none}.brand-mark,.login-logo{display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--purple);font-weight:850}.brand-mark{width:36px;height:36px}.main-nav{display:flex;align-items:center;gap:4px;flex:1}.main-nav a{padding:20px 10px;color:#f8f4fc;font-size:14px}.main-nav a:hover{background:rgba(255,255,255,.08);text-decoration:none}.user-menu{display:flex;gap:12px;align-items:center;font-size:13px}.user-menu form{margin:0}.link-button{border:0;background:transparent;color:#fff;cursor:pointer;text-decoration:underline}.nav-toggle{display:none;border:0;background:transparent;color:#fff;font-size:25px}.page{max-width:1520px;margin:0 auto;padding:30px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 24px}.page-heading h1{margin:0;font-size:30px;letter-spacing:-.03em}.eyebrow{margin:0 0 4px;color:var(--purple);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.muted{color:var(--muted)}.btn{display:inline-flex;min-height:40px;padding:9px 15px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;font-weight:700;cursor:pointer}.btn:hover{text-decoration:none;filter:brightness(.98)}.btn-primary{background:var(--purple);color:#fff}.btn-secondary{border-color:#cfc7d8;background:#fff;color:var(--ink)}.btn-ghost{background:transparent;color:var(--muted)}.btn-danger{background:#fff1f0;color:var(--red);border-color:#ffd0cc}.btn-block{width:100%}.icon-btn{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:25px}.panel{margin-bottom:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading h2{margin:0;font-size:19px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;min-height:112px;padding:20px;flex-direction:column;border:1px solid var(--line);border-left:5px solid var(--purple);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.stat-card span{color:var(--muted);font-weight:650}.stat-card strong{margin-top:auto;font-size:32px}.stat-confirmed{border-left-color:var(--green)}.stat-payment{border-left-color:var(--red)}.stat-message{border-left-color:var(--blue)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.toolbar input,.toolbar select{height:40px;padding:7px 10px;border:1px solid #d8d2dd;border-radius:8px;background:#fff}.sheet-wrap{overflow:auto;border:1px solid #d8d1df;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.agenda-table{width:100%;min-width:1420px;border-collapse:collapse;font-size:12px}.agenda-table th{position:sticky;top:0;z-index:4;padding:10px 9px;color:#fff;background:#b56bd5;text-align:left;white-space:nowrap}.agenda-table td{padding:8px 8px;border-right:1px solid #ebe7ee;border-bottom:1px solid #e7e3e9;vertical-align:middle}.agenda-table tr:hover td{background:#faf7fc}.agenda-table .date-group td{padding:7px 9px;background:#ececef!important;color:#29252c;font-weight:800}.agenda-table td small{display:block;color:var(--muted)}.consult-cell{min-width:145px;background:#d5f0e3}.status-pill,.tag{display:inline-flex;padding:4px 9px;border-radius:999px;align-items:center;font-size:11px;font-weight:750;white-space:nowrap}.status-pill{color:#fff}.status-available{background:#77ad54}.status-hold{background:#9065b0}.status-scheduled{background:#5d9ecd}.status-confirmed,.status-attended{background:#16814f}.status-cancelled,.status-no_show{background:#c62d2d}.status-rescheduled{background:#d48321}.status-sick{background:#8b6b55}.consent-ok{background:#daf5e6;color:#11673d}.consent-due{background:#ffe0de;color:#a11a13}.payment-paid,.payment-insurance,.payment-waived{background:#d7f2e3;color:#126a40}.payment-due_total,.payment-due_deposit{background:#ffe1df;color:#a31d16}.payment-deposit_paid{background:#dceefb;color:#185f8f}.professional-dot{display:block;white-space:nowrap}.professional-dot:before{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--dot);content:""}.mobile-agenda{display:none}.appointment-list{display:flex;flex-direction:column;gap:9px}.day-divider{margin:16px 0 4px;color:var(--muted);font-size:13px;text-transform:capitalize}.appointment-card{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-left:5px solid var(--purple);border-radius:10px;background:#fff;color:var(--ink)}.appointment-card:hover{text-decoration:none;box-shadow:var(--shadow)}.appointment-card time{font-size:18px;font-weight:800}.appointment-card time small,.appointment-main span,.appointment-main small{display:block;color:var(--muted);font-size:12px;font-weight:500}.appointment-main strong{font-size:15px}.status-border-available{border-left-color:#77ad54}.status-border-scheduled{border-left-color:#5d9ecd}.status-border-confirmed,.status-border-attended{border-left-color:#16814f}.status-border-cancelled,.status-border-no_show{border-left-color:#c62d2d}.status-border-hold{border-left-color:#9065b0}.status-border-rescheduled{border-left-color:#d48321}.status-border-sick{border-left-color:#8b6b55}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{font-size:13px;font-weight:750}.form-control{width:100%;min-height:41px;padding:9px 10px;border:1px solid #cec7d4;border-radius:8px;background:#fff;color:var(--ink)}textarea.form-control{resize:vertical}.form-control:focus{border-color:var(--purple);outline:3px solid rgba(113,71,166,.12)}.form-checkbox{display:block;padding-top:26px}.form-check-input{margin-right:7px}.required,.field-error{color:var(--red)}.help{color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.messages{margin-bottom:18px}.alert{padding:12px 15px;border-radius:9px;background:#e9f1ff;color:#184e91}.alert-success{background:#e2f5ea;color:#176840}.alert-error{background:#ffe4e2;color:#981b16}.alert-warning{background:#fff1d6;color:#81510b}.empty-state{padding:36px!important;color:var(--muted);text-align:center}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,#efe4fa,transparent 36%),radial-gradient(circle at 90% 80%,#e3f4ec,transparent 32%),#f8f6fa}.login-card{width:min(420px,100%);padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(56,31,76,.13)}.login-logo{width:56px;height:56px;margin-bottom:18px;background:var(--purple);color:#fff}.login-card h1{margin:0}.stack-form{display:flex;flex-direction:column;gap:8px;margin-top:22px}.stack-form input{height:43px;margin-bottom:8px;padding:9px;border:1px solid #cec7d4;border-radius:8px}.stack-form label{font-weight:700}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.definition-list{display:grid;grid-template-columns:170px 1fr;gap:12px 18px;margin:0}.definition-list dt{color:var(--muted);font-size:13px;font-weight:700}.definition-list dd{margin:0}.action-row{display:flex;flex-wrap:wrap;gap:9px}.list-table{width:100%;border-collapse:collapse}.list-table th,.list-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left}.list-table th{color:var(--muted);font-size:12px;text-transform:uppercase}.search-bar{display:flex;gap:9px;margin-bottom:18px}.search-bar input{flex:1}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.integration-item{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line)}.integration-ok{color:var(--green);font-weight:800}.integration-off{color:var(--red);font-weight:800}
@media(max-width:980px){.topbar{padding:0 16px;gap:12px;flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto}.main-nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding-bottom:10px}.main-nav.open{display:flex}.main-nav a{padding:10px}.user-menu span{display:none}.page{padding:20px 14px}.stats-grid{grid-template-columns:repeat(2,1fr)}.desktop-agenda{display:none}.mobile-agenda{display:block}.toolbar{flex-wrap:wrap}.toolbar select{flex:1}.detail-grid,.two-columns{grid-template-columns:1fr}.agenda-table th{top:0}}
@media(max-width:620px){.page-heading{align-items:flex-start;flex-direction:column}.page-heading .btn{width:100%}.page-heading h1{font-size:25px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:92px;padding:14px}.stat-card strong{font-size:26px}.panel{padding:16px}.toolbar input,.toolbar select,.toolbar .btn{width:calc(50% - 6px);flex:none}.toolbar .icon-btn{width:40px}.appointment-card{grid-template-columns:58px minmax(0,1fr);gap:10px}.appointment-card>.status-pill{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.form-checkbox{padding-top:8px}.definition-list{grid-template-columns:1fr;gap:2px}.definition-list dd{margin-bottom:10px}.list-table-responsive{overflow:auto}.user-menu{margin-left:0}.brand span:last-child{display:none}}
.bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 10px}.bulk-actions label{display:flex;align-items:center;gap:7px;font-weight:700}.select-column{width:42px;text-align:center!important}.appointment-selector{width:18px;height:18px;accent-color:var(--purple)}.selectable-appointment{position:relative}.selectable-appointment .appointment-card{padding-left:46px}.mobile-selector{position:absolute;left:15px;top:50%;z-index:2;transform:translateY(-50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.appointment-form{display:flex;flex-direction:column;gap:24px}.form-section{padding-bottom:22px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0}.form-section h2{margin:0 0 16px;color:var(--purple-dark);font-size:17px}.appointment-form .form-field-wide{grid-column:1/-1}.appointment-form .form-field-wide>.form-field{width:100%}.end-time-group{display:flex;flex-direction:column;gap:10px}.end-time-group .form-checkbox{padding-top:0}#end-field.automatic{opacity:.62}#end-field.automatic input{background:#ecebef;color:#777;cursor:not-allowed}.conditional-fields[hidden]{display:none}
.calendar-toolbar{justify-content:center}.calendar-legend{display:flex;gap:18px;margin:0 0 14px;color:var(--muted);font-size:13px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-key{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--blue)}.calendar-key-free{background:var(--green)}.calendar-key-hold{background:var(--orange)}.month-calendar{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.month-weekdays,.month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{background:#f0ebf5;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.month-weekdays span{padding:10px;border-right:1px solid var(--line)}.month-weekdays span:last-child{border-right:0}.month-day{min-height:142px;padding:9px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff}.month-day:last-child{border-right:0}.month-day-muted{background:#faf9fb;color:#aaa}.month-day-today{box-shadow:inset 0 3px 0 var(--purple)}.month-day-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.month-day-header strong{font-size:15px}.day-free-count{color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}.calendar-appointment{display:flex;gap:5px;align-items:baseline;margin:3px 0;padding:4px 5px;border-left:3px solid var(--blue);background:#edf5fb;color:var(--ink);font-size:12px;line-height:1.25}.calendar-appointment:hover{text-decoration:none;filter:brightness(.97)}.calendar-appointment time{font-weight:800}.calendar-appointment-available{border-left-color:var(--green);background:#edf8f1}.calendar-appointment-hold{border-left-color:var(--orange);background:#fff5e9}.calendar-appointment-cancelled{border-left-color:var(--red);background:#fdf0ef;text-decoration:line-through}.calendar-empty{display:block;color:#aaa;font-size:12px;padding-top:10px}@media(max-width:760px){.month-day{min-height:110px;padding:6px}.month-weekdays span{padding:7px 4px;font-size:10px}.calendar-appointment{display:block;padding:3px;font-size:11px}.calendar-appointment span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-empty{font-size:10px}.calendar-legend{flex-wrap:wrap;gap:10px}}
.integration-lights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.integration-light{display:flex;gap:15px;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.integration-light h2{margin:0 0 5px;font-size:18px}.integration-light strong{display:block;margin-bottom:8px}.integration-light p{margin:0;color:var(--muted)}.traffic-light{width:19px;height:19px;margin-top:3px;flex:0 0 19px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #d6d1da}.integration-light-ok .traffic-light{background:#22a06b;box-shadow:0 0 0 2px #a9ddc6,0 0 12px rgba(34,160,107,.35)}.integration-light-error .traffic-light{background:#d92d20;box-shadow:0 0 0 2px #f4b7b2,0 0 12px rgba(217,45,32,.3)}.integration-light-pending .traffic-light{background:#e9a23b;box-shadow:0 0 0 2px #f6d8a8,0 0 12px rgba(233,162,59,.3)}.integration-verification{display:flex;align-items:center;justify-content:space-between;gap:20px}.integration-verification h2{margin:0}.integration-verification p{margin:6px 0 0}@media(max-width:980px){.integration-lights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.integration-lights{grid-template-columns:1fr}.integration-light{min-height:auto}.integration-verification{align-items:stretch;flex-direction:column}.integration-verification .btn{width:100%}}

.integration-light>div{display:flex;min-width:0;flex:1;flex-direction:column}.integration-light p{margin-bottom:10px;overflow-wrap:anywhere}.integration-light form{margin:0}.integration-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}.integration-date{font-size:12px}
