:root{--bg:#f4f6f8;--card:#fff;--text:#172029;--muted:#6d7b8a;--line:#dfe5ea;--brand:#f2692e;--brand-dark:#d84a1b;--nav:#172029;--success:#188a55;--danger:#c0392b;--warning:#b7791f;--info:#2b6cb0;--radius:14px;--shadow:0 8px 28px rgba(23,32,41,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px}.app{min-height:100vh;display:flex}.sidebar{width:255px;background:var(--nav);color:#fff;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:210px;height:auto;opacity:.99}.nav{padding:14px 10px}.nav-section{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7f91a2;padding:14px 12px 7px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:3px 0;color:#dbe4eb;text-decoration:none;border-radius:10px;font-weight:600}.nav a:hover,.nav a.active{background:rgba(242,105,46,.16);color:#fff}.nav .ico{width:22px;text-align:center}.main{margin-left:255px;min-width:0;width:calc(100% - 255px)}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.menu-btn{display:none;background:none;border:0;font-size:23px}.top-user{display:flex;align-items:center;gap:10px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--nav);color:#fff;display:grid;place-items:center;font-weight:800}.content{padding:22px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{margin:0;font-size:27px}.page-head p{margin:5px 0 0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;background:#e9eef2;color:#172029;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}.btn:hover{filter:brightness(.98)}.btn-primary{background:var(--brand);color:#fff}.btn-dark{background:var(--nav);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:7px 10px;font-size:13px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:18px}.card-title{font-size:17px;font-weight:800;margin:0 0 12px}.kpi{padding:18px}.kpi .label{color:var(--muted);font-weight:700}.kpi .value{font-size:30px;font-weight:850;margin-top:8px}.kpi .hint{font-size:12px;color:var(--muted);margin-top:5px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#637282;background:#fafbfc}.table tr:hover td{background:#fbfcfd}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;background:#edf1f4;color:#475569}.badge-success{background:#e7f6ee;color:#137347}.badge-warning{background:#fff4d6;color:#8a5a00}.badge-danger{background:#fdeceb;color:#a72f25}.badge-info{background:#e9f2ff;color:#285d96}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}.field label{display:block;font-weight:800;margin-bottom:6px;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7df;background:#fff;border-radius:10px;padding:10px 11px;font:inherit;color:inherit;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,105,46,.12)}.help{color:var(--muted);font-size:12px;margin-top:5px}.filters{padding:14px;margin-bottom:16px}.filters .form-grid{align-items:end}.alert{border-radius:10px;padding:12px 14px;margin:0 0 14px;font-weight:650}.alert-success{background:#e7f6ee;color:#126d44}.alert-danger{background:#fdeceb;color:#9c2d24}.alert-warning{background:#fff5d9;color:#815400}.alert-info{background:#e8f2ff;color:#245889}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow:auto}.tabs a{padding:10px 12px;text-decoration:none;color:var(--muted);font-weight:800;border-bottom:3px solid transparent;white-space:nowrap}.tabs a.active{color:var(--brand-dark);border-color:var(--brand)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{overflow:hidden}.product-img{height:180px;background:#edf1f4;display:grid;place-items:center;overflow:hidden}.product-img img{width:100%;height:100%;object-fit:cover}.product-img .placeholder{font-size:45px;color:#9ba8b4}.product-info{padding:14px}.product-info h3{margin:0 0 6px;font-size:17px}.price{display:flex;gap:8px;align-items:baseline}.price .offer{font-size:20px;font-weight:850;color:var(--brand-dark)}.price .list{text-decoration:line-through;color:#8795a4}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#111922,#22303c);padding:20px}.login-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.login-logo{display:block;width:300px;max-width:100%;margin:0 auto 24px}.login-card h1{text-align:center;margin:0 0 6px}.login-card .subtitle{text-align:center;color:var(--muted);margin-bottom:22px}.login-card .field{margin-bottom:13px}.sep{height:1px;background:var(--line);margin:18px 0}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-0{margin-bottom:0}.stack{display:flex;flex-direction:column;gap:10px}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.empty{padding:35px;text-align:center;color:var(--muted)}.thumb{width:52px;height:52px;border-radius:9px;object-fit:cover;background:#eef2f5}.file-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.codebox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#f4f6f8;border:1px solid var(--line);border-radius:8px;padding:10px}.sidebar-overlay{display:none}.footer-note{color:var(--muted);font-size:12px;text-align:center;padding:18px}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:170px;border-bottom:1px solid var(--line);padding-top:10px}.chart-bar{flex:1;background:linear-gradient(#f2692e,#d84a1b);min-height:3px;border-radius:6px 6px 0 0;position:relative}.chart-bar span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted)}
@media(max-width:1150px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.col-3{grid-column:span 6}.col-2{grid-column:span 4}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:15}.main{margin-left:0;width:100%}.menu-btn{display:block}.topbar{padding:0 14px}.content{padding:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-2{grid-template-columns:1fr}.col-8,.col-6,.col-4,.col-3,.col-2{grid-column:span 12}.page-head{flex-direction:column}.actions{width:100%}}
@media(max-width:560px){.grid-4{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.btn{width:100%}.actions .btn{flex:1}.table th,.table td{padding:9px 10px}.login-card{padding:21px}.top-user .user-copy{display:none}}
@media print{.sidebar,.topbar,.actions,.filters,.btn{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none}}
.hidden{display:none!important}input[type="checkbox"]{accent-color:var(--brand)}a{color:#b8441f}.card a:not(.btn){font-weight:700}
/* v1.1 · Presupuestos, agenda, avisos e importación */
.nav-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;display:inline-grid;place-items:center;font-size:11px;font-weight:850}.kpi-alert{border-color:#f2c3ba;background:#fff8f6}.kpi-alert .value{color:var(--danger)}.reminder-card{border-left:5px solid var(--brand)}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.reminder-row:last-child{border-bottom:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-toolbar h2{margin:0;font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head{border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden}.calendar-head>div{padding:9px;text-align:center;background:#f8fafb;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.calendar-body{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{min-height:128px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;background:#fff;min-width:0}.calendar-day.today{background:#fff8f4;box-shadow:inset 0 0 0 2px rgba(242,105,46,.28)}.calendar-day.empty-day{background:#f7f9fa}.day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:850}.day-number a{width:22px;height:22px;border-radius:7px;background:#eef2f5;text-decoration:none;display:grid;place-items:center}.day-events{display:flex;flex-direction:column;gap:4px}.calendar-event{display:block;border-radius:6px;padding:5px 6px;background:#e9f2ff;color:#285d96;text-decoration:none;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{font-weight:850}.calendar-event.followup-event{background:#fff4d6;color:#8a5a00}.calendar-event.event-done{background:#e7f6ee;color:#137347;text-decoration:line-through}.calendar-event.event-cancelled{background:#f1f3f5;color:#7b8794;text-decoration:line-through}
@media(max-width:850px){.calendar-body,.calendar-head{min-width:760px}.calendar-card-scroll{overflow:auto}.calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.reminder-row{align-items:flex-start;flex-direction:column}.reminder-row .inline{width:100%}}
/* v1.4 · tema claro/oscuro, entregas, reservas y cobros */
.theme-form{margin:0}.theme-toggle{min-width:88px}.stock-negative{color:var(--danger);font-weight:850}.stock-ok{color:var(--success);font-weight:850}.due-overdue{border-left:5px solid var(--danger)}.due-soon{border-left:5px solid var(--warning)}.due-snoozed{opacity:.72}.mini-stat{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.mini-stat:last-child{border-bottom:0}.progress{height:8px;border-radius:999px;background:#e7ebef;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand);border-radius:inherit}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px}.table td.wrap{white-space:normal;min-width:220px}
html[data-theme="dark"]{color-scheme:dark;--bg:#0d1319;--card:#151d25;--text:#e7edf3;--muted:#9bacbc;--line:#293541;--nav:#0a0f14;--shadow:0 8px 28px rgba(0,0,0,.28);--brand-dark:#ff8350}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .topbar{background:#121920;border-color:var(--line)}
html[data-theme="dark"] .card{background:var(--card);border-color:var(--line)}
html[data-theme="dark"] .btn{background:#26323d;color:#ecf1f5}
html[data-theme="dark"] .btn-primary{background:var(--brand);color:#fff}
html[data-theme="dark"] .btn-dark{background:#05080b;color:#fff;border:1px solid #34414d}
html[data-theme="dark"] .btn-success{background:var(--success);color:#fff}
html[data-theme="dark"] .btn-danger{background:var(--danger);color:#fff}
html[data-theme="dark"] .table th{background:#11181f;color:#9fb0c0}
html[data-theme="dark"] .table tr:hover td{background:#18222b}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea{background:#0f161d;border-color:#34414d;color:#e7edf3}
html[data-theme="dark"] .field input::placeholder,html[data-theme="dark"] .field textarea::placeholder{color:#718292}
html[data-theme="dark"] .badge{background:#26323d;color:#d7e0e8}
html[data-theme="dark"] .badge-success{background:#173b2b;color:#8ee0b5}
html[data-theme="dark"] .badge-warning{background:#443516;color:#f1c56a}
html[data-theme="dark"] .badge-danger{background:#48231f;color:#f2a39a}
html[data-theme="dark"] .badge-info{background:#18344f;color:#9cc7ef}
html[data-theme="dark"] .alert-success{background:#173b2b;color:#9ee6c0}
html[data-theme="dark"] .alert-danger{background:#48231f;color:#f4aaa2}
html[data-theme="dark"] .alert-warning{background:#443516;color:#f2cc78}
html[data-theme="dark"] .alert-info{background:#18344f;color:#a8cff1}
html[data-theme="dark"] .codebox{background:#0f161d;border-color:#34414d}
html[data-theme="dark"] .product-img,html[data-theme="dark"] .thumb{background:#202a34}
html[data-theme="dark"] .calendar-head>div{background:#11181f}
html[data-theme="dark"] .calendar-day{background:#151d25}
html[data-theme="dark"] .calendar-day.today{background:#2a1b15}
html[data-theme="dark"] .calendar-day.empty-day{background:#10171d}
html[data-theme="dark"] .day-number a{background:#26323d}
html[data-theme="dark"] .kpi-alert{background:#291916;border-color:#5d3029}
html[data-theme="dark"] .progress{background:#26323d}
html[data-theme="dark"] a{color:#ff8b5c}
html[data-theme="dark"] .login-card{background:#fff;color:#172029}
html[data-theme="dark"] .login-card .muted,html[data-theme="dark"] .login-card .subtitle{color:#6d7b8a}
@media(max-width:560px){.theme-toggle{min-width:44px;width:auto}.theme-label{display:none}.top-user{gap:6px}.topbar .btn{width:auto}}
/* v1.5 · partes de trabajo, técnicos, fotos, firma y certificados */
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(127,145,162,.04)}
.work-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.work-photo{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.work-photo>a{display:block;height:180px;background:#edf1f4}.work-photo img{width:100%;height:100%;object-fit:cover;display:block}.work-photo>div{padding:12px}.signature-pad-wrap{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;touch-action:none}.signature-pad-wrap canvas{width:100%;height:auto;max-height:220px;display:block;background:#fff;border-radius:8px;touch-action:none}.signature-existing{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.signature-existing img{width:min(360px,100%);max-height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}.work-status-actions{position:relative}.work-status-actions .actions{align-items:center}.btn-warning{background:var(--warning);color:#fff}.work-photo .muted{white-space:normal}.work-photo form{margin:0}
html[data-theme="dark"] .check-grid{background:#10171d}html[data-theme="dark"] .work-photo>a{background:#202a34}html[data-theme="dark"] .signature-pad-wrap,html[data-theme="dark"] .signature-existing img{background:#fff}
@media(max-width:1050px){.work-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.work-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{grid-template-columns:1fr}.work-status-actions .btn{flex:1}.signature-existing{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.work-photo-grid{grid-template-columns:1fr}.work-photo>a{height:220px}}
/* v2.0 · nueva interfaz, fichas, portal de clientes, manuales y chat */
.version-pill{margin-left:auto;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.1);color:#ffd7c6;font-size:10px;font-weight:900;white-space:nowrap}.topbar-title{display:flex;flex-direction:column;min-width:0;margin-right:auto;margin-left:14px}.topbar-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title span{font-size:11px;color:var(--muted)}.profile-chip{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border:1px solid var(--line);border-radius:999px;text-decoration:none!important;background:var(--card);color:var(--text)!important;min-width:0}.profile-chip img,.profile-chip .avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.profile-chip .user-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0}.profile-chip .user-copy strong{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chip .user-copy small{font-size:10px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--brand-dark);text-transform:uppercase;margin-bottom:5px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head .card-title{margin-bottom:3px}.section-head p{margin:0}.dashboard-hero{padding:5px 0}.dashboard-kpis .kpi-link{text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}.dashboard-kpis .kpi-link:hover{transform:translateY(-2px);border-color:#f2b79f}.kpi-accent{border-left:4px solid var(--brand)}.kpi-ok{border-color:#a5d5bb}.compact-list{gap:0}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row-link{text-decoration:none!important;color:inherit!important}.profile-hero{overflow:hidden}.profile-hero-inner{display:flex;align-items:center;gap:20px;background:linear-gradient(115deg,rgba(242,105,46,.08),transparent 55%)}.profile-avatar-large,.client-avatar-large{width:92px;height:92px;border-radius:24px;object-fit:cover;flex:0 0 auto;border:1px solid var(--line);background:#fff}.profile-avatar-large{display:grid;place-items:center;background:var(--nav);color:#fff;font-size:28px;font-weight:900}.profile-avatar-large img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.danger-zone{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.danger-zone summary{color:var(--danger);font-weight:800;cursor:pointer}.client-identity{display:flex;align-items:center;gap:15px}.client-avatar-fallback{display:grid;place-items:center;background:var(--nav);color:#fff;font-weight:900;font-size:25px}.portal-photo-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.portal-photo-mini{position:relative;height:105px;border-radius:10px;overflow:hidden;background:#e8edf1}.portal-photo-mini img{width:100%;height:100%;object-fit:cover;display:block}.portal-photo-mini span{position:absolute;left:6px;bottom:6px;padding:3px 6px;border-radius:6px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;font-weight:800}.system-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.system-check-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.system-check-row.ok{border-left:4px solid var(--success)}.system-check-row.bad{border-left:4px solid var(--danger)}.system-check-row.warn{border-left:4px solid var(--warning)}.system-check-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef2f5;font-weight:900}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Área pública/privada de clientes */
.portal-body{min-height:100vh;background:#f4f6f8;color:#172029}.portal-top{min-height:70px;background:#fff;border-bottom:1px solid #dfe5ea;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px max(18px,calc((100% - 1240px)/2));position:sticky;top:0;z-index:10}.portal-brand img{width:230px;max-width:38vw;display:block}.portal-nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.portal-nav a{padding:9px 11px;border-radius:9px;text-decoration:none;color:#526171;font-weight:750;font-size:13px}.portal-nav a:hover,.portal-nav a.active{background:#fff0e9;color:#b8441f}.portal-main{max-width:1240px;margin:0 auto;padding:24px 18px 48px}.portal-welcome{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding:12px 15px;border-radius:12px;background:#fff;border:1px solid #dfe5ea}.portal-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.portal-page-head h1{margin:0;font-size:30px}.portal-page-head p{margin:6px 0 0;color:#6d7b8a}.portal-footer{text-align:center;padding:18px;color:#758392;font-size:12px;border-top:1px solid #dfe5ea;background:#fff}.portal-auth-shell{min-height:100vh;background:linear-gradient(135deg,#111922,#293844);display:grid;place-items:center;padding:24px}.portal-auth-card{width:min(480px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.portal-register-card{width:min(850px,100%)}.portal-auth-card h1{margin:3px 0 18px;text-align:center}.portal-auth-card .eyebrow{text-align:center}.portal-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-photo{margin:0;border:1px solid #dfe5ea;border-radius:12px;overflow:hidden;background:#fff}.portal-photo>a{display:block;height:190px;background:#edf1f4}.portal-photo img{width:100%;height:100%;object-fit:cover}.portal-photo figcaption{padding:10px;display:flex;flex-direction:column;gap:5px}.portal-totals{margin-left:auto;max-width:420px}.portal-totals>div{display:flex;justify-content:space-between;padding:5px 0}.portal-totals .grand{font-size:20px;padding-top:12px;border-top:1px solid #dfe5ea}.portal-body .card{background:#fff}.portal-body .field input,.portal-body .field select,.portal-body .field textarea{background:#fff;color:#172029}.portal-body .table th{background:#fafbfc;color:#637282}
/* Chat tipo conversación en vivo por polling */
.chat-admin-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px}.chat-list{max-height:760px;overflow:auto}.chat-thread-list{display:flex;flex-direction:column}.chat-thread{padding:11px 8px;border-bottom:1px solid var(--line);text-decoration:none!important;color:inherit!important;display:flex;flex-direction:column;gap:3px;border-radius:8px}.chat-thread:hover,.chat-thread.active{background:rgba(242,105,46,.08)}.chat-thread small,.chat-thread span{font-size:11px;color:var(--muted)}.chat-shell{overflow:hidden}.chat-status{padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.chat-messages{height:430px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:9px;background:rgba(127,145,162,.05)}.chat-message{max-width:min(78%,680px);padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);align-self:flex-start}.chat-message.mine,.chat-message.staff{align-self:flex-end;background:#fff1ea;border-color:#f4c9b5}.chat-message .chat-meta{font-size:10px;color:var(--muted);margin-top:5px}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border-top:1px solid var(--line)}.chat-compose textarea{min-height:54px;max-height:140px;resize:vertical;border:1px solid #cfd7df;border-radius:10px;padding:10px;font:inherit}.chat-compose .btn{align-self:stretch}.chat-shell>.help{padding:0 12px 10px}.portal-body .chat-messages{background:#f7f9fb}.portal-body .chat-message{background:#fff}.portal-body .chat-message.staff{background:#fff1ea}
/* Manuales */
.manual-link{word-break:break-word}.manual-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#fff0e9;color:#bd4a1e;font-weight:900;font-size:11px}
html[data-theme="dark"] .profile-chip{background:#151d25}html[data-theme="dark"] .dashboard-kpis .kpi-link:hover{border-color:#74402d}html[data-theme="dark"] .profile-hero-inner{background:linear-gradient(115deg,rgba(242,105,46,.13),transparent 55%)}html[data-theme="dark"] .system-check-icon{background:#26323d}html[data-theme="dark"] .chat-messages{background:#10171d}html[data-theme="dark"] .chat-message.staff,html[data-theme="dark"] .chat-message.mine{background:#3a251d;border-color:#68422f}html[data-theme="dark"] .chat-compose textarea{background:#0f161d;color:#e7edf3;border-color:#34414d}
@media(max-width:1000px){.portal-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-admin-layout{grid-template-columns:280px minmax(0,1fr)}.system-check-grid{grid-template-columns:1fr}}
@media(max-width:850px){.topbar-title span{display:none}.profile-chip .user-copy{display:none}.profile-chip{padding:4px}.chat-admin-layout{grid-template-columns:1fr}.chat-list{max-height:280px}.client-identity{align-items:flex-start}.portal-top{position:static;flex-direction:column;align-items:flex-start}.portal-nav{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.portal-nav a{white-space:nowrap}.portal-page-head{flex-direction:column}.portal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.topbar-title{display:none}.profile-chip{display:none}.client-identity{flex-direction:column}.client-avatar-large{width:72px;height:72px;border-radius:18px}.portal-photo-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-brand img{max-width:230px;width:70vw}.portal-main{padding:18px 12px 36px}.portal-welcome{align-items:flex-start}.portal-photo-grid{grid-template-columns:1fr}.chat-messages{height:360px;padding:10px}.chat-message{max-width:90%}.chat-compose{grid-template-columns:1fr}.portal-auth-card{padding:21px}.section-head{flex-direction:column}}
.chat-row{display:flex;width:100%}.chat-row.chat-own{justify-content:flex-end}.chat-row.chat-other{justify-content:flex-start}.chat-bubble{max-width:min(78%,680px);padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.chat-row.chat-own .chat-bubble{background:#fff1ea;border-color:#f4c9b5}.chat-meta{font-size:10px;color:var(--muted);margin-bottom:4px;font-weight:750}.chat-body{line-height:1.45}html[data-theme="dark"] .chat-row.chat-own .chat-bubble{background:#3a251d;border-color:#68422f}.portal-body .chat-row.chat-own .chat-bubble{background:#fff1ea;border-color:#f4c9b5}

/* v2.1 · White Label, menú plegable y PWA */
.brand{position:relative}.brand img{max-height:50px;object-fit:contain;object-position:left center}.sidebar-collapse-btn{position:absolute;right:7px;bottom:-16px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:var(--nav);color:#fff;display:grid;place-items:center;font-size:24px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 4px 16px rgba(0,0,0,.22)}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar,.main,.brand img,.nav-label,.nav-section{transition:width .18s ease,margin .18s ease,opacity .16s ease,transform .18s ease}.sidebar-is-collapsed .sidebar{width:74px;overflow-x:hidden}.sidebar-is-collapsed .main{margin-left:74px;width:calc(100% - 74px)}.sidebar-is-collapsed .brand{padding:15px 10px;height:72px}.sidebar-is-collapsed .brand img{width:48px;max-width:48px;object-fit:cover;object-position:left}.sidebar-is-collapsed .version-pill{display:none}.sidebar-is-collapsed .sidebar-collapse-btn{transform:rotate(180deg);right:-1px}.sidebar-is-collapsed .nav{padding-inline:8px}.sidebar-is-collapsed .nav-section{height:10px;padding:4px 0;margin:7px 4px;border-top:1px solid rgba(255,255,255,.08);font-size:0}.sidebar-is-collapsed .nav-section span{display:none}.sidebar-is-collapsed .nav a{justify-content:center;padding:11px 8px;gap:0;position:relative}.sidebar-is-collapsed .nav-label{display:none}.sidebar-is-collapsed .nav .ico{width:34px;font-size:18px}.sidebar-is-collapsed .nav-count{position:absolute;right:1px;top:1px;min-width:18px;height:18px;padding:0 4px;font-size:9px}
.wide-mode .sidebar{transform:translateX(-100%)}.wide-mode .main{margin-left:0;width:100%}.wide-mode .sidebar-overlay{display:none!important}.wide-mode .menu-btn{display:block}
.brand-preview{display:grid;grid-template-columns:minmax(220px,320px) 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:120px}.brand-preview-nav{padding:18px;color:#fff;display:flex;flex-direction:column;gap:10px;justify-content:center}.brand-preview-nav img{max-width:220px;max-height:48px;object-fit:contain;object-position:left}.brand-preview-main{padding:20px;background:var(--card);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand-preview-main small{flex-basis:100%;color:var(--muted)}.brand-preview-dot{width:18px;height:18px;border-radius:50%}
.menu-editor{display:flex;flex-direction:column;gap:8px}.menu-editor-row{display:grid;grid-template-columns:34px 72px 90px minmax(180px,1.2fr) minmax(160px,1fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.menu-editor-row.dragging{opacity:.45;border-style:dashed}.drag-handle{align-self:center;cursor:grab;color:var(--muted);font-weight:900;text-align:center;font-size:18px}.menu-visible{align-self:center;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:750}.menu-visible input{width:auto}.menu-grow{min-width:0}.menu-row-actions{display:flex;gap:4px;align-items:flex-end}.menu-editor-row .field label{font-size:11px;margin-bottom:4px}.menu-editor-row .field input{padding:8px 9px}.menu-editor-row .btn{width:auto}
html[data-theme="dark"] .brand-preview-main{background:var(--card)}html[data-theme="dark"] .menu-editor-row{background:var(--card)}
@media(max-width:1000px){.menu-editor-row{grid-template-columns:30px 70px 80px 1fr 1fr}.menu-row-actions{grid-column:2/-1}.brand-preview{grid-template-columns:1fr}}
@media(max-width:850px){.sidebar-is-collapsed .sidebar{width:255px;transform:translateX(-100%)}.sidebar-is-collapsed .sidebar.open{transform:none}.sidebar-is-collapsed .main{margin-left:0;width:100%}.sidebar-is-collapsed .brand{padding:18px;height:auto}.sidebar-is-collapsed .brand img{width:210px;max-width:210px;object-fit:contain}.sidebar-is-collapsed .version-pill{display:inline-flex}.sidebar-is-collapsed .nav{padding:14px 10px}.sidebar-is-collapsed .nav-section{height:auto;padding:14px 12px 7px;margin:0;border:0;font-size:11px}.sidebar-is-collapsed .nav-section span{display:inline}.sidebar-is-collapsed .nav a{justify-content:flex-start;padding:10px 12px;gap:10px}.sidebar-is-collapsed .nav-label{display:inline}.sidebar-is-collapsed .nav .ico{width:22px;font-size:inherit}.sidebar-is-collapsed .nav-count{position:static;margin-left:auto}.sidebar-collapse-btn{display:none}.wide-view-btn{display:none}}
@media(max-width:700px){.menu-editor-row{grid-template-columns:28px 1fr}.menu-visible,.menu-editor-row .field,.menu-row-actions{grid-column:2}.menu-row-actions{justify-content:flex-start}.brand-preview{grid-template-columns:1fr}}

/* CRM 2.2 · Embudo comercial y escritorio */
.pipeline-board{display:grid;grid-template-columns:repeat(7,minmax(270px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start}.pipeline-col{min-width:270px;background:color-mix(in srgb,var(--card) 72%,var(--bg));border:1px solid var(--line);border-radius:14px;padding:10px}.pipeline-head{border-top:4px solid var(--brand-primary);padding:8px 4px 10px;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.pipeline-head small{grid-column:1/-1;color:var(--muted)}.pipeline-card{box-shadow:none}.pipeline-card .card-body{padding:12px}.pipeline-money{font-size:20px;font-weight:800;margin:8px 0}.text-danger{color:#c62828;font-weight:700}.desktop-link{white-space:nowrap}.install-hint{font-size:12px;color:var(--muted)}
@media(max-width:900px){.pipeline-board{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,86vw)}.desktop-link .theme-label{display:none}}

/* CRM 3.0 · buscador global, notificaciones e inteligencia comercial */
.global-search{display:flex;align-items:center;gap:0;min-width:min(38vw,520px);max-width:560px;margin-left:auto;margin-right:10px}.global-search input{width:100%;height:38px;border-radius:10px 0 0 10px;border-right:0;background:var(--surface);font-size:14px}.global-search button{height:38px;min-width:42px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:var(--surface);color:var(--text);cursor:pointer}.notification-btn{position:relative;min-width:42px}.notification-btn .nav-count{position:absolute;right:-5px;top:-7px}.notification-unread{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-left:3px solid var(--accent);padding-left:12px}.badge-info{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#2563eb}.badge-warning{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#b45309}.badge-danger{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c}.badge-success{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}
@media(max-width:1100px){.global-search{min-width:220px;max-width:320px}.global-search input{font-size:13px}}
@media(max-width:820px){.global-search{display:none}.notification-btn{display:inline-flex}.topbar-title{min-width:0}.top-user{margin-left:auto}}


/* CRM 4.0 · Catálogo showroom + presupuestos visuales */
.catalog-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin-bottom:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 10%,var(--card)),var(--card) 58%);overflow:hidden}.catalog-hero h1{font-size:clamp(30px,4vw,52px);margin:3px 0 8px;letter-spacing:-.035em}.catalog-hero p{max-width:760px;font-size:16px;color:var(--muted);margin:0 0 18px}.catalog-hero-stat{min-width:170px;min-height:150px;border-radius:24px;display:grid;place-items:center;align-content:center;background:var(--nav);color:#fff;text-align:center;box-shadow:var(--shadow)}.catalog-hero-stat strong{font-size:48px;line-height:1}.catalog-hero-stat span{font-size:12px;opacity:.75;margin-top:8px}.catalog-filters{margin-bottom:12px}.category-strip{display:flex;gap:8px;overflow:auto;padding:4px 1px 14px;scrollbar-width:thin}.category-strip a{white-space:nowrap;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);text-decoration:none;font-size:12px;font-weight:750}.category-strip a.active,.category-strip a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent)}
.catalog-web-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.catalog-web-card{overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.catalog-web-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.catalog-web-card .product-img{height:265px;display:block;position:relative;background:color-mix(in srgb,var(--card) 82%,var(--bg));overflow:hidden}.catalog-web-card .product-img img{width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .22s ease}.catalog-web-card:hover .product-img img{transform:scale(1.025)}.catalog-ribbon{position:absolute;left:12px;top:12px;background:var(--accent);color:#fff;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:850;letter-spacing:.04em}.catalog-web-card h3{font-size:17px;margin:9px 0 5px;line-height:1.25}.catalog-web-card h3 a{color:inherit;text-decoration:none}.catalog-excerpt{font-size:12.5px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:54px}.catalog-spec-chips,.color-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.catalog-spec-chips span,.color-chips span{font-size:11px;font-weight:750;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:var(--surface)}
.showroom-product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:20px}.showroom-gallery{overflow:hidden}.showroom-main-image{height:min(62vh,610px);min-height:390px;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 78%,var(--bg))}.showroom-main-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:26px}.showroom-thumbs{display:flex;gap:8px;padding:12px;overflow:auto;border-top:1px solid var(--line)}.showroom-thumbs button{width:72px;height:72px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:4px;cursor:pointer}.showroom-thumbs img{width:100%;height:100%;object-fit:contain}.showroom-copy{padding:28px}.showroom-copy h2{font-size:clamp(26px,3.2vw,42px);line-height:1.08;letter-spacing:-.03em;margin:12px 0}.showroom-lead{color:var(--muted);line-height:1.6;font-size:15px}.showroom-price{display:flex;align-items:baseline;gap:12px;margin:20px 0 4px}.showroom-price strong{font-size:34px;letter-spacing:-.03em}.showroom-price del{color:var(--muted)}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}.spec-grid div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface)}.spec-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.spec-grid strong{display:block;margin-top:4px;font-size:14px}.prose{line-height:1.65;white-space:normal}.showroom-alternatives{grid-template-columns:repeat(4,minmax(0,1fr))}.showroom-alternatives .product-img{height:180px}
.sync-link-list{display:grid;gap:7px;max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px}.sync-link-list label{display:flex;align-items:flex-start;gap:8px;padding:7px;border-radius:8px}.sync-link-list label:hover{background:var(--surface)}.sync-link-list input{width:auto;margin-top:3px}.sync-link-list span{font-size:12px;overflow-wrap:anywhere}.inline-checks{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.inline-checks label,.quote-line-options label{display:flex;align-items:center;gap:6px}.inline-checks input,.quote-line-options input[type=checkbox]{width:auto}.page-head.compact{margin-bottom:0}
.quote-line{overflow:hidden}.quote-line-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.quote-line-head .line-title{font-size:14px}.quote-line-head .line-total{font-size:16px;font-weight:850}.quote-line-options{display:flex;flex-direction:column;justify-content:flex-end;gap:7px}.quote-live-total .card-body{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quote-live-total .card-body>div{padding:8px 12px;border-right:1px solid var(--line)}.quote-live-total .card-body>div:last-child{border-right:0}.quote-live-total span{display:block;color:var(--muted);font-size:11px}.quote-live-total strong{display:block;font-size:19px;margin-top:3px}.quote-live-total .grand strong{font-size:25px;color:var(--accent)}.template-switches{gap:16px;flex-wrap:wrap}.password-field{position:relative}.password-field input{padding-right:48px}.password-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:17px;cursor:pointer}.password-eye:hover{background:var(--surface);color:var(--text)}
@media(max-width:1100px){.showroom-alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}.showroom-product{grid-template-columns:1fr}.showroom-main-image{height:520px}.catalog-hero-stat{min-width:140px}}
@media(max-width:720px){.catalog-hero{padding:22px;align-items:flex-start}.catalog-hero-stat{display:none}.catalog-web-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-web-card .product-img{height:190px}.catalog-web-card .product-info{padding:12px}.showroom-main-image{height:390px;min-height:300px}.showroom-copy{padding:20px}.showroom-alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-live-total .card-body{grid-template-columns:repeat(2,1fr)}.quote-live-total .card-body>div:nth-child(2){border-right:0}}
@media(max-width:460px){.catalog-web-grid,.showroom-alternatives{grid-template-columns:1fr}.catalog-web-card .product-img{height:240px}.spec-grid{grid-template-columns:1fr}.quote-live-total .card-body{grid-template-columns:1fr}.quote-live-total .card-body>div{border-right:0;border-bottom:1px solid var(--line)}.quote-live-total .card-body>div:last-child{border-bottom:0}}

/* ========================================================================== */
/* GESTOR 360 · DESIGN SYSTEM v1                                         */
/* Tokens centralizados: modificar aquí antes de repetir valores en módulos.  */
/* ========================================================================== */
:root{
  --sg-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sg-font-display:Georgia,"Times New Roman",serif;
  --sg-space-1:4px;--sg-space-2:8px;--sg-space-3:12px;--sg-space-4:16px;--sg-space-5:20px;--sg-space-6:24px;--sg-space-7:32px;--sg-space-8:40px;
  --sg-radius-sm:8px;--sg-radius-md:12px;--sg-radius-lg:18px;--sg-radius-xl:26px;
  --sg-shadow-soft:0 10px 34px rgba(25,58,48,.055);--sg-shadow-float:0 22px 65px rgba(20,45,37,.14);
  --sg-sidebar:276px;--sg-sidebar-collapsed:78px;--sg-topbar:72px;--sg-content:1720px;
  --sg-green:#193a30;--sg-green-2:#254e40;--sg-orange:#d46f38;--sg-cream:#f3f5f1;--sg-line:#dde4de;
  --radius:var(--sg-radius-lg);--shadow:var(--sg-shadow-soft);--bg:var(--brand-light-bg,#f3f5f1);
}
body{font-family:var(--sg-font-sans);font-size:calc(15px * var(--font-scale,1));letter-spacing:-.005em;background:var(--bg)}
h1,h2,.card-title,.kpi .value{letter-spacing:-.025em}.page-head h1,.dashboard-hero h1,.catalog-hero h1,.showroom-copy h2{font-family:var(--sg-font-display);font-weight:600}.page-head h1{font-size:clamp(28px,3vw,42px);line-height:1.05}.page-head p{font-size:14px;line-height:1.55;max-width:820px}.eyebrow{letter-spacing:.16em;font-size:9px;color:var(--brand-dark);font-weight:900}
.card{border-color:color-mix(in srgb,var(--line) 88%,transparent);box-shadow:var(--sg-shadow-soft);border-radius:var(--sg-radius-lg)}.card-body{padding:22px}.btn{border-radius:var(--sg-radius-sm);min-height:39px;padding:9px 14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);filter:none}.btn-primary{box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 22%,transparent)}.field input,.field select,.field textarea{border-radius:var(--sg-radius-sm);border-color:var(--line);min-height:42px}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.table th{font-size:10px;letter-spacing:.08em}.table td{font-size:13px}.badge{font-size:10px;letter-spacing:.025em}.align-start{align-items:start}

/* Navegación lateral premium */
.sidebar{width:var(--sg-sidebar);background:linear-gradient(180deg,color-mix(in srgb,var(--nav) 94%,#fff),var(--nav));border-right:1px solid rgba(255,255,255,.05);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.brand{min-height:88px;padding:20px 18px}.brand img{width:190px;max-height:49px}.version-pill{background:rgba(255,255,255,.09);color:#f4d9ca;border:1px solid rgba(255,255,255,.08)}.nav{padding:12px 12px 28px}.nav-section{font-size:9px;color:rgba(228,239,234,.48);padding:18px 12px 7px}.nav a{min-height:42px;padding:9px 11px;color:rgba(240,246,243,.78);font-size:12.5px;font-weight:650;border:1px solid transparent}.nav a:hover{background:rgba(255,255,255,.055);color:#fff}.nav a.active{background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 25%,transparent),rgba(255,255,255,.045));border-color:color-mix(in srgb,var(--brand) 28%,transparent);box-shadow:inset 3px 0 var(--brand);color:#fff}.nav .ico{width:26px;display:grid;place-items:center;flex:0 0 26px}.nav-svg{width:18px;height:18px;display:block}.nav-fallback{font-size:14px}.main{margin-left:var(--sg-sidebar);width:calc(100% - var(--sg-sidebar))}.sidebar-is-collapsed .sidebar{width:var(--sg-sidebar-collapsed)}.sidebar-is-collapsed .main{margin-left:var(--sg-sidebar-collapsed);width:calc(100% - var(--sg-sidebar-collapsed))}.sidebar-is-collapsed .nav .ico{width:38px}.sidebar-collapse-btn{background:color-mix(in srgb,var(--nav) 85%,#fff);border-color:rgba(255,255,255,.14)}

/* Barra superior */
.topbar{height:var(--sg-topbar);padding:0 24px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(16px);border-color:var(--line)}.topbar-title{margin-left:12px}.topbar-title strong{font-size:13px}.topbar-title span{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.global-search{min-width:min(31vw,500px)}.global-search input,.global-search button{height:40px;background:color-mix(in srgb,var(--card) 82%,var(--bg));border-color:var(--line)}.profile-chip{border-color:var(--line);box-shadow:none}.notification-btn .nav-svg{width:16px;height:16px}.top-brand{display:flex;width:172px;align-items:center;margin-right:8px}.top-brand img{width:100%;max-height:42px;object-fit:contain;object-position:left center}.content{padding:26px 30px 44px;max-width:var(--sg-content)}

/* Modo de menú superior */
.nav-mode-top .sidebar,.nav-mode-top .sidebar-overlay{display:none!important}.nav-mode-top .main{margin-left:0;width:100%}.nav-mode-top .menu-btn{display:none}.topnav{height:48px;display:flex;align-items:center;gap:2px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:var(--sg-topbar);z-index:9;overflow:visible}.topnav-group{position:relative;height:100%}.topnav-group summary{list-style:none;height:100%;display:flex;align-items:center;padding:0 11px;font-size:11px;font-weight:750;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.topnav-group summary::-webkit-details-marker{display:none}.topnav-group[data-current="1"] summary,.topnav-group[open] summary{color:var(--text);border-color:var(--brand)}.topnav-menu{position:absolute;left:0;top:44px;width:300px;max-height:min(70vh,620px);overflow:auto;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:0 0 var(--sg-radius-md) var(--sg-radius-md);box-shadow:var(--sg-shadow-float);display:grid;gap:3px}.topnav-menu a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:9px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:12px}.topnav-menu a:hover,.topnav-menu a.active{background:color-mix(in srgb,var(--brand) 10%,var(--card));color:var(--brand-dark)}.topnav-menu .nav-svg{width:17px;height:17px}.topnav-menu b{min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:9px}

/* Dashboard: dirección visual heredada de Control360 Chimeneas, adaptada al CRM real */
.dashboard-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--nav),color-mix(in srgb,var(--nav) 82%,#335f50));color:#fff;border-radius:var(--sg-radius-lg);padding:26px 28px;margin-bottom:18px;min-height:146px;align-items:center;box-shadow:var(--sg-shadow-soft)}.dashboard-hero:after{content:"360";position:absolute;right:9%;top:-58px;font:700 190px/1 var(--sg-font-display);color:rgba(255,255,255,.035);pointer-events:none}.dashboard-hero>div{position:relative;z-index:1}.dashboard-hero .eyebrow{color:#e3a37c}.dashboard-hero h1{font-size:clamp(31px,4vw,48px);margin:4px 0 8px}.dashboard-hero p{color:rgba(240,248,244,.7);margin:0}.dashboard-hero .actions{justify-content:flex-end}.dashboard-hero .btn{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);color:#fff;box-shadow:none}.dashboard-hero .btn-primary{background:var(--brand);border-color:transparent}.dashboard-kpis{gap:13px}.dashboard-kpis .kpi{min-height:128px;padding:19px 20px;position:relative;overflow:hidden}.dashboard-kpis .kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:color-mix(in srgb,var(--brand) 55%,var(--line))}.dashboard-kpis .kpi .label{font-size:9px;text-transform:uppercase;letter-spacing:.09em}.dashboard-kpis .kpi .value{font-family:var(--sg-font-display);font-weight:600;font-size:31px}.dashboard-kpis .kpi .hint{font-size:10px}.section-head h2,.card-title{font-family:var(--sg-font-display);font-weight:600}.section-head .card-title{font-size:20px}

/* Centro de conexiones */
.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.integration-card{position:relative;overflow:hidden}.integration-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#95a39b}.integration-card.status-ok:before{background:var(--success)}.integration-card.status-warning:before{background:var(--warning)}.integration-card.status-error:before{background:var(--danger)}.integration-head{display:flex;align-items:center;gap:12px}.integration-head h2{font:600 19px/1.15 var(--sg-font-display);margin:0 0 7px}.integration-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--nav) 9%,var(--card));color:var(--nav);font-weight:900}.integration-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.integration-meta>div{padding:10px;background:color-mix(in srgb,var(--bg) 60%,var(--card));border-radius:9px}.integration-meta span,.integration-meta strong{display:block}.integration-meta span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.integration-meta strong{font-size:10px;margin-top:4px}.integration-message{font-size:11px;padding:9px 10px;border-radius:8px;background:color-mix(in srgb,var(--warning) 9%,var(--card));margin-bottom:10px}.integration-requirements{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}.integration-requirements>span{font-size:9px;color:var(--muted);width:100%;text-transform:uppercase;letter-spacing:.08em}.integration-requirements em{font-style:normal;font-size:9px;border:1px solid var(--line);border-radius:999px;padding:4px 7px}

/* Comunicación unificada */
.comm-health-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.comm-health-item{display:grid;grid-template-columns:12px 1fr;gap:2px 7px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--sg-radius-md);background:var(--card);color:var(--text);text-decoration:none!important;box-shadow:var(--sg-shadow-soft)}.comm-health-item small{grid-column:2;color:var(--muted);font-size:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#a0aaa4}.status-dot.status-ok{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.status-dot.status-warning{background:var(--warning)}.status-dot.status-error{background:var(--danger)}.channel-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:13px;border-bottom:1px solid var(--line)}.channel-tabs a{padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--bg) 74%,var(--card));color:var(--muted);text-decoration:none;font-size:11px}.channel-tabs a.active{background:var(--nav);color:#fff}.comm-timeline{display:grid}.comm-row{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 2px;border-bottom:1px solid var(--line)}.comm-channel-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 11%,var(--card));color:var(--brand-dark);font-size:10px;font-weight:900}.comm-row.direction-in .comm-channel-icon{background:color-mix(in srgb,var(--success) 11%,var(--card));color:var(--success)}.comm-row-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.comm-row-head time{font-size:9px;color:var(--muted);white-space:nowrap}.comm-main p{margin:7px 0 3px;color:var(--text);font-size:12px;line-height:1.5}.comm-main small{color:var(--muted);font-size:9px}.comm-subject{font-weight:750;margin-top:4px;font-size:12px}

/* Motor de oportunidades */
.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.opportunity-card{overflow:hidden;position:relative}.opportunity-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--brand)}.opportunity-card.tone-danger:before{background:var(--danger)}.opportunity-card.tone-success:before{background:var(--success)}.opportunity-card.tone-warning:before{background:var(--warning)}.opp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.opp-signal{font-size:8px;letter-spacing:.13em;font-weight:900;color:var(--muted)}.opp-metric{font:600 20px/1 var(--sg-font-display)}.opportunity-card h2{font:600 23px/1.12 var(--sg-font-display);margin:18px 0 8px}.opportunity-card p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.opp-action{padding:11px 12px;border-radius:10px;background:color-mix(in srgb,var(--bg) 70%,var(--card));margin:14px 0}.opp-action span,.opp-action strong{display:block}.opp-action span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.opp-action strong{font-size:11px;margin-top:4px}

/* Equipos instalados */
.equipment-list{display:grid;gap:8px;max-height:720px;overflow:auto}.equipment-list article{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg))}.equipment-list h3{font:600 19px/1.15 var(--sg-font-display);margin:5px 0 3px}.equipment-list p{font-size:10px;color:var(--muted);margin:0}.equipment-dates{text-align:right}.equipment-dates>span,.equipment-dates>strong{display:block}.equipment-dates>span{font-size:8px;text-transform:uppercase;color:var(--muted)}.equipment-dates>strong{font-size:12px;margin:4px 0 9px}

/* Reservas */
.booking-public-link .card-body{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 8%,var(--card)),var(--card))}.booking-public-link code{display:block;max-width:850px;word-break:break-all;padding:9px 10px;border:1px dashed var(--line);border-radius:8px;background:var(--bg);font-size:10px}.public-booking-body{min-height:100vh;background:linear-gradient(130deg,var(--nav),color-mix(in srgb,var(--nav) 70%,#56766b));padding:28px}.public-booking-shell{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;min-height:calc(100vh - 56px);background:var(--bg);border-radius:26px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.26)}.public-booking-brand{padding:48px;background:var(--nav);color:#fff;position:relative;overflow:hidden}.public-booking-brand:after{content:"360";position:absolute;right:-40px;bottom:-55px;font:700 180px/1 var(--sg-font-display);color:rgba(255,255,255,.035)}.public-booking-brand img{width:260px;max-width:100%;margin-bottom:54px}.public-booking-brand>span{font-size:9px;letter-spacing:.16em;color:#e3a37c;font-weight:900}.public-booking-brand h1{font:600 42px/1.05 var(--sg-font-display);margin:8px 0 14px}.public-booking-brand p{color:rgba(255,255,255,.68);line-height:1.65}.booking-promise{display:grid;grid-template-columns:28px 1fr;gap:13px 9px;margin-top:34px;position:relative;z-index:1}.booking-promise strong{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);color:#e8a87f;font-size:10px}.booking-promise span{font-size:11px;align-self:center}.public-booking-form{display:grid;place-items:center;padding:38px}.public-booking-form .card{width:min(610px,100%);box-shadow:none}.public-booking-form h2{font:600 28px/1 var(--sg-font-display);margin:0 0 6px}.booking-submit{width:100%;min-height:48px}.booking-success{text-align:center;padding:48px 20px}.booking-success>span{width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--success) 12%,var(--card));color:var(--success);display:grid;place-items:center;margin:auto;font-size:28px}.booking-success h2{margin-top:20px}

/* Proveedores: subida por bloques */
.supplier-upload-card{background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 5%,var(--card)),var(--card))}.supplier-progress{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;margin-top:16px}.supplier-progress>div{height:9px;border-radius:999px;background:var(--line);overflow:hidden}.supplier-progress>div span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-dark));transition:width .12s linear}.supplier-progress small{grid-column:1/-1;color:var(--muted);font-size:10px}

/* Ayuda */
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-grid p{font-size:12px;line-height:1.65;color:var(--muted)}.quick-links{display:flex;flex-wrap:wrap;gap:7px}.quick-links a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);text-decoration:none}

/* Catálogo: acabados comerciales más limpios */
.catalog-hero{border-radius:var(--sg-radius-lg);border:1px solid var(--line);box-shadow:var(--sg-shadow-soft)}.catalog-web-card{border-radius:var(--sg-radius-lg)}.catalog-web-card .product-img{background:linear-gradient(145deg,color-mix(in srgb,var(--bg) 78%,var(--card)),var(--card))}.catalog-web-card h3{font-family:var(--sg-font-display);font-weight:600;font-size:19px}.showroom-gallery,.showroom-copy{border-radius:var(--sg-radius-lg)}

/* Login y acceso */
.login-shell{background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--brand) 30%,transparent),transparent 33%),linear-gradient(135deg,var(--nav),#10231d)}.login-card{border-radius:var(--sg-radius-xl);box-shadow:0 35px 90px rgba(0,0,0,.26)}.login-card h1{font-family:var(--sg-font-display);font-weight:600}

/* Modo oscuro */
html[data-theme="dark"]{--sg-line:#2d3c35;--sg-shadow-soft:0 12px 35px rgba(0,0,0,.18);--sg-shadow-float:0 25px 70px rgba(0,0,0,.35)}
html[data-theme="dark"] .topnav{background:var(--card)}html[data-theme="dark"] .topnav-menu{background:var(--card)}html[data-theme="dark"] .integration-meta>div,html[data-theme="dark"] .opp-action{background:color-mix(in srgb,var(--card) 83%,#000)}html[data-theme="dark"] .comm-health-item,html[data-theme="dark"] .equipment-list article{background:var(--card)}

/* Responsive real */
@media(max-width:1280px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-user .logout-link{display:none}.topnav{overflow-x:auto;overflow-y:visible}.topnav-group summary{white-space:nowrap}}
@media(max-width:1000px){.comm-health-strip{grid-template-columns:repeat(2,1fr)}.integration-meta{grid-template-columns:1fr}.public-booking-shell{grid-template-columns:1fr}.public-booking-brand{padding:34px}.public-booking-brand img{margin-bottom:26px}.public-booking-body{padding:14px}.public-booking-form{padding:24px}.booking-public-link .card-body{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.nav-mode-top .menu-btn{display:block}.nav-mode-top .topnav{display:none}.nav-mode-top .sidebar{display:block!important}.nav-mode-top .main{margin-left:0;width:100%}.top-brand{display:none}.content{padding:18px 14px 36px}.dashboard-hero{padding:22px}.dashboard-hero .actions{justify-content:flex-start}.integration-grid,.opportunity-grid{grid-template-columns:1fr}.comm-row-head{align-items:flex-start;flex-direction:column;gap:4px}.equipment-list article{grid-template-columns:1fr}.equipment-dates{text-align:left}.public-booking-brand h1{font-size:34px}}
@media(max-width:560px){.comm-health-strip{grid-template-columns:1fr 1fr}.comm-health-item{padding:10px}.page-head h1{font-size:31px}.dashboard-hero:after{font-size:130px;right:-20px}.dashboard-hero .actions .btn{flex:1 1 45%}.public-booking-brand{padding:26px}.public-booking-form{padding:14px}.public-booking-body{padding:0}.public-booking-shell{min-height:100vh;border-radius:0}.public-booking-brand img{width:210px}.form-grid{gap:10px}.card-body{padding:17px}}
/* Oportunidades compactas del dashboard */
.opportunity-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.opportunity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--sg-radius-sm);background:color-mix(in srgb,var(--card) 94%,var(--bg));color:var(--text);text-decoration:none;transition:transform var(--sg-transition),box-shadow var(--sg-transition)}
.opportunity-item:hover{transform:translateY(-2px);box-shadow:var(--sg-shadow-sm)}
.opportunity-item.tone-danger{border-left-color:var(--danger)}.opportunity-item.tone-success{border-left-color:var(--success)}.opportunity-item.tone-warning{border-left-color:var(--warning)}
.opportunity-item strong{font:600 17px/1.2 var(--sg-font-display)}.opportunity-item p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.opportunity-item>span{font-weight:800;white-space:nowrap}
@media(max-width:980px){.opportunity-grid.compact{grid-template-columns:1fr}}

/* Gestor 360 · Ficha Cliente 360 */
.client360-overview{margin-bottom:var(--space-5,20px)}
.client360-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.client360-kpi{background:linear-gradient(145deg,var(--surface,#fff),var(--surface-2,#f7f8f6));border:1px solid var(--line);border-radius:var(--radius-lg,18px);padding:16px;box-shadow:var(--shadow-sm,0 4px 18px rgba(0,0,0,.04))}
.client360-kpi span,.client360-kpi small{display:block;color:var(--muted);font-size:.78rem}.client360-kpi strong{display:block;font-size:1.45rem;margin:.25rem 0}
.client360-timeline{display:grid;gap:2px;margin-top:8px}.client360-event{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 8px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line)}.client360-event:hover{background:var(--surface-2,#f7f8f6)}.client360-event p{margin:3px 0;color:var(--muted)}.client360-event small{color:var(--muted);font-size:.78rem}.client360-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--brand-primary,var(--primary,#b45d36));box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary,var(--primary,#b45d36)) 15%,transparent)}
@media(max-width:1100px){.client360-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.client360-kpis{grid-template-columns:repeat(2,1fr)}}
/* Constructor visual de presupuestos */
.quote-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.quote-builder-palette{position:sticky;top:90px}.quote-builder-block{cursor:grab}.quote-builder-block.dragging{opacity:.45;outline:2px dashed var(--brand-primary,var(--primary))}.quote-block-image{max-width:100%;max-height:260px;object-fit:contain;border-radius:12px}.showroom-mini{padding:10px 12px;background:var(--surface-2,#f7f8f6);border-radius:12px}@media(max-width:900px){.quote-builder-layout{grid-template-columns:1fr}.quote-builder-palette{position:static}}
/* Showroom comercial premium */
.showroom-filter{overflow:hidden}.showroom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.showroom-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm,0 5px 22px rgba(0,0,0,.05));display:flex;flex-direction:column}.showroom-card-image{display:flex;height:260px;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f4f5f1);overflow:hidden}.showroom-card-image img{width:100%;height:100%;object-fit:contain;padding:16px}.showroom-card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.showroom-card-body h2{font-size:1.15rem;margin:0}.showroom-card-body p{color:var(--muted);margin:0}.showroom-card-price{display:flex;align-items:baseline;gap:10px}.showroom-card-price strong,.showroom-big-price{font-size:1.55rem}.showroom-card-price del{color:var(--muted)}.showroom-spec-row{display:flex;gap:6px;flex-wrap:wrap}.showroom-spec-row span{padding:5px 8px;background:var(--surface-2,#f4f5f1);border-radius:999px;font-size:.78rem}.upgrade-box{margin-top:auto;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--brand-primary,var(--primary)) 8%,var(--surface,#fff));display:grid;gap:5px}.upgrade-box a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:inherit;font-size:.84rem}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.compare-grid article{padding:12px;border:1px solid var(--line);border-radius:16px}.compare-grid dl{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:.88rem}.compare-grid dt{color:var(--muted)}.showroom-compare-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:50;background:var(--nav,#173b31);color:#fff;padding:10px 14px;border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.25);display:flex;gap:10px;align-items:center}.showroom-compare-bar[hidden]{display:none}@media(max-width:700px){.showroom-grid{grid-template-columns:1fr}.showroom-card-image{height:230px}.showroom-compare-bar{width:calc(100% - 24px);bottom:12px}}
/* Automatizaciones visuales */
.automation-flow-builder{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.3fr) 48px minmax(260px,1.3fr) auto;gap:12px;align-items:end}.flow-node{border:1px solid var(--line);background:var(--surface-2,#f7f8f6);padding:12px;border-radius:16px;display:grid;gap:7px}.flow-node>span{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--muted)}.flow-node.action{background:color-mix(in srgb,var(--brand-primary,var(--primary)) 8%,var(--surface,#fff))}.flow-arrow{font-size:2rem;text-align:center;padding-bottom:18px}.automation-flow-list{display:grid;gap:8px}.automation-flow-card{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);padding:12px 14px;border-radius:14px}.automation-flow-card strong,.automation-flow-card small{display:block;margin-top:4px}@media(max-width:1050px){.automation-flow-builder{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);padding:0}.automation-flow-card{align-items:flex-start;flex-direction:column}}
/* Planificador de rutas */
.route-stop-list{display:grid;gap:8px}.route-stop{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:12px}.route-stop-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--nav,#173b31);color:#fff;font-weight:800}.route-stop p{margin:3px 0;color:var(--muted)}.route-stop a{display:block;margin-top:2px}.route-stop-actions{display:flex;gap:5px}@media(max-width:700px){.route-stop{grid-template-columns:36px 1fr}.route-stop-actions{grid-column:2;flex-wrap:wrap}}

/* Gestor 360 · Modo técnico móvil */
.tech-day-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-xl,20px);background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--shadow-sm)}
.tech-day-hero h2{margin:3px 0 4px;font-size:clamp(1.35rem,3vw,2rem)}.tech-day-hero p{margin:0;color:var(--text-muted)}
.tech-route-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.tech-route-chip{min-width:145px;display:grid;grid-template-columns:30px 1fr;gap:2px 8px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.tech-route-chip b{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff}.tech-route-chip small{color:var(--text-muted)}
.tech-job-list{display:grid;gap:16px}.tech-job-card{overflow:hidden}.tech-job-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.tech-job-head h2{margin:8px 0 5px;font-size:1.12rem}.tech-job-head p{margin:0;color:var(--text-muted)}.tech-job-actions,.tech-status-row{display:flex;gap:8px;flex-wrap:wrap}.tech-kpis{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.tech-kpis span{padding:8px 10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.tech-request{padding:12px 14px;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:10px;margin:12px 0}.tech-request p{margin:5px 0 0}.tech-panel{margin-top:13px;border-top:1px solid var(--border);padding-top:10px}.tech-panel summary{cursor:pointer;font-weight:750;padding:6px 0}.tech-checklist{display:grid;gap:7px;padding:7px 0}.tech-check-item label{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--surface-2);border-radius:11px}.tech-check-item input{width:20px;height:20px}.tech-quick-form{padding-top:8px}.tech-close-row{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:760px){.tech-mobile-filter .col-5,.tech-mobile-filter .col-2{grid-column:span 12}.tech-day-hero,.tech-job-head{align-items:stretch;flex-direction:column}.tech-job-actions .btn,.tech-status-row form,.tech-status-row .btn,.tech-close-row .btn{width:100%}.tech-status-row{display:grid;grid-template-columns:1fr}.tech-quick-form .col-3,.tech-quick-form .col-4,.tech-quick-form .col-5,.tech-quick-form .col-9{grid-column:span 12}.tech-job-card .card-body{padding:14px}.tech-kpis{display:grid;grid-template-columns:repeat(3,1fr)}.tech-kpis span{text-align:center;font-size:.82rem}}

/* Evidencia de aceptación de presupuestos */
.quote-proof{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.quote-proof h3{margin:4px 0}.quote-proof p{margin:4px 0}.quote-proof code{font-size:.72rem;word-break:break-all}.quote-proof img{width:min(260px,40%);max-height:110px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--border)}
@media(max-width:700px){.quote-proof{align-items:stretch;flex-direction:column}.quote-proof img{width:100%;max-width:320px}}

/* Compras y reposición */
.procurement-suggestions{display:grid;gap:9px}.procurement-suggestions>div:not(.empty){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.procurement-suggestions span{grid-column:1;color:var(--text-muted);font-size:.85rem}.procurement-suggestions b{grid-column:2;grid-row:1/3;align-self:center;color:var(--primary)}

/* Spotlight / buscador universal */
.spotlight[hidden]{display:none!important}.spotlight{position:fixed;inset:0;z-index:10000;display:grid;place-items:start center;padding:10vh 18px 20px}.spotlight-backdrop{position:absolute;inset:0;background:rgba(5,9,18,.58);backdrop-filter:blur(8px)}.spotlight-panel{position:relative;width:min(760px,100%);border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden}.spotlight-search{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border)}.spotlight-search>span{font-size:1.5rem}.spotlight-search input{border:0!important;box-shadow:none!important;background:transparent!important;font-size:1.08rem}.spotlight-search kbd{border:1px solid var(--border);background:var(--surface-2);padding:4px 7px;border-radius:7px;color:var(--text-muted)}.spotlight-hint{padding:9px 18px;color:var(--text-muted);font-size:.82rem}.spotlight-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px 14px}.spotlight-actions a{display:flex;gap:11px;align-items:center;padding:12px;border-radius:13px;color:var(--text);text-decoration:none;border:1px solid transparent}.spotlight-actions a:hover{background:var(--surface-2);border-color:var(--border)}.spotlight-actions a>b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--surface-2)}.spotlight-actions a span{font-weight:700}.spotlight-actions a small{display:block;font-weight:400;color:var(--text-muted);margin-top:2px}.spotlight-open{overflow:hidden}
@media(max-width:640px){.spotlight{padding-top:4vh}.spotlight-actions{grid-template-columns:1fr}.spotlight-panel{max-height:92vh;overflow:auto}}

/* Dashboard personalizable */
.dashboard-widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.dashboard-widget{min-height:126px}.dashboard-widget.size-small{grid-column:span 3}.dashboard-widget.size-medium{grid-column:span 4}.dashboard-widget.size-large{grid-column:span 6}.dashboard-widget.size-full{grid-column:1/-1}.dashboard-editor-list{display:grid;gap:8px}.dashboard-editor-row{display:grid;grid-template-columns:32px minmax(220px,1fr) 180px auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.dashboard-editor-row.dragging{opacity:.55}.drag-handle{cursor:grab;font-size:1.2rem;color:var(--text-muted)}
@media(max-width:980px){.dashboard-widget.size-small{grid-column:span 6}.dashboard-widget.size-medium,.dashboard-widget.size-large{grid-column:span 6}}@media(max-width:640px){.dashboard-widget.size-small,.dashboard-widget.size-medium,.dashboard-widget.size-large,.dashboard-widget.size-full{grid-column:1/-1}.dashboard-editor-row{grid-template-columns:28px 1fr}.dashboard-editor-row select,.dashboard-editor-row .actions{grid-column:2}}

/* Centro inteligente de actividad */
.activity-smart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.notification-snooze{position:relative}.notification-snooze>summary{list-style:none;cursor:pointer}.notification-snooze>summary::-webkit-details-marker{display:none}.notification-snooze>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:145px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md)}.notification-snooze form{display:grid;gap:3px}.notification-snooze button{border:0;background:transparent;padding:8px 9px;text-align:left;border-radius:7px;color:var(--text);cursor:pointer}.notification-snooze button:hover{background:var(--surface-2)}
@media(max-width:820px){.activity-smart-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.activity-smart-grid{grid-template-columns:1fr}}

/* Multiempresa / multimarcas */
.company-switch-form select{max-width:180px;height:36px;padding:0 30px 0 10px;border-radius:10px;font-size:.82rem}.company-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.company-user-grid label{padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.company-user-grid input{width:auto}.company-user-grid small{color:var(--text-muted)}.company-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px}.company-card p{margin:3px 0;color:var(--text-muted)}.company-brand{width:46px;height:46px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}.company-brand img{width:100%;height:100%;object-fit:contain}.company-brand span{font-weight:900;font-size:1.3rem;color:var(--brand)}
@media(max-width:700px){.company-user-grid{grid-template-columns:1fr}.company-switch-form{display:none}}

/* Asistente interno Gestor360 */
.assistant-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.assistant-form label{font-weight:800;display:block;margin-bottom:8px}.assistant-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}.assistant-input-row textarea{min-height:92px;resize:vertical}.assistant-input-row .btn{min-width:120px}.assistant-prompts{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.assistant-prompts button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:7px 10px;border-radius:999px;cursor:pointer}.assistant-answer{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.assistant-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:900}.assistant-answer p{font-size:1.04rem;line-height:1.55;margin:5px 0 12px}.assistant-results{display:grid;gap:7px}.assistant-results a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text)}.assistant-results a span{grid-column:1;color:var(--text-muted);font-size:.86rem}.assistant-results a b{grid-column:2;grid-row:1/3;align-self:center}.assistant-capabilities{padding-left:18px;color:var(--text-muted);line-height:1.7}.assistant-history{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.assistant-history small{white-space:nowrap;color:var(--text-muted)}
@media(max-width:900px){.assistant-shell{grid-template-columns:1fr}.assistant-side{order:2}}@media(max-width:600px){.assistant-input-row{grid-template-columns:1fr}.assistant-input-row .btn{width:100%}}

/* ==============================================================
   Super Gestor360 2.0 · legibilidad, navegación agrupada y medios
   ============================================================== */
:root{
  --sg-font-base:16px;
  --sg-font-small:13.5px;
  --sg-control-min:44px;
  --sg-icon:22px;
  --sg-icon-collapsed:26px;
  --sg-space-1:8px;
  --sg-space-2:12px;
  --sg-space-3:16px;
  --sg-space-4:22px;
}
body{font-size:calc(var(--sg-font-base) * var(--font-scale,1));line-height:1.48}
.page-head h1{font-size:clamp(1.65rem,2.4vw,2.05rem);line-height:1.15}.page-head p{font-size:1rem;max-width:820px;line-height:1.55}.card-title{font-size:1.12rem}.field label{font-size:.9rem;line-height:1.3}.help,.muted{line-height:1.5}.help{font-size:.82rem}.btn{min-height:var(--sg-control-min);padding:10px 16px;font-size:.93rem;line-height:1.15;white-space:normal}.btn-sm{min-height:36px;padding:8px 12px;font-size:.84rem}.field input,.field select,.field textarea{min-height:44px;padding:11px 12px}.field textarea{min-height:118px}.table th{font-size:.78rem}.table td{font-size:.92rem;line-height:1.4}.badge{font-size:.76rem;padding:5px 9px}

/* Menú plegable por familias: evita listas interminables. */
.grouped-nav{display:grid;gap:5px;padding:12px 10px 28px;overflow:visible}.nav-group{border:1px solid transparent;border-radius:13px}.nav-group[open]{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.06)}.nav-group>summary{list-style:none;cursor:pointer;min-height:48px;padding:10px 11px;display:flex;align-items:center;gap:11px;border-radius:12px;color:rgba(244,248,246,.90);font-weight:780;user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:rgba(255,255,255,.06)}.nav-group>summary .ico{width:30px;flex:0 0 30px;display:grid;place-items:center}.nav-group>summary .nav-svg{width:var(--sg-icon);height:var(--sg-icon)}.nav-group-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-chevron{margin-left:auto;opacity:.55;font-size:1rem;transition:transform .16s ease}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{display:grid;gap:2px;padding:2px 6px 9px 11px}.nav-submenu a{min-height:42px;margin:0;padding:8px 10px 8px 12px;font-size:.88rem}.nav-submenu a .ico{width:27px;flex:0 0 27px}.nav-submenu a .nav-svg{width:19px;height:19px}.nav-submenu a.active{box-shadow:inset 3px 0 var(--brand)}
.sidebar-is-collapsed .grouped-nav{padding-inline:8px;gap:7px}.sidebar-is-collapsed .nav-group{position:relative;border:0;background:transparent}.sidebar-is-collapsed .nav-group>summary{justify-content:center;padding:10px 6px}.sidebar-is-collapsed .nav-group>summary .ico{width:42px;flex-basis:42px}.sidebar-is-collapsed .nav-group>summary .nav-svg{width:var(--sg-icon-collapsed);height:var(--sg-icon-collapsed)}.sidebar-is-collapsed .nav-group-label,.sidebar-is-collapsed .nav-group>summary .nav-chevron,.sidebar-is-collapsed .nav-group>summary>.nav-count{display:none}.sidebar-is-collapsed .nav-group .nav-submenu{display:none}.sidebar-is-collapsed .nav-group[open] .nav-submenu{display:grid;position:fixed;left:calc(var(--sg-sidebar-collapsed) + 7px);width:270px;max-height:70vh;overflow:auto;padding:9px;background:var(--nav);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.28);z-index:70}.sidebar-is-collapsed .nav-group[open] .nav-submenu .nav-label{display:inline}.sidebar-is-collapsed .nav-group[open] .nav-submenu a{justify-content:flex-start;gap:10px}.sidebar-is-collapsed .nav-group[open] .nav-submenu .ico{width:28px}.sidebar-is-collapsed .nav-group[open] .nav-submenu .nav-count{position:static;margin-left:auto}

/* Galerías múltiples: clientes, presupuestos, partes, equipos y comunicaciones. */
.entity-media-panel .section-head{align-items:center}.entity-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.entity-media-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--card)}.entity-media-preview{height:170px;background:#eef2f5;display:grid;place-items:center;overflow:hidden}.entity-media-preview img,.entity-media-preview video,.entity-media-preview iframe{width:100%;height:100%;object-fit:cover;border:0}.entity-media-preview a{width:100%;height:100%;display:block}.entity-doc-link{display:grid!important;place-items:center;padding:18px;text-align:center}.entity-media-meta{padding:11px;display:grid;gap:5px}.entity-media-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-media-meta small{color:var(--muted)}.entity-media-meta form{justify-self:start}.media-submit{display:flex;align-items:end}.media-submit .btn{width:100%}.media-upload-form input[type=file]{padding:8px;background:#fafbfc}

/* Ayudas en puntos delicados y requisitos de terceros. */
.context-help{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 15px;border:1px solid #cfe0ef;border-radius:14px;background:#f2f8fd}.context-help>.help-icon{width:42px;height:42px;border-radius:12px;background:#e4f1fb;display:grid;place-items:center;font-weight:900;color:#245889;font-size:1.15rem}.context-help h3{margin:0 0 4px;font-size:1rem}.context-help p{margin:0;color:#4b6277}.context-help ul{margin:8px 0 0 18px;padding:0;color:#4b6277}.context-help.warning{border-color:#f0d7a1;background:#fff9ed}.context-help.warning>.help-icon{background:#fff0c9;color:#815400}

/* Enlaces internos: la entidad completa siempre debe quedar a un clic. */
.entity-link{display:inline-flex;align-items:center;gap:6px;font-weight:780;text-decoration:none}.entity-link::after{content:'↗';font-size:.75em;opacity:.45}.entity-ref{display:flex;align-items:center;gap:8px;min-width:0}.entity-ref .entity-main{min-width:0}.entity-ref .entity-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-ref .entity-main small{display:block;color:var(--muted)}

/* Cliente reciente / actividad diaria */
.recent-client-list{display:grid;gap:10px}.recent-client-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.recent-client-card h3{margin:0;font-size:1.05rem}.recent-client-card p{margin:4px 0;color:var(--muted)}.recent-client-card .recent-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.recent-client-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}

/* Intereses y ofertas */
.interest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.interest-card{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.interest-card h3{margin:0 0 4px}.interest-card .interest-product{font-weight:800;margin:8px 0}.offer-match{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.offer-match+.offer-match{margin-top:8px}

/* Comunicación multimedia */
.comm-compose{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.comm-compose textarea{min-height:150px}.comm-media-drop{border:1px dashed #b7c6d3;border-radius:13px;padding:12px;background:#fafcfd}.comm-media-drop input{width:100%}.comm-attachment-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.comm-attachment-preview span{padding:6px 8px;border-radius:8px;background:#eef2f5;font-size:.8rem}

/* Aceptación flexible del presupuesto. */
.acceptance-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.acceptance-method{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--card)}.acceptance-method label{display:flex;gap:9px;align-items:flex-start;font-weight:800}.acceptance-method p{margin:6px 0 0;color:var(--muted);font-size:.85rem}.signature-pad-wrap.optional-signature{position:relative}.signature-pad-wrap.optional-signature::before{content:'Firma manuscrita opcional';position:absolute;top:8px;left:10px;z-index:1;color:#7d8791;font-size:.75rem;background:#fff;padding:2px 5px;border-radius:5px}

/* Móvil: controles grandes y menú agrupado legible. */
@media(max-width:850px){.grouped-nav{padding:12px 10px 30px}.nav-group>summary{min-height:50px}.nav-submenu a{min-height:46px;font-size:.94rem}.sidebar-is-collapsed .nav-group .nav-submenu,.sidebar-is-collapsed .nav-group[open] .nav-submenu{position:static;display:grid;width:auto;max-height:none;padding:2px 6px 9px 11px;box-shadow:none;border:0}.sidebar-is-collapsed .nav-group-label,.sidebar-is-collapsed .nav-group>summary .nav-chevron{display:inline}.sidebar-is-collapsed .nav-group>summary{justify-content:flex-start}.sidebar-is-collapsed .nav-group>summary .ico{width:30px;flex-basis:30px}.sidebar-is-collapsed .nav-group>summary .nav-svg{width:22px;height:22px}.sidebar-is-collapsed .nav-group[open] .nav-submenu .nav-label{display:inline}.comm-compose{grid-template-columns:1fr}.recent-client-card{grid-template-columns:1fr}.recent-client-card .recent-actions{justify-content:flex-start}.acceptance-methods{grid-template-columns:1fr}}
@media(max-width:560px){body{font-size:calc(15.5px * var(--font-scale,1))}.content{padding:14px 12px}.btn{min-height:46px}.actions .btn{min-width:calc(50% - 6px)}.entity-media-grid{grid-template-columns:1fr 1fr}.entity-media-preview{height:145px}}

/* Super Gestor360 2.0 · multimedia, aceptación accesible y conectores explicados */
.acceptance-method-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);cursor:pointer;min-height:82px}.acceptance-method-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.acceptance-method-card input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}.acceptance-method-card span{display:grid;gap:4px}.acceptance-method-card strong{font-size:1rem}.acceptance-method-card small{font-size:.9rem;line-height:1.45;color:var(--muted)}
.portal-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-media-card{display:grid;gap:10px}.portal-media-card img,.portal-media-card video,.portal-media-card iframe,.quote-video-preview iframe{width:100%;min-height:250px;max-height:440px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#0d1117}.portal-media-card iframe,.quote-video-preview iframe{aspect-ratio:16/9;height:auto}.quote-video-preview{margin:12px 0;max-width:760px}
.connector-guide{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:18px;margin:14px 0 20px}.connector-guide h3{margin:0 0 8px;font-size:1.05rem}.connector-guide ul{margin:8px 0 14px;padding-left:22px}.connector-guide li{margin:7px 0;line-height:1.45}
.comm-compose{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:end}.comm-compose>.field{grid-column:span 4}.comm-compose>.comm-body{grid-column:span 7}.comm-compose>.comm-media{grid-column:span 5}.comm-compose>.comm-send{grid-column:1/-1;display:flex;justify-content:flex-end}.comm-compose textarea{min-height:130px}.comm-compose input[type=file]{min-height:54px;padding:10px}
.card-soft{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--soft)}
@media(max-width:900px){.portal-media-grid{grid-template-columns:1fr}.comm-compose>.field,.comm-compose>.comm-body,.comm-compose>.comm-media{grid-column:1/-1}.acceptance-method-card{min-height:auto}}

/* Auditoría final 2.0 · legibilidad mínima en información operativa. */
.nav-section{font-size:.76rem}.topbar-title strong{font-size:.9rem}.topbar-title span{font-size:.76rem}.topnav-group summary{font-size:.85rem}.topnav-menu a{font-size:.88rem}.topnav-menu b{font-size:.74rem}
.dashboard-kpis .kpi .label{font-size:.78rem}.dashboard-kpis .kpi .hint{font-size:.82rem}.integration-meta span{font-size:.76rem}.integration-meta strong{font-size:.86rem}.integration-message{font-size:.86rem}.integration-requirements>span{font-size:.76rem}.integration-requirements em{font-size:.78rem}
.comm-health-item small{font-size:.82rem}.channel-tabs a{font-size:.86rem}.comm-channel-icon{font-size:.8rem}.comm-row-head time{font-size:.78rem}.comm-main p{font-size:.92rem}.comm-main small{font-size:.8rem}.comm-subject{font-size:.92rem}
.opp-signal{font-size:.76rem}.opportunity-card p{font-size:.9rem}.entity-media-meta small,.entity-ref .entity-main small{font-size:.82rem}
@media(max-width:850px){.topbar-title span{display:none}.nav-section{font-size:.8rem}}

/* Gestor 360 · Editor de presupuestos v2.1
   Buscadores claros, líneas compactas y precios finales con IVA incluido. */
.quote-main-card .card-body{overflow:visible}
.quote-editor-form .field label{font-weight:700;letter-spacing:-.01em}
.info-banner{margin-top:18px;padding:14px 16px;border:1px solid rgba(37,99,235,.18);background:rgba(37,99,235,.06);border-radius:14px;line-height:1.45}
.smart-field,.catalog-search{position:relative}
.smart-results{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:340px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#dbe3ea);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.16);padding:6px}
.smart-result{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.smart-result:hover,.smart-result:focus{background:rgba(37,99,235,.08);outline:none}
.smart-result strong{font-size:15px}
.smart-result span{font-size:13px;color:var(--muted,#6b7280);line-height:1.35}
.smart-result span b{color:var(--text,#111827);margin-left:6px}
.smart-empty{padding:14px;color:var(--muted,#6b7280);font-size:14px}
.entity-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2)}
.entity-selection>div{display:flex;min-width:0;flex-direction:column;gap:2px}.entity-selection strong{font-size:14px}.entity-selection span{font-size:12px;color:var(--muted,#6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-lines-section{overflow:visible}.quote-line{overflow:visible}.quote-line .card-body{overflow:visible}
.quote-line-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.quote-line-head>div:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}.quote-line-head .line-title{font-size:18px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-head-actions{display:flex;align-items:center;gap:12px}.line-total{font-size:20px;font-weight:800;white-space:nowrap}
.quote-line-primary{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(300px,2.4fr) minmax(170px,1fr) minmax(120px,.7fr) minmax(200px,1.15fr);gap:14px;align-items:end}
.quote-line-primary>.field{min-width:0}.quote-line-primary input,.quote-line-primary select{min-height:48px;font-size:16px}
.quote-line-details{margin-top:16px;border-top:1px solid var(--border,#e5e7eb);padding-top:12px}.quote-line-details summary{cursor:pointer;font-weight:700;color:var(--primary,#2563eb);padding:5px 0}.quote-details-grid{padding-top:14px}.quote-line-options{display:flex;flex-direction:column;gap:10px}.quote-line-options>label:not(:first-child){font-weight:600}
.quote-total-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;padding:0!important}.quote-total-grid>div{padding:18px 22px;border-right:1px solid var(--border,#e5e7eb)}.quote-total-grid>div:last-child{border-right:0}.quote-total-grid span{display:block;color:var(--muted,#6b7280);font-size:13px;margin-bottom:7px}.quote-total-grid strong{display:block;font-size:22px}.quote-total-grid .grand strong{font-size:28px}.quote-save-actions{padding-bottom:14px}
@media(max-width:1180px){.quote-line-primary{grid-template-columns:repeat(6,minmax(0,1fr))}.quote-line-primary>.field:nth-child(1){grid-column:span 2}.quote-line-primary>.catalog-search{grid-column:span 4}.quote-line-primary>.field:nth-last-child(3){grid-column:span 2}.quote-line-primary>.field:nth-last-child(2){grid-column:span 2}.quote-line-primary>.field:nth-last-child(1){grid-column:span 2}.quote-total-grid{grid-template-columns:repeat(3,1fr)}.quote-total-grid>div{border-bottom:1px solid var(--border,#e5e7eb)}}
@media(max-width:760px){.quote-line-head{align-items:flex-start}.quote-line-primary{grid-template-columns:1fr 1fr}.quote-line-primary>.field,.quote-line-primary>.catalog-search{grid-column:span 2}.quote-line-primary>.field:nth-last-child(2),.quote-line-primary>.field:nth-last-child(1){grid-column:span 1}.quote-total-grid{grid-template-columns:1fr 1fr}.quote-total-grid .grand{grid-column:span 2}.smart-results{position:fixed;left:12px;right:12px;top:auto;max-height:52vh}.entity-selection{align-items:flex-start;flex-direction:column}.quote-line-head .line-title{white-space:normal}.line-head-actions{align-items:flex-end;flex-direction:column}.quote-total-grid>div{padding:15px}}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.grid-5{grid-template-columns:1fr 1fr}}

/* Gestor 360 · Manuales de producto v2.2.0
   Filas flexibles, wrap real y controles legibles en cualquier ancho. */
.manual-upload-form{display:flex;flex-direction:column;gap:18px}
.manual-form-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;width:100%}
.manual-form-row-main>.manual-field{min-width:0}
.manual-field-product{flex:2 1 340px}
.manual-field-title{flex:1.55 1 260px}
.manual-field-version{flex:.8 1 170px}
.manual-field-language{flex:.8 1 170px}
.manual-field-file{flex:1.15 1 230px}
.manual-field-file input[type=file]{min-height:46px;padding:8px 10px}
.manual-form-row-actions{align-items:center;padding-top:2px}
.manual-auto-option{display:flex;align-items:flex-start;gap:12px;flex:1 1 380px;min-width:280px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:pointer}
.manual-auto-option input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0}
.manual-auto-option span{display:flex;flex-direction:column;gap:3px;min-width:0}
.manual-auto-option strong{font-size:.94rem;line-height:1.3}
.manual-auto-option small{font-size:.82rem;line-height:1.42;color:var(--muted)}
.manual-save-btn{flex:0 0 auto;min-width:170px}
.manual-filter-form{padding:16px}
.manual-filter-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;width:100%}
.manual-filter-search{flex:2 1 320px;min-width:240px}
.manual-filter-product{flex:1.4 1 280px;min-width:220px}
.manual-filter-btn{flex:0 0 auto;min-width:110px}
.manual-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.manual-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;padding:18px 20px;overflow:hidden}
.manual-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.manual-info strong{font-size:.94rem;line-height:1.38;overflow-wrap:anywhere}
.manual-info small{font-size:.82rem;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.manual-label{font-size:.75rem;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted);margin-bottom:2px}
.manual-info-product{flex:1.5 1 260px}
.manual-info-title{flex:1.2 1 210px}
.manual-info-pdf{flex:1 1 190px}
.manual-info-status{flex:.9 1 190px}
.manual-info-downloads{flex:.75 1 150px}
.manual-info-link{flex:1.45 1 290px}
.manual-badges{display:flex;flex-wrap:wrap;gap:7px}
.manual-open-link{font-weight:800;color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}
.manual-url{display:block;max-width:100%;word-break:break-all}
.manual-row-actions{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:9px;padding-top:13px;border-top:1px solid var(--line)}
.manual-row-actions form{margin:0;display:flex}
.manual-row-actions .btn{min-width:118px;white-space:nowrap}
.manual-row-actions .btn-danger{margin-left:auto}
@media(max-width:900px){
 .manual-row{gap:15px}
 .manual-info-product,.manual-info-title,.manual-info-pdf,.manual-info-status,.manual-info-downloads,.manual-info-link{flex:1 1 calc(50% - 10px);min-width:240px}
 .manual-row-actions .btn-danger{margin-left:0}
}
@media(max-width:620px){
 .manual-form-row,.manual-filter-row{gap:12px}
 .manual-field-product,.manual-field-title,.manual-field-version,.manual-field-language,.manual-field-file,.manual-filter-search,.manual-filter-product{flex:1 1 100%;min-width:100%}
 .manual-auto-option{flex:1 1 100%;min-width:100%}
 .manual-save-btn,.manual-filter-btn{width:100%;min-width:100%}
 .manual-row{padding:16px}
 .manual-info-product,.manual-info-title,.manual-info-pdf,.manual-info-status,.manual-info-downloads,.manual-info-link{flex:1 1 100%;min-width:100%}
 .manual-row-actions{display:grid;grid-template-columns:1fr 1fr}
 .manual-row-actions form,.manual-row-actions .btn{width:100%;min-width:0}
}


/* Gestor 360 2.2 · acciones de documento, responsive y formularios */
.document-action-menu{position:relative;display:inline-block}.document-action-menu>summary{list-style:none}.document-action-menu>summary::-webkit-details-marker{display:none}.document-action-popover{position:absolute;right:0;top:calc(100% + 7px);width:min(320px,86vw);padding:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.22);z-index:100;display:grid;gap:4px}.document-action-popover a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--text);font-weight:750}.document-action-popover a:hover{background:color-mix(in srgb,var(--brand) 10%,var(--card));color:var(--brand-dark)}
.inline-edit{position:relative}.inline-edit>summary{list-style:none}.inline-edit-form{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:12px;display:grid;gap:8px;width:min(360px,90vw)}
.chat-thread{display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:86%;border-radius:16px 16px 16px 5px;padding:12px 14px;background:#eef6ff;border:1px solid #d9e8f8}.chat-bubble.staff{align-self:flex-end;border-radius:16px 16px 5px 16px;background:#dcf8e8;border-color:#c7ecd8}.chat-bubble p{margin:5px 0;line-height:1.5}.chat-bubble small{color:var(--muted)}
.form-builder-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr) auto;gap:10px;align-items:center}.form-builder-row input,.form-builder-row select{min-height:44px}.form-preview-frame{width:100%;max-width:100%;margin:12px auto 0;border:1px dashed var(--line);border-radius:14px;padding:16px;transition:max-width .2s}.responsive-preview-tabs{display:flex;gap:8px;flex-wrap:wrap}.public-form-shell{min-height:100vh;background:var(--bg);padding:24px 1rem;display:grid;place-items:start center}.public-form-card{width:min(760px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(18px,4vw,34px);box-shadow:var(--shadow)}.public-form-logo{max-width:240px;height:auto}.public-form-card h1{font-size:clamp(1.55rem,5vw,2.3rem)}
@media(min-width:851px){.topnav-group:hover>.topnav-menu,.topnav-group:focus-within>.topnav-menu{display:grid}.topnav-group:not([open])>.topnav-menu{display:none}.topnav-group:hover:not([open])>.topnav-menu{display:grid}}
@media(max-width:850px){.content{padding-left:1rem!important;padding-right:1rem!important}.main{margin-left:0!important;width:100%!important}.page-head,.section-head{gap:14px}.card-body{padding:16px}.document-action-menu{width:100%}.document-action-menu>summary{width:100%}.document-action-popover{position:fixed;left:1rem;right:1rem;bottom:1rem;top:auto;width:auto;max-height:70vh;overflow:auto}.form-builder-row{grid-template-columns:1fr}.public-form-shell{padding-left:1rem;padding-right:1rem}}
@media(max-width:560px){.content{padding:14px 1rem 32px!important}.actions{gap:10px}.actions>.btn,.actions>form,.actions>details{flex:1 1 100%;width:100%}.actions>form>.btn{width:100%}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}

.comm-timeline{display:flex!important;flex-direction:column;gap:12px}.comm-row{width:min(900px,92%);border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--card);box-shadow:0 3px 12px rgba(15,23,42,.06)}.comm-row.direction-in{align-self:flex-start;border-radius:18px 18px 18px 5px;background:#fff}.comm-row.direction-out{align-self:flex-end;border-radius:18px 18px 5px 18px;background:#e8f8ef}.comm-row .comm-main{min-width:0}.comm-row-head{display:flex;justify-content:space-between;gap:14px}.comm-row p{line-height:1.55;white-space:normal;overflow-wrap:anywhere}.comm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.comm-actions .btn{min-width:110px}.comm-channel-icon{display:none}@media(max-width:700px){.comm-row{width:100%;padding:13px}.comm-row-head{flex-direction:column}.comm-actions .btn{flex:1 1 calc(50% - 8px)}}
.select-search-helper{margin-bottom:6px}.select-search-helper input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;background:var(--card);color:var(--text)}

/* Presupuestos: filas flexibles que saltan de línea sin comprimir campos */
.quote-line-primary{display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:flex-end!important;grid-template-columns:none!important}.quote-line-primary>.field,.quote-line-primary>.catalog-search{min-width:0;flex:1 1 180px}.quote-line-primary>.catalog-search{flex:2.3 1 340px}.quote-line-primary>.field:first-child{flex:.9 1 160px}.quote-line-primary>.field:nth-last-child(3){flex:.9 1 150px}.quote-line-primary>.field:nth-last-child(2){flex:.7 1 120px}.quote-line-primary>.field:nth-last-child(1){flex:1.1 1 190px}@media(max-width:760px){.quote-line-primary>.field,.quote-line-primary>.catalog-search{flex:1 1 100%!important;min-width:100%!important}.quote-line-primary>.field:nth-last-child(2),.quote-line-primary>.field:nth-last-child(1){flex:1 1 calc(50% - 8px)!important;min-width:150px!important}}
/* ===== Gestor360 2.3 · corrección responsive global ===== */
.form-grid>*{min-width:0}.field{min-width:0}.field input,.field select,.field textarea{min-width:0;max-width:100%}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}
.topbar,.topbar>*{min-width:0}.topbar-title{min-width:0;overflow:hidden}.topbar-title strong,.topbar-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{width:100%;min-width:0}.card,.card-body,.grid>*{min-width:0}
@media(max-width:1150px){.col-7,.col-8,.col-9,.col-10,.col-11{grid-column:span 12}.col-5,.col-6{grid-column:span 6}.col-1,.col-2,.col-3,.col-4{grid-column:span 4}}
@media(max-width:850px){.form-grid{grid-template-columns:1fr}.form-grid>.col-1,.form-grid>.col-2,.form-grid>.col-3,.form-grid>.col-4,.form-grid>.col-5,.form-grid>.col-6,.form-grid>.col-7,.form-grid>.col-8,.form-grid>.col-9,.form-grid>.col-10,.form-grid>.col-11,.form-grid>.col-12{grid-column:1/-1}.topbar{height:auto;min-height:64px;padding-top:8px;padding-bottom:8px}.page-head{min-width:0}.page-head>div{min-width:0}}
/* Biblioteca visual y selectores reutilizables */
.image-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:410px;overflow:auto;padding:4px}.image-selector-card{position:relative;display:grid;gap:6px;border:2px solid var(--line);border-radius:13px;padding:8px;cursor:pointer;background:var(--card);min-width:0}.image-selector-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,105,46,.12)}.image-selector-card input{position:absolute;top:8px;right:8px;z-index:2}.image-selector-preview{height:96px;border-radius:9px;background:var(--surface-2,#f2f4f6);overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:.78rem}.image-selector-preview img{width:100%;height:100%;object-fit:cover}.image-selector-card strong,.image-selector-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-selector-card small{color:var(--muted)}
.image-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.image-library-card{overflow:hidden}.image-library-thumb{aspect-ratio:16/10;background:#eef2f5;overflow:hidden}.image-library-thumb img{width:100%;height:100%;object-fit:cover}.image-library-meta{padding:12px;display:grid;gap:6px}
/* Enlaces de cliente */
.share-copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.share-url-input{flex:1 1 320px;min-width:180px;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fafbfc;font:inherit}.share-options{display:grid;gap:8px;padding:10px 0}.share-history{display:grid;gap:10px}.share-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.share-history-row>div:first-child{display:grid;gap:5px;min-width:0}.share-history-row small{color:var(--muted)}
@media(max-width:650px){.share-copy-row>*{width:100%}.share-history-row{grid-template-columns:1fr}.image-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Subida multimedia */
.media-dropzone{border:2px dashed #b8c5cf;border-radius:14px;padding:18px;background:#fafcfd;display:grid;gap:8px;min-height:126px;align-content:center}.media-dropzone.dragover{border-color:var(--brand);background:#fff8f4}.media-dropzone input[type=file]{width:100%;background:transparent;border:0;padding:0}.media-file-preview{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.media-file-preview span{background:#edf1f4;border-radius:8px;padding:6px 8px;font-size:.82rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-upload-actions{display:flex;align-items:end}.media-upload-actions .btn{width:100%}
/* Catálogo sincronizado */
.catalog-sync-card .form-grid{align-items:end}.sync-link-list label{min-width:0}.sync-link-list span{overflow-wrap:anywhere}
/* Editor enriquecido */
.rich-editor-shell{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--line);background:#f8fafb}.rich-toolbar button,.rich-toolbar input[type=color]{min-width:36px;min-height:34px}.rich-editable{min-height:150px;padding:12px;outline:none;overflow:auto}.rich-source{width:100%;min-height:170px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.quote-builder-block{min-width:0}.quote-builder-block pre,.quote-builder-block code{white-space:pre-wrap;overflow-wrap:anywhere}
/* Página pública de enlaces a clientes */
.public-share-body{min-height:100vh;background:linear-gradient(145deg,#f1f4f6,#fff8f4);padding:28px 16px}.public-share-shell{width:min(960px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(23,32,41,.14)}.public-share-hero{min-height:520px;position:relative;background:#fff;display:flex;flex-direction:column}.public-share-hero>img{width:100%;aspect-ratio:16/10;object-fit:contain;object-position:center center;background:#fff;padding:1rem;box-sizing:border-box;display:block}.public-share-hero-copy{padding:28px 30px}.public-share-hero-copy>span{font-size:.78rem;letter-spacing:.12em;font-weight:800;color:var(--brand);text-transform:uppercase}.public-share-hero-copy h1{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:10px 0 12px}.public-share-hero-copy p{color:var(--muted);font-size:1.03rem;line-height:1.6}.public-share-panel{padding:34px;display:grid;align-content:center;min-width:0}.public-share-panel h2{font-size:26px;margin:8px 0}.public-share-form{margin-top:18px}.public-share-ready{text-align:center}.public-share-check{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:#e7f6ee;color:#137347;display:grid;place-items:center;font-size:32px;font-weight:900}.public-share-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:18px}.public-share-panel .field input{min-height:46px}
@media(max-width:820px){.public-share-body{padding:0}.public-share-shell{grid-template-columns:1fr;border-radius:0;min-height:100vh}.public-share-hero{min-height:auto}.public-share-hero>img{max-height:360px}.public-share-hero-copy{padding:22px 20px}.public-share-panel{padding:24px 20px 40px}.public-share-form .col-3,.public-share-form .col-4,.public-share-form .col-6{grid-column:span 12}}
html,body{max-width:100%;overflow-x:hidden}.app,.main,.content,.grid,.form-grid{min-width:0}.table-wrap{max-width:100%}

/* Gestor360 2.3 · subida multimedia accesible y responsive */
.media-dropzone-main{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;text-align:center}.media-dropzone-main>strong{flex-basis:100%;font-size:.98rem}.media-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.media-camera-button{display:none}.media-file-preview{display:grid!important;gap:8px!important;width:100%}.media-file-preview-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:7px}.media-file-thumb{width:54px;height:44px;border-radius:8px;background:var(--surface-2,#eef2f5);display:grid;place-items:center;overflow:hidden;font-size:.64rem;font-weight:800;color:var(--muted)}.media-file-thumb img{width:100%;height:100%;object-fit:cover}.media-file-info{min-width:0;display:grid;gap:2px;text-align:left}.media-file-info strong,.media-file-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-file-info small{color:var(--muted);font-size:.72rem}.media-file-remove{white-space:nowrap}.media-upload-progress{position:relative;height:24px;border-radius:999px;background:var(--surface-2,#e9eef1);overflow:hidden;margin-top:8px}.media-upload-progress-bar{position:absolute;inset:0 auto 0 0;background:var(--brand);transition:width .15s}.media-upload-progress span{position:relative;z-index:2;height:100%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:var(--text)}.media-upload-error{margin:8px 0 0}.media-dropzone:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}
@media(max-width:850px){.media-upload-form .col-8,.media-upload-form .col-4{grid-column:span 12}.media-upload-actions{margin-top:0!important}.media-camera-button{display:inline-flex}}
@media(max-width:560px){.media-file-preview-item{grid-template-columns:46px minmax(0,1fr)}.media-file-thumb{width:46px;height:42px}.media-file-remove{grid-column:2;justify-self:start}.media-dropzone{padding:14px}.media-dropzone-main>span{display:none}.media-file-picker,.media-camera-button{width:100%;justify-content:center}}

/* === Gestor360 2.4 · calidad, aceptación y auditoría visual === */
.ui-audit-frame-wrap{margin-top:16px;overflow:auto;padding:12px;border:1px solid var(--border,#d9e1e5);border-radius:var(--radius-lg,18px);background:#eef2f1;min-height:520px}
#ui-audit-frame{display:block;height:720px;border:0;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,35,30,.12);transition:width .2s ease}
.public-share-response{padding-top:18px;border-top:1px solid rgba(24,58,48,.12)}
.public-share-response h3{margin:0 0 12px}.public-share-response .grid{align-items:start}
.share-options{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.share-options .help{flex-basis:100%}
@media(max-width:760px){#ui-audit-frame{height:640px}.ui-audit-frame-wrap{padding:6px}.public-share-response .grid{grid-template-columns:1fr}.share-options{align-items:flex-start;flex-direction:column}}
.ui-audit-frame-wrap{overflow:auto;max-width:100%;padding:10px;border:1px solid var(--border,#d9e0e6);border-radius:var(--radius-md,16px);background:#eef2f0}
.ui-audit-frame-wrap iframe{display:block;min-height:760px;border:0;background:#fff}
.mb-2{margin-bottom:16px}.justify-between{justify-content:space-between}
.mb-1{margin-bottom:8px}

/* ========================================================================== */
/* WHATSAPP 360 · Gestor360 2.5                                               */
/* Interfaz de conversación integrada: usa tokens del Design System global.    */
/* ========================================================================== */
:root{
  --wa360-accent:#25d366;
  --wa360-accent-dark:#128c7e;
  --wa360-in:#ffffff;
  --wa360-out:color-mix(in srgb,var(--brand) 13%,#ffffff);
  --wa360-wall:color-mix(in srgb,var(--bg) 74%,#e7e3dc);
  --wa360-panel:var(--card);
  --wa360-line:var(--line);
  --wa360-shell-h:calc(100vh - 230px);
}
.wa360-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.wa360-page-head h1{font-family:var(--sg-font-display);font-size:clamp(30px,3vw,44px);line-height:1;margin:5px 0}.wa360-page-head p{margin:0;color:var(--muted)}
.wa360-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.wa360-kpis>div{display:flex;align-items:baseline;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px}.wa360-kpis strong{font-size:20px}.wa360-kpis span{font-size:11px;color:var(--muted);font-weight:750}
.wa360-shell{display:grid;grid-template-columns:minmax(280px,330px) minmax(430px,1fr) minmax(300px,350px);height:max(680px,var(--wa360-shell-h));min-height:0;border:1px solid var(--wa360-line);border-radius:20px;overflow:hidden;background:var(--wa360-panel);box-shadow:var(--sg-shadow-soft)}
.wa360-inbox,.wa360-chat,.wa360-context{min-width:0;min-height:0;background:var(--wa360-panel)}.wa360-inbox{border-right:1px solid var(--wa360-line);display:flex;flex-direction:column}.wa360-context{border-left:1px solid var(--wa360-line)}
.wa360-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;border-bottom:1px solid var(--wa360-line)}.wa360-panel-head>div{display:flex;flex-direction:column}.wa360-panel-head small{color:var(--muted)}.wa360-new{position:relative}.wa360-new>summary{list-style:none}.wa360-new>summary::-webkit-details-marker{display:none}.wa360-popover{position:absolute;z-index:90;top:calc(100% + 8px);left:0;width:min(390px,80vw);background:var(--card);border:1px solid var(--line);box-shadow:var(--sg-shadow-float);border-radius:14px;padding:14px}
.wa360-filters{padding:10px;border-bottom:1px solid var(--wa360-line);display:grid;gap:8px}.wa360-filters>input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card);color:var(--text)}.wa360-filters>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}.wa360-filters select{min-width:0;height:36px}.wa360-unread{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;font-weight:750}.wa360-unread input{width:auto}
.wa360-conversation-list{overflow:auto;min-height:0;scrollbar-width:thin}.wa360-conversation{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:var(--text);text-decoration:none;transition:background .14s ease}.wa360-conversation:hover{background:var(--surface)}.wa360-conversation.active{background:color-mix(in srgb,var(--brand) 10%,var(--card));box-shadow:inset 3px 0 var(--brand)}.wa360-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 72%,#fff),var(--brand-dark));color:#fff;font-weight:850;flex:0 0 auto}.wa360-avatar.large{width:44px;height:44px}.wa360-conversation-copy{display:flex;flex-direction:column;min-width:0}.wa360-conversation-copy strong{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wa360-conversation-copy small{font-size:11px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:2px}.wa360-conversation-copy em{font-size:9px;color:var(--muted);font-style:normal;margin-top:4px}.wa360-conversation-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:9px;color:var(--muted)}.wa360-conversation-meta b{background:var(--wa360-accent);color:#083b27;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;font-size:10px}
.wa360-chat{display:flex;flex-direction:column;background:var(--wa360-wall)}.wa360-chat-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--card);border-bottom:1px solid var(--line);min-height:68px}.wa360-chat-head>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.wa360-chat-head strong{font-size:14px}.wa360-chat-head small{font-size:10px;color:var(--muted)}.wa360-chat-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.wa360-thread{flex:1 1 auto;overflow:auto;padding:18px clamp(12px,2vw,26px);display:flex;flex-direction:column;gap:7px;min-height:0;background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--brand) 4%,transparent) 0 1px,transparent 1.5px);background-size:18px 18px}.wa360-message{display:flex}.wa360-message.in{justify-content:flex-start}.wa360-message.out{justify-content:flex-end}.wa360-bubble{max-width:min(76%,680px);border-radius:12px;padding:8px 10px 6px;background:var(--wa360-in);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);box-shadow:0 2px 5px rgba(15,23,42,.045)}.wa360-message.out .wa360-bubble{background:var(--wa360-out);border-radius:12px 12px 3px 12px}.wa360-message.in .wa360-bubble{border-radius:12px 12px 12px 3px}.wa360-bubble p{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:13px}.wa360-bubble footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:4px;color:var(--muted);font-size:8.5px}.wa360-bubble footer>span:first-child{margin-right:auto}.wa360-status.status-read{color:var(--wa360-accent-dark)}.wa360-status.status-failed,.wa360-error{color:#b42318}.wa360-media-link{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;margin-bottom:6px;background:color-mix(in srgb,var(--brand) 8%,var(--card));border-radius:8px;font-weight:800;font-size:11px;color:var(--brand-dark);text-decoration:none}.wa360-error{display:block;margin-top:6px;font-size:9px}
.wa360-compose{background:var(--card);border-top:1px solid var(--line);padding:9px 10px 8px;position:relative}.wa360-message-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.wa360-message-form textarea{resize:none;min-height:50px;max-height:140px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card);color:var(--text);font:inherit}.wa360-message-form .btn{align-self:stretch;min-width:72px}.wa360-tools{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.wa360-tools details{position:relative}.wa360-tools summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.wa360-tools summary::-webkit-details-marker{display:none}.wa360-tools details[open] summary{background:color-mix(in srgb,var(--brand) 11%,var(--card));border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.wa360-tool-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:120;width:min(390px,82vw);max-height:min(520px,62vh);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sg-shadow-float);padding:12px}.wa360-tool-popover.wide{width:min(720px,88vw)}.wa360-tool-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.wa360-tool-row:last-child{border-bottom:0}.wa360-tool-row>div{display:flex;flex-direction:column;min-width:0}.wa360-tool-row small{color:var(--muted);font-size:10px}.wa360-product-filter{display:grid;grid-template-columns:1fr 180px auto;gap:6px;margin-bottom:10px}.wa360-product-filter input,.wa360-product-filter select{min-width:0}.wa360-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:300px;overflow:auto;margin:10px 0;padding:2px}.wa360-product-card{display:grid;grid-template-columns:auto 48px 1fr;gap:7px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:var(--card);cursor:pointer}.wa360-product-card:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--card))}.wa360-product-card>input{width:auto}.wa360-product-thumb{width:48px;height:48px;border-radius:8px;background:var(--surface);display:grid;place-items:center;overflow:hidden}.wa360-product-thumb img{width:100%;height:100%;object-fit:contain}.wa360-product-card>span:last-child{display:flex;flex-direction:column;min-width:0}.wa360-product-card strong{font-size:10.5px;line-height:1.25}.wa360-product-card small{font-size:9px;color:var(--muted)}.wa360-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;margin:9px 0}.wa360-image-grid label{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card);cursor:pointer}.wa360-image-grid label:has(input:checked){outline:2px solid var(--brand)}.wa360-image-grid input{position:absolute;left:5px;top:5px;width:auto}.wa360-image-grid img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block}.wa360-image-grid small{display:block;padding:5px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa360-context-scroll{height:100%;overflow:auto}.wa360-context section{padding:15px;border-bottom:1px solid var(--line)}.wa360-context h3{margin:3px 0 10px;font-size:16px}.wa360-context h4{font-size:11px;margin:15px 0 5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.wa360-client-data{display:grid;gap:6px;margin:0}.wa360-client-data div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;font-size:10px}.wa360-client-data dt{color:var(--muted)}.wa360-client-data dd{margin:0;overflow-wrap:anywhere}.wa360-quick-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.wa360-summary-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:10px;text-decoration:none;color:var(--text)}.wa360-notes{display:grid;gap:7px;margin-top:10px}.wa360-notes article{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px}.wa360-notes p{margin:0 0 4px;font-size:10px;line-height:1.45}.wa360-notes small{font-size:8px;color:var(--muted)}.wa360-no-chat{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);padding:30px}.wa360-logo-mark{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:color-mix(in srgb,var(--wa360-accent) 18%,var(--card));font-size:34px;color:var(--wa360-accent-dark)}

/* Plantillas WhatsApp */
.wa-template-list{display:grid;gap:8px}.wa-template-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px}.wa-template-row>div{min-width:0}.wa-template-row p{font-size:11px;color:var(--muted);margin:5px 0;white-space:normal}.wa-template-designer{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:24px;align-items:start}.wa-template-preview{position:sticky;top:90px}.wa-phone-frame{border:8px solid #1f2933;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.18)}.wa-phone-bar{background:#075e54;color:#fff;padding:13px 16px;display:flex;justify-content:space-between;align-items:center}.wa-phone-bar span{font-weight:800}.wa-phone-bar small{opacity:.8}.wa-phone-wall{min-height:480px;background:#efeae2;padding:24px 14px;display:flex;align-items:flex-end}.wa-phone-bubble{margin-left:auto;width:90%;background:#d9fdd3;border-radius:13px 13px 3px 13px;padding:10px;color:#111b21;box-shadow:0 1px 2px rgba(0,0,0,.12)}.wa-phone-bubble strong{display:block;margin:3px 0 6px}.wa-phone-bubble p{white-space:pre-wrap;line-height:1.4;margin:0}.wa-phone-bubble>small{display:block;color:#667781;margin-top:8px}.wa-phone-bubble time{display:block;text-align:right;color:#667781;font-size:9px}.wa-preview-media{margin:-10px -10px 8px;overflow:hidden;border-radius:12px 12px 0 0}.wa-preview-media img{display:block;width:100%;max-height:230px;object-fit:cover}.wa-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.wa-template-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--card)}.wa-template-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.wa-template-card-head>div{display:flex;flex-direction:column}.wa-template-card-head small{color:var(--muted)}.wa-template-card>img{width:100%;height:150px;object-fit:cover;border-radius:10px;margin:10px 0}.wa-template-card p{white-space:normal;line-height:1.45;font-size:11px}.wa-template-buttons{display:grid;gap:4px;margin-top:8px}.wa-template-buttons span{text-align:center;border-top:1px solid var(--line);padding:6px;color:#027eb5;font-size:10px;font-weight:750}

/* Analítica WhatsApp */
.wa-analytics-bars{display:grid;gap:6px}.wa-analytics-day{display:grid;grid-template-columns:42px minmax(0,1fr) 38px 90px;align-items:center;gap:8px;font-size:9px}.wa-analytics-track{height:8px;background:var(--surface);border-radius:999px;overflow:hidden}.wa-analytics-track i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--wa360-accent));border-radius:inherit}.wa-top-products{display:grid;gap:7px}.wa-top-products>div{display:flex;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid var(--line)}.wa-top-products b{min-width:30px;text-align:center;background:var(--surface);border-radius:999px;padding:3px 7px}

/* Catálogo público enviado desde WhatsApp 360 */
.wa-catalog-public{min-height:100vh;background:linear-gradient(180deg,#f4f6f2,#eef2ed);color:#17221e;font-family:var(--sg-font-sans)}.wa-catalog-public-shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:28px 0 40px}.wa-catalog-public-head{display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid #dfe5df;border-radius:24px;padding:28px;box-shadow:0 18px 55px rgba(20,45,37,.08)}.wa-catalog-public-head img{width:100%;max-height:86px;object-fit:contain}.wa-catalog-public-head h1{font-family:var(--sg-font-display);font-size:clamp(30px,5vw,52px);line-height:1;margin:5px 0 10px}.wa-catalog-public-head p{margin:0;max-width:760px;line-height:1.6;color:#56635d}.wa-public-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.wa-public-product{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);background:#fff;border:1px solid #dfe5df;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(20,45,37,.055)}.wa-public-product-image{min-height:260px;background:#f4f6f3;display:grid;place-items:center}.wa-public-product-image img{width:100%;height:100%;max-height:330px;object-fit:contain;padding:18px}.wa-public-product-placeholder{color:#829087;font-weight:800}.wa-public-product-copy{padding:22px;display:flex;flex-direction:column}.wa-public-product-copy h2{font-family:var(--sg-font-display);font-size:24px;line-height:1.1;margin:6px 0 10px}.wa-public-product-copy p{color:#5c6963;line-height:1.55;font-size:13px}.wa-public-product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px}.wa-public-product-foot strong{font-size:25px;color:#193a30}.wa-catalog-public-footer{display:flex;justify-content:space-between;gap:12px;padding:22px 6px;color:#69766f;font-size:11px}

@media(max-width:1320px){.wa360-shell{grid-template-columns:300px minmax(410px,1fr)}.wa360-context{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);max-height:420px}.wa360-shell{height:auto;min-height:760px}.wa360-inbox,.wa360-chat{height:760px}.wa360-context-scroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.wa360-context section{border-right:1px solid var(--line)}.wa360-context section:last-child{border-right:0}}
@media(max-width:960px){.wa360-kpis{grid-template-columns:repeat(2,1fr)}.wa-template-designer{grid-template-columns:1fr}.wa-template-preview{position:static}.wa-phone-frame{width:min(420px,100%);margin:auto}.wa-public-product-grid{grid-template-columns:1fr}}
@media(max-width:800px){.wa360-page-head{align-items:flex-start;flex-direction:column}.wa360-page-head .actions{width:100%}.wa360-shell{display:flex;flex-direction:column;border-radius:14px}.wa360-inbox{height:auto;max-height:430px;border-right:0;border-bottom:1px solid var(--line)}.wa360-chat{height:72vh;min-height:620px}.wa360-context{max-height:none}.wa360-context-scroll{display:block}.wa360-context section{border-right:0}.wa360-tool-popover,.wa360-tool-popover.wide{position:fixed;left:10px;right:10px;bottom:10px;width:auto;max-height:72vh}.wa360-new .wa360-popover{position:fixed;left:10px;right:10px;top:90px;width:auto}.wa360-bubble{max-width:88%}.wa360-image-grid{grid-template-columns:repeat(3,1fr)}.wa360-product-grid{grid-template-columns:1fr}.wa-public-product{grid-template-columns:1fr}.wa-public-product-image{min-height:230px}.wa-catalog-public-head{grid-template-columns:1fr;text-align:center}.wa-catalog-public-head img{max-width:230px;margin:auto}.wa-catalog-public-footer{flex-direction:column;text-align:center}}
@media(max-width:520px){.wa360-kpis{grid-template-columns:1fr 1fr}.wa360-kpis>div{align-items:flex-start;flex-direction:column;gap:0}.wa360-chat-actions .btn{font-size:9px;padding:6px}.wa360-message-form{grid-template-columns:1fr}.wa360-message-form .btn{width:100%}.wa360-product-filter{grid-template-columns:1fr}.wa360-image-grid{grid-template-columns:repeat(2,1fr)}.wa-template-grid{grid-template-columns:1fr}.wa-analytics-day{grid-template-columns:36px 1fr 30px}.wa-analytics-day small{display:none}.wa-public-product-foot{align-items:flex-start;flex-direction:column}.wa-public-product-foot .btn{width:100%}.wa-catalog-public-shell{width:min(100% - 18px,1180px);padding-top:9px}.wa-catalog-public-head{padding:20px}}

/* ===== Gestor360 2.6 · Email 360 ===== */
.email360-page-head{align-items:flex-start}.email360-module-tabs{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 2px 10px;margin:-2px 0 12px;scrollbar-width:thin}.email360-module-tabs a{flex:0 0 auto;text-decoration:none;color:var(--muted);border:1px solid var(--line);background:var(--card);padding:8px 11px;border-radius:999px;font-size:.78rem;font-weight:750;white-space:nowrap}.email360-module-tabs a:hover,.email360-module-tabs a.active{color:var(--brand-dark);border-color:color-mix(in srgb,var(--brand) 58%,var(--line));background:color-mix(in srgb,var(--brand) 9%,var(--card))}
.email360-shell{display:grid;grid-template-columns:205px minmax(270px,340px) minmax(420px,1fr) minmax(250px,310px);min-width:0;height:calc(100vh - 192px);min-height:650px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}.email360-shell>*{min-width:0;min-height:0}.email360-sidebar{border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,var(--card));padding:13px;display:flex;flex-direction:column;gap:13px;overflow:auto}.email360-compose-btn{display:flex;justify-content:center;align-items:center;min-height:42px;padding:9px 12px;border-radius:12px;background:var(--brand);color:#fff;text-decoration:none;font-weight:850}.email360-folders{display:grid;gap:3px}.email360-folders a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:var(--text);padding:9px 10px;border-radius:9px;font-size:.79rem}.email360-folders a:hover,.email360-folders a.active{background:var(--card);box-shadow:0 1px 4px rgba(15,23,42,.07)}.email360-folders b,.email360-unread-count{min-width:22px;height:22px;border-radius:999px;background:var(--brand);color:#fff;font-size:.68rem;display:grid;place-items:center;padding:0 5px}.email360-account-filter{margin-top:auto;display:grid;gap:5px}.email360-account-filter label{font-size:.69rem;color:var(--muted);font-weight:800}.email360-account-filter select{width:100%;min-width:0}.email360-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.email360-mini-stats div{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card)}.email360-mini-stats strong,.email360-mini-stats span{display:block}.email360-mini-stats span{font-size:.62rem;color:var(--muted)}
.email360-list-pane{display:flex;flex-direction:column;border-right:1px solid var(--line);overflow:hidden;background:var(--card)}.email360-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px;border-bottom:1px solid var(--line)}.email360-search input{min-width:0}.email360-thread-list{overflow:auto;min-height:0}.email360-thread{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:11px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);text-decoration:none;color:var(--text);position:relative}.email360-thread:hover,.email360-thread.selected{background:color-mix(in srgb,var(--brand) 7%,var(--card))}.email360-thread.unread{background:color-mix(in srgb,var(--brand) 4%,var(--card))}.email360-thread.unread .email360-thread-copy strong{font-weight:900}.email360-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand-dark);font-size:.83rem;font-weight:900}.email360-avatar.small{width:32px;height:32px}.email360-thread-copy{min-width:0}.email360-thread-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.email360-thread-top strong,.email360-thread-subject,.email360-thread p,.email360-thread small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email360-thread-top strong{font-size:.8rem}.email360-thread-top time{font-size:.58rem;color:var(--muted);white-space:nowrap}.email360-thread-subject{font-size:.71rem;font-weight:760;margin-top:2px}.email360-thread p{font-size:.65rem;color:var(--muted);margin:3px 0}.email360-thread small{font-size:.58rem;color:var(--muted)}.email360-unread-count{align-self:center;width:auto}
.email360-reader{display:flex;flex-direction:column;min-width:0;background:var(--card);overflow:hidden}.email360-reader-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding:14px 16px}.email360-reader-head>div{min-width:0}.email360-reader-head h2{font-size:1.12rem;margin:3px 0 4px;overflow-wrap:anywhere}.email360-reader-head p{margin:0;color:var(--muted);font-size:.7rem}.email360-reader-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.email360-message-thread{padding:15px;overflow:auto;display:flex;flex-direction:column;gap:13px;min-height:0}.email360-message{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px;box-shadow:0 2px 8px rgba(15,23,42,.035)}.email360-message.outbound{background:color-mix(in srgb,#dff7e8 54%,var(--card));margin-left:4%}.email360-message.inbound{margin-right:4%}.email360-message header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding-bottom:9px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.email360-message header strong,.email360-message header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email360-message header small,.email360-message time{color:var(--muted);font-size:.62rem}.email360-message-body{padding:14px 2px;line-height:1.58;overflow-wrap:anywhere}.email360-message-body img{max-width:100%;height:auto}.email360-message-body table{max-width:100%;border-collapse:collapse}.email360-message-body pre{white-space:pre-wrap}.email360-message footer{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.email360-message footer a{font-size:.68rem;font-weight:780}.email360-attachments{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 10px}.email360-attachments a{max-width:100%;border:1px solid var(--line);border-radius:9px;padding:7px 9px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem}.email360-empty-reader{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}
.email360-context{border-left:1px solid var(--line);background:color-mix(in srgb,var(--surface) 72%,var(--card));overflow:hidden}.email360-context-scroll{height:100%;overflow:auto}.email360-context section{padding:14px;border-bottom:1px solid var(--line)}.email360-context h3{margin:4px 0 8px}.email360-context h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}.email360-client-data{display:grid;gap:7px;margin:0}.email360-client-data div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:7px;font-size:.68rem}.email360-client-data dt{color:var(--muted)}.email360-client-data dd{margin:0;overflow-wrap:anywhere}.email360-quick-actions{display:flex;gap:5px;flex-wrap:wrap}.email360-summary-row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.66rem;text-decoration:none;color:var(--text)}.email360-labels{display:flex;gap:5px;flex-wrap:wrap}
/* Redactor */
.email360-compose-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:16px;align-items:start}.email360-compose-main{min-width:0}.email360-address-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.email360-editor-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:7px;background:color-mix(in srgb,var(--surface) 70%,var(--card));position:sticky;top:0;z-index:4}.email360-editor-toolbar button,.email360-editor-toolbar select,.email360-editor-toolbar input[type=color]{min-height:31px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);padding:5px 8px;font:inherit;font-size:.68rem}.email360-editor-toolbar input[type=color]{width:38px;padding:3px}.email360-editor-toolbar span{width:1px;height:24px;background:var(--line)}.email360-editor{min-height:380px;border:1px solid var(--line);border-radius:0 0 12px 12px;padding:20px;background:#fff;color:#17201d;overflow:auto;line-height:1.6}.email360-editor:focus{outline:2px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:-2px}.email360-source{width:100%;min-height:380px;border:1px solid var(--line);border-radius:0 0 12px 12px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;line-height:1.55}.email360-css-panel details{border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--surface)}.email360-sendbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;z-index:6;padding:11px;margin:14px -2px -2px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px}.email360-sendbar .email360-schedule-field{margin-left:auto;min-width:190px}.email360-sendbar input[type=datetime-local]{min-width:0;width:100%}.email360-checks{display:grid;gap:5px}.email360-checks .alert{margin:0}.email360-compose-tools{position:sticky;top:82px;max-height:calc(100vh - 105px);overflow:hidden}.email360-compose-tools .card-body{display:flex;flex-direction:column;min-height:0;max-height:inherit}.email360-tool-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px}.email360-tool-tabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:.65rem;padding:6px 8px}.email360-tool-tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.email360-compose-tools section{overflow:auto;min-height:0}.email360-tool-card,.email360-template-insert,.email360-block-insert,.email360-product-insert{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:8px;margin:0 0 6px;cursor:pointer;color:var(--text)}.email360-tool-card:hover,.email360-template-insert:hover,.email360-block-insert:hover,.email360-product-insert:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--card))}.email360-tool-card small,.email360-template-insert small,.email360-block-insert small,.email360-product-insert small{color:var(--muted);font-size:.61rem}.email360-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.email360-image-insert{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:5px;overflow:hidden;cursor:pointer}.email360-image-insert img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.email360-image-insert small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.57rem}.email360-product-tools{display:grid;gap:6px;margin-top:7px;max-height:520px;overflow:auto}.email360-builtins{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.email360-builtins button{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--surface)}.email360-preview-switch{display:flex;gap:5px;margin-bottom:7px}.email360-preview-switch button{flex:1;border:1px solid var(--line);background:var(--card);border-radius:7px;padding:6px;font-size:.62rem}.email360-preview-frame-wrap{overflow:auto;background:#eef1f0;border-radius:9px;padding:8px;min-height:420px}.email360-preview-frame-wrap iframe{display:block;margin:auto;width:100%;min-height:500px;border:0;background:#fff;transition:width .2s}
/* Plantillas, firmas, campañas, configuración y analítica */
.email360-template-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.55fr);gap:16px;align-items:start}.email360-template-list{display:grid;gap:7px}.email360-signature-card,.email360-tool-card{min-width:0}.email360-signature-preview,.email360-block-preview{border:1px dashed var(--line);border-radius:10px;padding:13px;background:#fff;color:#17201d;overflow:auto}.email360-settings-grid>*{min-width:0}.email360-setting-checks{display:grid;gap:6px}.email360-copy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.email360-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.email360-kpis>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card)}.email360-kpis strong{display:block;font-size:1.35rem}.email360-kpis span{font-size:.67rem;color:var(--muted)}.email360-chart-table,.email360-bars{display:grid;gap:7px}.email360-chart-row{display:grid;grid-template-columns:80px minmax(0,1fr) 48px;gap:8px;align-items:center;font-size:.68rem}.email360-chart-row i{display:block;height:8px;border-radius:999px;background:var(--brand)}.email360-link-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.email360-link-stat span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email360-block-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
@media(max-width:1450px){.email360-shell{grid-template-columns:190px minmax(280px,330px) minmax(430px,1fr)}.email360-context{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);max-height:330px}.email360-context-scroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.email360-context section{border-right:1px solid var(--line)}.email360-shell{height:auto;min-height:720px}.email360-sidebar,.email360-list-pane,.email360-reader{height:720px}}
@media(max-width:1100px){.email360-compose-layout,.email360-template-layout{grid-template-columns:1fr}.email360-compose-tools{position:static;max-height:none}.email360-compose-tools section{max-height:580px}.email360-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.email360-shell{display:grid;grid-template-columns:170px minmax(0,1fr);border-radius:13px}.email360-sidebar{height:420px}.email360-list-pane{height:420px;border-right:0}.email360-reader{grid-column:1/-1;height:auto;min-height:620px;border-top:1px solid var(--line)}.email360-context{grid-column:1/-1}.email360-context-scroll{display:block}.email360-context section{border-right:0}.email360-address-grid{grid-template-columns:1fr}.email360-address-grid>*{grid-column:1/-1!important}.email360-sendbar{position:static}.email360-sendbar .email360-schedule-field{margin-left:0;flex:1 1 100%}.email360-copy-fields{grid-template-columns:1fr}.email360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.email360-page-head .actions{width:100%}.email360-page-head .actions>*{flex:1 1 100%}.email360-shell{display:flex;flex-direction:column;min-height:0}.email360-sidebar{height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.email360-folders{grid-template-columns:repeat(2,minmax(0,1fr))}.email360-list-pane{height:390px}.email360-reader{min-height:560px}.email360-reader-head{flex-direction:column}.email360-reader-actions{justify-content:flex-start}.email360-message-thread{padding:10px}.email360-message.outbound,.email360-message.inbound{margin-left:0;margin-right:0}.email360-message header{grid-template-columns:auto minmax(0,1fr)}.email360-message header time{grid-column:2}.email360-editor-toolbar{position:static}.email360-editor{min-height:320px;padding:13px}.email360-sendbar .btn{flex:1 1 calc(50% - 8px)}.email360-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.email360-kpis{grid-template-columns:1fr 1fr}.email360-chart-row{grid-template-columns:62px minmax(0,1fr) 38px}.email360-module-tabs{margin-left:-6px;margin-right:-6px}}

/* ========================================================================== */
/* Gestor360 2.6.3 · endurecimiento de alineación y controles                 */
/* Unifica alturas, tipografía, alineación y comportamiento responsive.        */
/* ========================================================================== */
:root{--control-height:44px;--control-height-sm:36px;--control-radius:10px;--control-gap:8px}
button,input,select,textarea{font-family:inherit;font-size:inherit}
button{line-height:1.2}
.btn{min-height:var(--control-height);max-width:100%;line-height:1.2;text-align:center;vertical-align:middle;font-family:inherit;font-size:inherit;white-space:normal}
.btn-sm{min-height:var(--control-height-sm);line-height:1.15}
.actions{align-items:center;min-width:0}
.actions>form,.actions>details{margin:0;min-width:0}
.actions>form{display:inline-flex;align-items:center;gap:var(--control-gap)}
.actions>form>.btn{align-self:center}
.inline{min-width:0}
.inline>form{margin:0}
.form-grid{align-items:start}
.field{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.field label{line-height:1.35;min-height:18px}
.field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),.field select{min-height:var(--control-height)}
.field input,.field select,.field textarea{line-height:1.3}
.field .help{line-height:1.45}
.form-actions{display:flex;align-items:center;gap:var(--control-gap);flex-wrap:wrap;margin-top:2px}
.form-actions>form{display:flex;margin:0}
.table td>.inline,.table td>.actions{align-items:center}
.table td>.inline>form,.table td>.actions>form{display:inline-flex;align-items:center;margin:0}
.table input:not([type="checkbox"]):not([type="radio"]),.table select{min-height:40px;font:inherit}
.table-subline{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:600}
.page-head>.actions{justify-content:flex-end;align-self:flex-start}
.page-head h1,.section-head h2,.card-title{overflow-wrap:anywhere}
.section-head{min-width:0}.section-head>div{min-width:0}.section-head>.actions{align-self:flex-start}
.password-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid #cfd7df;border-radius:var(--control-radius);background:#fff;overflow:hidden;min-height:var(--control-height)}
.password-wrap>input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0!important;min-height:42px!important}
.password-wrap>.password-eye{position:static!important;transform:none!important;inset:auto!important;width:46px!important;min-width:46px!important;height:auto!important;min-height:42px!important;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;display:grid!important;place-items:center!important;padding:0!important}
.install-admin-card{box-shadow:none!important}
.email360-labels>span{display:inline-flex;align-items:center;gap:4px;min-height:27px;border:1px solid color-mix(in srgb,var(--label-color,#64748b) 35%,var(--line));border-radius:999px;padding:3px 7px;background:color-mix(in srgb,var(--label-color,#64748b) 8%,var(--card));color:var(--text)}
.email360-labels>span form{display:inline-flex;margin:0}.email360-labels>span button{display:grid;place-items:center;width:20px;height:20px;min-width:20px;border:0;border-radius:50%;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit}
.email360-reader-actions>form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
.email360-search{align-items:center}.email360-search input{min-height:40px}
.rich-toolbar,.email360-editor-toolbar{align-items:center}
.rich-toolbar button,.email360-editor-toolbar button{display:inline-grid;place-items:center;text-align:center;line-height:1.1}
.assistant-prompts button{font:inherit;line-height:1.2;min-height:34px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.notification-snooze button{font:inherit;line-height:1.2}
.ui-audit-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ui-audit-legend .badge{min-height:26px}

@media(max-width:850px){
 .page-head>.actions{justify-content:flex-start;align-self:stretch}
 .section-head>.actions{align-self:stretch}
}
@media(max-width:560px){
 /* El botón normal sigue siendo cómodo a ancho completo, pero no forzamos a
    ocupar toda la fila a controles compactos dentro de tablas, toolbars o chips. */
 .inline>.btn,.inline>form>.btn,.table .btn,.rich-toolbar button,.email360-editor-toolbar button,.assistant-prompts button,.notification-snooze button,.email360-labels button{width:auto}
 .form-actions>.btn,.form-actions>form{flex:1 1 100%;width:100%}.form-actions>form>.btn{width:100%}
 .page-head>.actions>*{flex:1 1 100%;width:100%}.page-head>.actions>form>.btn{width:100%}
 .table-subline{white-space:normal}
}
@media(max-width:560px){
 .comm-actions .btn,.wa360-chat-actions .btn,.email360-sendbar .btn,.email360-quick-actions .btn,.public-share-actions .btn,.manual-row-actions .btn,.route-stop-actions .btn,.responsive-preview-tabs .btn,}

/* 2.6.3 · formularios en tablas y controles compactos */
.table-action-form{display:inline-flex;align-items:center;justify-content:center;margin:0}
.compact-number{width:96px!important;max-width:100%}
.table input[type="color"]{min-width:48px;width:56px;padding:3px}
@media(max-width:560px){.inline>.compact-number{width:96px!important;flex:0 0 96px}}
.collection-actions{min-width:260px}
.compact-field{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit}
.collection-note{min-width:120px;flex:1 1 160px}
@media(max-width:560px){.collection-actions{min-width:220px}}

/* Gestor360 2.6.3 · conector de navegador para fuentes que bloquean el hosting */
.catalog-browser-bridge{margin-bottom:18px}
.catalog-browser-bridge-highlight{border:2px solid color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 12%,transparent)}
.bridge-steps{margin:0;padding-left:22px;display:grid;gap:8px}
.bridge-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center}
.bridge-bookmarklet{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:grab}
.bridge-bookmarklet:active{cursor:grabbing}
@media (max-width:760px){.catalog-browser-bridge .grid-2{grid-template-columns:1fr}.bridge-actions{margin-top:4px}}


/* Gestor360 2.6.4 · Embudo comercial responsive sin desplazamiento lateral */
.pipeline-page{width:100%;max-width:1480px;margin-inline:auto;padding-inline:clamp(8px,1.15vw,18px)}
.pipeline-page .pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;overflow:visible;padding:0;align-items:start}
.pipeline-page .pipeline-col{min-width:0;width:100%;max-width:100%;padding:12px;overflow:hidden}
.pipeline-page .pipeline-head{min-width:0}.pipeline-page .pipeline-head strong,.pipeline-page .pipeline-head small{min-width:0;overflow-wrap:anywhere}
.pipeline-page .pipeline-card,.pipeline-page .pipeline-card .card-body,.pipeline-page .pipeline-card .section-head>div{min-width:0;max-width:100%}
.pipeline-page .pipeline-card .muted,.pipeline-page .pipeline-card a,.pipeline-page .pipeline-card strong{overflow-wrap:anywhere;word-break:normal}
.pipeline-page .pipeline-card .form-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
@media(max-width:1320px){.pipeline-page .pipeline-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.pipeline-page{padding-inline:8px}.pipeline-page .pipeline-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto}}
@media(max-width:620px){.pipeline-page{padding-inline:2px}.pipeline-page .pipeline-board{grid-template-columns:1fr;gap:14px}.pipeline-page .pipeline-col{padding:10px}}

/* ========================================================================== */
/* Gestor360 2.6.5 · Menú de administración compacto + Asistente premium     */
/* ========================================================================== */
.menu-config-card .card-body{padding:clamp(18px,2vw,28px)}
.menu-config-head{align-items:center;margin-bottom:16px}.menu-config-head>div:first-child{max-width:900px}.menu-editor-stats{display:flex;align-items:baseline;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap}.menu-editor-stats strong{font-size:1rem}.menu-editor-stats span{font-size:.72rem;color:var(--muted)}
.menu-editor-toolbar{position:sticky;top:calc(var(--sg-topbar) + 8px);z-index:6;display:grid;grid-template-columns:minmax(250px,1fr) 160px auto auto;gap:8px;align-items:center;padding:10px;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(20,45,37,.06)}
.nav-mode-top .menu-editor-toolbar{top:calc(var(--sg-topbar) + 56px)}
.menu-editor-search{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}.menu-editor-search>span{display:grid;place-items:center;color:var(--muted);font-size:1.1rem}.menu-editor-search input{width:100%;height:40px;min-height:40px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px 10px 8px 0!important}.menu-editor-toolbar select{min-height:40px;height:40px}
.menu-editor-groups{display:grid;gap:8px}.menu-editor-group{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:0 4px 18px rgba(20,45,37,.035)}.menu-editor-group[hidden]{display:none}.menu-editor-group>summary{list-style:none;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:58px;padding:10px 14px;cursor:pointer;background:color-mix(in srgb,var(--surface) 70%,var(--card));user-select:none}.menu-editor-group>summary::-webkit-details-marker{display:none}.menu-editor-group[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--brand) 5%,var(--card))}.menu-group-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--brand-dark)}.menu-group-icon .nav-svg{width:17px;height:17px}.menu-group-copy{display:flex;flex-direction:column;min-width:0;line-height:1.2}.menu-group-copy strong{font-size:.9rem}.menu-group-copy small{margin-top:3px;font-size:.68rem;color:var(--muted)}.menu-group-chevron{color:var(--muted);font-weight:900;transition:transform .18s ease}.menu-editor-group[open] .menu-group-chevron{transform:rotate(180deg)}
.menu-editor-table-head{display:grid;grid-template-columns:30px 42px minmax(155px,.85fr) minmax(220px,1.4fr) minmax(145px,.8fr) 76px;gap:8px;align-items:center;padding:7px 12px 5px;color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.menu-group-body{display:grid}.menu-editor-row{display:grid;grid-template-columns:30px 42px minmax(155px,.85fr) minmax(220px,1.4fr) minmax(145px,.8fr) 76px;gap:8px;align-items:center;padding:7px 12px;border:0;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:0;background:var(--card);min-height:55px}.menu-editor-row:first-child{border-top:0}.menu-editor-row[hidden]{display:none}.menu-editor-row:hover{background:color-mix(in srgb,var(--brand) 3.5%,var(--card))}.menu-editor-row.dragging{opacity:.5;background:color-mix(in srgb,var(--brand) 8%,var(--card));box-shadow:inset 3px 0 var(--brand)}
.menu-editor-row .drag-handle{align-self:center;width:28px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:grab;font-weight:900;font-size:16px;padding:0}.menu-editor-row .drag-handle:hover{background:var(--surface);color:var(--text)}.menu-editor-row .drag-handle:active{cursor:grabbing}.menu-visible{display:grid;place-items:center;margin:0;min-height:34px}.menu-visible input{appearance:none;width:34px!important;height:20px!important;border:0!important;border-radius:999px!important;background:#cbd4cf;position:relative;cursor:pointer;transition:.18s ease;box-shadow:none!important}.menu-visible input:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}.menu-visible input:checked{background:var(--brand)}.menu-visible input:checked:after{transform:translateX(14px)}
.menu-icon-control{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:center;min-width:0}.menu-icon-preview{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--surface);color:var(--brand-dark);border:1px solid var(--line)}.menu-icon-preview .nav-svg{width:16px;height:16px}.menu-icon-control select,.menu-group-select,.menu-label-input{width:100%;min-width:0;min-height:38px!important;height:38px;padding:7px 9px!important;border-radius:9px!important}.menu-label-input{font-weight:700}.menu-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px}.menu-row-actions .btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;border-radius:8px}
.menu-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:11px 12px 11px 15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(14px);box-shadow:0 14px 36px rgba(20,45,37,.12)}.menu-save-bar>div{display:flex;flex-direction:column;min-width:0}.menu-save-bar strong{font-size:.8rem}.menu-save-bar span{font-size:.68rem;color:var(--muted)}.menu-save-bar .btn{min-width:150px}.menu-config-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.menu-config-footer form{margin:0}.menu-config-footer .muted{font-size:.72rem}
html[data-theme="dark"] .menu-editor-toolbar,html[data-theme="dark"] .menu-save-bar{background:color-mix(in srgb,var(--card) 94%,transparent)}
@media(max-width:1050px){.menu-editor-toolbar{grid-template-columns:minmax(220px,1fr) 150px auto}.menu-editor-toolbar #menu-collapse-all{display:none}.menu-editor-table-head,.menu-editor-row{grid-template-columns:30px 42px minmax(140px,.8fr) minmax(190px,1.3fr) minmax(130px,.75fr) 72px}}
@media(max-width:820px){.menu-editor-toolbar{position:static;grid-template-columns:1fr 150px auto}.menu-editor-table-head{display:none}.menu-editor-row{grid-template-columns:30px 42px minmax(0,1fr) 70px;grid-template-areas:"drag visible name actions" "drag visible icon group";padding:9px 10px;gap:6px 8px}.menu-editor-row .drag-handle{grid-area:drag}.menu-editor-row .menu-visible{grid-area:visible}.menu-editor-row .menu-label-input{grid-area:name}.menu-editor-row .menu-icon-control{grid-area:icon}.menu-editor-row .menu-group-select{grid-area:group}.menu-editor-row .menu-row-actions{grid-area:actions}.menu-icon-control{grid-template-columns:30px minmax(0,1fr)}.menu-save-bar{bottom:8px}.menu-config-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.menu-config-head{align-items:flex-start}.menu-editor-stats{display:none}.menu-editor-toolbar{grid-template-columns:1fr 1fr}.menu-editor-search{grid-column:1/-1}.menu-editor-toolbar .btn{width:100%;font-size:.72rem}.menu-editor-row{grid-template-columns:28px 36px minmax(0,1fr);grid-template-areas:"drag visible name" "drag visible icon" "drag visible group" "drag visible actions"}.menu-row-actions{justify-content:flex-start}.menu-row-actions .btn{width:34px!important}.menu-save-bar{position:static;align-items:stretch;flex-direction:column}.menu-save-bar .btn{width:100%}.menu-group-copy strong{font-size:.82rem}}

/* Asistente Gestor360 2.6.5 */
.assistant-page-head{margin-bottom:16px}.assistant-page-head .actions{align-items:center;gap:8px}.assistant-mode-pill{min-height:39px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid color-mix(in srgb,#2e9d67 35%,var(--line));border-radius:999px;background:color-mix(in srgb,#2e9d67 8%,var(--card));color:var(--text);font-size:.72rem;font-weight:800;white-space:nowrap}.assistant-mode-dot{width:8px;height:8px;border-radius:50%;background:#2e9d67;box-shadow:0 0 0 4px color-mix(in srgb,#2e9d67 13%,transparent)}
.assistant-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.assistant-center,.assistant-rail{min-width:0}.assistant-console{overflow:hidden}.assistant-console .card-body{padding:0}.assistant-console-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,color-mix(in srgb,var(--nav) 6%,var(--card)),var(--card))}.assistant-brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--nav);color:#fff;font-family:var(--sg-font-display);font-size:1.25rem;font-weight:800;box-shadow:0 7px 16px rgba(25,58,48,.16)}.assistant-console-head>div:last-child{display:flex;flex-direction:column;line-height:1.2}.assistant-console-head strong{font-size:.9rem}.assistant-console-head span{margin-top:3px;font-size:.67rem;color:var(--muted)}
.assistant-composer{margin:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 12px 34px rgba(20,45,37,.06);overflow:hidden}.assistant-composer textarea{display:block;width:100%;min-height:128px!important;max-height:360px;resize:vertical;border:0!important;border-radius:0!important;background:transparent!important;padding:16px 17px!important;font-size:.94rem;line-height:1.55;box-shadow:none!important}.assistant-composer textarea::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}.assistant-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px 10px 16px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 58%,var(--card))}.assistant-composer-foot>span{font-size:.67rem;color:var(--muted);line-height:1.35}.assistant-composer-foot .btn{min-width:128px;border-radius:10px}
.assistant-welcome{display:flex;align-items:center;gap:16px;margin:10px 18px 4px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 7%,var(--card)),color-mix(in srgb,var(--nav) 4%,var(--card)))}.assistant-welcome-mark{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 14%,var(--card));color:var(--brand-dark);font-size:1.4rem}.assistant-welcome h2{margin:2px 0 5px;font-family:var(--sg-font-display);font-size:1.35rem}.assistant-welcome p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.assistant-quick-section{padding:14px 18px 20px}.assistant-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.assistant-section-title strong{font-size:.82rem}.assistant-section-title span{font-size:.66rem;color:var(--muted)}.assistant-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.assistant-quick-grid button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;min-height:88px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--text);text-align:left;cursor:pointer;transition:.16s ease;font:inherit}.assistant-quick-grid button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:color-mix(in srgb,var(--brand) 4%,var(--card));box-shadow:0 8px 22px rgba(20,45,37,.06)}.assistant-quick-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--brand-dark);font-size:.9rem;font-weight:900}.assistant-quick-grid button>span:last-child{display:flex;flex-direction:column;min-width:0}.assistant-quick-grid strong{font-size:.75rem;line-height:1.25}.assistant-quick-grid small{margin-top:4px;color:var(--muted);font-size:.64rem;line-height:1.35}
.assistant-conversation{display:grid;gap:13px;margin:16px 18px 4px;padding-top:2px}.assistant-message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start}.assistant-message-user{margin-left:min(11%,90px)}.assistant-message-bot{margin-right:min(4%,40px)}.assistant-message-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-size:.68rem;font-weight:900}.assistant-message-avatar-bot{background:var(--nav);border-color:var(--nav);color:#fff;font-family:var(--sg-font-display);font-size:1rem}.assistant-message-bubble{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);min-width:0}.assistant-message-user .assistant-message-bubble{background:color-mix(in srgb,var(--brand) 7%,var(--card));border-color:color-mix(in srgb,var(--brand) 22%,var(--line))}.assistant-message-bubble>small{font-size:.62rem;color:var(--muted);font-weight:800}.assistant-message-bubble>p{margin:4px 0 0;line-height:1.55;font-size:.84rem}.assistant-answer-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.assistant-answer-meta .eyebrow{margin:0}.assistant-safe-badge{font-size:.58rem;font-weight:800;color:#277c54;background:color-mix(in srgb,#2e9d67 10%,var(--card));border:1px solid color-mix(in srgb,#2e9d67 25%,var(--line));border-radius:999px;padding:4px 7px}.assistant-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.assistant-results a{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text);background:var(--card)}.assistant-results a:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:color-mix(in srgb,var(--brand) 4%,var(--card))}.assistant-results a>span{display:flex;flex-direction:column;min-width:0}.assistant-results a strong{font-size:.72rem;overflow-wrap:anywhere}.assistant-results a small{margin-top:3px;color:var(--muted);font-size:.62rem;line-height:1.35}.assistant-results a b{font-size:1rem;color:var(--brand-dark);text-align:right}
.assistant-rail{display:grid;gap:12px;position:sticky;top:calc(var(--sg-topbar) + 14px)}.nav-mode-top .assistant-rail{top:calc(var(--sg-topbar) + 62px)}.assistant-rail .card-body{padding:16px}.assistant-status-card{background:linear-gradient(145deg,color-mix(in srgb,#2e9d67 8%,var(--card)),var(--card))}.assistant-rail-title{display:flex;align-items:center;gap:10px}.assistant-rail-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#2e9d67;color:#fff;font-weight:900}.assistant-rail-title>div{display:flex;flex-direction:column}.assistant-rail-title strong{font-size:.8rem}.assistant-rail-title small{font-size:.62rem;color:#277c54;font-weight:800}.assistant-status-card p{margin:10px 0;font-size:.7rem;line-height:1.5;color:var(--muted)}.assistant-status-card a{font-size:.68rem;font-weight:800;color:var(--brand-dark);text-decoration:none}.assistant-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.assistant-rail-heading .card-title{margin:0;font-size:1rem}.assistant-rail-heading>span{min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--surface);display:grid;place-items:center;color:var(--muted);font-size:.6rem;font-weight:900}.assistant-capability-grid{display:flex;gap:6px;flex-wrap:wrap}.assistant-capability-grid span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.62rem;font-weight:750;color:var(--text)}.assistant-history-list{display:grid}.assistant-history{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);align-items:center}.assistant-history:last-child{border-bottom:0}.assistant-history span{font-size:.68rem;line-height:1.35}.assistant-history small{font-size:.58rem;color:var(--muted);white-space:nowrap}.assistant-history:hover span{color:var(--brand-dark)}.assistant-history-empty{padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.68rem;text-align:center}
@media(max-width:1180px){.assistant-workspace{grid-template-columns:minmax(0,1fr) 290px}.assistant-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-results{grid-template-columns:1fr}}
@media(max-width:900px){.assistant-workspace{grid-template-columns:1fr}.assistant-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-status-card{grid-column:1/-1}.assistant-page-head .actions{width:100%}.assistant-page-head .actions>*{flex:0 1 auto}.assistant-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.assistant-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-rail{grid-template-columns:1fr}.assistant-status-card{grid-column:auto}.assistant-composer-foot{align-items:flex-start;flex-direction:column}.assistant-composer-foot .btn{width:100%}.assistant-message-user{margin-left:0}.assistant-message-bot{margin-right:0}}
@media(max-width:480px){.assistant-quick-grid{grid-template-columns:1fr}.assistant-welcome{align-items:flex-start}.assistant-welcome-mark{width:40px;height:40px;flex-basis:40px}.assistant-section-title{align-items:flex-start;flex-direction:column}.assistant-message{grid-template-columns:32px minmax(0,1fr)}.assistant-message-avatar{width:30px;height:30px;border-radius:9px}.assistant-mode-pill{width:auto!important;flex:0 0 auto!important}}

/* Gestor360 2.7 · Directorio visual de clientes */
.client-directory-head{align-items:center}.alphabet-filter{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.alphabet-filter a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:9px;text-decoration:none;color:var(--muted);font-weight:850;font-size:.82rem}.alphabet-filter a:hover,.alphabet-filter a.active{background:var(--nav);color:#fff}.directory-filter-card{margin-bottom:14px;overflow:hidden}.directory-filter-card>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 17px;font-weight:850}.directory-filter-card>summary::-webkit-details-marker{display:none}.directory-filter-card>summary:after{content:'⌄';font-size:18px;color:var(--muted)}.directory-filter-card[open]>summary:after{transform:rotate(180deg)}.directory-filters{padding:0 16px 16px;border-top:1px solid var(--line)}.directory-filters .form-grid{padding-top:14px;align-items:end}.directory-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.82rem;margin:8px 2px 12px}.client-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.client-directory-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:168px;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(24,37,49,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.client-directory-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(24,37,49,.08);border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.client-directory-photo{display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--nav) 90%,#fff),var(--nav));overflow:hidden;text-decoration:none;min-height:168px}.client-directory-photo img{width:100%;height:100%;object-fit:cover;display:block}.client-directory-photo span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.25rem;font-weight:900;letter-spacing:.04em}.client-directory-body{padding:13px 14px;min-width:0;display:flex;flex-direction:column;gap:10px}.client-directory-title{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.client-directory-title strong{font-size:1rem}.client-directory-title .muted{font-size:.8rem;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.client-product-line{display:flex;flex-direction:column;gap:2px;min-width:0}.client-product-line strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}.client-product-context{color:var(--accent);font-weight:850;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.client-directory-meta{display:flex;gap:6px;flex-wrap:wrap}.client-directory-meta span{padding:4px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.68rem;color:var(--muted);white-space:nowrap}.client-directory-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.client-directory-actions .btn{min-height:32px}.client-directory-empty{grid-column:1/-1}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0}.pagination .disabled{pointer-events:none;opacity:.45}.client-form-photo-preview{display:block;width:112px;height:112px;border-radius:18px;object-fit:cover;border:1px solid var(--line);background:var(--surface)}
@media(max-width:1180px){.client-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.client-directory-head{align-items:flex-start}.alphabet-filter{gap:3px;padding:8px}.alphabet-filter a{min-width:30px;height:30px;font-size:.75rem}.directory-filter-card>summary{align-items:flex-start;flex-direction:column;gap:3px}.directory-filter-card>summary:after{position:absolute;right:18px}.client-directory-grid{grid-template-columns:1fr}.client-directory-card{grid-template-columns:92px minmax(0,1fr);min-height:146px}.client-directory-photo{min-height:146px}.client-directory-body{padding:11px 12px}.client-directory-title .muted{max-width:180px}.directory-toolbar{font-size:.75rem}.pagination{justify-content:space-between}}
@media(max-width:430px){.client-directory-card{grid-template-columns:78px minmax(0,1fr)}.client-directory-photo{min-height:150px}.client-directory-title{flex-direction:column}.client-directory-meta span:nth-child(n+3){display:none}}

/* Gestor360 2.8 · Selector unificado de variables y funciones */
.g360-vars{display:grid;gap:12px;min-width:0}.g360-vars-head{display:flex;gap:12px;align-items:end;justify-content:space-between}.g360-vars-head>div{display:grid;gap:2px}.g360-vars-head small{color:var(--muted,#64748b)}.g360-vars-search{max-width:320px}.g360-vars-quick{display:flex;flex-wrap:wrap;gap:7px}.g360-vars-quick button,.g360-vars-function-grid button{border:1px solid var(--border,#dbe3e8);background:var(--surface,#fff);border-radius:999px;padding:7px 10px;cursor:pointer;font:inherit}.g360-vars-quick button:hover,.g360-vars-function-grid button:hover{border-color:var(--primary,#0f5132);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#0f5132) 10%,transparent)}.g360-vars-groups{display:grid;gap:8px}.g360-vars-group{border:1px solid var(--border,#dbe3e8);border-radius:12px;overflow:hidden;background:var(--surface,#fff)}.g360-vars-group summary,.g360-vars-functions summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;font-weight:800;cursor:pointer}.g360-vars-group summary span{font-size:.78rem;background:var(--surface-soft,#f1f5f9);border-radius:999px;padding:2px 7px}.g360-vars-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 8px 8px}.g360-var-row{display:flex!important;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;background:var(--surface-soft,#f8fafc);border-radius:10px;padding:8px 10px;cursor:pointer;min-width:0}.g360-var-row:hover{border-color:var(--primary,#0f5132);background:var(--surface,#fff)}.g360-var-row>span{display:grid;min-width:0}.g360-var-row strong{font-size:.86rem}.g360-var-row code{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted,#64748b)}.g360-var-row small{font-size:.72rem;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted,#64748b)}.g360-vars-functions{border-top:1px solid var(--border,#dbe3e8)}.g360-vars-function-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 0 4px}.g360-vars-function-grid button{display:flex;align-items:center;justify-content:space-between;border-radius:10px;text-align:left}.g360-vars-function-grid span{font-size:.76rem;color:var(--muted,#64748b)}.g360-vars-panel-scroll{max-height:62vh;overflow:auto;padding-right:4px}.wa360-vars-drawer{position:relative}.wa360-vars-drawer>.wa360-tool-popover{width:min(680px,calc(100vw - 40px));max-height:70vh;overflow:auto}.email360-compose-tools [data-email-panel="variables"]{max-height:72vh;overflow:auto}.g360-vars-inline{margin-top:8px;border:1px solid var(--border,#dbe3e8);border-radius:14px;padding:12px;background:var(--surface-soft,#f8fafc)}
@media(max-width:760px){.g360-vars-head{align-items:stretch;flex-direction:column}.g360-vars-search{max-width:none;width:100%}.g360-vars-list,.g360-vars-function-grid{grid-template-columns:1fr}.g360-var-row small{max-width:36%}}

/* Gestor360 2.8.2 · Google OAuth real */
.google-oauth-panel{display:grid;gap:14px;margin:18px 0}.google-oauth-status{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-left:5px solid var(--info);border-radius:var(--radius);background:color-mix(in srgb,var(--card) 92%,var(--bg))}.google-oauth-status.is-connected{border-left-color:var(--success)}.google-oauth-status.is-ready{border-left-color:var(--warning)}.google-oauth-status h3{margin:3px 0 5px;font-size:19px}.google-oauth-status p{margin:0;color:var(--muted)}.google-oauth-steps{display:grid;gap:10px}.google-oauth-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.google-oauth-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--nav);color:#fff;font-weight:850}.google-oauth-step strong{display:block;margin:2px 0 3px}.google-oauth-step .share-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.google-service-choice{height:100%;display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg));cursor:pointer}.google-service-choice input{width:auto!important;margin-top:3px}.google-service-choice strong,.google-service-choice small{display:block}.google-service-choice small{margin-top:5px;color:var(--muted);font-weight:500;line-height:1.45}.google-oauth-actions{display:flex;gap:8px;flex-wrap:wrap}.google-oauth-actions form{margin:0}.google-service-card{box-shadow:none}.google-service-card h3{margin:0;font-size:16px}.google-service-card .integration-meta{grid-template-columns:1fr}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.share-url-input{width:100%;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 11px;font:inherit}
@media(max-width:850px){.google-oauth-status{flex-direction:column}.google-oauth-step .share-copy-row{grid-template-columns:1fr}.google-oauth-step .share-copy-row .btn{width:100%}.google-oauth-actions{display:grid;grid-template-columns:1fr}.google-oauth-actions form,.google-oauth-actions .btn{width:100%}}
@media(max-width:560px){.google-oauth-step{grid-template-columns:1fr}.google-oauth-step>span{width:28px;height:28px}.google-oauth-status{padding:14px}}

/* Gestor360 2.8.5 · Diseñador de formularios editable y persistente */
.form-designer-layout{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);align-items:start}
.form-builder-settings{display:flex;gap:18px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg))}
.form-fields-head{margin-top:4px;align-items:flex-end}.form-fields-head h3{margin:0 0 3px}.form-builder-list{display:grid;gap:12px}
.form-builder-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);box-shadow:0 4px 15px rgba(15,23,42,.04)}
.form-builder-card:focus-within{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
.form-builder-drag{font-weight:900;letter-spacing:-3px;color:var(--muted);padding-top:32px;cursor:grab;user-select:none}.form-builder-main{display:grid;grid-template-columns:minmax(180px,2fr) minmax(145px,1fr) minmax(125px,.8fr) auto;gap:10px;align-items:end;min-width:0}.form-builder-required{min-height:44px;display:flex;align-items:center;gap:7px;white-space:nowrap}.form-builder-required input{width:auto!important}.form-builder-options{grid-column:1/-1}.form-builder-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;padding-top:25px}.form-builder-actions .btn{width:auto;min-width:42px}.sticky-form-actions{position:sticky;bottom:10px;z-index:12;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(15,23,42,.10)}
.form-preview-card{position:sticky;top:82px}.form-preview-live{width:100%;box-shadow:none;padding:20px}.form-preview-live h2{margin-top:0}.public-preview-grid,.public-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.public-preview-field.is-full,.public-field-full{grid-column:span 6}.public-preview-field.is-half,.public-field-half{grid-column:span 3}.public-preview-field.is-third,.public-field-third{grid-column:span 2}.public-preview-info,.public-form-info{padding:12px 14px;border-radius:11px;background:color-mix(in srgb,var(--info) 9%,var(--card));border:1px solid color-mix(in srgb,var(--info) 28%,var(--line));font-weight:700;line-height:1.45}.public-form-submit{grid-column:1/-1}.public-check{min-height:44px}.compact-share{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:6px;min-width:280px}.form-list-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:330px}.form-submission-list{display:grid;gap:8px}.form-submission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.form-submission-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px}.form-submission-grid span{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.form-submission-grid strong{font-size:.88rem;overflow-wrap:anywhere}
@media(max-width:1180px){.form-designer-layout{grid-template-columns:1fr}.form-preview-card{position:static}.form-builder-main{grid-template-columns:repeat(2,minmax(0,1fr))}.form-builder-options{grid-column:1/-1}}
@media(max-width:760px){.form-builder-card{grid-template-columns:1fr}.form-builder-drag{display:none}.form-builder-main{grid-template-columns:1fr}.form-builder-options{grid-column:auto}.form-builder-actions{padding-top:0;justify-content:stretch}.form-builder-actions .btn{flex:1 1 calc(50% - 6px)}.public-preview-field.is-half,.public-preview-field.is-third,.public-field-half,.public-field-third{grid-column:span 6}.compact-share{grid-template-columns:1fr;min-width:220px}.form-list-actions{min-width:240px}.sticky-form-actions{position:static}}

.form-builder-card.is-dragging{opacity:.58;outline:2px dashed currentColor;outline-offset:2px}.form-builder-drag{cursor:grab;user-select:none}.form-builder-drag:active{cursor:grabbing}

/* Gestor360 2.8.5 · responsive real en ayudas y Centro de comunicación */
.context-help.context-help-simple{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:start}
.context-help.context-help-simple>*{grid-column:1;min-width:0;max-width:100%}
.context-help.context-help-simple strong{font-size:.92rem;line-height:1.3}
.context-help.context-help-simple p{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.context-help.context-help-simple .entity-link{justify-self:start;white-space:normal;overflow-wrap:anywhere}
.comm-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.comm-search input{flex:1 1 320px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit}
.comm-timeline,.comm-timeline>*{min-width:0;max-width:100%}
.comm-row{grid-template-columns:minmax(0,1fr)!important}
.comm-row>.comm-main{grid-column:1;min-width:0}
.comm-row-head>div{min-width:0;overflow-wrap:anywhere}
.comm-row-head a,.comm-row-head strong,.comm-subject,.comm-main p,.comm-main small{overflow-wrap:anywhere;word-break:normal;max-width:100%}
@media(max-width:1000px){
 .comm-row,.comm-row.direction-in,.comm-row.direction-out{width:100%!important;align-self:stretch!important;border-radius:14px!important;padding:13px 14px}
 .comm-actions .btn{min-width:0;flex:1 1 140px}
}
@media(max-width:700px){
 .channel-tabs{gap:5px;padding-bottom:10px}.channel-tabs a{flex:0 0 auto}
 .comm-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.comm-search input{width:100%;min-width:0}.comm-search .btn{width:auto;min-width:88px}
 .comm-row-head{width:100%}.comm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.comm-actions .btn{width:100%;min-width:0}
 .context-help.context-help-simple{padding:12px}
}
@media(max-width:440px){.comm-search{grid-template-columns:1fr}.comm-search .btn{width:100%}.comm-actions{grid-template-columns:1fr}.channel-tabs a{font-size:.78rem;padding:7px 9px}}


/* Gestor360 2.8.5 · HTML/CSS visible en presupuestos y herramientas de texto operativas */
.advanced-code-panel,.quote-code-card{min-width:0}
.advanced-code-panel{padding:18px;border:1px solid var(--border,var(--line,#dfe5ea));border-radius:var(--radius-lg,18px);background:var(--surface-soft,var(--surface-2,#f7f9fa))}
.code-editor{width:100%;min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.9rem;line-height:1.55;tab-size:2;white-space:pre;overflow:auto}
.quote-code-card .section-head{align-items:flex-start;gap:16px}
.quote-custom-area{min-width:0;overflow:hidden}
.quote-custom-area .rich-content{min-width:0;overflow-wrap:anywhere}
.quote-custom-area img{max-width:100%;height:auto}
.quote-custom-area table{max-width:100%;width:100%;border-collapse:collapse}
@media(max-width:700px){
  .advanced-code-panel{padding:14px}
  .quote-code-card .section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .code-editor{min-height:155px;font-size:.84rem}
  }

/* ============================================================
   ESTUDIO 360 · constructor unificado de plantillas y documentos
   ============================================================ */
.studio-page-head{align-items:flex-end}.studio-library-toolbar{margin-bottom:18px}.studio-library-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(210px,280px) auto;gap:12px;align-items:end}.studio-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-template-card{background:var(--surface,#fff);border:1px solid var(--border,#dbe3e7);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm,0 8px 24px rgba(23,33,43,.06));min-width:0}.studio-template-cover{min-height:135px;padding:20px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(135deg,rgba(223,107,47,.12),rgba(23,33,43,.04))}.studio-template-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--surface,#fff);font-size:24px;font-weight:900;box-shadow:0 10px 25px rgba(23,33,43,.08)}.studio-template-card-body{padding:20px}.studio-template-card h2{margin:0 0 8px;font-size:20px}.studio-template-card p{color:var(--muted,#64748b);min-height:48px}.studio-template-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted,#64748b);font-size:12px;margin:14px 0}.studio-template-card .actions{display:flex;flex-wrap:wrap;gap:8px}.studio-template-card form{margin:0}
.studio-meta{margin-bottom:16px}.studio-workspace{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:16px;align-items:start}.studio-palette,.studio-inspector{position:sticky;top:82px;max-height:calc(100vh - 100px);overflow:auto}.studio-panel-title h2{margin:3px 0 14px;font-size:20px}.studio-block-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.studio-palette-item{appearance:none;border:1px solid var(--border,#dbe3e7);background:var(--surface,#fff);border-radius:14px;padding:12px 9px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;cursor:grab;min-width:0;transition:.16s ease}.studio-palette-item:hover{border-color:var(--primary,#df6b2f);transform:translateY(-1px);box-shadow:0 8px 18px rgba(23,33,43,.08)}.studio-palette-item span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(223,107,47,.12);font-weight:900;color:var(--primary,#df6b2f)}.studio-palette-item strong{font-size:12px;line-height:1.15;overflow-wrap:anywhere}.studio-palette-note{margin-top:14px;padding:12px;border-radius:14px;background:var(--surface-soft,#f6f8f9);font-size:12px;color:var(--muted,#64748b)}
.studio-canvas-panel{min-height:620px;overflow:hidden}.studio-canvas-toolbar{padding:16px 18px;border-bottom:1px solid var(--border,#dbe3e7);display:flex;justify-content:space-between;align-items:center;gap:12px}.studio-device-switch{display:flex;padding:3px;background:var(--surface-soft,#f0f3f5);border-radius:12px}.studio-device-switch button{border:0;background:transparent;padding:7px 10px;border-radius:9px;cursor:pointer;font-weight:700;color:var(--muted,#64748b)}.studio-device-switch button.is-active{background:var(--surface,#fff);color:var(--text,#17212b);box-shadow:0 2px 9px rgba(23,33,43,.08)}.studio-canvas{padding:18px;display:flex;flex-direction:column;gap:10px;min-height:480px;background:linear-gradient(180deg,rgba(23,33,43,.015),transparent)}.studio-canvas-empty{min-height:380px;margin:18px;border:2px dashed var(--border,#dbe3e7);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted,#64748b);text-align:center;gap:7px}.studio-block-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--border,#dbe3e7);border-radius:15px;background:var(--surface,#fff);cursor:pointer;transition:.14s ease}.studio-block-card:hover,.studio-block-card.is-selected{border-color:var(--primary,#df6b2f);box-shadow:0 8px 18px rgba(23,33,43,.06)}.studio-block-card.is-selected{outline:2px solid rgba(223,107,47,.15)}.studio-block-card.is-dragging{opacity:.45}.studio-block-card.is-drop-target{border-top:3px solid var(--primary,#df6b2f)}.studio-block-handle{cursor:grab;color:var(--muted,#64748b);font-weight:900}.studio-block-card-main{min-width:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.studio-block-card-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.studio-block-card-main small{width:100%;color:var(--muted,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-block-card-actions{display:flex;gap:4px}.studio-block-card-actions button{border:1px solid var(--border,#dbe3e7);background:var(--surface,#fff);border-radius:8px;width:30px;height:30px;cursor:pointer}.studio-inspector .field{margin-bottom:12px}.studio-inspector-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}.studio-inspector details{border-top:1px solid var(--border,#dbe3e7);padding-top:12px;margin-top:12px}.studio-preview{margin-top:16px}.studio-preview iframe{width:100%;height:720px;border:1px solid var(--border,#dbe3e7);border-radius:18px;background:#eef2f4;transition:max-width .2s ease;margin:auto;display:block}.studio-preview iframe[data-device="tablet"]{max-width:820px}.studio-preview iframe[data-device="mobile"]{max-width:390px}.studio-savebar{position:sticky;bottom:10px;z-index:20;margin:16px 0 0;padding:12px 14px;border:1px solid var(--border,#dbe3e7);border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 92%,transparent);backdrop-filter:blur(16px);box-shadow:0 12px 30px rgba(23,33,43,.12);display:flex;align-items:center;justify-content:space-between;gap:16px}.studio-savebar .actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1350px){.studio-workspace{grid-template-columns:220px minmax(0,1fr) 290px}.studio-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.studio-workspace{grid-template-columns:210px minmax(0,1fr)}.studio-inspector{grid-column:1/-1;position:static;max-height:none}.studio-inspector .card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.studio-inspector .studio-panel-title,.studio-inspector> .card-body > hr{grid-column:1/-1}.studio-inspector #studio-inspector-fields,.studio-inspector #studio-inspector-empty{min-width:0}.studio-inspector details{margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid var(--border,#dbe3e7)}}
@media(max-width:760px){.studio-library-filters{grid-template-columns:1fr}.studio-template-grid{grid-template-columns:1fr}.studio-workspace{grid-template-columns:1fr}.studio-palette,.studio-inspector{position:static;max-height:none}.studio-block-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-inspector .card-body{display:block}.studio-inspector details{padding-top:12px;margin-top:12px;border-left:0;border-top:1px solid var(--border,#dbe3e7)}.studio-canvas-panel{min-height:500px}.studio-savebar{align-items:stretch;flex-direction:column}.studio-savebar .actions{display:grid;grid-template-columns:1fr}.studio-savebar .btn{width:100%}.studio-preview iframe{height:620px}}
@media(max-width:480px){.studio-block-palette{grid-template-columns:1fr 1fr}.studio-canvas-toolbar{align-items:flex-start;flex-direction:column}.studio-block-card{grid-template-columns:26px minmax(0,1fr)}.studio-block-card-actions{grid-column:2}.studio-template-meta{display:block}.studio-template-meta span{display:block;margin-top:4px}}
.studio-saved-blocks{display:grid;gap:7px;margin-top:10px}.studio-saved-block{border:1px solid var(--border,#dbe3e7);background:var(--surface-soft,#f6f8f9);border-radius:10px;padding:9px 10px;text-align:left;font-weight:700;cursor:pointer}.studio-saved-block:hover{border-color:var(--primary,#df6b2f)}

/* ======================================================================
   ESTUDIO 360 · CONSTRUCTOR ÚNICO v2.8.13
   Diseño orientado a edición visual, rapidez de uso y compartir.
   ====================================================================== */
.studio-home-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 18px;padding:22px 24px;border:1px solid var(--border,#dbe3e7);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary,#df6b2f) 9%,var(--surface,#fff)),var(--surface,#fff));box-shadow:var(--shadow-sm,0 8px 24px rgba(23,33,43,.06))}.studio-home-hero>div:first-child{display:flex;align-items:center;gap:16px;min-width:0}.studio-home-mark{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:18px;background:var(--text,#17212b);color:#fff;font-size:25px}.studio-home-hero strong{font-size:18px}.studio-home-hero p{margin:4px 0 0;color:var(--muted,#64748b)}.studio-home-quick{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.studio-home-quick a{padding:9px 13px;border-radius:999px;background:var(--surface,#fff);border:1px solid var(--border,#dbe3e7);text-decoration:none;color:var(--text,#17212b);font-weight:800;font-size:13px}.studio-home-quick a:hover{border-color:var(--primary,#df6b2f);color:var(--primary,#df6b2f)}
.studio-searchbox,.studio-block-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border,#dbe3e7);border-radius:12px;background:var(--surface,#fff);padding:0 11px;min-width:0}.studio-searchbox input,.studio-block-search input{border:0!important;box-shadow:none!important;padding-left:0!important;min-width:0;width:100%}.studio-searchbox span,.studio-block-search span{color:var(--muted,#64748b);font-size:18px}.studio-template-cover-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px}
.studio-commandbar{position:sticky;top:68px;z-index:30;margin-bottom:14px;overflow:visible;background:color-mix(in srgb,var(--surface,#fff) 95%,transparent);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(23,33,43,.08)}.studio-commandbar-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.studio-document-title{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.studio-doc-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:color-mix(in srgb,var(--primary,#df6b2f) 13%,transparent);color:var(--primary,#df6b2f);font-size:20px;font-weight:900}.studio-document-title>div{min-width:0;flex:1}.studio-document-title label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted,#64748b);margin-bottom:2px}.studio-document-title input{border:0!important;background:transparent!important;padding:0!important;font-size:20px!important;font-weight:850!important;box-shadow:none!important;width:min(620px,100%)}.studio-commandbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.studio-save-status{font-size:12px;color:var(--muted,#64748b);padding:0 5px}.studio-settings-strip{border-top:1px solid var(--border,#dbe3e7);padding:0 16px}.studio-settings-strip>summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:800;color:var(--muted,#64748b)}.studio-settings-strip[open]>summary{color:var(--text,#17212b)}.studio-settings-strip .form-grid{padding:4px 0 15px}
.studio-workspace-v2{grid-template-columns:250px minmax(440px,1fr) 350px;gap:14px}.studio-workspace-v2 .studio-palette,.studio-workspace-v2 .studio-inspector{top:145px;max-height:calc(100vh - 165px)}.studio-panel-title p{margin:-8px 0 12px;color:var(--muted,#64748b);font-size:12px}.studio-block-search{margin-bottom:10px}.studio-block-palette{gap:7px}.studio-palette-item{min-height:76px;padding:10px}.studio-saved-details{margin-top:13px;border-top:1px solid var(--border,#dbe3e7);padding-top:12px}.studio-saved-details summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:13px}.studio-saved-details summary span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--surface-soft,#f2f5f6);color:var(--muted,#64748b)}
.studio-canvas-toolbar small{display:block;margin-top:3px;color:var(--muted,#64748b);font-size:11px;font-weight:500}.studio-design-stage{min-height:650px;padding:26px;background:var(--surface-soft,#eef2f4);overflow:auto}.studio-design-sheet{width:100%;max-width:100%;min-height:570px;margin:0 auto;background:var(--surface,#fff);border-radius:20px;box-shadow:0 18px 44px rgba(23,33,43,.12);transition:max-width .22s ease,background .18s ease;overflow:hidden}.studio-canvas{padding:22px;gap:12px;min-height:500px;background:transparent}.studio-canvas-empty{margin:22px;min-height:400px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary,#df6b2f) 3%,transparent),transparent)}.studio-empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:color-mix(in srgb,var(--primary,#df6b2f) 10%,transparent);color:var(--primary,#df6b2f);font-size:28px;margin-bottom:5px}
.studio-block-card.studio-block-visual{display:block;padding:0;border-radius:18px;overflow:visible;position:relative;background:var(--surface,#fff);border:1px solid transparent}.studio-block-card.studio-block-visual:hover{border-color:color-mix(in srgb,var(--primary,#df6b2f) 48%,var(--border,#dbe3e7))}.studio-block-card.studio-block-visual.is-selected{border-color:var(--primary,#df6b2f);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#df6b2f) 14%,transparent),0 12px 26px rgba(23,33,43,.08)}.studio-block-topbar{position:absolute;z-index:8;left:8px;right:8px;top:-13px;display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(3px);transition:.14s ease;pointer-events:none}.studio-block-card:hover .studio-block-topbar,.studio-block-card.is-selected .studio-block-topbar{opacity:1;transform:none}.studio-block-topbar>*{pointer-events:auto}.studio-block-topbar .badge{background:var(--text,#17212b);color:#fff;border:0;box-shadow:0 5px 14px rgba(23,33,43,.18)}.studio-block-handle{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--text,#17212b);color:#fff;cursor:grab;box-shadow:0 5px 14px rgba(23,33,43,.18)}.studio-block-card-actions{margin-left:auto;background:var(--surface,#fff);border:1px solid var(--border,#dbe3e7);border-radius:11px;padding:3px;box-shadow:0 8px 18px rgba(23,33,43,.12)}.studio-block-card-actions button{border:0;background:transparent;width:28px;height:28px}.studio-block-card-actions button:hover{background:var(--surface-soft,#f2f5f6)}.studio-block-live{pointer-events:none;border-radius:17px;overflow:hidden}.studio-block-live .sv-b{margin:0;padding:20px 18px;line-height:1.5;color:#17212b}.studio-block-live .sv-b h1,.studio-block-live .sv-b h2,.studio-block-live .sv-b h3{margin-top:0}.studio-block-live .sv-hero{padding:38px 32px;background:#17212b;color:#fff}.studio-block-live .sv-hero h1{font-size:34px;line-height:1.08;margin:8px 0 12px}.studio-block-live .sv-b small{font-size:11px;letter-spacing:.11em;font-weight:850;opacity:.68}.studio-block-live .sv-btn{display:inline-block;margin-top:12px;padding:10px 18px;border-radius:999px;background:#df6b2f;color:#fff;font-weight:800}.studio-block-live .sv-product{display:grid;grid-template-columns:minmax(150px,.8fr) 1.2fr;gap:20px;align-items:center}.studio-block-live .sv-ph{min-height:150px;border-radius:15px;background:#eef2f4;display:grid;place-items:center;color:#64748b;font-weight:800}.studio-block-live .sv-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.studio-block-live .sv-features>div,.studio-block-live .sv-cols>div{padding:12px;background:#f7f9fa;border:1px solid #e1e7e9;border-radius:12px}.studio-block-live .sv-soft{margin:8px;padding:25px;background:#f4f7f8;border-radius:16px}.studio-block-live .sv-center{text-align:center}.studio-block-live .sv-price{font-size:29px;font-weight:900}.studio-block-live .sv-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studio-block-live .sv-legal{font-size:12px;color:#64748b}.studio-block-live img{display:block;max-width:100%;height:auto;border-radius:14px}.studio-block-card.is-dragging{opacity:.35}.studio-block-card.is-drop-target{box-shadow:0 -4px 0 var(--primary,#df6b2f)}
.studio-inspector-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:-2px 0 14px;padding:4px;border-radius:12px;background:var(--surface-soft,#f2f5f6)}.studio-inspector-tabs button{border:0;background:transparent;border-radius:9px;padding:8px 4px;font-size:11px;font-weight:800;color:var(--muted,#64748b);cursor:pointer}.studio-inspector-tabs button.is-active{background:var(--surface,#fff);color:var(--text,#17212b);box-shadow:0 2px 8px rgba(23,33,43,.08)}.studio-inspector-pane{display:none}.studio-inspector-pane.is-active{display:block}.studio-design-controls output{display:block;margin-top:3px;font-weight:800;color:var(--primary,#df6b2f)}.studio-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studio-color-grid input[type=color]{height:44px}.studio-inspector .code-editor{font-size:12px;line-height:1.55;min-height:130px}.studio-inspector-actions .btn{font-size:12px}
.studio-preview{margin-top:15px;overflow:hidden}.studio-preview>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:17px 20px;list-style:none}.studio-preview>summary::-webkit-details-marker{display:none}.studio-preview>summary div{display:flex;flex-direction:column}.studio-preview>summary strong{font-size:16px}.studio-preview>summary>span{color:var(--muted,#64748b);font-size:12px}.studio-preview[open]>summary{border-bottom:1px solid var(--border,#dbe3e7)}.studio-savebar-left{display:flex;align-items:center;gap:15px}.studio-savehint{font-size:12px;color:var(--muted,#64748b)}.studio-more-actions{position:relative}.studio-more-actions>summary{list-style:none;cursor:pointer}.studio-more-actions>summary::-webkit-details-marker{display:none}.studio-more-actions>div{position:absolute;bottom:calc(100% + 8px);right:0;z-index:30;min-width:230px;padding:6px;background:var(--surface,#fff);border:1px solid var(--border,#dbe3e7);border-radius:13px;box-shadow:0 14px 34px rgba(23,33,43,.16)}.studio-more-actions>div button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:9px;cursor:pointer;color:var(--text,#17212b);font-weight:700}.studio-more-actions>div button:hover{background:var(--surface-soft,#f2f5f6)}
.studio-share-dialog{width:min(980px,calc(100vw - 30px));max-height:90vh;padding:0;border:0;border-radius:26px;background:var(--surface,#fff);color:var(--text,#17212b);box-shadow:0 28px 80px rgba(23,33,43,.3);overflow:auto}.studio-share-dialog::backdrop{background:rgba(12,20,27,.58);backdrop-filter:blur(5px)}.studio-dialog-close{position:sticky;top:12px;z-index:8;float:right;margin:12px 12px -48px 0}.studio-dialog-close button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border,#dbe3e7);background:var(--surface,#fff);font-size:24px;cursor:pointer}.studio-share-dialog-head{display:flex;gap:16px;padding:28px 30px 18px;border-bottom:1px solid var(--border,#dbe3e7)}.studio-share-dialog-head h2{margin:2px 0 5px}.studio-share-dialog-head p{margin:0;color:var(--muted,#64748b)}.studio-share-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:17px;background:color-mix(in srgb,var(--primary,#df6b2f) 12%,transparent);color:var(--primary,#df6b2f);font-size:25px}.studio-share-form{padding:20px 30px 30px}.studio-share-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;padding:14px 0;border-bottom:1px solid var(--border,#dbe3e7)}.studio-share-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--text,#17212b);color:#fff;font-weight:900}.studio-share-step>div>strong{font-size:15px}.studio-share-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:18px}.studio-channel-card{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--border,#dbe3e7);border-radius:16px;background:var(--surface-soft,#f7f9fa)}.studio-channel-card strong{font-size:15px}.studio-channel-card small{min-height:32px;color:var(--muted,#64748b)}.studio-channel-card .btn{margin-top:auto}.studio-share-created{margin-top:16px;border-color:color-mix(in srgb,#16a34a 35%,var(--border,#dbe3e7));background:linear-gradient(135deg,color-mix(in srgb,#16a34a 5%,var(--surface,#fff)),var(--surface,#fff))}.studio-share-linkbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.studio-share-linkbox input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.studio-share-fast-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.studio-share-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.studio-share-kpi{padding:18px;border:1px solid var(--border,#dbe3e7);border-radius:18px;background:var(--surface,#fff);box-shadow:var(--shadow-sm,0 8px 24px rgba(23,33,43,.05))}.studio-share-kpi span{display:block;color:var(--muted,#64748b);font-size:12px}.studio-share-kpi strong{display:block;margin-top:5px;font-size:28px}.studio-save-status:not(:empty){white-space:nowrap}
@media(max-width:1450px){.studio-workspace-v2{grid-template-columns:220px minmax(420px,1fr) 315px}.studio-workspace-v2 .studio-palette-item strong{font-size:11px}}
@media(max-width:1120px){.studio-workspace-v2{grid-template-columns:210px minmax(0,1fr)}.studio-workspace-v2 .studio-inspector{grid-column:1/-1;position:static;max-height:none}.studio-inspector-tabs{max-width:620px}.studio-commandbar{top:58px}.studio-home-hero{align-items:flex-start;flex-direction:column}.studio-home-quick{justify-content:flex-start}}
@media(max-width:780px){.studio-commandbar{position:static}.studio-commandbar-main{align-items:flex-start;flex-direction:column}.studio-commandbar-actions{width:100%;justify-content:flex-start}.studio-document-title{width:100%}.studio-workspace-v2{grid-template-columns:1fr}.studio-workspace-v2 .studio-palette{position:static;max-height:none}.studio-block-palette{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px}.studio-palette-item{flex:0 0 112px;scroll-snap-align:start}.studio-design-stage{padding:12px}.studio-canvas{padding:13px}.studio-block-live .sv-product,.studio-block-live .sv-cols,.studio-block-live .sv-features{grid-template-columns:1fr}.studio-block-topbar{opacity:1;top:-10px}.studio-inspector-tabs{grid-template-columns:repeat(4,1fr)}.studio-share-channels{grid-template-columns:1fr}.studio-share-dialog-head,.studio-share-form{padding-left:18px;padding-right:18px}.studio-share-linkbox{grid-template-columns:1fr}.studio-share-dashboard{grid-template-columns:1fr 1fr}.studio-savebar-left{align-items:flex-start;flex-direction:column;gap:4px}.studio-savebar{bottom:5px}.studio-savehint{display:none}}
@media(max-width:480px){.studio-home-hero{padding:17px}.studio-home-hero>div:first-child{align-items:flex-start}.studio-home-mark{width:44px;height:44px;flex-basis:44px}.studio-commandbar-actions .btn{flex:1}.studio-inspector-tabs button{font-size:10px}.studio-share-dashboard{grid-template-columns:1fr}.studio-share-step{grid-template-columns:1fr}.studio-share-step>span{width:26px;height:26px}.studio-share-fast-actions{display:grid;grid-template-columns:1fr}.studio-share-fast-actions .btn{width:100%}}

/* Estudio 360 · constructor único · compatibilidad y contexto */
.studio-legacy-banner{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:var(--shadow-sm)}
.studio-legacy-banner strong{white-space:nowrap;color:var(--primary)}
.studio-legacy-banner span{color:var(--muted);line-height:1.5}
.studio-legacy-empty{min-height:220px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface))}
.studio-legacy-empty .card-body{max-width:560px}
.studio-context-banner{margin:0 0 16px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 9%,var(--surface)),var(--surface))}
.studio-context-banner .card-body{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}
.studio-context-banner strong{display:block;font-size:1.1rem;margin:2px 0 4px}
.studio-context-banner p{margin:0;color:var(--muted);max-width:850px;line-height:1.45}
@media(max-width:780px){.studio-legacy-banner,.studio-context-banner .card-body{flex-direction:column}.studio-legacy-banner strong{white-space:normal}.studio-context-banner .btn{width:100%}}

/* ============================================================
   GESTOR360 2.8.14 · CLIENTE 360 HISTÓRICO
   Directorio filtrable + ficha por pestañas + reconciliación.
   ============================================================ */
.client-search-command{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);background:var(--surface);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-sm)}
.client-search-main{flex:1;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;font-size:1.04rem;padding:9px 6px!important}
.client-search-command .btn{flex:0 0 auto}.client-filter-drawer{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);overflow:hidden}.client-filter-drawer summary{cursor:pointer;font-weight:800;padding:14px 16px;display:flex;align-items:center;gap:8px}.client-filter-drawer[open] summary{border-bottom:1px solid var(--border)}.client-filter-drawer .filters{padding:16px}.alphabet-filter-premium{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.alphabet-filter-premium a{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-weight:800;text-decoration:none}.alphabet-filter-premium a.active,.alphabet-filter-premium a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.directory-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0}.directory-view-actions{display:flex;gap:7px}.directory-view-actions button.active{background:var(--ink);color:#fff}.client-directory-grid.compact{display:block}.client-directory-grid.compact .client-directory-card{display:grid;grid-template-columns:64px minmax(180px,1.25fr) minmax(170px,1fr) minmax(160px,.9fr) auto;align-items:center;min-height:82px;margin-bottom:8px}.client-directory-grid.compact .client-directory-photo{width:52px;height:52px}.client-directory-grid.compact .client-directory-body{display:contents}.client-directory-grid.compact .client-commercial-meta{margin:0}.client-directory-grid.compact .client-directory-actions{justify-self:end}
.client-directory-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.client-directory-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand) 30%,var(--border))}.client-product-context{display:flex;gap:8px;align-items:center;min-width:0}.client-product-context .client-product-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-commercial-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.client-commercial-meta span{padding:5px 8px;border-radius:999px;background:var(--surface-soft);font-size:.82rem}.client-directory-empty{padding:42px;text-align:center}

.client360-shell{max-width:1600px;margin:0 auto}.client360-hero{position:relative;overflow:hidden;padding:22px;border:1px solid var(--border);border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 60%,var(--surface)));box-shadow:var(--shadow-sm)}.client360-navline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.client360-record-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.client360-hero-main{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.client360-identity{display:flex;gap:16px;align-items:center;min-width:0}.client-avatar-large{width:82px;height:82px;flex:0 0 82px;border-radius:24px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:900;font-size:1.55rem;box-shadow:var(--shadow-md)}.client360-identity h1{margin:3px 0 6px;font-size:clamp(1.65rem,3vw,2.45rem)}.client360-contact-chips{display:flex;flex-wrap:wrap;gap:7px}.client360-contact-chips a,.client360-contact-chips span{padding:7px 10px;border:1px solid var(--border);background:var(--surface);border-radius:999px;text-decoration:none;max-width:100%;overflow-wrap:anywhere}.client360-primary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client360-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:18px}.client360-kpis>div{padding:12px 14px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);border-radius:14px}.client360-kpis strong{display:block;font-size:1.25rem}.client360-kpis span{font-size:.82rem;color:var(--muted)}
.client360-tabs{position:sticky;top:var(--header-height,0px);z-index:18;display:flex;gap:6px;overflow-x:auto;padding:10px 4px;margin:14px 0;background:color-mix(in srgb,var(--page-bg) 92%,transparent);backdrop-filter:blur(10px);scrollbar-width:thin}.client360-tabs button{white-space:nowrap;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.client360-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.client360-panel{display:none}.client360-panel.active{display:block;animation:g360PanelIn .18s ease}.client360-panel>.section-head{margin-bottom:14px}@keyframes g360PanelIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.client-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-data-grid>div{padding:12px;border-radius:14px;background:var(--surface-soft);min-width:0}.client-data-grid small{display:block;color:var(--muted);font-weight:700;margin-bottom:4px}.client-data-grid strong{overflow-wrap:anywhere}.historical-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.historical-address-grid>div{padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}
.equipment-showcase,.purchase-card-grid,.work-card-grid,.document-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.equipment-card-360,.purchase-card-360,.work-card-360,.document-card-360{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:16px;box-shadow:var(--shadow-sm);min-width:0}.equipment-card-top,.purchase-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.equipment-card-360 h3,.purchase-card-360 h3,.work-card-360 h3,.document-card-360 h3{margin:5px 0 8px;overflow-wrap:anywhere}.equipment-facts{display:grid;gap:7px;margin:12px 0}.equipment-facts span{display:flex;justify-content:space-between;gap:12px;padding:8px;border-radius:10px;background:var(--surface-soft);font-size:.88rem}.purchase-card-360 details{margin:10px 0}.purchase-card-360 small{display:block;color:var(--muted);margin-top:6px}.work-card-360,.document-card-360{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.work-card-360 .btn,.document-card-360 .btn{margin-top:auto}.client360-history-row{padding:11px 0;border-bottom:1px solid var(--border)}.client360-history-row:last-child{border-bottom:0}.client360-history-row span{display:block;color:var(--muted);font-size:.84rem}.client360-history-row p{margin:5px 0 0}.client360-mini-action{padding:10px;border-radius:13px;border:1px solid var(--border);background:var(--surface);text-decoration:none;display:block}.client360-mini-action strong{display:block}.tag-picker{display:flex;flex-wrap:wrap;gap:8px}.tag-picker label{padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft)}

.historical-recon-head .actions{max-width:560px;justify-content:flex-end}.historical-trust-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.historical-trust-strip span{padding:7px 10px;border-radius:999px;background:var(--success-soft,#e8f7ef);border:1px solid color-mix(in srgb,#27945a 25%,var(--border));font-size:.84rem;font-weight:750}.recon-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.recon-stat-grid>div{background:var(--surface-soft);border-radius:13px;padding:11px}.recon-stat-grid strong{display:block;font-size:1.25rem}.recon-stat-grid span{font-size:.78rem;color:var(--muted)}.coherence-list{display:grid;gap:8px}.coherence-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.coherence-list>div:last-child{border-bottom:0}.recon-filter-pills{display:flex;gap:6px;flex-wrap:wrap}.recon-filter-pills .pill{padding:7px 10px;border:1px solid var(--border);border-radius:999px;text-decoration:none;font-weight:750}.recon-filter-pills .pill.active{background:var(--ink);color:#fff}.recon-filters{display:grid;grid-template-columns:240px 220px auto;gap:10px;align-items:end;margin:12px 0}.reconciliation-issues{display:grid;gap:9px}.recon-issue{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px;border:1px solid var(--border);border-left-width:5px;border-radius:15px;background:var(--surface)}.recon-issue.recon-high{border-left-color:#b94141}.recon-issue.recon-warning{border-left-color:#c98320}.recon-issue.recon-info{border-left-color:#4178b9}.recon-issue h3{margin:7px 0}.recon-issue p{margin:0;color:var(--muted)}.recon-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px;align-items:center}.recon-issue-actions{display:flex;gap:7px;align-items:center;align-self:start}.recon-issue-actions select{min-width:120px}

@media (max-width:1200px){.equipment-showcase,.purchase-card-grid,.work-card-grid,.document-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.client-directory-grid.compact .client-directory-card{grid-template-columns:58px minmax(170px,1fr) minmax(150px,1fr) auto}.client-directory-grid.compact .client-commercial-meta{display:none}.recon-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.client360-hero-main{flex-direction:column}.client360-primary-actions{justify-content:flex-start}.client360-navline{align-items:flex-start;flex-direction:column}.client360-tabs{top:0}.client-data-grid,.historical-address-grid,.equipment-showcase,.purchase-card-grid,.work-card-grid,.document-card-grid{grid-template-columns:1fr}.client-directory-grid.compact .client-directory-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto}.client-directory-grid.compact .client-directory-meta,.client-directory-grid.compact .client-product-context{display:none}.recon-issue{grid-template-columns:1fr}.recon-issue-actions{width:100%}.recon-filters{grid-template-columns:1fr 1fr}.recon-filters .filter-action{grid-column:1/-1}.historical-recon-head .actions{justify-content:flex-start}}
@media (max-width:560px){.client-search-command{align-items:stretch;flex-direction:column}.client-search-command .btn{width:100%}.client360-hero{padding:15px;border-radius:18px}.client360-identity{align-items:flex-start}.client-avatar-large{width:62px;height:62px;flex-basis:62px;border-radius:18px}.client360-kpis{grid-template-columns:1fr 1fr}.client360-record-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.client360-record-nav .muted{grid-column:1/-1;text-align:center}.equipment-card-top,.purchase-card-head{flex-direction:column}.recon-filters{grid-template-columns:1fr}.recon-stat-grid{grid-template-columns:1fr 1fr}.historical-kpis{grid-template-columns:1fr 1fr!important}}
/* Estado plegado de filtros del directorio 2.8.14 */
.client-search-command{display:block}
.client-filter-drawer{display:none}
.client-filter-drawer.is-open{display:block}

/* 2.8.14 cierre visual y usabilidad del directorio / Cliente 360 */
.client-search-command>.card-body{padding:14px 16px}
.client-search-command form{margin:0}
.client-search-main{display:flex;align-items:center;gap:10px;padding:0!important}
.client-search-box{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;padding:5px 6px 5px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.client-search-box>span{font-size:1.25rem;color:var(--muted);line-height:1}
.client-search-box input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:9px 4px!important;font-size:1rem}
.client-search-box input:focus{outline:none}
.client-search-box:focus-within{border-color:color-mix(in srgb,var(--brand) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
.client-filter-drawer{padding:14px 14px 4px}
.client-filter-drawer .form-grid{align-items:end}
.client-filter-drawer .field label{font-size:.8rem;font-weight:800;color:var(--muted)}
.client-filter-drawer input,.client-filter-drawer select{background:var(--surface)}
.alphabet-filter-premium{position:relative;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;padding:9px 10px}
.alphabet-filter-premium a{flex:0 0 auto}
.directory-view-actions{align-items:center;flex-wrap:wrap}
.client-directory-grid.compact .client-directory-card{padding:7px 10px;gap:10px}
.client-directory-grid.compact .client-directory-photo{min-height:52px;border-radius:13px}
.client-directory-grid.compact .client-directory-title{padding-right:8px}
.client-directory-grid.compact .client-directory-actions{padding-left:8px}
.client360-record-nav .btn.disabled{opacity:.42;pointer-events:none}
.client360-hero{isolation:isolate}
.client360-hero:after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:color-mix(in srgb,var(--brand) 8%,transparent);z-index:-1}
.client360-tabs{border-bottom:1px solid var(--border)}
.client360-tabs button{transition:background .15s ease,color .15s ease,transform .15s ease}
.client360-tabs button:hover{transform:translateY(-1px)}
.source-audit-card{margin:14px 0;border-color:color-mix(in srgb,var(--brand) 20%,var(--border))}
.source-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.source-audit-grid>div{padding:13px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--border)}
.source-audit-grid strong{display:block;font-size:1.35rem}
.source-audit-grid span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.source-audit-warnings{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.source-audit-warnings span{padding:7px 9px;border-radius:10px;background:var(--warning-soft,#fff4df);font-size:.8rem}
@media(max-width:900px){.client-search-main{flex-wrap:wrap}.client-search-box{flex-basis:100%}.source-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.client-search-command>.card-body{padding:11px}.client-search-main{display:grid;grid-template-columns:1fr 1fr}.client-search-box{grid-column:1/-1;min-width:0}.client-search-main>.btn{width:100%}.directory-view-actions>span{width:100%;text-align:right}.source-audit-grid{grid-template-columns:1fr 1fr}.client360-contact-chips a,.client360-contact-chips span{width:100%}.client360-primary-actions{width:100%}.client360-primary-actions .btn{flex:1 1 100%}}

/* =========================================================
   Cliente 360 Premium · v2.8.19
   Rediseño visual y de usabilidad sin alterar la lógica CRM.
   ========================================================= */
.client360-premium{max-width:1480px;margin:0 auto;padding:0 2px 28px}
.client360-hero-premium{padding:0;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--brand-soft)) 0%,var(--surface) 56%,color-mix(in srgb,var(--brand-soft) 58%,var(--surface)) 100%);box-shadow:0 18px 52px color-mix(in srgb,var(--ink) 8%,transparent)}
.client360-hero-premium:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 45%,var(--ink)));z-index:1}
.client360-hero-premium:after{right:-90px;top:-130px;width:390px;height:390px;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 12%,transparent),transparent 68%)}
.client360-navline{padding:14px 20px 0;margin-bottom:0}
.client360-back,.client360-nav-arrow{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border-radius:11px;text-decoration:none;color:var(--ink);font-weight:800;font-size:.84rem;border:1px solid transparent;transition:.16s ease}
.client360-back:hover,.client360-nav-arrow:hover{background:var(--surface);border-color:var(--border);transform:translateY(-1px)}
.client360-nav-arrow.disabled{opacity:.38;pointer-events:none}
.client360-position{font-size:.8rem;color:var(--muted);padding:0 3px}.client360-position strong{color:var(--ink);font-size:.92rem}
.client360-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:center;padding:20px 26px 26px}
.client360-identity-premium{display:flex;align-items:center;gap:20px;min-width:0}
.client360-identity-premium .client-avatar-large{width:94px;height:94px;flex:0 0 94px;border-radius:28px;border:5px solid color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 15%,transparent);font-size:1.8rem}
.client360-identity-copy{min-width:0}.client360-identity-copy h1{margin:4px 0 6px;font-size:clamp(2rem,3.3vw,3.35rem);line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}
.client360-overline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:900}.client360-overline>span:first-child{color:var(--brand)}.client360-status-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent)}
.client360-subtitle{margin:0 0 14px;color:var(--muted);font-size:.96rem}
.client360-contact-actions{display:flex;gap:8px;flex-wrap:wrap}.client360-contact-action{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border-radius:12px;text-decoration:none;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);min-width:132px;max-width:290px}.client360-contact-action span{font-size:.67rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:800}.client360-contact-action strong{font-size:.88rem;overflow-wrap:anywhere}.client360-contact-action:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:0 7px 18px color-mix(in srgb,var(--ink) 7%,transparent)}
.client360-hero-actions{padding:16px;border-radius:20px;background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid color-mix(in srgb,var(--border) 84%,transparent);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 7%,transparent);backdrop-filter:blur(8px)}
.client360-action-label{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:8px}.client360-main-cta{width:100%;justify-content:center;min-height:44px;font-size:.95rem}.client360-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.client360-action-grid .btn{justify-content:center;min-height:38px;padding:8px 9px;font-size:.8rem}

.client360-tabs-premium{margin:12px 0 14px;padding:8px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 5%,transparent);top:8px}
.client360-tabs-premium button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:11px;padding:9px 12px;font-size:.82rem}.client360-tabs-premium button b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.72rem}.client360-tabs-premium button.active{background:var(--ink);color:#fff}.client360-tabs-premium button.active b{background:rgba(255,255,255,.15);color:#fff}

.client360-kpis-premium{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 12px}.client360-kpi-premium{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:15px;background:var(--surface);border:1px solid var(--border);box-shadow:0 7px 20px color-mix(in srgb,var(--ink) 4%,transparent);min-width:0}.client360-kpi-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:color-mix(in srgb,var(--brand) 10%,var(--surface-soft));color:var(--brand);font-size:.67rem;font-weight:950;letter-spacing:.04em}.client360-kpi-premium>div{min-width:0}.client360-kpi-premium small,.client360-kpi-premium em{display:block;color:var(--muted);font-style:normal;font-size:.68rem;line-height:1.2}.client360-kpi-premium strong{display:block;font-size:1.18rem;line-height:1.15;margin:2px 0;overflow-wrap:anywhere}

.client360-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:12px}.client360-highlight-card,.client360-next-card,.client360-info-card,.client360-activity-card,.client360-history-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 5%,transparent)}
.client360-highlight-card{display:grid;grid-template-columns:minmax(230px,36%) minmax(0,1fr);min-height:285px;overflow:hidden}.client360-highlight-media{min-height:260px;background:linear-gradient(145deg,var(--surface-soft),color-mix(in srgb,var(--brand-soft) 55%,var(--surface)));display:grid;place-items:center;overflow:hidden}.client360-highlight-media img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .25s ease}.client360-highlight-card:hover .client360-highlight-media img{transform:scale(1.025)}.client360-product-placeholder{display:grid;place-items:center;gap:6px;text-align:center}.client360-product-placeholder span{display:grid;place-items:center;width:86px;height:86px;border-radius:28px;background:var(--ink);color:#fff;font-size:1.5rem;font-weight:950}.client360-product-placeholder small{color:var(--muted);font-size:.76rem}.client360-highlight-copy{padding:26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.client360-highlight-copy h2{font-size:clamp(1.55rem,2.4vw,2.45rem);line-height:1.02;letter-spacing:-.035em;margin:5px 0 8px}.client360-highlight-copy p{margin:0;color:var(--muted);font-size:.96rem}.client360-highlight-price{font-size:1.3rem;font-weight:950;margin-top:12px}.client360-highlight-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.client360-next-card{padding:18px;display:flex;flex-direction:column;min-height:285px}.client360-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.client360-card-heading h2{font-size:1.18rem;margin:2px 0 0}.client360-card-heading>a,.client360-card-heading>button{border:0;background:transparent;color:var(--brand);font-weight:850;font-size:.78rem;text-decoration:none;cursor:pointer;padding:4px 0}.client360-next-item{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;text-decoration:none;color:inherit;background:linear-gradient(145deg,var(--surface),var(--surface-soft))}.client360-next-item.is-primary{border-color:color-mix(in srgb,var(--brand) 25%,var(--border))}.client360-next-date{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--ink);color:#fff;font-size:1.15rem;font-weight:950;line-height:1}.client360-next-date small{font-size:.57rem;letter-spacing:.08em;margin-top:3px}.client360-next-item>span:last-child{display:flex;flex-direction:column;gap:3px}.client360-next-item small{color:var(--muted);font-size:.76rem}.client360-empty-next{margin:auto 0;padding:15px;border-radius:16px;background:var(--surface-soft)}.client360-empty-next strong{display:block;font-size:1rem}.client360-empty-next p{color:var(--muted);font-size:.84rem;margin:6px 0 12px}.client360-last-touch{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.client360-last-touch>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.client360-last-touch strong{font-size:.9rem}.client360-last-touch small{color:var(--muted);font-size:.73rem}

.client360-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px;margin-top:12px}.client360-info-card,.client360-activity-card{padding:18px}.client360-info-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.client360-info-list>div{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);min-width:0}.client360-info-list span{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:3px}.client360-info-list strong{display:block;font-size:.88rem;overflow-wrap:anywhere}.client360-notes{margin-top:12px;padding:10px 12px;border-radius:13px;background:var(--surface-soft)}.client360-notes summary{cursor:pointer;font-weight:800;font-size:.82rem}.client360-notes p{font-size:.84rem;margin:10px 0 0}
.client360-activity-list{display:grid}.client360-activity-row{position:relative;display:grid;grid-template-columns:13px 1fr;gap:10px;padding:8px 0}.client360-activity-row:not(:last-child):after{content:"";position:absolute;left:5px;top:22px;bottom:-5px;width:1px;background:var(--border)}.client360-activity-mark{width:11px;height:11px;border-radius:50%;background:var(--brand);margin-top:4px;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 11%,transparent);z-index:1}.client360-activity-row strong{font-size:.86rem}.client360-activity-row p{margin:2px 0;color:var(--muted);font-size:.78rem}.client360-activity-row small{color:var(--muted);font-size:.69rem}.client360-empty-activity{padding:18px;border-radius:14px;background:var(--surface-soft);color:var(--muted);text-align:center;font-size:.84rem}
.client360-history-card{margin-top:12px;padding:18px}.client360-count-badge{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:var(--surface-soft);font-weight:900;font-size:.78rem}

