:root{
 --bg:#f6f8f7;--surface:#fff;--surface-elevated:#fbfcfb;--border:#dfe5e2;--border-subtle:#edf0ee;
 --text:#17211d;--text-secondary:#52615b;--text-muted:#7a8782;--green:#176b50;--green-hover:#125640;
 --green-soft:#e9f5f0;--success:#16704f;--success-bg:#e8f5ef;--warning:#9a6509;--warning-bg:#fff5d9;
 --danger:#b4232f;--danger-hover:#941c27;--danger-bg:#fff0f1;--neutral-bg:#f0f3f2;
 --radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-subtle:0 1px 2px rgba(20,45,35,.04);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;
 font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;
}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--green);text-underline-offset:2px}a:hover{color:var(--green-hover)}
.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-6);height:58px;padding:0 clamp(1rem,3vw,2rem);background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:.65rem;min-width:max-content;color:var(--text);font-size:15px;font-weight:680;letter-spacing:-.01em}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--green);color:#fff;font-size:11px;letter-spacing:.04em}
.app-nav{display:flex;align-self:stretch;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav a{position:relative;display:flex;align-items:center;padding:0 .7rem;color:var(--text-secondary);font-size:13px;font-weight:550;text-decoration:none;white-space:nowrap}.app-nav a:hover{color:var(--text);background:var(--surface-elevated)}.app-nav a.active{color:var(--green)}.app-nav a.active::after{position:absolute;right:.7rem;bottom:0;left:.7rem;height:2px;border-radius:2px 2px 0 0;background:var(--green);content:""}
.account{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.account-email{max-width:180px;overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.logout-form{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.app-main{width:min(100% - 2rem,1320px);margin:0 auto;padding:var(--space-8) 0 3rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}h1{margin:0;font-size:24px;line-height:1.25;letter-spacing:-.025em}h2{margin:0 0 var(--space-3);font-size:15px;line-height:1.35;letter-spacing:-.01em}h3{margin:0;font-size:14px}p{margin:0 0 var(--space-4);color:var(--text-secondary)}.muted{color:var(--text-muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:var(--space-8) 0 var(--space-3)}.section-title h2{margin:0;font-size:16px}
.panel,.intake-card,.whatsapp-card,.danger-zone{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.panel{padding:var(--space-5);margin-bottom:var(--space-4)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-header p{margin:var(--space-1) 0 0}
.status{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;margin-bottom:var(--space-4);border:1px solid;border-radius:var(--radius-md);font-size:14px;font-weight:650}.status::before{width:8px;height:8px;border-radius:50%;content:""}.status.on{color:var(--success);background:var(--success-bg);border-color:#cce8dc}.status.on::before{background:var(--success)}.status.off{color:var(--danger);background:var(--danger-bg);border-color:#f3d1d5}.status.off::before{background:var(--danger)}
.grid,.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}.kpi-card,.grid>article,.contact-summary article{min-height:94px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.kpi-label,.grid article h2,.grid article span,.contact-summary span{display:block;margin:0 0 var(--space-2);color:var(--text-muted);font-size:12px;font-weight:550;line-height:1.3}.kpi-value,.grid article>strong,.contact-summary strong{display:block;color:var(--text);font-size:25px;font-weight:680;line-height:1.15;letter-spacing:-.035em}.kpi-meta{display:block;margin-top:var(--space-2);color:var(--text-secondary);font-size:12px}.health{display:inline-flex;align-items:center;gap:.45rem;font-size:14px!important;letter-spacing:0!important}.health::before{width:7px;height:7px;border-radius:50%;background:var(--success);content:""}.health.down::before{background:var(--danger)}
.badge,.contact-badge,.state-badge{display:inline-flex;align-items:center;gap:.35rem;width:max-content;padding:.2rem .55rem;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:650;line-height:1.35;white-space:nowrap}.badge.success,.contact-badge.sent,.state-badge.connected{color:var(--success);background:var(--success-bg);border-color:#d3eadf}.badge.warning,.contact-badge.pending,.state-badge.waiting{color:var(--warning);background:var(--warning-bg);border-color:#f3e4b5}.badge.danger,.contact-badge.failed,.state-badge.disconnected,.state-badge.error{color:var(--danger);background:var(--danger-bg);border-color:#f3dadd}.badge.neutral,.contact-badge.historical{color:#53615c;background:var(--neutral-bg);border-color:#e1e6e4}.badge.tester{color:#5f46a5;background:#f1edff;border-color:#e1d9ff}.badge::before,.state-badge::before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}
button,.button,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.48rem .8rem;border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--green);color:#fff;font:inherit;font-size:13px;font-weight:620;line-height:1;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}button.primary,.button.primary{border-color:var(--green);background:var(--green);color:#fff}button.primary:hover,.button.primary:hover{border-color:var(--green-hover);background:var(--green-hover)}button:hover,.button:hover,.button-link:hover{border-color:var(--green-hover);background:var(--green-hover);color:#fff}button:active,.button:active{transform:translateY(1px)}button:focus-visible,.button:focus-visible,.button-link:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(23,107,80,.18);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}.secondary,button.secondary,.button.secondary{border-color:var(--border);background:#fff;color:var(--text)}button.secondary:hover,.button.secondary:hover{border-color:#c8d1cd;background:#f7f9f8;color:var(--text)}button.danger,.button.danger{border-color:var(--danger);background:var(--danger);color:#fff}button.danger:hover,.button.danger:hover{border-color:var(--danger-hover);background:var(--danger-hover)}button.ghost,.button.ghost,.link{border-color:transparent;background:transparent;color:var(--text-secondary);box-shadow:none}button.ghost:hover,.button.ghost:hover,.link:hover{background:var(--neutral-bg);color:var(--text)}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}
form{margin:0}form.form-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}label{display:grid;gap:.4rem;margin-bottom:var(--space-4);color:var(--text-secondary);font-size:12px;font-weight:600}input,textarea,select{width:100%;min-height:36px;padding:.55rem .7rem;border:1px solid #ccd5d1;border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}input:hover,textarea:hover,select:hover{border-color:#adbcb5}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,80,.10);outline:0}input[type=checkbox]{width:16px;min-height:16px;margin:0;accent-color:var(--green)}label:has(input[type=checkbox]){display:flex;align-items:center;gap:.55rem;font-size:13px}textarea{min-height:240px;resize:vertical;line-height:1.55}.inline-form{display:inline-flex;align-items:center;gap:var(--space-2)}.inline-form label{margin:0}.secondary-form{margin-top:var(--space-3)}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}table{width:100%;border-collapse:collapse;font-size:13px}thead{background:#fafbfa}th{padding:.65rem .8rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:650;letter-spacing:.02em;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:.65rem .8rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}td strong{color:var(--text)}td form{display:inline-flex;align-items:center;gap:var(--space-2)}td form label{margin:0;min-width:170px}.cell-primary{color:var(--text);font-weight:560}.cell-muted{color:var(--text-muted);font-size:12px}.empty-state{padding:2rem!important;color:var(--text-muted);text-align:center}
.contact-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.contact-summary article{min-height:82px}.contact-tools{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.contact-tools label{flex:1;margin:0}.contact-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3)}.filter-chip{padding:.38rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:580;text-decoration:none}.filter-chip:hover{border-color:#bcc8c3;background:#fafcfb;color:var(--text)}.filter-chip.active{border-color:#b8ddce;background:var(--green-soft);color:var(--green)}
.contact-tools label small{display:block;margin-top:.3rem;color:var(--text-muted);font-size:11px}.contact-tools .contact-page-size{flex:0 0 92px}.contact-results-meta,.contact-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-muted);font-size:12px}.contact-results-meta{margin:0 0 var(--space-2)}.contact-pagination{justify-content:center;margin-top:var(--space-4)}.contact-pagination .disabled{cursor:not-allowed;opacity:.5}.contact-identity-cell{min-width:285px}.contact-identity-cell span,.contact-activity span{display:block;margin-top:.2rem;color:var(--text-muted);font-size:12px}.contact-identity-cell span strong,.contact-activity span strong{color:var(--text-secondary);font-weight:600}.contact-identity-name{display:block;margin-bottom:.35rem;color:var(--text);font-size:14px;font-weight:700;text-decoration:none}.contact-identity-name:hover{color:var(--green);text-decoration:underline}.contact-activity{min-width:205px}
.intake-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.intake-card{padding:var(--space-5);margin-bottom:var(--space-3)}.intake-card dl,.whatsapp-card dl{display:grid;grid-template-columns:130px 1fr;gap:.5rem 1rem;margin:var(--space-4) 0 0}.intake-card dt,.whatsapp-card dt{color:var(--text-muted);font-size:12px;font-weight:600}.intake-card dd,.whatsapp-card dd{margin:0;color:var(--text)}.pre-wrap{white-space:pre-wrap}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:var(--space-3)}
.whatsapp-card{padding:var(--space-6);margin-bottom:var(--space-4)}.whatsapp-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.whatsapp-state{margin-bottom:var(--space-3)}.whatsapp-qr{display:block;width:min(300px,100%);height:auto;margin:var(--space-5) auto;border:10px solid #fff;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border)}.whatsapp-instructions{max-width:520px;margin:var(--space-4) auto;color:var(--text-secondary)}.danger-zone{padding:0;margin-top:var(--space-5);overflow:hidden;border-color:#edc8cc;background:var(--danger-bg)}.danger-zone summary{padding:var(--space-4) var(--space-5);color:var(--danger);font-weight:650;cursor:pointer}.danger-content{padding:0 var(--space-5) var(--space-5)}.danger-content form{padding:var(--space-4);border:1px solid #efc9cd;border-radius:var(--radius-sm);background:#fff}
.notice{padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-secondary)}.notice.warning{border-color:#efdfae;background:var(--warning-bg)}.error{padding:.7rem .85rem;border:1px solid #f0ced2;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger)}
.auth-body{display:grid;min-height:100vh;place-items:center;padding:var(--space-5);background:var(--bg)}.login{width:min(100%,420px);margin:0}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:var(--space-6);font-size:16px;font-weight:680}.auth-card{padding:var(--space-8);background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle)}.auth-card h1{margin-bottom:var(--space-2)}.auth-card>.muted{margin-bottom:var(--space-6)}.auth-card form button{width:100%}.auth-links{margin:var(--space-4) 0 0;text-align:center;font-size:13px}
.app-footer{width:min(100% - 2rem,1320px);margin:0 auto;padding:0 0 var(--space-8);color:var(--text-muted);font-size:11px;text-align:center}
/* Safety for legacy one-line profile template: the canonical Proposal block is rendered inside main. */
body>#appointment-proposals{display:none}
@media(max-width:1050px){.app-header{gap:var(--space-3)}.account-email{display:none}.contact-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.app-header{position:relative;display:grid;grid-template-columns:1fr auto;height:auto;padding:var(--space-3) var(--space-4)}.app-nav{grid-column:1/-1;grid-row:2;height:40px;order:3}.app-nav a{padding:0 .6rem}.account{grid-column:2}.app-main{width:min(100% - 1.5rem,1320px);padding-top:var(--space-6)}.grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-settings{grid-template-columns:1fr}.whatsapp-hero{display:block}}
@media(max-width:560px){body{font-size:13px}.app-main{width:min(100% - 1rem,1320px)}.page-header{margin-bottom:var(--space-4)}h1{font-size:21px}.grid,.kpi-grid,.contact-summary,.metric-row{grid-template-columns:1fr 1fr}.kpi-card,.grid>article,.contact-summary article{min-height:76px;padding:var(--space-3)}.kpi-value,.grid article>strong,.contact-summary strong{font-size:21px}.contact-tools{align-items:stretch;flex-direction:column}.contact-tools button{width:100%}.panel,.intake-card,.whatsapp-card{padding:var(--space-4)}.button-row{align-items:stretch;flex-direction:column}.button-row>*{width:100%}.intake-card dl,.whatsapp-card dl{grid-template-columns:1fr;gap:.15rem}.intake-card dd,.whatsapp-card dd{margin-bottom:.5rem}.auth-card{padding:var(--space-6)}.table-wrap{border-radius:var(--radius-sm)}}.profile-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-6);margin-bottom:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.profile-hero h2{margin:.2rem 0;font-size:24px}.eyebrow{color:var(--green);font-size:11px;font-weight:750;letter-spacing:.12em}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.profile-data{display:grid;grid-template-columns:145px 1fr;gap:.55rem 1rem;margin:0}.profile-data dt{color:var(--text-muted);font-size:12px;font-weight:600}.profile-data dd{margin:0;color:var(--text)}.phone-link{font-size:16px;font-weight:650;text-decoration:none}.preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.preference-grid>div{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-2)}.preference-grid form{display:inline-flex}.badge.vip{color:#76560a;background:#fff6d9;border-color:#eedc9b}.pet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.pet-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.pet-card details,.add-pet{margin-top:var(--space-3)}.pet-card summary,.add-pet>summary{color:var(--green);font-weight:650;cursor:pointer}.pet-card details form,.add-pet form{padding-top:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-3)}textarea.notes{min-height:90px}@media(max-width:800px){.profile-grid,.preference-grid{grid-template-columns:1fr}.profile-hero{flex-direction:column}}@media(max-width:560px){.form-grid{grid-template-columns:1fr}.profile-data{grid-template-columns:1fr;gap:.15rem}.profile-data dd{margin-bottom:.5rem}}
.notice.danger-notice{border-color:#f0ced2;background:var(--danger-bg);color:var(--danger)}
.contact-controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.contact-controls-grid .control-panel{min-width:0;margin:0;background:#f1f3f4;border-color:#d9dedc}.contact-controls-grid .preference-grid{grid-template-columns:1fr;gap:var(--space-4)}.contact-controls-grid .automation-preference{align-items:flex-start;flex-direction:column}.profile-section{padding:var(--space-5);margin-bottom:var(--space-5);border:1px solid;border-radius:var(--radius-md)}.profile-section-pets{border-color:#cbdff0;background:#edf6ff}.profile-section-pets .section-title{margin-top:0}.profile-section-pets .pet-card,.profile-section-pets .add-pet{background:rgba(255,255,255,.82);border-color:#cbdff0}.profile-section-proposals{border-color:#edc9cd;background:#fff1f1}.profile-section-citas{border-color:#e7cbd8;background:#fff2f7}.history-more{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.history-more>summary{width:max-content;color:var(--green);font-weight:650;cursor:pointer}.history-more[open]>summary{margin-bottom:var(--space-2)}@media(max-width:1050px){.contact-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-controls-grid .control-panel:last-child{grid-column:1/-1}}@media(max-width:800px){.contact-controls-grid{grid-template-columns:1fr}.contact-controls-grid .control-panel:last-child{grid-column:auto}}@media(max-width:560px){.profile-section{padding:var(--space-4)}}
#human-control-alert{width:100%}.notice.human-control-alert{width:100%;border-color:#e8b8bd;background:#fff0f1;color:#6f1d27;box-shadow:inset 4px 0 0 var(--danger)}.notice.human-control-alert strong{color:var(--danger)}.notice.human-control-alert p,.notice.human-control-alert li,.notice.human-control-alert small{color:#6f3137}
.chat-history{display:grid;gap:.65rem;max-height:68vh;padding:.5rem;overflow-y:auto}.chat-message{max-width:min(78%,720px);padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated)}.chat-message.outbound{justify-self:end;background:var(--green-soft);border-color:#c7e5d8}.chat-message>div{display:flex;justify-content:space-between;gap:1rem}.chat-message p{margin:.4rem 0}.chat-message small{color:var(--text-muted)}@media(max-width:560px){.chat-message{max-width:94%}}

.vacation-hero,.automation-preference{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.vacation-hero h2{margin:.3rem 0}.automation-preference{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-elevated)}.confirmation{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary)}.confirmation input{width:auto}.status a{color:inherit;text-decoration:none}
@media(max-width:700px){.vacation-hero,.automation-preference{align-items:flex-start;flex-direction:column}}
.vacation-list{display:grid;gap:8px}.vacation-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-subtle)}.vacation-row:last-child{border-bottom:0}.vacation-row p{margin:4px 0 0;color:var(--text-muted)}.vacation-row .actions{display:flex;gap:8px;align-items:center}.vacation-row form{margin:0}@media(max-width:760px){.vacation-row{grid-template-columns:1fr}.vacation-row .actions{flex-wrap:wrap}}

.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.integration-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.integration-card h3{margin-top:0}.integration-actions{display:grid;gap:12px}.integration-actions form{margin:0}


.agenda-shell{display:grid;gap:var(--space-4)}.agenda-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.agenda-heading p{margin:.25rem 0 0}.agenda-controls,.agenda-nav,.agenda-view-switcher{display:flex;align-items:center;gap:var(--space-2)}.agenda-view-switcher{padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.agenda-view-switcher .button{min-height:28px;padding:.35rem .65rem;border:0}.agenda-view-switcher .active{background:var(--green-soft);color:var(--green)}.agenda-outside{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.7rem .85rem;margin:0;border:1px solid #efdfae;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);font-size:12px}.agenda-day-summary{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.agenda-day-view,.agenda-week-scroll,.agenda-month{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-subtle)}.agenda-timeline{display:grid;grid-template-columns:58px minmax(0,1fr)}.agenda-time-rail{position:relative;height:780px;border-right:1px solid var(--border)}.agenda-time-label{position:absolute;right:9px;transform:translateY(-50%);color:var(--text-muted);font-size:10px}.agenda-time-label:first-child{transform:none}.agenda-time-label:last-child{transform:translateY(-100%)}.agenda-track{position:relative;height:780px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 14px,var(--border-subtle) 15px);background-size:100% 15px}.agenda-slot{position:absolute;right:0;left:0;height:15px;border-radius:2px;text-decoration:none}.agenda-slot:hover,.agenda-slot:focus-visible{z-index:2;background:rgba(23,107,80,.08);box-shadow:inset 0 1px rgba(23,107,80,.2)}
.agenda-event{position:absolute;z-index:3;top:calc(var(--start) * 1px);right:7px;left:7px;min-height:max(29px,calc(var(--duration) * 1px));padding:.38rem .5rem;overflow:hidden;border:1px solid #b8ddce;border-left:3px solid var(--green);border-radius:var(--radius-sm);background:rgba(233,245,240,.96);color:var(--text);font-size:11px;line-height:1.32;text-decoration:none;box-shadow:0 1px 1px rgba(20,45,35,.05)}.agenda-event:hover{border-color:#82bda6;background:#e2f2eb;color:var(--text)}.agenda-event strong,.agenda-event span,.agenda-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-event span,.agenda-event small{color:var(--text-secondary)}.agenda-event.cancelled{border-color:#d7dcda;border-left-color:var(--text-muted);background:var(--neutral-bg);opacity:.7}.agenda-event.modality-online{border-left-color:#5578b8;background:#f1f5fb}.agenda-event.modality-home{border-left-color:#a36a18;background:#fff8e9}.agenda-event .badge{display:inline-flex;margin-top:.25rem;font-size:9px}.agenda-day-view .agenda-event{padding:.55rem .7rem;font-size:12px}.agenda-day-view .agenda-event strong{font-size:13px}
.agenda-week-scroll{overflow-x:auto}.agenda-week{display:grid;grid-template-columns:58px repeat(7,minmax(155px,1fr));min-width:1143px}.agenda-week-corner,.agenda-week-header{position:sticky;top:0;z-index:5;min-height:58px;padding:.65rem;border-bottom:1px solid var(--border);background:#fafbfa}.agenda-week-corner{left:0}.agenda-week-header{border-left:1px solid var(--border-subtle)}.agenda-week-header strong,.agenda-week-header span{display:block}.agenda-week-header span{color:var(--text-muted);font-size:10px}.agenda-week-header.today{background:var(--green-soft);box-shadow:inset 0 2px var(--green)}.agenda-week .agenda-time-rail{position:sticky;left:0;z-index:4;background:var(--surface)}.agenda-week .agenda-track{border-left:1px solid var(--border-subtle)}.agenda-week .agenda-track.today{background-color:#fbfefc}
.agenda-month-weekdays,.agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-month-weekdays{border-bottom:1px solid var(--border);background:#fafbfa}.agenda-month-weekdays span{padding:.6rem .7rem;color:var(--text-muted);font-size:10px;font-weight:650;text-transform:uppercase}.agenda-month-day{position:relative;min-height:132px;padding:.55rem;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.agenda-month-day:nth-child(7n){border-right:0}.agenda-month-day.other-month{background:#fafbfa;color:var(--text-muted)}.agenda-month-day.today{background:var(--green-soft);box-shadow:inset 0 0 0 1px #c7e5d8}.agenda-month-day-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.agenda-month-day-number,.agenda-month-count,.agenda-month-events{position:relative;z-index:2;pointer-events:none}.agenda-month-day-number{display:inline-grid;place-items:center;width:25px;height:25px;color:var(--text);font-weight:680;text-decoration:none;pointer-events:auto}.agenda-month-day.today .agenda-month-day-number{border-radius:50%;background:var(--green);color:#fff}.agenda-month-count{margin:.15rem 0 .3rem;color:var(--text-muted);font-size:10px}.agenda-month-events{display:grid;gap:2px}.agenda-month-event{display:block;overflow:hidden;padding:.18rem .3rem;border-radius:4px;background:var(--neutral-bg);color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;pointer-events:auto}.agenda-month-event:hover{background:var(--green-soft);color:var(--green)}.agenda-month-more{color:var(--text-muted);font-size:10px}
.appointment-form{max-width:850px}.autocomplete-results{display:grid;position:relative;z-index:5;gap:2px;margin-top:-12px;margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.autocomplete-option{justify-content:flex-start;width:100%;border-color:var(--border);background:#fff;color:var(--text);text-align:left}.autocomplete-option:hover{background:var(--surface-elevated);color:var(--text)}
@media(max-width:800px){.agenda-topbar{align-items:stretch;flex-direction:column}.agenda-controls{align-items:stretch;justify-content:space-between;flex-wrap:wrap}.agenda-week{grid-template-columns:54px repeat(7,155px);min-width:1139px}.agenda-month-day{min-height:105px;padding:.35rem}.agenda-month-weekdays span{padding:.45rem .35rem;text-align:center}.agenda-month-count{font-size:9px}.agenda-month-event{font-size:9px}.agenda-time-rail{width:54px}}
@media(max-width:560px){.agenda-nav{width:100%}.agenda-nav .button{flex:1}.agenda-view-switcher{width:100%}.agenda-view-switcher .button{flex:1}.agenda-day-view .agenda-timeline{grid-template-columns:48px minmax(0,1fr)}.agenda-time-rail{width:48px}.agenda-day-view .agenda-event{right:4px;left:4px}.agenda-month-day{min-height:72px;padding:.25rem}.agenda-month-weekdays span{font-size:8px}.agenda-month-day-number{width:22px;height:22px;font-size:11px}.agenda-month-count{margin:0;text-align:center}.agenda-month-events{display:none}.agenda-month-day-link{display:block}.agenda-heading h1{font-size:19px}}
/* Agenda V1 view composition */
.agenda-heading{margin:0}.agenda-controls>.button-row{margin:0}.agenda-view-switcher a{display:inline-flex;align-items:center;min-height:28px;padding:.35rem .65rem;border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:620;text-decoration:none}.agenda-view-switcher a:hover{background:var(--neutral-bg);color:var(--text)}.agenda-view-switcher a.active{background:var(--green-soft);color:var(--green)}
.agenda-day-summary article{min-width:120px;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.agenda-day-summary span{display:block;color:var(--text-muted);font-size:10px}.agenda-day-summary strong{font-size:19px}.agenda-day-view{display:grid;grid-template-columns:58px minmax(0,1fr)}.agenda-day-view>.agenda-time-rail span,.agenda-week-hours span{position:absolute;right:9px;top:calc(var(--offset) * 1px);transform:translateY(-50%);color:var(--text-muted);font-size:10px}.agenda-day-view>.agenda-time-rail span:first-child,.agenda-week-hours span:nth-child(2){transform:none}.agenda-day-view>.agenda-time-rail span:last-child,.agenda-week-hours span:last-child{transform:translateY(-100%)}.agenda-timeline{position:relative;height:780px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 14px,var(--border-subtle) 15px);background-size:100% 15px}.agenda-slot{top:calc(var(--offset) * 1px)}.agenda-event{top:calc(var(--offset) * 1px)}
.agenda-week-redesign{display:grid;grid-template-columns:58px repeat(7,minmax(155px,1fr));min-width:1143px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-subtle)}.agenda-week-hours{position:relative;grid-row:1;height:838px;border-right:1px solid var(--border);background:var(--surface)}.agenda-week-day{grid-row:1;border-right:1px solid var(--border-subtle)}.agenda-week-day:last-child{border-right:0}.agenda-week-day>header{height:58px;padding:.6rem;border-bottom:1px solid var(--border);background:#fafbfa}.agenda-week-day>header a,.agenda-week-day>header strong,.agenda-week-day>header span{display:block;text-decoration:none}.agenda-week-day>header span{color:var(--text-muted);font-size:10px}.agenda-week-day.today>header{background:var(--green-soft);box-shadow:inset 0 2px var(--green)}.agenda-week-day.today .agenda-timeline{background-color:#fbfefc}
.agenda-month-grid{overflow:hidden;border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--surface);box-shadow:var(--shadow-subtle)}.agenda-month-weekdays{border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0}.agenda-month-date{position:relative;z-index:3;display:inline-flex;align-items:center;gap:.35rem;color:var(--text);text-decoration:none}.agenda-month-date span{color:var(--text-muted);font-size:9px}.agenda-month-date strong{display:grid;place-items:center;width:24px;height:24px}.agenda-month-day.today .agenda-month-date strong{border-radius:50%;background:var(--green);color:#fff}.agenda-month-empty{position:absolute;inset:0;z-index:1}.agenda-month-events{position:relative;z-index:3;margin-top:.25rem;pointer-events:none}.agenda-month-event,.agenda-more{pointer-events:auto}.agenda-more{color:var(--text-muted);font-size:10px;text-decoration:none}.agenda-month-event.cancelled{text-decoration:line-through;opacity:.65}
@media(max-width:800px){.agenda-week-redesign{grid-template-columns:54px repeat(7,155px);min-width:1139px}.agenda-day-view{grid-template-columns:54px minmax(0,1fr)}}
@media(max-width:560px){.agenda-day-view{grid-template-columns:48px minmax(0,1fr)}.agenda-month-date{display:grid;gap:0;justify-items:center}.agenda-month-date span{font-size:8px}.agenda-month-events{display:none}.agenda-month-day{min-height:72px}}
.calendar-mappings{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--border-subtle)}.mapping-list{display:grid;gap:var(--space-3)}.mapping-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:end;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-elevated)}.mapping-row>div{display:grid;gap:.35rem}.mapping-row label{margin:0}.mapping-row input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:900px){.mapping-row{grid-template-columns:1fr 1fr}.mapping-row button{align-self:end}}@media(max-width:560px){.mapping-row{grid-template-columns:1fr}}

/* Agenda/CRM appointment history */
.agenda-cancelled-toggle.active{border-color:#d8a5a5;background:var(--danger-bg);color:var(--danger)}
.agenda-event-service{color:var(--text);font-weight:620}.agenda-event.cancelled strong,.agenda-event.cancelled span{text-decoration:line-through}.agenda-month-event.cancelled{background:var(--danger-bg);color:var(--danger);opacity:.72;text-decoration:line-through}
.contact-appointments{margin-top:var(--space-6)}.appointment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:var(--space-3);margin:var(--space-4) 0}.appointment-summary article{padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated)}.appointment-summary span{display:block;color:var(--text-muted);font-size:11px}.appointment-summary strong{font-size:22px}.appointment-history-section{margin-top:var(--space-5)}.appointment-history-section h3{margin-bottom:var(--space-2);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.contact-appointment-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.5fr) auto;align-items:center;gap:var(--space-4);padding:.75rem 0;border-bottom:1px solid var(--border-subtle);color:var(--text);text-decoration:none}.contact-appointment-row:hover{background:var(--surface-elevated)}.contact-appointment-row div span,.contact-appointment-row small{display:block;color:var(--text-secondary)}.contact-appointment-row.cancelled{opacity:.72}.contact-appointment-row.cancelled strong,.contact-appointment-row.cancelled div span{text-decoration:line-through}
@media(max-width:700px){.appointment-summary{grid-template-columns:repeat(3,1fr)}.contact-appointment-row{grid-template-columns:1fr auto}.contact-appointment-row>div:nth-child(2){grid-column:1/-1}}
.agenda-event-external{border-style:dashed;background:#f5f7f6}.agenda-all-day{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1rem}.agenda-all-day a{color:var(--text-primary);text-decoration:none}
