/* ========================================================================
   L.D.D.WEB · BASE REESTRUCTURADA
   Un solo tema, una sola navegación y reglas separadas para escritorio/móvil.
   ======================================================================== */
:root{
  --primary:#2563eb;--primary-strong:#1d4ed8;--secondary:#06b6d4;
  --bg:#e8eef6;--surface:#ffffff;--surface-soft:#f8fafc;--surface-muted:#f1f5f9;
  --ink:#142033;--muted:#607085;--line:#d7e0ec;--danger:#dc2626;--success:#15803d;--warning:#b45309;
  --shadow:0 10px 30px rgba(15,23,42,.09);--radius:16px;--sidebar:272px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[data-theme="dark"]{
  --bg:#0e1624;--surface:#151f2f;--surface-soft:#1b2738;--surface-muted:#202e41;
  --ink:#f4f7fb;--muted:#c2cedd;--line:#304158;--shadow:0 12px 34px rgba(0,0,0,.28);
}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.hidden{display:none!important}.admin-only[hidden]{display:none!important}.muted{color:var(--muted)!important}.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
/* Login: intencionalmente fijo y legible. Nunca hereda el tema empresarial. */
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,#2563eb 0,#172554 33%,#0f172a 100%)}
.login-card{width:min(440px,100%);padding:30px;background:#fff;color:#132033;border:1px solid #d9e2ee;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.login-brand{display:flex;align-items:center;gap:14px;margin:0 0 26px}.login-mark{width:54px;height:54px;border-radius:15px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.login-brand h1{margin:0;font-size:28px;letter-spacing:-.04em;color:#132033}.login-brand p{margin:4px 0 0;color:#5a6a80}.login-card label{display:block;margin:16px 0 6px;font-weight:800;color:#203047}.login-card input[type="email"],.login-card input[type="password"]{width:100%;border:1px solid #aebbd0;background:#f8fafc;color:#132033;border-radius:12px;padding:12px 13px;outline:none}.login-card input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}.remember{display:flex!important;align-items:center;gap:9px;padding:10px 12px;background:#f8fafc;border:1px solid #d7e1ee;border-radius:12px;font-size:13px}.remember input{width:18px;height:18px;accent-color:#2563eb}.wide{width:100%;margin-top:20px}.form-error{margin:12px 0 0;color:#b91c1c;font-weight:700}
/* Reusable components */
.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;min-height:40px;padding:9px 13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.08)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);display:inline-grid;place-items:center;font-size:20px;position:relative}.badge{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;display:grid;place-items:center}.action-row{display:flex;flex-wrap:wrap;gap:8px}.toast{position:fixed;z-index:5000;left:50%;bottom:20px;transform:translate(-50%,130%);background:#142033;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:var(--shadow);transition:.2s;max-width:min(94vw,560px);font-weight:750}.toast.show{transform:translate(-50%,0)}
/* App shell */
.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;padding:16px;background:linear-gradient(145deg,var(--secondary),var(--primary));color:#ecf4ff;display:flex;flex-direction:column;gap:16px}.brand{border:0;background:transparent;color:inherit;display:flex;text-align:left;gap:12px;align-items:center;padding:7px;border-radius:14px}.brand:hover{background:rgba(255,255,255,.08)}.brand-logo{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--primary);color:#fff;font-weight:950;font-size:17px;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}.brand-logo.small{width:38px;height:38px;border-radius:11px;font-size:14px}.brand-copy{min-width:0}.brand-copy small{display:block;font-size:10px;letter-spacing:.09em;font-weight:900;color:#a9bad2}.brand-copy strong{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.main-nav{display:grid;gap:4px}.nav-caption{margin:8px 11px 5px;font-size:10px;font-weight:900;letter-spacing:.1em;color:#92a8c5}.nav-item{width:100%;border:0;border-radius:10px;background:transparent;color:#dce7f6;text-align:left;padding:10px 12px;font-weight:750}.nav-item:hover{background:rgba(255,255,255,.09)}.nav-item.active{background:rgba(15,23,42,.64);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:#fff}.nav-divider{height:1px;background:rgba(255,255,255,.12);margin:7px 10px}.sidebar-user{margin-top:auto;display:grid;gap:8px}.sidebar-account-tools{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:stretch}.sidebar-theme-toggle{width:42px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center}.sidebar-theme-toggle:hover{background:rgba(255,255,255,.14)}.sidebar-logout{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;color:#dce7f6;text-align:left;padding:9px 12px;font-weight:800}.sidebar-logout:hover{background:rgba(255,255,255,.09);color:#fff}.logout-card{border-color:color-mix(in srgb,#dc2626 42%,var(--line))!important}.logout-card strong{color:#b91c1c!important}.account-button{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;text-align:left}.account-button span strong{display:block}.account-button span small{display:block;color:#b6c5da;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;font-weight:900;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.main-content{min-width:0}.mobile-topbar{display:none}.page-wrap{width:min(1320px,calc(100vw - var(--sidebar) - 48px));margin:0 auto;padding:28px 0 64px}.page{display:none}.page.active{display:block}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 20px}.page-header h1{margin:0;font-size:32px;letter-spacing:-.04em}.page-header p{margin:5px 0 0;color:var(--muted)}.eyebrow{margin:0 0 5px!important;color:var(--primary)!important;font-size:11px;font-weight:950;letter-spacing:.1em}.header-meta{color:var(--muted);font-weight:800;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.card h2{margin:0;font-size:21px;font-weight:900;letter-spacing:-.025em;line-height:1.18}.card p{color:var(--muted)}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-head p{margin:5px 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{min-height:116px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.kpi::after{content:"";position:absolute;width:110px;height:110px;right:-42px;bottom:-50px;border-radius:50%;background:color-mix(in srgb,var(--primary) 13%,transparent)}.kpi small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kpi strong{display:block;margin-top:9px;font-size:36px;font-weight:950;letter-spacing:-.045em;line-height:.95;color:var(--ink)}.kpi>span:not(.skeleton){display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:720}.chart-controls{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:var(--muted)}.chart-bars{display:grid;gap:11px;margin-top:18px}.bar-line{display:grid;grid-template-columns:minmax(110px,220px) 1fr 42px;gap:10px;align-items:center}.bar-line span{font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:13px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--secondary),var(--primary));min-width:3px}.bar-line b{text-align:right}
/* Operations */
.filter-card{padding:12px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.filters input,.filters select,.filter-card input{width:100%;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:11px;padding:11px 12px;outline:none}.filters input:focus,.filters select:focus,.filter-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.operation-list,.resource-list{display:grid;gap:10px}.operation-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:14px;padding:15px;box-shadow:0 4px 16px rgba(15,23,42,.05);display:grid;gap:12px}.operation-card-head{display:flex;justify-content:space-between;gap:15px}.operation-code{color:var(--primary);font-size:12px;font-weight:950;letter-spacing:.06em}.operation-title{border:0;background:transparent;color:var(--ink);font-size:18px;font-weight:900;text-align:left;padding:0;margin-top:3px}.operation-title:hover{text-decoration:underline}.operation-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:13px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:var(--surface-soft);font-weight:750}.tag.status-final{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.tag.status-late{color:#b91c1c;border-color:#fecaca;background:#fff1f2}.operation-actions{display:flex;gap:8px;flex-wrap:wrap}.operation-actions button{font-size:13px;min-height:34px;padding:7px 10px}.empty-state{padding:30px 16px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:16px}.empty-state p{margin:7px 0 0}
/* Calendar */
.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:13px}.calendar-toolbar h2{font-size:18px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays span{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}.calendar-day{min-height:110px;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:8px;overflow:hidden}.calendar-day.is-today{outline:2px solid color-mix(in srgb,var(--primary) 50%,transparent)}.calendar-day.is-empty{opacity:.42}.day-number{font-weight:900}.calendar-op{border:0;width:100%;text-align:left;margin-top:5px;border-radius:7px;padding:4px 6px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-op:hover{background:var(--primary);color:#fff}
/* Tables and documents */
.resource-card{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px}.resource-card h3{margin:0;font-size:16px}.resource-card p{margin:5px 0 0;color:var(--muted);font-size:13px}.resource-actions{display:flex;gap:7px;flex-wrap:wrap}.helper-card{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface))}.helper-card p{max-width:720px}
/* Chat */
.chat-layout{padding:0;overflow:hidden;display:grid;grid-template-columns:280px minmax(0,1fr);min-height:590px}.chat-sidebar{background:var(--surface-soft);border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px}.chat-sidebar input,.chat-search input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 11px}.chat-directory{display:grid;gap:5px;overflow:auto}.chat-target{border:0;background:transparent;color:var(--ink);border-radius:10px;padding:10px;text-align:left;display:flex;gap:9px;align-items:center}.chat-target:hover,.chat-target.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.chat-target strong{display:block}.chat-target small{display:block;color:var(--muted);margin-top:2px}.chat-main{min-width:0;display:flex;flex-direction:column}.chat-header{min-height:68px;padding:14px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}.chat-header strong{display:block}.chat-header small{display:block;color:var(--muted);margin-top:2px}.chat-tools{position:absolute;z-index:3;right:12px;top:57px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:190px;padding:5px}.chat-tools button{width:100%;border:0;background:transparent;color:var(--ink);padding:9px 10px;text-align:left;border-radius:8px;font-weight:750}.chat-tools button:hover{background:var(--surface-soft)}.chat-search{padding:9px 12px;border-bottom:1px solid var(--line)}.chat-feed{flex:1;min-height:360px;max-height:530px;overflow:auto;padding:16px;background:var(--surface-soft);display:flex;flex-direction:column;gap:9px}.message{max-width:min(78%,650px);border:1px solid var(--line);background:var(--surface);padding:9px 11px;border-radius:13px;align-self:flex-start;white-space:pre-wrap;word-break:break-word}.message.me{align-self:flex-end;background:color-mix(in srgb,var(--primary) 13%,var(--surface));border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}.message b{display:block;font-size:12px;margin-bottom:3px}.message small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.chat-compose{padding:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:end}.chat-compose textarea{min-height:44px;max-height:150px;width:100%;resize:vertical;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:10px}.format-tools{display:flex;gap:3px}.format-tools button,.attach-label{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer}
/* Account and settings */
.account-tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:8px}.account-tabs button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 11px;font-weight:780}.account-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-summary{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadow)}.account-summary strong{display:block;font-size:24px}.account-summary span{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-card{min-height:125px;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.settings-card:hover{border-color:var(--primary);transform:translateY(-1px)}.settings-card strong{display:block;font-size:16px}.settings-card span{display:block;color:var(--muted);margin-top:7px}.settings-panel{margin-top:16px}.settings-panel h2{margin:0}.settings-panel label{display:block;font-weight:800;margin:12px 0 5px}.settings-panel input,.settings-panel select,.settings-panel textarea{width:100%;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:10px;padding:10px}.settings-panel textarea{min-height:110px;resize:vertical}.settings-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-row{display:flex;gap:18px;align-items:center}.profile-avatar{width:74px;height:74px;border-radius:50%;overflow:hidden;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.list-rows{display:grid;gap:8px;margin-top:12px}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--surface-soft)}.list-row strong{display:block}.list-row small{display:block;color:var(--muted);margin-top:2px}
/* Modal */
.modal-host{position:fixed;inset:0;z-index:3000;background:rgba(10,18,31,.56);padding:22px;display:grid;place-items:center}.modal-host.is-opening{animation:modal-backdrop-in .16s ease-out}.modal-host.is-opening>.modal,.confirm-overlay>.modal{animation:modal-in .18s cubic-bezier(.2,.8,.2,1)}.confirm-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:22px;background:rgba(10,18,31,.34)}.confirm-modal{width:min(480px,100%)!important}.confirm-message{margin:4px 0;color:var(--ink);line-height:1.55}.modal{width:min(930px,100%);max-height:min(90vh,980px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 64px rgba(0,0,0,.28);padding:20px}.modal.wide{width:min(1160px,100%)}.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:15px}.modal-head h2{margin:0;font-size:22px}.modal-head p{margin:4px 0 0;color:var(--muted)}.close-modal{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:9px;width:36px;height:36px;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.field label{display:block;font-weight:850;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:10px;padding:10px;outline:none}.field textarea{min-height:105px;resize:vertical}.detail-editor{min-height:170px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:10px;padding:12px;outline:none}.detail-editor:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.editor-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.editor-toolbar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:5px 8px;min-width:32px}.editor-toolbar label{margin:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:5px 8px;cursor:pointer}.modal-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:8px;overflow:auto}.modal-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 10px;flex:0 0 auto;font-weight:780}.modal-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-panel{display:none}.modal-panel.active{display:block}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.collab-row{display:grid;grid-template-columns:120px 1fr;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface-soft);margin-bottom:8px}.permission-checks{display:flex;flex-wrap:wrap;gap:8px}.permission-checks label{display:flex;gap:4px;align-items:center;font-size:12px;font-weight:750}.content-links{display:grid;gap:8px}.content-link{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--surface-soft)}.replicate-targets{display:grid;gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:11px;padding:8px}.replicate-target{display:flex;align-items:center;gap:9px;padding:7px;border-radius:8px}.replicate-target:hover{background:var(--surface-soft)}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.data-table{border-collapse:collapse;width:max-content;min-width:100%}.data-table th,.data-table td{border:1px solid var(--line);padding:7px;min-width:130px;background:var(--surface)}.data-table th{background:var(--surface-soft);font-weight:850}.data-table input,.data-table select{border:0;background:transparent;color:var(--ink);padding:5px;width:100%;outline:none}.sum-row td{background:var(--surface-muted);font-weight:900}.checklist-box input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary)}
/* Mobile */
.mobile-nav{display:none}@media(max-width:980px){.app{display:block;padding-bottom:76px}.sidebar{display:none}.mobile-topbar{display:flex;position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 13px;justify-content:space-between;align-items:center;box-shadow:0 4px 16px rgba(15,23,42,.05)}.mobile-brand{border:0;background:transparent;color:var(--ink);display:flex;text-align:left;align-items:center;gap:9px;min-width:0}.mobile-brand span span{display:block}.mobile-brand small{display:block;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.07em}.mobile-brand strong{display:block;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-actions{display:flex;gap:7px}.avatar-button{border:0;background:transparent;padding:0}.page-wrap{width:100%;padding:16px 12px 102px}.page-header{display:block}.page-header .action-row{margin-top:12px}.page-header h1{font-size:27px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{min-height:100px;padding:13px}.kpi strong{font-size:28px}.filters{grid-template-columns:1fr}.bar-line{grid-template-columns:92px 1fr 32px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-weekdays span{font-size:9px}.calendar-day{min-height:80px;padding:5px}.day-number{font-size:13px}.calendar-op{font-size:9px;padding:3px}.resource-card{align-items:flex-start;display:block}.resource-actions{margin-top:10px}.chat-layout{grid-template-columns:1fr;min-height:0}.chat-sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:200px}.chat-directory{display:flex;overflow:auto}.chat-target{min-width:180px}.chat-feed{min-height:330px;max-height:none}.chat-compose{grid-template-columns:auto 1fr}.chat-compose .btn{grid-column:2}.settings-grid{grid-template-columns:1fr 1fr}.account-grid{grid-template-columns:1fr 1fr}.settings-two,.settings-three,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-host{padding:0;place-items:stretch}.modal{width:100%;max-height:100vh;border-radius:0;padding:15px}.mobile-nav{position:fixed;z-index:200;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;border:1px solid var(--line);background:var(--surface);padding:6px;border-radius:16px;box-shadow:var(--shadow)}.mobile-nav button{border:0;background:transparent;color:var(--muted);border-radius:11px;padding:9px 4px;font-size:11px;font-weight:850}.mobile-nav button.active{background:var(--primary);color:#fff}.operation-card-head{display:block}.operation-actions{margin-top:10px}.card-head{display:block}.chart-controls{margin-top:12px}.collab-row{grid-template-columns:1fr}.profile-row{align-items:flex-start}.account-tabs{margin-left:-12px;margin-right:-12px;padding:0 12px 8px}.editor-toolbar{position:sticky;top:0;background:var(--surface);z-index:2;padding:7px 0}}
@media(max-width:540px){.kpi-grid,.account-grid,.settings-grid{grid-template-columns:1fr 1fr}.kpi small{font-size:10px}.kpi strong{font-size:25px}.settings-grid{grid-template-columns:1fr}.operation-actions .btn{flex:1}.calendar-day{min-height:66px}.calendar-op{display:none}.calendar-op:first-of-type{display:block}.message{max-width:90%}}


/* v274 · equilibrio visual: conserva el orden, devuelve profundidad y herramientas reales */
.dashboard-lower{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;margin:14px 0}.mini-chart-card{min-height:250px}.text-link{border:0;background:transparent;color:var(--primary);font-weight:850;padding:5px;cursor:pointer}.mini-bars{display:grid;gap:12px;margin-top:16px}.mini-bar-row{display:grid;grid-template-columns:minmax(95px,1fr) minmax(110px,2fr) 30px;gap:10px;align-items:center;font-size:13px}.mini-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-bar-track{height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.mini-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--secondary))}.attention-list{display:grid;gap:7px;margin-top:15px}.attention-item{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:12px;padding:10px;cursor:pointer}.attention-item:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.attention-item strong{font-size:12px}.attention-item small{display:block;color:var(--muted);margin-top:2px}.attention-dot{width:8px;height:8px;border-radius:50%;background:var(--secondary)}.attention-dot.late{background:#dc2626}.empty-state.compact{padding:18px}.quick-card{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface))}

/* Hoja de trabajo: la tabla vuelve a ser la protagonista. */
.table-editor-layout{display:grid;gap:12px}.table-meta-grid{display:grid;grid-template-columns:1.15fr .85fr auto;gap:12px;align-items:end}.table-calendar-toggle{display:flex!important;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;padding:10px;font-size:13px;font-weight:780!important;min-height:42px}.table-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.table-tools input{flex:1 1 210px;min-width:170px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:9px 10px}.table-tools-separator{width:1px;height:28px;background:var(--line)}.sheet-tip{font-size:12px;color:var(--muted);padding:0 3px}.sheet-wrap{height:min(57vh,650px);min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}.sheet-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed}.sheet-table th,.sheet-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:0;vertical-align:top}.sheet-table th{position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--primary) 4%,var(--surface));min-height:76px}.sheet-row-index{position:sticky!important;left:0;z-index:6!important;width:48px;min-width:48px!important;text-align:center;background:var(--surface-soft)!important;color:var(--muted);font-size:12px;font-weight:850}.sheet-table td.sheet-row-index{z-index:3!important;position:sticky;left:0;vertical-align:middle}.sheet-row-actions{position:sticky!important;right:0;z-index:6!important;width:72px;min-width:72px!important;text-align:center;background:var(--surface-soft)!important}.sheet-table td.sheet-row-actions{position:sticky;right:0;z-index:2;background:var(--surface-soft)}.sheet-head-title{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:8px 6px 3px}.sheet-head-title input{min-width:0!important;font-weight:850!important;font-size:13px!important}.column-head-actions{display:flex;gap:1px}.column-head-actions button,.row-action{border:0;background:transparent;color:var(--muted);padding:3px 4px;min-width:24px;min-height:24px;border-radius:6px;cursor:pointer}.column-head-actions button:hover,.row-action:hover{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}.column-head-actions button:disabled{opacity:.28;cursor:default}.danger-plain:hover{background:color-mix(in srgb,#dc2626 10%,var(--surface))!important;color:#dc2626!important}.column-meta{display:grid;gap:4px;padding:0 7px 8px}.column-meta select,.column-meta input{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:7px!important;padding:5px 6px!important;font-size:11px!important}.column-options{font-size:10px!important}.sheet-table td>input,.sheet-table td>select,.sheet-table td>textarea{border:0!important;background:transparent!important;color:var(--ink)!important;width:100%!important;height:100%!important;min-height:38px;padding:8px!important;border-radius:0!important;outline:none!important;resize:none}.sheet-table td>textarea{min-height:60px;resize:vertical}.sheet-table td:focus-within{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 62%,transparent);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.column-resize-handle{position:absolute;top:0;right:-4px;bottom:0;width:8px;cursor:col-resize;z-index:8}.column-resize-handle:hover{background:color-mix(in srgb,var(--primary) 42%,transparent)}.row-resize-handle{position:absolute;left:0;right:0;bottom:-4px;height:8px;cursor:row-resize;z-index:8}.sheet-table td.sheet-row-index{position:relative}.row-resize-handle:hover{background:color-mix(in srgb,var(--primary) 42%,transparent)}.sum-row td{position:sticky;bottom:0;z-index:2;background:var(--surface-muted)!important;font-weight:900;padding:8px}.sum-row td.sheet-row-index{z-index:5}.sheet-row.hidden{display:none}.checklist-box{text-align:center;vertical-align:middle!important}.checklist-box input{width:22px!important;height:22px!important;min-height:0!important;accent-color:var(--primary)}.column-order-list{display:grid;gap:8px}.column-order-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:11px}.column-order-item small{display:block;color:var(--muted);margin-top:2px}

/* Espacios compartidos: no es un botón vacío, es un contexto de trabajo completo. */
.space-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:15px;box-shadow:var(--shadow);display:grid;gap:12px}.space-card-top{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:start}.space-card h3{margin:0;font-size:17px}.space-card p{margin:4px 0 0;color:var(--muted);line-height:1.4}.space-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--space-color) 17%,var(--surface));color:var(--space-color);font-weight:950;font-size:18px}.space-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--primary);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:850}.space-meta{display:flex;gap:7px;flex-wrap:wrap}.space-meta span,.space-detail-meta span{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;padding:5px 9px;font-size:12px;color:var(--muted)}.space-detail-meta{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 14px}.space-overview-card{border:1px solid var(--line);background:color-mix(in srgb,var(--primary) 5%,var(--surface));border-radius:14px;padding:16px}.space-overview-card h3{margin:0 0 7px}.space-overview-card p{margin:0;color:var(--ink);line-height:1.5}.space-overview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.space-member-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 32px;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;padding:8px;margin-bottom:7px}.space-member-row select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px}.wizard-steps{display:flex;gap:8px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.wizard-steps span{white-space:nowrap;border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;padding:6px 10px;color:var(--muted);font-weight:800;font-size:12px}.wizard-steps span.active{background:var(--primary);color:#fff;border-color:var(--primary)}.wizard-panel{min-height:260px}.space-start-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.picker-list{display:grid;gap:7px;max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px}.picker-row{display:flex;gap:9px;align-items:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;padding:10px;cursor:pointer}.picker-row:hover{border-color:var(--primary)}
@media(max-width:980px){.dashboard-lower{grid-template-columns:1fr}.table-meta-grid{grid-template-columns:1fr 1fr}.table-calendar-toggle{grid-column:1/-1}.sheet-wrap{height:56vh;min-height:360px}.space-start-links{grid-template-columns:1fr}.space-member-row{grid-template-columns:1fr 135px 32px}.mini-chart-card{min-height:0}.column-order-item{grid-template-columns:1fr}.table-tools{position:sticky;top:0;z-index:7}.table-tools .btn{flex:0 0 auto}.sheet-tip{line-height:1.35}.sheet-table th{min-height:86px}}
@media(max-width:540px){.table-meta-grid{grid-template-columns:1fr}.table-calendar-toggle{grid-column:auto}.table-tools{overflow:auto;flex-wrap:nowrap}.table-tools input{flex:0 0 190px}.sheet-wrap{height:58vh}.space-card-top{grid-template-columns:42px 1fr}.space-card-top .space-status{grid-column:2;justify-self:start}.space-member-row{grid-template-columns:1fr 1fr 32px}.mini-bar-row{grid-template-columns:85px 1fr 24px}.attention-item{padding:9px}.sheet-row-actions{width:62px;min-width:62px!important}}

/* V275 · detalle enriquecido, correo y ajustes de uso móvil. */
.notify-client-card{display:flex;gap:11px;align-items:flex-start;margin-top:12px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));background:color-mix(in srgb,var(--primary) 5%,var(--surface));border-radius:12px;padding:12px;cursor:pointer}.notify-client-card input{width:20px;height:20px;margin-top:1px;accent-color:var(--primary);flex:0 0 auto}.notify-client-card strong,.notify-client-card small{display:block}.notify-client-card small{margin-top:3px;color:var(--muted);line-height:1.35}.notify-client-card:has(input:disabled){opacity:.65;cursor:not-allowed}
.detail-editor{overflow-wrap:anywhere}.detail-editor p{margin:.45em 0}.detail-image-frame{position:relative;display:block;width:min(420px,100%);max-width:100%;margin:12px 0;border:1px solid transparent;border-radius:10px;line-height:0;background:var(--surface);user-select:none}.detail-image-frame img{display:block;width:100%;height:auto;border-radius:9px;max-width:100%;cursor:pointer}.detail-image-frame.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.detail-image-resize{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;border-radius:5px;background:var(--primary);border:2px solid var(--surface);cursor:nwse-resize;opacity:0}.detail-image-frame.selected .detail-image-resize{opacity:1}.detail-image-resize::after{content:"";position:absolute;inset:4px;border-right:1px solid #fff;border-bottom:1px solid #fff}
.client-mail-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;padding:11px}.client-mail-toggle span{display:grid;gap:3px}.client-mail-toggle small{color:var(--muted)}.client-mail-toggle input{width:20px;height:20px;accent-color:var(--primary)}
.mail-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.mail-folders{height:max-content;display:grid;gap:6px}.mail-folders h2{margin:0 0 4px}.mail-folder{width:100%;border:1px solid transparent;background:transparent;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:10px;padding:9px 10px;text-align:left;font-weight:780}.mail-folder:hover{background:var(--surface-soft);border-color:var(--line)}.mail-folder.active{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 26%,var(--line))}.mail-folder b{min-width:22px;border-radius:999px;background:var(--surface-muted);font-size:11px;text-align:center;padding:2px 6px}.mail-folder-caption{margin:12px 10px 3px;font-size:10px;font-weight:950;letter-spacing:.1em;color:var(--muted)}.mail-folder-empty{padding:4px 10px;margin:0;font-size:12px}.mail-main{min-height:430px}.mail-status-card{display:flex;align-items:center;gap:12px}.mail-status-card h2{margin:0;font-size:17px}.mail-status-card p{margin:4px 0 0}.mail-status-card .btn,.mail-status-card .tag{margin-left:auto;flex:0 0 auto}.mail-status-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--surface-muted);color:var(--muted);font-size:21px;flex:0 0 auto}.mail-status-icon.ready{background:#dcfce7;color:#15803d}.mail-list{margin-top:18px}.integration-status{display:flex;align-items:center;gap:6px;margin:15px 0;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.integration-info{border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);padding:12px;margin-top:10px}.integration-info p{margin:4px 0 0;color:var(--muted)}
.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-open .mobile-nav{display:none!important}
.sheet-head-simple{height:58px;display:flex;align-items:center;position:relative;padding:8px 12px}.sheet-head-simple strong{display:block;font-size:13px;line-height:1.2}.sheet-head-simple small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}.sheet-wrap.is-checklist-sheet{min-height:250px;height:min(48vh,510px)}.sheet-row.is-complete td{background:color-mix(in srgb,#22c55e 8%,var(--surface))!important}.sheet-row.is-complete td:not(.checklist-box){color:color-mix(in srgb,var(--muted) 75%,var(--ink));text-decoration:line-through;text-decoration-thickness:1.5px}.sheet-row.is-complete td input:not([type="checkbox"]),.sheet-row.is-complete td textarea,.sheet-row.is-complete td select{color:color-mix(in srgb,var(--muted) 75%,var(--ink))!important;text-decoration:line-through}.column-config-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.75fr) minmax(220px,1.35fr);gap:8px;align-items:end}.column-config-fields label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.column-config-fields input,.column-config-fields select,.row-height-input input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px}.row-height-input{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--muted)}.row-height-input input{width:82px;padding:6px}.quick-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.quick-row .btn{min-height:34px;padding:6px 9px;font-size:12px}
.checklist-progress{height:7px;background:var(--surface-muted);border-radius:999px;overflow:hidden;margin:2px 0 14px}.checklist-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,var(--primary));transition:width .18s}.checklist-compact-list{display:grid;gap:6px}.checklist-compact-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:8px 8px 8px 12px}.checklist-compact-item label{display:flex;gap:11px;align-items:flex-start;min-width:0;cursor:pointer}.checklist-compact-item input{width:21px;height:21px;accent-color:#15803d;flex:0 0 auto;margin:2px 0 0}.checklist-item-copy{display:grid;min-width:0}.checklist-item-copy strong{font-size:14px;overflow-wrap:anywhere}.checklist-item-copy small{margin-top:3px;color:var(--muted);overflow-wrap:anywhere}.checklist-compact-item.completed{background:color-mix(in srgb,#22c55e 7%,var(--surface));border-color:color-mix(in srgb,#22c55e 25%,var(--line))}.checklist-compact-item.completed .checklist-item-copy strong{text-decoration:line-through;color:var(--muted)}.checklist-add-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.checklist-add-row input{width:100%;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;color:var(--ink);padding:10px 11px}.checklist-field-toggle{display:flex!important;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;padding:10px}.checklist-field-toggle input{width:20px;height:20px;accent-color:#15803d}
@media(max-width:980px){
  .modal{padding:15px 15px calc(98px + env(safe-area-inset-bottom));max-height:100dvh}.modal-host{align-items:start;overflow:auto}.mobile-more-grid{grid-template-columns:1fr 1fr}.mail-layout{grid-template-columns:1fr}.mail-folders{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.mail-folders h2,.mail-folder-caption,.mail-folder-empty,.mail-folders #mailManageClientInboxes{grid-column:1/-1}.mail-main{min-height:330px}.table-tools{position:static}.table-tools .btn{flex:1 1 calc(50% - 8px);min-width:0}.table-tools input{flex:1 1 100%;min-width:0}.sheet-wrap{height:52dvh;min-height:300px}.sheet-wrap.is-checklist-sheet{height:min(45dvh,460px);min-height:250px}.sheet-head-simple{height:54px;padding:7px 9px}.column-config-fields{grid-template-columns:1fr}.column-order-item{gap:10px}.quick-row{justify-content:flex-start}.detail-image-resize{opacity:1;width:20px;height:20px;right:-8px;bottom:-8px}.detail-image-frame{max-width:100%}
}
@media(max-width:540px){
  .page-wrap{padding-left:10px;padding-right:10px}.modal-head h2{font-size:19px}.modal-head p{font-size:12px}.modal-tabs{margin-left:-3px;margin-right:-3px}.modal-tabs button{font-size:12px;padding:6px 9px}.mail-status-card{align-items:flex-start;flex-wrap:wrap}.mail-status-card .btn,.mail-status-card .tag{margin-left:54px}.mail-folders{grid-template-columns:1fr}.mail-folders h2,.mail-folder-caption,.mail-folder-empty,.mail-folders #mailManageClientInboxes{grid-column:auto}.mobile-more-grid{grid-template-columns:1fr}.table-meta-grid{gap:9px}.table-tools{gap:6px;padding:8px}.table-tools .btn{font-size:12px;padding:8px 7px;min-height:38px}.table-tools-separator{display:none}.sheet-tip{font-size:11px;padding:0 1px}.sheet-wrap{height:50dvh;min-height:270px}.sheet-wrap.is-checklist-sheet{height:43dvh;min-height:230px}.sheet-row-index{width:38px;min-width:38px!important}.sheet-head-simple strong{font-size:12px}.sheet-head-simple small{font-size:9px}.sheet-table td>input,.sheet-table td>select,.sheet-table td>textarea{min-height:36px;padding:7px!important;font-size:13px}.checklist-box input{width:20px!important;height:20px!important}.column-order-item{padding:10px}.quick-row .btn{flex:1 1 auto}.checklist-add-row{grid-template-columns:1fr}.checklist-compact-item{padding:8px}.checklist-compact-item .icon-button{width:34px;height:34px}.notify-client-card{padding:10px}.detail-editor{min-height:145px;padding:10px}.editor-toolbar{gap:4px}.editor-toolbar button,.editor-toolbar label{font-size:12px;padding:5px 7px}
}

/* V275.1 · checklist rápido y controles táctiles de planilla. */
.checklist-builder{display:grid;gap:12px}.checklist-draft-list{display:grid;gap:7px}.checklist-draft-row{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;gap:8px;align-items:start;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:8px}.checklist-draft-check{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:7px;color:var(--primary);font-size:17px;font-weight:900}.checklist-draft-row>div{display:grid;gap:6px}.checklist-draft-row input{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 9px}.checklist-draft-task{font-weight:780}.checklist-draft-note{font-size:12px}.column-resize-handle{position:absolute;inset:0 -10px 0 auto;width:20px;cursor:col-resize;touch-action:none;z-index:2}.column-resize-handle::after{content:"";position:absolute;right:9px;top:20%;height:60%;border-right:1px solid transparent}.column-resize-handle:hover::after,.column-resize-handle:active::after{border-color:var(--primary)}.row-resize-handle{display:block;height:13px;cursor:row-resize;touch-action:none;margin-top:5px;position:relative}.row-resize-handle::after{content:"";position:absolute;left:16%;right:16%;bottom:2px;border-bottom:1px solid transparent}.row-resize-handle:hover::after,.row-resize-handle:active::after{border-color:var(--primary)}
@media(max-width:540px){.checklist-draft-row{grid-template-columns:25px minmax(0,1fr) 31px;padding:7px}.checklist-draft-check{width:22px;height:22px;font-size:15px}.checklist-draft-row .icon-button{width:31px;height:31px}.column-resize-handle{width:28px;right:-14px}.row-resize-handle{height:18px;margin-top:3px}}

/* V276 · núcleo operativo y ajustes de detalle. */
.modal.operation-modal{width:min(1120px,calc(100vw - 28px));}.modal.operation-modal.is-fullscreen{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;padding:22px 26px calc(24px + env(safe-area-inset-bottom))!important;}.modal.operation-modal.is-fullscreen .modal-panel{max-width:1500px;margin-inline:auto;}.modal-head-actions{display:flex;align-items:center;gap:8px}.client-context-card{display:grid!important;gap:4px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:12px;padding:10px 12px}.client-context-card strong{font-size:13px}.client-context-card small{color:var(--muted);line-height:1.35}.notify-client-card{display:grid!important;gap:10px}.notify-client-card>label{display:flex;align-items:flex-start;gap:10px}.notify-client-card .field{margin:0}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}.upload-drop{display:grid;gap:7px;border:1.5px dashed color-mix(in srgb,var(--primary) 40%,var(--line));border-radius:14px;background:var(--surface-soft);padding:22px;text-align:center;cursor:pointer}.upload-drop strong{font-size:15px}.upload-drop small{color:var(--muted);line-height:1.4}.import-preview-table{display:grid;gap:6px;margin-top:12px;max-height:310px;overflow:auto}.import-preview-table>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--surface)}.import-preview-table span{font-size:12px;color:var(--muted)}.message-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.message-copy{border:0;background:transparent;color:var(--muted);font-weight:900;line-height:1;cursor:pointer;border-radius:6px;padding:2px 5px}.message-copy:hover{background:var(--surface-muted);color:var(--ink)}.note-editor{min-height:120px}@media(max-width:980px){.modal.operation-modal.is-fullscreen{padding:15px 14px calc(88px + env(safe-area-inset-bottom))!important}.modal.operation-modal.is-fullscreen .modal-tabs{position:sticky;top:0;background:var(--surface);z-index:3;padding-top:4px}.modal.operation-modal{width:100vw;max-width:100vw;min-height:100dvh;border-radius:0;padding:14px 12px calc(90px + env(safe-area-inset-bottom));}.modal.operation-modal .modal-panel{padding-bottom:6px}.client-context-card{font-size:12px}.notify-client-card{padding:11px}.notify-client-card .field label{font-size:12px}}