.client360-premium .equipment-showcase,.client360-premium .purchase-card-grid,.client360-premium .work-card-grid,.client360-premium .document-card-grid{gap:14px}.client360-premium .equipment-card-360,.client360-premium .purchase-card-360,.client360-premium .work-card-360,.client360-premium .document-card-360{border-radius:20px;box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 5%,transparent);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.client360-premium .equipment-card-360:hover,.client360-premium .purchase-card-360:hover,.client360-premium .work-card-360:hover,.client360-premium .document-card-360:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 22%,var(--border));box-shadow:0 16px 34px color-mix(in srgb,var(--ink) 7%,transparent)}

@media(max-width:1180px){.client360-hero-grid{grid-template-columns:1fr 310px}.client360-kpis-premium{grid-template-columns:repeat(3,1fr)}.client360-dashboard-grid{grid-template-columns:1fr}.client360-next-card{min-height:auto}.client360-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.client360-premium{padding-inline:0}.client360-hero-grid{grid-template-columns:1fr;padding:18px}.client360-hero-actions{width:100%}.client360-navline{padding:12px 16px 0;align-items:stretch}.client360-record-nav{width:100%;justify-content:space-between}.client360-identity-premium{align-items:flex-start}.client360-kpis-premium{grid-template-columns:repeat(2,1fr)}.client360-highlight-card{grid-template-columns:1fr}.client360-highlight-media{min-height:220px;max-height:300px}.client360-detail-grid{grid-template-columns:1fr}.client360-tabs-premium{border-radius:14px;top:4px}}
@media(max-width:560px){.client360-hero-grid{padding:15px}.client360-identity-premium{gap:12px}.client360-identity-premium .client-avatar-large{width:64px;height:64px;flex-basis:64px;border-radius:19px;border-width:3px}.client360-identity-copy h1{font-size:1.85rem}.client360-overline{gap:6px}.client360-contact-actions{display:grid;grid-template-columns:1fr}.client360-contact-action{max-width:none;width:100%}.client360-action-grid{grid-template-columns:1fr 1fr}.client360-kpis-premium{grid-template-columns:1fr 1fr}.client360-kpi-premium{padding:9px}.client360-kpi-icon{width:30px;height:30px;flex-basis:30px}.client360-kpi-premium strong{font-size:1rem}.client360-highlight-copy{padding:18px}.client360-highlight-actions{display:grid;grid-template-columns:1fr;width:100%}.client360-highlight-actions .btn{width:100%;justify-content:center}.client360-info-list{grid-template-columns:1fr}.client360-position{order:3;width:100%;text-align:center}.client360-record-nav{display:flex;flex-wrap:wrap}.client360-nav-arrow{flex:1;justify-content:center}.client360-tabs-premium button{padding:8px 10px}.client360-tabs-premium button span{font-size:.78rem}}
.client360-rich-card{padding:0!important;overflow:hidden}.client360-rich-media{height:190px;background:var(--surface-soft);display:grid;place-items:center;border-bottom:1px solid var(--border)}.client360-rich-media.compact{height:155px}.client360-rich-media img{width:100%;height:100%;object-fit:contain;padding:14px}.client360-rich-body{padding:16px}

