@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito:wght@400;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--cream: #F5ECD7;--cream-lt: #FFF8ED;--blue: #1D3C8F;--blue-dk: #142966;--blue-lt: #2D5FD4;--red: #C0222B;--red-dk: #8B0000;--yellow: #F5A623;--yellow-lt: #fbbf24;--green: #10B981;--green-dk: #05855c;--tan: #C9A96E;--tan-lt: #D4B87A;--muted: #5C3D1E;--gray: #e5e7eb;--white: #ffffff;--text: #1A0A00;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius: 8px;--shadow: 4px 4px 0 var(--blue-dk);--font-display: "Bebas Neue", Impact, sans-serif;--font-body: "Nunito", sans-serif}body{font-family:var(--font-body);background:var(--cream);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dk) 100%);padding:20px;position:relative}.login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:15px 15px;pointer-events:none}.login-card{background:var(--cream-lt);border:4px solid var(--blue);border-radius:var(--radius-lg);box-shadow:8px 8px 0 var(--blue-dk);padding:40px 32px;width:100%;max-width:400px;text-align:center;position:relative;z-index:1}.login-logo{width:80px;height:80px;border-radius:var(--radius-sm);object-fit:contain;margin:0 auto 16px;border:2px solid rgba(255,255,255,.2)}.login-title{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--blue);letter-spacing:2px;margin-bottom:4px}.login-subtitle{color:var(--tan);margin-bottom:24px;font-size:.85rem;letter-spacing:3px;text-transform:uppercase;font-weight:700}.login-form{display:flex;flex-direction:column;gap:16px}.login-input{width:100%;padding:12px 16px;border:2px solid var(--tan);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);transition:border-color .2s;background:var(--white)}.login-input:focus{outline:none;border-color:var(--blue)}.login-btn{width:100%;padding:14px;background:var(--red);color:#fff;border:3px solid var(--red-dk);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--red-dk);font-size:1rem;font-weight:800;font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .1s}.login-btn:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--red-dk)}.login-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--red-dk)}.login-error{color:var(--red);font-size:.85rem;margin-top:8px;font-weight:700}.app-layout{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.app-header{background:linear-gradient(180deg,var(--blue) 0%,var(--blue-dk) 100%);border-bottom:3px solid var(--tan);color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:inset 0 0 50px #0000004d}.app-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.05) 1px,transparent 0);background-size:15px 15px;pointer-events:none;z-index:0}.app-header>*{position:relative;z-index:1}.app-header-left{display:flex;align-items:center;gap:12px}.app-header-logo{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:contain;border:2px solid rgba(255,255,255,.2)}.app-header-brand{display:flex;flex-direction:column}.app-header-title{font-family:var(--font-display);font-weight:800;font-size:1.4rem;letter-spacing:3px;text-transform:uppercase;line-height:1}.app-header-sub{font-size:.65rem;color:var(--tan);letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-top:2px}.app-header-user{display:flex;align-items:center;gap:8px;font-size:.85rem;background:#ffffff1a;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2);font-weight:700}.app-header-logout{background:none;border:none;color:#fff;cursor:pointer;padding:4px;opacity:.7;transition:opacity .2s}.app-header-logout:hover{opacity:1}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--blue-dk);border-top:3px solid var(--tan);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;padding:4px;gap:2px;z-index:100}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 4px;background:transparent;border:2px solid transparent;border-radius:var(--radius-sm);color:#ffffff8c;cursor:pointer;transition:all .15s;min-width:0}.nav-item.active{background:var(--cream);color:var(--blue-dk);border-color:var(--tan);box-shadow:0 2px #0000004d}.nav-item svg{width:20px;height:20px}.sidebar-nav-item svg{width:20px;height:20px}.main-content{flex:1;padding:16px 16px 80px;max-width:800px;margin:0 auto;width:100%}.card{background:var(--white);border:3px solid var(--blue);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:12px;margin-bottom:12px;transition:transform .2s ease,box-shadow .2s ease;animation:dash-pop .5s cubic-bezier(.175,.885,.32,1.275) both}.card:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--blue-dk)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--blue);letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat-card{background:var(--white);border:3px solid var(--blue);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:16px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;animation:dash-pop .5s cubic-bezier(.175,.885,.32,1.275) both}.stat-card:hover{transform:translateY(-4px);box-shadow:6px 8px 0 var(--blue-dk)}.stat-card.full-width{grid-column:1 / -1}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--red);text-shadow:1px 1px 0 rgba(0,0,0,.1)}.stat-label{font-size:.65rem;font-weight:800;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:2px}.btn{padding:10px 20px;border-radius:var(--radius-sm);font-weight:800;font-size:.85rem;cursor:pointer;border:2px solid;transition:all .12s;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase}.btn-primary{background:var(--red);color:#fff;border-color:var(--red-dk);box-shadow:0 3px 0 var(--red-dk)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--red-dk)}.btn-success{background:var(--green);color:#fff;border-color:var(--green-dk);box-shadow:0 3px 0 var(--green-dk)}.btn-danger{background:var(--red);color:#fff;border-color:var(--red-dk);box-shadow:0 3px 0 var(--red-dk)}.btn-outline{background:transparent;border:2px solid var(--tan);color:var(--muted);box-shadow:none}.btn-outline:hover{border-color:var(--blue);color:var(--blue)}.btn-sm{padding:6px 12px;font-size:.75rem}.task-list{display:flex;flex-direction:column;gap:8px}.task-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--white);border-radius:var(--radius-sm);border:3px solid var(--blue);box-shadow:3px 3px 0 var(--blue-dk);transition:all .2s;animation:dash-pop .5s cubic-bezier(.175,.885,.32,1.275) both}.task-item:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--blue-dk)}.task-item.completed{opacity:.6;background:#f0fdf4;border-color:var(--green);box-shadow:3px 3px 0 var(--green-dk)}.task-checkbox{width:28px;height:28px;border-radius:50%;border:3px solid var(--tan);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s;background:var(--white)}.task-checkbox.checked{background:var(--green);border-color:var(--green-dk);color:#fff}.task-info{flex:1}.task-title{font-weight:800;font-size:.95rem;color:var(--blue-dk)}.task-title.completed-text{text-decoration:line-through}.task-meta{font-size:.75rem;color:var(--muted);margin-top:2px;font-weight:600}.task-badge{font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.badge-pendiente{background:#fef3c7;color:#92400e;border:1px solid var(--tan)}.badge-completada{background:#d1fae5;color:#065f46;border:1px solid var(--green)}.doc-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--white);border-radius:var(--radius-sm);border:3px solid var(--blue);box-shadow:3px 3px 0 var(--blue-dk);margin-bottom:8px;transition:all .2s;animation:dash-pop .5s cubic-bezier(.175,.885,.32,1.275) both}.doc-item:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--blue-dk)}.doc-icon{width:40px;height:40px;background:var(--cream);border-radius:var(--radius-sm);border:2px solid var(--tan);display:flex;align-items:center;justify-content:center;color:var(--red);flex-shrink:0}.doc-info{flex:1}.doc-title{font-weight:800;font-size:.9rem;color:var(--blue-dk)}.doc-meta{font-size:.75rem;color:var(--muted);font-weight:600}.doc-read{font-size:.7rem;color:var(--green);font-weight:800}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.calendar-header{font-family:var(--font-display);font-size:.65rem;font-weight:700;color:var(--tan);padding:4px 0;text-transform:uppercase;letter-spacing:1px}.calendar-day{height:32px;width:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;position:relative;margin:0 auto}.calendar-day.today{background:var(--blue);color:#fff;font-weight:800;box-shadow:0 0 8px #1d3c8f66}.calendar-day.worked{background:#d1fae5;color:var(--green-dk);border:2px solid var(--green)}.calendar-day.holiday{background:#fee2e2;color:var(--red);border:2px solid var(--red)}.calendar-day.empty{visibility:hidden}.calendar-layout{display:flex;flex-direction:column;gap:12px}@media (min-width: 768px){.calendar-layout{display:grid;grid-template-columns:1fr 280px;gap:12px}.calendar-main{min-width:0}.calendar-sidebar{display:flex;flex-direction:column;gap:12px}}.employee-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--white);border-radius:var(--radius-sm);border:3px solid var(--blue);box-shadow:3px 3px 0 var(--blue-dk);margin-bottom:8px;transition:all .2s;animation:dash-pop .5s cubic-bezier(.175,.885,.32,1.275) both}.employee-item:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--blue-dk)}.employee-avatar{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0;border:2px solid var(--tan)}.employee-info{flex:1}.employee-name{font-weight:800;color:var(--blue-dk)}.employee-role{font-size:.75rem;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.employee-status{width:12px;height:12px;border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 1px var(--gray)}.status-active{background:var(--green)}.status-inactive{background:var(--gray)}.employee-actions,.task-actions{display:flex;gap:6px;flex-shrink:0}.task-priority{font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.doc-actions{display:flex;gap:6px;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:var(--cream-lt);border:4px solid var(--blue);border-radius:var(--radius-lg);box-shadow:8px 8px 0 var(--blue-dk);padding:24px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin-bottom:16px;color:var(--blue);letter-spacing:2px;text-transform:uppercase;border-bottom:2px dashed var(--tan);padding-bottom:12px}.modal-actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.8rem;font-weight:800;margin-bottom:6px;color:var(--blue);letter-spacing:1px;text-transform:uppercase}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:2px solid var(--tan);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);transition:border-color .2s;background:var(--white)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1d3c8f1a}.form-textarea{min-height:80px;resize:vertical}.checkbox-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;border:2px solid var(--tan);border-radius:var(--radius-sm);background:var(--white)}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer;transition:background .2s}.checkbox-item:hover{background:var(--cream)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state svg{opacity:.3;margin-bottom:12px}.empty-state p{font-size:.9rem;font-weight:600}@keyframes dash-pop{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}.main-content{padding:24px}.bottom-nav{display:none}.main-content{padding-bottom:24px}}.sidebar-nav{display:none}@media (min-width: 768px){.app-layout{flex-direction:row}.sidebar-nav{display:flex;flex-direction:column;width:240px;background:linear-gradient(180deg,var(--blue) 0%,var(--blue-dk) 100%);min-height:100vh;padding:0;flex-shrink:0;border-right:3px solid var(--tan);box-shadow:inset 0 0 50px #0000004d;position:relative}.sidebar-nav:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.05) 1px,transparent 0);background-size:15px 15px;pointer-events:none;z-index:0}.sidebar-nav>*{position:relative;z-index:1}.sidebar-brand{padding:20px;border-bottom:2px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}.sidebar-brand img{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:contain;border:2px solid rgba(255,255,255,.2)}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-title{font-family:var(--font-display);color:#fff;font-size:1.3rem;letter-spacing:2px;text-transform:uppercase;line-height:1}.sidebar-brand-sub{font-size:.6rem;color:var(--tan);letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-top:2px}.sidebar-nav-items{flex:1;padding:12px 0}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#fff9;font-size:.8rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;transition:all .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left;border-left:3px solid transparent}.sidebar-nav-item:hover{background:#ffffff14;color:#fff}.sidebar-nav-item.active{background:#ffffff1f;color:var(--yellow);border-left-color:var(--yellow)}.sidebar-nav-item svg{width:20px;height:20px}.sidebar-logout{padding:16px 20px;border-top:2px solid rgba(255,255,255,.1)}.sidebar-logout .sidebar-nav-item{padding:12px 0;border-left:none}.app-header{display:none}.main-content{padding-bottom:24px}}.spinner{width:40px;height:40px;border:4px solid var(--tan);border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--tan)}th{background:var(--blue);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}tr{transition:all .15s;animation:fadeInRow .5s ease-out both}tr:hover{background:#eef3ff;transform:scale(1.01)}@keyframes fadeInRow{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--blue);border-radius:3px}@media (max-width: 767px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px}.stat-value{font-size:1.5rem}.stat-label{font-size:.6rem}.card{padding:12px}.main-content{padding:12px 12px 80px}.employee-item{flex-wrap:wrap;gap:8px}.employee-info{flex:1;min-width:0}.employee-name{font-size:.85rem}.employee-role{font-size:.7rem;max-width:150px}.employee-actions{gap:4px}.task-item{flex-wrap:wrap;gap:8px}.task-info{min-width:0;flex:1}.task-title{font-size:.85rem}.task-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-actions{gap:4px}.doc-item{flex-wrap:wrap;gap:8px}.doc-info{flex:1;min-width:0}.doc-title{font-size:.85rem}.doc-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-actions{gap:4px}.calendar-day{height:28px;width:28px;font-size:.7rem}.calendar-header{font-size:.6rem}.modal-content{padding:16px;max-width:95vw}.modal-title{font-size:1.1rem}.table-container{margin:0 -12px;padding:0 12px}table{font-size:.75rem}th,td{padding:8px 6px}.btn-sm{padding:4px 8px;font-size:.7rem}.form-input,.form-select,.form-textarea{padding:8px 10px;font-size:.85rem}.form-label{font-size:.7rem}.bottom-nav{padding:6px 4px}.nav-item{padding:10px 4px}.nav-item svg{width:22px;height:22px}.app-header{padding:8px 12px}.app-header-logo{width:36px;height:36px}.app-header-title{font-size:1.1rem}.app-header-sub{font-size:.55rem}.app-header-user{font-size:.75rem;padding:4px 8px}.login-card{padding:24px 20px}.login-logo{width:60px;height:60px}.login-title{font-size:1.5rem}.login-subtitle{font-size:.75rem}.login-input{padding:10px 12px;font-size:.9rem}.login-btn{padding:12px;font-size:.9rem}.checkbox-list{max-height:150px}.empty-state{padding:24px 16px}.empty-state svg{width:36px;height:36px}.empty-state p{font-size:.8rem}.calendar-layout{flex-direction:column;gap:8px}.calendar-sidebar{width:100%}.calendar-sidebar .card{margin-bottom:8px!important}.toast{right:10px;left:10px;max-width:none}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr 1fr;gap:6px}.stat-card{padding:10px 8px}.stat-value{font-size:1.2rem}.stat-label{font-size:.55rem;letter-spacing:.5px}.card{padding:10px;margin-bottom:10px}.card-title{font-size:.8rem}.app-header{padding:8px 12px}.app-header-brand{display:none}.app-header-user{font-size:.7rem;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-logo{width:28px;height:28px}.employee-item{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.employee-info{width:100%;min-width:0}.employee-role{max-width:none}.employee-avatar{width:36px;height:36px;font-size:.9rem}.employee-status{align-self:flex-end}.employee-actions{width:100%;justify-content:flex-end;gap:4px}.employee-actions .btn{padding:6px 8px!important;font-size:.7rem}.task-item{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.task-info{width:100%;min-width:0}.task-title{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-checkbox{width:24px;height:24px}.task-actions{width:100%;justify-content:flex-end;gap:4px}.task-badge,.task-priority{align-self:flex-start}.doc-item{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.doc-info{width:100%;min-width:0}.doc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-icon{width:32px;height:32px}.doc-actions{width:100%;justify-content:flex-end;gap:4px}.doc-actions .btn{padding:6px 8px!important;font-size:.7rem}.calendar-layout{flex-direction:column}.calendar-sidebar{width:100%}.calendar-day{height:24px;width:24px;font-size:.65rem}.calendar-header{font-size:.55rem;padding:2px 0}.calendar-grid{gap:1px}h2{font-size:1rem!important}.btn{padding:8px 12px;font-size:.75rem}.btn-sm{padding:3px 6px;font-size:.65rem}.modal-content{padding:12px}.modal-title{font-size:1rem;margin-bottom:12px}.modal-actions{margin-top:16px}.form-group{margin-bottom:12px}.toast{top:10px;right:10px;left:10px;padding:10px 12px;font-size:.8rem}.confirm-dialog{padding:16px}.confirm-dialog-title{font-size:1rem}.confirm-dialog-message{font-size:.85rem}.confirm-dialog-actions{flex-direction:column}.confirm-dialog-actions button{width:100%}}@media (min-width: 768px) and (max-width: 1024px){.sidebar-nav{width:200px}.sidebar-brand{padding:16px}.sidebar-brand img{width:32px;height:32px}.sidebar-brand-title{font-size:1.1rem}.sidebar-nav-item{padding:10px 16px;font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