/* v276 · bandeja Gmail, correo original y operación desde correo */
.mail-card{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px;margin-top:10px}.mail-card-main{min-width:0}.mail-subject{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:850;font-size:15px;padding:0;text-align:left;cursor:pointer}.mail-subject:hover{text-decoration:underline;color:var(--primary)}.mail-card p{margin:5px 0 0;color:var(--muted);font-size:12px}.mail-card .mail-excerpt{line-height:1.45;color:var(--ink);opacity:.82}.mail-card small{display:block;margin-top:7px;color:var(--muted)}.mail-card-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:170px}.mail-open{display:grid;gap:15px}.mail-open-meta{display:grid;gap:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:11px;color:var(--muted);font-size:13px}.mail-open-meta strong{color:var(--ink)}.mail-original-body{border:1px solid var(--line);border-radius:12px;padding:14px;line-height:1.55;max-height:48dvh;overflow:auto;background:var(--surface)}.mail-attachments{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--surface-soft)}.mail-attachments span{color:var(--muted);font-size:13px}.mail-open-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline-field{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:760}.inline-field select{min-height:37px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 9px;color:var(--ink)}.operation-mail-source{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--primary) 27%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:13px;padding:12px;margin-bottom:12px}.operation-mail-source>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.operation-mail-source small{color:var(--muted);font-size:12px}.operation-mail-source p{margin:0;line-height:1.45;max-height:160px;overflow:auto}.modal.mail-modal{width:min(920px,calc(100vw - 28px))}
@media(max-width:680px){.mail-card{display:grid;gap:10px;padding:12px}.mail-card-actions{justify-content:flex-start;min-width:0}.mail-card-actions .btn{flex:1 1 auto}.mail-open-actions{display:grid;grid-template-columns:1fr 1fr}.mail-open-actions .inline-field{grid-column:1/-1}.mail-open-actions .btn{width:100%}.mail-original-body{max-height:42dvh}.operation-mail-source>div{display:grid}.operation-mail-source p{max-height:140px}.modal.mail-modal{width:100vw;min-height:100dvh;border-radius:0;padding:14px 12px calc(88px + env(safe-area-inset-bottom))}}