/* ================================================================
   Cliente 360 Signature · v2.8.19
   Objetivo: legibilidad premium, mayor densidad útil y jerarquía real.
   Todo queda encapsulado dentro de .client360-premium.
   ================================================================ */
.client360-premium{
  /* Alias locales: evitan depender de tokens opcionales de otros temas/white-label. */
  --surface:var(--card,#fff);
  --surface-soft:color-mix(in srgb,var(--bg,#f4f6f8) 72%,var(--card,#fff));
  --ink:var(--text,#172029);
  --border:var(--line,#dfe5ea);
  --c360-panel-radius:24px;
  --c360-soft:color-mix(in srgb,var(--surface-soft) 78%,var(--surface));
  --c360-brand-soft:color-mix(in srgb,var(--brand) 9%,var(--surface));
  --c360-shadow:0 18px 46px color-mix(in srgb,var(--ink) 8%,transparent);
  --c360-shadow-soft:0 10px 28px color-mix(in srgb,var(--ink) 5%,transparent);
  max-width:1540px;
  font-size:16px;
  line-height:1.48;
  color:var(--ink);
}
.client360-premium h1,.client360-premium h2,.client360-premium h3,.client360-premium h4{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
.client360-premium .eyebrow{font-size:.78rem;letter-spacing:.11em;font-weight:900;color:var(--brand)}

.client360-hero-premium{
  border-radius:28px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--brand) 13%,var(--border));
  background:
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--brand) 13%,transparent),transparent 26%),
    linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,var(--brand-soft)) 0%,var(--surface) 52%,color-mix(in srgb,var(--brand-soft) 63%,var(--surface)) 100%);
  box-shadow:0 24px 64px color-mix(in srgb,var(--ink) 10%,transparent);
}
.client360-hero-premium:before{width:7px}
.client360-hero-premium:after{display:none}
.client360-navline{padding:18px 28px 0;gap:18px}
.client360-back,.client360-nav-arrow{
  min-height:42px;
  padding:9px 14px;
  border-radius:13px;
  border:1px solid color-mix(in srgb,var(--border) 84%,transparent);
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  color:var(--ink);
  font-size:.88rem;
  font-weight:850;
  box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 4%,transparent);
}
.client360-record-nav{gap:9px}
.client360-position{min-width:130px;text-align:center;font-size:.86rem;color:var(--muted)}
.client360-position strong{font-size:1rem;color:var(--ink)}

