:root{
  --navy:#083a78;--navy2:#0b4f9f;--teal:#18b7b4;--teal2:#29c4c2;--ink:#10223f;--muted:#6d7b8f;
  --bg:#f5f8fb;--panel:#fff;--line:#e4eaf1;--soft:#eef5fb;--green:#15956b;--red:#c84040;
  --shadow:0 8px 28px rgba(16,42,79,.06)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Tahoma,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;z-index:20}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup img{width:44px;height:44px;object-fit:contain}.brand-lockup strong{display:block;font-size:20px;line-height:1;color:var(--navy);letter-spacing:-.03em}.brand-lockup strong span{color:var(--teal)}.brand-lockup small{display:block;margin-top:5px;font-size:8px;letter-spacing:.12em;color:#8794a5;font-weight:800}.side-nav{margin-top:22px;display:flex;flex-direction:column;gap:4px;min-height:0;flex:1}.side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;color:#314864;font-weight:650;font-size:14px}.side-nav a:hover{background:#f0f6fb;color:var(--navy)}.side-nav a.active{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy2));box-shadow:0 7px 16px rgba(8,58,120,.15)}.side-nav a:first-letter{font-size:17px}.nav-spacer{flex:1}.trial-box{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.trial-box small,.trial-box strong,.trial-box a{display:block}.trial-box small{color:var(--muted);font-size:11px}.trial-box strong{margin-top:4px;font-size:13px}.trial-box a{margin-top:7px;color:var(--navy2);font-size:12px;font-weight:800}.trial-box.trial{background:#fff9e8;border-color:#f3df9f}.trial-box.active{background:#ecfbf6;border-color:#c6f0df}.trial-box.expired{background:#fff0f0;border-color:#f5cccc}
.workspace{min-width:0}.app-topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:15}.global-search{width:min(520px,48vw);height:40px;background:#f5f8fb;border:1px solid #dbe4ed;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#8090a3}.global-search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:10px}.bell{position:relative;font-size:20px}.bell i{position:absolute;width:7px;height:7px;background:#f03e3e;border:2px solid #fff;border-radius:50%;right:-1px;top:0}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}.user-meta{display:flex;flex-direction:column}.user-meta strong{font-size:13px}.user-meta small{color:var(--muted);font-size:11px}.logout{margin-left:8px;font-size:12px;color:var(--muted)}
.app-main{padding:22px;max-width:1800px;margin:0 auto}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-title-row h1{margin:0 0 4px;font-size:28px;letter-spacing:-.035em}.page-title-row p{margin:0;color:var(--muted);font-size:13px}.date-chip{color:#617189;font-size:12px;padding-top:7px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.main-column,.right-column{min-width:0}.right-column{display:flex;flex-direction:column;gap:12px}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;display:flex;align-items:center;gap:11px;min-width:0}.metric-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#e8f4ff;color:#1d7ab8;font-weight:900}.metric-icon.teal{background:#e7fbf9;color:#0ca79f}.metric-icon.blue{background:#e9f2ff;color:#1560ae}.metric-icon.green{background:#e9fbf3;color:#168a61}.metric-card strong{display:block;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.table-panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.panel-head>div:first-child{display:flex;align-items:center;gap:8px}.panel-head h2,.panel-head h3{margin:0}.panel-head h2{font-size:17px}.panel-head h2 small{color:#7e8b9c;font-weight:600}.panel-head.simple{padding:13px 14px}.panel-head.simple h3{font-size:14px}.panel-head.simple a{font-size:11px;color:#087ad5;font-weight:700}.section-icon{width:25px;height:25px;border-radius:7px;background:var(--navy);color:white;display:grid;place-items:center;font-size:13px}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 5px 12px rgba(8,58,120,.13)}.btn.ghost{background:#fff;border:1px solid #d9e1ea;color:#354b63}.btn.compact{padding:8px 11px;font-size:12px}.btn.full{width:100%}.table-toolbar{display:flex;gap:8px;padding:11px 12px;background:#fbfcfe;border-bottom:1px solid var(--line)}.table-toolbar button,.table-search{height:34px;border:1px solid #dde5ed;background:#fff;border-radius:8px;color:#596b80;font-size:11px}.table-toolbar button{padding:0 11px;cursor:pointer}.table-search{width:260px;display:flex;align-items:center;gap:7px;padding:0 10px}.table-search input{border:0;outline:0;width:100%;font-size:11px;background:transparent}.sheet-wrap{overflow:auto}.sheet{width:100%;border-collapse:collapse;min-width:980px}.sheet th,.sheet td{border-bottom:1px solid #edf1f5;padding:9px 10px;text-align:left;white-space:nowrap;font-size:11px}.sheet th{background:#f7f9fb;color:#64758b;font-weight:800}.sheet td{color:#33485f}.sheet tbody tr:hover{background:#f9fcfe}.sheet .money{font-weight:800;color:#122b48}.linkish{color:#0668c7!important;font-weight:800}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.status.active{background:#dff6eb;color:#0f7b55}.status.pending{background:#fff1d5;color:#9a6a00}.dots{font-weight:900;color:#53677c}.empty-row{text-align:center!important;color:var(--muted)!important;padding:28px!important}.table-footer{display:flex;justify-content:space-between;padding:10px 14px;font-size:10px;color:#7c8998}.index-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:7px;font-size:9px;font-weight:900;font-style:normal}.index-badge.ipc,.index-tile.ipc{background:#e1f7ec;color:#117d54}.index-badge.icl,.index-tile.icl{background:#e2f3fc;color:#0e6fa8}.index-badge.ripte,.index-tile.ripte{background:#eee8ff;color:#6f3dc0}.index-badge.cer,.index-tile.cer{background:#fff3dd;color:#895b00}.index-badge.uva,.index-tile.uva{background:#ffe8ed;color:#b32f56}.index-badge.uvi,.index-tile.uvi{background:#efebff;color:#5745aa}.index-badge.fijo,.index-tile.fijo{background:#e6f3ff;color:#145f9d}.index-badge.manual,.index-tile.manual{background:#edf0f3;color:#5e6874}
.automation-card{padding:14px;background:linear-gradient(145deg,#f6fbff,#edfaff);border-color:#d5edf4}.automation-title{display:flex;gap:10px;align-items:flex-start}.automation-title h3{margin:0 0 4px;font-size:15px}.automation-title p{margin:0;color:#53687e;font-size:11px;line-height:1.45}.auto-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e2f1ff;color:#0968c5;font-size:20px}.example-box{border-left:3px solid var(--teal);margin-top:12px;background:#fff;border-radius:8px;padding:10px}.example-box strong,.example-box span{display:block}.example-box strong{font-size:11px}.example-box span{font-size:10px;font-weight:800;margin-top:3px}.example-box p{font-size:10px;color:#5e6f82;line-height:1.45;margin:6px 0 0}.compact-panel{overflow:hidden}.mini-list,.history-list{padding:4px 12px 10px}.mini-list>div{display:grid;grid-template-columns:72px 1fr auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #edf2f5}.mini-list>div:last-child{border-bottom:0}.mini-list span,.history-list span{font-size:9px;color:#607184}.mini-list strong,.history-list strong{font-size:10px}.mini-list b,.history-list b{font-size:10px}.index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px}.index-tile{border-radius:8px;padding:8px;min-height:54px}.index-tile strong{display:block;font-size:10px}.index-tile small{display:block;font-size:8px;margin-top:3px;opacity:.8}.history-list>div{display:grid;grid-template-columns:75px 1fr auto;gap:8px;padding:7px 0;border-bottom:1px solid #edf2f5}.history-list>div:last-child{border-bottom:0}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.detail-metrics>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.detail-metrics small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.detail-metrics strong{font-size:18px}.back{display:inline-block;font-size:11px;color:#1978c7;margin-bottom:5px}.manual-panel{margin-top:14px;padding:16px}.manual-panel form{display:flex;gap:8px}.manual-panel input{max-width:200px}
.flash-stack,.public-flashes{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.flash{padding:10px 12px;border-radius:8px;font-size:12px;font-weight:700}.flash.success{background:#ddf7ea;color:#0b7852}.flash.error{background:#ffe4e4;color:#a52c2c}
.modal{width:min(760px,92vw);border:0;border-radius:14px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(11,31,52,.45);backdrop-filter:blur(2px)}.modal form{padding:18px}.small-modal{width:min(520px,92vw)}.modal-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px}.modal-head h2{margin:0 0 4px}.modal-head p{margin:0;color:var(--muted);font-size:12px}.close{border:0;background:#eef2f5;width:30px;height:30px;border-radius:8px;font-size:21px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:11px;font-weight:800;color:#44566b}input,select,textarea{width:100%;border:1px solid #d7e0e8;border-radius:8px;padding:10px 11px;margin-top:5px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#78aed8;box-shadow:0 0 0 3px #e8f4ff}textarea{min-height:90px;resize:vertical}label small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid .panel{padding:18px}.settings-grid h3{margin-top:0}dl{display:grid;grid-template-columns:100px 1fr;gap:8px;margin:0}dt{color:var(--muted);font-size:12px}dd{margin:0;font-size:12px;font-weight:700}.index-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.index-card{padding:16px}.index-card h3{margin:10px 0 4px}.index-card p,.index-card small{color:var(--muted);font-size:11px}
.public-topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.public-brand img{width:46px;height:46px}.public-topbar nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.public-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;min-height:620px;padding:70px 7vw;background:radial-gradient(circle at 85% 20%,#e6fbfb 0,transparent 32%),linear-gradient(#fff,#f8fbfd)}.public-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 18px;color:#0b2f62}.public-hero p{font-size:18px;line-height:1.6;color:#65758a;max-width:650px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:var(--teal)}.hero-actions{display:flex;gap:10px;margin-top:24px}.hero-preview{height:390px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 60px rgba(17,59,94,.12);display:grid;grid-template-columns:90px 1fr;overflow:hidden;transform:perspective(1000px) rotateY(-4deg)}.mini-sidebar{background:linear-gradient(180deg,#0b467f,#07346c)}.mini-content{padding:18px}.mini-header{height:34px;background:#f1f5f8;border-radius:8px}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.mini-cards span{height:60px;background:#f8fbfc;border:1px solid var(--line);border-radius:9px}.mini-table{border:1px solid var(--line);border-radius:10px;padding:8px}.mini-table i{display:block;height:28px;border-bottom:1px solid #edf1f4}.public-section{padding:80px 7vw}.public-section.alt{background:#f4f8fb}.section-copy{max-width:700px}.section-copy h2{font-size:38px;letter-spacing:-.04em;margin:10px 0 28px}.feature-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article,.pricing-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.feature-grid h3{margin:0 0 8px}.feature-grid p,.pricing-card p{color:var(--muted);font-size:13px;line-height:1.55}.pricing-card>strong{display:block;font-size:28px;margin:9px 0}.pricing-card strong span{font-size:12px;color:var(--muted);font-weight:600}.pricing-card small{color:var(--teal);font-weight:800}.pricing-grid.in-app{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-card.selected{outline:2px solid var(--teal)}.auth-page{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:40px;background:linear-gradient(135deg,#f8fbfd,#eef9f9)}.auth-card{width:min(430px,94vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 20px 50px rgba(14,59,95,.09)}.auth-card>img{width:58px;height:58px;object-fit:contain;display:block;margin:0 auto 10px}.auth-card h1{font-size:30px;text-align:center;margin:8px 0 22px}.auth-card .eyebrow{display:block;text-align:center}.auth-card label{margin:12px 0}.auth-card p{text-align:center;color:var(--muted);font-size:12px}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr}.automation-card{grid-column:1/-1}.metric-row{grid-template-columns:repeat(2,1fr)}.index-catalog{grid-template-columns:repeat(2,1fr)}.dashboard-workspace{grid-template-columns:1fr}.dashboard-side-stack{display:grid;grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:14px 8px}.brand-lockup div,.side-nav span,.trial-box{display:none}.brand-lockup{justify-content:center}.side-nav a{justify-content:center;font-size:18px;padding:11px}.global-search{display:none}.user-meta{display:none}.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr 1fr}.public-hero{grid-template-columns:1fr}.hero-preview{display:none}.feature-grid,.pricing-grid,.pricing-grid.in-app{grid-template-columns:1fr}.public-topbar nav a:not(.btn){display:none}.detail-metrics{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:600px){.app-main{padding:14px}.metric-row,.detail-metrics{grid-template-columns:1fr}.right-column{display:flex}.page-title-row{flex-direction:column}.public-hero{padding:50px 6vw}.public-hero h1{font-size:42px}.hero-actions{flex-direction:column}.btn{width:100%}}

/* V0.3 — dashboard más compacto, tipografía renovada y foco en la planilla */
body{font-feature-settings:"kern" 1,"liga" 1;letter-spacing:-.005em}
.side-nav a,.btn,.sheet th,.metric-card small,.panel-head h2,.panel-head h3{letter-spacing:-.01em}
.page-title-row h1{font-weight:760}
.dashboard-title{margin-bottom:14px}
.dashboard-metrics{margin-bottom:12px}
.metric-link{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.metric-link:hover{transform:translateY(-1px);border-color:#cfdbe7;box-shadow:0 8px 22px rgba(16,42,79,.07)}
.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}
.dashboard-contracts{min-width:0}
.dashboard-side-stack{display:flex;flex-direction:column;gap:12px;min-width:0}
.dashboard-toolbar{justify-content:space-between}
.dashboard-toolbar .table-search{width:min(440px,65%)}
.toolbar-link{display:inline-flex;align-items:center;padding:0 11px;height:34px;border-radius:8px;background:#edf6ff;color:var(--navy2);font-size:11px;font-weight:800}
.toolbar-link:hover{background:#e1f0ff}
.dashboard-contracts .sheet{min-width:900px}
.dashboard-contracts .sheet th,.dashboard-contracts .sheet td{padding:9px 9px}
.table-footer a{color:var(--navy2);font-weight:700}
.clean-mini-list>div{grid-template-columns:74px 1fr auto auto}
.empty-mini{font-size:10px;padding:8px 0;margin:0}
.index-strip{display:flex;flex-wrap:wrap;gap:7px;padding:11px 12px 13px}
.index-summary-panel .index-badge{font-size:9px;padding:5px 8px}
@media(max-width:1250px){.dashboard-side-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-workspace{grid-template-columns:1fr}}
@media(max-width:900px){.dashboard-side-stack{grid-template-columns:1fr 1fr}.dashboard-toolbar .table-search{width:100%}}
@media(max-width:650px){.dashboard-side-stack{display:flex}.dashboard-toolbar{flex-direction:column}.dashboard-toolbar .table-search{width:100%}.toolbar-link{justify-content:center}}
.toolbar-hint{font-size:12px;color:var(--muted);margin-left:auto}.compact-metrics{grid-template-columns:repeat(2,minmax(220px,320px));margin-bottom:14px}.inline-form{display:flex;align-items:center;gap:6px}.small-amount{width:110px;padding:7px 9px;border:1px solid var(--line);border-radius:7px}.table-action{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.primary-action{background:var(--navy);border-color:var(--navy);color:#fff}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid .panel{min-width:0}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}.compact-metrics{grid-template-columns:1fr 1fr}}
.status.partial{background:#fff4d6;color:#8a5a00;border-color:#f2d48a}

/* LLAVENA V0.5 — flujo público, registro, login y recuperación */
.brand-lockup strong{letter-spacing:.04em;font-weight:850}.brand-lockup strong span{color:inherit}.brand-lockup small{letter-spacing:.1em}.logout-form{margin:0}.logout-button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;padding:7px}.logout-button:hover{color:var(--navy)}
.public-flashes{position:fixed;top:86px;left:50%;transform:translateX(-50%);z-index:50;width:min(620px,90vw)}
.public-footer{background:#071e3c;color:#c9d6e7;padding:28px 7vw;display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center}.public-footer strong{display:block;color:#fff;font-size:20px;letter-spacing:.08em}.public-footer span,.public-footer small{font-size:11px;color:#8fa5bf}.public-footer>div:nth-child(2){display:flex;gap:18px;font-size:12px}.public-footer a:hover{color:#fff}
.casora-hero{min-height:650px}.hero-trust{display:flex;flex-wrap:wrap;gap:14px;margin-top:19px;color:#52677d;font-size:11px;font-weight:700}.hero-trust span{display:flex;align-items:center;gap:4px}.section-copy>p{color:var(--muted);line-height:1.65;max-width:680px}.feature-grid-four{grid-template-columns:repeat(4,1fr)}.feature-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#eaf5ff;color:var(--navy);font-weight:900;margin-bottom:14px}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.steps-grid b{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}.steps-grid h3{margin:18px 0 7px}.steps-grid p{font-size:12px;color:var(--muted);line-height:1.55}.pricing-card{position:relative}.pricing-card.recommended{border-color:#7ad7d3;box-shadow:0 16px 35px rgba(25,183,180,.10)}.plan-badge{position:absolute;top:15px;right:15px;background:#e5faf8;color:#087f79;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:900}.pricing-card ul{padding-left:18px;color:#53667b;font-size:12px;line-height:1.9;margin:18px 0}.faq-grid{max-width:900px;display:grid;gap:10px}.faq-grid details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}.faq-grid summary{cursor:pointer;font-weight:800;font-size:14px}.faq-grid p{color:var(--muted);font-size:12px;line-height:1.6;margin:10px 0 0}.final-cta{margin:0 7vw 70px;border-radius:20px;background:linear-gradient(135deg,#082f63,#0b579f);color:#fff;padding:34px 38px;display:flex;justify-content:space-between;align-items:center;gap:28px}.final-cta h2{font-size:32px;margin:8px 0}.final-cta p{color:#c7d9ec;margin:0}.final-cta .eyebrow{color:#4bd5cf}.final-cta .btn{background:#fff;color:#083a78;box-shadow:none}
.auth-layout{min-height:calc(100vh - 74px);display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.18fr);background:#f5f9fc}.auth-side{background:linear-gradient(145deg,#082f63,#0c559b);color:#fff;padding:9vh 6vw;display:flex;flex-direction:column;justify-content:center}.auth-side .eyebrow{color:#51d8d1}.auth-side h1{font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.05em;margin:12px 0 18px;max-width:620px}.auth-side p{color:#c7d7e8;max-width:520px;line-height:1.7}.auth-side ul{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:12px}.auth-side li:before{content:'✓';color:#4bd5cf;font-weight:900;margin-right:9px}.auth-form-wrap{display:grid;place-items:center;padding:42px}.auth-card{width:min(470px,94vw)}.auth-card-wide{width:min(680px,96vw)}.auth-logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:18px}.auth-logo img{width:46px;height:46px;object-fit:contain}.auth-logo span{display:flex;flex-direction:column}.auth-logo strong{font-size:19px;letter-spacing:.08em;color:var(--navy)}.auth-logo small{font-size:10px;color:var(--muted);margin-top:2px}.auth-heading{text-align:center;margin-bottom:18px}.auth-heading h2{font-size:29px;letter-spacing:-.035em;margin:7px 0}.auth-heading p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-grid .full{grid-column:1/-1}.auth-card label{margin:0}.auth-card label>small{display:inline;margin-left:4px}.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{position:absolute;right:8px;top:50%;transform:translateY(-42%);border:0;background:transparent;color:var(--navy2);font-size:10px;font-weight:800;cursor:pointer}.password-rules{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.password-rules span{font-size:9px;padding:5px 7px;border-radius:99px;background:#f0f3f6;color:#78889a}.password-rules span.ok{background:#e6f8ef;color:#167755}.check-row{display:flex!important;align-items:flex-start;gap:8px;font-weight:500!important;color:#627286!important;font-size:10px!important;margin:10px 0!important}.check-row input{width:15px;height:15px;margin:1px 0 0;flex:0 0 auto}.check-row a{color:var(--navy2);font-weight:800}.compact-check{margin:0!important}.auth-submit{margin-top:12px;height:42px}.auth-switch{text-align:center!important;margin:16px 0 0!important}.auth-switch a,.auth-options>a{color:var(--navy2);font-weight:800}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:11px 0 2px;font-size:10px}.demo-mail{margin-top:16px;border:1px solid #c9e7e4;background:#f1fbfa;border-radius:10px;padding:13px}.demo-mail strong{font-size:11px;color:#087f79}.demo-mail p,.demo-mail small{display:block;text-align:left!important;font-size:10px!important;line-height:1.5}.demo-mail small{margin-top:8px;color:var(--muted)}.legal-page{max-width:900px;margin:0 auto;padding:70px 24px 100px}.legal-page h1{font-size:42px;letter-spacing:-.04em;margin:8px 0 12px}.legal-page h2{font-size:18px;margin:28px 0 7px}.legal-page p{color:#5f7085;line-height:1.7}.legal-note{background:#fff7df;border:1px solid #f0d893;padding:12px;border-radius:9px}.legal-page .btn{margin-top:20px}
@media(max-width:1100px){.feature-grid-four,.steps-grid{grid-template-columns:1fr 1fr}.auth-layout{grid-template-columns:1fr}.auth-side{padding:50px 8vw}.auth-side h1{font-size:44px}.auth-form-wrap{padding:35px 20px}.public-footer{grid-template-columns:1fr auto}.public-footer small{grid-column:1/-1}}
@media(max-width:700px){.feature-grid-four,.steps-grid{grid-template-columns:1fr}.auth-side{display:none}.auth-grid{grid-template-columns:1fr}.auth-grid .full{grid-column:auto}.public-footer{grid-template-columns:1fr}.public-footer>div:nth-child(2){flex-wrap:wrap}.final-cta{margin:0 4vw 40px;padding:26px;flex-direction:column;align-items:flex-start}.final-cta h2{font-size:27px}.auth-options{align-items:flex-start;flex-direction:column}.hero-trust{flex-direction:column}}

/* LLAVENA V0.6 — acceso, Inicio, gestión unificada y perfil editable */
.eye-toggle{width:34px!important;height:30px;display:grid;place-items:center;padding:0!important;border-radius:7px!important;color:#31506f!important;font-size:15px!important}.eye-toggle .eye-open{display:none}.eye-toggle.showing .eye-open{display:inline}.eye-toggle.showing .eye-closed{display:none}.password-field input{padding-right:48px}
.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;margin:0 0 12px}.summary-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:11px;transition:.15s ease}.summary-card:hover{transform:translateY(-1px);border-color:#cbd9e6;box-shadow:0 7px 18px rgba(17,48,82,.06)}.summary-icon{width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:#eaf5ff;color:#07559e;display:grid;place-items:center;font-weight:900}.summary-icon.teal{background:#e7f9f7;color:#008e87}.summary-icon.blue{background:#edf1ff;color:#465fd4}.summary-icon.amber{background:#fff5df;color:#a56a00}.summary-icon.green{background:#e8f8ef;color:#118253}.summary-icon.violet{background:#f2edff;color:#7350bf}.summary-card div{min-width:0;display:flex;flex-direction:column}.summary-card small{font-size:9px;color:var(--muted);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-card strong{font-size:22px;line-height:1.15;color:var(--navy);margin:2px 0}.summary-card strong.summary-money{font-size:16px}.summary-card em{font-style:normal;font-size:8px;color:#8795a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.home-panel{min-height:220px}.home-list{padding:0 12px 10px}.home-list>a,.home-list>div{display:grid;grid-template-columns:80px minmax(110px,1.4fr) minmax(100px,1fr) auto auto;gap:8px;align-items:center;padding:10px 2px;border-bottom:1px solid #edf1f4;font-size:10px}.home-list>a:hover{background:#f9fbfd}.home-list span{color:var(--muted)}.home-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-list small{color:#728297;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-list b{text-align:right}.recent-units-panel .sheet{min-width:820px}
.units-toolbar{display:flex;gap:8px}.units-toolbar .table-search{flex:1}.units-toolbar select{min-width:150px}.cell-sub{display:block;color:var(--muted);font-size:9px;margin-top:2px}.table-link{color:var(--navy2);font-size:10px;font-weight:800}.modal-wide{width:min(760px,94vw)}.form-section-title{font-size:11px;font-weight:850;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;margin:15px 0 8px}.unit-contract-toggle{background:#f6fafc;border:1px solid var(--line);border-radius:9px;padding:11px!important;margin:16px 0 0!important}.contract-inline-fields{padding-top:2px}.hidden{display:none!important}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.9fr);gap:12px;align-items:start}.settings-form{padding:16px}.settings-form>.panel-head{margin:-4px 0 14px}.settings-form>label{display:block;margin:10px 0}.settings-actions{display:flex;justify-content:flex-end;margin-top:16px}.settings-hint{font-size:10px;color:var(--muted);margin:8px 0}.subscription-settings{grid-column:2;padding:16px}.subscription-settings>strong{display:block;font-size:17px;color:var(--navy);margin-bottom:5px}.subscription-settings>p{font-size:11px;color:var(--muted)}
@media(max-width:1400px){.summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.home-grid,.settings-layout{grid-template-columns:1fr}.subscription-settings{grid-column:auto}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.summary-grid{grid-template-columns:1fr}.home-list>a,.home-list>div{grid-template-columns:72px 1fr auto}.home-list small,.home-list em{display:none}.units-toolbar{flex-direction:column}.units-toolbar select{width:100%}}


/* LLAVENA V0.7 — filtros compactos, planillas y datos oficiales */
.global-search{margin:0}.global-search span{font-size:15px}
.compact-toolbar{align-items:center;flex-wrap:wrap}
.compact-toolbar .table-search{min-width:280px;flex:1}
.filter-chip{height:34px;display:flex;align-items:center;gap:7px;border:1px solid #dbe4ed;background:#fff;border-radius:8px;padding:0 8px}
.filter-chip>span{font-size:9px;font-weight:800;color:#8090a3;text-transform:uppercase;letter-spacing:.04em}
.filter-chip select{height:28px;min-width:86px;border:0;background:transparent;outline:0;color:#304761;font-size:11px;font-weight:700;padding:0 20px 0 0}
.clear-filters{height:34px;border:0;background:transparent;color:#55708d;font-size:10px;font-weight:800;cursor:pointer;padding:0 8px}
.clear-filters:hover{color:var(--navy)}
.row-menu-cell{width:48px;overflow:visible!important}.row-menu{position:relative}.row-menu summary{list-style:none;cursor:pointer;font-weight:900;color:#65788f;padding:4px 8px}.row-menu summary::-webkit-details-marker{display:none}.row-menu>div{position:absolute;right:0;top:28px;z-index:30;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px rgba(20,43,71,.15);padding:5px}.row-menu a{display:block;padding:8px 9px;border-radius:6px;font-size:10px;font-weight:750;color:#314b67;white-space:nowrap}.row-menu a:hover{background:#f1f6fa;color:var(--navy)}
.row-actions{display:flex;gap:10px;align-items:center}.muted-link{color:#71849a!important}.search-wide{width:100%}
.edit-unit-panel{max-width:980px}.info-inline{margin:16px 0;background:#f5f8fb;border:1px solid var(--line);border-radius:8px;padding:12px;color:#637589;font-size:11px}
.movement-type{display:inline-flex;padding:4px 7px;border-radius:99px;font-size:9px;font-weight:850}.movement-type.pago{background:#e9f7f1;color:#14835f}.movement-type.aumento{background:#ebf2ff;color:#315db0}.percent-up{color:#14835f;font-weight:850}.group-divider td{background:#eef4f9!important;color:#31506d!important;font-size:10px!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.04em;padding:7px 12px!important;border-top:1px solid #dae5ef!important;border-bottom:1px solid #dae5ef!important}
.live-index-note{background:#edf8fb;border:1px solid #cfe8ef;color:#3d6170;border-radius:10px;padding:11px 14px;font-size:10px;line-height:1.55;margin-bottom:12px}
.index-live-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin-bottom:12px}.live-index-card{padding:14px;min-height:150px}.live-index-head{display:flex;align-items:center;justify-content:space-between}.live-index-card>strong{display:block;margin:14px 0 4px;font-size:24px;color:var(--navy);letter-spacing:-.03em}.live-index-card>small{display:block;color:#6d7e91;font-size:9px}.live-index-card>p{margin:12px 0 3px;font-size:10px;color:#405972}.live-index-card>em{font-style:normal;color:#8a98a8;font-size:8px}.sync-dot{width:9px;height:9px;border-radius:50%;background:#c6d0da}.sync-dot.ok{background:#20a676;box-shadow:0 0 0 3px #e6f7f1}.sync-dot.error{background:#d65e5e;box-shadow:0 0 0 3px #fdeeee}.sync-error{margin-top:8px;color:#b54c4c;font-size:8px;line-height:1.35}.index-help{padding:16px}.index-help h3{margin:0 0 6px;font-size:14px}.index-help p{margin:0;color:#62758a;font-size:10px;line-height:1.6}
@media(max-width:1300px){.index-live-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.index-live-grid{grid-template-columns:repeat(2,1fr)}.compact-toolbar .table-search{min-width:100%}}@media(max-width:560px){.index-live-grid{grid-template-columns:1fr}.filter-chip{width:100%}.filter-chip select{flex:1}}

/* LLAVENA V0.8 — marca, acciones seguras, pagos e índices explicables */
.public-login-btn{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff!important;padding:9px 15px;border-radius:8px;box-shadow:0 5px 12px rgba(8,58,120,.14)}
.table-view-link{display:inline-flex;padding:5px 10px;border:1px solid #d9e3ed;border-radius:7px;color:#075fae;font-weight:800;background:#fff}
.action-dots{border:0;background:transparent;cursor:pointer;font-weight:900;color:#52687d;font-size:14px;padding:5px 8px}
.action-modal{padding:0}.action-list{display:flex;flex-direction:column;padding:8px}.action-item{appearance:none;border:0;background:#fff;text-align:left;padding:11px 12px;border-radius:8px;color:#284057;font-weight:750;cursor:pointer;font:inherit}.action-item:hover{background:#f4f8fc}.danger-text{color:#b42318}.btn.danger{background:#b42318;color:#fff}.danger-modal{max-width:520px}.warning-box{background:#fff6e8;border:1px solid #f1d09b;color:#72501a;border-radius:9px;padding:11px 12px;font-size:12px;line-height:1.5;margin-bottom:14px}
.payment-summary{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f5f8fb;border-radius:9px;margin-bottom:14px}.payment-summary span{font-size:12px;color:var(--muted)}.payment-summary strong{font-size:19px;color:#163453}.safe-action-note{font-size:11px;color:#61748a;background:#f7fafc;border:1px solid #e5ebf1;border-radius:8px;padding:9px 10px;margin-top:10px;line-height:1.45}.detail-list{border:1px solid #e4eaf0;border-radius:9px;overflow:hidden;margin-bottom:12px}.detail-list>div{display:flex;justify-content:space-between;gap:15px;padding:9px 11px;border-bottom:1px solid #edf1f5;font-size:12px}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted)}.confirm-danger{margin-top:12px}.payment-modal textarea{min-height:70px}
.index-explainer{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;padding:18px;margin-bottom:12px}.index-explainer h3{margin:3px 0 6px;font-size:18px}.index-explainer p{margin:0;color:#53677c;line-height:1.55;font-size:12px}.formula-box{background:#f6f9fc;border:1px solid #e2e9f0;border-radius:10px;padding:13px 14px;display:flex;flex-direction:column;justify-content:center}.formula-box span,.raw-index-value span,.index-percent-block small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#738399;font-weight:800}.formula-box strong{font-size:16px;margin:5px 0;color:#123454}.formula-box small{font-size:10px;color:#738399}.index-percent-block{margin:12px 0 8px}.index-percent-block strong{display:block!important;font-size:25px!important;color:#143d66}.raw-index-value{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 9px;background:#f8fafc;border-radius:8px;margin-bottom:7px}.raw-index-value b{font-size:12px;color:#52667b}
@media(max-width:900px){.index-explainer{grid-template-columns:1fr}}

/* LLAVENA V0.9 */
.public-topbar nav a:not(.public-login-btn){position:relative;padding-bottom:8px}
.public-topbar nav a:not(.public-login-btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;border-radius:99px;background:#1166d8;transition:right .22s ease}
.public-topbar nav a.section-active::after,.public-topbar nav a:not(.public-login-btn):hover::after{right:0}
.public-login-btn{background:#0b5fca!important;color:#fff!important;border-color:#0b5fca!important;padding:9px 17px!important;border-radius:9px!important}
.text-link{background:none;border:0;color:#0963ce;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.legal-cloud{width:min(720px,92vw);max-height:78vh}.legal-scroll{max-height:55vh;overflow:auto;padding:2px 6px 10px}.legal-scroll h3{margin:18px 0 6px}.legal-scroll p{line-height:1.65;color:#52606d}
.modal-list{line-height:2;color:#334155;margin:4px 0 10px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.permission-grid label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dce4ec;border-radius:10px;background:#f8fafc}
.admin-grid{display:grid;grid-template-columns:1fr;gap:18px}
.pricing-card p{color:#64748b;font-size:.9rem;line-height:1.45}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.public-topbar nav a[data-section]{display:none}}

/* LLAVENA V0.10 — soporte, registro guiado y administración separada */
.field-error{display:block;color:#c93535;font-size:12px;font-weight:700;margin-top:6px}.auth-grid label:has(.field-error) input,.auth-grid label:has(.field-error) select{border-color:#d94a4a;box-shadow:0 0 0 3px rgba(217,74,74,.08)}
.auth-grid select{width:100%;min-height:44px;border:1px solid var(--border,#dfe5eb);border-radius:10px;padding:0 12px;background:#fff;color:inherit}.city-fallback{display:none;margin-top:8px}
.admin-top-title{display:flex;flex-direction:column;gap:2px}.admin-top-title small{color:#788494}.admin-sidebar .brand-lockup small{letter-spacing:.12em}.admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:16px}.admin-plan-stats{padding:8px 18px 18px}.admin-plan-stats>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f4}.admin-plan-stats>div:last-child{border-bottom:0}
.support-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;min-height:620px}.ticket-list{padding:0;overflow:hidden}.ticket-list-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e8edf1}.ticket-list-head span{font-size:12px;background:#eef3f7;border-radius:999px;padding:4px 8px}.ticket-row{display:flex;gap:10px;padding:13px 14px;border-bottom:1px solid #edf1f4;text-decoration:none;color:inherit;background:#fff}.ticket-row:hover,.ticket-row.active{background:#f4f8fb}.ticket-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f1f8;color:#1f5f89;font-size:12px;font-weight:800;flex:0 0 auto}.ticket-copy{min-width:0;flex:1}.ticket-copy>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-copy time{font-size:10px;color:#8a94a1}.ticket-copy p{font-size:12px;color:#66717f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0}.ticket-copy small{font-size:10px;color:#8893a0}.ticket-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;background:#eaf3ff;color:#245f96}.ticket-status.cerrado{background:#eef0f2;color:#67717b}.ticket-status.esperando-usuario{background:#fff5dc;color:#8a650e}.chat-panel{padding:0;display:flex;flex-direction:column;overflow:hidden}.chat-head{min-height:62px;padding:10px 16px;border-bottom:1px solid #e7ecef;display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-head>div:first-child{display:flex;flex-direction:column;gap:3px}.chat-head small{color:#7a8592}.chat-actions{display:flex;align-items:center;gap:8px}.chat-messages{flex:1;min-height:460px;max-height:62vh;overflow-y:auto;padding:22px;background:linear-gradient(#f7fafb,#f1f5f7);display:flex;flex-direction:column;gap:10px}.chat-bubble{align-self:flex-start;max-width:72%;background:#fff;border:1px solid #e4e9ed;border-radius:12px 12px 12px 3px;padding:9px 11px;box-shadow:0 2px 7px rgba(18,46,64,.04)}.chat-bubble.mine{align-self:flex-end;background:#dff3ed;border-color:#d0e9e1;border-radius:12px 12px 3px 12px}.chat-bubble.staff{background:#eef6ff;border-color:#dcebf9}.chat-bubble p{margin:3px 0 5px;white-space:pre-wrap;line-height:1.45}.chat-bubble small,.chat-bubble time{font-size:10px;color:#7f8a96}.chat-composer{display:flex;gap:10px;padding:12px;border-top:1px solid #e7ecef;background:#fff}.chat-composer textarea{flex:1;resize:none;border:1px solid #dce3e8;border-radius:12px;padding:10px 12px;font:inherit}.support-empty{margin:auto;text-align:center;max-width:320px;color:#78838f}.support-empty-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#eef5fa;font-size:24px;color:#276c98}.support-empty h2{color:#253342;margin:0 0 6px}.support-empty-mini{padding:28px 16px;text-align:center;color:#7d8792}.closed-ticket-note{padding:18px;text-align:center;background:#f5f6f7;color:#6d7781;border-top:1px solid #e7ecef}
@media(max-width:1100px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.support-shell{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:760px){.support-shell{grid-template-columns:1fr}.ticket-list{max-height:320px}.chat-messages{min-height:360px}.admin-metrics{grid-template-columns:1fr}}
/* V0.11 */
.notification-menu{position:relative}.notification-menu>summary{list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-bell{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#fff;cursor:pointer;font-size:17px}.notification-bell span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d83d45;color:#fff;font:700 10px/18px system-ui;text-align:center}.notification-dropdown{position:absolute;right:0;top:46px;width:360px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(18,42,70,.18);z-index:500;padding:8px}.notification-drop-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.notification-drop-head a{font-size:12px;color:var(--navy2)}.notification-item{width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.notification-item:hover,.notification-item.unread{background:#f0f7ff}.notification-item b{font-size:12px;color:var(--ink)}.notification-item small{font-size:11px;color:var(--muted);font-weight:400}.notification-empty{padding:18px;text-align:center;color:var(--muted);font-size:12px}.notification-page-list{padding:8px}.notification-page-list form{margin:0}.notification-page-item{width:100%;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px;text-align:left;cursor:pointer}.notification-page-item.unread{background:#f5faff}.notification-page-item p{margin:3px 0;color:var(--muted)}.notification-page-item small{color:#8b97a6}.notif-kind{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#1768a6;font-weight:800}.notif-kind.warning{background:#fff3d8;color:#9a6800}.notif-kind.success{background:#e6f6ef;color:#16734f}.notif-kind.support{background:#eef1ff;color:#5861ba}.settings-tabs{display:flex;gap:6px;margin:0 0 14px;border-bottom:1px solid var(--line)}.settings-tabs a{padding:10px 16px;color:var(--muted);font-weight:700;border-bottom:2px solid transparent}.settings-tabs a.active{color:var(--navy);border-color:var(--teal)}.settings-single{max-width:940px}.settings-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px}.unit-popover{display:none;position:fixed;width:210px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(18,42,70,.18);z-index:1000;padding:6px}.unit-popover.open{display:block}.unit-popover a,.unit-popover button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;border-radius:7px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink)}.unit-popover a:hover,.unit-popover button:hover{background:#f3f7fb}.unit-popover .danger-text{color:#bd3939}.index-badge.cac{background:#e9f0ff;color:#3559a8}.index-badge.is{background:#eef7e8;color:#4d7e2f}.index-badge.ipim{background:#fff2e6;color:#a4611d}@media(max-width:820px){.settings-security-grid{grid-template-columns:1fr}.notification-dropdown{width:min(340px,calc(100vw - 24px));right:-70px}}
/* LLAVENA V0.12 */
.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.empty-contract-box{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px dashed #c8d6e5;background:#f8fbff;border-radius:10px;margin-top:14px}.empty-contract-box p{margin:4px 0 0;color:var(--muted);font-size:12px}.restore-note{padding:13px 16px;background:#fff7df;border-bottom:1px solid #f0dfaa;color:#705918;font-size:12px}.contract-documents-panel{margin-bottom:14px}.document-body{padding:14px}.document-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px;background:#f8fafc;border:1px dashed #d7e0e9;border-radius:10px}.document-upload input[type=file]{max-width:360px}.document-upload small{color:var(--muted)}.document-list{margin-top:10px}.document-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 4px;border-bottom:1px solid var(--line)}.document-row strong,.document-row small{display:block}.document-row small{color:var(--muted);font-size:10px;margin-top:2px}.report-export-actions{display:flex;gap:8px}.report-filter-bar{display:flex;align-items:end;gap:8px;padding:12px;margin-bottom:12px;flex-wrap:wrap}.report-filter-bar .filter-chip{min-width:150px}.date-filter{font-size:10px;color:var(--muted);font-weight:700;display:flex;flex-direction:column;gap:4px}.date-filter input{height:34px;border:1px solid #dce4ec;border-radius:8px;padding:0 8px;color:var(--ink)}.report-metrics{margin-bottom:12px}.report-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:12px;margin-bottom:12px}.expense-panel{min-width:0}.expense-form{padding:14px}.expense-form>label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;margin-bottom:12px}.expense-form select,.expense-form input,.expense-form textarea{border:1px solid #dce4ec;border-radius:8px;padding:9px;background:#fff}.report-expenses{margin-top:12px}.negative{color:#b83b3b!important}.link-danger{border:0;background:transparent;color:#bd3939;font-weight:700;cursor:pointer;padding:4px}.btn.danger{background:#c53b43;color:#fff}.unit-popover{max-height:260px;overflow:auto}
@media(max-width:1100px){.report-grid{grid-template-columns:1fr}.report-filter-bar{align-items:stretch}.report-export-actions{width:100%;justify-content:flex-end}}
.index-source-link{display:inline-block;margin-top:7px;color:#087ad5;font-size:10px;font-weight:800}
/* LLAVENA V0.13 — documentos, exportaciones y Pagos/Gastos */
.page-section-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.page-section-actions .compact-metrics{margin-bottom:14px}.finance-tabs{margin-bottom:16px}.report-export-actions{display:flex;gap:7px;align-items:center}.doc-cell-actions{display:flex;gap:8px;align-items:center}.edit-documents-panel{margin-top:16px}.document-preview-fallback{max-width:680px;padding:32px}.document-preview-fallback h3{margin-top:0}.expense-management-grid{display:block}.expense-management-grid .expense-panel{max-width:880px}.report-expenses{margin-top:14px}@media(max-width:800px){.page-section-actions{flex-direction:column}.report-export-actions{flex-wrap:wrap}}
.document-text-preview{white-space:pre-wrap;font:14px/1.65 Aptos,"Segoe UI",sans-serif;color:var(--ink);margin:0;max-height:70vh;overflow:auto}
/* LLAVENA V0.14 — recibos, tabs consistentes y formularios modales */
.finance-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.finance-summary-row .metric-card{margin:0}.finance-section-actions{margin-bottom:10px}.detail-tabs{margin-top:14px}.payment-actions{white-space:nowrap}.payment-actions .table-view-link{margin-left:8px}.receipt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.btn.whatsapp{background:#eefaf3;color:#147a45;border:1px solid #bfe8d0}.receipt-phone-note{font-size:11px;color:var(--muted)}
@media(max-width:850px){.finance-summary-row{grid-template-columns:1fr}.finance-section-actions{align-items:stretch}}

/* LLAVENA v1.5 — planes y diálogo de suscripción */
.pricing-grid.in-app{gap:16px;align-items:stretch}.pricing-grid.in-app .pricing-card{display:flex;flex-direction:column;min-height:220px;padding:22px;border:1px solid #dfe7ef;border-radius:14px;box-shadow:0 5px 18px rgba(18,45,72,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pricing-grid.in-app .pricing-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(18,45,72,.08)}.pricing-grid.in-app .pricing-card.selected{border:2px solid #13b8b1;background:linear-gradient(180deg,#fff 0%,#f8fffe 100%)}.pricing-grid.in-app .pricing-card small{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eefaf9;color:#079d98;font-weight:800}.pricing-grid.in-app .pricing-card h3{font-size:18px;margin:18px 0 12px}.pricing-grid.in-app .pricing-card>strong{font-size:28px;letter-spacing:-.5px}.pricing-grid.in-app .pricing-card>strong span{font-size:12px;font-weight:600;color:var(--muted)}.pricing-grid.in-app .pricing-card form,.pricing-grid.in-app .pricing-card>button{margin-top:auto}.llavena-modal-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(7,24,42,.48);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}.llavena-modal-backdrop[hidden]{display:none}.llavena-modal{position:relative;width:min(460px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px rgba(4,23,40,.25);text-align:center}.llavena-modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:27px;color:#66788a;cursor:pointer}.llavena-modal-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#fff0f0;color:#bd3939;font-size:22px;font-weight:900}.llavena-modal h2{margin:0 0 10px;font-size:22px}.llavena-modal p{margin:0 auto;color:var(--muted);line-height:1.55;max-width:380px}.llavena-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.modal-open{overflow:hidden}@media(max-width:600px){.llavena-modal{padding:26px 18px}.llavena-modal-actions{flex-direction:column}.llavena-modal-actions .btn{width:100%}}

/* Prelaunch UX closure — account menu, plan card and notification actions */
.plan-card-link{display:block;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.plan-card-link:hover{transform:translateY(-1px);border-color:#bfcfe0;box-shadow:0 7px 18px rgba(16,42,79,.07)}
.plan-card-link span{display:block;margin-top:5px;color:var(--navy2);font-size:11px;font-weight:750}
.account-menu{position:relative}
.account-summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 7px;border-radius:10px}
.account-summary::-webkit-details-marker{display:none}
.account-summary:hover,.account-menu[open] .account-summary{background:#f4f8fb}
.account-chevron{font-size:12px;color:var(--muted)}
.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:190px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 38px rgba(16,42,79,.14);padding:6px;z-index:40}
.account-dropdown a,.account-dropdown button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;color:#314864;font-size:12px;font-weight:700;cursor:pointer}
.account-dropdown a:hover,.account-dropdown button:hover{background:#f0f6fb;color:var(--navy)}
.account-dropdown form{margin:3px 0 0;padding-top:3px;border-top:1px solid var(--line)}
.notification-read-all{padding:6px 10px;border-bottom:1px solid var(--line)}
.notification-read-all button{border:0;background:transparent;padding:3px 0;color:var(--navy2);font-size:11px;font-weight:800;cursor:pointer}
.closed-ticket-note{padding:12px 14px;background:#f7f9fb;border-top:1px solid var(--line);color:var(--muted);font-size:11px;text-align:center}
@media(max-width:900px){.account-summary .user-meta{display:none}.account-dropdown{right:0}.plan-card-link{display:none}}

.notification-head-actions{display:flex;align-items:center;gap:9px}
.notification-head-actions form{margin:0}
.notification-head-actions a,.notification-head-actions button{border:0;background:transparent;padding:0;color:var(--navy2);font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.notification-head-actions a:hover,.notification-head-actions button:hover{text-decoration:underline}
.plan-change-notice{margin:8px 0!important;padding:8px 10px;border-radius:8px;background:#eef6ff;color:#35536f!important}
.payment-actions .receipt-link{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #d9e1ea;border-radius:7px;background:#fff;color:var(--navy2);font-size:10px;font-weight:800}
.payment-actions .receipt-link:hover{background:#f0f6fb}

.admin-users-panel,.admin-wide-panel{grid-column:1/-1}
.admin-cell-sub{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.admin-users-panel .sheet{min-width:1150px}


/* Admin operations center */
.admin-detail-list{display:grid;gap:0}
.admin-detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line,#e4eaf0)}
.admin-detail-list>div:last-child{border-bottom:0}
.admin-detail-list span{color:var(--muted,#667788);font-size:.86rem}
.admin-detail-list strong{text-align:right;font-size:.92rem;overflow-wrap:anywhere}
.admin-user-row .inline-actions{flex-wrap:nowrap}
@media(max-width:760px){.admin-detail-list>div{align-items:flex-start;flex-direction:column;gap:4px}.admin-detail-list strong{text-align:left}.admin-user-row .inline-actions{flex-wrap:wrap}}

.admin-secondary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-6px 0 16px}
.admin-secondary-metrics>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px}
.admin-secondary-metrics span{font-size:10px;color:var(--muted);grid-column:1/-1}.admin-secondary-metrics strong{font-size:18px}.admin-secondary-metrics small{font-size:10px;color:var(--muted);text-align:right}
.support-admin-filters{display:grid;grid-template-columns:1fr 135px;gap:7px;padding:8px;border-bottom:1px solid var(--line)}
.support-admin-filters input,.support-admin-filters select,.ticket-admin-controls select{min-width:0;border:1px solid #dbe4ed;border-radius:8px;background:#fff;padding:8px;color:#42566e;font-size:11px}
.ticket-admin-controls{display:flex;align-items:center;gap:6px}.staff-remove-form{padding:0 18px 18px;text-align:right}
@media(max-width:900px){.admin-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-admin-controls{flex-wrap:wrap}}
@media(max-width:560px){.admin-secondary-metrics{grid-template-columns:1fr}.support-admin-filters{grid-template-columns:1fr}}

.admin-summary-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.admin-summary-links a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}
.admin-summary-links a:hover{border-color:#b8c8da;box-shadow:0 4px 14px rgba(22,48,78,.06)}
.admin-summary-links strong{font-size:13px}.admin-summary-links span{font-size:11px;color:var(--muted)}
@media(max-width:900px){.admin-summary-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.admin-summary-links{grid-template-columns:1fr}}

/* Admin QA polish — customer detail and account consistency */
.admin-shell .workspace{min-width:0}
.admin-shell .app-main{min-width:0;overflow-x:hidden}
.admin-detail-list{min-width:0}
.admin-detail-list>div{min-width:0}
.admin-detail-list>div>strong{min-width:0;max-width:70%;overflow-wrap:anywhere;word-break:break-word;text-align:right}
.admin-user-detail .panel{min-width:0}
@media(max-width:760px){.admin-detail-list>div{align-items:flex-start;gap:12px}.admin-detail-list>div>strong{max-width:62%}}

/* Admin section QA — summary hierarchy and compact customer profile */
.admin-summary-links{margin:0 0 16px}
.admin-plan-stats-centered{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;padding:16px}
.admin-plan-stats-centered>div{min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd;text-align:center}
.admin-plan-stats-centered>div strong{font-size:22px;color:var(--navy)}
.admin-plan-stats-centered>div span{font-size:11px;color:var(--muted);font-weight:700}
.admin-customer-overview{align-items:start}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;padding:4px 16px 14px}
.admin-detail-grid>div{min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}
.admin-detail-grid span,.admin-detail-grid strong{display:block;text-align:left}
.admin-detail-grid span{margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.admin-detail-grid strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}
.admin-customer-overview .settings-actions{padding:0 16px 16px}
@media(max-width:700px){.admin-detail-grid{grid-template-columns:1fr}.admin-plan-stats-centered{grid-template-columns:repeat(2,minmax(0,1fr))}}