/* v277 · tablas presentables, plantillas y exportación. */
.table-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-preset-card{display:grid;gap:7px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:16px;color:var(--ink);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.table-preset-card:hover{border-color:color-mix(in srgb,var(--primary) 52%,var(--line));box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 12%,transparent);transform:translateY(-1px)}.table-preset-card strong{font-size:15px}.table-preset-card span{font-size:12px;line-height:1.4;color:var(--muted)}.table-client-context{display:flex!important;flex-direction:column;gap:3px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:12px;padding:10px 12px}.table-client-context small,.table-client-context span{color:var(--muted);font-size:12px;line-height:1.4}.sum-row td{font-size:12px;font-weight:760;white-space:normal}.resource-actions{flex-wrap:wrap}.resource-actions .btn{white-space:nowrap}
@media(max-width:680px){.table-preset-grid{grid-template-columns:1fr}.table-preset-card{padding:13px}.table-meta-grid .table-client-context{grid-column:1/-1}.resource-actions .btn{font-size:12px;padding:7px 9px}}


/* V278 · recuperación de funciones y corrección de uso móvil.
   La planilla conserva alto/ancho/orden y no debe convertirse en una pantalla vacía gigante. */
.danger-outline{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger)!important;background:var(--surface)!important}
.danger-outline:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface))!important}
.danger-text{color:var(--danger)!important;padding:0!important;justify-content:flex-start!important}
.appearance-panel{max-width:920px}.appearance-preview{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:14px;padding:12px;margin:12px 0 16px}.appearance-preview .brand-logo{flex:0 0 auto}.appearance-preview strong,.appearance-preview small{display:block}.appearance-preview small{color:var(--muted);margin-top:3px}.appearance-background{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--surface-soft)}.appearance-background summary{font-weight:850;cursor:pointer}.appearance-background .field{margin-top:10px}
body.has-company-background .main-content{background-image:linear-gradient(color-mix(in srgb,var(--bg) 90%,transparent),color-mix(in srgb,var(--bg) 94%,transparent)),var(--company-bg-image);background-size:cover;background-attachment:fixed;background-position:center}
.table-tools{scrollbar-width:thin}.sheet-wrap{height:auto;min-height:0;max-height:min(57dvh,650px)}.sheet-wrap.is-checklist-sheet{height:auto;min-height:0;max-height:min(48dvh,510px)}
@media(max-width:980px){.sheet-wrap{height:auto;min-height:0;max-height:56dvh}.sheet-wrap.is-checklist-sheet{height:auto;min-height:0;max-height:45dvh}}
@media(max-width:680px){.table-tools{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:8px!important}.table-tools .btn{flex:0 0 auto!important;min-width:max-content!important;white-space:nowrap!important;font-size:12px!important;padding:8px 10px!important}.table-tools input{flex:0 0 min(68vw,260px)!important;min-width:190px!important}.sheet-wrap{height:auto!important;min-height:0!important;max-height:48dvh!important}.sheet-wrap.is-checklist-sheet{height:auto!important;min-height:0!important;max-height:40dvh!important}.sheet-tip{margin:2px 2px 0;line-height:1.38}.modal .table-editor-layout{padding-bottom:8px}.resource-actions .danger-outline{flex:1 0 auto}.appearance-preview{align-items:flex-start}.appearance-preview .brand-logo{width:42px;height:42px}.appearance-panel .settings-two,.appearance-panel .settings-three{grid-template-columns:1fr}.appearance-panel .modal-actions{position:sticky;bottom:0;background:var(--surface);padding-top:10px}}


