: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:16px;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:16px;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:16px;letter-spacing:-.01em}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card strong{font-size:16px;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:12px;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:12px;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:12px;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:12px!important;letter-spacing:.08em;text-transform:uppercase;color:#6d63f6!important;font-weight:900}.settings-toolbar strong{font-size:14px}.settings-toolbar span{font-size:12px;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:12px!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:12px;color:#64748b;font-weight:500}.settings-accordion .chevron{font-size:16px;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:12px}.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:12px;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:12px}.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:12px}.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:12px;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:12px;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:12px;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:12px;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:12px;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:12px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-appt .appt-service{font-size:12px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-appt .appt-meta{font-size:12px;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:12px}.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:12px;font-weight:800;color:#64748b}.manage-stat strong{grid-row:1/span 2;grid-column:2;font-size:16px;line-height:1;color:#1e293b}.manage-stat small{font-size:12px;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:12px;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:12px}.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:12px;color:#64748b}.channel-status a{font-size:12px;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:12px;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:12px;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:12px;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:12px;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:12px;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:12px}.business-list-panel td{padding:10px 8px}.btn.small{padding:7px 10px;font-size:12px}.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:12px;font-weight:800;color:#64748b}.kpi-card strong{font-size:16px;line-height:1.1;margin-top:4px}.kpi-card small{font-size:12px;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:16px;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:12px;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:12px;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:16px!important;color:#5148e5}.date-pill span{font-size:12px!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:12px;color:#64748b}.health-list strong{font-size:16px}.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:12px;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:12px;font-weight:800;color:#64748b}.client-stat strong{grid-row:1/span 2;grid-column:2;font-size:16px;line-height:1}.client-stat small{font-size:12px;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:12px;color:#94a3b8}.contact-lines{display:flex;flex-direction:column;gap:2px}.contact-lines span{font-size:12px}.contact-lines small{font-size:12px;color:#64748b}.permission-chips{display:flex;gap:4px}.permission-chips .chip{padding:4px 7px;font-size:12px}.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:12px;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:16px}.business-list-panel .section-head-inline p{font-size:12px}.business-list-panel table{font-size:12px}.business-list-panel th{font-size:12px;padding:8px 9px}.business-list-panel td{padding:9px}.compact-actions{gap:5px;flex-wrap:nowrap}.compact-actions .btn{padding:6px 9px;font-size:12px;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:16px;margin:0 0 2px}.editor-head p{margin:0;font-size:12px}.editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 11px;align-items:end}.editor-grid label{font-size:12px;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:12px;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:12px}.staff-selector small{font-size:12px;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:12px;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:12px!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:12px;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:12px}.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:12px}.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:12px;color:#94a3b8;font-weight:500}
.inline-checkbox{display:flex!important;align-items:center;gap:6px;white-space:nowrap;font-size:12px!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:12px;color:#334155}
.schedule-row input[type=time]{margin:0;padding:7px 8px;font-size:12px;border-radius:7px}
.schedule-header{background:#f7f9fc;color:#64748b;font-size:12px;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:12px!important;color:#64748b}
.day-switch input{width:auto!important;margin:0!important}.day-switch span{white-space:nowrap}
.schedule-note{font-size:12px;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:16px}.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:12px;text-transform:uppercase;font-weight:800;color:#94a3b8}.appointment-detail-grid strong{font-size:12px}.appointment-detail-grid small{font-size:12px;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:12px}.appointment-existing-notes p{font-size:12px;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:12px;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:12px;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:12px}.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:12px;color:#5148e5}.completion-explainer span{font-size:12px;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:16px;margin:2px 0}.followup-review-main p{font-size:12px;color:#64748b;margin:0}.followup-contact{text-align:right;display:flex;flex-direction:column;gap:2px}.followup-contact span{font-size:12px}.followup-contact small{font-size:12px;color:#64748b}.followup-review-fields{display:grid;grid-template-columns:230px 1fr;gap:10px;margin-top:11px}.followup-review-fields label{font-size:12px}.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:12px;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:12px;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:12px;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:16px}
  .calendar-toolbar{margin-bottom:8px}.week-panel{padding:14px 16px}.week-panel .week-title h2{font-size:16px}.week-panel .week-title p{font-size:12px;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:12px}.day-head span{font-size:12px}.time-label{font-size:12px;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:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-state{font-size:12px;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:12px;color:#64748b}.followup-card-meta strong{color:#334155}.followup-card-next{display:block;margin-top:7px;font-size:12px;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:16px}.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:12px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:900}.followup-modal-summary strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-modal-summary small{font-size:12px;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:12px}.followup-step span{display:block;font-size:12px;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:12px;color:#64748b;margin-top:2px}.followup-note-box p{font-size:12px;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:12px;color:#9a3412}.followup-error-box span{font-size:12px;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:12px;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:16px;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:12px;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:12px;margin:0}.no-followup-box select{font-size:12px;padding:9px}.no-followup-actions{display:flex;gap:7px}.no-followup-actions .btn{font-size:12px;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:12px;line-height:1.08}.week-appt small{font-size:12px;line-height:1.08}.time-label{font-size:12px;padding:2px 5px}.day-head{padding:6px 5px}.day-head strong{font-size:12px}.day-head span{font-size:12px}
@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:16px;margin:3px 0}.followup-overview-main p{font-size:12px;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:12px;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:12px;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:12px;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:12px;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:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-kcard-person small{font-size:12px;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:12px;color:#64748b}.followup-kcard-next{display:block;margin-top:6px;font-size:12px;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:12px;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:16px;margin:3px 0}.reactivation-hero p{font-size:12px;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:12px;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:12px;font-weight:800;color:#64748b}.reactivation-kpis strong{font-size:16px;grid-row:1/3;grid-column:2}.reactivation-kpis small{font-size:12px;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:12px;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:12px;color:#475569}.reactivation-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;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:12px;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:12px}.week-appt .appt-service{font-size:12px}.week-appt .appt-meta{font-size:12px}}

/* 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:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixed-day-head span{font-size:12px;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:12px;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:12px;line-height:1.12}.agenda-card span{font-size:12px;line-height:1.12}.agenda-card small{font-size:12px;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:12px}.agenda-card{height:52px;min-height:52px;max-height:52px}.agenda-card strong{font-size:12px}.agenda-card span{font-size:12px}.agenda-card small{font-size:12px}}


/* 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:16px}.analytics-toolbar p{margin:0;font-size:12px;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:12px;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:12px;font-weight:800;color:#64748b}.analytics-kpi strong{display:block;font-size:16px;line-height:1.15;margin:5px 0 3px;color:#0f172a}.analytics-kpi small{display:block;font-size:12px;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:12px;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:12px;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:16px;margin:0}.analytics-chart-panel .muted,.analytics-list-panel .muted{font-size:12px;margin:2px 0 0}.chart-key{display:flex;gap:11px;align-items:center;font-size:12px;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:12px;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:12px;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:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row small{font-size:12px;color:#94a3b8}.rank-row b{font-size:12px;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:12px}.analytics-empty{padding:24px 10px;text-align:center;color:#94a3b8;font-size:12px;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:16px;margin:2px 0}.analytics-money-head p{font-size:12px;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:12px}.pending-column-head span{font-size:12px;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:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-item span{font-size:12px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-item small{font-size:12px;color:#94a3b8}.money-item>b{font-size:12px;color:#0f172a;white-space:nowrap}.budget-inline-status select{font-size:12px;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:16px;margin:2px 0}.analytics-modal-head p{font-size:12px;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:12px;
  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:12px;
  margin-bottom:3px
}
.chart-empty-state small{
  font-size:12px;
  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:16px;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:12px;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:12px;white-space:nowrap}
.smtp-provider-hint span{font-size:12px;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:12px;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:12px;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:12px;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:12px;color:#334155}
.smtp-advanced-note span{font-size:12px;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:12px}
.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:12px;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:16px}
.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:12px;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:12px;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:12px;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.7.21 · Historial · superficie compacta y configurable */
.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:12px;color:#718096;max-width:760px}.automation-history-link .btn{white-space:nowrap}
.page-history .history-toolbar-v4721{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;min-width:0}
.page-history .history-toolbar-v4721 .history-tabs{flex:1;min-width:0;border:0;padding:0;margin:0;display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}
.page-history .history-tabs a{text-decoration:none;color:#536077;border:1px solid #e4e8f0;background:#fff;border-radius:8px;padding:7px 9px;display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:13px;font-weight:800;line-height:1}
.page-history .history-tabs a b{min-width:20px;height:20px;border-radius:999px;background:#f1f4f8;display:grid;place-items:center;font-size:12px;line-height:1}
.page-history .history-tabs a.active{border-color:#c9c5ff;background:#f7f6ff;color:#5148e5}.page-history .history-tabs a.active b{background:#6257f6;color:#fff}
.page-history .history-b0-v4721{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}
.page-history .history-kpis-v4721{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 8px}
.page-history .history-kpis-v4721 article{background:#fff;border:1px solid #e2e6ee;border-radius:10px;padding:7px 10px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 8px;box-shadow:none;min-width:0}
.page-history .history-kpis-v4721 span{font-size:12px;font-weight:850;color:#64748b}.page-history .history-kpis-v4721 strong{font-size:16px;grid-row:1/3;grid-column:2;align-self:center}.page-history .history-kpis-v4721 small{font-size:12px;color:#8793a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-history .history-kpis-v4721 .green strong{color:#15945b}.page-history .history-kpis-v4721 .violet strong{color:#6257f6}.page-history .history-kpis-v4721 .red strong{color:#dc4b4b}
.page-history .history-control-v4721{display:flex;align-items:flex-end;gap:10px;padding:8px 10px;margin-bottom:8px;min-width:0}
.page-history .history-period-tabs{display:flex;gap:4px;flex:0 0 auto;margin:0;padding:0}.page-history .history-period-tabs a{text-decoration:none;color:#536077;font-size:13px;font-weight:800;padding:8px 9px;border-radius:7px;background:#f5f7fb;line-height:1}.page-history .history-period-tabs a.active{background:#6257f6;color:#fff}
.page-history .history-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(125px,.65fr) minmax(135px,.7fr) auto auto;gap:7px;align-items:end;margin:0;flex:1;min-width:0}
.page-history .history-filters label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}.page-history .history-filters label>span{font-size:12px;font-weight:800;color:#768398}.page-history .history-filters input,.page-history .history-filters select{height:36px;min-height:36px;padding:6px 9px;font-size:15px}.page-history .history-filters .btn{height:36px;min-height:36px;padding:6px 11px;font-size:15px;white-space:nowrap}
.page-history .history-table-panel-v4721{padding:8px 10px 10px;margin:0}.page-history .history-table-meta-v4721{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 1px 7px;border-bottom:1px solid #edf0f5}.page-history .history-table-meta-v4721 strong{font-size:15px}.page-history .history-table-meta-v4721 span{font-size:12px;color:#748197}
.page-history .history-table-wrap{max-height:calc(100vh - 310px);min-height:260px;overflow:auto}.page-history .history-table{width:100%;min-width:880px;border-collapse:separate;border-spacing:0}.page-history .history-table th{position:sticky;top:0;z-index:2;background:#f8fafc;font-size:12px;font-weight:850;padding:8px 9px;color:#5c687c}.page-history .history-table td{vertical-align:middle;padding:7px 9px;font-size:15px}.page-history .history-table td>strong{display:block;font-size:15px;line-height:1.18}.page-history .history-table td>small{display:block;font-size:12px;color:#7c899d;margin-top:2px;line-height:1.15}.page-history .history-row{cursor:pointer;transition:.12s}.page-history .history-row:hover{background:#faf9ff}.page-history .history-row:focus{outline:2px solid #c9c5ff;outline-offset:-2px}
.page-history .history-channel{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f1f4f8;color:#657287;font-size:12px;font-weight:850;line-height:1}.page-history .history-channel.email{background:#edf4ff;color:#3168ba}.page-history .history-channel.whatsapp{background:#eafaf2;color:#158454}.page-history .history-channel.voice{background:#fff4e9;color:#b56921}.page-history .history-channel.system{background:#f4f1ff;color:#6553c9}.page-history .history-view-btn{appearance:none;border:1px solid #dfe3eb;background:#fff;color:#5b50ed;width:30px;height:30px;border-radius:8px;font-size:16px;line-height:1;cursor:pointer}.page-history .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:16px}.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(760px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:14px;border:1px solid #e1e5ed;box-shadow:0 26px 75px rgba(15,23,42,.28);padding:14px}.history-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:9px;border-bottom:1px solid #edf0f5}.history-modal-head h2{font-size:16px;margin:2px 0}.history-modal-head p{font-size:12px;color:#758196;margin:2px 0 0}.history-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.history-detail-grid>div{border:1px solid #e5e9f0;border-radius:8px;background:#fbfcff;padding:8px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}.history-detail-grid span,.history-detail-box>span{font-size:12px;color:#768398;font-weight:850}.history-detail-grid strong{font-size:15px;white-space:normal;overflow-wrap:anywhere}.history-detail-grid small{font-size:12px;color:#66748b}.history-detail-box{margin-top:7px;border:1px solid #e5e9f0;background:#fbfcff;border-radius:8px;padding:8px 9px}.history-detail-box strong,.history-detail-box p{display:block;margin:3px 0 0;font-size:15px;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:10px;padding-top:9px;border-top:1px solid #edf0f5}
.page-history .history-settings-v4721{padding:12px;margin:0}.page-history .history-settings-head-v4721{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e5e9f0}.page-history .history-settings-head-v4721 h2{font-size:16px;margin:2px 0}.page-history .history-settings-head-v4721 p{font-size:13px;color:#718096;margin:2px 0 0}.page-history .history-settings-actions-v4721{display:flex;gap:7px;align-items:center;flex:0 0 auto}.page-history .history-settings-grid-v4721{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin-top:10px}.page-history .history-settings-grid-v4721>section{border:1px solid #e1e6ee;border-radius:10px;padding:10px}.page-history .history-settings-grid-v4721 h3{font-size:15px;margin:0 0 8px}.page-history .history-settings-note-v4721{font-size:12px;color:#758196;margin:-4px 0 8px}.page-history .history-settings-list-v4721{display:grid;gap:6px}.page-history .history-settings-list-v4721>label,.page-history .history-setting-row-v4721{min-height:36px;border:1px solid #e6eaf1;border-radius:8px;padding:6px 8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px}.page-history .history-settings-list-v4721 label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:0}.page-history .history-setting-row-v4721>div{display:flex;gap:4px}.page-history .history-setting-row-v4721 button{width:30px;height:30px;border:1px solid #dfe4ec;border-radius:7px;background:#fff;color:#556278;font-size:15px;cursor:pointer}
@media(max-width:1180px){.page-history .history-control-v4721{align-items:stretch;flex-direction:column}.page-history .history-filters{width:100%}.page-history .history-table-wrap{max-height:calc(100vh - 360px)}}
@media(max-width:900px){.page-history .history-toolbar-v4721{align-items:stretch}.page-history .history-kpis-v4721{grid-template-columns:repeat(2,minmax(0,1fr))}.page-history .history-filters{grid-template-columns:1fr 1fr 1fr}.page-history .history-search{grid-column:1/-1}.page-history .history-settings-grid-v4721{grid-template-columns:1fr}.history-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.page-history .history-toolbar-v4721{flex-direction:column}.page-history .history-b0-v4721{margin-left:auto}.page-history .history-kpis-v4721{grid-template-columns:1fr 1fr}.page-history .history-period-tabs{overflow-x:auto;width:100%}.page-history .history-filters{grid-template-columns:1fr}.page-history .history-search{grid-column:auto}.page-history .history-table-wrap{max-height:none;min-height:0}.page-history .history-settings-head-v4721{flex-direction:column}.page-history .history-settings-actions-v4721{width:100%;justify-content:flex-end}.history-detail-grid{grid-template-columns:1fr}.history-modal{padding:7px}.history-modal-card{width:100%;max-height:calc(100vh - 14px)}.history-modal-actions{flex-direction:column}.history-modal-actions .btn{width:100%}.automation-history-link{align-items:stretch;flex-direction:column}}
@media print{.page-history .history-toolbar-v4721 .history-b0-v4721,.page-history .history-control-v4721,.page-history .history-settings-v4721{display:none!important}.page-history .history-table-wrap{max-height:none!important;overflow:visible!important}.page-history .history-table{min-width:0!important}.page-history .history-table th,.page-history .history-table td{font-size:12px!important}}

/* 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:12px;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:12px;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:12px;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:12px;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:12px;color:#5d6a7f}.reminder-step-grid select,.reminder-step-grid input[type=time]{width:100%;max-width:none;padding:8px 9px;font-size:12px}.reminder-step-grid .inline-checks label{padding:7px 8px;font-size:12px}.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:12px;text-transform:uppercase;letter-spacing:.04em;color:#96a0b2;font-weight:900}.reminder-example strong{font-size:12px;color:#4a5870}.reminder-rule-note{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f1f5ff;border:1px solid #dfe6fb;color:#67758b;font-size:12px;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:16px;font-weight:900
}
.booking-success-eyebrow{display:block;color:#6257f6;font-size:12px;letter-spacing:.1em;font-weight:900;margin-bottom:8px}
.booking-success-card h2{font-size:16px;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:12px;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:12px}
.agenda-date-chip strong{display:block;font-size:16px;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:12px;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:16px}
.manage-status{padding:7px 11px;border-radius:999px;font-size:12px;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:12px;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:12px}
.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:16px;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:12px;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:16px;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:12px;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:16px}
.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:12px;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:12px;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:12px}.notification-item span{font-size:12px;color:#64748b;line-height:1.35}.notification-item small{font-size:12px;color:#94a3b8}.notification-empty{padding:22px;text-align:center;color:#94a3b8;font-size:12px}

.internal-notes-panel{margin-top:14px}.note-count{font-size:12px;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:12px}.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:12px;color:#8692a5}.note-notify-head>span{font-size:12px;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:12px!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:12px}.note-recipient-meta small{font-size:12px;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:12px}
.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:12px}.internal-note-head span{font-size:12px;color:#8b96a7}.internal-note p{font-size:12px;line-height:1.55;color:#435169;margin:10px 0}.note-badges{display:flex;gap:5px}.note-badges span{font-size:12px!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:12px;color:#7169d8}.legacy-client-note{margin-top:12px;padding:11px 12px;background:#f8f9fb;border-radius:11px}.legacy-client-note strong{font-size:12px}.legacy-client-note p{margin:5px 0 0;font-size:12px;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:12px;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:12px;color:#8390a4;font-weight:800}.finance-stat-grid strong{display:block;font-size:16px;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:12px;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:12px}.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:12px}

@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:16px;font-weight:900;flex:0 0 auto}
.client-profile-identity h2{margin:2px 0 3px;font-size:16px}
.client-profile-identity p{margin:0;color:#7a879a;font-size:12px}
.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:12px;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:12px;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:12px;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:12px;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:12px;text-transform:uppercase;letter-spacing:.04em;color:#8a95a7;font-weight:900}
.client-activity-strip strong{display:block;margin-top:4px;font-size:12px;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:16px}.client-drawer-head p{margin:0;color:#7c899c;font-size:12px}
.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:12px;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:12px}
.client-edit-permissions label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}
.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:12px;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:12px
}
.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:12px}
.client-record-table td small{display:block;margin-top:3px;color:#8792a5;font-size:12px;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:12px}.client-note-preview span,.client-note-preview small{font-size:12px;color:#8994a6}
.client-note-preview p{margin:7px 0 4px;font-size:12px;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:12px;text-transform:uppercase;letter-spacing:.05em;color:#8374ff;font-weight:900
}
.client-observation-head>div strong{display:block;margin-top:2px;font-size:12px;color:#26324a}
.client-observation-card p{
  margin:9px 0 0;padding:10px 11px;border-radius:9px;background:#f8f9fc;
  font-size:12px;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:12px;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:12px;color:#17233c}
.client-note-summary-top>div:first-child span{display:block;margin-top:2px;font-size:12px;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:12px;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:12px;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:12px;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:12px
}
.client-note-detail-meta strong{display:block;color:#39465c;font-size:12px}
.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:12px}
.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:12px}.finance-convert-banner span{display:block;margin-top:3px;font-size:12px;color:#6e7890}
.finance-number-note{padding:9px 11px;border-radius:9px;background:#f7f8fb;color:#737f91;font-size:12px}
.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:12px}.delivery-note-explainer span{font-size:12px;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:12px;color:#17233c}.completion-economy-head span:not(.chip){display:block;margin-top:2px;font-size:12px;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:12px;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:12px;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:12px}.client-billing-preferences label{display:block;margin:5px 0;font-size:12px}.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:16px;font-weight:900}.invoice-issued-card h1{font-size:16px;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:12px;text-transform:uppercase;color:#8792a4;font-weight:900}.invoice-issued-status strong{display:block;margin-top:5px;font-size:12px}.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:12px;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:12px;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:12px;color:#26324a}.client-document-pref-head>div>small{display:block;margin-top:3px;font-size:12px;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:12px;color:#2e3a50}.document-pref-switch span small{display:block;margin-top:3px;font-size:12px;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:12px;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:12px;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:12px}.vf-certificate-box>div:first-child span{font-size:12px;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:12px}.vf-production-lock span{display:block;margin-top:3px;font-size:12px;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:12px;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:12px;text-transform:uppercase;color:#8994a5;font-weight:900}.vf-chain-nav strong,.vf-chain-nav a{display:block;margin:5px 0;font-size:12px}.vf-chain-nav code{font-size:12px;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:12px;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:12px;color:#8a6370;line-height:1.35}.issued-vf-link{display:inline-block;margin-top:5px;font-size:12px;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:12px;text-transform:uppercase;letter-spacing:.04em;color:#7d899b;font-weight:900}
.vf-responsibility-grid strong{display:block;margin-top:5px;font-size:12px;color:#17233c}
.vf-responsibility-grid small{display:block;margin-top:3px;font-size:12px;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:12px;text-transform:uppercase;color:#8994a6;font-weight:900}
.vf-readonly-grid strong{display:block;margin-top:4px;font-size:12px;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:12px}
.vf-tenant-confirm small{display:block;margin-top:4px;font-size:12px;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:12px;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:12px;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:12px;color:#273247}.vf-check-grid article small{display:block;margin-top:2px;font-size:12px;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:12px}.vf-certificate-box>div:first-child>div small{display:block;margin-top:3px;font-size:12px;color:#7d899c;font-weight:500}.vf-certificate-box>div:first-child>.badge{font-size:12px;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:12px!important;text-transform:uppercase;letter-spacing:.04em;color:#8994a6!important;font-weight:900}.vf-current-cert strong{font-size:12px!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:12px}.vf-missing-box summary span{font-size:12px;font-weight:800}.vf-missing-box ul{margin:0;padding:0 28px 12px 30px;color:#78653a;font-size:12px;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:12px}.vf-ready-note span{font-size:12px;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:12px;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:12px;text-transform:uppercase;letter-spacing:.06em;color:#7c8798;font-weight:900}.access-summary-grid strong{display:block;margin-top:5px;font-size:16px;color:#1f2937}.access-summary-grid small{display:block;margin-top:3px;color:#7b8798;font-size:12px;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:12px;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:12px;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:12px}.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:12px;font-weight:800;color:#334155}.access-role-guide small{display:block;margin-top:2px;font-size:12px;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:12px;color:#2d374b}.access-permission-option small{display:block;margin-top:3px;font-size:12px;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:16px}.lead-hero p{margin:0;max-width:760px;color:#6f7b90;font-size:12px;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:12px;text-transform:uppercase;letter-spacing:.05em;color:#7d899b;font-weight:900}.lead-kpi strong{display:block;margin:4px 0;font-size:16px}.lead-kpi small{display:block;font-size:12px;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:12px;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:12px;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:12px;text-transform:uppercase;letter-spacing:.05em;color:#8792a4;font-weight:900}.lead-contact-strip strong{display:block;margin-top:4px;font-size:12px;overflow-wrap:anywhere}.lead-contact-strip small{display:block;margin-top:3px;font-size:12px;color:#7f8b9e}.lead-contact-strip a{display:inline-block;margin-top:5px;font-size:12px;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:12px;letter-spacing:.05em;color:#59906c;font-weight:900}.lead-converted-banner strong{display:block;margin-top:3px;font-size:12px}.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:12px}.lead-event-head span{font-size:12px;color:#8590a2}.lead-timeline small{display:block;margin-top:2px;font-size:12px;color:#8792a4}.lead-timeline p{margin:5px 0 0;padding:8px 9px;border-radius:8px;background:#fafbfe;color:#566177;font-size:12px;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:16px}.lead-capture-hero p{margin:0;max-width:880px;color:#6d7890;font-size:12px;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:12px;font-weight:900}.lead-capture-flow article strong{display:block;margin-top:8px;font-size:12px}.lead-capture-flow article span{display:block;margin-top:4px;font-size:12px;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:12px;text-transform:uppercase;letter-spacing:.05em;color:#8590a3;font-weight:900}.lead-capture-stats strong{display:block;margin-top:5px;font-size:16px}.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:12px;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:12px;white-space:normal;overflow-wrap:anywhere}.capture-webhook-box small{font-size:12px;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:12px;font-weight:900}.capture-checklist span{font-size:12px;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:12px}.capture-list-row span{font-size:12px;color:#7e899a}.capture-list-row code{display:block;margin-top:5px;max-width:640px;font-size:12px;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:12px;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:12px;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:12px;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:12px}.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:12px;letter-spacing:.14em;color:#8f9bb7;font-weight:900}.admin-brand strong{margin-top:2px;font-size:16px;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:12px;color:#8390aa}.admin-sidebar-foot strong{font-size:12px;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:16px;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:12px;letter-spacing:.06em;text-transform:uppercase;color:#7b879a;font-weight:900}.admin-kpi-grid article strong{display:block;font-size:16px;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:12px;color:#69768d;font-weight:800}.admin-route-list code{font-size:12px;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:16px}.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:12px}.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:12px;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:12px;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:12px}.admin-integration-status strong{font-size:12px;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:12px;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:12px}.capture-entry-card.social .capture-entry-number{background:#f0e9ff;color:#6d28d9}.capture-entry-card h3{margin:4px 0 5px;font-size:16px}.capture-entry-card p{margin:0;color:#718098;font-size:12px;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:12px;color:#4e5a70}.lead-entry-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#4f5c73;font-size:12px;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:12px;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:12px;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:12px;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:12px}
.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.42 · 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}}

/* V4.4.42 · Calendarios externos */
.calendar-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.calendar-provider-card{border:1px solid #e2e8f0;border-radius:16px;padding:18px;background:#fff;display:grid;gap:13px}
.calendar-provider-head{display:flex;align-items:center;gap:11px}.calendar-provider-head>div{display:grid;gap:2px}.calendar-provider-head small{color:#7a879a}
.calendar-provider-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:16px;background:#f1f5f9;color:#0f172a;flex:0 0 auto}
.calendar-provider-logo.google{background:#eef6ff;color:#1769e0}.calendar-provider-logo.microsoft{background:#eef9f4;color:#087c5b}
.calendar-provider-note,.calendar-v1-note{margin-top:14px;padding:13px 15px;border:1px solid #e1e7f0;border-radius:12px;background:#f8fafc;display:flex;gap:8px;align-items:flex-start}.calendar-provider-note span,.calendar-v1-note span{color:#66758a}
.external-calendar-intro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.external-calendar-intro h3{margin:3px 0 5px}.calendar-provider-statuses{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.external-calendar-staff-list{display:grid;gap:12px}.external-calendar-staff-card{border:1px solid #e2e8f0;border-radius:15px;padding:15px;background:#fff}
.external-calendar-staff-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf1f6}.external-calendar-staff-head>div{display:grid;gap:2px}.external-calendar-staff-head small{color:#7a879a}
.external-calendar-provider-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.external-calendar-provider{border:1px solid #e8edf4;border-radius:12px;padding:12px;display:flex;gap:10px;align-items:center;min-width:0}.external-calendar-provider-copy{display:grid;gap:2px;min-width:0;flex:1}.external-calendar-provider-copy span,.external-calendar-provider-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.external-calendar-provider-copy span{font-size:12px;color:#526174}.external-calendar-provider-copy small{font-size:12px;color:#8a96a8}.external-calendar-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.external-calendar-actions .btn{white-space:nowrap}
@media(max-width:980px){.calendar-provider-grid,.external-calendar-provider-row{grid-template-columns:1fr}.external-calendar-intro{flex-direction:column}.calendar-provider-statuses{justify-content:flex-start}}
@media(max-width:640px){.external-calendar-provider{align-items:flex-start;flex-wrap:wrap}.external-calendar-actions{width:100%;justify-content:flex-start;margin-left:48px}.external-calendar-staff-head{align-items:flex-start}.calendar-provider-note,.calendar-v1-note{flex-direction:column}}


/* V4.4.95 · Filtros de facturación y forma de pago */
.finance-invoice-filter-v2{display:block!important;margin:12px 0 8px!important;padding:10px!important;border:1px solid #e3e7ef!important;border-radius:12px!important;background:#fafbfe!important}
.finance-filter-primary{display:grid!important;grid-template-columns:1.05fr 1.35fr 1.35fr .9fr .85fr auto!important;gap:8px!important;align-items:end!important}
.finance-invoice-filter-v2 label{margin:0!important;min-width:0!important;font-size:12px!important;font-weight:850!important;color:#657187!important}
.finance-invoice-filter-v2 label>input,.finance-invoice-filter-v2 label>select{width:100%!important;height:36px!important;padding:7px 9px!important;margin-top:4px!important;border-radius:8px!important;font-size:12px!important;background:#fff!important}
.finance-filter-actions{display:flex!important;gap:6px!important;align-items:end!important}.finance-filter-actions .btn{min-width:72px!important;padding:9px 11px!important;white-space:nowrap!important}
.finance-filter-advanced{margin-top:8px!important;border-top:1px solid #e8ebf2!important;padding-top:7px!important}.finance-filter-advanced>summary{display:flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;list-style:none!important;font-size:12px!important;font-weight:850!important;color:#5952e8!important;width:max-content!important}.finance-filter-advanced>summary::-webkit-details-marker{display:none!important}.finance-filter-advanced>summary:before{content:'＋';font-size:12px}.finance-filter-advanced[open]>summary:before{content:'−'}.finance-filter-advanced>summary span{font-size:12px!important;color:#8a94a5!important;font-weight:600!important}
.finance-filter-advanced-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr)) auto!important;gap:8px!important;align-items:end!important;margin-top:8px!important}.finance-filter-advanced-actions{display:flex!important;align-items:end!important}.finance-filter-advanced-actions .btn{height:36px!important;padding:8px 12px!important;white-space:nowrap!important}
.finance-filter-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:5px 2px 9px!important;color:#7c8799!important;font-size:12px!important}.finance-filter-summary strong{color:#28354d!important;font-size:12px!important}
@media(max-width:1400px){.finance-filter-primary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.finance-filter-actions{justify-content:flex-end!important}.finance-filter-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.finance-filter-advanced-actions{grid-column:auto!important}}
@media(max-width:900px){.finance-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.finance-filter-actions{grid-column:1/-1!important}.finance-filter-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.finance-filter-summary{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:560px){.finance-filter-primary,.finance-filter-advanced-grid{grid-template-columns:1fr!important}.finance-filter-actions{grid-column:auto!important}.finance-filter-advanced>summary span{display:none!important}}

/* =========================================================
   THORKIA 4.5.15 · Tema comercial claro + sidebar personal
   Base visual: neutro, legible, compacto y transversal.
   ========================================================= */
:root{
  --bg:#EEF1F5;
  --sidebar:#DDE3EA;
  --sidebar-2:#D5DCE5;
  --text:#202B3A;
  --muted:#657386;
  --line:#D4DBE4;
  --line-strong:#C7D0DC;
  --white:#F8F9FB;
  --primary:#6257E8;
  --primary-2:#5147D5;
  --green:#269978;
  --red:#C45765;
  --amber:#C88A27;
  --blue:#3A74B8;
  --shadow:0 5px 18px rgba(37,49,68,.055)
}
body{background:var(--bg);color:var(--text)}
.layout{grid-template-columns:228px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#2D3949;padding:18px 14px;border-right:1px solid #C7D0DB;box-shadow:3px 0 18px rgba(49,62,81,.04)}
.brand{color:#1F2A38;font-size:16px;padding:5px 9px 2px}.sector-mini{color:#657386;padding:4px 9px 15px;font-size:12px}
.nav{gap:3px}.nav a{padding:9px 10px;border-radius:9px;color:#465569;font-size:13px;font-weight:720}.nav a:hover{background:#E8ECF2;color:#253143}.nav a.active{background:#F5F3FF;color:#554AD5;box-shadow:inset 3px 0 0 #6257E8;font-weight:850}
.sidebar-menu-gear{display:flex;align-items:center;gap:8px;margin:9px 4px 8px;padding:8px 9px;border:1px solid #C5CEDA;border-radius:9px;background:rgba(248,249,251,.55);color:#4D5C70;font-size:12px;font-weight:800;transition:.15s}.sidebar-menu-gear:hover,.sidebar-menu-gear.active{background:#F7F5FF;border-color:#BFB8F4;color:#554AD5}.sidebar-menu-gear-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#EEF0FA;font-size:12px}
.side-bottom{border-top:1px solid #C7CFD9!important;color:#657386!important;padding:13px 9px 2px!important}.side-bottom strong{color:#293747!important}.side-bottom .side-role{color:#738195!important}.side-bottom a{color:#536276}.side-bottom a:hover{color:#554AD5}
.content{padding:20px 22px 36px;max-width:1680px}
.topbar{margin-bottom:12px}.topbar h1{font-size:16px;color:#202B3A}.sector-subtitle{font-size:12px;color:#718094}
.card,.panel{background:#F8F9FB;border-color:#D4DBE4;border-radius:12px;box-shadow:var(--shadow)}.card{padding:15px}.panel{padding:16px;margin-top:12px}.panel h2{font-size:16px;margin-bottom:11px}
.btn{background:#F9FAFC;border-color:#C8D0DC;color:#263345;padding:8px 12px;border-radius:8px;font-size:12px}.btn:hover{background:#F1F4F8;border-color:#AEB9C8;transform:none}.btn.primary{background:#6257E8;border-color:#6257E8;color:#fff}.btn.primary:hover{background:#5147D5;border-color:#5147D5}.btn.ghost{background:transparent}
input,select,textarea{background:#FCFDFE;border-color:#CBD3DE;color:#202B3A;padding:8px 9px;border-radius:8px}input:focus,select:focus,textarea:focus{border-color:#8177ED;box-shadow:0 0 0 3px rgba(98,87,232,.10)}
th{background:#F0F3F7;color:#667487}th,td{border-bottom-color:#E1E6ED}tbody tr:hover{background:#F3F5F8}
.badge,.chip{background:#ECEAFC;color:#554AD5}.badge.green{background:#E3F4ED;color:#26795F}.badge.red{background:#F8E8EB;color:#A34755}.badge.amber{background:#F8F0DF;color:#9A6B23}
.alert.success{background:#E7F5EF;color:#246E58}.alert.error{background:#F8E9EC;color:#9F4050}.alert.info{background:#E8F1F8;color:#356687}
.auth-bg{background:radial-gradient(circle at 20% 10%,#E8E2FF 0,transparent 32%),linear-gradient(145deg,#DDE4EC,#EEF1F5 58%,#E7EBF0)}.login-card,.install-card{background:#F8F9FB;border:1px solid #CBD3DE;box-shadow:0 24px 65px rgba(50,62,80,.16)}
.settings-toolbar{background:#F8F9FB;border-color:#CCD4DF;box-shadow:0 8px 22px rgba(43,55,74,.09)}.settings-tabs{background:#E8ECF1;border-color:#D1D8E2}.settings-tab.active{background:#F8F9FB}
.provider-context-banner{background:#F3F1FF!important;border-color:#D8D2F7!important;color:#3A3C63!important}

/* Personalizador de sidebar */
.menu-customizer-page{min-height:100vh;background:#EEF1F5;color:#202B3A}.menu-customizer-shell{width:min(1540px,calc(100vw - 34px));margin:0 auto;padding:18px 0 28px}.menu-customizer-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px 12px}.menu-customizer-topbar h1{margin:1px 0 2px;font-size:16px;letter-spacing:-.02em}.menu-customizer-topbar p{margin:0;color:#69788B;font-size:12px}.menu-customizer-alert{margin:0 0 10px}
.menu-customizer-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.menu-customizer-intro>div{display:flex;align-items:baseline;gap:8px;padding:9px 11px;border:1px solid #D4DBE4;border-radius:9px;background:#F8F9FB}.menu-customizer-intro strong{font-size:12px;color:#344255;white-space:nowrap}.menu-customizer-intro span{font-size:12px;color:#748195;line-height:1.35}
.menu-customizer-workspace{display:grid;grid-template-columns:minmax(250px,1fr) 84px minmax(270px,1fr) minmax(300px,.88fr);gap:9px;min-height:640px}.menu-column{min-width:0;border:1px solid #D2DAE4;border-radius:12px;background:#F8F9FB;box-shadow:0 6px 20px rgba(37,49,68,.045);padding:13px;display:flex;flex-direction:column}.menu-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px}.menu-column-head>div{display:flex;align-items:center;gap:7px}.menu-column-head>div>span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#ECEAFC;color:#5A50DD;font-size:12px;font-weight:950}.menu-column-head strong{font-size:14px}.menu-column-head small{font-size:12px;color:#8A96A6;text-transform:uppercase;letter-spacing:.05em;font-weight:850}.menu-column>p{margin:0 0 10px;color:#768397;font-size:12px;line-height:1.4}
.menu-module-list{display:flex;flex-direction:column;gap:5px;overflow:auto;max-height:565px;padding-right:2px}.menu-module-row{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:1px solid #DDE3EA;background:#FCFDFE;border-radius:9px;padding:8px 9px;color:#2D3A4B;cursor:pointer;transition:.12s}.menu-module-row:hover{border-color:#C5C0EE;background:#F9F8FF}.menu-module-row.selected{border-color:#8E84EC;background:#F4F2FF;box-shadow:0 0 0 2px rgba(98,87,232,.07)}.menu-module-row.locked{opacity:.56;cursor:not-allowed;background:#F0F2F5}.menu-module-dot{width:7px;height:7px;border-radius:50%;background:#AAB5C3}.menu-module-row.selected .menu-module-dot{background:#6257E8}.menu-module-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.menu-module-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-module-copy small{font-size:12px;color:#7B889A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-module-chevron{font-size:16px;color:#97A3B3}.menu-module-row em{font-style:normal;font-size:12px;text-transform:uppercase;font-weight:900;color:#8C5961;background:#F5E9EB;border-radius:999px;padding:3px 5px}.menu-list-empty{padding:24px 12px;text-align:center;border:1px dashed #CDD5E0;border-radius:9px;color:#8390A2;font-size:12px}
.menu-transfer-rail{display:flex;flex-direction:column;justify-content:center;gap:7px}.menu-transfer-btn{border:1px solid #C9D1DC;background:#F8F9FB;color:#4A596C;border-radius:9px;padding:9px 6px;font-size:12px;font-weight:900;cursor:pointer}.menu-transfer-btn span{font-size:13px;display:block;line-height:1}.menu-transfer-btn.primary{border-color:#BFB8F4;color:#574DD9;background:#F5F3FF}.menu-transfer-btn:disabled{opacity:.35;cursor:not-allowed}
.menu-column-tools{background:#F4F6F9}.menu-tools-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 18px;border:1px dashed #C9D2DE;border-radius:10px;color:#8190A2}.menu-tools-empty strong{font-size:12px;color:#4C5A6D;margin-bottom:3px}.menu-tools-empty span{font-size:12px}.menu-tools-editor{display:flex;flex-direction:column;gap:11px}.menu-tools-identity{padding:11px;border:1px solid #D9DEE8;border-radius:9px;background:#FCFDFE}.menu-tools-identity>span{display:inline-flex;font-size:12px;font-weight:950;letter-spacing:.05em;color:#5A50DD;background:#ECEAFC;border-radius:999px;padding:4px 6px}.menu-tools-identity>span.available{color:#5D6C7E;background:#E9EDF2}.menu-tools-identity strong{display:block;font-size:15px;margin-top:6px}.menu-tools-identity small{display:block;color:#798698;font-size:12px;line-height:1.35;margin-top:2px}.menu-tools-editor label{font-size:12px}.menu-tools-editor label input{margin-top:4px}.menu-tools-editor label small{display:block;color:#8A96A6;font-size:12px;margin-top:4px;font-weight:500}.menu-original-name{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid #DCE2EA;border-radius:8px;background:#F8F9FB}.menu-original-name span{font-size:12px;color:#7C899B}.menu-original-name strong{font-size:12px}.menu-position-tools{display:flex;flex-direction:column;gap:6px}.menu-position-tools>span{font-size:12px;color:#7C899B;font-weight:800}.menu-position-tools>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.menu-position-tools .btn{padding:8px}.menu-save-zone{margin-top:auto;padding-top:12px;border-top:1px solid #D5DCE5;display:flex;flex-direction:column;gap:7px}.menu-save-copy{display:flex;flex-direction:column;gap:1px}.menu-save-copy strong{font-size:12px}.menu-save-copy span{font-size:12px;color:#7E8B9D}.menu-save-btn{width:100%;padding:10px}.menu-reset-trigger{width:100%;font-size:12px}
@media(max-width:1180px){.menu-customizer-workspace{grid-template-columns:1fr 70px 1fr}.menu-column-tools{grid-column:1/-1;min-height:250px}.menu-tools-editor{display:grid;grid-template-columns:1fr 1fr;align-items:end}.menu-save-zone{grid-column:1/-1}.menu-customizer-intro{grid-template-columns:1fr}}
@media(max-width:760px){.layout{display:block}.sidebar{border-right:0;border-bottom:1px solid #C7D0DB}.nav a{font-size:12px;padding:8px 9px}.sidebar-menu-gear{margin:7px 0}.content{padding:15px 13px 28px}.menu-customizer-shell{width:min(100% - 18px,900px);padding-top:10px}.menu-customizer-topbar{align-items:flex-start}.menu-customizer-workspace{display:flex;flex-direction:column}.menu-transfer-rail{flex-direction:row}.menu-transfer-btn{flex:1}.menu-module-list{max-height:300px}.menu-tools-editor{display:flex}.menu-column-tools{min-height:360px}}


/* =========================================================
   THORKIA 4.5.16 · Tuerca discreta + confirmación al guardar
   ========================================================= */
.sidebar{position:sticky}
.sidebar-menu-gear{
  position:absolute;
  right:10px;
  bottom:10px;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #BCC6D2;
  border-radius:9px;
  background:#EEF2F6;
  color:#566579;
  box-shadow:0 3px 10px rgba(43,55,72,.08);
  z-index:5;
}
.sidebar-menu-gear:hover,.sidebar-menu-gear.active{
  background:#F5F3FF;
  border-color:#AFA7EF;
  color:#554AD5;
}
.sidebar-menu-gear-icon{
  display:block;
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  font-size:16px;
  line-height:1;
}
.side-bottom{padding-right:42px!important;padding-bottom:8px!important}

.menu-confirm-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(35,44,58,.32);
  backdrop-filter:blur(2px);
}
.menu-confirm-backdrop.open{display:flex}
.menu-confirm-dialog{
  width:min(440px,100%);
  border:1px solid #D2D8E1;
  border-radius:14px;
  background:#F8F9FB;
  box-shadow:0 24px 70px rgba(31,42,56,.22);
  padding:18px;
}
.menu-confirm-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#ECEAFC;
  color:#554AD5;
  font-size:16px;
  margin-bottom:10px;
}
.menu-confirm-dialog h3{margin:0 0 5px;font-size:16px;color:#202B3A}
.menu-confirm-dialog p{margin:0;color:#687789;font-size:12px;line-height:1.5}
.menu-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.menu-confirm-actions .btn{min-width:96px}
.menu-confirm-actions .btn.primary{min-width:150px}

@media(max-width:900px){
  .sidebar-menu-gear{
    position:static;
    width:30px;
    height:30px;
    margin:7px 0 0 auto;
  }
  .side-bottom{padding-right:9px!important}
}


/* =========================================================
   THORKIA 4.5.17 · Tuerca flotante real
   ========================================================= */

/* La tuerca no forma parte del listado de módulos. */
.sidebar{
  position:sticky;
}
.sidebar-menu-gear{
  position:absolute !important;
  top:12px !important;
  right:10px !important;
  bottom:auto !important;

  width:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  height:24px !important;
  min-height:24px !important;
  max-height:24px !important;

  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 24px !important;
  align-self:auto !important;

  border:0 !important;
  border-radius:7px !important;
  background:transparent !important;
  box-shadow:none !important;

  color:#687789 !important;
  line-height:1 !important;
  z-index:20 !important;
}

.sidebar-menu-gear:hover,
.sidebar-menu-gear.active{
  border:0 !important;
  background:#ECEAFC !important;
  color:#554AD5 !important;
  box-shadow:none !important;
}

.sidebar-menu-gear-icon{
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:15px !important;
  line-height:1 !important;
}

/* Ya no hay que reservar una franja para la tuerca. */
.side-bottom{
  padding-right:9px !important;
}

/* Neutraliza las reglas responsive anteriores que la convertían en una fila. */
@media(max-width:900px){
  .sidebar-menu-gear{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    bottom:auto !important;
    margin:0 !important;
    width:24px !important;
    height:24px !important;
  }
}

@media(max-width:760px){
  .sidebar{
    position:relative !important;
  }
  .sidebar-menu-gear{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
  }
}


/* =========================================================
   THORKIA 4.5.18 · Gear cache-safe
   ========================================================= */
.sidebar-menu-gear{
  position:absolute!important;
  top:12px!important;
  right:10px!important;
  bottom:auto!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.sidebar-menu-gear-icon{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:14px!important;
}


/* =========================================================
   THORKIA 4.5.19 · Facturación compacta / estándar Presupuestos
   SOLO PRESENTACIÓN. No cambia lógica fiscal ni de cobros.
   ========================================================= */
.finance-control-compact{padding:11px 13px!important;margin-bottom:10px!important;border-radius:12px!important}
.finance-control-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding-bottom:8px!important;border-bottom:1px solid #E2E7EE!important}
.finance-control-title{display:flex!important;align-items:baseline!important;gap:9px!important;min-width:0!important;white-space:nowrap!important}
.finance-control-title .eyebrow{margin:0!important;font-size:12px!important;color:#6257E8!important}
.finance-control-title strong{font-size:16px!important;color:#202B3A!important}
.finance-control-title small{font-size:12px!important;color:#8490A2!important;font-weight:600!important}
.finance-control-actions{display:flex!important;gap:6px!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.finance-control-actions .btn{height:30px!important;padding:6px 10px!important;border-radius:8px!important;font-size:12px!important}
.finance-mini-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}
.finance-mini-metrics article{min-width:0!important;padding:7px 9px!important;border:1px solid #DDE3EB!important;border-radius:9px!important;background:#F7F9FB!important;box-shadow:none!important}
.finance-mini-metrics span{display:block!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.03em!important;color:#748197!important;font-weight:900!important}
.finance-mini-metrics strong{display:block!important;margin-top:2px!important;font-size:15px!important;line-height:1.1!important;color:#202B3A!important;white-space:nowrap!important}
.finance-mini-metrics small{display:block!important;margin-top:2px!important;font-size:12px!important;color:#8A96A7!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.finance-mini-metrics article.green strong{color:#168263!important}.finance-mini-metrics article.red strong{color:#B64B5E!important}.finance-mini-metrics article.amber strong{color:#AA7117!important}

.finance-main-panel{padding:10px 12px 12px!important;border-radius:12px!important}
.finance-main-panel .finance-tabs{margin:0 0 7px!important;padding:0 0 7px!important;gap:4px!important;align-items:center!important}
.finance-main-panel .finance-tabs a{padding:6px 9px!important;border-radius:7px!important;font-size:12px!important;line-height:1!important}
.finance-main-panel .finance-tabs a span{height:15px!important;min-width:15px!important;font-size:12px!important}
.finance-create-compact{margin:6px 0 8px!important;padding:0 10px!important;border-radius:9px!important;background:#F7F9FB!important}
.finance-create-compact>summary{padding:7px 0!important;font-size:12px!important;color:#29384D!important}
.finance-create-compact[open]>summary{color:#554AD5!important;border-bottom:1px solid #E5E9F0!important;margin-bottom:8px!important}

.finance-invoice-filter-v2{margin:7px 0 5px!important;padding:7px!important;border-radius:9px!important}
.finance-filter-primary{gap:6px!important}
.finance-invoice-filter-v2 label{font-size:12px!important}
.finance-invoice-filter-v2 label>input,.finance-invoice-filter-v2 label>select{height:32px!important;padding:5px 8px!important;margin-top:3px!important;border-radius:7px!important;font-size:12px!important}
.finance-filter-actions{gap:5px!important}.finance-filter-actions .btn{min-width:58px!important;height:32px!important;padding:6px 9px!important;font-size:12px!important}
.finance-filter-advanced{margin-top:5px!important;padding-top:5px!important}.finance-filter-advanced>summary{font-size:12px!important}.finance-filter-advanced>summary span{font-size:12px!important}
.finance-filter-advanced-grid{gap:6px!important;margin-top:6px!important}.finance-filter-advanced-actions .btn{height:32px!important;padding:6px 9px!important;font-size:12px!important}
.finance-filter-summary{margin:3px 1px 5px!important;font-size:12px!important}.finance-filter-summary strong{font-size:12px!important}

.finance-main-panel .table-wrap{margin-top:0!important;border:1px solid #E1E6ED!important;border-radius:9px!important;overflow:visible!important;background:#F9FAFC!important}
.finance-invoice-table{border-collapse:separate!important;border-spacing:0!important;width:100%!important}
.finance-invoice-table thead th{height:28px!important;padding:6px 7px!important;background:#EEF2F6!important;color:#647287!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.03em!important;border-bottom:1px solid #DCE2EA!important;white-space:nowrap!important}
.finance-invoice-table tbody td{padding:7px!important;font-size:12px!important;line-height:1.15!important;border-bottom:1px solid #E4E8EE!important;background:#FBFCFD!important;vertical-align:middle!important}
.finance-invoice-table tbody tr:last-child td{border-bottom:0!important}
.finance-invoice-table tbody tr:hover td{background:#F4F6FA!important}
.finance-invoice-table tbody tr td:first-child{border-left:3px solid transparent!important}
.finance-invoice-table tbody tr.invoice-row-paid td:first-child{border-left-color:#32A17F!important}
.finance-invoice-table tbody tr.invoice-row-partial td:first-child{border-left-color:#D99A30!important}
.finance-invoice-table tbody tr.invoice-row-pending td:first-child{border-left-color:#C65B6B!important}
.finance-invoice-table strong{font-size:12px!important}.finance-invoice-table .table-sub{font-size:12px!important;margin-top:2px!important;color:#8A96A8!important}
.finance-invoice-table .badge{font-size:12px!important;padding:4px 6px!important;border-radius:999px!important;white-space:nowrap!important}
.invoice-money strong{white-space:nowrap!important}.invoice-total strong{color:#202B3A!important}.invoice-paid strong{color:#167E62!important}.invoice-due.has-due strong{color:#B64B5E!important}
.invoice-payment-cell strong{font-size:12px!important;white-space:nowrap!important}
.invoice-row-actions{display:flex!important;gap:4px!important;align-items:center!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.invoice-row-actions .btn{height:27px!important;padding:5px 8px!important;border-radius:7px!important;font-size:12px!important;min-width:0!important}
.invoice-row-actions form{margin:0!important}.invoice-row-actions .badge{margin:0!important}
.finance-pagination{margin-top:7px!important;padding-top:6px!important;font-size:12px!important}.finance-pagination .btn{height:28px!important;padding:5px 8px!important;font-size:12px!important}

@media(max-width:1150px){.finance-control-title small{display:none!important}.finance-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.finance-invoice-table{min-width:980px!important}.finance-main-panel .table-wrap{overflow-x:auto!important}}
@media(max-width:760px){.finance-control-head{align-items:flex-start!important;flex-direction:column!important}.finance-control-title{white-space:normal!important}.finance-control-actions{justify-content:flex-start!important}.finance-mini-metrics{grid-template-columns:1fr 1fr!important}}


/* =========================================================
   THORKIA 4.5.20 · Panel compacto + Caja clara
   ========================================================= */

/* Panel: cabecera global ligeramente más compacta, solo en dashboard */
.page-dashboard .content{padding-top:20px}
.page-dashboard .topbar{margin-bottom:9px}
.page-dashboard .topbar h1{font-size:16px}
.page-dashboard .sector-subtitle{font-size:12px}
.page-dashboard .topbar .btn{height:34px;padding:7px 10px;border-radius:8px;font-size:12px}
.page-dashboard .notification-bell{width:34px;height:34px}

/* Resumen superior */
.dashboard-control-compact{
  margin-top:0!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
.dashboard-control-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:7px;
  border-bottom:1px solid #E1E6ED;
}
.dashboard-control-title{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  white-space:nowrap;
}
.dashboard-control-title .eyebrow{margin:0;font-size:12px}
.dashboard-control-title strong{font-size:15px;color:#202B3A}
.dashboard-control-title small{
  font-size:12px;
  color:#8792A2;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-control-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.dashboard-control-actions .btn{height:29px;padding:5px 9px;font-size:12px;border-radius:7px}

.dashboard-mini-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(125px,1fr));
  gap:6px;
  margin-top:8px;
}
.dashboard-mini-metrics>a,
.dashboard-mini-metrics>article{
  min-width:0;
  padding:7px 8px;
  border:1px solid #DDE3EB;
  border-radius:9px;
  background:#F7F9FB;
  box-shadow:none;
}
.dashboard-mini-metrics span{
  display:block;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
  color:#748197;
}
.dashboard-mini-metrics strong{
  display:block;
  margin-top:2px;
  font-size:15px;
  line-height:1.1;
  color:#202B3A;
  white-space:nowrap;
}
.dashboard-mini-metrics small{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#8A96A7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-mini-metrics>a:hover{border-color:#BDB7F3;background:#F7F6FE}
.dashboard-mini-metrics .money strong{color:#168263}
.dashboard-mini-metrics .due strong{color:#B64B5E}
.dashboard-mini-metrics .warn strong{color:#A66B14}

.dashboard-attention-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:27px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #E5E9EF;
}
.dashboard-attention-label{
  flex:0 0 auto;
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
  color:#657386;
}
.dashboard-alert-chips{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.dash-alert{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:3px 7px;
  border:1px solid #DDE3EB;
  border-radius:999px;
  background:#F7F9FB;
  color:#58677B;
  font-size:12px;
  font-weight:850;
}
.dash-alert.ok{border-color:#CEE6DC;background:#EFF8F4;color:#27715C}
.dash-alert.warn{border-color:#EAD8B6;background:#FCF7EC;color:#9A651A}
.dash-alert.danger{border-color:#EDCBD2;background:#FBF0F2;color:#A84556}

/* Agenda + próximas */
.dashboard-work-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:9px;
  margin-top:9px;
}
.dashboard-work-grid>.panel{
  margin-top:0!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  min-width:0;
}
.dashboard-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding-bottom:6px;
  border-bottom:1px solid #E5E9EF;
}
.dashboard-section-head>div{display:flex;align-items:baseline;gap:7px;min-width:0}
.dashboard-section-head .eyebrow{font-size:12px;margin:0}
.dashboard-section-head h2{font-size:14px!important;margin:0!important}
.dashboard-section-head small{font-size:12px;color:#8792A2}
.dashboard-section-head .btn{height:27px;padding:5px 8px;font-size:12px;border-radius:7px}

.dashboard-empty-inline{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 4px 2px;
  color:#667085;
}
.dashboard-empty-inline.simple{justify-content:flex-start}
.dashboard-empty-inline>div{display:flex;flex-direction:column;gap:2px}
.dashboard-empty-inline strong{font-size:12px;color:#334155}
.dashboard-empty-inline span{font-size:12px;color:#8B97A8}
.dashboard-empty-inline .btn{height:29px;padding:5px 9px;font-size:12px}

.today-appointment-list.compact,
.next-appointment-list.compact{
  max-height:240px;
  overflow:auto;
}
.today-appointment-list.compact .today-appointment{
  grid-template-columns:47px minmax(0,1fr) auto;
  gap:8px;
  padding:7px 2px;
}
.today-appointment-list.compact .appt-time{font-size:12px}
.today-appointment-list.compact .appt-main strong{font-size:12px}
.today-appointment-list.compact .appt-main span{font-size:12px}
.today-appointment-list.compact .badge{padding:3px 6px;font-size:12px}

.next-appointment-list.compact .next-appointment{
  grid-template-columns:34px minmax(0,1fr);
  gap:7px;
  padding:6px 0;
}
.next-appointment-list.compact .date-pill{
  width:31px;
  height:33px;
  border-radius:7px;
}
.next-appointment-list.compact .date-pill strong{font-size:12px!important}
.next-appointment-list.compact .date-pill span{font-size:12px!important;margin-top:1px}
.next-appointment-list.compact .next-appointment>div:last-child{gap:1px}
.next-appointment-list.compact .next-appointment strong{font-size:12px}
.next-appointment-list.compact .next-appointment span,
.next-appointment-list.compact .next-appointment small{font-size:12px}

/* Accesos rápidos: una sola línea */
.dashboard-quick-strip{
  margin-top:9px!important;
  padding:8px 11px!important;
  border-radius:11px!important;
  display:flex;
  align-items:center;
  gap:12px;
}
.dashboard-quick-title{
  display:flex;
  align-items:baseline;
  gap:6px;
  flex:0 0 auto;
}
.dashboard-quick-title .eyebrow{font-size:12px;margin:0}
.dashboard-quick-title strong{font-size:12px}
.dashboard-quick-links{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.dashboard-quick-links a{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border:1px solid #D8DFE8;
  border-radius:7px;
  background:#F8FAFC;
  color:#344256;
  font-size:12px;
  font-weight:850;
}
.dashboard-quick-links a:hover{border-color:#BDB7F3;background:#F4F2FD;color:#554AD5}

@media(max-width:1100px){
  .dashboard-work-grid{grid-template-columns:1fr}
  .dashboard-control-title small{display:none}
}
@media(max-width:760px){
  .dashboard-control-head{align-items:flex-start;flex-direction:column}
  .dashboard-control-actions{justify-content:flex-start}
  .dashboard-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-quick-strip{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .dashboard-mini-metrics{grid-template-columns:1fr}
}

/* Caja clara: integración con la paleta general de THORKIA */
.cash-shell[data-theme="light"]{
  color-scheme:light;
}


/* ========================================================================
   THORKIA 4.5.21 · ESTÁNDAR VISUAL GENERAL
   Aplicación visual únicamente. No altera lógica ni acciones de módulos.
   Referencia: Presupuestos / Facturación / Panel V4.5.20
   ======================================================================== */

:root{
  --th-ui-bg:#EEF1F5;
  --th-ui-panel:#F8F9FB;
  --th-ui-panel-2:#F1F3F6;
  --th-ui-line:#D9DFE7;
  --th-ui-text:#202B3A;
  --th-ui-muted:#667085;
  --th-ui-soft:#8A96A7;
  --th-ui-accent:#6257E8;
  --th-ui-accent-soft:#ECEAFC;
  --th-ui-success:#269978;
  --th-ui-warning:#C88A27;
  --th-ui-danger:#C45765;
  --th-ui-radius:11px;
}

/* ---------- Base compacta para módulos aún no normalizados ---------- */
:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .panel{
  border-radius:var(--th-ui-radius)!important;
  padding:10px 12px!important;
  margin-top:8px!important;
  box-shadow:0 5px 18px rgba(38,49,65,.045)!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .panel h2{
  font-size:14px!important;
  line-height:1.2!important;
  margin-top:0!important;
  margin-bottom:3px!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .panel h3{
  font-size:12px!important;
  line-height:1.2!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .muted{
  font-size:12px!important;
  line-height:1.4!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .eyebrow{
  font-size:12px!important;
  letter-spacing:.055em!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .btn{
  min-height:29px;
  padding:5px 9px;
  border-radius:7px;
  font-size:12px;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .btn.small{
  min-height:26px!important;
  padding:4px 7px!important;
  font-size:12px!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .form-grid{
  gap:7px!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) label{
  font-size:12px;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) input:not([type="checkbox"]):not([type="radio"]),
:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) select{
  min-height:33px;
  padding:6px 8px;
  border-radius:7px;
  font-size:12px;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) textarea{
  padding:7px 8px;
  border-radius:7px;
  font-size:12px;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) .table-wrap{
  margin-top:7px!important;
  border-radius:9px;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) table th{
  padding:7px 7px!important;
  font-size:12px!important;
  letter-spacing:.035em;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes,.page-menu
) table td{
  padding:7px 7px!important;
  font-size:12px!important;
}

/* ========================================================================
   LEADS / CAPTACIÓN
   ======================================================================== */
.page-leads .lead-capture-hero{
  padding:10px 12px!important;
  margin-bottom:8px!important;
  border-radius:11px!important;
  background:var(--th-ui-panel)!important;
  box-shadow:none!important;
}
.page-leads .lead-capture-hero h2{font-size:15px!important;margin:2px 0 3px!important}
.page-leads .lead-capture-hero p{font-size:12px!important;max-width:760px!important}
.page-leads .lead-capture-flow{gap:5px!important;margin-bottom:8px!important}
.page-leads .lead-capture-flow article{
  min-height:68px!important;
  padding:8px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
.page-leads .lead-capture-flow article i{width:19px!important;height:19px!important;font-size:12px!important}
.page-leads .lead-capture-flow article strong{font-size:12px!important;margin-top:5px!important}
.page-leads .lead-capture-flow article span{font-size:12px!important;margin-top:2px!important}
.page-leads .lead-capture-stats{gap:6px!important;margin-bottom:8px!important}
.page-leads .lead-capture-stats article{padding:7px 9px!important;border-radius:9px!important;box-shadow:none!important}
.page-leads .lead-capture-stats span{font-size:12px!important}
.page-leads .lead-capture-stats strong{font-size:15px!important;margin-top:2px!important}
.page-leads .lead-capture-grid{gap:8px!important;margin-bottom:8px!important}
.page-leads .capture-core-card,
.page-leads .capture-social-card,
.page-leads .capture-channel-card{border-radius:10px!important}
.page-leads .capture-card-top,
.page-leads .capture-card-foot{padding-top:6px!important;padding-bottom:6px!important}
.page-leads .capture-card-copy strong{font-size:12px!important}
.page-leads .capture-card-copy small{font-size:12px!important}

/* ========================================================================
   PRODUCTOS
   ======================================================================== */
.page-products .prod-hero{
  padding:9px 11px!important;
  gap:10px!important;
  align-items:center!important;
}
.page-products .prod-hero h2{font-size:15px!important;margin:1px 0 2px!important}
.page-products .prod-actions{gap:5px!important}
.page-products .prod-kpis{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:6px!important;
  margin:8px 0!important;
}
.page-products .prod-kpis article{
  padding:7px 8px!important;
  border-radius:9px!important;
  background:#F8F9FB!important;
}
.page-products .prod-kpis span{font-size:12px!important}
.page-products .prod-kpis strong{font-size:15px!important;margin-top:2px!important}
.page-products .prod-filter{
  gap:6px!important;
  grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(95px,.7fr)) auto auto!important;
}
.page-products .prod-filter label,
.page-products .prod-form label{font-size:12px!important;gap:2px!important}
.page-products .prod-filter input,
.page-products .prod-filter select,
.page-products .prod-form input,
.page-products .prod-form select,
.page-products .prod-form textarea{
  padding:6px 7px!important;
  border-radius:7px!important;
  min-height:32px!important;
  font-size:12px!important;
}
.page-products .prod-form{gap:7px!important}
.page-products .prod-table .muted-line{font-size:12px!important}
.page-products .prod-state{padding:3px 6px!important;font-size:12px!important}
.page-products .prod-pagination{margin-top:7px!important}
.page-products .prod-pages a,
.page-products .prod-pages span{padding:4px 7px!important;font-size:12px!important}

/* ========================================================================
   ANALÍTICA
   ======================================================================== */
.page-analytics .analytics-toolbar{
  padding:9px 11px!important;
  margin-bottom:8px!important;
  gap:10px!important;
  background:var(--th-ui-panel)!important;
}
.page-analytics .analytics-toolbar h2{font-size:15px!important}
.page-analytics .analytics-toolbar p{font-size:12px!important}
.page-analytics .analytics-periods{padding:2px!important;border-radius:8px!important}
.page-analytics .analytics-periods a,
.page-analytics .analytics-periods button{font-size:12px!important;padding:5px 8px!important;border-radius:6px!important}
.page-analytics .analytics-kpi-grid{gap:6px!important;margin-bottom:7px!important}
.page-analytics .analytics-kpi{
  padding:7px 8px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
.page-analytics .analytics-kpi:before{width:3px!important}
.page-analytics .analytics-kpi span{font-size:12px!important}
.page-analytics .analytics-kpi strong{font-size:15px!important;margin:2px 0!important}
.page-analytics .analytics-kpi small{font-size:12px!important}
.page-analytics .analytics-secondary-grid{gap:6px!important;margin-bottom:7px!important}
.page-analytics .analytics-secondary-grid article{padding:6px 8px!important;border-radius:8px!important}
.page-analytics .analytics-secondary-grid span{font-size:12px!important}
.page-analytics .analytics-secondary-grid strong{font-size:12px!important;margin:2px 0!important}
.page-analytics .analytics-secondary-grid small{font-size:12px!important}
.page-analytics .analytics-grid{gap:8px!important;margin-bottom:8px!important}
.page-analytics .analytics-chart-panel,
.page-analytics .analytics-list-panel{padding:9px!important;border-radius:10px!important}
.page-analytics .analytics-chart-panel h2,
.page-analytics .analytics-list-panel h2{font-size:12px!important}
.page-analytics .bar-chart{min-height:150px!important;max-height:250px}

/* ========================================================================
   AGENDA
   ======================================================================== */
.page-appointments .calendar-toolbar{
  gap:6px!important;
  margin-bottom:7px!important;
}
.page-appointments .agenda-view-switch{gap:2px!important;padding:2px!important;border-radius:8px!important}
.page-appointments .agenda-view-switch .btn{padding:5px 8px!important;font-size:12px!important}
.page-appointments .calendar-filter{min-width:190px!important}
.page-appointments .week-panel{padding:9px!important}
.page-appointments .week-title{gap:8px!important}
.page-appointments .week-title h2{font-size:14px!important}
.page-appointments .calendar-legend{gap:7px!important;margin-top:6px!important}
.page-appointments .legend-item{font-size:12px!important}
.page-appointments .service-legend{gap:4px!important;margin-top:5px!important}
.page-appointments .service-legend-title{font-size:12px!important}
.page-appointments .service-legend-chip{padding:3px 6px!important;font-size:12px!important}
.page-appointments .week-calendar{margin-top:7px!important;border-radius:9px!important}
.page-appointments .day-head{padding:6px 5px!important}
.page-appointments .day-head strong{font-size:12px!important}
.page-appointments .fixed-agenda{border-radius:9px!important}
.page-appointments .agenda-card{border-radius:8px!important}

/* ========================================================================
   SEGUIMIENTO
   ======================================================================== */
.page-followups .followup-overview{
  padding:9px 11px!important;
  margin-bottom:8px!important;
  border-radius:11px!important;
  box-shadow:none!important;
  background:var(--th-ui-panel)!important;
}
.page-followups .followup-overview-main h2{font-size:15px!important;margin:2px 0!important}
.page-followups .followup-overview-main p{font-size:12px!important}
.page-followups .followup-channel-mini{gap:4px!important}
.page-followups .followup-channel-mini span,
.page-followups .followup-channel-mini a{font-size:12px!important;padding:4px 7px!important}
.page-followups .followup-kanban{gap:7px!important}
.page-followups .followup-column{border-radius:10px!important;min-height:330px!important}
.page-followups .followup-column-head{padding:7px 8px!important}
.page-followups .followup-column-head strong{font-size:12px!important}
.page-followups .followup-column-head small{font-size:12px!important}
.page-followups .followup-column-head>span{min-width:22px!important;height:22px!important;font-size:12px!important}
.page-followups .followup-column-body{padding:6px!important;gap:5px!important}
.page-followups .followup-kanban-card{border-radius:8px!important;padding:7px!important}
.page-followups .followup-kcard-person strong{font-size:12px!important}
.page-followups .followup-kcard-person small,
.page-followups .followup-kcard-body{font-size:12px!important}

/* ========================================================================
   CLIENTES
   ======================================================================== */
.page-clients .client-profile-card{padding:11px!important}
.page-clients .client-profile-top{gap:10px!important}
.page-clients .client-profile-identity{gap:8px!important}
.page-clients .client-profile-avatar{
  width:38px!important;height:38px!important;border-radius:10px!important;font-size:15px!important;
}
.page-clients .client-profile-identity h2{font-size:16px!important;margin:1px 0 2px!important}
.page-clients .client-profile-identity p{font-size:12px!important}
.page-clients .client-profile-actions{gap:5px!important}
.page-clients .client-profile-grid{gap:8px!important;margin-top:9px!important}
.page-clients .client-data-block{padding:9px!important;border-radius:9px!important}
.page-clients .client-block-head{margin-bottom:6px!important}
.page-clients .client-data-list{gap:6px!important}
.page-clients .client-data-list>div,
.page-clients .client-permission-list>div{padding:6px 7px!important;border-radius:7px!important}
.page-clients .client-data-list span,
.page-clients .client-permission-list span{font-size:12px!important}
.page-clients .client-data-list strong,
.page-clients .client-permission-list strong{font-size:12px!important;margin-top:2px!important}
.page-clients .client-record-tabs{gap:4px!important;margin-top:8px!important}
.page-clients .client-record-tabs a{padding:5px 7px!important;font-size:12px!important}
.page-clients .client-tab-panel{padding:9px!important}

/* ========================================================================
   REACTIVACIÓN
   ======================================================================== */
.page-reactivation .reactivation-hero{
  padding:9px 11px!important;
  margin-bottom:7px!important;
  border-radius:11px!important;
  box-shadow:none!important;
  background:var(--th-ui-panel)!important;
}
.page-reactivation .reactivation-hero h2{font-size:15px!important;margin:2px 0!important}
.page-reactivation .reactivation-hero p{font-size:12px!important}
.page-reactivation .reactivation-note{padding:7px 8px!important;font-size:12px!important;border-radius:8px!important}
.page-reactivation .reactivation-kpis{gap:6px!important;margin-bottom:7px!important}
.page-reactivation .reactivation-kpis a{padding:7px 8px!important;border-radius:9px!important;box-shadow:none!important}
.page-reactivation .reactivation-kpis span{font-size:12px!important}
.page-reactivation .reactivation-kpis strong{font-size:14px!important}
.page-reactivation .reactivation-kpis small{font-size:12px!important}
.page-reactivation .reactivation-grid{gap:6px!important}
.page-reactivation .reactivation-card{padding:8px!important;border-radius:9px!important}

/* ========================================================================
   AUTOMATIZACIONES
   ======================================================================== */
.page-automations .automation-builder{padding:10px!important}
.page-automations .automation-builder .week-title{margin-bottom:8px!important}
.page-automations .channel-status-row{gap:6px!important;margin:7px 0!important}
.page-automations .channel-status{padding:6px 8px!important;border-radius:8px!important}
.page-automations .channel-status strong{font-size:12px!important}
.page-automations .channel-status small{font-size:12px!important}
.page-automations .automation-summary{gap:5px!important;margin:3px 0 8px!important}
.page-automations .automation-summary .chip{padding:3px 6px!important;font-size:12px!important}
.page-automations .automation-grid{gap:7px!important}
.page-automations .automation-card{padding:9px!important;border-radius:9px!important}
.page-automations .automation-card-head{gap:8px!important;margin-bottom:7px!important}
.page-automations .automation-card-title strong{font-size:12px!important}
.page-automations .automation-card-title small{font-size:12px!important}
.page-automations .automation-fields{gap:6px!important}
.page-automations .automation-fields label{font-size:12px!important}
.page-automations .automation-fields input,
.page-automations .automation-fields select{max-width:190px!important;padding:5px 7px!important}
.page-automations .inline-checks{gap:5px!important}
.page-automations .inline-checks label{padding:5px 7px!important;font-size:12px!important}
.page-automations .reminder-step{padding:7px!important;border-radius:8px!important}

/* ========================================================================
   RECURSOS / ESPACIOS
   ======================================================================== */
.page-resources .resource-hero{gap:10px!important;padding:9px 11px!important}
.page-resources .resource-hero h2{font-size:15px!important}
.page-resources .resource-stats{gap:6px!important;margin-top:8px!important}
.page-resources .manage-stat{
  padding:7px 8px!important;border-radius:9px!important;box-shadow:none!important;
}
.page-resources .manage-stat span{font-size:12px!important}
.page-resources .manage-stat strong{font-size:16px!important}
.page-resources .manage-stat small{font-size:12px!important}
.page-resources .resource-builder-grid{gap:8px!important}
.page-resources .resource-presets{gap:4px!important;margin:6px 0 8px!important}
.page-resources .resource-preset{font-size:12px!important;padding:4px 7px!important}
.page-resources .resource-type-form{gap:6px!important}
.page-resources .resource-help{margin-top:6px!important;padding:6px 8px!important;font-size:12px!important}

/* ========================================================================
   EQUIPO Y SERVICIOS / NEGOCIO
   ======================================================================== */
.page-business .sector-banner-compact{padding:9px 11px!important}
.page-business .sector-banner-compact h2{font-size:15px!important}
.page-business .management-summary{gap:6px!important;margin-top:8px!important}
.page-business .manage-stat{
  padding:7px 8px!important;border-radius:9px!important;box-shadow:none!important;
}
.page-business .manage-stat span{font-size:12px!important}
.page-business .manage-stat strong{font-size:16px!important}
.page-business .manage-stat small{font-size:12px!important}
.page-business .business-actionbar{padding:8px 10px!important;margin-top:8px!important;gap:8px!important}
.page-business .business-action-copy strong{font-size:12px!important}
.page-business .business-action-copy span{font-size:12px!important}
.page-business .business-action-buttons{gap:5px!important}
.page-business .business-data-grid{gap:8px!important}
.page-business .editor-panel,
.page-business .business-list-panel{border-radius:10px!important}
.page-business .week-title{margin-bottom:7px!important}
.page-business .schedule-builder{gap:6px!important}
.page-business .schedule-row{min-height:34px!important}

/* ========================================================================
   CONFIGURACIÓN
   ======================================================================== */
.page-settings .settings-tabs{
  gap:2px!important;
  padding:2px!important;
  border-radius:8px!important;
}
.page-settings .settings-tab{
  padding:5px 8px!important;
  border-radius:6px!important;
  font-size:12px!important;
}
.page-settings .settings-save-actions{gap:6px!important}
.page-settings .save-state{font-size:12px!important}
.page-settings .settings-accordion{
  margin-top:6px!important;
  border-radius:10px!important;
}
.page-settings .settings-accordion summary{
  padding:8px 10px!important;
  gap:8px!important;
}
.page-settings .settings-accordion summary strong{font-size:12px!important}
.page-settings .settings-accordion summary small{font-size:12px!important}
.page-settings .settings-accordion .chevron{font-size:13px!important}
.page-settings .accordion-body{padding:9px 10px!important}
.page-settings .company-module-grid{gap:6px!important}
.page-settings .company-module-option{padding:7px 8px!important;border-radius:8px!important}
.page-settings .company-module-option strong{font-size:12px!important}
.page-settings .company-module-option small{font-size:12px!important}
.page-settings .visible-days-box{margin-top:7px!important;padding:7px!important;border-radius:8px!important}
.page-settings .day-toggle-grid{gap:4px!important}
.page-settings .day-toggle-grid label{padding:5px!important;font-size:12px!important}
.page-settings .communications-channel-card{padding:8px!important;border-radius:9px!important}
.page-settings .external-calendar-provider{padding:8px!important;border-radius:9px!important}

/* ========================================================================
   PLANES
   ======================================================================== */
.page-plans .plans-hero{
  padding:10px 12px!important;
  margin-bottom:8px!important;
  border-radius:11px!important;
  gap:10px!important;
  background:var(--th-ui-panel)!important;
}
.page-plans .plans-hero h2{font-size:15px!important;margin:2px 0!important}
.page-plans .plans-hero p{font-size:12px!important}
.page-plans .plans-current strong{font-size:14px!important}
.page-plans .plans-current small{font-size:12px!important}
.page-plans .plan-grid{
  gap:7px!important;
  margin-bottom:9px!important;
}
.page-plans .plan-card{
  min-height:270px!important;
  padding:10px!important;
  border-radius:11px!important;
}
.page-plans .plan-badge{top:8px!important;right:8px!important;padding:3px 6px!important;font-size:12px!important}
.page-plans .plan-card h3{font-size:14px!important;margin:2px 0!important}
.page-plans .plan-price{margin:4px 0!important}
.page-plans .plan-price strong{font-size:16px!important}
.page-plans .plan-price span{font-size:12px!important}
.page-plans .plan-annual{min-height:20px!important;font-size:12px!important}
.page-plans .plan-card>p{min-height:31px!important;font-size:12px!important}
.page-plans .plan-highlights{gap:4px!important;margin:6px 0 9px!important;font-size:12px!important}
.page-plans .plan-actions{gap:5px!important}
.page-plans .plan-table th,
.page-plans .plan-table td{padding:6px 7px!important;font-size:12px!important}
.page-plans .plan-footnotes{gap:4px!important;margin-top:7px!important;padding:7px 9px!important;font-size:12px!important}

/* ========================================================================
   MODALES / EMPTY STATES / AUXILIARES
   ======================================================================== */
:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes
) .dashboard-empty{
  min-height:90px!important;
  padding:12px!important;
  border-radius:9px!important;
}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes
) .dashboard-empty strong{font-size:12px!important}

:is(
 .page-leads,.page-products,.page-analytics,.page-appointments,.page-followups,
 .page-clients,.page-reactivation,.page-history,.page-automations,.page-resources,
 .page-business,.page-settings,.page-plans,.page-notes
) .dashboard-empty span{font-size:12px!important}

/* Responsive: no sacrificar usabilidad por densidad */
@media(max-width:1200px){
  .page-products .prod-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-analytics .analytics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-plans .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:800px){
  .page-leads .lead-capture-flow{grid-template-columns:1fr!important}
  .page-leads .lead-capture-flow>b{display:none!important}
  .page-leads .lead-capture-stats,
  .page-reactivation .reactivation-kpis,
  .page-business .management-summary,
  .page-resources .resource-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-analytics .analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .page-products .prod-kpis,
  .page-leads .lead-capture-stats,
  .page-reactivation .reactivation-kpis,
  .page-business .management-summary,
  .page-resources .resource-stats,
  .page-analytics .analytics-kpi-grid,
  .page-plans .plan-grid{grid-template-columns:1fr!important}
}


/* ==========================================================================
   THORKIA 4.5.22 · MÓDULOS OPERATIVOS SEPARADOS
   Recursos · Profesionales · Horarios · Espacios · Albaranes · VERI*FACTU
   Usuarios · Comunicaciones · Integraciones
   ========================================================================== */

/* Horarios 4.7.11: estilos aislados en assets/business_hours_module_v4711.css. */

/* Profesionales: separación clara entre ficha operativa y acceso CRM */
.staff-access-separate{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:7px 9px;border:1px solid #DCE2EA;background:#F3F5F8;border-radius:8px;
  font-size:12px;color:#667085;
}
.staff-access-separate strong{font-size:12px;color:#344256;white-space:nowrap}
.staff-access-separate a{font-weight:900;color:#554AD5}

/* Módulos financieros que reutilizan motor sin duplicarlo */
.finance-standalone-head{
  display:flex;align-items:center;gap:8px;padding:8px 10px;margin:0 0 8px;
  border:1px solid #D9DFE7;border-radius:10px;background:#F8F9FB;
}
.finance-standalone-head>.eyebrow{margin:0;font-size:12px}
.finance-standalone-head>strong{font-size:13px;color:#202B3A}
.finance-standalone-head>.actions{margin-left:auto;gap:5px}
.finance-standalone-head .btn{min-height:27px;padding:4px 8px;font-size:12px}

/* Configuración convertida en módulos independientes sin duplicar formularios */
.settings-standalone-users .settings-save-actions,
.settings-standalone-communications .settings-save-actions,
.settings-standalone-integrations .settings-save-actions{margin-top:7px}
.settings-standalone-integrations .agenda-core-settings{display:none!important}
.settings-standalone-users .settings-tabs,
.settings-standalone-communications .settings-tabs,
.settings-standalone-integrations .settings-tabs{display:none!important}

/* Recurso/Producto en Caja y Factura PRO */
.cash-shell .sale-lines-grid{min-width:1220px}
.cash-shell .sale-line-header,
.cash-shell .sale-line-row{
  grid-template-columns:30px 82px 108px minmax(165px,1.15fr) minmax(155px,1fr) 62px 84px 68px 64px 90px 28px;
  gap:4px;
}
.cash-shell .sale-line-row .line-kind{
  padding:4px 5px!important;
  min-height:29px!important;
  font-size:12px!important;
  font-weight:850;
}
.cash-shell .line-product-results{left:116px;width:min(540px,72vw)}
.pro-invoice-window .sale-lines-grid{min-width:1220px}
.pro-invoice-window .sale-line-row,
.pro-invoice-window .sale-line-header{
  grid-template-columns:28px 82px 106px minmax(160px,1.1fr) minmax(145px,1fr) 60px 82px 66px 62px 88px 28px;
}
.pro-invoice-window .line-product-results{left:114px}

/* Catálogo de Recursos y Espacios: hacer evidente que son conceptos distintos */
.page-business .business-actionbar .business-action-copy span,
.page-resources .resource-hero p{max-width:760px}
.page-resources .resource-help{
  border-left:3px solid #6257E8!important;background:#F4F3FC!important;
}

/* Responsive */
@media(max-width:760px){
  .finance-standalone-head{align-items:flex-start;flex-wrap:wrap}
  .finance-standalone-head>.actions{margin-left:0;width:100%}
}


/* ========================================================================
   THORKIA 4.5.23 · MOSTRADOR + FILTROS DE RECURSOS
   ======================================================================== */

.page-dashboard .topbar h1{font-size:16px}
.mostrador-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px!important;margin-top:0!important}
.mostrador-head-copy{display:flex;align-items:baseline;gap:8px}
.mostrador-head-copy>.eyebrow{margin:0;font-size:12px}
.mostrador-head-copy>div{display:flex;align-items:baseline;gap:7px}
.mostrador-head-copy h2{margin:0!important;font-size:15px!important}
.mostrador-head-copy small{font-size:12px;color:#8792A2}
.mostrador-head-links{display:flex;gap:5px}
.mostrador-head-links .btn{height:27px;padding:4px 8px;font-size:12px}

.mostrador-actions-panel{padding:9px 11px!important;margin-top:7px!important}
.mostrador-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid #E3E8EE}
.mostrador-section-title>div{display:flex;align-items:baseline;gap:7px}
.mostrador-section-title .eyebrow{margin:0;font-size:12px}
.mostrador-section-title strong{font-size:12px;color:#263446}
.mostrador-section-title>small{font-size:12px;color:#8792A2;text-align:right}

.mostrador-action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:7px}
.mostrador-action{display:flex;flex-direction:column;gap:2px;min-height:67px;padding:8px;border:1px solid #DDE3EB;border-radius:9px;background:#F8FAFC;color:#263446;box-shadow:none}
.mostrador-action:hover{border-color:#BDB7F3;background:#F5F3FE;transform:translateY(-1px)}
.mostrador-action>span{font-size:12px;font-weight:950;letter-spacing:.055em;color:#7A879A}
.mostrador-action>strong{font-size:12px;line-height:1.2}
.mostrador-action>small{font-size:12px;color:#8B97A7;line-height:1.3}
.mostrador-action.primary-action{background:#6257E8;border-color:#6257E8;color:#fff}
.mostrador-action.primary-action>span,.mostrador-action.primary-action>small{color:rgba(255,255,255,.76)}
.mostrador-action.primary-action:hover{background:#554AD5;border-color:#554AD5}

.mostrador-mini-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin-top:7px}
.mostrador-mini-row>a{padding:7px 8px;border:1px solid #DDE3EB;border-radius:9px;background:#F8F9FB}
.mostrador-mini-row span{display:block;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:#758297}
.mostrador-mini-row strong{display:block;margin-top:2px;font-size:14px;color:#202B3A}
.mostrador-mini-row small{display:block;margin-top:2px;font-size:12px;color:#8A96A7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mostrador-mini-row>a:hover{border-color:#BDB7F3;background:#F7F6FE}
.mostrador-mini-row .due strong{color:#B64B5E}.mostrador-mini-row .warn strong{color:#A66B14}

.mostrador-work-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:7px;margin-top:7px}
.mostrador-work-grid>.panel{margin-top:0!important;padding:9px 11px!important}
.mostrador-appointments{max-height:215px;overflow:auto}
.mostrador-empty{min-height:76px;display:flex;align-items:center;gap:8px;padding:9px 2px 2px;color:#667085}
.mostrador-empty strong{font-size:12px;color:#344256}.mostrador-empty span{font-size:12px;color:#8A96A7}.mostrador-empty .btn{margin-left:auto}

.mostrador-pending-list{display:grid;gap:5px;margin-top:7px}
.mostrador-pending-list>a{display:grid;grid-template-columns:66px minmax(0,1fr);column-gap:7px;row-gap:1px;padding:6px 7px;border:1px solid #E0E5EC;border-radius:8px;background:#FAFBFC}
.mostrador-pending-list>a:hover{border-color:#C6C0F2;background:#F7F5FE}
.mostrador-pending-list>a>span{grid-row:1/3;font-size:12px;font-weight:950;letter-spacing:.04em;color:#7B8799;align-self:center}
.mostrador-pending-list>a>strong{font-size:12px;color:#344256}.mostrador-pending-list>a>small{font-size:12px;color:#8A96A7}
.mostrador-pending-ok{padding:10px;border:1px solid #CEE6DC;border-radius:8px;background:#EFF8F4}
.mostrador-pending-ok strong{display:block;font-size:12px;color:#27715C}.mostrador-pending-ok span{display:block;margin-top:2px;font-size:12px;color:#628679}

.mostrador-modules-panel{padding:9px 11px!important;margin-top:7px!important}
.mostrador-module-groups{display:grid;gap:8px;margin-top:8px}
.mostrador-module-group h3{margin:0 0 4px!important;font-size:12px!important;letter-spacing:.055em;text-transform:uppercase;color:#7A8799}
.mostrador-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.mostrador-module{position:relative;min-height:59px;padding:7px 20px 7px 8px;border:1px solid #DDE3EB;border-radius:8px;background:#F8FAFC}
.mostrador-module:hover{border-color:#BDB7F3;background:#F5F3FE}
.mostrador-module strong{display:block;font-size:12px;color:#344256;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mostrador-module span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:12px;line-height:1.3;color:#8A96A7}
.mostrador-module i{position:absolute;right:7px;top:7px;font-style:normal;font-size:12px;color:#6257E8}

/* Recursos: filtro compacto inspirado en Productos. */
.resource-catalog-panel{padding:9px 11px!important}
.resource-filter-bar{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(105px,.8fr) 92px 110px 86px 86px minmax(120px,1fr) auto;gap:5px;align-items:end;margin:7px 0 8px;padding:7px;border:1px solid #E0E5EC;border-radius:9px;background:#F3F5F8}
.resource-filter-bar label{display:flex;flex-direction:column;gap:2px;min-width:0}
.resource-filter-bar label>span{font-size:12px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;color:#748197}
.resource-filter-bar input,.resource-filter-bar select{width:100%;min-width:0;height:30px!important;min-height:30px!important;padding:5px 7px!important;border-radius:7px!important;font-size:12px!important}
.resource-filter-actions{display:flex;gap:4px;align-items:center}.resource-filter-actions .btn{height:30px!important;white-space:nowrap}
.resource-filter-table th{white-space:nowrap}.resource-filter-table td{vertical-align:middle}.resource-filter-table td:nth-child(4){max-width:210px}
.resource-filter-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;gap:2px;color:#7A8799}
.resource-filter-empty strong{font-size:12px;color:#455468}.resource-filter-empty span{font-size:12px}

@media(max-width:1250px){
 .mostrador-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mostrador-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .resource-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){.mostrador-work-grid{grid-template-columns:1fr}.mostrador-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 .mostrador-head{align-items:flex-start;flex-direction:column}
 .mostrador-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mostrador-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .resource-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .resource-filter-actions{grid-column:1/-1}
}
@media(max-width:460px){.mostrador-action-grid,.mostrador-module-grid,.resource-filter-bar{grid-template-columns:1fr}}

/* ========================================================================
   THORKIA 4.5.26 · PRODUCTO/CONCEPTO → PEDIDO → COBRO/ALBARÁN
   ======================================================================== */

/* Presupuestos: Producto/Concepto comparten estructura comercial; profesional solo en Recurso. */
.bud-line-table-v3{min-width:1120px}
.bud-line-table-v3 .bud-no-col{width:92px}.bud-line-table-v3 .bud-ref-col{width:110px}.bud-line-table-v3 .bud-kind-col{width:90px}
.bud-type-product .bud-prof-cell select,.bud-type-concept .bud-prof-cell select{display:none!important}
.bud-type-product .bud-prof-cell:after,.bud-type-concept .bud-prof-cell:after{content:'—';display:block;text-align:center;color:#9AA4B2;font-weight:800}
.bud-type-product .bud-prof-cell input[type=hidden],.bud-type-concept .bud-prof-cell input[type=hidden]{display:none!important}

/* Productos: filtros largos, compactos y realmente utilizables. */
.page-products .prod-filter-extended{grid-template-columns:minmax(210px,1.45fr) repeat(9,minmax(90px,.72fr)) auto auto!important;gap:5px!important}
.page-products .prod-filter-extended label{min-width:0}
.page-products .prod-filter-extended input,.page-products .prod-filter-extended select{height:31px!important;min-height:31px!important;padding:5px 7px!important}

/* Pedidos de venta. */
.page-orders .panel{padding:9px 11px!important;border-radius:11px!important}
.order-list-head,.order-command{display:flex;justify-content:space-between;align-items:center;gap:12px}
.order-list-head h2,.order-command h2{font-size:15px!important;margin:2px 0!important}
.order-list-head p,.order-command small{font-size:12px!important;color:#7D899A}
.order-list-kpis{display:flex;gap:5px;flex-wrap:wrap}.order-list-kpis span{display:inline-flex;align-items:baseline;gap:4px;padding:5px 7px;border:1px solid #DCE2E9;border-radius:8px;background:#F7F9FB;font-size:12px;color:#7A8799}.order-list-kpis b{font-size:12px;color:#263446}
.order-filter{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) 120px 120px auto auto;gap:5px;align-items:end}.order-filter label{display:grid;gap:2px;font-size:12px;font-weight:900;color:#748197}.order-filter input{height:30px!important;min-height:30px!important;padding:5px 7px!important;font-size:12px!important}
.order-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:7px 0}.order-kpis article{padding:7px 8px;border:1px solid #DDE3EB;border-radius:9px;background:#F8F9FB}.order-kpis span{display:block;font-size:12px;text-transform:uppercase;font-weight:950;color:#748197}.order-kpis strong{display:block;font-size:14px;margin-top:2px;color:#263446}.order-kpis small{display:block;font-size:12px;color:#8A96A7;margin-top:2px}.order-kpis .violet{border-color:#CBC7F4;background:#F5F3FE}.order-kpis .violet strong{color:#5B51D8}.order-kpis .warn strong{color:#A66B14}
.order-editor .section-head-inline{margin-bottom:7px}.order-lines-wrap{overflow:auto}.order-lines{min-width:1370px}.order-lines th{font-size:12px!important;white-space:nowrap}.order-lines td{padding:5px!important;vertical-align:middle}.order-lines input,.order-lines select{height:29px!important;min-height:29px!important;padding:4px 6px!important;font-size:12px!important;border-radius:6px!important}.order-lines .ol-code{width:86px}.order-lines .ol-ref{width:100px}.order-lines .ol-qty,.order-lines .ol-send{width:78px}.order-lines .ol-unit,.order-lines .ol-tax,.order-lines .ol-dto{width:74px}.order-lines .ol-pending,.order-lines .ol-sent,.order-lines .ol-total{white-space:nowrap;font-size:12px;font-weight:850}.order-product-cell{position:relative;min-width:190px}.order-product-results{display:none;position:absolute;z-index:50;left:5px;right:5px;top:35px;max-height:230px;overflow:auto;background:#fff;border:1px solid #CFD7E2;border-radius:8px;box-shadow:0 12px 30px #24334c20}.order-product-results.show{display:block}.order-product-results button{display:flex;justify-content:space-between;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid #EDF0F4;background:#fff;padding:7px 8px;text-align:left;cursor:pointer}.order-product-results button:hover{background:#F5F3FE}.order-product-results span{display:flex;flex-direction:column;min-width:0}.order-product-results strong{font-size:12px}.order-product-results small{font-size:12px;color:#8A96A7}.order-product-results em{font-style:normal;font-size:12px;font-weight:850;white-space:nowrap;color:#5B51D8}
.order-save-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:7px}.order-sign-state{margin-right:auto;font-size:12px;color:#7E8999}.order-sign-state.signed{color:#27715C;font-weight:850}.order-exit{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-exit h2{font-size:13px!important;margin:2px 0!important}.order-exit p{font-size:12px!important}.order-exit-actions{display:flex;gap:5px;flex-wrap:wrap}.order-exit-actions .btn{min-height:31px}.btn.green{background:#269978!important;border-color:#269978!important;color:#fff!important}
.order-sign-modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:20px;background:#17233c70}.order-sign-modal.open{display:flex}.order-sign-modal>section{width:min(760px,96vw);padding:15px;border:1px solid #D6DEE8;border-radius:13px;background:#F8F9FB;box-shadow:0 25px 70px #17233c30}.order-sign-modal label{display:grid;gap:4px;margin:10px 0;font-size:12px;font-weight:850;color:#627086}.order-sign-modal input{height:34px!important}.order-sign-modal canvas{display:block;width:100%;height:190px;background:#fff;border:1px solid #CBD4E0;border-radius:9px;touch-action:none}.order-sign-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}

/* Albaranes: filtros operativos para crédito/entregas. */
.delivery-filter-bar{display:grid;grid-template-columns:minmax(170px,1.3fr) repeat(10,minmax(86px,.7fr)) auto;gap:5px;align-items:end;margin:7px 0;padding:7px;border:1px solid #E0E5EC;border-radius:9px;background:#F3F5F8}.delivery-filter-bar label{display:grid;gap:2px;min-width:0;font-size:12px;font-weight:900;color:#748197}.delivery-filter-bar input,.delivery-filter-bar select{height:30px!important;min-height:30px!important;padding:5px 7px!important;font-size:12px!important}.delivery-filter-actions{display:flex;gap:4px}.delivery-note-explainer{display:flex;gap:8px;align-items:baseline;padding:6px 8px;border:1px solid #E2E7EE;border-radius:8px;background:#FAFBFC;font-size:12px;color:#7A8799;margin-bottom:6px}.delivery-note-explainer strong{color:#455468;white-space:nowrap}.delivery-note-explainer b{color:#5B687A}

@media(max-width:1280px){.page-products .prod-filter-extended{grid-template-columns:repeat(5,minmax(0,1fr))!important}.delivery-filter-bar{grid-template-columns:repeat(5,minmax(0,1fr))}.order-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.order-list-head,.order-command,.order-exit{align-items:flex-start;flex-direction:column}.order-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.order-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-filter-bar,.page-products .prod-filter-extended{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:500px){.order-filter,.order-kpis,.delivery-filter-bar,.page-products .prod-filter-extended{grid-template-columns:1fr!important}}


/* THORKIA 4.5.27 · Nº y Referencia son columnas distintas en TPV/Factura PRO */
.cash-shell .sale-lines-grid,
.pro-invoice-window .sale-lines-grid{min-width:1320px!important}
.cash-shell .sale-line-header,
.cash-shell .sale-line-row,
.pro-invoice-window .sale-line-header,
.pro-invoice-window .sale-line-row{
  grid-template-columns:28px 82px 72px 102px minmax(160px,1.12fr) minmax(135px,.92fr) 60px 82px 66px 62px 88px 28px!important;
  gap:4px!important;
}
.cash-shell .line-product-results,
.pro-invoice-window .line-product-results{left:190px!important;width:min(560px,72vw)!important}

/* THORKIA 4.6.89 · Profesionales: ficha lógica y baja sin borrado */
.professional-three-blocks-v4689{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;margin:10px 0}
.professional-block-v4689{min-width:0;padding:12px;border:1px solid #dfe5ef;border-radius:11px;background:#fbfcff}
.professional-block-head-v4689{display:flex;flex-direction:column;gap:2px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #e8ecf3}.professional-block-head-v4689 strong{font-size:12px;color:#26364d}.professional-block-head-v4689 small{font-size:12px;color:#8390a3}
.professional-block-fields-v4689{display:grid;grid-template-columns:1fr;gap:8px}.professional-block-fields-v4689>label{min-width:0;font-size:12px;font-weight:850;color:#526176}.professional-block-fields-v4689 input,.professional-block-fields-v4689 select{margin-top:4px;min-height:34px;padding:7px 8px;font-size:12px}.professional-block-fields-v4689 small{display:block;margin-top:3px;font-size:12px;color:#8b97a8;font-weight:500}
.professional-block-v4689 .staff-check-grid.compact{grid-template-columns:1fr 1fr;gap:6px}.professional-block-v4689 .staff-check-grid.compact label{font-size:12px;min-height:31px;padding:6px 7px}.professional-block-note-v4689{margin:8px 0 0;font-size:12px;color:#8491a4}
.professional-access-note-v4689{display:flex;flex-direction:column;gap:3px;margin-top:9px;padding:8px;border:1px solid #dedcf8;border-radius:8px;background:#f7f6ff}.professional-access-note-v4689 strong{font-size:12px;color:#554ad5}.professional-access-note-v4689 span{font-size:12px;line-height:1.45;color:#6d7890}.professional-access-note-v4689 a{font-weight:850;color:#554ad5}
.professional-employment-state-v4689{align-items:flex-start!important}.professional-employment-state-v4689 input{margin-top:2px!important}.professional-employment-state-v4689 span{display:flex;flex-direction:column;gap:2px}.professional-employment-state-v4689 strong{font-size:12px;color:#334155}
@media(max-width:1100px){.professional-three-blocks-v4689{grid-template-columns:1fr 1fr}.professional-three-blocks-v4689>.professional-block-v4689:last-child{grid-column:1/-1}}
@media(max-width:700px){.professional-three-blocks-v4689{grid-template-columns:1fr}.professional-three-blocks-v4689>.professional-block-v4689:last-child{grid-column:auto}.professional-block-v4689 .staff-check-grid.compact{grid-template-columns:1fr}}

/* THORKIA 4.6.90 · Relación/retribución y especialidades compactas */
.professional-specialties-v4690{min-width:145px}.professional-specialties-v4690 summary{display:inline-flex;align-items:center;gap:5px;list-style:none;cursor:pointer;user-select:none}.professional-specialties-v4690 summary::-webkit-details-marker{display:none}.professional-specialties-v4690 summary i{font-style:normal;font-size:12px;color:#718096;transition:transform .18s}.professional-specialties-v4690[open] summary i{transform:rotate(180deg)}
.professional-specialties-pop-v4690{margin-top:7px;padding:9px;border:1px solid #dfe5ee;border-radius:9px;background:#fff;box-shadow:0 6px 18px rgba(28,43,68,.08)}.professional-specialties-pop-v4690>strong{display:block;margin-bottom:6px;font-size:12px;color:#56657a}.professional-specialties-pop-v4690>div{display:flex;flex-wrap:wrap;gap:4px}.professional-specialties-pop-v4690>div span{display:inline-flex;padding:4px 6px;border-radius:999px;background:#f0f3f8;color:#4e5d72;font-size:12px;font-weight:800}
.professional-block-fields-v4689 [data-settlement-percentage-v4690][hidden]{display:none!important}

/* THORKIA 4.5.29 · Pedidos, autorizados y firma */
.order-sign-modal select{height:34px!important;border:1px solid #CBD4E0;border-radius:8px;background:#fff;padding:6px 8px}
.order-authorized-info{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #DDE3EB;border-radius:8px;background:#fff;color:#66758A;font-size:12px;margin:7px 0}
.order-authorized-info strong{font-size:12px;color:#273648}.order-authorized-info span{font-size:12px}
.order-sign-pad-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:9px 0 5px}.order-sign-pad-head strong{font-size:12px}.order-sign-pad-head span{font-size:12px;color:#7A8799}
.order-new-card{border:1px solid #DCE2EA;background:#F8F9FB;border-radius:10px;padding:11px;margin:9px 0}.order-new-card h3{margin:2px 0}.order-new-card form{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(220px,1fr) auto;gap:7px;align-items:end}.order-new-card label{display:grid;gap:3px;font-size:12px;font-weight:850;color:#627086}.order-new-card input{height:32px!important}.order-client-picker{position:relative}.order-client-picker .bud-product-results{top:35px}
.order-list-table .table-sub{display:block;font-size:12px;color:#8A96A7;margin-top:2px}.text-violet{color:#5B51D8!important}
@media(max-width:850px){.order-new-card form{grid-template-columns:1fr}}

/* THORKIA 4.5.90 · Usuarios/Roles + Admin Captación */
.access-summary-grid-pro{grid-template-columns:repeat(4,minmax(0,1fr))}
.access-control-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-top:12px}
.access-control-head h2{margin:2px 0 3px}.access-control-head p{margin:0;max-width:780px}
.access-control-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.access-view-switch{display:flex;gap:4px;padding:4px;border:1px solid #e2e7ef;border-radius:12px;background:#f5f7fb}
.access-view-switch a{display:flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border-radius:9px;color:#617086;font-size:12px;font-weight:900;text-decoration:none}
.access-view-switch a.active{background:#fff;color:#554ad5;box-shadow:0 3px 10px rgba(49,46,129,.09)}
.access-security-compact{padding:0;margin-top:12px;overflow:hidden}.access-security-compact summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;cursor:pointer}.access-security-compact summary::-webkit-details-marker{display:none}.access-security-compact summary span:first-child{display:flex;align-items:baseline;gap:10px}.access-security-compact summary strong{font-size:12px}.access-security-compact summary small{font-size:12px;color:#8792a4}.access-security-body{padding:0 16px 15px;border-top:1px solid #eef1f5}.access-security-body .access-password-form{margin-top:12px}.access-security-next{display:block;margin-top:8px;color:#8995a7;font-size:12px}
.access-users-panel-pro{margin-top:12px}.access-create-user-pro{max-width:980px;margin:12px auto 0}.access-create-form-pro{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-create-form-pro .span2{grid-column:1/-1}
.access-role-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:start;margin-top:12px}.access-role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.access-role-card{padding:12px;border:1px solid #e4e8ef;border-radius:12px;background:#fbfcff}.access-role-card.owner{background:#fbf7ff;border-color:#eadcff}.access-role-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.access-role-card strong{font-size:12px;color:#263348}.access-role-card span{font-size:12px;font-weight:900;color:#6f7f95;background:#eef2f7;padding:4px 6px;border-radius:999px}.access-role-card p{margin:7px 0 8px;font-size:12px;line-height:1.45;color:#6f7d90}.access-role-card small{font-size:12px;color:#8c98aa}.access-custom-role-list{display:grid;gap:7px;margin-top:12px}.access-custom-role-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e4e8ef;border-radius:11px;background:#fff}.access-custom-role-list article>div:first-child{min-width:0}.access-custom-role-list strong{display:block;font-size:12px}.access-custom-role-list small{display:block;margin-top:3px;color:#8190a3;font-size:12px;overflow-wrap:anywhere}.access-role-list-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}.access-role-list-meta>span{font-size:12px;font-weight:850;color:#66758a;background:#f2f4f8;border-radius:999px;padding:5px 7px}.access-role-editor{max-width:1050px;margin:12px auto 0}.access-role-form-head{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:12px}.access-role-form .access-permissions-block{margin-top:14px}.access-role-form .editor-actions{margin-top:14px}.access-role-form .btn.danger{margin-right:auto}

.admin-capture-page{display:grid;gap:12px}.admin-capture-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-capture-kpis article{padding:13px 14px;border:1px solid #dfe6ef;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(29,43,68,.05)}.admin-capture-kpis article.attention{border-color:#f4d8a5;background:#fffaf1}.admin-capture-kpis span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#7a879a;font-weight:900}.admin-capture-kpis strong{display:block;margin-top:4px;font-size:16px;color:#19283d}.admin-capture-kpis small{display:block;margin-top:3px;font-size:12px;color:#8491a3}
.admin-capture-toolbar{padding:12px}.admin-capture-toolbar form{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(130px,.65fr)) auto;gap:8px;align-items:end}.admin-capture-toolbar label{font-size:12px;font-weight:850;color:#5f6c80}.admin-capture-toolbar input,.admin-capture-toolbar select{margin-top:4px;min-height:34px;font-size:12px}.capture-filter-actions{display:flex;gap:6px;align-items:center}.capture-prospect-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.capture-prospect-form label{min-width:0}.capture-prospect-form .capture-wide{grid-column:span 2}.capture-prospect-form textarea{resize:vertical}.capture-prospect-form small{display:block;margin-top:4px;color:#8a96a8;font-size:12px}.capture-form-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e4e8f2;border-radius:10px;background:#f8f9ff}.capture-form-note strong{font-size:12px;white-space:nowrap;color:#554ad5}.capture-form-note span{font-size:12px;line-height:1.45;color:#69778c}.admin-capture-editor .actions{justify-content:flex-end}
.admin-capture-table table{min-width:1180px}.admin-capture-table td{vertical-align:top}.admin-capture-table td:first-child{min-width:180px}.admin-capture-table td:nth-child(2){min-width:210px}.admin-capture-table td:nth-child(6){min-width:170px}.capture-quality{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900}.capture-quality.pending{background:#eef2f7;color:#64748b}.capture-quality.high{background:#dcfce7;color:#16734a}.capture-quality.medium{background:#fff5d8;color:#9a6400}.capture-quality.low{background:#fee9e9;color:#a33b3b}.capture-state-form select{min-width:130px;min-height:30px;padding:4px 24px 4px 7px;font-size:12px}.capture-row-due{background:#fffaf3}.capture-due-text{color:#b36a00}.capture-activity-layout{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:14px}.capture-activity-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;border:1px solid #e4e8ef;border-radius:12px;background:#fbfcff}.capture-activity-form .capture-wide{grid-column:1/-1}.capture-activity-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:3px}.capture-activity-list article{padding:11px 12px;border:1px solid #e4e8ef;border-radius:11px;background:#fff}.capture-activity-list article>div{display:flex;justify-content:space-between;gap:10px}.capture-activity-list strong{font-size:12px}.capture-activity-list span{font-size:12px;color:#8693a5}.capture-activity-list p{margin:6px 0 0;font-size:12px;color:#526176}.capture-activity-list small{display:block;margin-top:7px;color:#6f7e92;font-size:12px}
@media(max-width:1300px){.access-summary-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-capture-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-capture-toolbar form{grid-template-columns:repeat(3,minmax(0,1fr))}.capture-search{grid-column:span 2}.capture-prospect-form{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-prospect-form .capture-wide{grid-column:1/-1}}
@media(max-width:900px){.access-control-head{align-items:flex-start;flex-direction:column}.access-control-actions{width:100%;justify-content:space-between}.access-role-layout{grid-template-columns:1fr}.access-create-form-pro,.access-role-form-head{grid-template-columns:1fr}.access-create-form-pro .span2{grid-column:auto}.admin-capture-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-capture-toolbar form{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-search{grid-column:1/-1}.capture-activity-layout{grid-template-columns:1fr}}
@media(max-width:620px){.access-summary-grid-pro,.access-role-cards,.admin-capture-kpis,.admin-capture-toolbar form,.capture-prospect-form,.capture-activity-form{grid-template-columns:1fr}.capture-search,.capture-prospect-form .capture-wide,.capture-activity-form .capture-wide{grid-column:auto}.access-control-actions{align-items:stretch;flex-direction:column}.access-view-switch{width:100%}.access-view-switch a{flex:1}.access-role-list-meta{align-items:flex-end;flex-direction:column}.capture-filter-actions{grid-column:1/-1}}


/* THORKIA 4.8.55 · paleta global neutra gris · sin morado decorativo */
:root{
  --primary:#5f6773;--primary-2:#4b5563;
}
.btn.primary,.save-strong{background:#5f6773!important;border-color:#5f6773!important;color:#fff!important;box-shadow:none!important}
.btn.primary:hover,.save-strong:hover{background:#4b5563!important;border-color:#4b5563!important;filter:none!important}
.eyebrow,.settings-save-kicker{color:#5f6773!important}
input:focus,select:focus,textarea:focus{border-color:#9aa3af!important;box-shadow:0 0 0 3px rgba(95,103,115,.10)!important}
.badge:not(.green):not(.red):not(.amber),.chip:not(.green):not(.red):not(.amber){background:#eef1f4!important;color:#4b5563!important}
.nav a.active{background:#eef1f4!important;color:#374151!important;box-shadow:inset 3px 0 0 #6b7280!important}
.sidebar-menu-gear:hover,.sidebar-menu-gear.active{background:#eef1f4!important;color:#4b5563!important}
.side-bottom a:hover{color:#4b5563!important}