.client360-hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:34px;padding:24px 30px 32px}
.client360-identity-premium{gap:24px}
.client360-identity-premium .client-avatar-large{
  width:112px;height:112px;flex-basis:112px;border-radius:30px;border-width:4px;
  font-size:2rem;background:linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--ink) 76%,var(--brand)));
}
.client360-identity-copy h1{font-size:clamp(2.75rem,4vw,4.4rem);line-height:.96;letter-spacing:-.055em;margin:7px 0 10px}
.client360-overline{font-size:.79rem;gap:9px}
.client360-subtitle{font-size:1.08rem;line-height:1.5;margin-bottom:12px;color:color-mix(in srgb,var(--muted) 82%,var(--ink))}
.client360-glance-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 15px}
.client360-glance-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 84%,transparent);font-size:.78rem;font-weight:800;color:var(--muted)}
.client360-glance-chip.is-strong{background:var(--ink);border-color:var(--ink);color:#fff}
.client360-glance-chip.is-alert{background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 25%,var(--border));color:var(--brand-dark)}
.client360-glance-chip.is-muted{opacity:.86}

.client360-contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:930px}
.client360-contact-action{
  position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:1px;
  min-width:0;max-width:none;padding:12px 13px;border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);
  box-shadow:0 7px 20px color-mix(in srgb,var(--ink) 4%,transparent);
}
.client360-contact-action i{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--c360-brand-soft);color:var(--brand)}
.client360-contact-action i .nav-svg{width:19px;height:19px}
.client360-contact-action span{font-size:.7rem;align-self:end}
.client360-contact-action strong{font-size:.96rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client360-contact-action em{grid-column:3;grid-row:1/3;align-self:center;font-size:.7rem;font-style:normal;color:var(--brand);font-weight:850;white-space:nowrap}

.client360-hero-actions{padding:19px;border-radius:22px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 15px 38px color-mix(in srgb,var(--ink) 8%,transparent)}
.client360-action-label{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.client360-action-label span{font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:950}
.client360-action-label small{font-size:.78rem;color:var(--muted);line-height:1.35;text-transform:none;letter-spacing:0;font-weight:650}
.client360-main-cta{min-height:50px;border-radius:13px;font-size:1rem;box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 22%,transparent)}
.client360-action-grid{gap:9px;margin-top:10px}.client360-action-grid .btn{min-height:43px;border-radius:12px;font-size:.87rem}

.client360-tabs-premium{margin:16px 0;padding:9px 10px;border-radius:18px;box-shadow:var(--c360-shadow-soft);gap:4px}
.client360-tabs-premium button{min-height:43px;padding:10px 14px;border-radius:12px;font-size:.92rem;font-weight:850;white-space:nowrap}
.client360-tabs-premium button b{min-width:24px;height:24px;font-size:.76rem}

.client360-kpis-premium{gap:12px;margin-bottom:16px}
.client360-kpi-premium{
  appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;
  min-height:98px;padding:15px 16px;gap:13px;border-radius:19px;background:linear-gradient(145deg,var(--surface),var(--c360-soft));box-shadow:var(--c360-shadow-soft);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.client360-kpi-premium:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 24%,var(--border));box-shadow:0 15px 32px color-mix(in srgb,var(--ink) 7%,transparent)}
