:root{--night:#111a31;--sidebar:#141e36;--bg:#f5f7fb;--surface:#fff;--ink:#17223c;--muted:#718096;--stroke:#e8ebf1;--violet:#6655dd;--violet2:#8a72ef;--green:#12a47f;--red:#d94760;--amber:#bb7b19;--shadow:0 16px 52px rgba(24,35,64,.06)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bdb3ff;outline-offset:2px}.hidden{display:none!important}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#a1acbf}.eyebrow.violet{color:var(--violet)}h1,h2,h3,p{margin-top:0}.login-layout{display:grid;grid-template-columns:54% 46%;min-height:100vh}.welcome{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:10% 12%;background:radial-gradient(ellipse at 80% 30%,#2e355f,transparent 40%),linear-gradient(125deg,#0d1830,#1a2848);color:white}.welcome:after{content:'';position:absolute;right:-170px;bottom:-140px;border:2px solid #53608e;border-radius:50%;width:510px;height:510px;opacity:.24}.brand-mark{font-size:42px;font-weight:900;letter-spacing:-.09em;margin-bottom:65px}.brand-mark span,.brand-icon span{color:#bdb0ff;font-size:.7em;padding-left:4px}.welcome .eyebrow{color:#bbc3df}.welcome h1{font-size:clamp(44px,5vw,82px);letter-spacing:-.06em;line-height:1.08;margin:18px 0 22px;font-weight:780}.welcome h1 em{color:#b8affb;font-style:normal}.welcome p{max-width:490px;font-size:18px;line-height:1.7;color:#c1cadf}.welcome-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.welcome-chips span{font-size:12px;border:1px solid #5a6482;border-radius:99px;padding:9px 13px;color:#dce2f4}.welcome-note{position:absolute;bottom:32px;font-size:11px;letter-spacing:.12em;color:#9da9c6}.welcome-note strong{margin-left:12px;color:#fff}.login-panel{display:grid;place-items:center;padding:40px;background:#fff}.login-box{width:min(400px,100%)}.login-box h2{font-size:38px;letter-spacing:-.05em;margin:14px 0 8px}.login-box p{color:var(--muted);margin-bottom:32px}.login-box label,.form-stack label{display:block;font-size:13px;font-weight:700;margin-bottom:16px}.login-box input,.form-stack input,.form-stack select,.form-stack textarea{width:100%;display:block;margin-top:8px;border:1px solid #dbe1ec;background:white;color:var(--ink);padding:13px 14px;border-radius:10px;min-width:0}.login-box .btn{margin-top:7px}.login-box small{display:block;margin-top:24px;color:#8891a4;text-align:center}.mobile-mark{display:none;font-weight:900;margin-bottom:40px}.mobile-mark b{color:var(--violet)}.btn{border:1px solid transparent;display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:11px 17px;border-radius:10px;font-size:13px;font-weight:750;white-space:nowrap;min-height:42px}.btn.primary{background:linear-gradient(100deg,#6550de,#8267ea);color:white;box-shadow:0 6px 15px #6655dd22}.btn.primary:hover{filter:brightness(1.05)}.btn.primary:disabled{opacity:.55;cursor:wait}.btn.outline{background:white;border-color:var(--stroke);color:#394766}.btn.ghost{background:#f2f3f9;color:#364362}.btn.danger{background:#fff0f1;color:#b72843}.btn.small{padding:7px 11px;min-height:34px;font-size:12px}.wide{width:100%;justify-content:space-between}.form-error{margin-top:15px;color:#c82e54;background:#fff0f3;padding:12px;border-radius:8px;font-size:13px}.shell{display:flex;min-height:100vh}.side{width:258px;background:var(--sidebar);color:#e9edfb;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:23px 14px 15px}.brand{display:flex;gap:14px;align-items:center;margin:5px 8px 41px}.brand-icon{font-size:27px;font-weight:950;letter-spacing:-.09em}.brand strong{display:block;font-size:16px;letter-spacing:.02em}.brand small{display:block;font-size:9px;letter-spacing:.17em;color:#aab8d8;margin-top:5px}.side-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#7986a8;margin:18px 13px 11px}.nav-item{border:0;width:100%;text-align:left;color:#aeb9d1;background:transparent;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:650;padding:14px 15px;border-radius:11px;margin:1px 0}.nav-item span{font-size:18px;min-width:23px;text-align:center}.nav-item:hover,.nav-item.active{background:#354267;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #a391ff}.side-bottom{margin-top:auto;padding:14px 7px 0;border-top:1px solid #334059;display:flex;align-items:center;gap:9px}.avatar{width:39px;height:39px;border-radius:12px;background:#6c57d7;display:grid;place-items:center;font-weight:850;font-size:12px}.side-user{min-width:0;flex:1}.side-user strong,.side-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:12px}.side-user small{font-size:11px;color:#a3b0d0;margin-top:3px}.icon-btn{border:0;background:transparent;color:inherit;border-radius:8px;padding:8px;font-size:18px}.icon-btn:hover{background:#8a93a51f}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:77px;background:white;border-bottom:1px solid var(--stroke);display:flex;justify-content:space-between;align-items:center;padding:0 35px}.breadcrumbs{font-size:13px;color:#929bad;font-weight:650}.breadcrumbs span{padding:0 10px;color:#bdc6d5}.breadcrumbs strong{color:#25334d}.top-actions{display:flex;align-items:center;gap:18px}.private-pill{border:1px solid #ccf1e3;color:#07926a;background:#effbf6;padding:7px 12px;font-size:10px;font-weight:900;letter-spacing:.04em;border-radius:99px}.top-user{font-size:12px;font-weight:800;color:#40506c}.content{padding:34px 36px 48px;width:min(1510px,100%);margin:auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading h1{font-size:clamp(25px,2.9vw,36px);letter-spacing:-.05em;margin:9px 0 6px}.page-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.notice{border-radius:13px;padding:15px 17px;font-size:13px;line-height:1.6;margin:13px 0 22px}.notice.blue{background:#eef3ff;color:#395185;border:1px solid #dce6fa}.notice.amber{background:#fff9eb;color:#956a19;border:1px solid #f4e2bb}.notice.green{background:#e9fbf5;color:#137858;border:1px solid #c6ebdc}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--stroke);border-radius:17px;padding:20px;min-height:158px;box-shadow:var(--shadow)}.kpi .kpi-symbol{color:var(--violet);background:#f3f0ff;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:19px;margin-bottom:15px}.kpi small{display:block;font-size:12px;color:#738199;margin-bottom:8px}.kpi strong{font-size:32px;font-weight:820;letter-spacing:-.03em}.kpi .error{font-size:13px;line-height:1.5;color:#be5369}.cols-2{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--stroke);border-radius:17px;padding:22px;box-shadow:var(--shadow);min-width:0}.panel h3{font-size:16px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head small{color:#8b94a9;font-size:11px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left}.table th{color:#8d9ab0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:12px 10px;border-bottom:1px solid var(--stroke)}.table td{padding:13px 10px;border-bottom:1px solid #f2f3f8;font-size:12px}.empty{color:#7c8aa0;font-size:13px;background:#f8f9fc;border:1px dashed #dce1eb;padding:22px;text-align:center;border-radius:11px}.quick-apps{display:grid;gap:8px}.quick-app,.app-card{display:flex;align-items:center;gap:14px;border:1px solid var(--stroke);border-radius:12px;padding:15px;background:white;transition:.15s}.quick-app:hover,.app-card:hover{border-color:#bdb4ff;transform:translateY(-1px)}.app-symbol{width:43px;height:43px;border-radius:12px;background:#f0edff;display:grid;place-items:center;font-weight:900;color:var(--violet)}.quick-app strong,.app-card strong{display:block;font-size:13px}.quick-app small,.app-card small{color:var(--muted);font-size:11px}.quick-app .arrow,.app-card .arrow{margin-left:auto;color:#9a83ed}.apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-card{padding:22px;min-height:114px}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:20px}.chat-panel{padding:0;display:flex;flex-direction:column;min-height:570px;overflow:hidden}.chat-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--stroke);padding:17px 22px}.chat-head strong,.chat-head small{display:block}.chat-head small{color:#8793aa;font-size:11px;margin-top:4px}.bot-icon{background:var(--violet);color:#fff;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-size:26px}.chat-messages{padding:20px;min-height:390px;max-height:600px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:15px}.bubble{padding:13px 17px;border-radius:15px;max-width:83%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65}.bubble.assistant{align-self:flex-start;background:#f0f3f9;color:#2e3b55;border-top-left-radius:5px}.bubble.user{align-self:flex-end;background:#6557df;color:#fff;border-bottom-right-radius:5px}.bubble.error{background:#fff0f4;color:#b53653}.chat-compose{display:flex;align-items:flex-end;gap:10px;padding:16px 20px 8px;border-top:1px solid var(--stroke)}.chat-compose textarea{border:1px solid #dbe1eb;resize:vertical;border-radius:11px;padding:13px;flex:1;min-height:50px;max-height:180px}.chat-foot{color:#8c96a9;font-size:10px;padding:8px 20px 17px}.prompt-panel{align-self:start}.examples{display:grid;gap:9px}.example{text-align:left;border:1px solid var(--stroke);background:#fbfbfe;color:#455372;padding:13px;border-radius:9px;font-size:12px}.example:hover{border-color:#bdb4ff}.hint-box{background:#f3f0ff;border-radius:11px;padding:16px;margin-top:24px;font-size:12px;line-height:1.6}.hint-box p{color:#63708a;margin:7px 0 0}.stack{display:grid;gap:12px}.task-card,.line-item{background:#fff;border:1px solid var(--stroke);border-radius:13px;padding:17px;display:flex;justify-content:space-between;align-items:center;gap:14px}.task-card h3{font-size:14px;margin:0 0 5px}.task-card p{margin:0 0 6px;font-size:12px;color:#718099}.task-card small,.line-item small{font-size:11px;color:#8892a6}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-block;padding:6px 9px;font-size:10px;font-weight:850;border-radius:99px;background:#e8f9ef;color:#12845c}.badge.muted{background:#f0f0f7;color:#78859d}.badge.red{background:#ffe9eb;color:#bf4056}.vault-card{text-align:center;max-width:620px;margin:0 auto;padding:48px}.vault-card p{color:#6e7b91;line-height:1.8}.vault-card small{color:#9aa6b9}.vault-icon{font-size:42px;color:var(--violet);background:#f3f0ff;width:85px;height:85px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px}.form-stack{display:grid;gap:3px}.form-stack textarea{resize:vertical}.admin-cols{grid-template-columns:.8fr 1.2fr}.tabs{display:flex;gap:7px;border-bottom:1px solid #dce0e9;margin-bottom:18px;flex-wrap:wrap}.tab{border:0;background:transparent;color:#71809b;font-size:13px;font-weight:750;padding:13px 16px;border-bottom:3px solid transparent}.tab.active{color:var(--violet);border-bottom-color:var(--violet)}.detail-pair{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--stroke);padding:14px 0;font-size:13px}.detail-pair span{color:#8491a6}.inline-select{border:1px solid #dfe4ee;border-radius:7px;padding:6px;font-size:12px;max-width:145px}.footer{border-top:1px solid #e5e9f2;padding:15px 34px;font-size:11px;color:#8893aa;display:flex;justify-content:space-between;gap:15px}.modal-backdrop{position:fixed;inset:0;background:#111c36a8;display:grid;place-items:center;z-index:20;padding:14px}.modal{background:white;border-radius:18px;width:min(520px,100%);padding:26px;box-shadow:0 40px 120px #0003}.modal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-title h3{margin:0}.toast{position:fixed;bottom:24px;right:24px;background:#1d2b49;color:white;border-radius:12px;padding:14px 20px;z-index:30;max-width:360px;font-size:13px;box-shadow:0 10px 30px #0002}.mobile-menu{display:none}@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.apps-grid{grid-template-columns:repeat(2,1fr)}.chat-layout{grid-template-columns:1fr}.prompt-panel{display:none}}@media(max-width:880px){.login-layout{grid-template-columns:1fr}.welcome{display:none}.mobile-mark{display:block}.side{position:fixed;left:-270px;z-index:15;transition:left .2s}.side.open{left:0;box-shadow:0 0 0 100vmax #1119}.mobile-menu{display:block}.topbar{padding:0 18px;height:66px}.content{padding:24px 18px}.top-user,.private-pill{display:none}.top-actions{gap:5px}.cols-2,.admin-cols{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}}@media(max-width:530px){.kpi-grid,.apps-grid{grid-template-columns:1fr}.page-heading h1{font-size:26px}.task-card,.line-item{align-items:flex-start;flex-direction:column}.footer{flex-direction:column;padding:18px}.chat-compose{flex-direction:column;align-items:stretch}.chat-compose .btn{align-self:flex-end}.badge{font-size:9px}}

/* Dashboard Odoo con información operativa detallada */
.detail-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:30px 0 15px}.detail-heading h2{font-size:21px;letter-spacing:-.04em;margin:0 0 5px}.detail-heading p{color:var(--muted);font-size:12px;margin:0}.odoo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.odoo-detail-panel{min-width:0}.odoo-detail-panel:last-child:nth-child(odd){grid-column:1/-1}.odoo-detail-panel .panel-head{gap:12px;margin-bottom:10px}.odoo-detail-panel h3{margin:0}.odoo-detail-panel .table td{line-height:1.5}.detail-foot{display:block;color:#8792a8;font-size:11px;margin-top:16px}@media(max-width:900px){.odoo-detail-grid{grid-template-columns:1fr}.odoo-detail-panel:last-child:nth-child(odd){grid-column:auto}.detail-heading{align-items:flex-start;flex-direction:column}}
