@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#202938;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f6fa;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.login-page{background:linear-gradient(135deg,#eef3fa,#f8f9fc);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:28px 16px;display:flex}.login-card{background:#fff;border:1px solid #e8edf4;border-radius:16px;width:100%;max-width:430px;padding:42px;box-shadow:0 18px 55px #1f314b17}.login-brand{text-align:center;margin-bottom:34px}.brand-icon{color:#fff;background:#2457a7;border-radius:12px;place-items:center;width:42px;height:42px;font-size:24px;font-weight:800;display:grid}.brand-icon.large{width:56px;height:56px;margin:auto;font-size:30px}.login-brand h1{letter-spacing:2px;margin:13px 0 4px;font-size:22px}.login-brand p,.login-heading p{color:#778397;margin:0;font-size:13px}.login-heading{margin-bottom:24px}.login-heading h2{margin:0 0 7px;font-size:23px}.login-card form{flex-direction:column;display:flex}.login-card label{margin:15px 0 8px;font-size:13px;font-weight:600}.login-card input{color:#202938;background:#fff;border:1px solid #dce3ed;border-radius:8px;outline:none;width:100%;padding:13px 14px}.login-card input:focus{border-color:#3269b8;box-shadow:0 0 0 3px #3269b81c}.login-button{color:#fff;background:#2457a7;border:0;border-radius:8px;margin-top:25px;padding:14px;font-weight:700}.login-button:hover{background:#194786}.login-button:disabled{opacity:.65;cursor:wait}.error-message{color:#b42318;background:#fff0f0;border-radius:7px;margin-top:14px;padding:10px;font-size:13px}.login-footer{color:#8993a3;text-align:center;border-top:1px solid #edf0f5;margin-top:26px;padding-top:18px;font-size:11px}.page-footer{color:#8791a1;margin-top:22px;font-size:11px}.dashboard{background:#f4f6fa;min-height:100vh;display:flex}.sidebar{color:#fff;background:#172b49;flex-direction:column;flex-shrink:0;width:250px;min-height:100vh;padding:25px 17px;display:flex}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand strong{letter-spacing:1.5px;font-size:15px;display:block}.brand span{color:#aab8ce;margin-top:4px;font-size:11px;display:block}.menu-label{color:#8fa2bf;letter-spacing:1.2px;margin:19px 10px 10px;font-size:10px;font-weight:700}.sidebar nav{gap:5px;display:grid}.menu-item{color:#d4deed;border-radius:7px;align-items:center;gap:12px;padding:12px;font-size:13px;text-decoration:none;display:flex}.menu-item:hover,.menu-item.active{color:#fff;background:#29466e}.menu-item.active{box-shadow:inset 3px 0 #76a8f4}.sidebar-bottom{color:#b9c7da;margin-top:auto;padding:18px 8px 0;font-size:11px}.status-dot{background:#42d392;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.main-area{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e7ebf1;justify-content:space-between;align-items:center;gap:18px;min-height:86px;padding:17px 34px;display:flex}.breadcrumb{color:#8a95a5;font-size:11px}.topbar h1{margin:5px 0 0;font-size:20px}.user-info{align-items:center;gap:10px;display:flex}.avatar{color:#2457a7;background:#e4edfa;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.user-info strong,.user-info span{display:block}.user-info strong{font-size:12px}.user-info span{color:#8a95a5;margin-top:3px;font-size:10px}.logout{color:#48566a;background:#fff;border:1px solid #dce3ed;border-radius:7px;margin-left:12px;padding:8px 12px;font-size:12px}.content{max-width:1250px;margin:auto;padding:32px 34px}.welcome{justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;display:flex}.welcome h2{margin:0 0 7px;font-size:20px}.welcome p{color:#8590a0;margin:0;font-size:12px}.role-tag{color:#2457a7;background:#e7eef9;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.stat-card{background:#fff;border:1px solid #e7ebf1;border-radius:11px;padding:20px;box-shadow:0 3px 12px #263b5908}.stat-icon{border-radius:9px;place-items:center;width:36px;height:36px;margin-bottom:16px;font-size:18px;display:grid}.stat-icon.blue{color:#2865b5;background:#e8f0fd}.stat-icon.orange{color:#dc8a24;background:#fff3e4}.stat-icon.green{color:#239a60;background:#e5f7ee}.stat-card>span,.stat-card strong,.stat-card small{display:block}.stat-card>span{color:#69778a;font-size:11px}.stat-card strong{color:#202d40;margin:7px 0;font-size:27px}.stat-card small{color:#929cac;font-size:10px}.section-card{background:#fff;border:1px solid #e7ebf1;border-radius:11px;margin-top:22px;padding:23px}.section-card h3{margin:0 0 7px;font-size:15px}.section-card>p{color:#8994a4;margin:0;font-size:11px}.modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.module-card{border:1px solid #edf0f5;border-radius:8px;flex-direction:column;align-items:flex-start;gap:7px;min-height:105px;padding:15px;display:flex}.module-card>span{color:#2865b5;font-size:20px}.module-card strong{font-size:12px}.module-card small{color:#8994a4;font-size:10px}.loading-data{color:#69778a;font-size:13px}@media (width<=850px){.sidebar{width:205px}.topbar,.content{padding-left:22px;padding-right:22px}.stats-grid{grid-template-columns:1fr}}@media (width<=600px){.dashboard{display:block}.sidebar{width:100%;min-height:auto;padding:14px}.brand{padding:0 5px 12px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-label,.sidebar-bottom{display:none}.topbar{align-items:flex-start;padding:15px}.topbar h1{font-size:17px}.user-info{gap:6px}.user-info>div:nth-child(2){display:none}.logout{margin-left:3px}.content{padding:22px 15px}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{padding:30px 23px}}.menu-item.disabled{opacity:.45;cursor:not-allowed}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{flex-wrap:wrap;gap:10px;margin-top:22px;margin-bottom:18px;display:flex}.filters input:focus,.filters select:focus,.user-form input:focus{border-color:#3269b8;box-shadow:0 0 0 3px #3269b81c}.secondary-button:hover{background:#f1f4f8}button:disabled{opacity:.5;cursor:not-allowed}.table-wrap{border:1px solid #e7ebf1;border-radius:8px;width:100%;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:750px;font-size:12px}th{color:#526176;text-align:left;white-space:nowrap;background:#f5f7fa;padding:13px 12px;font-weight:700}td{color:#39475b;vertical-align:middle;border-top:1px solid #edf0f5;padding:12px}.small-button{white-space:nowrap;border:0;border-radius:5px;padding:6px 9px;font-size:11px;font-weight:600}.pagination{color:#69778a;justify-content:center;align-items:center;gap:18px;margin-top:20px;font-size:12px;display:flex}.user-form input{width:100%}.user-form button{justify-self:start}@media (width<=850px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-form{grid-template-columns:1fr}}@media (width<=600px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{padding:10px 7px;font-size:11px}.stats-grid{grid-template-columns:1fr}.filters{flex-direction:column}.filters input,.filters select,.filters button{width:100%}.pagination{gap:8px}.pagination button{padding:8px}}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.55}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.menu-item.disabled{color:#7e8da5;cursor:not-allowed}.filters{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.filters input,.filters select,.user-form input{color:#202938;background:#fff;border:1px solid #dce3ed;border-radius:7px;outline:none;min-width:150px;padding:11px 12px}.filters input:focus,.filters select:focus,.user-form input:focus{border-color:#3269b8}.primary-button,.secondary-button{border-radius:7px;padding:10px 15px;font-size:12px;font-weight:600}.primary-button{color:#fff;background:#2457a7;border:1px solid #2457a7}.primary-button:hover{background:#194786}.secondary-button{color:#48566a;background:#fff;border:1px solid #dce3ed}.table-summary{color:#69778a;margin:22px 0 12px;font-size:12px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#637187;text-transform:uppercase;white-space:nowrap;background:#f6f8fb;padding:13px 12px;font-size:10px}td{color:#344054;border-bottom:1px solid #edf0f5;padding:13px 12px}tbody tr:hover{background:#fafbfd}.empty-cell{color:#8994a4;text-align:center;padding:30px}.state{text-transform:capitalize;white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-block}.state.pendiente{color:#a66b12;background:#fff3df}.state.confirmado{color:#218653;background:#e4f7ed}.state.rechazado{color:#b42318;background:#ffebeb}.action-buttons{gap:6px;display:flex}.small-button{border:0;border-radius:6px;padding:7px 11px;font-size:11px;font-weight:700}.small-button.confirm{color:#218653;background:#e4f7ed}.small-button.reject{color:#b42318;background:#ffebeb}.pagination{color:#69778a;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:22px;font-size:12px;display:flex}.user-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-top:20px;display:grid}.user-form label{color:#526075;flex-direction:column;gap:8px;font-size:11px;font-weight:600;display:flex}.user-form input{width:100%;min-width:0}.user-form button{min-height:40px}.success-message{color:#218653;background:#effaf3;border:1px solid #bce8ce;border-radius:7px;margin-bottom:15px;padding:11px 13px;font-size:12px}.stat-icon.red{color:#b42318;background:#ffebeb}@media (width<=850px){.user-form{grid-template-columns:1fr 1fr}}@media (width<=600px){.filters{flex-direction:column}.filters input,.filters select,.filters button{width:100%}.user-form{grid-template-columns:1fr}.section-card{padding:15px}.pagination{gap:10px}}