.client360-kpi-premium.is-money{cursor:default;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 8%,var(--surface)),var(--surface))}
.client360-kpi-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px;font-size:.74rem}
.client360-kpi-icon .nav-svg{width:23px;height:23px}
.client360-kpi-premium small{font-size:.78rem;font-weight:800;color:var(--muted)}
.client360-kpi-premium strong{font-size:1.62rem;line-height:1.02;margin:4px 0 3px}
.client360-kpi-premium em{font-size:.76rem}

.client360-dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,.75fr);gap:16px}
.client360-highlight-card,.client360-next-card,.client360-info-card,.client360-activity-card,.client360-history-card{border-radius:var(--c360-panel-radius);box-shadow:var(--c360-shadow);border-color:color-mix(in srgb,var(--border) 92%,transparent)}
.client360-highlight-card{grid-template-columns:minmax(270px,40%) minmax(0,1fr);min-height:350px}
.client360-highlight-media{min-height:350px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 8%,var(--surface-soft)),var(--surface-soft))}
.client360-highlight-media img{padding:24px}
.client360-product-placeholder span{width:108px;height:108px;border-radius:31px;font-size:1.85rem}
.client360-product-placeholder small{font-size:.88rem}
.client360-highlight-copy{padding:32px}
.client360-highlight-copy h2{font-size:clamp(2rem,3vw,3.15rem);margin:7px 0 10px}
.client360-highlight-copy p{font-size:1.02rem;line-height:1.55;color:color-mix(in srgb,var(--muted) 85%,var(--ink))}
.client360-highlight-price{font-size:1.55rem;margin-top:14px}
.client360-highlight-actions{margin-top:22px;gap:10px}.client360-highlight-actions .btn{min-height:42px}

