:root{
  --bg:#f4f6fb;--sidebar:#0c1325;--sidebar-2:#111b31;--text:#162033;--muted:#64748b;
  --line:#e2e7f0;--line-strong:#d4dbe8;--white:#fff;--primary:#625cf6;--primary-2:#4f46e5;
  --green:#16a34a;--red:#dc2626;--amber:#d97706;--blue:#2563eb;--shadow:0 8px 26px rgba(15,23,42,.055)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#eef2ff;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{font-size:20px;font-weight:900;letter-spacing:.01em;padding:6px 10px 3px;line-height:1.2}
.business-brand{white-space:normal;overflow-wrap:anywhere}.sector-mini{padding:4px 10px 22px;color:#94a3b8;font-size:12px;font-weight:700}
.nav{display:flex;flex-direction:column;gap:4px}.nav a{display:block;padding:12px 13px;border-radius:11px;color:#cbd5e1;font-size:15px;transition:.15s}.nav a:hover,.nav a.active{background:#222d49;color:#fff}.nav a.active{box-shadow:inset 3px 0 0 #7c78ff}
.side-bottom{position:absolute;bottom:18px;left:18px;right:18px;color:#94a3b8;font-size:12px;line-height:1.55}.side-bottom a:hover{color:#fff}
.content{padding:26px 28px 42px;max-width:1600px;width:100%;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h1{margin:0;font-size:28px;letter-spacing:-.02em}.sector-subtitle{margin-top:3px}.muted{color:var(--muted)}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:#fff;color:#172033;padding:10px 14px;border-radius:10px;font-weight:750;cursor:pointer;transition:.15s;line-height:1.15}.btn:hover{border-color:#bfc8d8;background:#fafbff;transform:translateY(-1px)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-2);border-color:var(--primary-2)}.btn.danger{background:#fff5f5;border-color:#fecaca;color:#b91c1c}.btn.small{padding:7px 10px;font-size:12px}.save-strong{background:linear-gradient(135deg,#6c63ff,#5148e5)!important;border-color:#5148e5!important;color:#fff!important;box-shadow:0 8px 20px rgba(81,72,229,.26);padding:11px 18px}.save-strong:hover{filter:brightness(1.05)}
.card,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.card{padding:18px}.panel{padding:20px;margin-top:16px}.panel h2{margin:0 0 14px;font-size:20px;letter-spacing:-.01em}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card strong{font-size:30px;display:block;margin-top:7px}
.table-wrap{overflow:auto;border-radius:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf0f5;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:#64748b;background:#fbfcfe}tbody tr:hover{background:#fbfcff}
.badge,.chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:800}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}.badge.amber{background:#fef3c7;color:#92400e}
label{font-size:12px;font-weight:750;color:#475569;display:block}input,select,textarea{width:100%;margin-top:5px;padding:10px 11px;border:1px solid #d9dfeb;border-radius:9px;background:#fff;color:#172033;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#8b87ff;box-shadow:0 0 0 3px rgba(98,92,246,.10)}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .span2{grid-column:span 2}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.alert.info{background:#e0f2fe;color:#075985}
.auth-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#2a3775,#0b1020 55%)}.login-card,.install-card{width:min(720px,94vw);background:#fff;border-radius:20px;padding:30px;box-shadow:0 25px 70px #0005}.login-card{max-width:430px}

/* Business template / questionnaire */
.custom-questionnaire{margin-top:16px;padding:17px;border:1px solid #dce3f1;border-radius:13px;background:#f8faff}.custom-questionnaire[hidden]{display:none!important}.questionnaire-head{display:flex;flex-direction:column;gap:3px;margin-bottom:13px}.questionnaire-head strong{font-size:16px}.questionnaire-head span{font-size:12px;color:#64748b}.custom-questionnaire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.custom-questionnaire-grid .span2{grid-column:span 2}.custom-checks{display:flex;gap:8px;flex-wrap:wrap}.custom-checks label,.staff-check-grid label{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #d9dfeb;border-radius:9px;background:#fff}.custom-checks input,.staff-check-grid input{width:auto;margin:0}.template-note{grid-column:span 2;padding:11px 13px;background:#eef2ff;border-radius:9px;color:#475569;font-size:12px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.module-option{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e1e6ef;border-radius:9px;background:#fbfcff}.module-option input{width:auto;margin:0}.module-option span{font-size:12px}.preset-action{display:flex;align-items:center;gap:8px;padding-top:20px}.preset-action input{width:auto;margin:0}.sector-banner{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.eyebrow{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:#7c3aed;font-weight:900;margin-bottom:4px}.module-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.inline-resource-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.soft{border:0;border-top:1px solid #edf0f5;margin:16px 0}.staff-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.service-editor{border-color:#c8c5ff;box-shadow:0 10px 30px rgba(79,70,229,.08)}

/* Settings */
.settings-form{display:block!important;padding-bottom:76px}.settings-toolbar{position:sticky;top:10px;z-index:40;margin-bottom:12px;padding:8px 10px;border:1px solid #d7ddea;border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.10);display:grid;grid-template-columns:minmax(170px,.8fr) auto minmax(190px,.8fr);align-items:center;gap:12px}.settings-save-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.settings-save-kicker{font-size:8px!important;letter-spacing:.08em;text-transform:uppercase;color:#6d63f6!important;font-weight:900}.settings-toolbar strong{font-size:14px}.settings-toolbar span{font-size:11px;color:#64748b}.settings-tabs{display:flex;gap:4px;flex-wrap:nowrap;padding:4px;background:#eef1f6;border:1px solid #e0e5ed;border-radius:10px;min-width:0}.settings-tab{border:0;background:transparent;color:#64748b;padding:7px 11px;border-radius:7px;font-weight:800;cursor:pointer;white-space:nowrap}.settings-tab.active{background:#fff;color:#292f42;box-shadow:0 2px 7px rgba(15,23,42,.08)}.settings-save-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.settings-save-actions[hidden]{display:none!important}.save-state{font-size:10px!important;color:#94a3b8;white-space:nowrap}.save-state.dirty{color:#d97706;font-weight:800}.settings-group[hidden]{display:none!important}
.settings-accordion{padding:0;overflow:hidden;margin-top:10px}.settings-accordion summary{list-style:none;cursor:pointer;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;user-select:none}.settings-accordion summary::-webkit-details-marker{display:none}.settings-accordion summary>span:first-child{display:flex;flex-direction:column;gap:2px}.settings-accordion summary strong{font-size:16px}.settings-accordion summary small{font-size:11px;color:#64748b;font-weight:500}.settings-accordion .chevron{font-size:18px;color:#94a3b8;transition:.2s}.settings-accordion[open] .chevron{transform:rotate(180deg)}.accordion-body{display:block!important;border-top:1px solid #edf0f5;padding:17px 18px}.settings-accordion:not([open]) .accordion-body{display:none!important}.visible-days-box{margin-top:14px;padding:13px;border:1px solid #e3e8f1;border-radius:11px;background:#fafbfe}.visible-days-box p{margin:4px 0 10px}.day-toggle-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-toggle-grid label{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 7px;border:1px solid #dfe4ee;border-radius:8px;background:#fff;font-size:11px}.day-toggle-grid input{width:auto;margin:0}

/* Automations */
.automation-builder{margin-top:0}.automation-builder .week-title{margin-bottom:14px}.automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.automation-card{border:1px solid #dfe4ee;border-radius:13px;background:#fbfcff;padding:15px;min-width:0}.automation-card.full{grid-column:span 2}.automation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.automation-card-title{display:flex;flex-direction:column;gap:2px}.automation-card-title strong{font-size:15px}.automation-card-title small{font-size:11px;color:#64748b;font-weight:500;line-height:1.4}.automation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.automation-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.automation-fields label{font-size:11px}.automation-fields input,.automation-fields select{max-width:220px;padding:8px 9px}.automation-toggle{position:relative;width:42px;height:24px;flex:0 0 42px}.automation-toggle input{position:absolute;opacity:0;pointer-events:none}.automation-toggle span{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:.2s}.automation-toggle span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;transition:.2s}.automation-toggle input:checked+span{background:#5b56e8}.automation-toggle input:checked+span:after{transform:translateX(18px)}.inline-checks{display:flex;gap:8px;flex-wrap:wrap}.inline-checks label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dfe4ee;border-radius:8px;background:#fff;font-size:11px}.inline-checks input{width:auto;margin:0;accent-color:#5b56e8}.automation-summary{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.automation-summary .chip{background:#f1f5f9;color:#475569}

/* Agenda */
.calendar-toolbar{display:grid;grid-template-columns:auto auto minmax(190px,1fr);align-items:end;gap:10px;margin-bottom:12px}.agenda-view-switch{display:flex;gap:5px;padding:4px;background:#e8ecf4;border-radius:10px;width:max-content}.agenda-view-switch .btn{border:0;background:transparent;padding:8px 11px;box-shadow:none}.agenda-view-switch .btn.primary{background:#fff;color:#4338ca;box-shadow:0 2px 7px rgba(15,23,42,.08)}.calendar-filter{justify-self:end;min-width:230px}.calendar-filter select{margin-top:4px}.week-panel{overflow:hidden}.week-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.week-title h2{margin-bottom:3px}.week-title p{margin:0}.calendar-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.legend-item{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#64748b}.legend-dot{width:8px;height:8px;border-radius:50%;background:#6d6ef6}.legend-dot.confirmed{background:#22c55e}.legend-dot.completed{background:#3b82f6}.legend-dot.cancelled{background:#ef4444}.legend-dot.no-show{background:#64748b}
.service-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.service-legend-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-right:2px}.service-legend-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #e3e7ef;border-radius:999px;background:#fff;font-size:9.5px;color:#475569;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-legend-chip i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.week-calendar{--slot-height:clamp(15px,1.8vh,25px);margin-top:12px;display:grid;grid-template-columns:68px repeat(var(--day-count),minmax(130px,1fr));grid-template-rows:auto minmax(0,1fr);min-width:980px;border:1px solid #dfe4ee;border-radius:12px;overflow:auto;background:#fff;max-height:72vh}.time-head,.day-head{position:sticky;top:0;z-index:8;background:#f8fafc;border-bottom:1px solid #dfe4ee}.time-head{left:0;z-index:10}.day-head{padding:8px 7px;text-align:center;border-left:1px solid #e6eaf1;display:flex;flex-direction:column;gap:1px}.day-head strong{font-size:12px}.day-head span{font-size:10px;color:#64748b}.closed-head{background:#f1f3f7;color:#94a3b8}.time-column{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(var(--slot-count),var(--slot-height,28px));background:#fafbfe;position:sticky;left:0;z-index:6;border-right:1px solid #dfe4ee}.time-label{font-size:10px;color:#64748b;padding:3px 6px;border-top:1px solid #eef1f6;line-height:1}.day-column{display:grid;grid-row:2;grid-template-rows:repeat(var(--slot-count),var(--slot-height,28px));position:relative;border-left:1px solid #e7eaf1;min-width:130px}.empty-slot{border-top:1px solid #eef1f6;background:#fff;position:relative}.empty-slot:nth-child(4n+1){border-top-color:#dbe1eb}.slot-link{cursor:pointer;transition:.1s}.slot-link:hover{background:#f0efff}.slot-link:hover:after{content:"+";position:absolute;right:5px;top:1px;color:#6d6ef6;font-weight:900;font-size:12px}.closed-day .empty-slot{background:repeating-linear-gradient(135deg,#f7f8fa,#f7f8fa 7px,#f2f4f7 7px,#f2f4f7 14px)}.week-appt{z-index:4;margin:1px 2px;padding:3px 16px 3px 6px;border-radius:7px;background:color-mix(in srgb,var(--service-color,#6d6ef6) 18%,#fff);border-left:4px solid var(--service-color,#6d6ef6);overflow:hidden;box-shadow:0 2px 7px rgba(15,23,42,.09);display:flex;flex-direction:column;min-height:var(--slot-height,18px);position:relative}.week-appt strong{font-size:11.7px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-appt .appt-service{font-size:10.3px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-appt .appt-meta{font-size:9.4px;line-height:1.06;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-appt.appt-compact .appt-meta{display:none}.week-appt.appt-minimal .appt-service,.week-appt.appt-minimal .appt-meta{display:none}.week-appt.appt-minimal{justify-content:center;padding-top:2px;padding-bottom:2px}.week-appt.appt-minimal strong{font-size:11.4px}.week-appt:after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#6d6ef6;box-shadow:0 0 0 2px rgba(255,255,255,.82)}.week-appt.confirmed:after{background:#22c55e}.week-appt.completed:after{background:#3b82f6}.week-appt.cancelled{opacity:.48;text-decoration:line-through}.week-appt.cancelled:after{background:#ef4444}.week-appt.no-show{filter:saturate(.35);opacity:.72}.week-appt.no-show:after{background:#64748b}.resource-calendar{grid-template-columns:68px repeat(var(--day-count),minmax(160px,1fr));min-width:760px}

/* Minor existing views */
.calendar-day{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f5}.appt{padding:12px;border-left:4px solid var(--primary);background:#f7f8ff;border-radius:10px}.slot-grid{display:flex;gap:8px;flex-wrap:wrap}.slot{padding:10px 12px;border:1px solid #dce2ef;border-radius:10px;background:#fff;cursor:pointer}.hero-booking{max-width:760px;margin:30px auto;padding:0 16px}

@media(max-width:1150px){.management-grid{grid-template-columns:1fr 1fr}.management-grid>div:last-child{grid-column:span 2}.day-toggle-grid{grid-template-columns:repeat(4,1fr)}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-filter{grid-column:span 2;justify-self:stretch}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:14px 14px 10px}.nav{flex-direction:row;overflow:auto}.nav a{white-space:nowrap}.side-bottom{display:none}.content{padding:18px}.grid4{grid-template-columns:repeat(2,1fr)}.form-grid,.custom-questionnaire-grid,.automation-grid{grid-template-columns:1fr}.form-grid .span2,.custom-questionnaire-grid .span2,.automation-card.full,.template-note{grid-column:span 1}.management-grid{grid-template-columns:1fr}.management-grid>div:last-child{grid-column:auto}.staff-check-grid{grid-template-columns:1fr 1fr}.topbar,.week-title{align-items:flex-start}.calendar-toolbar{grid-template-columns:1fr}.calendar-filter{grid-column:auto}.settings-toolbar{top:6px;grid-template-columns:1fr auto;gap:8px}.settings-save-copy{grid-column:1}.settings-tabs{grid-column:1/-1;grid-row:2;overflow:auto;justify-content:flex-start}.settings-save-actions{grid-column:2;grid-row:1}.day-toggle-grid{grid-template-columns:repeat(2,1fr)}.automation-fields,.automation-fields.three{grid-template-columns:1fr}.automation-fields input,.automation-fields select{max-width:none}}
@media(max-width:560px){.grid4{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar .actions{width:100%}.topbar .actions .btn{flex:1}.staff-check-grid{grid-template-columns:1fr}.settings-toolbar{top:4px;grid-template-columns:1fr auto;padding:7px}.settings-save-copy{display:none}.settings-tabs{grid-column:1;grid-row:1;width:100%;overflow:auto;flex-wrap:nowrap}.settings-save-actions{grid-column:2;grid-row:1}.settings-save-actions .save-state{display:none}.settings-save-actions .btn{padding:8px 10px}.settings-tab{white-space:nowrap}.day-toggle-grid{grid-template-columns:1fr 1fr}.calendar-toolbar .actions{display:grid;grid-template-columns:1fr 1fr}.calendar-toolbar .actions .btn:last-child{grid-column:span 2}}


/* V2.5 — compact management + clearer automations */
.sector-banner-compact{align-items:center;padding:16px 18px}.sector-banner-compact h2{margin-bottom:4px}.sector-banner-compact p{margin:0}
.management-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.manage-stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}
.manage-stat span{font-size:11px;font-weight:800;color:#64748b}.manage-stat strong{grid-row:1/span 2;grid-column:2;font-size:25px;line-height:1;color:#1e293b}.manage-stat small{font-size:10px;color:#94a3b8}
.quick-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.quick-create{padding:0!important;margin-top:0!important;overflow:hidden}.quick-create summary{list-style:none;cursor:pointer;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.quick-create summary::-webkit-details-marker{display:none}.quick-create summary>span:first-child{display:flex;flex-direction:column;gap:2px}.quick-create summary b{font-size:14px}.quick-create summary small{font-size:10px;color:#64748b;font-weight:500}.quick-create .chevron{color:#94a3b8;transition:.2s}.quick-create[open] .chevron{transform:rotate(180deg)}.quick-create-body{border-top:1px solid #edf0f5;padding:14px}.compact-form{gap:10px}.compact-form label{font-size:11px}.compact-form input,.compact-form select{padding:8px 9px;margin-top:4px}.section-head-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head-inline h2{margin-bottom:2px}.section-head-inline p{margin:0}
.channel-status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.channel-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dfe4ee;border-radius:11px;background:#fff}.channel-status .status-dot{width:9px;height:9px;border-radius:50%;background:#f59e0b}.channel-status.ready .status-dot{background:#22c55e}.channel-status div{display:flex;flex-direction:column;gap:1px}.channel-status strong{font-size:12px}.channel-status small{font-size:10px;color:#64748b}.channel-status a{font-size:10px;font-weight:800;color:#4f46e5}.automation-grid-2x2{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-card{padding:13px 14px}.automation-card-head{margin-bottom:10px}.automation-card-title strong{font-size:14px}.automation-fields{align-items:end}.automation-fields label{min-width:0}.automation-fields input,.automation-fields select{width:100%;max-width:180px}.field-label{display:block;font-size:10px;font-weight:800;color:#64748b;margin-bottom:5px}.compact-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}.compact-row .field-label{margin:0;min-width:64px}.input-suffix{font-size:10px;color:#64748b;margin-left:5px}
.automation-builder .inline-checks label{padding:7px 9px}.automation-summary{margin-bottom:10px}
@media(max-width:1150px){.management-summary{grid-template-columns:repeat(2,1fr)}.quick-create-grid{grid-template-columns:1fr 1fr}.quick-create-grid>details:last-child{grid-column:span 2}}
@media(max-width:900px){.management-summary,.quick-create-grid,.automation-grid-2x2,.channel-status-row{grid-template-columns:1fr}.quick-create-grid>details:last-child{grid-column:auto}}

/* V2.7 — resource manager */
.resource-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}.resource-hero h2{margin:0 0 5px}.resource-hero p{margin:0;max-width:850px}
.resource-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.resource-builder-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}.resource-presets{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.resource-preset{border:0;cursor:pointer}.resource-type-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.resource-help{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:11px;line-height:1.45}.is-readonly{background:#f1f5f9;color:#64748b}.empty-state{padding:24px;border:1px dashed #d9dfeb;border-radius:12px;background:#fbfcff;display:flex;flex-direction:column;gap:5px;color:#64748b}.empty-state strong{color:#334155}
@media(max-width:1000px){.resource-builder-grid{grid-template-columns:1fr}.resource-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.resource-hero{align-items:flex-start;flex-direction:column}.resource-stats{grid-template-columns:1fr}.resource-type-form{grid-template-columns:1fr}}

/* V2.8 - Gestión clara de profesionales y servicios */
.business-actionbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;margin-top:14px}.business-action-copy{display:flex;flex-direction:column;gap:3px}.business-action-copy strong{font-size:15px}.business-action-copy span{font-size:11px;color:#64748b}.business-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.create-focus{border-color:#c7c5ff;box-shadow:0 13px 38px rgba(79,70,229,.10)}.create-focus .week-title{margin-bottom:14px}.compact-note{margin:3px 0 8px}.business-data-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:12px}.business-list-panel{min-width:0}.table-sub{display:block;color:#778399;font-size:10px;margin-top:3px;font-weight:500}.business-list-panel .table-wrap{margin-top:8px}.business-list-panel table{font-size:12px}.business-list-panel th{font-size:9px}.business-list-panel td{padding:10px 8px}.btn.small{padding:7px 10px;font-size:11px}.service-create-form,.staff-create-form{max-width:980px}
@media(max-width:1100px){.business-actionbar{align-items:flex-start;flex-direction:column}.business-action-buttons{justify-content:flex-start}.business-data-grid{grid-template-columns:1fr}}


/* V3.1 — dashboard + clients */
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:14px}
.kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:3px;min-height:112px;transition:.16s}
a.kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.09)}
.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}
.kpi-card.kpi-primary:before{background:#625cf6}.kpi-card.kpi-blue:before{background:#3b82f6}.kpi-card.kpi-green:before{background:#22c55e}.kpi-card.kpi-violet:before{background:#8b5cf6}.kpi-card.kpi-amber:before{background:#f59e0b}.kpi-card.kpi-red:before{background:#ef4444}
.kpi-card span{font-size:11px;font-weight:800;color:#64748b}.kpi-card strong{font-size:30px;line-height:1.1;margin-top:4px}.kpi-card small{font-size:10px;color:#94a3b8;margin-top:auto}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:14px}.dashboard-main-grid>.panel{margin-top:0}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px}.dashboard-bottom-grid>.panel{margin-top:14px}
.dashboard-empty{min-height:220px;border:1px dashed #d9dfeb;border-radius:12px;background:#fbfcff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:24px;color:#64748b}.dashboard-empty strong{font-size:16px;color:#334155}.dashboard-empty .actions{margin-top:8px}
.today-appointment-list,.next-appointment-list{display:flex;flex-direction:column}.today-appointment{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf0f5}.today-appointment:last-child{border-bottom:0}.appt-time{font-size:17px;font-weight:900;color:#4f46e5}.appt-main{display:flex;flex-direction:column;gap:2px}.appt-main strong{font-size:13px}.appt-main span{font-size:11px;color:#64748b}
.next-appointment{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f5}.next-appointment:last-child{border-bottom:0}.next-appointment>div:last-child{display:flex;flex-direction:column;gap:2px}.next-appointment strong{font-size:12px}.next-appointment span,.next-appointment small{font-size:10px;color:#64748b}.date-pill{width:43px;height:46px;border-radius:10px;background:#f0efff;color:#5148e5;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.date-pill strong{font-size:17px!important;color:#5148e5}.date-pill span{font-size:9px!important;text-transform:uppercase;color:#6d68d7!important;margin-top:3px}.mini-empty{padding:30px 10px;text-align:center;color:#94a3b8}
.health-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.health-list>div{border:1px solid #e4e8f0;border-radius:10px;padding:12px;background:#fbfcff;display:flex;align-items:center;justify-content:space-between;gap:10px}.health-list span{font-size:11px;color:#64748b}.health-list strong{font-size:18px}.text-red{color:#dc2626!important}
.quick-actions-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-actions-dashboard a{border:1px solid #e1e6ef;border-radius:11px;padding:13px;background:#fbfcff;display:flex;flex-direction:column;gap:3px;transition:.15s}.quick-actions-dashboard a:hover{border-color:#c6c3ff;background:#f7f7ff;transform:translateY(-1px)}.quick-actions-dashboard strong{font-size:12px;color:#2c3344}.quick-actions-dashboard span{font-size:10px;color:#7b879a}

/* Clients */
.client-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.client-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}.client-stat span{font-size:11px;font-weight:800;color:#64748b}.client-stat strong{grid-row:1/span 2;grid-column:2;font-size:27px;line-height:1}.client-stat small{font-size:10px;color:#94a3b8}.client-stat.green strong{color:#16a34a}.client-stat.blue strong{color:#2563eb}.client-stat.amber strong{color:#d97706}
.client-toolbar-panel{margin-top:0;padding:13px 15px}.client-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.client-search{display:flex;align-items:center;gap:7px;flex:1;max-width:760px}.client-search input{margin:0;min-width:260px}.client-create-panel{border-color:#c9c6ff}.clients-panel{padding-bottom:8px}.clients-table td{vertical-align:middle}.client-name-cell{display:flex;align-items:center;gap:10px}.client-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#ebeaff,#dddafe);color:#5148e5;font-weight:900;display:grid;place-items:center;flex:0 0 auto}.client-name-cell>div{display:flex;flex-direction:column;gap:2px}.client-name-cell strong{font-size:12px}.client-name-cell small{font-size:9px;color:#94a3b8}.contact-lines{display:flex;flex-direction:column;gap:2px}.contact-lines span{font-size:11px}.contact-lines small{font-size:9px;color:#64748b}.permission-chips{display:flex;gap:4px}.permission-chips .chip{padding:4px 7px;font-size:9px}.chip-on{background:#dcfce7;color:#166534}.chip-off{background:#f1f5f9;color:#94a3b8}.client-actions{display:flex;gap:5px;align-items:center}.client-permissions{display:flex;flex-direction:column;gap:5px}.client-permissions .inline-checks{margin-top:0}

@media(max-width:1300px){.dashboard-kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-main-grid{grid-template-columns:1.35fr .85fr}}
@media(max-width:1050px){.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.client-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dashboard-kpi-grid,.client-stat-grid{grid-template-columns:1fr 1fr}.client-toolbar{align-items:stretch;flex-direction:column}.client-search{max-width:none}.client-search input{min-width:0}.health-list,.quick-actions-dashboard{grid-template-columns:1fr}}
@media(max-width:520px){.dashboard-kpi-grid,.client-stat-grid{grid-template-columns:1fr}.today-appointment{grid-template-columns:54px 1fr}.today-appointment>.badge{grid-column:2}.client-search{flex-wrap:wrap}.client-search input{flex-basis:100%}}

/* V3.2 · gestión más compacta y legible */
.business-actionbar{padding:12px 14px}.business-action-buttons .btn{padding:8px 11px;font-size:11px;border-radius:8px}.business-data-grid{grid-template-columns:1fr!important;gap:12px}.business-list-panel{padding:15px 16px}.business-list-panel .section-head-inline{margin-bottom:6px}.business-list-panel .section-head-inline h2{font-size:18px}.business-list-panel .section-head-inline p{font-size:11px}.business-list-panel table{font-size:11px}.business-list-panel th{font-size:9px;padding:8px 9px}.business-list-panel td{padding:9px}.compact-actions{gap:5px;flex-wrap:nowrap}.compact-actions .btn{padding:6px 9px;font-size:10px;border-radius:8px}.staff-table td:nth-child(3){white-space:normal;word-break:break-word;min-width:180px}.staff-table td:first-child,.services-table td:first-child{min-width:150px}
.editor-panel{padding:15px 17px;border-color:#d9dcff;box-shadow:0 8px 26px rgba(79,70,229,.06)}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.editor-head h2{font-size:20px;margin:0 0 2px}.editor-head p{margin:0;font-size:11px}.editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 11px;align-items:end}.editor-grid label{font-size:10px;font-weight:800;color:#334155}.editor-grid input,.editor-grid select{padding:8px 9px;margin-top:4px;border-radius:8px;font-size:12px}.editor-grid label small{display:block;margin-top:3px;font-size:9px;color:#94a3b8;font-weight:500}.editor-span2{grid-column:span 2}.editor-full{grid-column:1/-1}.switch-line{display:flex!important;align-items:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid #e3e7ef;border-radius:8px;background:#fbfcff}.switch-line input{width:auto!important;margin:0!important}.staff-selector{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:start;padding:10px;border:1px solid #e4e8f1;border-radius:10px;background:#fafbfe}.staff-selector>div:first-child{display:flex;flex-direction:column;gap:2px}.staff-selector strong{font-size:11px}.staff-selector small{font-size:9px;color:#94a3b8}.staff-check-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:0}.staff-check-grid.compact label{padding:7px 9px;border-radius:8px;font-size:10px;min-height:34px}.editor-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding-top:2px}.compact-save{padding:8px 13px!important;font-size:11px!important;border-radius:8px!important;box-shadow:none!important}.create-focus .save-strong{justify-self:end;width:auto;min-width:160px;padding:8px 13px;font-size:11px;border-radius:8px;box-shadow:none}.create-focus{padding:15px 17px}.create-focus .form-grid{gap:9px 11px}.create-focus .form-grid label{font-size:10px}.create-focus .form-grid input,.create-focus .form-grid select{padding:8px 9px;font-size:12px}.service-editor{box-shadow:none}
@media(max-width:1050px){.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-span2{grid-column:span 2}.editor-full{grid-column:1/-1}.staff-selector{grid-template-columns:1fr}.staff-check-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.editor-grid{grid-template-columns:1fr}.editor-span2,.editor-full{grid-column:span 1}.staff-check-grid.compact{grid-template-columns:1fr}.editor-actions{justify-content:stretch}.editor-actions .btn{flex:1}.staff-table td:nth-child(3){min-width:150px}}


/* V3.3 · alta/edición de profesionales con horario integrado */
.staff-onboarding{padding:16px 18px}
.staff-onboarding-form{display:flex;flex-direction:column;gap:13px}
.staff-onboarding-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 11px;align-items:end}
.staff-onboarding-grid label{font-size:10px}.staff-onboarding-grid input{padding:8px 9px;font-size:12px}
.staff-access-toggle{min-height:37px}
.staff-onboarding-section{border:1px solid #e3e7ef;border-radius:11px;background:#fafbfe;padding:12px 13px}
.section-mini-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.section-mini-head>div{display:flex;flex-direction:column;gap:2px}.section-mini-head strong{font-size:12px;color:#273142}.section-mini-head small{font-size:9px;color:#94a3b8;font-weight:500}
.inline-checkbox{display:flex!important;align-items:center;gap:6px;white-space:nowrap;font-size:10px!important;padding:6px 8px;border:1px solid #dde3ed;border-radius:8px;background:#fff}
.inline-checkbox input{width:auto!important;margin:0!important}
.schedule-table{display:flex;flex-direction:column;border:1px solid #e2e7ef;border-radius:10px;overflow:hidden;background:#fff}
.schedule-row{display:grid;grid-template-columns:110px 100px repeat(4,minmax(110px,1fr));gap:7px;align-items:center;padding:7px 9px;border-bottom:1px solid #edf0f5}
.schedule-row:last-child{border-bottom:0}.schedule-row strong{font-size:10px;color:#334155}
.schedule-row input[type=time]{margin:0;padding:7px 8px;font-size:11px;border-radius:7px}
.schedule-header{background:#f7f9fc;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}
.schedule-header span{white-space:nowrap}.day-switch{display:flex!important;align-items:center;gap:6px;font-size:9px!important;color:#64748b}
.day-switch input{width:auto!important;margin:0!important}.day-switch span{white-space:nowrap}
.schedule-note{font-size:9px;margin:8px 0 0}
.staff-onboarding .editor-actions{padding-top:0}
@media(max-width:1200px){.staff-onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-table{overflow:auto}.schedule-row{min-width:850px}}
@media(max-width:700px){.staff-onboarding-grid{grid-template-columns:1fr}.section-mini-head.schedule-head{flex-direction:column}.staff-onboarding .staff-check-grid.compact{grid-template-columns:1fr 1fr}}

/* V3.8 · cita modal + seguimiento */
.week-appt.appointment-open{appearance:none;border-top:0;border-right:0;border-bottom:0;font:inherit;text-align:left;cursor:pointer;width:auto;color:inherit}.week-appt.appointment-open:hover{filter:brightness(.985);box-shadow:0 4px 11px rgba(15,23,42,.14)}
body.modal-open{overflow:hidden}.appointment-modal[hidden]{display:none}.appointment-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.appointment-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.48);cursor:default}.appointment-modal-card{position:relative;z-index:1;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:18px;border:1px solid #e1e5ee;box-shadow:0 30px 90px rgba(15,23,42,.28);padding:20px}.appointment-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:13px;border-bottom:1px solid #edf0f5}.appointment-modal-head h2{margin:2px 0 2px;font-size:23px}.appointment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.appointment-detail-grid>div{border:1px solid #e4e8f0;border-radius:10px;padding:10px 11px;background:#fbfcff;display:flex;flex-direction:column;gap:2px}.appointment-detail-grid span{font-size:9px;text-transform:uppercase;font-weight:800;color:#94a3b8}.appointment-detail-grid strong{font-size:12px}.appointment-detail-grid small{font-size:10px;color:#64748b}.appointment-communication,.appointment-existing-notes{border:1px solid #e4e8f0;border-radius:10px;padding:11px 12px;margin:10px 0}.appointment-communication>strong,.appointment-existing-notes>strong{font-size:11px}.appointment-existing-notes p{font-size:11px;color:#475569;white-space:pre-wrap;margin:7px 0 0}.appointment-channel-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.channel-mini{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#64748b}.channel-mini.channel-ok{background:#dcfce7;color:#166534}.channel-mini.channel-warn{background:#fff7ed;color:#b45309}.muted-channel{background:#f1f5f9;color:#94a3b8}.appointment-status-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;margin-top:14px}.appointment-status-actions .btn{font-size:11px;padding:8px 11px}.appointment-completion{border-top:1px solid #edf0f5;margin-top:14px;padding-top:14px}.completion-grid{display:grid;grid-template-columns:1fr 180px;gap:10px;align-items:end}.completion-grid .span2{grid-column:1/-1}.completion-grid label{font-size:10px}.completion-grid textarea,.completion-grid input{font-size:12px;padding:9px}.completion-explainer{background:#f7f7ff;border:1px solid #dedcff;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:2px}.completion-explainer strong{font-size:10px;color:#5148e5}.completion-explainer span{font-size:9px;color:#64748b}.appointment-modal-footer{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.appointment-completed-info{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.appointment-completed-info .alert{margin:0;flex:1}
.followup-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.followup-intro{padding-bottom:14px}.followup-review-list{display:grid;gap:10px;margin-top:10px}.followup-review-card{border:1px solid #e2e7ef;border-radius:13px;padding:13px 14px;background:#fbfcff}.followup-review-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.followup-review-main h3{font-size:17px;margin:2px 0}.followup-review-main p{font-size:11px;color:#64748b;margin:0}.followup-contact{text-align:right;display:flex;flex-direction:column;gap:2px}.followup-contact span{font-size:11px}.followup-contact small{font-size:9px;color:#64748b}.followup-review-fields{display:grid;grid-template-columns:230px 1fr;gap:10px;margin-top:11px}.followup-review-fields label{font-size:10px}.followup-review-fields textarea,.followup-review-fields input{font-size:12px;padding:8px 9px}.input-suffix{display:flex;align-items:center;gap:6px}.input-suffix input{margin:0}.input-suffix span{font-size:10px;color:#64748b}.followup-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #edf0f5}.followup-card-footer .actions{display:flex;gap:6px;flex-wrap:wrap}.followup-card-footer .btn{font-size:10px;padding:7px 9px}
@media(max-width:800px){.appointment-detail-grid,.completion-grid,.followup-review-fields{grid-template-columns:1fr}.followup-stat-grid{grid-template-columns:repeat(2,1fr)}.followup-review-main,.followup-card-footer{flex-direction:column}.followup-contact{text-align:left}.appointment-completed-info{align-items:stretch;flex-direction:column}.appointment-completed-info .btn{width:100%}}
@media(max-width:520px){.followup-stat-grid{grid-template-columns:1fr}.appointment-modal{padding:10px}.appointment-modal-card{width:100%;max-height:calc(100vh - 20px);border-radius:14px}.appointment-status-actions .btn{flex:1}.appointment-modal-footer .btn{flex:1}}
.appointment-resend-form{margin-top:8px;display:flex;justify-content:flex-end}.appointment-resend-form .btn{font-size:9px;padding:6px 8px}


/* V3.9 · agenda adaptable a portátil */
@media (max-height:900px) and (min-width:901px){
  .content{padding-top:18px}.topbar{margin-bottom:12px}.topbar h1{font-size:26px}
  .calendar-toolbar{margin-bottom:8px}.week-panel{padding:14px 16px}.week-panel .week-title h2{font-size:19px}.week-panel .week-title p{font-size:11px;margin:3px 0}
  .calendar-legend{margin-top:4px}.week-calendar{max-height:calc(100vh - 250px);margin-top:9px}.day-head{padding:6px 5px}.day-head strong{font-size:11px}.day-head span{font-size:9px}.time-label{font-size:9px;padding:2px 5px}
}
@media (min-height:1100px){.week-calendar{--slot-height:24px}}

/* V3.9 · seguimiento visual */
.followup-board-section{padding:17px}.followup-count-pill{display:inline-flex;min-width:30px;height:30px;align-items:center;justify-content:center;padding:0 9px;border-radius:999px;background:#f0efff;color:#5148e5;font-size:12px;font-weight:900}.dashboard-empty.compact{padding:28px 12px}.followup-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.followup-person-card{appearance:none;border:1px solid #e0e5ee;background:#fff;border-radius:13px;padding:12px;text-align:left;color:inherit;cursor:pointer;min-width:0;transition:.15s;box-shadow:0 3px 10px rgba(15,23,42,.035)}.followup-person-card:hover{transform:translateY(-1px);border-color:#cbc8ff;box-shadow:0 8px 20px rgba(15,23,42,.08)}.followup-card-top{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center}.followup-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#efedff;color:#5b55e8;font-weight:900;font-size:14px}.followup-card-person{display:flex;flex-direction:column;min-width:0}.followup-card-person strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-card-person small{font-size:9.5px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-state{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;white-space:nowrap}.followup-state.review{background:#fef3c7;color:#92400e}.followup-state.blue{background:#dbeafe;color:#1d4ed8}.followup-state.amber{background:#fef3c7;color:#92400e}.followup-state.violet{background:#ede9fe;color:#6d28d9}.followup-state.green{background:#dcfce7;color:#166534}.followup-state.red{background:#fee2e2;color:#991b1b}.followup-state.gray{background:#f1f5f9;color:#64748b}.followup-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #eef1f5;font-size:9.5px;color:#64748b}.followup-card-meta strong{color:#334155}.followup-card-next{display:block;margin-top:7px;font-size:10px;color:#5148e5;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.followup-modal[hidden]{display:none}.followup-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:22px}.followup-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.50)}.followup-modal-card{position:relative;z-index:1;width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 44px);overflow:auto;background:#fff;border-radius:18px;border:1px solid #e0e5ee;box-shadow:0 30px 90px rgba(15,23,42,.30);padding:20px}.followup-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #edf0f5}.followup-modal-head h2{margin:2px 0;font-size:23px}.followup-modal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.followup-modal-summary>div{border:1px solid #e5e9f0;border-radius:10px;background:#fbfcff;padding:9px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.followup-modal-summary span,.followup-response-box>span,.followup-note-box>span{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:900}.followup-modal-summary strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-modal-summary small{font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-progress{display:grid;gap:0;border:1px solid #e5e9f0;border-radius:12px;overflow:hidden;background:#fff}.followup-step{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px 12px;border-bottom:1px solid #eef1f5;align-items:center}.followup-step:last-child{border-bottom:0}.followup-step i{width:20px;height:20px;border-radius:50%;background:#eef2f7;position:relative}.followup-step i:after{content:'';position:absolute;inset:6px;border-radius:50%;background:#cbd5e1}.followup-step strong{display:block;font-size:11px}.followup-step span{display:block;font-size:9.5px;color:#64748b;margin-top:1px}.followup-step.done{background:#f7fff9}.followup-step.done i{background:#dcfce7}.followup-step.done i:after{background:#22c55e}.followup-step.current{background:#faf9ff}.followup-step.current i{background:#ede9fe}.followup-step.current i:after{background:#7c3aed}.followup-step.warn{background:#fffaf2}.followup-step.warn i{background:#ffedd5}.followup-step.warn i:after{background:#f59e0b}.followup-step.stop{background:#fff7f7}.followup-step.stop i{background:#fee2e2}.followup-step.stop i:after{background:#ef4444}.followup-response-box,.followup-note-box,.followup-error-box{margin-top:10px;border:1px solid #e4e8ef;border-radius:10px;padding:10px 11px;background:#fbfcff}.followup-response-box strong{display:block;font-size:12px;margin-top:3px}.followup-response-box small{display:block;font-size:9px;color:#64748b;margin-top:2px}.followup-note-box p{font-size:10.5px;color:#475569;white-space:pre-wrap;margin:5px 0 0}.followup-error-box{background:#fff7ed;border-color:#fed7aa;display:flex;flex-direction:column;gap:3px}.followup-error-box strong{font-size:10px;color:#9a3412}.followup-error-box span{font-size:9.5px;color:#b45309}.followup-modal-review{margin-top:12px;padding-top:12px;border-top:1px solid #edf0f5}.followup-modal-review .followup-review-fields{grid-template-columns:190px 1fr}.followup-modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.followup-modal-actions .btn{font-size:10px;padding:7px 10px}
@media(max-width:1180px){.followup-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.followup-card-grid,.followup-modal-summary{grid-template-columns:1fr}.followup-modal{padding:8px}.followup-modal-card{width:100%;max-height:calc(100vh - 16px);border-radius:14px}.followup-modal-actions{flex-direction:column}.followup-modal-actions .btn{width:100%}}


/* V4.0 · cierre de cita, seguimiento Kanban y reactivación */
.completion-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.completion-choice{appearance:none;border:1px solid #dfe4ee;border-radius:12px;background:#fff;padding:12px 13px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:#10203b;transition:.15s}.completion-choice:hover{transform:translateY(-1px);border-color:#c8c5ff;box-shadow:0 7px 18px rgba(15,23,42,.07)}.completion-choice.primary-choice{background:linear-gradient(135deg,#625cf6,#5048e8);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(80,72,232,.18)}.completion-choice .choice-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:18px;font-weight:900;flex:0 0 auto}.completion-choice.neutral-choice .choice-icon{background:#eef2ff;color:#5148e5}.completion-choice span:last-child{display:flex;flex-direction:column;gap:2px}.completion-choice strong{font-size:12px}.completion-choice small{font-size:9.5px;opacity:.78}.no-followup-box{margin-top:10px;border:1px solid #e6e9f0;background:#fbfcff;border-radius:12px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.no-followup-box label{font-size:10px;margin:0}.no-followup-box select{font-size:11px;padding:9px}.no-followup-actions{display:flex;gap:7px}.no-followup-actions .btn{font-size:10px;padding:8px 10px}.appointment-modal-footer{justify-content:flex-start;margin-top:10px}.appointment-completed-info .actions{display:flex;gap:7px;flex-wrap:wrap}

/* Agenda: más contenido visible en portátil sin empequeñecer la cita */
.week-calendar{--slot-height:clamp(13px,1.45vh,20px);grid-template-columns:62px repeat(var(--day-count),minmax(116px,1fr));min-width:880px;max-height:calc(100vh - 225px)}.resource-calendar{grid-template-columns:62px repeat(var(--day-count),minmax(138px,1fr));min-width:720px}.day-column{min-width:116px}.week-appt{padding:3px 5px;margin:1px 2px}.week-appt strong{font-size:12.5px;line-height:1.1}.week-appt span{font-size:10.5px;line-height:1.08}.week-appt small{font-size:9.5px;line-height:1.08}.time-label{font-size:9px;padding:2px 5px}.day-head{padding:6px 5px}.day-head strong{font-size:11.5px}.day-head span{font-size:9px}
@media(min-height:1000px){.week-calendar{--slot-height:18px}}@media(min-height:1200px){.week-calendar{--slot-height:22px}}

/* Seguimiento */
.followup-overview{background:linear-gradient(135deg,#fff,#f7f7ff);border:1px solid #e2e5ee;border-radius:16px;padding:17px 18px;margin-bottom:12px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 8px 24px rgba(15,23,42,.045)}.followup-overview-main h2{font-size:22px;margin:3px 0}.followup-overview-main p{font-size:11px;color:#64748b;margin:0;max-width:760px}.followup-channel-mini{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.followup-channel-mini span,.followup-channel-mini a{font-size:9.5px;font-weight:800;padding:6px 9px;border-radius:999px;text-decoration:none}.followup-channel-mini span.ready{background:#dcfce7;color:#166534}.followup-channel-mini span.warn{background:#fff7ed;color:#b45309}.followup-channel-mini a{background:#efedff;color:#5148e5}
.followup-kanban{display:grid;grid-template-columns:repeat(var(--followup-cols,5),minmax(220px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px;align-items:start}.followup-column{border:1px solid #e2e6ee;border-radius:14px;background:#f8fafc;min-height:420px;overflow:hidden}.followup-column-head{padding:11px 12px;border-bottom:1px solid #e4e8ef;background:#fff;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.followup-column-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.followup-column-head strong{font-size:12px}.followup-column-head small{font-size:8.8px;color:#64748b;line-height:1.25}.followup-column-head>span{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#eef2f7;font-size:11px;font-weight:900}.col-blue .followup-column-head>span{background:#dbeafe;color:#1d4ed8}.col-amber .followup-column-head>span{background:#fef3c7;color:#92400e}.col-red .followup-column-head>span{background:#fee2e2;color:#991b1b}.col-violet .followup-column-head>span{background:#ede9fe;color:#6d28d9}.col-green .followup-column-head>span{background:#dcfce7;color:#166534}.followup-column-body{padding:9px;display:grid;gap:8px;max-height:calc(100vh - 305px);overflow:auto}.followup-column-empty{font-size:10px;color:#94a3b8;border:1px dashed #dce2ea;border-radius:10px;padding:22px 8px;text-align:center;background:#fff}
.followup-kanban-card{appearance:none;width:100%;border:1px solid #e1e5ed;background:#fff;border-radius:11px;padding:10px;text-align:left;color:inherit;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.035);transition:.15s}.followup-kanban-card:hover{transform:translateY(-1px);border-color:#c8c5ff;box-shadow:0 7px 18px rgba(15,23,42,.08)}.followup-kcard-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center}.followup-kcard-person{display:flex;flex-direction:column;min-width:0}.followup-kcard-person strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-kcard-person small{font-size:8.8px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-kcard-body{display:flex;justify-content:space-between;gap:7px;margin-top:9px;padding-top:7px;border-top:1px solid #eef1f5;font-size:8.8px;color:#64748b}.followup-kcard-next{display:block;margin-top:6px;font-size:9.5px;color:#5148e5;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-contact-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f5}.followup-contact-actions .btn{font-size:10px;padding:7px 10px}.followup-modal-actions{border-top:0;padding-top:0}.followup-modal-card{width:min(860px,calc(100vw - 32px))}

/* Reactivación */
.reactivation-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#faf8ff);border:1px solid #e2e5ee;border-radius:16px;padding:18px 20px;box-shadow:0 8px 24px rgba(15,23,42,.045);margin-bottom:12px}.reactivation-hero h2{font-size:23px;margin:3px 0}.reactivation-hero p{font-size:11px;color:#64748b;max-width:760px;margin:0}.reactivation-note{max-width:330px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:11px;padding:10px 11px;font-size:9.5px;line-height:1.4}.reactivation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.reactivation-kpis a{text-decoration:none;color:inherit;background:#fff;border:1px solid #e2e6ee;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 10px;box-shadow:0 3px 10px rgba(15,23,42,.035)}.reactivation-kpis a.active{border-color:#c8c5ff;box-shadow:0 7px 18px rgba(80,72,232,.10)}.reactivation-kpis span{font-size:10px;font-weight:800;color:#64748b}.reactivation-kpis strong{font-size:22px;grid-row:1/3;grid-column:2}.reactivation-kpis small{font-size:8.5px;color:#94a3b8}.reactivation-panel{padding:16px}.reactivation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.reactivation-card{appearance:none;border:1px solid #e1e5ed;background:#fff;border-radius:12px;padding:11px;text-align:left;color:inherit;cursor:pointer;transition:.15s;box-shadow:0 3px 10px rgba(15,23,42,.035)}.reactivation-card:hover{transform:translateY(-1px);border-color:#cbc8ff;box-shadow:0 8px 20px rgba(15,23,42,.08)}.reactivation-card-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center}.reactivation-card-head>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.reactivation-card-head strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reactivation-card-head small{font-size:8.8px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reactivation-reason{display:block;margin-top:9px;padding:7px 8px;border-radius:8px;background:#f8fafc;font-size:9.5px;color:#475569}.reactivation-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:9px;color:#64748b}.reactivation-card-foot strong{color:#334155}.reactivation-modal-card{max-width:800px}

.automation-fields-followup{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1250px){.followup-kanban{grid-template-columns:repeat(5,230px)}.reactivation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-overview,.reactivation-hero{align-items:flex-start}.reactivation-note{max-width:280px}}
@media(max-width:800px){.completion-choice-row,.reactivation-kpis,.reactivation-grid{grid-template-columns:1fr}.no-followup-box{grid-template-columns:1fr}.followup-overview,.reactivation-hero{flex-direction:column}.followup-channel-mini{justify-content:flex-start}.reactivation-note{max-width:none}.automation-fields-followup{grid-template-columns:1fr}}

/* V4.1 · color por servicio y tarjetas adaptativas */
.calendar-color-field{display:flex;align-items:center;gap:10px;margin-top:5px;min-height:42px}.calendar-color-field input[type=color]{width:54px;height:38px;padding:3px;border:1px solid #d9dfeb;border-radius:9px;background:#fff;cursor:pointer}.calendar-color-field span{font-size:9.5px;line-height:1.25;color:#64748b;max-width:230px}.service-name-with-color{display:inline-flex;align-items:center;gap:7px}.service-name-with-color i{width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);flex:0 0 auto}
@media(max-height:820px){.week-calendar{--slot-height:12px}.week-appt{margin:0 2px;padding-top:2px;padding-bottom:2px}.week-appt strong{font-size:11.2px}.week-appt .appt-service{font-size:9.8px}.week-appt .appt-meta{font-size:9px}}

/* V4.2 · tarjetas de cita de tamaño fijo + hora de altura dinámica */
.fixed-agenda{margin-top:12px;border:1px solid #dfe4ee;border-radius:12px;background:#fff;overflow:auto;max-height:calc(100vh - 225px)}
.fixed-agenda-head,.fixed-hour-row{display:grid;grid-template-columns:62px repeat(var(--day-count),minmax(116px,1fr));min-width:880px}
.resource-fixed-agenda .fixed-agenda-head,.resource-fixed-agenda .fixed-hour-row{grid-template-columns:62px repeat(var(--day-count),minmax(138px,1fr));min-width:720px}
.fixed-agenda-head{position:sticky;top:0;z-index:20;background:#f8fafc;border-bottom:1px solid #dfe4ee}
.fixed-time-head{position:sticky;left:0;z-index:23;background:#f8fafc;border-right:1px solid #dfe4ee}
.fixed-day-head{padding:6px 5px;text-align:center;border-left:1px solid #e6eaf1;display:flex;flex-direction:column;gap:1px;background:#f8fafc;min-width:0}
.fixed-day-head strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixed-day-head span{font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fixed-hour-row{height:var(--hour-row-height,64px);min-height:var(--hour-row-height,64px);border-bottom:1px solid #dbe1eb;background:#fff}
.fixed-hour-label{position:sticky;left:0;z-index:8;background:#fafbfe;border-right:1px solid #dfe4ee;color:#64748b;font-size:9px;padding:5px 6px;line-height:1}
.fixed-hour-cell{position:relative;border-left:1px solid #e7eaf1;min-width:0;overflow:hidden;background:#fff}
.fixed-hour-cell.closed-day{background:repeating-linear-gradient(135deg,#f7f8fa,#f7f8fa 7px,#f2f4f7 7px,#f2f4f7 14px)}
.agenda-slot-layer{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column}.agenda-slot-layer>a{position:relative;flex:1;min-height:0;border-top:1px solid #eef1f6;transition:.1s}.agenda-slot-layer>a:first-child{border-top:0}.agenda-slot-layer>a:hover{background:rgba(98,92,246,.055)}.agenda-slot-layer>a span{display:none;position:absolute;right:5px;top:2px;color:#625cf6;font-weight:900;font-size:12px}.agenda-slot-layer>a:hover span{display:block}
.agenda-card-stack{position:relative;z-index:3;padding:4px;display:flex;flex-direction:column;gap:4px;pointer-events:none;min-height:100%}
.agenda-card{appearance:none;pointer-events:auto;height:52px;min-height:52px;max-height:52px;width:100%;margin:0;padding:4px 16px 4px 6px;border:0;border-left:4px solid var(--service-color,#6d6ef6);border-radius:7px;background:color-mix(in srgb,var(--service-color,#6d6ef6) 18%,#fff);box-shadow:0 2px 7px rgba(15,23,42,.09);color:inherit;text-align:left;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:center;position:relative;font:inherit}
.agenda-card strong,.agenda-card span,.agenda-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.agenda-card strong{font-size:11.7px;line-height:1.12}.agenda-card span{font-size:9.9px;line-height:1.12}.agenda-card small{font-size:9px;line-height:1.1;color:#475569}.agenda-card:hover{filter:brightness(.985);box-shadow:0 4px 11px rgba(15,23,42,.14)}
.agenda-card:after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#6d6ef6;box-shadow:0 0 0 2px rgba(255,255,255,.82)}.agenda-card.confirmed:after{background:#22c55e}.agenda-card.completed:after{background:#3b82f6}.agenda-card.cancelled{opacity:.48;text-decoration:line-through}.agenda-card.cancelled:after{background:#ef4444}.agenda-card.no-show{filter:saturate(.35);opacity:.72}.agenda-card.no-show:after{background:#64748b}
@media(max-height:820px){.fixed-agenda{max-height:calc(100vh - 210px)}.fixed-day-head{padding:5px 4px}.fixed-day-head strong{font-size:11px}.agenda-card{height:52px;min-height:52px;max-height:52px}.agenda-card strong{font-size:11.3px}.agenda-card span{font-size:9.6px}.agenda-card small{font-size:8.8px}}


/* V4.3 · Analítica */
.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:12px;background:linear-gradient(135deg,#fff,#faf9ff)}
.analytics-toolbar h2{margin:2px 0 3px;font-size:22px}.analytics-toolbar p{margin:0;font-size:10px;max-width:720px}.analytics-periods{display:flex;gap:5px;padding:4px;border-radius:12px;background:#eef1f7;flex-wrap:wrap}.analytics-periods a,.analytics-periods button{appearance:none;border:0;background:transparent;color:#334155;text-decoration:none;font:inherit;font-size:10.5px;font-weight:850;padding:8px 12px;border-radius:9px;cursor:pointer}.analytics-periods .active{background:#fff;color:#554ce9;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:10px}.analytics-kpi{position:relative;background:#fff;border:1px solid #e2e6ee;border-radius:13px;padding:11px 12px 10px;box-shadow:0 4px 13px rgba(15,23,42,.035);overflow:hidden}.analytics-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6d6ef6}.analytics-kpi.green:before{background:#10b981}.analytics-kpi.amber:before{background:#f59e0b}.analytics-kpi.blue:before{background:#3b82f6}.analytics-kpi.cyan:before{background:#06b6d4}.analytics-kpi.rose:before{background:#ec4899}.analytics-kpi span{display:block;font-size:9.3px;font-weight:800;color:#64748b}.analytics-kpi strong{display:block;font-size:20px;line-height:1.15;margin:5px 0 3px;color:#0f172a}.analytics-kpi small{display:block;font-size:8.4px;color:#94a3b8;line-height:1.25}.trend.up{color:#15803d}.trend.down{color:#b91c1c}.trend.flat{color:#94a3b8}
.analytics-secondary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:11px}.analytics-secondary-grid article{background:#f8fafc;border:1px solid #e5e9f0;border-radius:11px;padding:9px 11px}.analytics-secondary-grid span{display:block;font-size:8.8px;font-weight:800;color:#64748b}.analytics-secondary-grid strong{display:block;font-size:16px;margin:4px 0 2px}.analytics-secondary-grid small{display:block;font-size:8px;color:#94a3b8;line-height:1.25}
.analytics-grid{display:grid;gap:11px;margin-bottom:11px}.analytics-charts-row{grid-template-columns:1.05fr .95fr}.analytics-performance-row{grid-template-columns:1fr 1fr}.analytics-chart-panel,.analytics-list-panel{padding:15px}.analytics-chart-panel h2,.analytics-list-panel h2{font-size:17px;margin:0}.analytics-chart-panel .muted,.analytics-list-panel .muted{font-size:9px;margin:2px 0 0}.chart-key{display:flex;gap:11px;align-items:center;font-size:8.7px;color:#64748b}.chart-key span{display:flex;align-items:center;gap:5px}.chart-key i{width:8px;height:8px;border-radius:3px;background:#8b83ff}.chart-key i.done{background:#10b981}.chart-key i.billed{background:#6d6ef6}.chart-key i.paid{background:#10b981}
.bar-chart{height:190px;display:flex;align-items:stretch;gap:4px;padding:13px 2px 0;border-top:1px solid #eef1f5;margin-top:10px;overflow-x:auto}.bar-group{min-width:24px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.bars{width:100%;max-width:28px;height:145px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bars i{display:block;width:45%;min-height:0;border-radius:5px 5px 2px 2px}.bar-all{background:#c7c4ff}.bar-done{background:#10b981}.bar-billed{background:#6d6ef6}.bar-paid{background:#10b981}.bar-group>span{font-size:7.8px;color:#64748b;white-space:nowrap;transform:rotate(-35deg);transform-origin:center;margin-bottom:2px}
.rank-list{display:grid;gap:2px;margin-top:9px}.rank-row{display:grid;grid-template-columns:24px 10px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 7px;border-top:1px solid #eef1f5}.rank-row:first-child{border-top:0}.rank-num{width:22px;height:22px;border-radius:7px;background:#f1f3f8;display:grid;place-items:center;font-size:8.5px;font-weight:900;color:#64748b}.rank-color{width:9px;height:28px;border-radius:4px}.rank-row div{display:flex;flex-direction:column;min-width:0}.rank-row strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row small{font-size:8px;color:#94a3b8}.rank-row b{font-size:10px;color:#334155}.staff-rank-list .rank-row{grid-template-columns:28px minmax(0,1fr) auto}.staff-dot{width:28px;height:28px;border-radius:9px;background:#ede9fe;color:#5b4fe8;display:grid;place-items:center;font-weight:900;font-size:10px}.analytics-empty{padding:24px 10px;text-align:center;color:#94a3b8;font-size:9.5px;border:1px dashed #dbe1ea;border-radius:10px;margin-top:10px}.analytics-empty.small{padding:16px 8px;margin:8px}
.analytics-money-panel{padding:0;overflow:hidden}.analytics-money-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid #e8ebf1;background:linear-gradient(135deg,#fff,#fbfaff)}.analytics-money-head h2{font-size:18px;margin:2px 0}.analytics-money-head p{font-size:9px;margin:0}.analytics-pending-grid{display:grid;grid-template-columns:1fr 1fr}.pending-column+ .pending-column{border-left:1px solid #e8ebf1}.pending-column-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 14px;background:#fafbfe;border-bottom:1px solid #edf0f5}.pending-column-head strong{font-size:10.5px}.pending-column-head span{font-size:11px;font-weight:900;color:#554ce9}.money-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px 13px;border-bottom:1px solid #eef1f5}.money-item:last-child{border-bottom:0}.money-item>div{display:flex;flex-direction:column;min-width:0}.money-item strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-item span{font-size:8.6px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-item small{font-size:7.7px;color:#94a3b8}.money-item>b{font-size:10.5px;color:#0f172a;white-space:nowrap}.budget-inline-status select{font-size:8px;padding:6px 22px 6px 7px;border-radius:8px;border:1px solid #dce2eb;background:#fff}
.analytics-modal[hidden]{display:none!important}.analytics-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px}.analytics-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.analytics-modal-card{position:relative;z-index:1;width:min(760px,calc(100vw - 30px));max-height:calc(100vh - 38px);overflow:auto;background:#fff;border-radius:17px;padding:18px;box-shadow:0 28px 80px rgba(15,23,42,.28)}.analytics-modal-card.compact{width:min(580px,calc(100vw - 30px))}.analytics-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;border-bottom:1px solid #edf0f5;margin-bottom:12px}.analytics-modal-head h2{font-size:20px;margin:2px 0}.analytics-modal-head p{font-size:9px;margin:2px 0 0}.analytics-modal textarea{min-height:80px}
@media(max-width:1350px){.analytics-kpi-grid,.analytics-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-charts-row,.analytics-performance-row{grid-template-columns:1fr}.bar-chart{height:175px}.bars{height:132px}}
@media(max-width:800px){.analytics-toolbar,.analytics-money-head{flex-direction:column;align-items:flex-start}.analytics-kpi-grid,.analytics-secondary-grid,.analytics-pending-grid{grid-template-columns:1fr 1fr}.pending-column+ .pending-column{border-left:0;border-top:1px solid #e8ebf1}.analytics-periods{width:100%}.analytics-periods a,.analytics-periods button{flex:1;text-align:center}.money-item{grid-template-columns:minmax(0,1fr) auto}.money-item form,.money-item button{grid-column:1/-1}.bar-group{min-width:28px}}
@media(max-width:520px){.analytics-kpi-grid,.analytics-secondary-grid{grid-template-columns:1fr}.analytics-pending-grid{grid-template-columns:1fr}}


/* V4.3.2 · Pulido Analítica */
.analytics-toolbar,
.analytics-kpi-grid,
.analytics-secondary-grid,
.analytics-grid,
.analytics-money-panel{max-width:100%;min-width:0}

.analytics-grid>*,
.analytics-chart-panel,
.analytics-list-panel{min-width:0}

.analytics-charts-row{
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  align-items:stretch
}
.analytics-performance-row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)
}

.analytics-chart-panel{
  padding:13px 14px 12px;
  overflow:hidden;
  min-height:196px
}
.analytics-chart-panel .section-head-inline{
  min-width:0;
  gap:12px
}
.analytics-chart-panel .section-head-inline>div:first-child{
  min-width:0
}
.analytics-chart-panel h2{font-size:16px}
.analytics-chart-panel .muted{
  white-space:normal;
  line-height:1.35
}

.bar-chart{
  height:126px;
  width:100%;
  min-width:0;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  gap:2px;
  padding:8px 0 0;
  margin-top:8px
}
.bar-group{
  min-width:0!important;
  width:auto;
  flex:1 1 0;
  gap:3px;
  overflow:visible
}
.bars{
  height:91px;
  width:100%;
  max-width:22px;
  gap:1px
}
.bars i{
  min-width:2px;
  border-radius:4px 4px 1px 1px
}
.bar-group>span{
  max-width:28px;
  overflow:visible;
  font-size:7px;
  line-height:1;
  transform:rotate(-32deg);
  margin-bottom:0
}

/* En rangos densos mostramos referencias suficientes sin amontonar 31 etiquetas */
.bar-chart.dense .bar-group>span{visibility:hidden}
.bar-chart.dense .bar-group:nth-child(3n+1)>span{visibility:visible}
.bar-chart.dense .bar-group:last-child>span{visibility:visible}

.chart-empty-state{
  height:126px;
  margin-top:8px;
  border-top:1px solid #eef1f5;
  background:linear-gradient(180deg,#fff,#fafbfe);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#64748b;
  border-radius:0 0 10px 10px
}
.chart-empty-state .chart-empty-symbol{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#f1f0ff;
  color:#625cf6;
  font-size:16px;
  font-weight:900;
  margin-bottom:7px
}
.chart-empty-state strong{
  color:#334155;
  font-size:11px;
  margin-bottom:3px
}
.chart-empty-state small{
  font-size:8.5px;
  color:#94a3b8
}
.finance-empty .chart-empty-symbol{
  background:#ecfdf5;
  color:#059669
}

/* Evita que el min-content de los gráficos ensanche toda la página */
.analytics-charts-row,
.analytics-performance-row,
.analytics-chart-panel .bar-chart{min-width:0}

/* Tarjetas algo más refinadas y compactas */
.analytics-kpi{
  transition:transform .15s ease,box-shadow .15s ease;
  min-width:0
}
.analytics-kpi:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(15,23,42,.065)
}
.analytics-secondary-grid article{min-width:0}

/* Sin barras de scroll decorativas dentro de Analítica */
.analytics-chart-panel ::-webkit-scrollbar{width:0;height:0}

/* Portátil: conservar los dos gráficos juntos mientras haya espacio útil */
@media(max-width:1180px){
  .analytics-charts-row{grid-template-columns:1fr}
  .analytics-chart-panel{min-height:190px}
}


/* V4.4 · correo guiado por proveedor */
.email-setup-card .accordion-body{padding:18px}
.smtp-simple-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.smtp-simple-head h3{margin:2px 0 3px;font-size:19px;color:#172033}
.smtp-simple-head p{margin:0}
.smtp-connection-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:850;white-space:nowrap}
.smtp-connection-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#94a3b8}
.smtp-connection-badge.ok{background:#e8fbf0;color:#087a3f}.smtp-connection-badge.ok:before{background:#22c55e}
.smtp-connection-badge.error{background:#fff0f0;color:#b42318}.smtp-connection-badge.error:before{background:#ef4444}
.smtp-connection-badge.working{background:#eef2ff;color:#4f46e5}.smtp-connection-badge.working:before{background:#6366f1;animation:smtpPulse 1s infinite alternate}
@keyframes smtpPulse{to{opacity:.35}}

.smtp-provider-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:12px;align-items:end}
.smtp-provider-field select{font-weight:750}
.smtp-detect-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.smtp-detect-box label{min-width:0}
.smtp-detect-btn{height:38px;margin-bottom:0;white-space:nowrap}

.smtp-provider-hint{display:flex;gap:8px;align-items:flex-start;margin:11px 0 13px;padding:11px 13px;border:1px solid #dce4f1;border-radius:10px;background:#f8faff;color:#5c6b82}
.smtp-provider-hint strong{color:#25324a;font-size:11px;white-space:nowrap}
.smtp-provider-hint span{font-size:10.5px;line-height:1.45}
.smtp-provider-hint.needs-host{border-color:#f0d79b;background:#fffaf0}
.smtp-provider-hint.needs-host strong{color:#9a6500}

.smtp-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 13px}
.smtp-account-grid label small{display:block;margin-top:4px;color:#8290a6;font-size:9px;font-weight:550;line-height:1.35}
.smtp-test-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #edf0f5}
.smtp-test-btn{width:auto;min-width:130px;padding:9px 14px;box-shadow:none}
.smtp-test-result{font-size:10px;color:#718096;line-height:1.4}
.smtp-test-result.ok{color:#087a3f;font-weight:750}
.smtp-test-result.error{color:#b42318;font-weight:750}
.smtp-test-result.working{color:#4f46e5}

.smtp-advanced{margin-top:13px;border:1px solid #e2e7f0;border-radius:10px;background:#fbfcfe;overflow:hidden}
.smtp-advanced>summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:10px;font-weight:850;color:#536077}
.smtp-advanced>summary::-webkit-details-marker{display:none}
.smtp-advanced>summary:after{content:"⌄";float:right;color:#94a3b8}
.smtp-advanced[open]>summary:after{transform:rotate(180deg)}
.smtp-advanced-grid{border-top:1px solid #e9edf4;padding:12px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.smtp-advanced-note{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;min-height:56px;justify-content:center;padding:8px 10px;border-radius:8px;background:#f2f5fa}
.smtp-advanced-note strong{font-size:10px;color:#334155}
.smtp-advanced-note span{font-size:9px;line-height:1.35;color:#7b889d}

@media(max-width:1050px){
 .smtp-provider-grid{grid-template-columns:1fr}
 .smtp-account-grid{grid-template-columns:1fr 1fr}
 .smtp-advanced-grid{grid-template-columns:1fr 1fr}
 .smtp-advanced-note{grid-column:1/-1}
}
@media(max-width:650px){
 .smtp-simple-head{flex-direction:column}
 .smtp-provider-grid,.smtp-account-grid,.smtp-advanced-grid{grid-template-columns:1fr}
 .smtp-detect-box{grid-template-columns:1fr}
 .smtp-detect-btn{width:100%}
 .smtp-test-row{align-items:stretch;flex-direction:column}
 .smtp-test-btn{width:100%}
}


/* V4.4.3 · Guardado independiente por canal */
.channel-save-row{
  display:flex;align-items:center;justify-content:flex-end;gap:14px;
  margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5
}
.channel-save-row span{margin-right:auto;color:#64748b;font-size:11px}
.channel-save-row .btn,.smtp-test-row .channel-save-btn{min-width:150px}
.smtp-test-row{flex-wrap:wrap}
.smtp-test-row .smtp-test-result{flex:1 1 280px}
.settings-save-actions[hidden]{display:none!important}
@media(max-width:720px){
  .channel-save-row{align-items:stretch;flex-direction:column}
  .channel-save-row .btn,.smtp-test-row .channel-save-btn{width:100%}
}


/* V4.4.4 · secretos guardados sin volver a exponerlos */
.smtp-secret-state{
  display:block;margin-top:6px;color:#8b97aa;font-size:10px;line-height:1.35
}
.smtp-secret-state.stored{color:#15804b;font-weight:700}
.smtp-account-grid input[type="password"]::placeholder{color:#708097;opacity:1}


/* V4.4.5 · WhatsApp guiado */
.wa-simple-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.wa-simple-head h3{margin:4px 0 3px;font-size:21px}
.smtp-connection-badge.saved{background:#fff7e5;color:#9a6600}
.wa-connected-summary{display:flex;align-items:center;gap:10px;padding:11px 13px;margin:8px 0 12px;border-radius:11px;background:#ecfbf3;border:1px solid #ccefdc;color:#176b42}
.wa-connected-summary strong{font-size:13px}.wa-connected-summary span{font-size:12px}
.wa-connect-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin:10px 0 14px;border-radius:12px;background:#f6f4ff;border:1px solid #e3defe}
.wa-connect-note strong{font-size:12px;color:#4f46e5}.wa-connect-note span{font-size:11px;line-height:1.45;color:#67738a}
.wa-core-grid{grid-template-columns:1fr 1fr}
.wa-core-grid small{display:block;margin-top:5px;color:#7a879c;font-size:10px;line-height:1.35}
.wa-action-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f5;flex-wrap:wrap}
.wa-action-row .wa-test-result{flex:1 1 280px;font-size:11px;color:#718096}
.wa-action-row .wa-test-result.ok{color:#13804a;font-weight:700}
.wa-action-row .wa-test-result.error{color:#c22828;font-weight:700}
.input-with-button{display:flex;gap:8px;align-items:center}
.input-with-button input{flex:1}
.btn.compact{padding:10px 12px;white-space:nowrap}
.inline-checks label:has(input[disabled]){opacity:.45;cursor:not-allowed}
.inline-checks input[disabled]{cursor:not-allowed}
@media(max-width:760px){
  .wa-simple-head,.wa-core-grid{display:block}
  .wa-action-row .btn{width:100%}
  .input-with-button{align-items:stretch;flex-direction:column}
}


/* V4.4.7 · Historial centralizado */
.automation-history-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;margin-top:12px;background:linear-gradient(135deg,#fff,#faf9ff)}
.automation-history-link>div{display:flex;flex-direction:column;gap:3px}.automation-history-link strong{font-size:13px}.automation-history-link small{font-size:9.5px;color:#718096;max-width:760px}.automation-history-link .btn{white-space:nowrap}
.history-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px;margin-bottom:11px;background:linear-gradient(135deg,#fff,#faf9ff);border:1px solid #e1e5ee;border-radius:16px;box-shadow:0 7px 22px rgba(15,23,42,.04)}
.history-hero h2{font-size:23px;margin:3px 0}.history-hero p{font-size:10.5px;color:#64748b;margin:0;max-width:800px}.history-period{min-width:130px;padding:10px 12px;border-radius:11px;background:#f5f3ff;border:1px solid #e2defe;display:flex;flex-direction:column;gap:2px}.history-period span{font-size:8.5px;text-transform:uppercase;font-weight:850;color:#7c6ff0}.history-period strong{font-size:12px;color:#302b66}
.history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:11px}.history-kpis article{background:#fff;border:1px solid #e2e6ee;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 10px;box-shadow:0 3px 10px rgba(15,23,42,.03)}.history-kpis span{font-size:9px;font-weight:800;color:#64748b}.history-kpis strong{font-size:22px;grid-row:1/3;grid-column:2}.history-kpis small{font-size:8.5px;color:#94a3b8}.history-kpis .green strong{color:#15945b}.history-kpis .violet strong{color:#6257f6}.history-kpis .red strong{color:#dc4b4b}
.history-control-panel{padding:13px 14px;margin-bottom:11px}.history-period-tabs{display:flex;gap:4px;justify-content:flex-end;margin-bottom:10px}.history-period-tabs a{text-decoration:none;color:#536077;font-size:9px;font-weight:850;padding:7px 10px;border-radius:8px;background:#f5f7fb}.history-period-tabs a.active{background:#6257f6;color:#fff}
.history-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:8px;border-bottom:1px solid #edf0f5}.history-tabs a{text-decoration:none;color:#536077;border:1px solid #e4e8f0;background:#fff;border-radius:9px;padding:7px 9px;display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:9.5px;font-weight:800}.history-tabs a b{min-width:19px;height:19px;border-radius:999px;background:#f1f4f8;display:grid;place-items:center;font-size:8px}.history-tabs a.active{border-color:#c9c5ff;background:#f7f6ff;color:#5148e5}.history-tabs a.active b{background:#6257f6;color:#fff}
.history-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(130px,.7fr) minmax(140px,.8fr) auto auto;gap:8px;align-items:end;margin-top:10px}.history-filters label{display:flex;flex-direction:column;gap:4px;margin:0}.history-filters label>span{font-size:8px;text-transform:uppercase;font-weight:850;color:#8793a8}.history-filters input,.history-filters select{padding:8px 9px;font-size:10.5px}.history-filters .btn{font-size:9.5px;padding:9px 11px}
.history-table-panel{padding:15px}.history-table-wrap{max-height:620px;overflow:auto}.history-table{min-width:980px}.history-table th{position:sticky;top:0;z-index:2;background:#f8fafc}.history-table td{vertical-align:middle}.history-table td>strong{display:block;font-size:10.5px}.history-table td>small{display:block;font-size:8.5px;color:#7c899d;margin-top:2px}.history-row{cursor:pointer;transition:.12s}.history-row:hover{background:#faf9ff}.history-row:focus{outline:2px solid #c9c5ff;outline-offset:-2px}.history-channel{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f1f4f8;color:#657287;font-size:8.5px;font-weight:850}.history-channel.email{background:#edf4ff;color:#3168ba}.history-channel.whatsapp{background:#eafaf2;color:#158454}.history-channel.voice{background:#fff4e9;color:#b56921}.history-channel.system{background:#f4f1ff;color:#6553c9}.history-view-btn{appearance:none;border:0;background:#f0efff;color:#5b50ed;width:26px;height:26px;border-radius:8px;font-size:19px;line-height:1;cursor:pointer}.text-red{color:#c43d3d!important}
.history-modal[hidden]{display:none!important}.history-modal{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:20px}.history-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.history-modal-card{position:relative;z-index:1;width:min(780px,calc(100vw - 30px));max-height:calc(100vh - 38px);overflow:auto;background:#fff;border-radius:18px;border:1px solid #e1e5ed;box-shadow:0 30px 90px rgba(15,23,42,.30);padding:19px}.history-modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #edf0f5}.history-modal-head h2{font-size:21px;margin:2px 0}.history-modal-head p{font-size:9.5px;color:#758196;margin:2px 0 0}.history-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.history-detail-grid>div{border:1px solid #e5e9f0;border-radius:10px;background:#fbfcff;padding:9px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.history-detail-grid span,.history-detail-box>span{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:900}.history-detail-grid strong{font-size:10.5px;white-space:normal;overflow-wrap:anywhere}.history-detail-grid small{font-size:8.5px;color:#66748b}.history-detail-box{margin-top:9px;border:1px solid #e5e9f0;background:#fbfcff;border-radius:10px;padding:10px 11px}.history-detail-box strong,.history-detail-box p{display:block;margin:4px 0 0;font-size:10.5px;color:#3f4d63;white-space:pre-wrap;overflow-wrap:anywhere}.history-error-box{background:#fff7f7;border-color:#f4caca}.history-error-box span,.history-error-box p{color:#b83939}.history-amount-box{background:#f4fbf7;border-color:#d8efe1}.history-amount-box strong{font-size:16px;color:#13794a}.history-modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf0f5}
@media(max-width:1050px){.history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filters{grid-template-columns:1fr 1fr 1fr}.history-search{grid-column:1/-1}.history-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.history-hero{align-items:flex-start;flex-direction:column}.history-period{width:100%}.history-kpis{grid-template-columns:1fr 1fr}.history-filters{grid-template-columns:1fr}.history-search{grid-column:auto}.history-detail-grid{grid-template-columns:1fr}.history-modal{padding:8px}.history-modal-card{width:100%;max-height:calc(100vh - 16px)}.history-modal-actions{flex-direction:column}.history-modal-actions .btn{width:100%}.automation-history-link{align-items:stretch;flex-direction:column}}


/* V4.4.8 · Constructor de recordatorios */
.reminder-builder-card{background:linear-gradient(180deg,#fbfcff 0%,#f8f9fd 100%)}
.reminder-count-row{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e3e7ef;border-radius:11px;background:#fff;margin-bottom:11px}
.reminder-count-row .field-label{margin:0}.reminder-count-row>small{font-size:9.5px;color:#738096;line-height:1.35}
.reminder-count-options{display:flex;gap:5px}.reminder-count-options label{display:block}.reminder-count-options input{position:absolute;opacity:0;pointer-events:none}.reminder-count-options span{display:grid;place-items:center;width:31px;height:29px;border:1px solid #dce1eb;border-radius:8px;background:#f8fafc;color:#58657b;font-size:11px;font-weight:900;cursor:pointer}.reminder-count-options input:checked+span{background:#5b56e8;color:#fff;border-color:#5b56e8;box-shadow:0 5px 12px rgba(91,86,232,.18)}
.reminder-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reminder-step{border:1px solid #dfe4ee;background:#fff;border-radius:12px;padding:11px;min-width:0}.reminder-step[hidden]{display:none!important}.reminder-step header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.reminder-step header>div{display:flex;flex-direction:column;gap:1px}.reminder-step header strong{font-size:12px;color:#17233b}.reminder-step header small{font-size:9px;color:#7a879a}.reminder-number{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:#efedff;color:#5b50e8;font-size:11px;font-weight:900}.reminder-last .reminder-number{background:#e9f8f2;color:#16805a}
.reminder-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.reminder-step-grid>div:last-child{grid-column:1/-1}.reminder-step-grid label{font-size:9.5px;color:#5d6a7f}.reminder-step-grid select,.reminder-step-grid input[type=time]{width:100%;max-width:none;padding:8px 9px;font-size:10.5px}.reminder-step-grid .inline-checks label{padding:7px 8px;font-size:10px}.reminder-step-grid.last{grid-template-columns:1fr 1fr}.reminder-example{border:1px dashed #d7dceb;background:#fafbfe;border-radius:9px;padding:8px 9px;display:flex!important;flex-direction:column;gap:2px}.reminder-example span{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#96a0b2;font-weight:900}.reminder-example strong{font-size:9.5px;color:#4a5870}.reminder-rule-note{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f1f5ff;border:1px solid #dfe6fb;color:#67758b;font-size:9.5px;line-height:1.45}.reminder-rule-note strong{color:#3e4d68}
@media(max-width:1150px){.reminder-steps{grid-template-columns:1fr 1fr}.reminder-step:last-child{grid-column:1/-1}.reminder-count-row{grid-template-columns:auto auto}.reminder-count-row>small{grid-column:1/-1}}
@media(max-width:760px){.reminder-steps{grid-template-columns:1fr}.reminder-step:last-child{grid-column:auto}.reminder-count-row{grid-template-columns:1fr}.reminder-step-grid,.reminder-step-grid.last{grid-template-columns:1fr}.reminder-step-grid>div:last-child{grid-column:auto}}


/* V4.4.10 · Reserva pública profesional */
.booking-success-modal{
  position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px
}
.booking-success-modal[hidden]{display:none}
.booking-success-backdrop{
  position:absolute;inset:0;border:0;background:rgba(10,20,40,.55);backdrop-filter:blur(5px);cursor:default
}
.booking-success-card{
  position:relative;width:min(620px,100%);background:#fff;border:1px solid #e5e9f3;border-radius:24px;
  padding:34px;box-shadow:0 30px 90px rgba(13,24,48,.25);text-align:center
}
.booking-success-icon{
  width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;
  background:#dcfce7;color:#15803d;font-size:29px;font-weight:900
}
.booking-success-eyebrow{display:block;color:#6257f6;font-size:11px;letter-spacing:.1em;font-weight:900;margin-bottom:8px}
.booking-success-card h2{font-size:30px;margin:0 0 9px;color:#10203b}
.booking-success-thanks{margin:0 auto 22px;max-width:500px;color:#5f6d83;line-height:1.6;font-size:15px}
.booking-success-summary{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left;margin:0 0 15px
}
.booking-success-summary>div{
  padding:13px 15px;border:1px solid #e7ebf3;background:#f8f9fc;border-radius:13px;min-width:0
}
.booking-success-summary span{display:block;color:#7c899e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.booking-success-summary strong{display:block;color:#15223b;font-size:14px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-success-notice{
  background:#edf9f2;border:1px solid #d2efdd;color:#176b42;border-radius:11px;padding:11px 13px;font-size:12px
}
.booking-success-trust{color:#7c899e;font-size:12px;margin:16px 0 0}
.booking-success-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:22px}
.booking-success-actions .btn{min-width:145px}
.booking-success-actions .btn.primary{min-width:205px}
.booking-manage-card{border-top:5px solid #6257f6}

/* V4.4.10 · navegación clara por día en vistas de profesional / recurso */
.agenda-date-strip{
  display:grid;grid-template-columns:repeat(var(--visible-day-count,7),minmax(74px,1fr));gap:7px;margin:12px 0 14px
}
.agenda-date-chip{
  text-decoration:none;color:#516078;background:#f8f9fc;border:1px solid #e2e7f0;border-radius:11px;
  padding:8px 9px;text-align:center;transition:.16s ease;min-width:0
}
.agenda-date-chip:hover{border-color:#bbb7ff;background:#f4f2ff}
.agenda-date-chip.active{background:#6257f6;border-color:#6257f6;color:#fff;box-shadow:0 7px 18px rgba(98,87,246,.18)}
.agenda-date-chip span,.agenda-date-chip small{display:block;font-size:9px}
.agenda-date-chip strong{display:block;font-size:17px;line-height:1.15;margin:2px 0}
.agenda-date-chip small{opacity:.75;white-space:nowrap}
.agenda-day-hint{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;margin:0 0 13px;
  background:#fff9e9;border:1px solid #f2dfaa;border-radius:11px;color:#765900
}
.agenda-day-hint div{display:flex;flex-direction:column;gap:2px}
.agenda-day-hint strong{font-size:12px}.agenda-day-hint span{font-size:10px;color:#80724d}

@media(max-width:760px){
 .booking-success-card{padding:25px 18px;border-radius:19px}
 .booking-success-summary{grid-template-columns:1fr}
 .booking-success-actions{flex-direction:column}
 .booking-success-actions .btn{width:100%}
 .agenda-date-strip{display:flex;overflow-x:auto;padding-bottom:4px}
 .agenda-date-chip{min-width:82px}
 .agenda-day-hint{align-items:stretch;flex-direction:column}
}


/* V4.4.11 · Agenda: selector diario visible y estable */
.agenda-date-strip{
  position:relative;z-index:2;
}
.agenda-date-chip{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;line-height:1.1!important
}
.agenda-date-chip span,.agenda-date-chip strong,.agenda-date-chip small{
  display:block!important
}

/* V4.4.11 · Gestión pública de cita */
.manage-booking-page{background:#f3f5f9}
.manage-booking-shell{max-width:760px;margin:0 auto;padding:48px 18px}
.booking-manage-card{border-top:5px solid #6257f6}
.manage-booking-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin:5px 0 22px}
.manage-booking-title h1{margin:0 0 4px;font-size:30px}
.manage-status{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2ff;color:#5149d8}
.manage-status.status-confirmed{background:#dcfce7;color:#177245}
.manage-status.status-cancelled,.manage-status.status-no_show{background:#fee2e2;color:#b42318}
.manage-status.status-completed{background:#e8f1ff;color:#2563a8}
.manage-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.manage-summary-grid>div{background:#f8f9fc;border:1px solid #e6eaf2;border-radius:12px;padding:12px 14px}
.manage-summary-grid span{display:block;font-size:9px;text-transform:uppercase;color:#8591a4;font-weight:900;letter-spacing:.04em}
.manage-summary-grid strong{display:block;margin-top:4px;color:#17233c;font-size:14px}
.manage-resource{padding:10px 12px;background:#f7f8fb;border-radius:10px;color:#68758a;font-size:11px}
.manage-cancel-form{margin-top:18px}
.manage-reschedule-card{margin-top:14px}
.manage-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.manage-section-head h2{margin:3px 0 0}
.manage-date-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:14px}
.manage-date-form label{margin:0}
.manage-slot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 16px}
.manage-slot{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dfe4ee;border-radius:10px;padding:10px 8px;cursor:pointer;background:#fff}
.manage-slot:has(input:checked){border-color:#6257f6;background:#f1efff;color:#5149db;font-weight:800}
.manage-slot input{width:auto}
.manage-confirm-change{width:100%}
.manage-no-slots{padding:14px;border-radius:11px;background:#f7f8fb;color:#758198;font-size:12px;text-align:center}
.manage-finished-card{text-align:center;margin-top:14px}

@media(max-width:680px){
 .manage-booking-shell{padding:20px 12px}
 .manage-summary-grid{grid-template-columns:1fr}
 .manage-section-head{flex-direction:column}
 .manage-date-form{grid-template-columns:1fr}
 .manage-slot-grid{grid-template-columns:repeat(3,1fr)}
}


/* V4.4.15 · Confirmaciones profesionales globales */
.crm-confirm-modal{
  position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:18px
}
.crm-confirm-modal[hidden]{display:none}
.crm-confirm-backdrop{
  position:absolute;inset:0;border:0;background:rgba(12,22,42,.56);
  backdrop-filter:blur(5px);cursor:default
}
.crm-confirm-card{
  position:relative;width:min(520px,100%);background:#fff;border:1px solid #e5e9f2;
  border-radius:22px;padding:28px;box-shadow:0 32px 95px rgba(8,20,45,.30);
  text-align:center
}
.crm-confirm-icon{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  margin:0 auto 13px;background:#fff0f0;color:#d33535;font-size:27px;font-weight:900
}
.crm-confirm-modal[data-tone="warning"] .crm-confirm-icon{
  background:#fff6dd;color:#b77800
}
.crm-confirm-eyebrow{
  display:block;margin-bottom:7px;color:#d33535;font-size:10px;letter-spacing:.11em;font-weight:900
}
.crm-confirm-modal[data-tone="warning"] .crm-confirm-eyebrow{color:#a56b00}
.crm-confirm-card h2{
  margin:0 0 9px;color:#11203a;font-size:25px;line-height:1.2
}
.crm-confirm-text{
  max-width:430px;margin:0 auto;color:#68768b;line-height:1.55;font-size:13px
}
.crm-confirm-summary{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 0;text-align:left
}
.crm-confirm-summary>div{
  padding:11px 12px;background:#f7f8fb;border:1px solid #e5e9f1;border-radius:11px;min-width:0
}
.crm-confirm-summary span{
  display:block;font-size:9px;font-weight:900;color:#8a95a7;text-transform:uppercase;letter-spacing:.04em
}
.crm-confirm-summary strong{
  display:block;margin-top:4px;color:#18243b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.crm-confirm-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px
}
.crm-confirm-actions .btn{width:100%;min-height:43px}
.crm-confirm-actions .btn.danger{
  background:#d93b3b;border-color:#d93b3b;color:#fff
}
.crm-confirm-actions .btn.danger:hover{background:#c72f2f;border-color:#c72f2f}

@media(max-width:580px){
  .crm-confirm-card{padding:24px 18px;border-radius:18px}
  .crm-confirm-summary{grid-template-columns:1fr}
  .crm-confirm-actions{grid-template-columns:1fr}
}


/* V4.4.19 · Notas internas + notificaciones */
.notification-center{position:relative}
.notification-center>summary{list-style:none}.notification-center>summary::-webkit-details-marker{display:none}
.notification-bell{width:42px;height:42px;border:1px solid #dfe5ef;background:#fff;border-radius:12px;display:grid;place-items:center;cursor:pointer;position:relative;font-size:18px}
.notification-bell span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:900;display:grid;place-items:center;border:2px solid #fff}
.notification-popover{position:absolute;right:0;top:50px;width:min(380px,calc(100vw - 36px));background:#fff;border:1px solid #e3e8f1;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.2);z-index:1500;overflow:hidden}
.notification-popover-head{display:flex;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #edf0f5}.notification-popover-head strong{font-size:13px}.notification-popover-head small{font-size:10px;color:#8591a4}
.notification-item{display:block;text-decoration:none;color:#17233c;padding:12px 14px;border-bottom:1px solid #f0f2f6}.notification-item:hover{background:#f8f8ff}.notification-item.unread{background:#f5f3ff;border-left:3px solid #6257f6}
.notification-item div{display:flex;flex-direction:column;gap:3px}.notification-item strong{font-size:11px}.notification-item span{font-size:10px;color:#64748b;line-height:1.35}.notification-item small{font-size:9px;color:#94a3b8}.notification-empty{padding:22px;text-align:center;color:#94a3b8;font-size:11px}

.internal-notes-panel{margin-top:14px}.note-count{font-size:10px;font-weight:800;color:#6c7890;background:#f2f4f8;padding:6px 9px;border-radius:999px}
.internal-note-form{border:1px solid #e4e8f0;border-radius:14px;padding:14px;background:#fbfcff;margin-top:14px}.internal-note-form textarea{min-height:92px}
.note-form-row{display:flex;align-items:end;gap:14px;margin:10px 0}.note-form-row label{margin:0;min-width:190px}.note-form-row .note-pin{display:flex;align-items:center;gap:7px;min-width:auto;padding-bottom:9px;font-size:11px}.note-form-row .note-pin input{width:auto}
.note-notify-box{margin:12px 0;border:1px solid #e4e8f0;border-radius:13px;background:#fff;padding:12px}.note-notify-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.note-notify-head>div{display:flex;flex-direction:column;gap:2px}.note-notify-head strong{font-size:12px}.note-notify-head small{font-size:9px;color:#8692a5}.note-notify-head>span{font-size:9px;font-weight:800;color:#6257f6;background:#f0efff;padding:5px 8px;border-radius:999px}
.note-notify-none{display:flex!important;align-items:center;gap:7px;margin:0 0 9px!important;padding:9px 10px;border-radius:10px;background:#f7f8fb;font-size:11px!important;font-weight:800!important}.note-notify-none input{width:auto!important}
.note-recipient-tools{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}.note-recipient-tools input{padding:9px 10px}
.note-recipient-scroller{max-height:260px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:2px 4px 2px 0;scroll-snap-type:y proximity}.note-recipient-scroller::-webkit-scrollbar{width:8px}.note-recipient-scroller::-webkit-scrollbar-thumb{background:#d4d9e3;border-radius:999px}
.note-recipient-card{display:grid!important;grid-template-columns:auto 34px 1fr;align-items:center;gap:9px;margin:0!important;padding:9px 10px;border:1px solid #e5e9f1;border-radius:11px;background:#fff;cursor:pointer;scroll-snap-align:start}.note-recipient-card:hover{background:#f8f8ff;border-color:#cbc7ff}.note-recipient-card:has(input:checked){background:#f1efff;border-color:#9e98ff}.note-recipient-card input{width:auto!important}.note-recipient-avatar{width:32px;height:32px;border-radius:10px;background:#eceaff;color:#564fe4;display:grid;place-items:center;font-weight:900}.note-recipient-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.note-recipient-meta strong{font-size:11px}.note-recipient-meta small{font-size:9px;color:#7c899c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note-empty-users{padding:12px;text-align:center;background:#f8f9fb;color:#8793a5;border-radius:10px;font-size:10px}
.internal-note-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.internal-note{border:1px solid #e5e9f1;border-radius:13px;padding:13px 14px;background:#fff}.internal-note.important{border-left:4px solid #ef4444}.internal-note.pinned{background:#fffdf4}.internal-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.internal-note-head>div:first-child{display:flex;flex-direction:column}.internal-note-head strong{font-size:11px}.internal-note-head span{font-size:9px;color:#8b96a7}.internal-note p{font-size:11px;line-height:1.55;color:#435169;margin:10px 0}.note-badges{display:flex;gap:5px}.note-badges span{font-size:8px!important;background:#f3f4f7;color:#677489!important;padding:4px 6px;border-radius:999px;font-weight:800}.note-badges .important{background:#fee2e2;color:#b42318!important}.internal-note-notified{font-size:9px;color:#7169d8}.legacy-client-note{margin-top:12px;padding:11px 12px;background:#f8f9fb;border-radius:11px}.legacy-client-note strong{font-size:10px}.legacy-client-note p{margin:5px 0 0;font-size:10px;color:#59677d}
.client-detail-card{margin-bottom:0}.client-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.client-detail-stats>div{background:#f8f9fb;border:1px solid #e7ebf2;border-radius:11px;padding:10px 12px}.client-detail-stats span{display:block;font-size:9px;color:#8793a6;text-transform:uppercase;font-weight:800}.client-detail-stats strong{display:block;margin-top:3px;font-size:12px}.note-context-card{display:flex;justify-content:space-between;align-items:center;gap:14px}

/* Facturación */
.finance-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.finance-intro h2{margin:4px 0}.finance-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.finance-stat-grid article{background:#fff;border:1px solid #e4e8f0;border-radius:14px;padding:14px}.finance-stat-grid span{display:block;font-size:9px;color:#8390a4;font-weight:800}.finance-stat-grid strong{display:block;font-size:22px;margin-top:5px}
.finance-tabs{display:flex;gap:7px;border-bottom:1px solid #e8ebf2;padding-bottom:10px;margin-bottom:12px}.finance-tabs a{text-decoration:none;color:#5f6d82;font-size:11px;font-weight:800;padding:8px 11px;border-radius:9px}.finance-tabs a.active{background:#6257f6;color:#fff}.finance-create{margin:10px 0 14px;border:1px solid #e4e8f0;border-radius:12px;background:#fbfcff;padding:0 12px}.finance-create>summary{cursor:pointer;padding:11px 0;font-weight:800;font-size:11px}.finance-create form{padding:0 0 13px}.inline-payment{position:relative}.inline-payment>summary{list-style:none}.inline-payment form{position:absolute;right:0;top:35px;z-index:20;background:#fff;border:1px solid #e1e6ef;border-radius:12px;box-shadow:0 15px 40px rgba(15,23,42,.16);padding:10px;width:230px;display:grid;gap:7px}.inline-payment input{padding:8px;font-size:10px}

@media(max-width:760px){
 .notification-popover{position:fixed;right:12px;left:12px;top:70px;width:auto}
 .note-form-row{flex-direction:column;align-items:stretch}.note-form-row label{min-width:0}.note-notify-head{align-items:flex-start;flex-direction:column}
 .client-detail-stats,.finance-stat-grid{grid-template-columns:1fr}.note-context-card,.finance-intro{flex-direction:column}
}


/* V4.4.20 · Ficha de cliente protagonista */
.client-profile-card{padding:20px}
.client-profile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.client-profile-identity{display:flex;align-items:center;gap:13px;min-width:0}
.client-profile-avatar{width:52px;height:52px;border-radius:16px;background:#eceaff;color:#564fe4;display:grid;place-items:center;font-size:21px;font-weight:900;flex:0 0 auto}
.client-profile-identity h2{margin:2px 0 3px;font-size:25px}
.client-profile-identity p{margin:0;color:#7a879a;font-size:10px}
.client-profile-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.inline-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:3px;border-radius:999px;background:#eceaff;color:#564fe4;font-size:8px;font-weight:900}

.client-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:18px}
.client-data-block{border:1px solid #e5e9f1;border-radius:14px;background:#fbfcfe;padding:14px}
.client-block-head{margin-bottom:9px}.client-block-head strong{font-size:12px}
.client-data-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.client-data-list>div,.client-permission-list>div{padding:9px 10px;background:#fff;border:1px solid #edf0f5;border-radius:10px;min-width:0}
.client-data-list span,.client-permission-list span,.client-general-observation>span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#8a95a7;font-weight:900}
.client-data-list strong,.client-permission-list strong{display:block;margin-top:4px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-contact-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.client-permission-list{display:flex;flex-direction:column;gap:7px}
.client-permission-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.client-permission-list strong{margin:0}
.client-general-observation{margin-top:9px;padding:10px 11px;border-radius:10px;background:#fff;border:1px solid #edf0f5}
.client-general-observation p{margin:5px 0 0;color:#4d5a6e;font-size:10px;line-height:1.5}

.client-activity-strip{display:grid;grid-template-columns:1.35fr 1fr repeat(3,.65fr);gap:8px;margin-top:12px}
.client-activity-strip>div{padding:10px 11px;border-radius:11px;background:#f7f8fb;border:1px solid #e8ecf3}
.client-activity-strip span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#8a95a7;font-weight:900}
.client-activity-strip strong{display:block;margin-top:4px;font-size:11px;color:#17233c}

/* Drawers laterales */
.client-side-drawer{position:fixed;inset:0;z-index:1750;pointer-events:none;visibility:hidden}
.client-side-drawer.open{pointer-events:auto;visibility:visible}
.client-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(13,24,45,.38);opacity:0;transition:.18s ease}
.client-side-drawer.open .client-drawer-backdrop{opacity:1}
.client-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(520px,94vw);background:#fff;border-left:1px solid #e4e8f0;box-shadow:-24px 0 70px rgba(13,24,45,.18);padding:18px;overflow-y:auto;transform:translateX(102%);transition:.22s ease}
.client-side-drawer.open .client-drawer-panel{transform:translateX(0)}
.client-drawer-panel.compact-drawer{width:min(450px,94vw)}
.client-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #edf0f5;position:sticky;top:-18px;background:#fff;z-index:3;padding-top:4px}
.client-drawer-head h2{margin:2px 0 3px;font-size:22px}.client-drawer-head p{margin:0;color:#7c899c;font-size:10px}
.client-note-drawer-form,.client-edit-form{display:flex;flex-direction:column;gap:11px;margin-top:14px}
.client-note-drawer-form textarea{min-height:90px}
.client-note-options{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.note-notify-box.compact{padding:11px;margin-top:0}
.note-recipient-scroller.drawer-scroller{max-height:205px}
.client-note-save{width:100%}
.client-note-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0 9px;padding-top:15px;border-top:1px solid #edf0f5}
.client-note-history-head strong{font-size:12px}.client-note-history-head span{font-size:9px;color:#7c899c}
.client-note-history{margin-top:0}
.internal-note.note-focus{outline:2px solid #7268ff;outline-offset:2px;background:#f7f5ff}

.client-edit-permissions{padding:11px;border:1px solid #e5e9f1;border-radius:12px;background:#fafbfe;display:flex;flex-direction:column;gap:8px}
.client-edit-permissions>strong{font-size:10px}
.client-edit-permissions label{display:flex;align-items:center;gap:7px;margin:0;font-size:10px}
.client-edit-permissions input{width:auto}
.client-edit-permissions .danger-check{color:#b42318}
.client-edit-form textarea{min-height:95px}

@media(max-width:900px){
 .client-profile-top{flex-direction:column}
 .client-profile-actions{justify-content:flex-start}
 .client-profile-grid{grid-template-columns:1fr}
 .client-activity-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
 .client-data-list{grid-template-columns:1fr}
 .client-activity-strip{grid-template-columns:1fr}
 .client-drawer-panel{width:100%}
 .client-note-options{grid-template-columns:1fr}
}


/* V4.4.21 · Ficha exclusiva del cliente */
.client-profile-exclusive{padding-bottom:18px}
.client-record-tabs{
  display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 0;padding-top:14px;border-top:1px solid #edf0f5
}
.client-record-tabs a{
  display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;
  color:#536177;text-decoration:none;font-size:10px;font-weight:800;border:1px solid transparent
}
.client-record-tabs a:hover{background:#f5f6fa}
.client-record-tabs a.active{background:#eceaff;color:#5148ea;border-color:#dcd8ff}
.client-record-tabs a span{
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;
  background:#fff;color:#737f91;font-size:8px
}
.client-tab-panel{margin-top:14px;border-top:1px solid #edf0f5;padding-top:14px}
.client-tab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.client-tab-head h3{margin:0 0 3px;font-size:16px}
.client-tab-head p{margin:0;color:#7a879a;font-size:10px}
.client-record-table td small{display:block;margin-top:3px;color:#8792a5;font-size:8px;max-width:280px}
.client-record-table td{vertical-align:top}
.client-notes-preview{display:flex;flex-direction:column;gap:9px}
.client-note-preview{padding:11px 12px;border:1px solid #e7ebf2;background:#fbfcfe;border-radius:11px}
.client-note-preview.important{border-color:#ffd0d0;background:#fff9f9}
.client-note-preview>div{display:flex;justify-content:space-between;gap:10px}
.client-note-preview strong{font-size:10px}.client-note-preview span,.client-note-preview small{font-size:8px;color:#8994a6}
.client-note-preview p{margin:7px 0 4px;font-size:10px;line-height:1.5;color:#425066}

@media(max-width:760px){
 .client-record-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
 .client-record-tabs a{white-space:nowrap}
 .client-tab-head{flex-direction:column}
}


/* V4.4.22 · Observación general del cliente */
.client-observation-card{
  margin-top:12px;padding:12px 14px;border:1px solid #e6eaf1;border-radius:12px;background:#fff
}
.client-observation-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.client-observation-head>div span{
  display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#8374ff;font-weight:900
}
.client-observation-head>div strong{display:block;margin-top:2px;font-size:11px;color:#26324a}
.client-observation-card p{
  margin:9px 0 0;padding:10px 11px;border-radius:9px;background:#f8f9fc;
  font-size:10px;line-height:1.55;color:#405068;white-space:normal;overflow-wrap:anywhere
}
.client-observation-card p.muted{color:#8a95a7;font-style:italic}

/* V4.4.22 · Drawer de notas: crear / lista resumida / detalle */
.client-note-view[hidden]{display:none!important}
.client-note-view-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 10px
}
.client-note-view-head>div strong{display:block;font-size:12px;color:#17233c}
.client-note-view-head>div span{display:block;margin-top:2px;font-size:9px;color:#7d899b}
.sticky-note-tools{position:sticky;top:56px;z-index:2;background:#fff;padding:9px 0;margin-top:7px}

.client-note-summary-list{display:flex;flex-direction:column;gap:8px;padding-bottom:10px}
.client-note-summary-card{
  width:100%;appearance:none;text-align:left;border:1px solid #e5e9f1;border-radius:12px;background:#fbfcfe;
  padding:11px 12px;cursor:pointer;color:inherit;transition:.14s ease
}
.client-note-summary-card:hover{border-color:#cbc7ff;background:#f8f7ff;transform:translateY(-1px)}
.client-note-summary-card.important{border-left:3px solid #e05252}
.client-note-summary-card.pinned{box-shadow:inset 0 0 0 1px #eee9ff}
.client-note-summary-card.recent-note{outline:2px solid #dcd8ff;outline-offset:1px}
.client-note-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.client-note-summary-top>div:first-child strong{display:block;font-size:10px;color:#17233c}
.client-note-summary-top>div:first-child span{display:block;margin-top:2px;font-size:8px;color:#8b96a8}
.client-note-summary-card>p{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  margin:8px 0 7px;font-size:10px;line-height:1.45;color:#435169;white-space:normal;overflow-wrap:anywhere
}
.client-note-summary-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f5;padding-top:7px
}
.client-note-summary-foot span{font-size:8px;color:#8792a4}
.client-note-summary-foot span:last-child{color:#5d55ee;font-weight:800}

.client-note-detail-stage{padding:2px 0 18px}
.client-note-detail-card{
  border:1px solid #e4e8f0;border-radius:14px;background:#fff;padding:15px;box-shadow:0 8px 28px rgba(20,31,55,.06)
}
.client-note-detail-card.important{border-top:3px solid #df5757}
.client-note-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #edf0f5}
.client-note-detail-head>div:first-child strong{display:block;font-size:12px;color:#17233c}
.client-note-detail-head>div:first-child span{display:block;margin-top:3px;font-size:9px;color:#8792a4}
.client-note-detail-body{
  padding:15px 2px;font-size:12px;line-height:1.7;color:#334158;white-space:normal;overflow-wrap:anywhere
}
.client-note-detail-meta{
  padding:10px 11px;border-radius:10px;background:#f7f8fb;color:#68758a;font-size:9px
}
.client-note-detail-meta strong{display:block;color:#39465c;font-size:9px}
.client-note-detail-meta span{display:block;margin-top:3px}
.client-note-detail-meta small{display:block;margin-top:3px;color:#8b96a8}

@media(max-width:580px){
 .client-note-view-head{align-items:flex-start;flex-direction:column}
 .sticky-note-tools{top:52px}
}


/* V4.4.23 · Albaranes */
.finance-stat-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-stat-grid article.amber{border-color:#f1dda3;background:#fffaf0}
.finance-tabs a span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#f1efff;color:#5a52e5;font-size:8px}
.finance-convert-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:0 0 12px;border:1px solid #dcd8ff;background:#f8f7ff;border-radius:12px}
.finance-convert-banner strong{display:block;font-size:11px}.finance-convert-banner span{display:block;margin-top:3px;font-size:9px;color:#6e7890}
.finance-number-note{padding:9px 11px;border-radius:9px;background:#f7f8fb;color:#737f91;font-size:9px}
.delivery-note-explainer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:12px 0;border:1px solid #e6eaf1;background:#fbfcfe;border-radius:10px}
.delivery-note-explainer strong{font-size:10px}.delivery-note-explainer span{font-size:9px;color:#6f7c90}
.row-muted{opacity:.55}
.inline-payment form select{min-width:112px}

/* Cierre de cita: albarán/cobro */
.completion-economy{margin-top:10px;padding:12px;border:1px solid #e3e7ef;border-radius:12px;background:#fbfcfe}
.completion-economy-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.completion-economy-head strong{display:block;font-size:11px;color:#17233c}.completion-economy-head span:not(.chip){display:block;margin-top:2px;font-size:9px;color:#7d899c}
.completion-economy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.completion-economy-grid label{margin:0}
.completion-economy-note{margin-top:9px;padding:8px 9px;border-radius:8px;background:#fff8e8;color:#78643c;font-size:8.5px;line-height:1.45}

@media(max-width:950px){
 .finance-stat-grid-four{grid-template-columns:1fr 1fr}
 .completion-economy-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .finance-stat-grid-four{grid-template-columns:1fr}
 .completion-economy-grid{grid-template-columns:1fr}
 .delivery-note-explainer,.finance-convert-banner{align-items:flex-start;flex-direction:column}
}

/* V4.4.24 · Facturación profesional */
.billing-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fbfbff,#f5f3ff)}
.billing-settings-hero h2{margin:4px 0 5px}.billing-logo-row{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:12px;border:1px solid #e5e9f1;border-radius:12px;background:#fbfcfe}.billing-logo-row img{width:130px;height:72px;object-fit:contain;background:#fff;border:1px solid #e7eaf0;border-radius:10px;padding:7px}.billing-logo-row label{flex:1}.billing-safety-note{margin:14px 0;padding:11px 12px;border-radius:10px;background:#fff8e8;color:#756038;font-size:9px;line-height:1.5}
.client-billing-preferences{padding:10px 11px;border:1px solid #e4e7ef;border-radius:10px;background:#fafbfe}.client-billing-preferences>strong{display:block;margin-bottom:7px;font-size:10px}.client-billing-preferences label{display:block;margin:5px 0;font-size:9px}.client-fiscal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border:1px solid #e4e7ef;border-radius:10px;background:#fff}.client-fiscal-grid .span2{grid-column:1/-1}
.invoice-issued-page{min-height:100vh;background:#f1f3f7;display:grid;place-items:center;padding:25px;font-family:Arial,sans-serif;color:#17233c}.invoice-issued-card{width:min(720px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 20px 65px rgba(20,29,50,.12);text-align:center}.issued-check{width:54px;height:54px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:#e8f8ee;color:#15924a;font-size:25px;font-weight:900}.invoice-issued-card h1{font-size:28px;margin:5px 0}.invoice-issued-card>p{color:#748096}.invoice-issued-status{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.invoice-issued-status div{padding:11px;border:1px solid #e6e9ef;border-radius:11px;background:#fafbfe}.invoice-issued-status span{display:block;font-size:8px;text-transform:uppercase;color:#8792a4;font-weight:900}.invoice-issued-status strong{display:block;margin-top:5px;font-size:10px}.invoice-issued-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.invoice-issued-actions form{margin:0}.issued-email-ok{padding:8px 10px;border-radius:9px;background:#eaf8ef;color:#247345;font-size:9px;font-weight:800}
@media(max-width:700px){.billing-settings-hero,.billing-logo-row{align-items:flex-start;flex-direction:column}.client-fiscal-grid,.invoice-issued-status{grid-template-columns:1fr}.billing-logo-row img{width:110px}}

/* V4.4.25 · Numeración y entrega de documentos por cliente */
.client-number-cell{display:inline-block;white-space:nowrap;font-size:9px;letter-spacing:.03em;color:#5a53e8;background:#f1efff;border:1px solid #e0dcff;padding:5px 7px;border-radius:8px}
.client-name-dblopen{cursor:pointer;border-radius:9px;padding:3px 4px;margin:-3px -4px;transition:.12s ease}.client-name-dblopen:hover{background:#f7f6ff}
.client-code-strong{color:#5850e8;letter-spacing:.03em}
.client-document-preferences{margin-top:12px;padding:13px 14px;border:1px solid #e4e8ef;border-radius:12px;background:#fff}
.client-document-pref-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.client-document-pref-head>div>strong{display:block;margin-top:3px;font-size:11px;color:#26324a}.client-document-pref-head>div>small{display:block;margin-top:3px;font-size:8.5px;color:#7f8a9d}
.client-document-pref-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:stretch}
.document-pref-switch{display:flex;gap:9px;align-items:flex-start;margin:0;padding:10px;border:1px solid #e8ebf1;border-radius:10px;background:#fafbfe;cursor:pointer}
.document-pref-switch input{width:auto;margin-top:2px}.document-pref-switch span strong{display:block;font-size:9.5px;color:#2e3a50}.document-pref-switch span small{display:block;margin-top:3px;font-size:8px;line-height:1.35;color:#7d899b}
.client-document-pref-form>.btn{align-self:center}.clients-table th:first-child,.clients-table td:first-child{width:92px}
@media(max-width:1050px){.client-document-pref-form{grid-template-columns:1fr 1fr}.client-document-pref-form>.btn{justify-self:start}}
@media(max-width:650px){.client-document-pref-form{grid-template-columns:1fr}}

/* V4.4.26 · campos obligatorios en cita */
.required-mark{color:#c82f3f;font-size:10px;margin-left:2px}


/* V4.4.27 · Motor VERI*FACTU (entorno de pruebas) */
.verifactu-settings{border-color:#d9d6ff}.vf-status-grid,.vf-kpis,.vf-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.vf-status-grid article,.vf-kpis article,.vf-record-grid article{padding:11px 12px;border:1px solid #e3e7ef;border-radius:11px;background:#fbfcfe}.vf-status-grid span,.vf-kpis span,.vf-record-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#8792a4;font-weight:900}.vf-status-grid strong,.vf-kpis strong,.vf-record-grid strong{display:block;margin-top:5px;font-size:12px}.vf-certificate-box{margin-top:12px;padding:12px;border:1px solid #e4e7ef;border-radius:12px;background:#fbfcfe}.vf-certificate-box>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.vf-certificate-box>div:first-child strong{font-size:10px}.vf-certificate-box>div:first-child span{font-size:9px;color:#738096}.vf-production-lock{margin:12px 0;padding:11px 12px;border-radius:10px;background:#fff4e8;color:#735934}.vf-production-lock strong{display:block;font-size:10px}.vf-production-lock span{display:block;margin-top:3px;font-size:9px;line-height:1.5}.vf-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0}.vf-control-head h3{margin:4px 0 3px}.vf-table code{font-size:8px;white-space:nowrap}.vf-record-page{max-width:1180px;margin:0 auto;padding:25px}.vf-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.vf-record-top h1{margin:4px 0}.vf-chain-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.vf-chain-nav>div{padding:11px;border:1px solid #e5e9f0;border-radius:10px;background:#fbfcfe}.vf-chain-nav span{display:block;font-size:8px;text-transform:uppercase;color:#8994a5;font-weight:900}.vf-chain-nav strong,.vf-chain-nav a{display:block;margin:5px 0;font-size:10px}.vf-chain-nav code{font-size:8px;overflow-wrap:anywhere}.vf-xml{padding:12px;border-radius:10px;background:#0f1728;color:#dbe5f4;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;font-size:8.5px;line-height:1.5;max-height:520px}.finance-tabs a:last-child{border-color:#ddd9ff}.finance-tabs a:last-child.active{background:#eeecff;color:#5148ea}@media(max-width:800px){.vf-status-grid,.vf-kpis,.vf-record-grid,.vf-chain-nav{grid-template-columns:1fr}.vf-control-head{flex-direction:column}}

/* V4.4.27 · estado VERI*FACTU en emisión */
.invoice-issued-status.with-vf{grid-template-columns:repeat(4,1fr)}.invoice-issued-status small{display:block;margin-top:4px;font-size:7.5px;color:#8a6370;line-height:1.35}.issued-vf-link{display:inline-block;margin-top:5px;font-size:8px;font-weight:800;color:#5b55f5;text-decoration:none}@media(max-width:800px){.invoice-issued-status.with-vf{grid-template-columns:1fr 1fr}}@media(max-width:520px){.invoice-issued-status.with-vf{grid-template-columns:1fr}}


/* V4.4.28 · Responsabilidades SaaS / tenant en VERI*FACTU */
.vf-responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.vf-responsibility-grid article{padding:12px 13px;border:1px solid #e3e7ef;border-radius:12px;background:#fbfcfe}
.vf-responsibility-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#7d899b;font-weight:900}
.vf-responsibility-grid strong{display:block;margin-top:5px;font-size:11px;color:#17233c}
.vf-responsibility-grid small{display:block;margin-top:3px;font-size:8px;color:#8792a4}
.vf-party-card{margin-top:12px;padding:13px;border:1px solid #e3e7ef;border-radius:13px;background:#fff}
.vf-party-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.vf-party-head h3{margin:3px 0 0;font-size:14px}
.vf-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vf-readonly-grid>div{padding:9px 10px;border:1px solid #edf0f5;border-radius:9px;background:#fafbfe}
.vf-readonly-grid span{display:block;font-size:7.5px;text-transform:uppercase;color:#8994a6;font-weight:900}
.vf-readonly-grid strong{display:block;margin-top:4px;font-size:9.5px;color:#2a354a}
.vf-tenant-confirm{display:flex!important;align-items:flex-start;gap:9px;margin-top:12px!important;padding:12px;border:1px solid #dcd8ff;border-radius:11px;background:#f9f8ff}
.vf-tenant-confirm input{width:auto!important;margin-top:2px}
.vf-tenant-confirm span{display:block}
.vf-tenant-confirm strong{display:block;font-size:10px}
.vf-tenant-confirm small{display:block;margin-top:4px;font-size:8.5px;line-height:1.45;color:#6f7b91}
.admin-sif-card{border-color:#dcd8ff;background:linear-gradient(135deg,#fff,#f8f7ff)}
@media(max-width:760px){.vf-responsibility-grid,.vf-readonly-grid{grid-template-columns:1fr}}

/* V4.4.29 · Pulido de Configuración y VERI*FACTU */
.vf-setup-overview{margin:12px 0;padding:14px;border:1px solid #dcd9ff;border-radius:14px;background:linear-gradient(135deg,#fbfaff,#fff)}
.vf-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.vf-setup-head h3{margin:3px 0 3px;font-size:15px}.vf-setup-head p{margin:0;font-size:9px;line-height:1.45}
.vf-progress{height:7px;margin:12px 0;border-radius:999px;background:#eceef4;overflow:hidden}.vf-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6c63ff,#4f46e5);transition:width .2s ease}
.vf-check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.vf-check-grid article{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #e6e9f0;border-radius:10px;background:#fff;min-width:0}.vf-check-grid article i{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#eef1f6;color:#7a8597;font-style:normal;font-size:9px;font-weight:900}.vf-check-grid article.done{border-color:#cfe9d8;background:#fbfffc}.vf-check-grid article.done i{background:#dcfce7;color:#166534}.vf-check-grid article strong{display:block;font-size:9.5px;color:#273247}.vf-check-grid article small{display:block;margin-top:2px;font-size:7.8px;line-height:1.35;color:#7b8799}
.vf-certificate-box>div:first-child{align-items:flex-start}.vf-certificate-box>div:first-child>div{min-width:0}.vf-certificate-box>div:first-child>div strong{display:block;font-size:10px}.vf-certificate-box>div:first-child>div small{display:block;margin-top:3px;font-size:8px;color:#7d899c;font-weight:500}.vf-certificate-box>div:first-child>.badge{font-size:9px;color:#4f46e5}.vf-certificate-box>div:first-child>.badge.green{color:#166534}.vf-current-cert{display:flex;align-items:center;gap:8px;margin-top:9px;padding:8px 9px;border-radius:9px;background:#f7f8fb;border:1px solid #e8ebf1}.vf-current-cert span{font-size:8px!important;text-transform:uppercase;letter-spacing:.04em;color:#8994a6!important;font-weight:900}.vf-current-cert strong{font-size:9px!important;overflow-wrap:anywhere}
.vf-missing-box{margin:12px 0;border:1px solid #eadfbd;border-radius:11px;background:#fffaf0;overflow:hidden}.vf-missing-box summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#745b26}.vf-missing-box summary::-webkit-details-marker{display:none}.vf-missing-box summary strong{font-size:10px}.vf-missing-box summary span{font-size:8.5px;font-weight:800}.vf-missing-box ul{margin:0;padding:0 28px 12px 30px;color:#78653a;font-size:8.7px;line-height:1.55}.vf-ready-note{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:11px 12px;border:1px solid #cce8d5;border-radius:10px;background:#f1fbf4;color:#245f39}.vf-ready-note strong{font-size:10px}.vf-ready-note span{font-size:8.5px;line-height:1.45}
@media(max-width:1200px){.vf-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.vf-check-grid{grid-template-columns:1fr}.vf-setup-head{flex-direction:column}.settings-save-actions .save-state{display:none}}



/* V4.4.30 · Configuración: una sola barra sticky, opaca y compacta */
@media(max-width:1120px) and (min-width:901px){.settings-toolbar{grid-template-columns:minmax(150px,.7fr) auto auto}.settings-save-copy [data-settings-save-subtitle]{display:none}.settings-save-actions .save-state{display:none}.settings-tab{padding-left:9px;padding-right:9px}}
@media(max-width:560px){.settings-toolbar{border-radius:10px}.settings-tabs{background:#f2f4f8}.settings-tab{padding:7px 9px}.settings-group{scroll-margin-top:82px}}

/* V4.4.31 · Administración de empresa, usuarios, roles y permisos */
.side-bottom{display:flex;flex-direction:column;gap:2px}.side-bottom strong{color:#e5e7eb;font-size:12px}.side-bottom .side-role{color:#8fa0bb;font-size:10px;margin-bottom:3px}.side-bottom a{display:inline-block;margin-top:2px}
.access-settings{padding-bottom:76px}.access-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.access-summary-grid article{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.access-summary-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7c8798;font-weight:900}.access-summary-grid strong{display:block;margin-top:5px;font-size:17px;color:#1f2937}.access-summary-grid small{display:block;margin-top:3px;color:#7b8798;font-size:10px;overflow-wrap:anywhere}.access-account-card{border-color:#dedcff}.access-password-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.access-password-form .btn{min-height:38px}.access-main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:14px;align-items:start}.access-users-panel,.access-create-panel{min-width:0}.access-users-table td:first-child strong{display:block}.access-users-table td:first-child{min-width:210px}.access-users-table td:last-child{text-align:right}.access-role-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:850}.access-role-badge.owner{background:#f3e8ff;color:#7e22ce}.access-create-panel>div:first-child{margin-bottom:12px}.access-create-form{display:grid;gap:10px}.access-create-form small,.access-user-grid small{display:block;margin-top:4px;font-size:9px;line-height:1.4;color:#7d899b;font-weight:500}.access-role-guide{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5}.access-role-guide>strong{display:block;margin-bottom:8px;font-size:11px}.access-role-guide>div{padding:8px 0;border-bottom:1px solid #f0f2f6}.access-role-guide>div:last-child{border-bottom:0}.access-role-guide span{display:block;font-size:10px;font-weight:800;color:#334155}.access-role-guide small{display:block;margin-top:2px;font-size:8.5px;line-height:1.4;color:#8390a2}.access-editor{border-color:#cac7ff;box-shadow:0 10px 30px rgba(79,70,229,.08)}.access-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-active-toggle{align-self:end;min-height:42px;padding:10px 12px;border:1px solid #e2e7ef;border-radius:9px;background:#fafbfe}.access-active-toggle input{width:auto;margin:0}.access-permissions-block{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5}.access-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.access-permission-option{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #e1e6ef;border-radius:10px;background:#fbfcff;cursor:pointer}.access-permission-option:hover{border-color:#cbc8ff;background:#faf9ff}.access-permission-option input{width:auto;margin:2px 0 0}.access-permission-option span{min-width:0}.access-permission-option strong{display:block;font-size:10px;color:#2d374b}.access-permission-option small{display:block;margin-top:3px;font-size:8.5px;line-height:1.4;color:#7d899b;font-weight:500}.access-permission-option.locked{opacity:.72;cursor:default;background:#f8fafc}.access-reset-form{margin-top:-36px;width:max-content}.access-reset-form .btn{position:relative;z-index:2}.access-editor .editor-actions{margin-top:14px;padding-top:12px;border-top:1px solid #edf0f5}.access-users-panel .table-wrap{margin-top:10px}
@media(max-width:1180px){.access-main-grid{grid-template-columns:1fr}.access-create-panel{order:-1}.access-password-form{grid-template-columns:repeat(2,minmax(0,1fr))}.access-password-form .btn{justify-self:start}.settings-tabs{overflow-x:auto;max-width:100%}}
@media(max-width:760px){.access-summary-grid,.access-user-grid,.access-permission-grid{grid-template-columns:1fr}.access-password-form{grid-template-columns:1fr}.access-main-grid{display:block}.access-create-panel,.access-users-panel{margin-top:12px}.access-reset-form{margin:8px 0 0}.settings-tabs{justify-content:flex-start}.settings-tab{flex:0 0 auto}}


/* V4.4.32 · Focus de edición de usuarios y pie del sidebar sin solapes */
.sidebar{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}
.sidebar .nav{flex:0 0 auto}
.side-bottom{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:auto;padding:16px 10px 2px;border-top:1px solid rgba(148,163,184,.15);flex:0 0 auto}
.access-settings.access-editing{padding-bottom:24px}
.access-settings.access-editing .access-editor{margin-top:10px}
.access-editor .editor-head{align-items:center}
@media(max-width:900px){.side-bottom{display:none!important}}

.access-editor .editor-actions-spacer{flex:1}
@media(max-width:650px){.access-editor .editor-actions{flex-wrap:wrap}.access-editor .editor-actions-spacer{display:none}.access-editor .editor-actions .btn{flex:1 1 150px}}


/* V4.4.34 · CRM de Leads */
.lead-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:18px 20px;border:1px solid #dddafe;border-radius:16px;background:linear-gradient(135deg,#fbfaff,#fff);box-shadow:var(--shadow)}
.lead-hero h2{margin:4px 0 4px;font-size:21px}.lead-hero p{margin:0;max-width:760px;color:#6f7b90;font-size:10px;line-height:1.5}.lead-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:12px}.lead-kpi{display:block;padding:13px 14px;border:1px solid #e2e6ee;border-radius:13px;background:#fff;text-decoration:none;color:#26324a;box-shadow:var(--shadow);transition:.15s}.lead-kpi:hover,.lead-kpi.active{border-color:#c9c4ff;background:#faf9ff;transform:translateY(-1px)}.lead-kpi span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:#7d899b;font-weight:900}.lead-kpi strong{display:block;margin:4px 0;font-size:20px}.lead-kpi small{display:block;font-size:8px;color:#8792a4;line-height:1.35}.lead-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.45fr) auto auto;gap:8px;align-items:end;margin-bottom:12px}.lead-filter-bar label{margin:0}.leads-table td:first-child{min-width:190px}.leads-table td:last-child{text-align:right}.lead-row-overdue{background:#fffafa}.lead-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.lead-status.blue{background:#eaf1ff;color:#3159a7}.lead-status.amber{background:#fff3d8;color:#8b5a00}.lead-status.violet{background:#f0e9ff;color:#6d28d9}.lead-status.green{background:#e1f8e9;color:#18783d}.lead-status.red{background:#ffe8e8;color:#b32a36}.lead-detail-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:12px;align-items:start}.lead-detail-main{border-color:#d8d5ff}.lead-detail-head{align-items:flex-start}.lead-head-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}.lead-head-meta>span:not(.lead-status){font-size:9px;color:#7b8799}.lead-contact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.lead-contact-strip>div{padding:11px;border:1px solid #e6e9f0;border-radius:10px;background:#fafbfe;min-width:0}.lead-contact-strip span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#8792a4;font-weight:900}.lead-contact-strip strong{display:block;margin-top:4px;font-size:10px;overflow-wrap:anywhere}.lead-contact-strip small{display:block;margin-top:3px;font-size:8px;color:#7f8b9e}.lead-contact-strip a{display:inline-block;margin-top:5px;font-size:8px;font-weight:850;color:#5b55f5;text-decoration:none}.lead-form{margin-top:12px}.lead-edit-form{padding-top:12px;border-top:1px solid #edf0f5}.lead-detail-side{display:grid;gap:12px}.lead-action-card h3{margin:4px 0 12px}.lead-stack-form{display:grid;gap:9px}.lead-stack-form label{margin:0}.lead-action-buttons{display:grid;gap:8px;margin-bottom:12px}.lead-lost-form{padding-top:12px;border-top:1px solid #edf0f5}.lead-converted-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px 13px;border:1px solid #cde7d5;border-radius:11px;background:#f5fcf7}.lead-converted-banner span{display:block;font-size:7.5px;letter-spacing:.05em;color:#59906c;font-weight:900}.lead-converted-banner strong{display:block;margin-top:3px;font-size:11px}.lead-converted-banner form{margin:0}.lead-history{margin-top:12px}.lead-timeline{position:relative;margin-top:12px}.lead-timeline article{display:grid;grid-template-columns:18px 1fr;gap:8px;position:relative;padding:0 0 15px}.lead-timeline article:not(:last-child):before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:1px;background:#e1e5ed}.lead-timeline article>i{position:relative;z-index:1;width:13px;height:13px;margin-top:2px;border-radius:50%;background:#6a61f8;border:3px solid #eeecff;box-sizing:border-box}.lead-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.lead-event-head strong{font-size:10px}.lead-event-head span{font-size:8px;color:#8590a2}.lead-timeline small{display:block;margin-top:2px;font-size:8px;color:#8792a4}.lead-timeline p{margin:5px 0 0;padding:8px 9px;border-radius:8px;background:#fafbfe;color:#566177;font-size:9px;line-height:1.45}.lead-create-panel{border-color:#d8d5ff}.lead-create-panel .lead-form{margin-top:14px}
@media(max-width:1250px){.lead-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-detail-shell{grid-template-columns:1fr}.lead-detail-side{grid-template-columns:1fr 1fr}.lead-contact-strip{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.lead-filter-bar{grid-template-columns:1fr 1fr}.lead-detail-side{grid-template-columns:1fr}.lead-hero{align-items:flex-start;flex-direction:column}.lead-contact-strip{grid-template-columns:1fr 1fr}.leads-table{min-width:900px}}
@media(max-width:560px){.lead-kpi-grid,.lead-filter-bar,.lead-contact-strip{grid-template-columns:1fr}.lead-kpi-grid{gap:7px}.lead-kpi{padding:11px 12px}.lead-hero{padding:14px}.lead-event-head{flex-direction:column;gap:2px}}

/* V4.4.35 · Captación automática de Leads */
.lead-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lead-capture-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px;padding:20px;border:1px solid #dddafe;border-radius:16px;background:linear-gradient(135deg,#fbfaff,#fff);box-shadow:var(--shadow)}.lead-capture-hero h2{margin:4px 0 6px;font-size:22px}.lead-capture-hero p{margin:0;max-width:880px;color:#6d7890;font-size:10px;line-height:1.55}.lead-capture-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin-bottom:12px}.lead-capture-flow article{min-height:104px;padding:13px;border:1px solid #e2e5ee;border-radius:13px;background:#fff;box-shadow:var(--shadow)}.lead-capture-flow article i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#efedff;color:#5f56ef;font-style:normal;font-size:10px;font-weight:900}.lead-capture-flow article strong{display:block;margin-top:8px;font-size:10px}.lead-capture-flow article span{display:block;margin-top:4px;font-size:8px;color:#7b8799;line-height:1.4}.lead-capture-flow>b{color:#9aa4b7}.lead-capture-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.lead-capture-stats article{padding:13px 14px;border:1px solid #e1e5ed;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.lead-capture-stats span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#8590a3;font-weight:900}.lead-capture-stats strong{display:block;margin-top:5px;font-size:21px}.lead-capture-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;margin-bottom:12px}.capture-channel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.capture-channel-head h2{margin:4px 0 0}.capture-channel-card>p{margin:9px 0 15px}.capture-connect-form{margin-top:8px}.capture-webhook-box{grid-column:1/-1;padding:11px 12px;border:1px solid #dce1eb;border-radius:10px;background:#f8f9fd;min-width:0}.capture-webhook-box span,.capture-webhook-box small{display:block}.capture-webhook-box span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#7c879b;font-weight:900}.capture-webhook-box code{display:block;margin:5px 0;padding:8px;border-radius:8px;background:#fff;border:1px solid #e3e7ef;font-size:9px;white-space:normal;overflow-wrap:anywhere}.capture-webhook-box small{font-size:8px;color:#8490a3;line-height:1.4}.capture-tiktok{background:linear-gradient(150deg,#fff,#fbfbfd)}.capture-checklist{display:grid;gap:9px;margin-top:12px}.capture-checklist>div{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;padding:9px 10px;border-radius:9px;background:#f8f9fc}.capture-checklist i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ebe9ff;color:#5c52ef;font-style:normal;font-size:9px;font-weight:900}.capture-checklist span{font-size:9px;color:#5f6b80;line-height:1.4}.capture-list{display:grid;gap:8px;margin-top:12px}.capture-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #e5e8ef;border-radius:11px;background:#fcfcfe}.capture-list-row>div:first-child{min-width:0}.capture-list-row strong{display:block;font-size:10px}.capture-list-row span{font-size:8px;color:#7e899a}.capture-list-row code{display:block;margin-top:5px;max-width:640px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5e68a1}.capture-row-stats{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.capture-create{margin-top:12px;border-top:1px solid #edf0f5;padding-top:12px}.capture-create>summary{cursor:pointer;font-size:10px;font-weight:850;color:#5d55ee;list-style:none}.capture-create>summary::-webkit-details-marker{display:none}.capture-create form{margin-top:12px}.capture-checks{display:grid;gap:7px;align-content:end}.capture-checks label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700}.capture-checks input{width:auto}.capture-rules-table{margin-top:12px}.capture-rules-table table{min-width:1050px}.capture-rules-table code{font-size:9px;font-weight:900;color:#5d55ef}.lead-head-meta span{max-width:100%}
@media(max-width:1250px){.lead-capture-flow{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.lead-capture-flow>b{display:none}.lead-capture-grid{grid-template-columns:1fr}.lead-capture-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lead-capture-hero{flex-direction:column}.lead-capture-flow{grid-template-columns:1fr 1fr}.lead-capture-flow article:last-of-type{grid-column:1/-1}.capture-list-row{align-items:flex-start;flex-direction:column}.capture-row-stats{justify-content:flex-start}.lead-hero-actions{width:100%}.lead-hero-actions .btn{flex:1;text-align:center}}
@media(max-width:520px){.lead-capture-flow,.lead-capture-stats{grid-template-columns:1fr}.lead-capture-flow article:last-of-type{grid-column:auto}}


/* V4.4.36 · Meta OAuth simplificado */
.meta-simple-card{min-height:100%}.meta-connected-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.meta-connected-summary>div,.meta-provider-pending{border:1px solid var(--line,#dde4f1);border-radius:14px;background:#f8faff;padding:14px}.meta-connected-summary span,.meta-provider-pending span{display:block;color:#71809a;font-size:12px;margin-bottom:5px}.meta-connected-summary strong{display:block;overflow-wrap:anywhere}.meta-connect-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.meta-connect-actions form{margin:0}.meta-simple-benefits{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.meta-simple-benefits span{background:#f1efff;color:#5446d8;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:700}.meta-connect-button{display:inline-flex;margin-top:4px}.meta-provider-pending strong{display:block;margin-bottom:5px}.alert.compact{padding:10px 12px;margin:12px 0}.btn.danger{border-color:#f1caca;color:#a62b2b;background:#fff7f7}.meta-select-card{max-width:680px}.meta-page-choice{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #dce4f1;border-radius:14px;padding:14px;margin:12px 0;background:white}.meta-page-choice div{min-width:0}.meta-page-choice strong,.meta-page-choice span{display:block}.meta-page-choice span{font-size:13px;color:#71809a;margin-top:3px}.admin-meta-card{scroll-margin-top:20px}
@media(max-width:760px){.meta-connected-summary{grid-template-columns:1fr}.meta-page-choice{align-items:stretch;flex-direction:column}.meta-page-choice .btn{width:100%}}

/* V4.4.37 · Admin SaaS + rutas amigables + Leads más claros */
.login-route-note{display:block;margin-top:16px;text-align:center;color:#8792a4;font-size:11px}.login-route-note strong{color:#5b55f5}

.admin-body{background:#eef2f8}.admin-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,#0b1327,#101b34);color:#eaf0ff;display:flex;flex-direction:column}.admin-brand{padding:5px 10px 24px}.admin-brand span,.admin-brand strong,.admin-brand small{display:block}.admin-brand span{font-size:10px;letter-spacing:.14em;color:#8f9bb7;font-weight:900}.admin-brand strong{margin-top:2px;font-size:23px;letter-spacing:.02em}.admin-brand small{margin-top:5px;color:#98a6c2}.admin-nav{display:grid;gap:4px}.admin-nav a{padding:11px 12px;border-radius:10px;color:#c5d0e4;font-weight:700}.admin-nav a:hover{background:#1f2c49;color:white}.admin-sidebar-foot{margin-top:auto;padding:16px 10px 4px;border-top:1px solid #24304b;display:grid;gap:4px}.admin-sidebar-foot span{font-size:10px;color:#8390aa}.admin-sidebar-foot strong{font-size:11px;overflow-wrap:anywhere}.admin-sidebar-foot a{margin-top:7px;color:#b9c5db;font-size:12px}.admin-main{width:100%;max-width:1500px;padding:24px 30px 56px;margin:0 auto}.admin-topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.admin-topbar h1{font-size:30px;margin:2px 0 3px}.admin-topbar p{margin:0;color:#708099}.admin-top-actions{display:flex;gap:9px;align-items:center}.admin-route-pill{display:inline-flex;padding:8px 11px;border:1px solid #d7ddec;background:white;border-radius:10px;color:#5b55f5;font-weight:900}.admin-overview{scroll-margin-top:20px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-kpi-grid article{padding:16px 17px;border:1px solid #dfe5ef;background:white;border-radius:14px;box-shadow:var(--shadow)}.admin-kpi-grid article span{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#7b879a;font-weight:900}.admin-kpi-grid article strong{display:block;font-size:25px;margin:4px 0}.admin-kpi-grid article small{color:#8792a4}.admin-kpi-grid article.ok{border-color:#cbe9d5;background:#f7fcf8}.admin-kpi-grid article.pending{border-color:#f0dfb8;background:#fffaf0}.admin-route-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:18px;margin-top:12px;padding:18px 20px;border:1px solid #dcd9ff;border-radius:15px;background:linear-gradient(135deg,#fbfaff,#fff);box-shadow:var(--shadow)}.admin-route-card h2{margin:3px 0 5px}.admin-route-card p{margin:0;color:#6d7890;line-height:1.5}.admin-route-card code{color:#534bd8}.admin-route-list{display:grid;gap:7px}.admin-route-list div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border:1px solid #e3e7ef;border-radius:10px;background:#fff}.admin-route-list span{font-size:11px;color:#69768d;font-weight:800}.admin-route-list code{font-size:11px;white-space:nowrap}.admin-section{scroll-margin-top:18px;margin-top:18px}.admin-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 2px 8px}.admin-section-title h2{margin:2px 0 3px;font-size:22px}.admin-section-title p{margin:0;color:#718098}.admin-integration-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.7fr);gap:12px}.admin-meta-form,.admin-tech-card{margin-top:0}.admin-form-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf0f5}.admin-form-head strong{font-size:15px}.admin-form-head span{color:#7d899c;font-size:11px}.admin-save-button{width:100%;margin-top:14px}.admin-tech-card h3{margin:4px 0}.admin-tech-card>p{margin:0 0 14px;color:#718098}.admin-code-field{margin-top:9px;padding:10px 11px;border:1px solid #e0e5ee;border-radius:10px;background:#f8faff}.admin-code-field span{display:block;font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:#7a879a;font-weight:900}.admin-code-field code{display:block;margin-top:5px;overflow-wrap:anywhere;font-size:10px;color:#4e57a6}.admin-integration-status{display:flex;justify-content:space-between;gap:12px;margin-top:13px;padding:12px;border-radius:10px;background:#f1f8f3}.admin-integration-status span{color:#6e7b8f;font-size:11px}.admin-integration-status strong{font-size:11px;text-align:right}.admin-company-panel{margin-top:0;padding:0;overflow:hidden}.admin-company-table th,.admin-company-table td{padding:12px 14px}.admin-company-table td code{font-size:10px;color:#5f67a4}.admin-create-company{margin-top:0}.admin-advanced{margin-top:0;padding:0;overflow:hidden}.admin-advanced summary{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 19px;cursor:pointer}.admin-advanced summary::-webkit-details-marker{display:none}.admin-advanced summary>div{display:grid;gap:2px}.admin-advanced summary strong{font-size:16px}.admin-advanced summary small{color:#7a8799}.admin-advanced-body{border-top:1px solid #edf0f5;padding:18px}.admin-advanced .week-title{margin-bottom:12px}.admin-advanced .week-title p{margin:0}.admin-advanced .form-grid{margin-top:4px}

.capture-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.capture-entry-card{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:17px 18px;border:1px solid #e1e5ee;border-radius:15px;background:#fff;box-shadow:var(--shadow)}.capture-entry-card.direct{border-color:#d9e5ff;background:linear-gradient(135deg,#f9fbff,#fff)}.capture-entry-card.social{border-color:#ddd8ff;background:linear-gradient(135deg,#fbf9ff,#fff)}.capture-entry-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef2ff;color:#4f46e5;font-weight:900;font-size:11px}.capture-entry-card.social .capture-entry-number{background:#f0e9ff;color:#6d28d9}.capture-entry-card h3{margin:4px 0 5px;font-size:17px}.capture-entry-card p{margin:0;color:#718098;font-size:11px;line-height:1.5}.capture-entry-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #edf0f5}.capture-entry-footer strong{font-size:11px;color:#4e5a70}.lead-entry-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#4f5c73;font-size:9px;font-weight:900}.lead-entry-badge.form{background:#e6f6ec;color:#167443}.lead-entry-badge.keyword_comment{background:#efe8ff;color:#6b2bd0}.lead-empty-actions .actions{margin-top:12px;justify-content:center}.capture-create[open]{padding:14px;border:1px solid #ddd9ff;border-radius:12px;background:#fbfaff}.capture-create[open]>summary{color:#3129b8}.capture-create form{padding-top:3px}.capture-create>summary{display:flex;align-items:center;justify-content:space-between}.capture-create>summary:after{content:"Abrir";font-size:9px;color:#8a94a6}.capture-create[open]>summary:after{content:"Cerrar"}

@media(max-width:1100px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-route-card,.admin-integration-layout{grid-template-columns:1fr}.admin-shell{grid-template-columns:205px minmax(0,1fr)}}
@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:relative;height:auto;padding:14px}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar-foot{margin-top:12px}.admin-main{padding:18px 14px 40px}.admin-topbar{flex-direction:column}.admin-kpi-grid,.capture-entry-grid{grid-template-columns:1fr}.admin-route-list div{align-items:flex-start;flex-direction:column}.admin-route-list code{white-space:normal;overflow-wrap:anywhere}.admin-section-title{align-items:flex-start;flex-direction:column}.admin-form-head{align-items:flex-start;flex-direction:column}.admin-advanced summary{align-items:flex-start}.admin-route-pill{display:none}}

/* V4.4.38 · Admin por secciones + contexto proveedor/empresa */
.admin-nav a.active{background:#263654;color:#fff;box-shadow:inset 3px 0 0 #6d63ff}
.admin-section-page{min-height:calc(100vh - 150px)}
.admin-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.admin-home-card{display:block;padding:18px;border:1px solid #e0e5ef;border-radius:15px;background:#fff;color:#17233c;box-shadow:var(--shadow);transition:.14s ease}
.admin-home-card:hover{transform:translateY(-1px);border-color:#cbc6ff;background:#fbfaff}
.admin-home-card>span{display:block;font-size:9px;letter-spacing:.07em;color:#6a5cf2;font-weight:900}
.admin-home-card>strong{display:block;margin-top:5px;font-size:16px}
.admin-home-card>small{display:block;margin-top:5px;color:#78859a;line-height:1.45}
.admin-route-card.compact{margin-top:14px}
.admin-settings-card{margin-top:0}
.admin-company-table .actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-company-table .btn.ghost{background:#fff;color:#5149d9}
.provider-view-label{display:block;font-size:8px;letter-spacing:.08em;color:#9eabd0;font-weight:900;margin-bottom:3px}
.provider-back-link{display:block;margin-bottom:8px;padding:7px 8px;border-radius:8px;background:#202e4b;color:#eef2ff!important;font-weight:800}
.provider-context-banner{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 13px;border:1px solid #d8d4ff;border-radius:11px;background:#f7f5ff;color:#5149c8;font-size:11px}
.provider-context-banner strong{color:#312a9d}.provider-context-banner span{color:#6c7190}.provider-context-banner a{margin-left:auto;font-weight:900;color:#5149d9}
@media(max-width:860px){.admin-home-grid{grid-template-columns:1fr}.provider-context-banner{align-items:flex-start;flex-direction:column}.provider-context-banner a{margin-left:0}}

/* V4.4.41 · Campos de contraseña */
.password-field{position:relative;display:block;width:100%}
.password-field>input{width:100%;padding-right:48px!important}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#67758d;cursor:pointer;padding:0;z-index:3}
.password-toggle:hover{background:#eef2ff;color:#4f46e5}
.password-toggle:focus-visible{outline:2px solid #655cf6;outline-offset:2px}
.password-toggle svg{width:20px;height:20px;display:block}
.password-toggle.is-visible{color:#4f46e5;background:#f0efff}
input.password-mismatch{border-color:#d93838!important;box-shadow:0 0 0 3px rgba(217,56,56,.09)!important}
@media(max-width:640px){.password-toggle{right:6px;width:34px;height:34px}.password-field>input{padding-right:45px!important}}
