:root{--bg:#f4f6fa;--panel:#fff;--text:#172033;--muted:#7d8799;--line:#e5e9f0;--accent:#ef276f;--nav:#0d1320;--green:#1ca36a;--shadow:0 8px 30px #1018280b}*{box-sizing:border-box}body{margin:0;font:14px Inter,Arial,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh}button,input{font:inherit}aside{width:245px;background:var(--nav);color:#c8cfda;padding:26px 18px;position:fixed;height:100vh;z-index:3}.brand{display:flex;align-items:flex-end;gap:12px;margin:0 10px 28px}.keiva-word{font-size:31px;line-height:.62;font-weight:800;letter-spacing:-2px;color:#fff}.brand span{font-size:10px;letter-spacing:.13em;background:var(--accent);color:#fff;padding:5px 8px;border-radius:6px}nav{display:flex;flex-direction:column;gap:5px}nav button{border:0;background:transparent;color:inherit;text-align:left;padding:12px 13px;border-radius:10px;cursor:pointer;font-weight:600}nav button:hover,nav button.active{background:#1b2638;color:#fff}.user{position:absolute;bottom:24px;left:25px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#253247;display:grid;place-items:center;color:#fff;font-weight:700}.user div:last-child{display:flex;flex-direction:column}.user b{color:#fff}.user small{color:#8994a7;margin-top:3px}main{margin-left:245px;padding:32px 38px;width:calc(100% - 245px)}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:.15em;color:#9ba4b3;font-weight:800}h1{margin:6px 0 6px;font-size:30px}p{color:var(--muted)}.actions{display:flex;gap:8px}.actions button{border:1px solid var(--line);background:var(--panel);padding:11px 14px;border-radius:10px;cursor:pointer}.actions .ai{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:800}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card{padding:18px}.card label,.sectionLabel{font-size:9px;font-weight:800;color:#8d97a8;letter-spacing:.12em}.card strong{display:block;font-size:28px;margin:12px 0 5px}.card em{font-style:normal;font-size:12px;color:var(--accent);display:block;margin-top:12px}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:14px}.panel{padding:20px}.panel h2{margin:6px 0 18px;font-size:18px}.chart{height:180px;display:flex;align-items:flex-end;gap:12px;padding:0 8px;border-bottom:1px solid var(--line)}.bar{flex:1;background:#d5dae3;border-radius:5px 5px 0 0;min-width:12px}.bar.current{background:var(--accent)}.years{display:flex;justify-content:space-around;margin-top:8px;font-size:10px;color:#9ca5b4}.activityRow,.tableRow{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.activityRow:last-child,.tableRow:last-child{border-bottom:0}.good{color:var(--green);font-weight:700}.miniGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.miniGrid .card h3{margin:10px 0 6px}.moduleHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.primary{border:0;background:var(--accent);color:#fff;padding:10px 14px;border-radius:9px;font-weight:800}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters span{padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--muted)}.table{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:0 18px}.tableRow.header{font-size:10px;color:#8e98a8;font-weight:800;letter-spacing:.08em}.tableRow>span{flex:1}.badge{display:inline-block;padding:5px 8px;border-radius:8px;background:#eef2f7;font-size:11px}.badge.green{background:#e9f7f1;color:#128459}.badge.yellow{background:#fff4d9;color:#9c6a00}.badge.red{background:#fee9ee;color:#bd2448}.drawer{position:fixed;top:0;right:-420px;width:390px;height:100vh;background:var(--panel);border-left:1px solid var(--line);box-shadow:-10px 0 40px #0002;padding:24px;z-index:10;transition:.25s}.drawer.open{right:0}.drawerHead{display:flex;justify-content:space-between}.drawerHead h2{margin:3px 0 14px}.drawerHead button{border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--text)}.chatBubble{margin-top:25px;padding:14px;background:var(--bg);border-radius:12px}.chatInput{position:absolute;bottom:22px;left:22px;right:22px;display:flex;gap:8px}.chatInput input{flex:1;border:1px solid var(--line);background:var(--bg);padding:12px;border-radius:10px;color:var(--text)}.chatInput button{border:0;background:var(--accent);color:#fff;border-radius:10px;width:42px}footer{text-align:center;color:#9aa3b1;font-size:10px;padding:25px}footer span{color:var(--green)}body.dark{--bg:#0a111d;--panel:#111b2b;--text:#eef2f8;--muted:#92a0b4;--line:#263247;--nav:#060b13;--shadow:none}.dark .badge{background:#1d293b}.dark .badge.green{background:#123b31}.dark .badge.yellow{background:#3f331b}.dark .badge.red{background:#462230}@media(max-width:1000px){aside{width:78px}.brand span,nav span,.user div:last-child{display:none}.keiva-word{font-size:20px}.user{left:20px}main{margin-left:78px;width:calc(100% - 78px);padding:24px}.kpis,.miniGrid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.drawer{width:100%;max-width:390px}}.accessTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.accessTabs{display:flex;gap:5px;background:var(--panel);border:1px solid var(--line);padding:5px;border-radius:12px}.accessTabs button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:8px;cursor:pointer;font-weight:700}.accessTabs button.active{background:var(--text);color:var(--panel)}.accessLayout{display:grid;grid-template-columns:340px 1fr;gap:14px}.accessList h2{margin-bottom:12px}.accessUser{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);padding:12px 4px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.accessUser.selected{background:var(--bg);border-radius:10px;padding-left:10px;padding-right:10px}.accessUser small{display:block;color:var(--muted);margin-top:3px}.avatar.small{width:32px;height:32px;font-size:11px;flex:0 0 32px}.push{margin-left:auto}.detailHead{display:flex;justify-content:space-between;gap:20px}.detailHead h2{margin-bottom:4px}.secondary{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 12px;border-radius:9px;font-weight:700;cursor:pointer}.infoGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.infoGrid>div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px}.infoGrid label{display:block;font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.08em;margin-bottom:8px}.spaceTop{margin-top:22px}.permRow{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.perm{font-size:11px;font-weight:800;padding:5px 8px;border-radius:8px}.perm.editar{background:#e8f7f0;color:#158259}.perm.ver{background:#eef3fa;color:#506680}.perm.sin-acceso{background:#f9e9ed;color:#b52a49}.securityNote{margin-top:20px;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;display:flex;gap:12px}.securityNote span{color:var(--muted)}.permMatrix{margin-top:20px}.pmHead,.pmRow{display:grid;grid-template-columns:1.5fr repeat(3,1fr);align-items:center;border-bottom:1px solid var(--line);min-height:50px}.pmHead{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.08em}.pmRow select{width:90%;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:8px;border-radius:8px}.auditRow{display:grid;grid-template-columns:1.2fr 1fr 2fr 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.auditRow.head{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.08em}.mutedNote{font-size:12px;margin-top:18px}.modalBack{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:30;padding:20px}.modal{width:min(470px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 30px 80px #0005}.modalHead{display:flex;justify-content:space-between;align-items:flex-start}.modalHead h2{margin:5px 0 20px}.modalHead button{border:0;background:transparent;color:var(--text);font-size:28px;cursor:pointer}.modal>label:not(.checkline){display:block;font-size:10px;font-weight:800;color:var(--muted);margin:14px 0 6px}.modal input[type=text],.modal input:not([type]),.modal select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:11px}.checkline{display:flex;gap:8px;align-items:center;margin:18px 0}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media(max-width:1000px){.accessLayout{grid-template-columns:1fr}.infoGrid{grid-template-columns:1fr 1fr}.accessTop{align-items:flex-start;gap:10px}.accessTabs{overflow:auto}}

.roleGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.roleCard{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--bg)}.roleTag{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.11em;padding:5px 8px;border-radius:7px}.roleTag.owner{background:#fde8f0;color:#b51651}.roleTag.admin{background:#e9efff;color:#315bb6}.roleTag.employee{background:#e8f7f1;color:#128459}.permSimple{display:flex;flex-direction:column;gap:9px;margin-top:14px}.permSimple span{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;font-size:12px}.roleCard h3{margin:12px 0 6px}.roleCard p{min-height:40px}@media(max-width:1000px){.roleGrid{grid-template-columns:1fr}}

/* ULISES theme v3 */
:root{--accent:#19e3d0;--green:#19d79e;--nav:#07111d;--bg:#08121f;--panel:#0d1a2a;--text:#f4f8fc;--muted:#91a0b4;--line:#23364b;--shadow:0 18px 55px #0003}
body,body.dark{background:radial-gradient(circle at 85% 8%,#0e2438 0,#08121f 34%,#06101a 72%);color:var(--text)}
aside{background:linear-gradient(180deg,#07111d 0%,#06101a 72%,#071520 100%);border-right:1px solid #173047}
nav button{color:#a7b6c9;border:1px solid transparent;transition:.18s}
nav button:hover{background:#0e2231;color:#fff;border-color:#17394b}
nav button.active{background:linear-gradient(90deg,#083c42,#0b2f36);color:#20f0dc;border-color:#0d5556;box-shadow:0 0 26px #14d9c51a}
.card,.panel,.table,.accessTabs{background:linear-gradient(180deg,#0f1d2d,#0a1724);border-color:#24384d;box-shadow:var(--shadow)}
.actions .ai,.primary{background:linear-gradient(135deg,#20efd9,#11cfc0);border-color:#20efd9;color:#031014;box-shadow:0 7px 24px #16dfcc26}
.actions .ai::before{content:'✦';margin-right:6px}
.accessTabs button.active{background:#10333a;color:#24edda;box-shadow:inset 0 -2px 0 #24edda}
.roleCard{background:linear-gradient(180deg,#091522,#08111b);border-color:#274057}
.roleCard:nth-child(2){box-shadow:inset 0 0 42px #1d73ff0c}.roleCard:nth-child(3){box-shadow:inset 0 0 42px #19e3d00c}
.secondary{background:#122235;border-color:#294259}.danger{border:1px solid #71323d;background:#2a1219;color:#ff7585;padding:9px 12px;border-radius:9px;font-weight:800;cursor:pointer}
.userActions{display:flex;gap:8px}.good{color:#20e9a9}
.drawer{background:linear-gradient(180deg,#091725,#07111b);border-left-color:#21445a}
.chatBubble{background:#0e2231;border:1px solid #21445a}.chatInput input{background:#081522;border-color:#21445a}
footer{letter-spacing:.06em}.brand{align-items:center}.brand span{background:transparent;color:#8fa4ba;padding:0;letter-spacing:.18em}
.keiva-logo{width:58px;height:58px;object-fit:contain;display:block}.brand{gap:12px}.brand span{font-weight:800;color:#8ea0b8}.danger:hover{background:#451923;border-color:#a33b4b}.aiOrb{width:28px;height:28px;border-radius:50%;display:inline-block;background:radial-gradient(circle at 35% 35%,#fff 0 7%,#68f7ee 10%,#7582ff 36%,#1a2e5c 68%,#07111d 100%);box-shadow:0 0 16px #57e7ff80,0 0 30px #736dff40;vertical-align:middle;margin-right:8px}
.proposalHead{margin-top:18px}.proposalTable .tableRow>span:nth-child(1){flex:1.5}.proposalTable .tableRow>span:nth-child(2){flex:1.3}.proposalTable .tableRow>span:nth-child(3){flex:.8}.proposalTable .tableRow>span:nth-child(4){flex:.9}.proposalTable .tableRow>span:nth-child(5){flex:1}.rowActions{display:flex;gap:7px;justify-content:flex-end}.danger{border:1px solid #7b2b3b;background:transparent;color:#ff6f86;padding:9px 12px;border-radius:9px;font-weight:700;cursor:pointer}.emptyState{padding:34px 10px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:7px}.emptyState b{color:var(--text)}.proposalKpis .card strong{font-size:24px}@media(max-width:1000px){.proposalTable{overflow-x:auto}.proposalTable .tableRow{min-width:850px}}
.clientSelectRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.clientSelectRow select{min-width:0}@media(max-width:650px){.clientSelectRow{grid-template-columns:1fr}.clientSelectRow .secondary{width:100%}}

/* ALBARANES */
.albaranKpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}.albaranFilters{margin:14px 0}.stelReady{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stelReady h3{margin:4px 0}.albaranTable .tableRow{grid-template-columns:1.6fr 1fr 1.3fr .7fr .9fr .9fr .9fr}.deliveryModal{max-width:760px}.deliveryGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.deliveryGrid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;letter-spacing:.03em}.deliveryGrid .wide{grid-column:1/-1}.deliveryGrid input,.deliveryGrid select,.deliveryGrid textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel);color:var(--text);font:inherit}.deliveryGrid textarea{resize:vertical}.albaranTable .emptyState{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.albaranKpis{grid-template-columns:repeat(2,1fr)}.albaranTable{overflow:auto}.albaranTable .tableRow{min-width:900px}}@media(max-width:700px){.deliveryGrid{grid-template-columns:1fr}.deliveryGrid .wide{grid-column:auto}.albaranKpis{grid-template-columns:1fr}}