.client360-next-card{padding:24px;min-height:350px}
.client360-card-heading{margin-bottom:17px}.client360-card-heading h2{font-size:1.42rem;line-height:1.15;margin-top:4px}.client360-card-heading>a,.client360-card-heading>button{font-size:.86rem}
.client360-next-item{grid-template-columns:66px 1fr;padding:15px;gap:15px;border-radius:18px}.client360-next-date{width:62px;height:62px;border-radius:17px;font-size:1.35rem}.client360-next-date small{font-size:.62rem}
.client360-next-item strong{font-size:1rem}.client360-next-item small{font-size:.82rem}
.client360-empty-next{padding:20px;border-radius:18px}.client360-empty-next strong{font-size:1.12rem}.client360-empty-next p{font-size:.92rem;line-height:1.5;margin:8px 0 16px}
.client360-last-touch{padding-top:17px;margin-top:18px}.client360-last-touch>span{font-size:.75rem}.client360-last-touch strong{font-size:1rem}.client360-last-touch small{font-size:.8rem}

.client360-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:16px;margin-top:16px}
.client360-info-card,.client360-activity-card{padding:24px}
.client360-info-list{gap:0 28px}
.client360-info-list>div{padding:14px 0}.client360-info-list span{font-size:.76rem;margin-bottom:5px}.client360-info-list strong{font-size:1rem;line-height:1.42}
.client360-notes{margin-top:16px;padding:14px 15px}.client360-notes summary{font-size:.9rem}.client360-notes p{font-size:.94rem}
.client360-activity-row{grid-template-columns:16px 1fr;gap:12px;padding:11px 0}.client360-activity-mark{width:12px;height:12px}.client360-activity-row:not(:last-child):after{left:5.5px;top:27px}.client360-activity-row strong{font-size:.98rem}.client360-activity-row p{font-size:.87rem;margin:3px 0}.client360-activity-row small{font-size:.77rem}
.client360-history-card{margin-top:16px;padding:24px}

