:root{--dash-bg:#f4f5f9;--dash-ink:#171a3f;--dash-muted:#737789;--dash-line:#e5e7ef;--company-color:#262363}
.dashboard-shell{min-height:100vh;background:var(--dash-bg);color:var(--dash-ink)}
.dashboard-header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 4.5vw;border-bottom:1px solid var(--dash-line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;box-shadow:0 4px 22px rgba(27,29,60,.035)}
.dashboard-brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--dash-ink)}
.dashboard-brand img{width:145px;height:40px;object-fit:contain;object-position:left center}
.dashboard-brand span{padding-left:18px;border-left:1px solid var(--dash-line);font-size:12px;letter-spacing:.15em;font-weight:800}.dashboard-brand b{color:var(--company-color)}
.company-current{display:flex;align-items:center;gap:11px;padding:10px 18px;border:1px solid var(--dash-line);border-radius:999px;background:#fafafe}.company-dot{width:9px;height:9px;border-radius:50%;background:var(--company-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--company-color) 12%,transparent)}
.company-current div{display:flex;flex-direction:column}.company-current small{color:#989ba8;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.company-current strong{margin-top:2px;font-size:12px}
.dashboard-user{display:flex;align-items:center;justify-content:flex-end;gap:11px}.switch-company{display:flex;align-items:center;gap:8px;margin-right:12px;color:#595d70;text-decoration:none;font-size:11px;font-weight:700}.switch-company:hover{color:var(--company-color)}
.user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--company-color);font-size:13px;font-weight:800}.user-name{display:flex;flex-direction:column;min-width:110px}.user-name strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-name small{margin-top:3px;color:#9699a6;font-size:9px;letter-spacing:.1em}.logout-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#8f92a1;text-decoration:none}.logout-icon:hover{color:#d34f64;background:#fff0f3}
.dashboard-content{width:min(1480px,91vw);margin:0 auto;padding:54px 0 75px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.dashboard-eyebrow{margin:0 0 12px!important;color:var(--company-color)!important;font-size:10px!important;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.welcome-row h1{margin:0;font-size:clamp(34px,4vw,52px);letter-spacing:-.045em}.welcome-row>div>p{max-width:700px;margin:13px 0 0;color:var(--dash-muted);font-size:14px;line-height:1.7}
.access-chip{display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid var(--dash-line);border-radius:15px;background:#fff}.access-chip>i{color:var(--company-color)}.access-chip span{display:flex;flex-direction:column;color:#999ca8;font-size:9px;text-transform:uppercase;letter-spacing:.11em}.access-chip strong{margin-top:4px;color:var(--dash-ink);font-size:12px}
.summary-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px;margin:40px 0 52px}.summary-card{min-height:126px;display:flex;align-items:center;gap:18px;padding:25px;border:1px solid var(--dash-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(25,29,65,.035)}.summary-card.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--company-color),color-mix(in srgb,var(--company-color) 72%,#665bd8))}.summary-icon{width:51px;height:51px;display:grid;place-items:center;flex:none;border-radius:15px;color:var(--company-color);background:#f0effb;font-size:18px}.primary .summary-icon{color:#fff;background:rgba(255,255,255,.14)}.summary-card div{display:flex;flex-direction:column}.summary-card small{color:#9497a4;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.summary-card strong{margin:6px 0 3px;font-size:24px}.summary-card em{color:#9a9daa;font-size:10px;font-style:normal}.primary small,.primary em{color:rgba(255,255,255,.62)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.section-heading span{color:var(--company-color);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.section-heading h2{margin:6px 0 0;font-size:23px}.section-heading p{margin:0;color:#9a9daa;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.module-card{min-height:155px;position:relative;display:flex;flex-direction:column;padding:23px;border:1px solid var(--dash-line);border-radius:20px;color:var(--dash-ink);background:#fff;text-decoration:none;overflow:hidden;transition:.22s ease}.module-card:after{content:"";position:absolute;width:100px;height:100px;right:-55px;bottom:-60px;border-radius:50%;background:var(--tone);opacity:.08}.module-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--tone) 25%,#e5e7ef);box-shadow:0 18px 42px rgba(28,30,67,.09)}.module-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,#fff);font-size:16px}.module-text{display:flex;flex-direction:column;margin-top:22px}.module-text strong{font-size:14px}.module-text small{margin-top:7px;color:#858895;font-size:11px;line-height:1.5}.module-arrow{position:absolute;right:21px;top:27px;color:#b8bac4;font-size:11px}.tone-indigo{--tone:#4f46b9}.tone-violet{--tone:#8b5fc6}.tone-amber{--tone:#d59432}.tone-emerald{--tone:#2b9b7f}.tone-rose{--tone:#cf5e79}
.empty-modules{padding:50px 30px;text-align:center;border:1px dashed #ccd0de;border-radius:20px;background:#fff}.empty-modules>i{color:#aaa5d2;font-size:28px}.empty-modules h3{margin:16px 0 8px}.empty-modules p{max-width:620px;margin:auto;color:var(--dash-muted);font-size:13px;line-height:1.7}
.company-picker{min-height:100vh;position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#171534,#29236b 70%,#3d33a1)}.company-picker:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:46px 46px}.picker-bg{position:absolute;border-radius:50%;filter:blur(2px)}.picker-bg-one{width:500px;height:500px;left:-230px;top:20%;background:radial-gradient(circle,rgba(132,119,255,.28),transparent 68%)}.picker-bg-two{width:430px;height:430px;right:-150px;bottom:-180px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012)}
.picker-header{height:100px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}.picker-header img{width:190px;filter:brightness(0) invert(1)}.picker-header a{color:rgba(255,255,255,.65);text-decoration:none;font-size:11px}.picker-header i{margin-right:7px}.picker-content{width:min(920px,88vw);position:relative;margin:8vh auto 0;text-align:center}.picker-kicker{color:#bcb5ff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.22em}.picker-content h1{margin:18px 0 10px;font-size:clamp(38px,5vw,62px);letter-spacing:-.05em}.picker-content>p{margin:0 auto 42px;color:rgba(255,255,255,.62);font-size:14px}.company-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.company-form{margin:0}.company-card{width:100%;min-height:190px;display:flex;align-items:center;gap:20px;padding:28px;text-align:left;border:1px solid rgba(255,255,255,.14);border-radius:23px;color:#fff;background:rgba(255,255,255,.075);backdrop-filter:blur(15px);transition:.22s ease}.company-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--card-color) 65%,#fff);background:rgba(255,255,255,.11);box-shadow:0 25px 55px rgba(5,5,25,.2)}.company-symbol{width:64px;height:64px;display:grid;place-items:center;flex:none;border-radius:19px;color:#fff;background:var(--card-color);font-size:22px;box-shadow:0 14px 30px rgba(0,0,0,.16)}.company-info{display:flex;flex-direction:column;flex:1}.company-info small{color:rgba(255,255,255,.48);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.company-info strong{margin:8px 0;font-size:24px}.company-info em{color:rgba(255,255,255,.58);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.1em}.company-enter{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.08);font-size:12px}.picker-note{display:block;margin-top:30px;color:rgba(255,255,255,.42);font-size:10px}.picker-note i{margin-right:7px}
@media(max-width:1050px){.dashboard-header{grid-template-columns:1fr auto}.company-current{display:none}.module-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr 1fr}.summary-card.primary{grid-column:1/-1}.user-name{display:none}}
@media(max-width:700px){.dashboard-header{height:auto;min-height:72px;padding:14px 20px}.dashboard-brand img{width:115px}.dashboard-brand span{display:none}.switch-company span{display:none}.switch-company{margin-right:0}.dashboard-content{width:calc(100% - 36px);padding:34px 0}.welcome-row{align-items:flex-start;flex-direction:column}.access-chip{width:100%}.summary-grid,.module-grid,.company-grid{grid-template-columns:1fr}.summary-card.primary{grid-column:auto}.section-heading p{display:none}.picker-header{height:78px}.picker-header img{width:145px}.picker-content{margin-top:5vh}.company-card{min-height:150px;padding:22px}.company-symbol{width:52px;height:52px}.company-info strong{font-size:21px}}

/* Menú superior dinámico */
.dashboard-header{height:auto;display:block;padding:0;background:#fff;overflow:visible}
.dashboard-topline{height:73px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 4.5vw;border-bottom:1px solid var(--dash-line)}
.top-menu{min-height:47px;display:flex;align-items:stretch;gap:2px;padding:0 4.5vw;position:relative;background:#fff}
.top-menu-home,.top-menu-item>summary{height:47px;display:flex;align-items:center;gap:8px;padding:0 15px;color:#55596b;text-decoration:none;font-size:11px;font-weight:700;list-style:none;border-bottom:2px solid transparent;cursor:pointer;transition:.18s ease}
.top-menu-home::-webkit-details-marker,.top-menu-item>summary::-webkit-details-marker{display:none}.top-menu-home i{color:var(--company-color);font-size:11px}.top-menu-item>summary i{margin-left:3px;color:#a4a7b3;font-size:8px;transition:.18s}.top-menu-item[open]>summary{color:var(--company-color);border-bottom-color:var(--company-color);background:#fafafe}.top-menu-item[open]>summary i{transform:rotate(180deg)}
.top-menu-item{position:static}.top-mega-menu{width:min(1040px,91vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;position:absolute;left:4.5vw;top:calc(100% + 1px);padding:24px;border:1px solid var(--dash-line);border-radius:0 0 18px 18px;background:#fff;box-shadow:0 22px 46px rgba(25,28,63,.13);z-index:50}.mega-column h3{margin:0 0 11px;padding:0 8px;color:#9a9daa;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.mega-column a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;color:#3d4052;text-decoration:none;font-size:11px}.mega-column a:hover{color:var(--company-color);background:#f6f6fb}.mega-column a i{color:#b4b6c0;font-size:8px}
.menu-mobile-toggle{display:none;width:38px;height:38px;border:1px solid var(--dash-line);border-radius:10px;color:var(--dash-ink);background:#fff}
@media(max-width:1050px){.dashboard-topline{grid-template-columns:auto 1fr auto}.company-current{display:none}.menu-mobile-toggle{display:grid;place-items:center;justify-self:start}.dashboard-brand{justify-self:center}.dashboard-user{justify-self:end}.top-menu{display:none;max-height:calc(100vh - 74px);overflow-y:auto;padding:12px 18px 24px;border-top:1px solid var(--dash-line);background:#fff}.top-menu.is-open{display:block}.top-menu-home,.top-menu-item>summary{height:48px;padding:0 12px;border-bottom:1px solid #f0f1f5}.top-menu-item[open]>summary{border-bottom-color:#ececf4}.top-mega-menu{width:100%;position:static;display:grid;grid-template-columns:repeat(2,1fr);padding:14px 8px 18px;border:0;border-radius:0;box-shadow:none;background:#fafafe}.dashboard-header{position:sticky;top:0}}
@media(max-width:700px){.dashboard-topline{height:68px;padding:0 18px;gap:10px}.dashboard-brand img{width:105px}.dashboard-user{gap:5px}.user-avatar{display:none}.logout-icon{width:31px}.top-mega-menu{grid-template-columns:1fr}.mega-column{padding-bottom:5px}}
.menu-category-icon{color:var(--company-color)!important;font-size:10px!important;transform:none!important}
.permissions-title{align-items:center}.permissions-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;margin-top:38px}.employee-panel,.module-permissions{border:1px solid var(--dash-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(25,29,65,.035)}.employee-panel{height:680px;display:flex;flex-direction:column;padding:16px}.panel-search{height:45px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--dash-line);border-radius:12px;background:#f8f8fb}.panel-search i{color:#a0a3af;font-size:12px}.panel-search input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.employee-list{margin-top:12px;overflow-y:auto}.employee-option{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px;border-radius:12px;color:var(--dash-ink);text-decoration:none}.employee-option:hover,.employee-option.active{background:#f2f1fb}.employee-option.active{box-shadow:inset 3px 0 var(--company-color)}.employee-initial{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:var(--company-color);background:#efeff8;font-size:11px;font-weight:800}.employee-option>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.employee-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.employee-option small{margin-top:4px;color:#9699a6;font-size:9px}.employee-option>i{color:#c0c2cb;font-size:8px}.module-permissions{min-height:680px;padding:24px}.permission-empty{height:100%;min-height:580px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.permission-empty>i{color:#aaa5d2;font-size:34px}.permission-empty h2{margin:18px 0 7px}.permission-empty p{max-width:420px;color:var(--dash-muted);font-size:12px;line-height:1.6}.selected-employee{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--dash-line)}.selected-employee small{color:#979aa7;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.selected-employee h2{margin:5px 0;font-size:22px}.selected-employee p{margin:0;color:var(--dash-muted);font-size:10px}.selected-employee>span{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:var(--company-color);background:#f1f0fa;font-size:10px;font-weight:800}.permission-category{margin-top:15px;border:1px solid var(--dash-line);border-radius:14px;overflow:hidden}.permission-category>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;list-style:none;cursor:pointer;background:#fafafe}.permission-category>summary::-webkit-details-marker{display:none}.permission-category>summary span{display:flex;align-items:center;gap:10px}.permission-category>summary span i{color:var(--company-color)}.permission-category>summary strong{font-size:12px}.permission-category>summary>i{color:#aaaeba;font-size:9px}.permission-category[open]>summary>i{transform:rotate(180deg)}.permission-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding:18px}.permission-groups h3{margin:0 0 9px;color:#999ca8;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.permission-options{display:flex;flex-direction:column;gap:5px}.permission-options label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer}.permission-options label:hover{background:#f8f8fb}.permission-options label>span{min-width:0;display:flex;flex-direction:column}.permission-options strong{font-size:11px}.permission-options small{margin-top:3px;color:#aaaeba;font-size:8px}.permission-options input{position:absolute;opacity:0}.permission-options label>i{width:33px;height:19px;position:relative;flex:none;border-radius:999px;background:#d8dae3;transition:.18s}.permission-options label>i:after{content:"";width:15px;height:15px;position:absolute;left:2px;top:2px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 4px rgba(0,0,0,.15)}.permission-options input:checked+i{background:var(--company-color)}.permission-options input:checked+i:after{transform:translateX(14px)}.permission-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.secondary-button,.save-button{height:43px;padding:0 17px;border-radius:11px;font-size:11px;font-weight:700}.secondary-button{border:1px solid var(--dash-line);color:#676a7a;background:#fff}.save-button{border:0;color:#fff;background:var(--company-color)}.secondary-button i,.save-button i{margin-right:7px}
@media(max-width:1000px){.permissions-layout{grid-template-columns:1fr}.employee-panel{height:320px}.module-permissions{min-height:500px}}
@media(max-width:650px){.permission-groups{grid-template-columns:1fr}.module-permissions{padding:16px}.selected-employee{align-items:flex-start;flex-direction:column}.permission-actions{align-items:stretch;flex-direction:column-reverse}.secondary-button,.save-button{width:100%}}
.brand-mini{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:5px;color:var(--company-color);background:#efeff8;font-size:7px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.brand-access-row{display:flex;align-items:center;gap:20px;margin:-30px 0 44px;padding:15px 18px;border:1px solid var(--dash-line);border-radius:15px;background:#fff}.brand-access-row>span{color:#999ca8;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.brand-access-row>div{display:flex;gap:8px}.brand-access-row strong{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:9px;color:var(--company-color);background:#f1f0fa;font-size:10px}.brand-access-row small{margin-left:auto;color:#999ca8;font-size:10px}@media(max-width:700px){.brand-access-row{align-items:flex-start;flex-direction:column;margin-top:-25px;gap:10px}.brand-access-row small{margin-left:0}.brand-access-row>div{width:100%}.brand-access-row strong{flex:1;justify-content:center}}
