:root{
    --bg:#f1f6fd;--card:#fff;--text:#16243d;--muted:#6a7890;--line:#dce6f3;
    --blue-950:#061d43;--blue-900:#082a61;--blue-800:#0b3d91;--blue-700:#0d57c0;--blue-600:#1e73e8;
    --soft:#eef5ff;--danger:#c92d2d;--warning:#e88b00;--success:#168b42;--shadow:0 12px 28px rgba(8,45,110,.07);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f8fbff 0,#edf4fd 100%);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}

/* AUTH */
.auth-body,.auth-simple-body{min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-hero{padding:62px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(130,190,255,.24),transparent 28%),linear-gradient(145deg,var(--blue-950),var(--blue-800) 62%,var(--blue-600));display:flex;flex-direction:column;justify-content:space-between}.hero-brand{display:flex;align-items:center;gap:14px;font-weight:900;font-size:20px;letter-spacing:.04em}.hero-symbol{width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,#fff,#dceaff);color:var(--blue-800);display:grid;place-items:center;box-shadow:0 16px 34px rgba(0,0,0,.15)}.hero-symbol svg{width:38px}.hero-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-size:13px}.auth-hero h1{font-size:46px;line-height:1.03;margin:18px 0 14px;max-width:760px}.auth-hero p{font-size:18px;color:#dbe8ff;max-width:690px}.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-features div{padding:15px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);display:flex;gap:9px;align-items:center}.auth-panel{display:flex;align-items:center;justify-content:center;padding:30px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.auth-logo{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,var(--blue-800),var(--blue-600));display:grid;place-items:center;color:#fff;margin-bottom:18px;box-shadow:0 16px 30px rgba(30,115,232,.18)}.auth-logo svg{width:40px}.auth-card h2{font-size:31px;margin:0 0 8px}.auth-card>p{margin:0 0 26px;color:var(--muted)}.stack-form{display:grid;gap:15px}.stack-form label,.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#31435f}.stack-form input,.form-grid input,.form-grid select,.form-grid textarea,.filters-grid input,.filters-grid select{width:100%;border:1px solid var(--line);background:#fbfdff;border-radius:13px;padding:12px 13px;outline:none;color:var(--text)}.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.filters-grid input:focus,.filters-grid select:focus{border-color:#8eb8fb;box-shadow:0 0 0 4px rgba(30,115,232,.08)}.password-wrap{display:flex;border:1px solid var(--line);background:#fbfdff;border-radius:13px;overflow:hidden}.password-wrap input{border:0;border-radius:0;box-shadow:none!important}.password-wrap button{width:48px;border:0;background:transparent;color:var(--blue-700)}.check-row{grid-template-columns:auto 1fr!important;display:flex!important;align-items:center;gap:9px!important}.check-row input{width:auto}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;padding:11px 15px;font-weight:850;border:0}.primary-button{background:linear-gradient(135deg,var(--blue-600),#5ea8ff);color:#fff;box-shadow:0 9px 20px rgba(30,115,232,.17)}.secondary-button{background:#fff;border:1px solid var(--line);color:#294665}.primary-button.small,.secondary-button.small{padding:8px 11px;font-size:12px}.wide{width:100%}.auth-link{display:block;margin-top:17px;text-align:center;color:var(--blue-700);font-weight:800;font-size:13px}.auth-note{display:block;text-align:center;color:var(--muted);margin-top:16px;line-height:1.5}.auth-simple-body{display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef5ff,#f8fbff)}.auth-simple-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.auth-simple-card h1{font-size:28px;margin:12px 0 8px}.auth-simple-card>p{color:var(--muted);margin-bottom:22px}.mini-logo{width:56px;height:56px;border-radius:18px;font-weight:900;font-size:22px}

/* APP SHELL / HIDDEN MENU */
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:292px;z-index:60;padding:18px 16px;color:#fff;background:radial-gradient(circle at 85% 5%,rgba(147,198,255,.18),transparent 24%),linear-gradient(180deg,var(--blue-950),var(--blue-800) 56%,#0e59c3);box-shadow:0 20px 50px rgba(0,0,0,.18);transform:translateX(-102%);transition:transform .24s ease;display:flex;flex-direction:column}.sidebar.open{transform:translateX(0)}.menu-overlay{position:fixed;inset:0;background:rgba(7,25,55,.46);z-index:55;opacity:0;pointer-events:none;transition:opacity .24s ease}.menu-overlay.show{opacity:1;pointer-events:auto}.side-brand{display:flex;align-items:center;gap:13px;padding:8px 10px 20px}.brand-symbol{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#fff,#dceaff);color:var(--blue-800);display:grid;place-items:center}.brand-symbol svg{width:31px}.side-brand strong{display:block;font-size:18px;letter-spacing:.03em}.side-brand small{display:block;color:#bfd4f5;margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:2px}.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:15px;color:#d9e7ff;font-size:14px;font-weight:750}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.10);color:#fff}.side-nav svg{width:20px;height:20px;fill:currentColor;flex:none}.side-nav em{margin-left:auto;font-size:9px;font-style:normal;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.1);color:#b9d3f6}.disabled-link{opacity:.75}.nav-separator{margin:13px 10px 4px;color:#8db5ed;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.side-profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding:16px 7px 0}.side-profile-card{padding:13px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}.side-profile-card strong,.side-profile-card small{display:block}.side-profile-card small{color:#c7dcf9;font-size:12px;margin-top:3px}.side-profile-card button{border:0;background:transparent;color:#fff;padding:0;margin-top:10px;font-weight:800;font-size:12px}.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:30;height:76px;padding:0 24px;background:rgba(255,255,255,.90);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.top-left{display:flex;align-items:center;gap:12px}.menu-button{width:44px;height:44px;border:0;border-radius:13px;background:#eaf3ff;color:var(--blue-700);display:grid;place-items:center}.menu-button svg{width:22px}.top-left>div>strong{display:block;font-size:18px}.top-left>div>small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.top-user{display:flex;align-items:center;gap:10px}.role-chip,.count-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#ebf4ff;color:#0d57c0;border:1px solid #d7e8ff;font-size:11px;font-weight:850}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d8eaff,#b5d5ff);color:var(--blue-800);font-size:13px;font-weight:900}.content-area{max-width:1600px;margin:auto;padding:24px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-heading h1{font-size:29px;margin:0}.page-heading p{margin:6px 0 0;color:var(--muted)}

/* FLASH */
.flash{padding:13px 15px;border-radius:14px;margin-bottom:16px;border:1px solid}.flash.success{background:#effbf3;border-color:#cdeed8;color:#176d37}.flash.info{background:#f1f7ff;border-color:#d5e8ff;color:#17549f}.flash.danger{background:#fff4f4;border-color:#f3d1d1;color:#9d2727}.flash ul{margin:8px 0 0 20px}

/* DASHBOARD */
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.metric-card,.panel-card,.form-card{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.metric-card{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-card span{font-size:13px;color:var(--muted);font-weight:750}.metric-card strong{display:block;font-size:31px;margin-top:4px}.progress-ring{width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#e8eff8 0);display:grid;place-items:center;position:relative}.progress-ring:before{content:"";width:46px;height:46px;border-radius:50%;background:#fff;position:absolute;box-shadow:inset 0 0 0 1px #eef2f7}.progress-ring b{position:relative;z-index:1;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.panel-card{padding:18px}.span-2{min-width:0}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h2{font-size:16px;margin:0}.panel-header p{font-size:12px;color:var(--muted);margin:4px 0 0}.big-percent{font-size:26px}.general-progress{height:15px;border-radius:999px;background:#edf2f7;border:1px solid #e3ebf4;overflow:hidden}.general-progress span{display:block;height:100%;background:linear-gradient(90deg,#d32f2f 0%,#f57c00 28%,#fbc02d 58%,#7cb342 82%,#16a34a 100%);border-radius:999px}.legend-row{display:flex;justify-content:space-between;font-size:10px;color:#8995a7;margin-top:6px}.section-divider{height:1px;background:#edf1f6;margin:20px 0}.load-list{display:grid;gap:11px}.load-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr 34px;gap:12px;align-items:center;font-size:12px}.load-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-bar{height:11px;background:#edf3fa;border-radius:999px;overflow:hidden}.load-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue-600),#5fb0ff)}.alert-list{display:grid;gap:9px}.alert-item{padding:12px;border-radius:14px;border:1px solid #dde7f4;background:#fbfdff;display:block}.alert-item.critical{border-color:#f2cccc;background:#fff8f8}.alert-item strong{font-size:12px;display:block}.alert-item small{font-size:10px;color:#73829a;display:block;margin-top:4px}.task-panel{margin-top:14px}.text-link{font-size:12px;color:var(--blue-700);font-weight:850}.empty-state,.empty-cell{color:var(--muted);font-size:12px}.empty-cell{text-align:center!important;padding:28px!important}

/* TABLES */
.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1000px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid #edf2f7;text-align:left;font-size:12px;vertical-align:middle}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#718099;background:#f8fbff}.data-table td:first-child strong,.data-table td:first-child span{display:block}.data-table td:first-child span{color:#54657e;margin-top:3px}.data-table tbody tr:hover{background:#fbfdff}.priority,.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;margin-right:4px}.priority.high{background:#fee5e5;color:#af2525}.priority.medium{background:#fff3d1;color:#8d6000}.priority.low{background:#e7f7ed;color:#15763d}.status.not_started{background:#eff3f8;color:#65758d}.status.in_progress,.status.review{background:#fff3df;color:#ae6500}.status.completed{background:#e8f8ee;color:#177a3d}.status.paused{background:#eef0ff;color:#4f58af}.status.cancelled{background:#f2f3f5;color:#666}.status.overdue,.status.risk{background:#fff0f0;color:#be2424}.text-danger{color:#c32727!important;font-weight:800}.inline-progress{display:flex;align-items:center;gap:8px;min-width:120px}.inline-progress>div{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden;flex:1}.inline-progress span{display:block;height:100%;border-radius:999px}.inline-progress b{font-size:11px}.pagination-wrap{padding-top:14px}.pagination-wrap nav{display:flex;justify-content:flex-end}.pagination-wrap svg{width:18px}.pagination-wrap a,.pagination-wrap span{font-size:11px}

/* FILTERS + FORMS */
.filter-panel{margin-bottom:14px}.filters-grid{display:grid;grid-template-columns:1.25fr repeat(5,1fr) auto;gap:9px;align-items:center}.filter-actions{display:flex;gap:7px}.form-card{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:120px}.form-actions{display:flex;justify-content:flex-end}.check-field{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.check-field input{width:auto}.check-field span{font-weight:750}.task-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.task-summary div{padding:12px;border-radius:14px;background:#f8fbff;border:1px solid #e3ecf7}.task-summary span,.task-summary strong{display:block}.task-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.task-summary strong{font-size:13px;margin-top:4px}.department-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.department-grid article{padding:13px;border:1px solid #e3ecf7;background:#fbfdff;border-radius:14px}.department-grid strong,.department-grid span{display:block}.department-grid span{font-size:11px;color:var(--muted);margin-top:4px}.role-list{display:grid;gap:8px}.role-list>div{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #edf2f7}.role-list strong{font-size:12px}.role-list small{color:var(--muted)}.security-note{margin-top:14px;padding:12px;border-radius:13px;background:#eef5ff;color:#365a88;font-size:11px;line-height:1.5}

@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.filters-grid{grid-template-columns:repeat(3,1fr)}.filter-actions{grid-column:span 3}.task-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.dashboard-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:span 2}.department-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.content-area{padding:18px}}
@media(max-width:620px){.topbar{padding:0 13px;height:70px}.top-left>div>small,.role-chip{display:none}.top-left>div>strong{font-size:15px}.content-area{padding:13px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:25px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:25px}.progress-ring{width:54px;height:54px}.progress-ring:before{width:40px;height:40px}.load-row{grid-template-columns:105px 1fr 28px}.filters-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.task-summary{grid-template-columns:1fr 1fr}.auth-panel{padding:16px}.auth-card{padding:24px;border-radius:22px}}

/* =========================================================
   SIGESTA UI 1.1.0 - LOGIN INSTITUCIONAL / LOGOS / MOBILE
   ========================================================= */
html,body{min-width:0;max-width:100%;overflow-x:hidden}
body.menu-open{overflow:hidden}

/* LOGIN CENTRADO TIPO INSTITUCIONAL */
.auth-centered-body{min-height:100dvh;background:#f3f6fa;color:var(--text)}
.login-page{min-height:100dvh;width:100%;padding:clamp(22px,4vh,48px) 18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.login-card-modern{width:min(565px,100%);background:#fff;border:1px solid #d7e2ef;border-radius:24px;padding:clamp(26px,4vw,48px) clamp(22px,4vw,52px) 28px;box-shadow:0 20px 52px rgba(18,54,99,.12)}
.login-app-logo-wrap{display:flex;justify-content:center;align-items:center;min-height:108px;margin:0 auto 18px}
.login-app-logo{display:block;width:auto;max-width:min(300px,86%);max-height:125px;object-fit:contain}
.login-heading{text-align:center;margin-bottom:30px}
.login-heading h1{margin:0;color:#17233a;font-size:clamp(27px,4vw,34px);font-weight:950;letter-spacing:-.025em}
.login-heading p{margin:8px auto 0;color:#65758d;font-size:14px;line-height:1.55;max-width:430px}
.login-form{display:grid;gap:17px}
.login-field{display:grid;gap:7px;color:#18283f;font-size:13px;font-weight:850}
.login-field>span{display:block}
.login-field>input,.login-password-wrap{width:100%;height:52px;border:1px solid #b9cadf;border-radius:14px;background:#fff;transition:border-color .18s,box-shadow .18s}
.login-field>input{padding:0 15px;outline:none;color:#1a2b44;font-weight:600}
.login-field>input::placeholder,.login-password-wrap input::placeholder{color:#8795a8;font-weight:500}
.login-field>input:focus,.login-password-wrap:focus-within{border-color:#1e73e8;box-shadow:0 0 0 4px rgba(30,115,232,.12)}
.login-password-wrap{display:flex;align-items:center;overflow:hidden}
.login-password-wrap input{min-width:0;flex:1;height:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;padding:0 15px;color:#1a2b44;font-weight:600}
.password-eye{width:50px;height:50px;border:0;background:transparent;color:#71829a;display:grid;place-items:center;flex:none}
.password-eye:hover{color:var(--blue-700);background:#f7faff}
.password-eye svg{width:21px;height:21px}
.password-eye .eye-closed{display:none}
.password-eye.is-visible .eye-open{display:none}
.password-eye.is-visible .eye-closed{display:block}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-2px}
.remember-row{display:inline-flex;align-items:center;gap:8px;color:#52627a;font-size:12px;font-weight:700;cursor:pointer}
.remember-row input{width:17px;height:17px;margin:0;accent-color:var(--blue-600)}
.login-options>a{color:#0871d8;font-size:12px;font-weight:850;text-align:right}
.login-options>a:hover{text-decoration:underline}
.login-submit{width:100%;height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,#0d6fda,#1395ef);color:#fff;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 12px 22px rgba(19,128,229,.18);transition:transform .16s,box-shadow .16s}
.login-submit:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(19,128,229,.23)}
.login-submit svg{width:20px;height:20px;color:#ffcb21}
.restricted-access{margin-top:13px;height:40px;border:1px solid #d7e2ef;background:#f3f7fc;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#617188;font-size:12px;font-weight:750}
.login-security-note{text-align:center;color:#8290a2;font-size:10px;line-height:1.55;margin:16px 0 0}
.developer-brand{display:flex;align-items:center;justify-content:center;min-height:52px}
.developer-brand img{display:block;width:auto;max-width:205px;max-height:48px;object-fit:contain}
.compact-auth-page{padding-top:30px;padding-bottom:30px}
.auth-recovery-card{width:min(530px,100%)}
.back-login-link{display:block;text-align:center;color:#0b67c8;font-size:12px;font-weight:850;margin-top:19px}

/* MENU: SIEMPRE OCULTO Y LOGO REAL */
.sidebar{width:min(310px,88vw);transform:translateX(-105%);padding:16px 15px 18px;overscroll-behavior:contain}
.sidebar.open{transform:translateX(0)}
.side-brand-logo{width:100%;min-height:92px;margin:2px 0 8px;padding:10px 12px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.34);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.side-brand-logo img{display:block;width:auto;max-width:100%;max-height:82px;object-fit:contain}
.side-app-title{text-align:center;padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:11px}
.side-app-title strong{display:block;font-size:16px;letter-spacing:.08em;color:#fff}
.side-app-title small{display:block;margin-top:5px;color:#bcd4f6;font-size:10px;line-height:1.4}
.side-nav{flex:1;min-height:0;padding:1px 2px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.side-nav a{min-height:45px;padding:11px 13px;border:1px solid transparent;transition:background .16s,border-color .16s,transform .16s}
.side-nav a:hover{transform:translateX(2px);background:rgba(255,255,255,.09)}
.side-nav a.active{background:linear-gradient(135deg,rgba(68,139,240,.40),rgba(93,168,255,.16));border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.side-profile{padding-top:11px}
.side-profile-card{padding:12px 13px}
.menu-overlay{backdrop-filter:blur(1px)}
.menu-button{flex:none;box-shadow:inset 0 0 0 1px #d7e7fb;transition:background .16s,transform .16s}
.menu-button:hover{background:#dcecff;transform:translateY(-1px)}

/* APP RESPONSIVE GENERAL */
.main-area{width:100%;max-width:100%}
.content-area{width:100%;min-width:0}
.panel-card,.metric-card,.form-card,.table-scroll{min-width:0}
img,svg{max-width:100%}

@media(max-width:900px){
    .login-page{justify-content:flex-start;padding-top:max(26px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}
    .login-card-modern{margin-top:auto;margin-bottom:0}
    .developer-brand{margin-bottom:auto}
    .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}

@media(max-width:620px){
    .login-page{padding-left:12px;padding-right:12px;gap:18px}
    .login-card-modern{padding:26px 20px 22px;border-radius:21px;box-shadow:0 14px 34px rgba(18,54,99,.11)}
    .login-app-logo-wrap{min-height:86px;margin-bottom:13px}
    .login-app-logo{max-width:min(250px,90%);max-height:100px}
    .login-heading{margin-bottom:24px}
    .login-heading h1{font-size:27px}
    .login-heading p{font-size:13px}
    .login-field>input,.login-password-wrap,.login-submit{height:50px}
    .password-eye{width:48px;height:48px}
    .login-options{align-items:flex-start}
    .remember-row,.login-options>a{font-size:11px}
    .developer-brand img{max-width:170px;max-height:42px}
    .sidebar{width:min(300px,90vw)}
    .side-brand-logo{min-height:80px}
    .side-brand-logo img{max-height:70px}
    .topbar{height:68px}
    .content-area{padding:12px}
    .kpi-grid{grid-template-columns:1fr 1fr}
    .data-table{min-width:870px}
}

@media(max-width:430px){
    .login-card-modern{padding-left:16px;padding-right:16px}
    .login-options{gap:8px}
    .login-options>a{max-width:145px}
    .restricted-access{font-size:11px}
    .kpi-grid{grid-template-columns:1fr 1fr;gap:8px}
    .metric-card{padding:12px 10px}
    .metric-card span{font-size:11px}
    .metric-card strong{font-size:23px}
    .progress-ring{width:50px;height:50px}
    .progress-ring:before{width:37px;height:37px}
    .task-summary{grid-template-columns:1fr}
}
/* SIGESTA Tareas unificado v1.2.1 */
.action-row{display:flex;gap:8px;flex-wrap:wrap}.task-mini{display:block;margin-top:4px;color:#77869a;font-size:10px}.task-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:14px}.task-main-card,.task-side-card{padding:18px}.task-side-stack{display:grid;gap:14px;align-content:start}.task-progress-hero{padding:16px;border-radius:16px;background:#f7faff;border:1px solid #e0eaf6;margin-bottom:14px}.task-progress-hero>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.task-progress-hero span{font-size:12px;color:#6b7a91;font-weight:700}.task-progress-hero strong{font-size:28px}.task-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.task-detail-summary>div{padding:12px;border:1px solid #e2ebf6;border-radius:14px;background:#fbfdff}.task-detail-summary span,.task-detail-summary strong{display:block}.task-detail-summary span{font-size:10px;color:#6d7c91;text-transform:uppercase;letter-spacing:.04em}.task-detail-summary strong{font-size:13px;margin-top:4px}.detail-block{margin-top:18px;padding-top:16px;border-top:1px solid #edf2f7}.detail-block h3{margin:0 0 10px;font-size:14px}.detail-block p{margin:0;color:#53647c;font-size:13px;line-height:1.6}.person-chip{display:inline-flex;margin:0 6px 6px 0;padding:7px 10px;border-radius:999px;background:#edf5ff;color:#0b5fbe;font-size:11px;font-weight:800}.attachment-list{display:grid;gap:8px}.attachment-list a{padding:10px 12px;border:1px solid #e0eaf6;border-radius:12px;background:#fbfdff;color:#16375f}.attachment-list strong,.attachment-list small{display:block}.attachment-list strong{font-size:12px}.attachment-list small{font-size:10px;color:#7a8798;margin-top:3px}.comment-form{display:grid;gap:8px}.comment-form textarea{width:100%;border:1px solid #d7e2ef;border-radius:12px;padding:10px;resize:vertical}.comment-list{display:grid;gap:10px;margin-top:14px}.comment-list article{padding:11px;border-radius:13px;background:#f8fbff;border:1px solid #e3ecf7}.comment-list article>div{display:flex;justify-content:space-between;gap:8px}.comment-list strong{font-size:11px}.comment-list small{font-size:9px;color:#7a889a}.comment-list p{font-size:12px;line-height:1.5;margin:7px 0 0;color:#475970}.activity-list{display:grid;gap:8px}.activity-list article{display:grid;grid-template-columns:10px 1fr;gap:9px}.activity-list article>span{width:8px;height:8px;border-radius:50%;background:#1e73e8;margin-top:5px}.activity-list strong{font-size:10px}.activity-list small{display:block;font-size:9px;color:#8692a2}.activity-list p{font-size:10px;color:#5c6d83;margin:3px 0 0;line-height:1.4}.form-grid label small{display:block;color:#78869a;font-size:10px;margin-top:5px}.form-grid select[multiple]{min-height:118px}.general-progress{height:13px;background:#edf2f7;border-radius:999px;overflow:hidden}.general-progress span{display:block;height:100%;border-radius:999px}
@media(max-width:980px){.task-detail-grid{grid-template-columns:1fr}.task-detail-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.task-detail-summary{grid-template-columns:1fr 1fr}.task-main-card,.task-side-card{padding:14px}.task-progress-hero strong{font-size:24px}}
@media(max-width:420px){.task-detail-summary{grid-template-columns:1fr}}


/* =========================================================
   SIGESTA v1.3.5 - MOBILE SIN SCROLL HORIZONTAL
   ========================================================= */
@media (max-width:1024px){
    html,body,.app-shell,.main-area,.content-area{
        width:100%;
        max-width:100%;
        min-width:0;
        overflow-x:hidden!important;
    }
    .content-area>*{
        min-width:0;
        max-width:100%;
    }
    .sigesta-dashboard,
    .sigesta-dashboard .sd-card,
    .sigesta-dashboard .sd-recent{
        width:100%;
        max-width:100%;
        min-width:0;
        overflow-x:hidden!important;
    }
    .sigesta-dashboard .sd-table-wrap{
        display:none!important;
        overflow:hidden!important;
        width:0!important;
        max-width:0!important;
        height:0!important;
    }
    .sigesta-dashboard .sd-mobile-tasks{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important;
    }
}

/* SIGESTA_V1_3_6_GLOBAL_BEGIN */
/* =========================================================
   SIGESTA v1.3.6 - APP FLUIDA SEGÚN PANTALLA
   ========================================================= */

/* El contenido ya no se limita a 1600px en pantallas grandes */
.content-area{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:
        clamp(16px,1.65vw,38px)
        clamp(14px,2.45vw,58px)
        clamp(24px,2vw,44px)!important;
}

/* Barra superior fluida */
.topbar{
    min-height:clamp(70px,4.6vw,88px);
    height:auto;
    padding-left:clamp(14px,1.8vw,40px);
    padding-right:clamp(14px,1.8vw,40px);
}
.menu-button{
    width:clamp(42px,2.75vw,54px);
    height:clamp(42px,2.75vw,54px);
    border-radius:clamp(12px,.8vw,16px);
}
.menu-button svg{
    width:clamp(21px,1.35vw,27px);
    height:clamp(21px,1.35vw,27px);
}
.top-left{
    gap:clamp(10px,.8vw,16px);
}
.top-left>div>strong{
    font-size:clamp(16px,1vw,22px);
}
.top-left>div>small{
    font-size:clamp(11px,.67vw,14px);
}
.role-chip,.count-chip{
    padding:clamp(6px,.45vw,9px) clamp(9px,.65vw,13px);
    font-size:clamp(11px,.67vw,14px);
}
.avatar{
    width:clamp(40px,2.55vw,52px);
    height:clamp(40px,2.55vw,52px);
    font-size:clamp(13px,.78vw,16px);
}

/* MENÚ: más visible en PC/TV, pero diseñado para caber sin scroll */
.sidebar{
    width:clamp(300px,18vw,360px)!important;
    max-width:90vw;
    padding:
        clamp(12px,1.35vh,18px)
        clamp(12px,.95vw,18px)
        clamp(12px,1.35vh,18px)!important;
    overflow:hidden!important;
}
.side-brand-logo{
    min-height:clamp(74px,9vh,105px)!important;
    max-height:clamp(82px,10.5vh,118px);
    padding:clamp(7px,.8vh,11px) clamp(8px,.7vw,13px)!important;
    margin:0 0 clamp(5px,.7vh,9px)!important;
}
.side-brand-logo img{
    max-height:clamp(64px,8.5vh,92px)!important;
}
.side-app-title{
    padding:0 7px clamp(7px,1vh,12px)!important;
    margin-bottom:clamp(5px,.65vh,9px)!important;
}
.side-app-title strong{
    font-size:clamp(15px,.9vw,19px)!important;
}
.side-app-title small{
    font-size:clamp(9px,.58vw,12px)!important;
    margin-top:clamp(2px,.35vh,4px)!important;
}
.side-nav{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden!important;
    gap:clamp(2px,.45vh,6px)!important;
    padding:0 2px!important;
}
.side-nav a{
    min-height:0!important;
    height:clamp(38px,4.65vh,50px);
    padding:
        clamp(7px,.75vh,11px)
        clamp(10px,.75vw,14px)!important;
    border-radius:clamp(11px,.75vw,15px);
    font-size:clamp(13px,.78vw,16px)!important;
    line-height:1.12;
}
.side-nav svg{
    width:clamp(18px,1.2vw,23px)!important;
    height:clamp(18px,1.2vw,23px)!important;
}
.side-nav em{
    font-size:clamp(8px,.5vw,10px)!important;
}
.nav-separator{
    margin:
        clamp(5px,.65vh,9px)
        9px
        clamp(2px,.3vh,4px)!important;
    font-size:clamp(8px,.5vw,10px)!important;
}
.side-profile{
    flex:none;
    margin-top:clamp(5px,.7vh,9px)!important;
    padding:clamp(7px,.8vh,11px) 5px 0!important;
}
.side-profile-card{
    padding:clamp(9px,.85vh,12px) clamp(10px,.7vw,13px)!important;
    border-radius:clamp(13px,.8vw,17px)!important;
}
.side-profile-card strong{
    font-size:clamp(12px,.72vw,15px);
}
.side-profile-card small{
    font-size:clamp(10px,.62vw,12px)!important;
}
.side-profile-card button{
    margin-top:clamp(5px,.55vh,8px)!important;
    font-size:clamp(10px,.62vw,12px)!important;
}

/* En pantallas bajas compacta automáticamente para evitar barra en menú */
@media (max-height:760px) and (min-width:700px){
    .sidebar{
        padding-top:10px!important;
        padding-bottom:10px!important;
    }
    .side-brand-logo{
        min-height:62px!important;
        max-height:70px!important;
    }
    .side-brand-logo img{
        max-height:57px!important;
    }
    .side-app-title{
        padding-bottom:6px!important;
        margin-bottom:4px!important;
    }
    .side-app-title small{
        display:none!important;
    }
    .side-nav{
        gap:2px!important;
    }
    .side-nav a{
        height:37px!important;
        padding-top:6px!important;
        padding-bottom:6px!important;
    }
    .nav-separator{
        margin-top:4px!important;
        margin-bottom:2px!important;
    }
    .side-profile{
        padding-top:6px!important;
        margin-top:4px!important;
    }
    .side-profile-card{
        padding:8px 10px!important;
    }
}

/* Pantallas grandes: más uso real del viewport */
@media (min-width:1600px){
    .content-area{
        padding-left:clamp(34px,2.5vw,64px)!important;
        padding-right:clamp(34px,2.5vw,64px)!important;
    }
}

/* Móvil: conserva tamaños táctiles y cero overflow */
@media (max-width:620px){
    .content-area{
        padding:12px!important;
    }
    .topbar{
        min-height:68px;
        padding-left:13px!important;
        padding-right:13px!important;
    }
    .menu-button{
        width:42px;
        height:42px;
    }
    .sidebar{
        width:min(300px,90vw)!important;
        padding:12px!important;
    }
    .side-nav a{
        height:42px;
        font-size:13px!important;
    }
}
/* SIGESTA_V1_3_6_GLOBAL_END */

/* SIGESTA_V137_GLOBAL_BEGIN */
/* =========================================================
   SIGESTA v1.3.7 - ESCALA REAL + ANCHO COMPLETO
   ========================================================= */

/* ESCRITORIO / PC: aprovechar todo el viewport */
@media (min-width:1025px){
    html body .main-area{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
    }

    html body .content-area{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:28px 30px 42px!important;
    }

    html body .topbar{
        min-height:78px!important;
        height:78px!important;
        padding-left:22px!important;
        padding-right:22px!important;
    }

    html body .menu-button{
        width:46px!important;
        height:46px!important;
        border-radius:14px!important;
    }

    html body .menu-button svg{
        width:24px!important;
        height:24px!important;
    }

    html body .top-left{
        gap:14px!important;
    }

    html body .top-left>div>strong{
        font-size:19px!important;
        line-height:1.15!important;
    }

    html body .top-left>div>small{
        font-size:12px!important;
    }

    html body .role-chip,
    html body .count-chip{
        font-size:12px!important;
        padding:7px 11px!important;
    }

    html body .avatar{
        width:44px!important;
        height:44px!important;
        font-size:14px!important;
    }

    /* Menú más legible pero sin scrollbar */
    html body .sidebar{
        width:330px!important;
        max-width:90vw!important;
        padding:14px 14px 14px!important;
        overflow:hidden!important;
    }

    html body .side-brand-logo{
        min-height:94px!important;
        max-height:105px!important;
        padding:8px 10px!important;
        margin:0 0 7px!important;
    }

    html body .side-brand-logo img{
        max-height:86px!important;
    }

    html body .side-app-title{
        padding:0 7px 10px!important;
        margin-bottom:7px!important;
    }

    html body .side-app-title strong{
        font-size:18px!important;
        line-height:1.1!important;
    }

    html body .side-app-title small{
        font-size:11px!important;
        margin-top:4px!important;
        line-height:1.3!important;
    }

    html body .side-nav{
        gap:4px!important;
        padding:0 2px 4px!important;
        overflow:hidden!important;
        scrollbar-width:none!important;
    }

    html body .side-nav::-webkit-scrollbar{
        display:none!important;
    }

    html body .side-nav a{
        height:47px!important;
        min-height:47px!important;
        padding:9px 13px!important;
        font-size:15px!important;
        border-radius:13px!important;
        line-height:1!important;
    }

    html body .side-nav svg{
        width:21px!important;
        height:21px!important;
        flex:0 0 21px!important;
    }

    html body .side-nav em{
        font-size:9px!important;
    }

    html body .nav-separator{
        margin:6px 9px 2px!important;
        font-size:9px!important;
    }

    html body .side-profile{
        margin-top:6px!important;
        padding-top:7px!important;
    }

    html body .side-profile-card{
        padding:10px 12px!important;
        border-radius:14px!important;
    }

    html body .side-profile-card strong{
        font-size:13px!important;
    }

    html body .side-profile-card small,
    html body .side-profile-card button{
        font-size:11px!important;
    }
}

/* PC Full HD / monitor grande / TV 1080p */
@media (min-width:1500px){
    html body .content-area{
        padding:34px 42px 50px!important;
    }

    html body .topbar{
        min-height:84px!important;
        height:84px!important;
        padding-left:30px!important;
        padding-right:30px!important;
    }

    html body .menu-button{
        width:50px!important;
        height:50px!important;
    }

    html body .top-left>div>strong{
        font-size:21px!important;
    }

    html body .role-chip{
        font-size:13px!important;
        padding:8px 12px!important;
    }

    html body .avatar{
        width:48px!important;
        height:48px!important;
        font-size:15px!important;
    }

    html body .sidebar{
        width:350px!important;
    }

    html body .side-brand-logo{
        min-height:104px!important;
        max-height:116px!important;
    }

    html body .side-brand-logo img{
        max-height:95px!important;
    }

    html body .side-app-title strong{
        font-size:19px!important;
    }

    html body .side-app-title small{
        font-size:11.5px!important;
    }

    html body .side-nav a{
        height:50px!important;
        min-height:50px!important;
        font-size:15.5px!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }
}

/* 2K/4K: crece, pero sin exagerar */
@media (min-width:2200px){
    html body .content-area{
        padding:42px 58px 58px!important;
    }

    html body .topbar{
        min-height:92px!important;
        height:92px!important;
    }

    html body .top-left>div>strong{
        font-size:23px!important;
    }

    html body .sidebar{
        width:375px!important;
    }

    html body .side-nav a{
        height:54px!important;
        min-height:54px!important;
        font-size:16.5px!important;
    }
}

/* Portátiles con poca altura: menú compacto SIN scroll */
@media (min-width:700px) and (max-height:820px){
    html body .sidebar{
        padding-top:9px!important;
        padding-bottom:9px!important;
    }

    html body .side-brand-logo{
        min-height:68px!important;
        max-height:76px!important;
        margin-bottom:4px!important;
    }

    html body .side-brand-logo img{
        max-height:61px!important;
    }

    html body .side-app-title{
        padding-bottom:5px!important;
        margin-bottom:4px!important;
    }

    html body .side-app-title small{
        display:none!important;
    }

    html body .side-nav{
        gap:1px!important;
    }

    html body .side-nav a{
        height:37px!important;
        min-height:37px!important;
        padding-top:5px!important;
        padding-bottom:5px!important;
        font-size:13px!important;
    }

    html body .nav-separator{
        margin-top:3px!important;
        margin-bottom:1px!important;
    }

    html body .side-profile{
        padding-top:4px!important;
        margin-top:3px!important;
    }

    html body .side-profile-card{
        padding:7px 10px!important;
    }
}
/* SIGESTA_V137_GLOBAL_END */

/* SIGESTA_V1_3_8_MENU_BEGIN */
/* =========================================================
   SIGESTA v1.3.8 - MENU ADAPTATIVO REAL
   ========================================================= */

/*
 * Regla general:
 * - PC normal: menú claramente más visible.
 * - Full HD / TV: módulos e iconos mucho mayores.
 * - 2K / 4K: escala adicional controlada.
 * - Pantallas bajas: compacta altura automáticamente.
 * - Móvil: mantiene tamaño táctil sin overflow.
 */

/* PC / escritorio */
@media (min-width:1025px) {
    html body .sidebar {
        width: 350px !important;
        max-width: 92vw !important;
        padding: 16px 16px 15px !important;
        overflow: hidden !important;
    }

    html body .side-brand-logo {
        min-height: 102px !important;
        max-height: 112px !important;
        padding: 8px 10px !important;
        margin: 0 0 8px !important;
        border-radius: 18px !important;
    }

    html body .side-brand-logo img {
        max-width: 100% !important;
        max-height: 92px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }

    html body .side-app-title {
        padding: 0 9px 12px !important;
        margin-bottom: 8px !important;
    }

    html body .side-app-title strong {
        display: block !important;
        font-size: 20px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        letter-spacing: .01em !important;
    }

    html body .side-app-title small {
        display: block !important;
        font-size: 12.5px !important;
        line-height: 1.35 !important;
        margin-top: 4px !important;
    }

    html body .side-nav {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        padding: 0 2px 4px !important;
        overflow: hidden !important;
        scrollbar-width: none !important;
    }

    html body .side-nav::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    html body .side-nav a {
        width: 100% !important;
        min-height: 50px !important;
        height: 50px !important;
        padding: 10px 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
        line-height: 1 !important;
        font-weight: 750 !important;
        white-space: nowrap !important;
    }

    html body .side-nav a svg {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        flex: 0 0 24px !important;
        stroke-width: 2 !important;
    }

    html body .side-nav a i,
    html body .side-nav a .icon,
    html body .side-nav a [class*="icon"] {
        font-size: 24px !important;
        width: 24px !important;
        min-width: 24px !important;
        text-align: center !important;
    }

    html body .side-nav a span:not(.count-chip) {
        font-size: inherit !important;
        line-height: 1 !important;
    }

    html body .side-nav em {
        margin-left: auto !important;
        font-size: 10px !important;
        padding: 4px 7px !important;
        border-radius: 999px !important;
    }

    html body .nav-separator {
        margin: 7px 10px 3px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        letter-spacing: .08em !important;
    }

    html body .side-profile {
        flex: none !important;
        margin-top: 7px !important;
        padding: 8px 5px 0 !important;
    }

    html body .side-profile-card {
        padding: 12px 13px !important;
        border-radius: 16px !important;
    }

    html body .side-profile-card strong {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    html body .side-profile-card small {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
    }

    html body .side-profile-card button,
    html body .side-profile-card a {
        font-size: 11.5px !important;
    }
}

/* Full HD / monitor ancho / TV */
@media (min-width:1500px) and (min-height:850px) {
    html body .sidebar {
        width: 390px !important;
        padding: 18px 18px 17px !important;
    }

    html body .side-brand-logo {
        min-height: 118px !important;
        max-height: 128px !important;
        padding: 9px 12px !important;
        margin-bottom: 9px !important;
    }

    html body .side-brand-logo img {
        max-height: 107px !important;
    }

    html body .side-app-title {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-bottom: 14px !important;
        margin-bottom: 9px !important;
    }

    html body .side-app-title strong {
        font-size: 22px !important;
    }

    html body .side-app-title small {
        font-size: 13.5px !important;
        margin-top: 5px !important;
    }

    html body .side-nav {
        gap: 6px !important;
    }

    html body .side-nav a {
        min-height: 56px !important;
        height: 56px !important;
        padding: 12px 16px !important;
        gap: 16px !important;
        border-radius: 15px !important;
        font-size: 17.5px !important;
    }

    html body .side-nav a svg {
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;
        flex-basis: 27px !important;
    }

    html body .side-nav a i,
    html body .side-nav a .icon,
    html body .side-nav a [class*="icon"] {
        font-size: 27px !important;
        width: 27px !important;
        min-width: 27px !important;
    }

    html body .nav-separator {
        font-size: 11px !important;
        margin-top: 8px !important;
        margin-bottom: 3px !important;
    }

    html body .side-profile {
        margin-top: 8px !important;
        padding-top: 9px !important;
    }

    html body .side-profile-card {
        padding: 13px 15px !important;
        border-radius: 17px !important;
    }

    html body .side-profile-card strong {
        font-size: 15.5px !important;
    }

    html body .side-profile-card small,
    html body .side-profile-card button,
    html body .side-profile-card a {
        font-size: 12.5px !important;
    }
}

/* 2K / 4K */
@media (min-width:2200px) and (min-height:1000px) {
    html body .sidebar {
        width: 425px !important;
        padding: 20px !important;
    }

    html body .side-brand-logo {
        min-height: 132px !important;
        max-height: 145px !important;
    }

    html body .side-brand-logo img {
        max-height: 121px !important;
    }

    html body .side-app-title strong {
        font-size: 24px !important;
    }

    html body .side-app-title small {
        font-size: 14px !important;
    }

    html body .side-nav {
        gap: 7px !important;
    }

    html body .side-nav a {
        min-height: 60px !important;
        height: 60px !important;
        padding: 13px 18px !important;
        gap: 17px !important;
        font-size: 18.5px !important;
        border-radius: 17px !important;
    }

    html body .side-nav a svg {
        width: 29px !important;
        height: 29px !important;
        min-width: 29px !important;
        flex-basis: 29px !important;
    }

    html body .side-nav a i,
    html body .side-nav a .icon,
    html body .side-nav a [class*="icon"] {
        width: 29px !important;
        min-width: 29px !important;
        font-size: 29px !important;
    }
}

/* Laptop / PC con poca altura: compactación automática SIN scrollbar */
@media (min-width:700px) and (max-height:849px) {
    html body .sidebar {
        width: 330px !important;
        padding: 10px 13px !important;
        overflow: hidden !important;
    }

    html body .side-brand-logo {
        min-height: 68px !important;
        max-height: 76px !important;
        padding: 5px 8px !important;
        margin-bottom: 4px !important;
    }

    html body .side-brand-logo img {
        max-height: 59px !important;
    }

    html body .side-app-title {
        padding: 0 7px 6px !important;
        margin-bottom: 4px !important;
    }

    html body .side-app-title strong {
        font-size: 16px !important;
    }

    html body .side-app-title small {
        display: none !important;
    }

    html body .side-nav {
        gap: 2px !important;
        overflow: hidden !important;
    }

    html body .side-nav a {
        min-height: 38px !important;
        height: 38px !important;
        padding: 6px 11px !important;
        gap: 11px !important;
        border-radius: 11px !important;
        font-size: 13.5px !important;
    }

    html body .side-nav a svg {
        width: 19px !important;
        height: 19px !important;
        min-width: 19px !important;
        flex-basis: 19px !important;
    }

    html body .side-nav a i,
    html body .side-nav a .icon,
    html body .side-nav a [class*="icon"] {
        width: 19px !important;
        min-width: 19px !important;
        font-size: 19px !important;
    }

    html body .nav-separator {
        margin: 3px 9px 1px !important;
        font-size: 8px !important;
    }

    html body .side-profile {
        margin-top: 3px !important;
        padding-top: 4px !important;
    }

    html body .side-profile-card {
        padding: 7px 10px !important;
        border-radius: 12px !important;
    }

    html body .side-profile-card strong {
        font-size: 12px !important;
    }

    html body .side-profile-card small {
        font-size: 9.5px !important;
    }

    html body .side-profile-card button,
    html body .side-profile-card a {
        font-size: 9.5px !important;
        margin-top: 4px !important;
    }
}

/* Tablet */
@media (min-width:621px) and (max-width:1024px) {
    html body .sidebar {
        width: 330px !important;
        max-width: 84vw !important;
        padding: 14px !important;
    }

    html body .side-brand-logo {
        min-height: 90px !important;
        max-height: 100px !important;
    }

    html body .side-brand-logo img {
        max-height: 80px !important;
    }

    html body .side-app-title strong {
        font-size: 18px !important;
    }

    html body .side-app-title small {
        font-size: 11.5px !important;
    }

    html body .side-nav a {
        min-height: 48px !important;
        height: 48px !important;
        padding: 10px 13px !important;
        gap: 13px !important;
        font-size: 15px !important;
    }

    html body .side-nav a svg {
        width: 23px !important;
        height: 23px !important;
        min-width: 23px !important;
        flex-basis: 23px !important;
    }
}

/* Móvil: táctil, limpio, sin hacer el menú gigantesco */
@media (max-width:620px) {
    html body .sidebar {
        width: min(315px, 90vw) !important;
        max-width: 90vw !important;
        padding: 12px !important;
        overflow: hidden !important;
    }

    html body .side-brand-logo {
        min-height: 78px !important;
        max-height: 88px !important;
        padding: 6px 8px !important;
        margin-bottom: 5px !important;
    }

    html body .side-brand-logo img {
        max-height: 69px !important;
    }

    html body .side-app-title {
        padding: 0 7px 8px !important;
        margin-bottom: 5px !important;
    }

    html body .side-app-title strong {
        font-size: 17px !important;
    }

    html body .side-app-title small {
        font-size: 10.5px !important;
    }

    html body .side-nav {
        gap: 3px !important;
        overflow: hidden !important;
    }

    html body .side-nav a {
        min-height: 44px !important;
        height: 44px !important;
        padding: 8px 12px !important;
        gap: 12px !important;
        border-radius: 12px !important;
        font-size: 14px !important;
    }

    html body .side-nav a svg {
        width: 21px !important;
        height: 21px !important;
        min-width: 21px !important;
        flex-basis: 21px !important;
    }

    html body .side-nav a i,
    html body .side-nav a .icon,
    html body .side-nav a [class*="icon"] {
        width: 21px !important;
        min-width: 21px !important;
        font-size: 21px !important;
    }

    html body .nav-separator {
        margin: 4px 9px 2px !important;
        font-size: 8px !important;
    }

    html body .side-profile {
        margin-top: 4px !important;
        padding-top: 5px !important;
    }

    html body .side-profile-card {
        padding: 9px 10px !important;
    }
}

/* Seguridad definitiva: NUNCA scrollbar visible dentro del drawer */
html body .sidebar,
html body .side-nav {
    scrollbar-width: none !important;
}

html body .sidebar::-webkit-scrollbar,
html body .side-nav::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}
/* SIGESTA_V1_3_8_MENU_END */