.client360-premium .client360-panel:not(.active){display:none}
.client360-premium .section-head h2{font-size:1.55rem}
.client360-premium .equipment-showcase,.client360-premium .purchase-card-grid,.client360-premium .work-card-grid,.client360-premium .document-card-grid{gap:18px}
.client360-premium .equipment-card-360,.client360-premium .purchase-card-360,.client360-premium .work-card-360,.client360-premium .document-card-360{border-radius:22px;box-shadow:var(--c360-shadow-soft)}
.client360-premium .client360-rich-body{padding:20px}.client360-premium .client360-rich-body h3{font-size:1.2rem}
.client360-premium .equipment-facts span,.client360-premium .purchase-card-360 p,.client360-premium .purchase-card-360 small{font-size:.9rem}

/* Que una resolución muy ancha no convierta la ficha en un desierto visual. */
@media(min-width:1500px){
  .client360-premium{max-width:1500px}
  .client360-hero-grid{grid-template-columns:minmax(0,1fr) 410px}
}
@media(max-width:1180px){
  .client360-hero-grid{grid-template-columns:1fr 330px;gap:22px}
  .client360-contact-actions{grid-template-columns:1fr 1fr}
  .client360-contact-email{grid-column:1/-1}
  .client360-kpis-premium{grid-template-columns:repeat(3,1fr)}
  .client360-dashboard-grid{grid-template-columns:1fr}
  .client360-next-card{min-height:auto}
  .client360-detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .client360-premium{font-size:16px}
  .client360-navline{padding:14px 16px 0}
  .client360-hero-grid{grid-template-columns:1fr;padding:20px;gap:18px}
  .client360-identity-premium .client-avatar-large{width:88px;height:88px;flex-basis:88px}
  .client360-identity-copy h1{font-size:clamp(2.25rem,8vw,3.25rem)}
  .client360-contact-actions{grid-template-columns:1fr 1fr}.client360-contact-email{grid-column:1/-1}
  .client360-kpis-premium{grid-template-columns:repeat(2,1fr)}
  .client360-highlight-card{grid-template-columns:1fr}.client360-highlight-media{min-height:260px;max-height:330px}
  .client360-detail-grid{grid-template-columns:1fr}
  .client360-tabs-premium{top:4px}
}
@media(max-width:560px){
  .client360-premium{font-size:16px}
  .client360-hero-premium{border-radius:20px}.client360-hero-grid{padding:16px}
  .client360-identity-premium{gap:13px}.client360-identity-premium .client-avatar-large{width:68px;height:68px;flex-basis:68px;border-radius:19px}
  .client360-identity-copy h1{font-size:2.15rem;line-height:1}.client360-subtitle{font-size:.96rem}
  .client360-glance-chips{gap:6px}.client360-glance-chip{font-size:.72rem;min-height:28px}
  .client360-contact-actions{grid-template-columns:1fr}.client360-contact-email{grid-column:auto}.client360-contact-action{grid-template-columns:36px minmax(0,1fr) auto}
  .client360-action-grid{grid-template-columns:1fr 1fr}
  .client360-tabs-premium button{font-size:.88rem;padding:9px 11px}
  .client360-kpis-premium{grid-template-columns:1fr}.client360-kpi-premium{min-height:86px}
  .client360-highlight-copy{padding:22px}.client360-highlight-copy h2{font-size:2rem}
  .client360-next-card,.client360-info-card,.client360-activity-card,.client360-history-card{padding:20px}
  .client360-info-list{grid-template-columns:1fr}
}
/* Correcciones de legibilidad que prevalecen sobre breakpoints heredados de 2.8.16. */
.client360-premium .client360-tabs-premium button span{font-size:.92rem;line-height:1.2}
@media(max-width:560px){.client360-premium .client360-tabs-premium button span{font-size:.86rem}.client360-premium .client360-kpi-premium strong{font-size:1.48rem}}

