@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary:#1565c0;--primary-dark:#0d47a1;--primary-darker:#0a3a82;--primary-light:#42a5f5;--primary-50:#e3f2fd;--primary-100:#bbdefb;--primary-200:#90caf9;--bg-white:#fff;--bg-light:#f5f7fa;--bg-page:#eef2f7;--text-dark:#1e293b;--text-body:#334155;--text-muted:#64748b;--text-light:#94a3b8;--text-white:#fff;--success:#16a34a;--success-light:#dcfce7;--danger:#dc2626;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#0ea5e9;--info-light:#e0f2fe;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a, 0 10px 10px #0000000a;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--nav-height:64px;--bottom-nav-height:68px;--footer-height:36px;--transition:all .2s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;font-size:16px}body{color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-header{height:var(--nav-height);background:var(--primary);z-index:100;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0d47a14d}.app-header__brand{align-items:center;gap:10px;display:flex}.app-header__logo{background:var(--bg-white);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--primary);justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.app-header__title{color:var(--text-white);letter-spacing:-.3px;font-size:18px;font-weight:700}.app-header__subtitle{color:#ffffffb3;font-size:11px;font-weight:400}.app-header__user{align-items:center;gap:10px;display:flex}.app-header__avatar{border-radius:var(--radius-full);width:38px;height:38px;color:var(--text-white);transition:var(--transition);background:#fff3;border:2px solid #fff6;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.app-header__avatar:hover{background:#ffffff4d;transform:scale(1.05)}.app-header__user-info{display:none}@media (width>=768px){.app-header__user-info{flex-direction:column;align-items:flex-end;display:flex}.app-header__user-name{color:var(--text-white);font-size:13px;font-weight:600}.app-header__user-role{color:#ffffffb3;font-size:11px}}.app-content{padding-top:calc(var(--nav-height) + 16px);padding-bottom:calc(var(--bottom-nav-height) + var(--footer-height) + 20px);max-width:1200px;min-height:100vh;margin:0 auto;padding-left:16px;padding-right:16px}.page-header{margin-bottom:20px}.page-header__title{color:var(--text-dark);letter-spacing:-.5px;font-size:22px;font-weight:700}.page-header__subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}@media (width>=768px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px}}.stat-card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--border-light);padding:16px;position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card--primary:before{background:var(--primary)}.stat-card--success:before{background:var(--success)}.stat-card--warning:before{background:var(--warning)}.stat-card--danger:before{background:var(--danger)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__icon{border-radius:var(--radius);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-size:20px;display:flex}.stat-card--primary .stat-card__icon{background:var(--primary-50);color:var(--primary)}.stat-card--success .stat-card__icon{background:var(--success-light);color:var(--success)}.stat-card--warning .stat-card__icon{background:var(--warning-light);color:var(--warning)}.stat-card--danger .stat-card__icon{background:var(--danger-light);color:var(--danger)}.stat-card__value{color:var(--text-dark);letter-spacing:-1px;font-size:26px;font-weight:800;line-height:1}.stat-card__label{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:500}.card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);overflow:hidden}.card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card__title{color:var(--text-dark);font-size:16px;font-weight:700}.card__body{padding:20px}.card__footer{border-top:1px solid var(--border);background:var(--bg-light);padding:12px 20px}.btn{border-radius:var(--radius);transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn--primary{background:var(--primary);color:var(--text-white)}.btn--primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1565c066}.btn--outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn--outline:hover{background:var(--primary-50)}.btn--danger{background:var(--danger);color:var(--text-white)}.btn--danger:hover{background:#b91c1c}.btn--success{background:var(--success);color:var(--text-white)}.btn--sm{padding:6px 14px;font-size:12px}.btn--block{width:100%}.btn--lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:16px}.form-group{margin-bottom:16px}.form-label{color:var(--text-dark);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-control{border:2px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-dark);background:var(--bg-white);transition:var(--transition);outline:none;padding:12px 16px;font-size:14px}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1565c026}.form-control::placeholder{color:var(--text-light)}.form-error{color:var(--danger);margin-top:4px;font-size:12px}.bottom-nav{height:var(--bottom-nav-height);background:var(--bg-white);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.bottom-nav__item{border-radius:var(--radius);transition:var(--transition);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:60px;padding:6px 12px;text-decoration:none;display:flex;position:relative}.bottom-nav__item:hover,.bottom-nav__item.active{color:var(--primary)}.bottom-nav__item.active:before{content:"";background:var(--primary);border-radius:0 0 4px 4px;width:24px;height:3px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.bottom-nav__icon{transition:var(--transition);font-size:22px;line-height:1}.bottom-nav__item.active .bottom-nav__icon{transform:scale(1.1)}.bottom-nav__label{letter-spacing:.2px;font-size:10px;font-weight:600}.bottom-nav__badge{background:var(--danger);color:#fff;border-radius:var(--radius-full);border:2px solid var(--bg-white);justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:6px}.app-footer{bottom:var(--bottom-nav-height);height:var(--footer-height);background:var(--bg-light);border-top:1px solid var(--border-light);z-index:99;justify-content:center;align-items:center;display:flex;position:fixed;left:0;right:0}.app-footer__text{color:var(--text-light);letter-spacing:.5px;font-size:10px;font-weight:500}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-light);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-body);padding:12px 16px;font-size:13px}.data-table tbody tr{transition:var(--transition)}.data-table tbody tr:hover{background:var(--primary-50)}.badge{border-radius:var(--radius-full);align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge--success{background:var(--success-light);color:var(--success)}.badge--danger{background:var(--danger-light);color:var(--danger)}.badge--warning{background:var(--warning-light);color:#92400e}.badge--info{background:var(--info-light);color:#0369a1}.badge--primary{background:var(--primary-50);color:var(--primary)}.alert{border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:16px;padding:14px 18px;font-size:13px;font-weight:500;display:flex}.alert--success{background:var(--success-light);color:var(--success);border:1px solid #bbf7d0}.alert--danger{background:var(--danger-light);color:var(--danger);border:1px solid #fecaca}.alert--warning{background:var(--warning-light);color:#92400e;border:1px solid #fde68a}.alert--info{background:var(--info-light);color:#0369a1;border:1px solid #bae6fd}.login-page{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle,#ffffff0f 0%,#0000 70%);border-radius:50%;width:80%;height:150%;position:absolute;top:-50%;right:-30%}.login-page:after{content:"";background:radial-gradient(circle,#ffffff0a 0%,#0000 70%);border-radius:50%;width:60%;height:120%;position:absolute;bottom:-40%;left:-20%}.login-card{background:var(--bg-white);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);z-index:1;padding:40px 32px;animation:.5s ease-out loginSlideUp;position:relative}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card__logo{flex-direction:column;align-items:center;margin-bottom:32px;display:flex}.login-card__logo-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light));border-radius:var(--radius-lg);color:#fff;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;font-size:28px;font-weight:800;display:flex;box-shadow:0 8px 24px #1565c059}.login-card__logo-title{color:var(--text-dark);letter-spacing:-.5px;font-size:24px;font-weight:800}.login-card__logo-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.login-card__submit{margin-top:8px}.login-card__footer{text-align:center;color:var(--text-light);margin-top:24px;font-size:11px}.empty-state{text-align:center;padding:48px 24px}.empty-state__icon{color:var(--text-light);margin-bottom:16px;font-size:48px}.empty-state__title{color:var(--text-dark);margin-bottom:8px;font-size:18px;font-weight:700}.empty-state__text{color:var(--text-muted);font-size:13px}.quick-actions{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}@media (width>=768px){.quick-actions{grid-template-columns:repeat(4,1fr)}}.quick-action{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);transition:var(--transition);cursor:pointer;color:var(--text-body);flex-direction:column;align-items:center;gap:8px;padding:20px 12px;text-decoration:none;display:flex}.quick-action:hover{box-shadow:var(--shadow-md);border-color:var(--primary-200);transform:translateY(-3px)}.quick-action__icon{border-radius:var(--radius);background:var(--primary-50);width:48px;height:48px;color:var(--primary);justify-content:center;align-items:center;font-size:24px;display:flex}.quick-action__label{text-align:center;color:var(--text-dark);font-size:12px;font-weight:600}.activity-list{list-style:none}.activity-item{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-item__dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px;margin-top:5px}.activity-item__dot--entrada{background:var(--success)}.activity-item__dot--salida{background:var(--danger)}.activity-item__dot--ajuste{background:var(--warning)}.activity-item__text{color:var(--text-body);flex:1;font-size:13px}.activity-item__time{color:var(--text-light);white-space:nowrap;font-size:11px}.dropdown{position:relative}.dropdown__menu{background:var(--bg-white);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-xl);border:1px solid var(--border);opacity:0;visibility:hidden;transition:var(--transition);z-index:200;padding:8px 0;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(10px)}.dropdown__menu.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown__item{color:var(--text-body);transition:var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:13px;text-decoration:none;display:flex}.dropdown__item:hover{background:var(--primary-50);color:var(--primary)}.dropdown__divider{background:var(--border);height:1px;margin:4px 0}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.hidden{display:none!important}@media (width>=1024px){.app-content{padding-left:32px;padding-right:32px}.stats-grid{gap:20px}.stat-card{padding:20px}.stat-card__value{font-size:32px}}