/* v279 · estabilización de calendario, avisos e invitaciones */
.calendar-weather{display:flex;gap:.55rem;align-items:center;justify-content:center;min-height:2.2rem;margin:0 0 .8rem;padding:.5rem .75rem;border:1px solid rgba(37,99,235,.18);border-radius:12px;background:rgba(255,255,255,.62);font-size:.86rem;color:var(--muted,#5b6472)}
.calendar-weather strong{color:var(--text,#14213d)}
.calendar-op{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;white-space:normal;text-align:left}.calendar-op small{font-size:.65rem;opacity:.75}.calendar-op.calendar-due{border-left:3px solid #f97316}
.overdue-repeat-card{padding:.8rem;border:1px solid rgba(37,99,235,.2);border-radius:14px;background:rgba(37,99,235,.04)}
.inline-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.notification-list{display:grid;gap:.55rem;max-height:65vh;overflow:auto}.notification-row{display:grid;gap:.25rem;width:100%;padding:.85rem;border:1px solid var(--border,#d8dee8);border-radius:12px;background:var(--card,#fff);text-align:left}.notification-row.unread{border-color:var(--primary,#2563eb);box-shadow:0 0 0 2px rgba(37,99,235,.08)}.notification-row span,.notification-row small{color:var(--muted,#687385)}
@media (max-width:700px){.calendar-weather{justify-content:flex-start;align-items:flex-start;flex-direction:column}.calendar-day{min-height:7.2rem}.calendar-op{font-size:.68rem;padding:.3rem}.modal.operation-modal.is-fullscreen{inset:0;width:100%;height:100%;max-height:none;border-radius:0}.table-tools{overflow-x:auto;flex-wrap:nowrap}.table-tools .btn{flex:0 0 auto}.sheet-wrap{max-height:55vh}.overdue-repeat-card .settings-two{grid-template-columns:1fr}.notification-list{max-height:72vh}}

/* v279.1 · Prueba de correo saliente */
.mail-test-row{align-items:center;flex-wrap:wrap}.mail-test-row input{min-width:min(100%,280px);flex:1;padding:10px 12px;border:1px solid var(--line,#d7deea);border-radius:10px;background:var(--surface,#fff);color:inherit}
@media(max-width:640px){.mail-test-row{display:grid;grid-template-columns:1fr}.mail-test-row input,.mail-test-row .btn{width:100%}}


/* V280 · Paleta viva de v266 sobre la estructura organizada v279. */
.calendar-weather{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.calendar-weather > span{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.calendar-weather-action{border:1px solid color-mix(in srgb,var(--primary) 34%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--ink);border-radius:10px;padding:8px 10px;font-weight:800}
.push-status-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}
.push-status-card strong{display:block}
.push-status-card small{display:block;color:var(--muted);margin-top:4px}
.push-status-indicator{display:inline-flex;align-items:center;gap:7px;font-weight:800}
.push-status-indicator::before{content:"";width:9px;height:9px;border-radius:50%;background:#94a3b8}
.push-status-indicator.active::before{background:#16a34a}
.push-status-indicator.pending::before{background:#f59e0b}
.push-status-indicator.blocked::before{background:#dc2626}
.inline-until{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:720px){.inline-until{grid-template-columns:1fr}.push-status-card{align-items:flex-start}.calendar-weather{align-items:flex-start}}

/* v281 · Pulido operativo: controles densos sin mover la estructura principal. */
.current-time{display:block;margin-top:3px;font-variant-numeric:tabular-nums;font-size:1.05rem;color:var(--text,#1f2937)}
.chart-style-select{max-width:92px;padding:6px 24px 6px 8px;font-size:.78rem;border:1px solid var(--border,#dbe4f0);border-radius:8px;background:var(--surface,#fff);color:inherit}
.chart-pie-wrap{display:flex;gap:18px;align-items:center;min-height:190px}.chart-pie{width:156px;height:156px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 32px var(--surface,#fff)}.chart-line-wrap{min-height:190px}.chart-line{width:100%;max-height:190px;color:var(--primary,#2563eb)}.chart-line circle{fill:currentColor}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.chart-legend span{display:flex;gap:6px;align-items:center;font-size:.82rem}.chart-legend em{font-style:normal;background:var(--muted-bg,#f1f5f9);padding:1px 6px;border-radius:999px}
.user-permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{border:1px solid var(--border,#dbe4f0);border-radius:12px;padding:10px;display:grid;gap:7px}.permission-group legend{padding:0 5px;font-weight:700;font-size:.84rem}.permission-group label{font-size:.84rem;display:flex;gap:7px;align-items:center}
.operation-file-draft{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.operation-file-chip{display:inline-flex;align-items:center;gap:5px;background:var(--muted-bg,#f1f5f9);border-radius:999px;padding:4px 8px;font-size:.78rem}.operation-file-chip button{border:0;background:transparent;cursor:pointer;font-size:1rem;line-height:1}.attachment-list{display:grid;gap:8px}.attachment-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--border,#dbe4f0);background:var(--surface,#fff);border-radius:10px;padding:10px;cursor:pointer}.attachment-row span:nth-child(2){display:grid;gap:2px;flex:1}.attachment-row small{color:var(--muted,#64748b)}.attachment-row>b{font-size:.76rem;color:var(--primary,#2563eb)}.mail-import-toggle{width:100%;padding:8px;border:1px dashed var(--border,#dbe4f0);border-radius:8px;font-size:.82rem}
@media(max-width:700px){.user-permission-matrix{grid-template-columns:1fr}.chart-pie-wrap{align-items:flex-start}.chart-pie{width:126px;height:126px}.chart-controls{gap:4px}.chart-style-select{max-width:80px}.current-time{font-size:.95rem}.operation-file-chip{max-width:100%;overflow:hidden}.operation-file-chip small{white-space:nowrap}}

/* V282 · piloto de permisos y transferencia controlada de operaciones. */
.permission-group .field-help{display:block;margin:-1px 0 4px;color:var(--muted,#64748b);line-height:1.35}
.permission-group label{align-items:flex-start;padding:3px 0;line-height:1.28}
.permission-group label input{margin-top:2px}
.owner-only-note{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));font-size:.84rem}
.owner-only-note span{color:var(--muted,#64748b);line-height:1.4}
.operation-handoff-notice{display:grid;gap:5px;margin:0 0 13px;padding:12px 14px;border-left:4px solid var(--primary,#2563eb);border-radius:10px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text,#1e293b)}
.operation-handoff-notice p{margin:0;color:var(--muted,#64748b);line-height:1.42}
.operation-content-block{margin-top:12px;border:1px solid var(--line,#dbe4f0);border-radius:14px;padding:12px;background:var(--surface,#fff)}
.operation-content-block h3{margin:10px 0 7px;font-size:.9rem}.operation-content-block h3:first-child{margin-top:0}
.operation-content-block .content-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.operation-content-block .content-link:last-child{border-bottom:0}
.note-content{margin-top:6px;line-height:1.45;color:var(--text,#1e293b)}
.integration-status{display:grid;gap:5px}.integration-status small{display:block;color:var(--muted,#64748b);line-height:1.4}
@media(max-width:700px){.operation-content-block .content-link{align-items:flex-start;flex-direction:column}.operation-content-block .content-link .btn{width:100%}.operation-handoff-notice{padding:11px}.permission-group{padding:11px}}

/* v283 · selector de bandeja compartida o cuenta personal */
.mail-account-switcher{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mail-account-choice{border:1px solid var(--line,#dbe4f0);background:var(--card,#fff);border-radius:12px;padding:8px 10px;text-align:left;display:grid;gap:2px;cursor:pointer}.mail-account-choice strong{font-size:.82rem}.mail-account-choice span{font-size:.76rem;opacity:.75}.mail-account-choice.active{outline:2px solid var(--primary);border-color:var(--primary)}.mail-status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mail-status-row>div:nth-child(2){flex:1;min-width:180px}.mail-connect-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:640px){.mail-account-choice{flex:1;min-width:130px}.mail-status-row .action-row{width:100%;display:flex;flex-wrap:wrap}.mail-status-row .action-row .btn{flex:1}}

/* V284 · Correo personal visible y separado del email de acceso. */
.mail-link-card{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:14px}.mail-link-card.compact{margin-top:16px}.mail-link-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:var(--surface-muted);color:var(--muted);flex:0 0 auto}.mail-link-icon.ready{background:#dcfce7;color:#15803d}.mail-link-main{display:grid;gap:3px;flex:1;min-width:210px}.mail-link-main>span{font-size:12px;font-weight:800;color:var(--muted)}.mail-link-main>strong{font-size:16px;overflow-wrap:anywhere}.mail-link-main>p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.gmail-link-dialog{display:grid;gap:14px}.mail-linked-current{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.mail-linked-current span{font-size:12px;color:var(--muted);font-weight:800}.mail-linked-current strong{overflow-wrap:anywhere}.modal.gmail-link-modal{width:min(600px,calc(100vw - 28px))}@media(max-width:640px){.mail-link-card{align-items:flex-start}.mail-link-card .action-row{width:100%;display:grid;grid-template-columns:1fr 1fr}.mail-link-card .action-row .btn:last-child{grid-column:1/-1}.modal.gmail-link-modal{width:100vw;min-height:100dvh;border-radius:0;padding:14px 12px calc(88px + env(safe-area-inset-bottom))}}


/* UX V284.1: carga, onboarding y microinteracciones */
.skeleton{display:block;background:linear-gradient(90deg,var(--surface-muted) 25%,color-mix(in srgb,var(--surface-muted) 58%,var(--surface)) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite;border-radius:999px}
.skeleton-list-card{display:grid;gap:10px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(15,23,42,.04)}
.skeleton-card{display:grid;align-content:start;gap:12px}.skeleton-label{width:38%;height:11px}.skeleton-value{width:30%;height:34px;border-radius:10px}.skeleton-text{width:100%;height:12px}.skeleton-text.short{width:38%}.skeleton-text.medium{width:68%}.skeleton-chat{width:min(72%,520px);display:grid;gap:8px;padding:12px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.skeleton-chat.is-own{margin-left:auto}.calendar-weather .ui-icon,.mail-attachments .ui-icon,.mail-card small .ui-icon,.operation-file-chip .ui-icon{margin-right:4px}.calendar-weather strong>.ui-icon{margin-right:3px}.editor-toolbar label{display:inline-flex;align-items:center;gap:5px}.mail-status-icon .ui-icon,.mail-link-icon .ui-icon{display:block;margin:auto}.attach-label{display:grid;place-items:center}.onboarding-modal{width:min(620px,100%)}.onboarding-kicker{margin:0 0 4px!important;color:var(--primary)!important;font-size:11px!important;font-weight:950;letter-spacing:.1em}.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:2px 0 20px}.onboarding-progress span{height:5px;border-radius:999px;background:var(--surface-muted)}.onboarding-progress span.active{background:var(--primary)}.onboarding-copy{font-size:16px;line-height:1.6;color:var(--ink);max-width:54ch}.sheet-row.row-added td{animation:sheet-row-added .58s ease-out}
@keyframes skeleton-shimmer{to{background-position:-200% 0}}
@keyframes modal-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes modal-in{from{opacity:0;transform:scale(.975) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes sheet-row-added{0%{background:color-mix(in srgb,var(--primary) 20%,var(--surface))}100%{background:var(--surface)}}
@media(prefers-reduced-motion:reduce){.skeleton,.modal-host.is-opening,.modal-host.is-opening>.modal,.confirm-overlay>.modal,.sheet-row.row-added td{animation:none!important}}

.skeleton-card::after{display:none}
.confirm-overlay .confirm-modal{border-radius:16px;max-height:min(90vh,480px)}

/* V285: entrada pública y registro, sin cambiar los módulos existentes. */
.public-entry{grid-template-columns:minmax(0,530px) minmax(0,440px);justify-content:center;gap:64px;align-items:center}
.public-intro{color:#fff}.public-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#93c5fd}.public-intro h1{font-size:clamp(32px,4.5vw,56px);line-height:1.08;letter-spacing:-.04em;margin:18px 0}.public-intro p:not(.public-eyebrow){font-size:18px;color:#dbeafe;max-width:470px}.public-intro ul{padding-left:22px;color:#dbeafe;line-height:2}
.login-card input[type="text"]{width:100%;border:1px solid #aebbd0;background:#f8fafc;color:#132033;border-radius:12px;padding:12px 13px}.login-card small{font-weight:400;color:#52647a}.login-card h2{margin:0;font-size:24px}
.setup-steps{display:grid;gap:10px}.setup-step{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px}.company-code{overflow-wrap:anywhere;font-family:ui-monospace,monospace;letter-spacing:.05em}
@media(max-width:760px){.public-entry{grid-template-columns:minmax(0,440px);gap:24px;padding:24px 16px}.public-intro h1{font-size:34px}.public-intro ul{display:none}.public-intro p:not(.public-eyebrow){font-size:15px}.login-card{padding:22px}}