/* Gestor360 2.8.19 · Constructor de formularios cómodo y siempre editable */
.form-designer-layout{grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);gap:20px}
.form-designer-layout>.card>.card-body{padding:22px}
.form-fields-head{margin:10px 0 0;align-items:flex-start}.form-fields-head h3{font-size:1.28rem;margin:2px 0 4px}.form-fields-head p{font-size:.94rem}
.form-builder-dock{position:sticky;top:74px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--card) 93%,transparent);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(15,23,42,.09)}
.form-builder-dock-status{display:flex;align-items:center;gap:10px;min-width:0}.form-builder-dock-status strong{font-size:.9rem;white-space:nowrap}.form-builder-unsaved{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.74rem;font-weight:800}.form-builder-unsaved:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--success)}.form-builder-unsaved.is-dirty{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--card))}.form-builder-unsaved.is-dirty:before{background:var(--warning)}
.form-builder-dock-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.form-builder-dock-actions select{width:auto;min-width:170px;min-height:42px}.form-builder-dock-actions .btn{min-height:42px;white-space:nowrap}.form-builder-save-now{background:var(--nav);color:#fff;border-color:var(--nav)}
.form-builder-list{gap:14px;counter-reset:g360field}
.form-builder-card{position:relative;grid-template-columns:42px minmax(0,1fr);grid-template-areas:"drag main" "actions actions";gap:10px 14px;padding:16px 16px 12px;border-radius:17px;background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 96%,var(--bg)));box-shadow:0 7px 20px rgba(15,23,42,.055);counter-increment:g360field}
.form-builder-card:before{content:"Campo " counter(g360field);position:absolute;top:-10px;left:18px;padding:3px 8px;border-radius:999px;background:var(--nav);color:#fff;font-size:.68rem;line-height:1.4;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 10px rgba(15,23,42,.12)}
.form-builder-card:focus-within{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent),0 10px 26px rgba(15,23,42,.07)}
.form-builder-drag{grid-area:drag;display:grid;place-items:center;align-self:stretch;min-height:76px;padding:0;border-radius:12px;background:var(--surface);border:1px dashed var(--line);font-size:1.2rem;color:var(--muted)}
.form-builder-main{grid-area:main;grid-template-columns:minmax(220px,2fr) minmax(145px,1fr) minmax(125px,.8fr) auto;gap:12px}.form-builder-main .field>label,.form-builder-required{font-size:.82rem;font-weight:800}.form-builder-main input,.form-builder-main select,.form-builder-main textarea{font-size:.96rem;min-height:44px}
.form-builder-actions{grid-area:actions;padding:9px 0 0 56px;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent);justify-content:flex-start;align-items:center}.form-builder-actions .btn{min-height:34px}.form-builder-actions .form-add-below{margin-right:auto;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--card));font-weight:850}
.form-builder-bottom-actions{position:sticky;bottom:10px;z-index:20;margin-top:14px}.form-preview-card{top:74px;border-color:color-mix(in srgb,var(--nav) 15%,var(--line));box-shadow:0 10px 28px rgba(15,23,42,.06)}.form-preview-card .card-title{font-size:1.16rem}.form-preview-live{padding:24px;font-size:.95rem}.form-preview-live h2{font-size:1.45rem}.responsive-preview-tabs .is-active{background:var(--nav);color:#fff}
@media(max-width:1180px){.form-designer-layout{grid-template-columns:1fr}.form-preview-card{position:static}.form-builder-dock{top:68px}.form-builder-main{grid-template-columns:repeat(2,minmax(0,1fr))}.form-builder-main>.field:first-of-type{grid-column:1/-1}.form-builder-options{grid-column:1/-1}}
@media(max-width:760px){.form-designer-layout>.card>.card-body{padding:16px}.form-builder-dock{position:sticky;top:58px;align-items:stretch;flex-direction:column}.form-builder-dock-actions{display:grid;grid-template-columns:minmax(0,1fr) auto}.form-builder-dock-actions select{width:100%;min-width:0}.form-builder-save-now{grid-column:1/-1;width:100%}.form-builder-card{grid-template-columns:1fr;grid-template-areas:"main" "actions";padding:18px 12px 12px}.form-builder-card:before{left:12px}.form-builder-drag{display:none}.form-builder-main{grid-template-columns:1fr}.form-builder-main>.field:first-of-type{grid-column:auto}.form-builder-actions{padding:9px 0 0;justify-content:stretch}.form-builder-actions .form-add-below{flex:1 1 100%;margin-right:0}.form-builder-bottom-actions{position:static}}

/* Gestor360 2.8.19 · Biblioteca de imágenes central + selector universal */
.topbar-media-btn{display:inline-flex;align-items:center;gap:6px}
.media-library-page-head{margin-bottom:18px}.media-library-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.media-library-kpis article{background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--brand) 4%,var(--card)));border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-sm);display:grid;gap:4px}.media-library-kpis span{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.media-library-kpis strong{font-size:1.85rem;line-height:1.05}.media-library-kpis small{color:var(--muted)}
.media-library-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:18px;align-items:start}.media-library-sidebar{position:sticky;top:82px}.media-library-drop{border:2px dashed color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:18px;min-height:150px;display:grid;place-items:center;text-align:center;gap:5px;padding:20px;background:color-mix(in srgb,var(--brand) 3%,var(--surface));cursor:pointer;position:relative}.media-library-drop:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.media-library-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-library-drop-icon{font-size:2rem;color:var(--brand)}.media-library-drop strong{font-size:1rem}.media-library-drop small{color:var(--muted)}.media-library-tip{margin-top:18px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;gap:7px}.media-library-tip>span{display:flex;gap:6px;align-items:center}.media-library-tip kbd{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:3px 7px;font-size:.72rem}.media-library-tip p{margin:0;color:var(--muted);font-size:.78rem}
.media-library-main{min-width:0}.media-library-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto auto auto;gap:10px;align-items:center;padding:12px;margin-bottom:16px}.media-library-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:0 12px}.media-library-search input{border:0;background:transparent;width:100%;min-height:42px;padding:0;outline:0}.media-library-fav-filter{display:flex;gap:7px;align-items:center;white-space:nowrap;font-weight:700;font-size:.82rem}.media-library-result-head{display:flex;justify-content:space-between;align-items:end;margin:0 2px 12px}.media-library-result-head h2{margin:0;font-size:1.3rem}.media-library-result-head p{margin:4px 0 0;color:var(--muted)}
.image-library-grid-premium{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:15px}.premium-media-card{border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.premium-media-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 30%,var(--line));box-shadow:var(--shadow)}.premium-media-card .image-library-thumb{border:0;padding:0;width:100%;display:block;position:relative;cursor:pointer;background:#eef2f5}.premium-media-card .image-library-thumb img{width:100%;height:100%;object-fit:cover}.premium-media-star{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:999px;background:rgba(20,30,40,.75);color:#ffd466;display:grid;place-items:center;font-size:1rem}.premium-media-title{display:grid;gap:2px;min-width:0}.premium-media-title strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-media-title small{color:var(--muted)}.premium-media-data{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.7rem}.premium-media-tags{font-size:.72rem;color:var(--muted);background:var(--surface);border-radius:9px;padding:7px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.premium-media-edit summary{cursor:pointer;font-weight:800;color:var(--brand);font-size:.76rem}.premium-media-edit[open]{border-top:1px solid var(--line);padding-top:9px}

.media-picker-dialog{width:min(1180px,calc(100vw - 28px));max-width:none;padding:0;border:0;border-radius:24px;background:transparent;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.26)}.media-picker-dialog::backdrop{background:rgba(14,22,30,.58);backdrop-filter:blur(4px)}.media-picker-shell{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;max-height:min(860px,calc(100vh - 30px));display:flex;flex-direction:column}.media-picker-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px 17px;border-bottom:1px solid var(--line)}.media-picker-head h2{font-size:1.65rem;margin:2px 0 4px}.media-picker-head p{margin:0;color:var(--muted)}.media-picker-close{border:1px solid var(--line);background:var(--surface);color:var(--text);width:42px;height:42px;border-radius:12px;font-size:1.6rem;line-height:1;cursor:pointer}.media-picker-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto auto;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 75%,var(--card))}.media-picker-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 12px}.media-picker-search input{width:100%;min-height:42px;border:0;background:transparent;outline:0;padding:0}.media-picker-favorite-filter{display:flex;align-items:center;gap:7px;font-weight:700;white-space:nowrap}.media-picker-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:360px;flex:1;overflow:hidden}.media-picker-browser{overflow:auto;padding:16px}.media-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}.media-picker-item{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:6px;display:grid;gap:7px;text-align:left;cursor:pointer;color:var(--text);min-width:0}.media-picker-item:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:color-mix(in srgb,var(--brand) 3%,var(--card))}.media-picker-item.is-selected{border:2px solid var(--brand);padding:5px;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.media-picker-thumb{display:block;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#eef2f4}.media-picker-thumb img{width:100%;height:100%;object-fit:cover}.media-picker-card-copy{display:grid;gap:2px;min-width:0;padding:0 3px 4px}.media-picker-card-copy strong,.media-picker-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-picker-card-copy strong{font-size:.8rem}.media-picker-card-copy small{font-size:.65rem;color:var(--muted)}.media-picker-fav{position:absolute;right:11px;top:11px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(20,30,40,.72);color:#ffd66a}.media-picker-detail{border-left:1px solid var(--line);background:var(--surface);padding:16px;overflow:auto}.media-picker-detail-empty{min-height:100%;display:grid;place-items:center;align-content:center;text-align:center;gap:6px;color:var(--muted)}.media-picker-detail-empty>span{font-size:2rem}.media-picker-detail-preview{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#e9eef0}.media-picker-detail-preview img{width:100%;height:100%;object-fit:contain}.media-picker-detail-copy h3{font-size:1.15rem;margin:13px 0 3px}.media-picker-detail-copy p{margin:0;color:var(--muted)}.media-picker-detail-copy dl{display:grid;gap:8px;margin:15px 0}.media-picker-detail-copy dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px}.media-picker-detail-copy dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.media-picker-detail-copy dd{margin:0;text-align:right;font-size:.75rem;font-weight:700}.media-picker-tags{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px;font-size:.72rem;color:var(--muted)}.media-picker-upload{border-top:1px solid var(--line);padding:10px 18px;background:var(--surface)}.media-picker-upload summary{cursor:pointer;font-weight:800;color:var(--brand)}.media-picker-upload-action{align-self:end}.media-picker-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;border-top:1px solid var(--line);background:var(--card)}.media-picker-actions>div{display:flex;gap:8px;flex-wrap:wrap}.media-picker-status{font-size:.76rem;color:var(--muted);max-width:48%}.media-picker-status[data-state="error"]{color:var(--danger,#b42318);font-weight:800}.media-picker-status[data-state="success"]{color:var(--success,#16794b);font-weight:800}.media-picker-loading,.media-picker-empty{grid-column:1/-1;min-height:260px;display:grid;place-items:center;align-content:center;gap:6px;color:var(--muted)}

.form-builder-image-picker{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:10px;display:flex;align-items:center;gap:12px}.form-builder-image-picker[hidden]{display:none}.form-builder-image-preview{width:110px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#e7ecee;display:grid;place-items:center;color:var(--muted);font-size:.72rem}.form-builder-image-preview img{width:100%;height:100%;object-fit:cover}.form-builder-image-picker-copy{display:grid;gap:4px;flex:1}.form-builder-image-picker-copy strong{font-size:.82rem}.form-builder-image-picker-copy small{color:var(--muted)}.public-form-library-image{margin:0;overflow:hidden;border-radius:18px}.public-form-library-image img{display:block;width:100%;height:auto;border-radius:18px}.public-form-library-image figcaption{font-size:.78rem;color:var(--muted);padding-top:7px}.public-preview-image{overflow:hidden;border-radius:14px;background:#eef2f4;min-height:120px;display:grid;place-items:center}.public-preview-image img{width:100%;height:auto;display:block}.studio-media-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.studio-media-picker-row .btn{align-self:stretch}

@media(max-width:1000px){.media-library-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.media-library-layout{grid-template-columns:1fr}.media-library-sidebar{position:static}.media-library-toolbar{grid-template-columns:1fr 1fr auto}.media-library-search{grid-column:1/-1}.media-picker-body{grid-template-columns:minmax(0,1fr) 250px}.media-picker-toolbar{grid-template-columns:1fr 200px auto}.media-picker-toolbar>a{display:none}}
@media(max-width:720px){.topbar-media-btn span{display:none}.media-library-kpis{grid-template-columns:1fr 1fr;gap:8px}.media-library-kpis article{padding:14px}.media-library-kpis strong{font-size:1.45rem}.media-library-toolbar{grid-template-columns:1fr}.media-library-search{grid-column:auto}.image-library-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.media-picker-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.media-picker-shell{height:100dvh;max-height:none;border-radius:0;border:0}.media-picker-head{padding:16px}.media-picker-head h2{font-size:1.25rem}.media-picker-head p{display:none}.media-picker-toolbar{grid-template-columns:1fr 1fr;padding:9px}.media-picker-search{grid-column:1/-1}.media-picker-favorite-filter{font-size:.72rem}.media-picker-body{display:block;overflow:auto}.media-picker-browser{padding:9px}.media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-picker-detail{border:0;border-top:1px solid var(--line);padding:10px}.media-picker-detail-preview{max-height:220px}.media-picker-actions{position:sticky;bottom:0;flex-direction:column;align-items:stretch;padding:10px}.media-picker-actions>div{display:grid;grid-template-columns:1fr 1fr}.media-picker-actions [data-media-use]{grid-column:1/-1}.media-picker-status{max-width:none}.media-picker-upload{padding:8px}.form-builder-image-picker{align-items:flex-start}.form-builder-image-preview{width:84px}.studio-media-picker-row{grid-template-columns:1fr}.studio-media-picker-row .btn{width:100%}}
.media-field-picker{display:grid;gap:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:10px}.media-field-picker-preview{display:flex;align-items:center;gap:10px;min-height:72px}.media-field-picker-preview img{width:104px;height:68px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#e9eef0}.media-field-picker-preview>span:not(.media-field-picker-empty){display:grid;gap:3px}.media-field-picker-preview small{color:var(--muted)}.media-field-picker-empty{display:grid;place-items:center;width:104px;height:68px;border-radius:10px;background:#e9eef0;color:var(--muted);font-size:1.5rem}


/* ========================================================================== 
   Gestor360 2.8.23 · identidad oficial y logotipo legible
   El logo oficial suministrado ocupa el espacio de marca completo. Los logos
   personalizados conservan fondo oscuro para respetar el modo white-label.
   ========================================================================== */
.brand{position:relative;min-height:84px;padding:12px 16px 14px;gap:0;overflow:visible}
.brand img{display:block;width:100%;max-width:224px;height:58px;object-fit:contain;object-position:left center;opacity:1}
.brand.brand-default{background:#fff;border-bottom:1px solid #dce5e9}
.brand.brand-default .version-pill{position:absolute;right:12px;bottom:4px;margin:0;background:#eef4f8;color:#53677a;border:1px solid #d9e5ec;font-size:9px;line-height:1;padding:3px 6px}
.brand.brand-custom .version-pill{position:absolute;right:12px;bottom:4px;margin:0}
.brand .sidebar-collapse-btn{top:50%;transform:translateY(-50%)}
.sidebar-is-collapsed .brand{height:78px;min-height:78px;padding:13px 10px;display:grid;place-items:center;overflow:visible}
.sidebar-is-collapsed .brand img{width:52px!important;max-width:52px!important;height:52px!important;object-fit:cover!important;object-position:left center!important}
.sidebar-is-collapsed .brand .version-pill{display:none}
.sidebar-is-collapsed .brand .sidebar-collapse-btn{top:50%;transform:translateY(-50%) rotate(180deg)}
.top-brand{width:238px;height:60px;min-width:190px;align-items:center;margin-right:12px}
.top-brand img{display:block;width:100%;height:58px;max-height:58px;object-fit:contain;object-position:left center}
.login-logo{width:min(480px,100%);max-height:120px;object-fit:contain;object-position:center}
.public-form-logo{width:min(360px,100%);max-width:360px;max-height:90px;object-fit:contain;object-position:left center}
.brand-preview-nav img{width:min(100%,250px);max-width:250px;max-height:66px;object-fit:contain;object-position:left center}
@media(max-width:1100px) and (min-width:851px){.nav-mode-top .top-brand{width:205px;min-width:175px}.nav-mode-top .global-search{min-width:230px}}
@media(max-width:560px){.brand{min-height:78px}.brand img{height:54px;max-width:218px}.login-logo{width:min(390px,100%);max-height:100px}}

.brand-preview-nav.brand-preview-default{color:#0b2a4e}.brand-preview-nav.brand-preview-default strong{color:#0b2a4e}

/* G360_EMAIL_COMPOSE_SPACIOUS_V1
   Redactor Email 360: aprovechar el ancho real, mejorar legibilidad y mostrar completa la cuenta/empresa remitente. */
.email360-compose-layout{
  grid-template-columns:minmax(0,1fr) minmax(330px,390px);
  gap:22px;
}
.email360-compose-main .card-body{padding:24px 26px}
.email360-address-grid{
  display:grid;
  grid-template-columns:minmax(300px,.92fr) minmax(420px,1.65fr) auto;
  gap:16px;
  align-items:end;
}
.email360-address-grid>.field{min-width:0}
.email360-address-grid>.field:first-child select{
  width:100%;
  min-width:0;
  font-weight:800;
}
.email360-address-grid>.grow{min-width:0}
.email360-address-grid .email360-toggle-copy{
  min-width:116px;
  min-height:48px;
  padding-inline:16px;
  align-self:end;
}
.email360-copy-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:12px;
}
.email360-compose-main .field>label{
  font-size:.82rem;
  line-height:1.25;
  font-weight:850;
  margin-bottom:7px;
}
.email360-compose-main .field input:not([type="checkbox"]):not([type="color"]):not([type="file"]),
.email360-compose-main .field select{
  min-height:48px;
  padding:10px 12px;
  font-size:.88rem;
}
.email360-compose-main #email360-subject{
  min-height:50px;
  font-size:.92rem;
}
.email360-editor-toolbar{
  gap:7px;
  padding:10px;
  margin-top:14px;
  border-radius:13px 13px 0 0;
}
.email360-editor-toolbar button,
.email360-editor-toolbar select,
.email360-editor-toolbar input[type=color]{
  min-height:38px;
  font-size:.76rem;
  padding:7px 10px;
}
.email360-editor-toolbar input[type=color]{width:44px;padding:4px}
.email360-editor{
  min-height:470px;
  padding:24px 26px;
  font-size:.95rem;
  line-height:1.68;
}
.email360-source{min-height:470px;font-size:.8rem}
.email360-module-tabs{
  gap:9px;
  padding-bottom:12px;
  margin-bottom:16px;
}
.email360-module-tabs a{
  padding:10px 14px;
  font-size:.82rem;
}
.email360-sendbar{
  gap:12px;
  padding:14px;
  margin-top:18px;
}
.email360-sendbar .btn{min-height:44px;padding-inline:15px}
.email360-compose-tools{top:90px}
.email360-compose-tools .card-body{padding:18px}
.email360-tool-tabs{gap:6px;padding-bottom:11px}
.email360-tool-tabs button{font-size:.7rem;padding:7px 10px}
@media(max-width:1380px){
  .email360-compose-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:18px}
  .email360-address-grid{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.5fr) auto;gap:12px}
}
@media(max-width:1180px){
  .email360-compose-layout{grid-template-columns:1fr}
  .email360-compose-tools{position:static;max-height:none}
  .email360-address-grid{grid-template-columns:minmax(260px,.9fr) minmax(340px,1.5fr) auto}
}
@media(max-width:820px){
  .email360-compose-main .card-body{padding:18px}
  .email360-address-grid{grid-template-columns:1fr}
  .email360-address-grid>*{grid-column:1/-1!important}
  .email360-address-grid .email360-toggle-copy{width:100%}
  .email360-copy-fields{grid-template-columns:1fr}
  .email360-editor{min-height:380px;padding:18px}
}

/* G360_PRODUCT_GALLERY_V2 · galería avanzada de producto */
.product-image-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.product-image-admin-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;box-shadow:0 6px 20px rgba(15,23,42,.04);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.product-image-admin-card.is-dragging{opacity:.48;transform:scale(.985);border-style:dashed}
.product-image-admin-card.is-primary{border-color:color-mix(in srgb,var(--brand) 62%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 9%,transparent)}
.product-image-admin-preview{height:170px;background:color-mix(in srgb,var(--surface) 72%,var(--card));display:grid;place-items:center;padding:10px}
.product-image-admin-preview img{width:100%;height:100%;object-fit:contain;display:block}
.product-image-admin-body{padding:11px;display:grid;gap:9px}
.product-image-admin-meta{display:flex;gap:6px;align-items:center;justify-content:space-between;min-width:0}
.product-image-admin-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--muted)}
.product-image-primary-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,var(--card));color:var(--brand-dark);font-size:.62rem;font-weight:850;white-space:nowrap}
.product-image-drag-handle{position:absolute;left:9px;top:9px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(16,25,32,.76);color:#fff;font-size:18px;font-weight:900;cursor:grab;user-select:none;z-index:2;box-shadow:0 3px 12px rgba(0,0,0,.18)}
.product-image-drag-handle:active{cursor:grabbing}
.product-image-admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.product-image-admin-actions form{margin:0}
.product-image-admin-actions .btn{min-height:34px}
.product-image-order-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.product-image-order-actions .help{max-width:520px}

.showroom-gallery{position:relative}
.showroom-main-image{position:relative;overflow:hidden}
.showroom-main-image-button{width:100%;height:100%;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:zoom-in}
.showroom-main-image-button img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:26px}
.showroom-zoom-hint{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(16,25,32,.76);color:#fff;font-size:.7rem;font-weight:800;pointer-events:none;backdrop-filter:blur(6px)}
.showroom-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(16,25,32,.68);color:#fff;font-size:24px;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.showroom-gallery-nav.prev{left:12px}.showroom-gallery-nav.next{right:12px}
.showroom-image-count{position:absolute;left:14px;bottom:14px;z-index:3;padding:7px 9px;border-radius:999px;background:rgba(16,25,32,.72);color:#fff;font-size:.68rem;font-weight:850;backdrop-filter:blur(6px)}
.showroom-thumbs button{position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.showroom-thumbs button:hover{transform:translateY(-1px)}
.showroom-thumbs button.active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 20%,transparent)}
.showroom-thumbs button.active:after{content:'';position:absolute;left:10px;right:10px;bottom:-8px;height:3px;border-radius:999px;background:var(--brand)}

.product-lightbox[hidden]{display:none!important}
.product-lightbox{position:fixed;inset:0;z-index:10050;background:rgba(5,10,14,.94);display:grid;grid-template-columns:74px minmax(0,1fr) 74px;align-items:center;gap:10px;padding:24px;color:#fff;backdrop-filter:blur(10px)}
.product-lightbox-stage{min-width:0;min-height:0;height:calc(100vh - 48px);display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;overflow:auto}
.product-lightbox-image-wrap{width:100%;height:100%;display:grid;place-items:center;overflow:auto;cursor:zoom-in}
.product-lightbox-image{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;transition:transform .18s ease;transform-origin:center center}
.product-lightbox-image.is-zoomed{max-width:none;max-height:none;transform:scale(1.8);cursor:zoom-out}
.product-lightbox-caption{padding:10px 14px 0;color:#dce5ea;text-align:center;font-size:.76rem}
.product-lightbox-close{position:absolute;right:20px;top:18px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:28px;cursor:pointer;z-index:4}
.product-lightbox-nav{width:54px;height:54px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:32px;display:grid;place-items:center;cursor:pointer}
.product-lightbox-nav:disabled{opacity:.25;cursor:default}
body.product-lightbox-open{overflow:hidden}
@media(max-width:760px){
  .product-image-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .product-image-admin-preview{height:135px}
  .showroom-gallery-nav{width:38px;height:38px;font-size:21px}
  .product-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:12px 8px}
  .product-lightbox-nav{width:40px;height:40px;font-size:24px}
  .product-lightbox-close{right:10px;top:10px;width:42px;height:42px}
  .product-lightbox-stage{height:calc(100vh - 24px)}
  .product-lightbox-image{max-height:calc(100vh - 100px)}
}
@media(max-width:430px){
  .product-image-admin-grid{grid-template-columns:1fr 1fr}
  .product-image-admin-preview{height:120px}
}

/* G360_TRACKING360_V1 · Centro unificado de seguimiento */
.tracking360-head{align-items:flex-start}
.tracking360-focus{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tracking360-focus a{margin-left:auto}
.tracking360-filter{overflow:visible}
.tracking360-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:16px}
.tracking360-kpis>div{min-width:0;border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--card);box-shadow:0 8px 28px rgba(15,23,42,.035)}
.tracking360-kpis span,.tracking360-kpis small{display:block;color:var(--muted)}
.tracking360-kpis span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.tracking360-kpis strong{display:block;margin:5px 0 2px;font-size:1.8rem;line-height:1;color:var(--text)}
.tracking360-kpis small{font-size:.68rem}
.tracking360-section .card-title{margin-bottom:3px}
.tracking360-table td{vertical-align:middle}
.tracking360-table td>small,.tracking360-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.67rem}
.tracking360-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:180px}
.tracking360-list{gap:0}
.tracking360-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.tracking360-row:last-child{border-bottom:0}
.tracking360-row>div:first-child{min-width:0}
.tracking360-row strong,.tracking360-row span,.tracking360-row small,.tracking360-row time{display:block}
.tracking360-row strong{font-size:.79rem;overflow-wrap:anywhere}
.tracking360-row span{margin-top:3px;color:var(--text);font-size:.69rem}
.tracking360-row small{margin-top:4px;color:var(--muted);font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tracking360-row>div:last-child{text-align:right}
.tracking360-row>div:last-child .badge{display:inline-flex;margin:0 0 6px}
.tracking360-row time{font-size:.62rem;color:var(--muted);white-space:nowrap}
@media(max-width:1450px){.tracking360-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.tracking360-grid{grid-template-columns:1fr}.tracking360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tracking360-kpis{grid-template-columns:1fr 1fr;gap:8px}.tracking360-kpis>div{padding:12px}.tracking360-kpis strong{font-size:1.45rem}.tracking360-focus a{margin-left:0}.tracking360-row{grid-template-columns:1fr}.tracking360-row>div:last-child{text-align:left}.tracking360-actions{min-width:0}}


/* G360 WhatsApp brand icon */
.g360-wa-button{display:inline-flex;align-items:center;gap:.55rem}
.g360-wa-button .g360-wa-icon{width:1.12rem;height:1.12rem;flex:0 0 1.12rem;border-radius:.32rem;background:center/contain no-repeat url('../icons/whatsapp-brand.png');display:inline-block}
.g360-wa-button.btn-sm .g360-wa-icon{width:1rem;height:1rem;flex-basis:1rem}
.g360-wa-button.icon-only{justify-content:center}
input.g360-wa-button[type='submit'],input.g360-wa-button[type='button']{background-image:url('../icons/whatsapp-brand.png');background-repeat:no-repeat;background-position:.82rem center;background-size:1.12rem 1.12rem;padding-left:2.5rem!important}
@media(max-width:640px){.g360-wa-button{gap:.42rem}.g360-wa-button .g360-wa-icon{width:1rem;height:1rem;flex-basis:1rem}input.g360-wa-button[type='submit'],input.g360-wa-button[type='button']{background-position:.72rem center;padding-left:2.3rem!important}}

/* G360_FIX_CONTACT_CARDS_20261009 · datos completos y tarjetas compactas */
.client360-premium .client360-contact-actions{align-items:stretch}
.client360-premium .client360-contact-action{grid-template-columns:40px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;align-content:center!important;min-width:0!important;min-height:82px!important;height:auto!important;padding:12px 14px!important;column-gap:11px!important;row-gap:2px!important;overflow:hidden}
.client360-premium .client360-contact-action i{grid-column:1;grid-row:1/4!important;align-self:center}
.client360-premium .client360-contact-action span,.client360-premium .client360-contact-action strong,.client360-premium .client360-contact-action em{grid-column:2!important;min-width:0}
.client360-premium .client360-contact-action span{grid-row:1!important;align-self:end}
.client360-premium .client360-contact-action strong{grid-row:2!important;display:block;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word;line-height:1.25!important}
.client360-premium .client360-contact-action em{grid-row:3!important;align-self:start!important;white-space:normal!important;font-size:.72rem!important;line-height:1.2}
@media(max-width:1180px){.client360-premium .client360-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.client360-premium .client360-contact-email{grid-column:1/-1}}
@media(max-width:620px){.client360-premium .client360-contact-actions{grid-template-columns:1fr}.client360-premium .client360-contact-email{grid-column:auto}}
