@charset "UTF-8";:root{--primary: #d32f2f;--primary-dark: #b71c1c;--primary-light: #ef5350;--secondary: #d4af37;--accent: #ffb300;--primary-gradient: linear-gradient(135deg, #d32f2f 0%, #7f0000 100%);--dark-gradient: linear-gradient(135deg, #1f2937 0%, #111827 100%);--bg-body: #f3f4f6;--bg-card: #ffffff;--bg-dark: #111827;--text-dark: #111827;--text-gray: #4b5563;--text-light: #9ca3af;--text-white: #ffffff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1);--radius-md: 16px;--radius-lg: 24px}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-body);color:var(--text-dark);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:700;line-height:1.2}a{text-decoration:none;color:inherit;transition:.3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.categoria-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1100;animation:fadeIn .3s ease-out}.categoria-modal .modal-content{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;padding:2.5rem;width:95%;max-width:500px;position:relative;animation:slideIn .3s ease-out}.categoria-modal .modal-content h3{margin-top:0;color:#2c3e50;font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:1.5rem;border-bottom:2px solid rgba(255,215,0,.3);padding-bottom:10px}.categoria-modal .modal-content .close-btn{position:absolute;top:20px;right:20px;background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;transition:all .2s ease}.categoria-modal .modal-content .close-btn:hover{color:#8b0000;transform:rotate(90deg)}.categoria-modal .modal-content .form-group{margin-bottom:1.2rem}.categoria-modal .modal-content .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.categoria-modal .modal-content .form-group input,.categoria-modal .modal-content .form-group textarea,.categoria-modal .modal-content .form-group select{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:all .3s ease}.categoria-modal .modal-content .form-group input:focus,.categoria-modal .modal-content .form-group textarea:focus,.categoria-modal .modal-content .form-group select:focus{border-color:#8b0000;outline:none;box-shadow:0 0 0 3px #8b00001a}.categoria-modal .modal-content .form-group input.is-invalid,.categoria-modal .modal-content .form-group textarea.is-invalid,.categoria-modal .modal-content .form-group select.is-invalid{border-color:#e74c3c;background-color:#e74c3c05}.categoria-modal .modal-content .form-group textarea{min-height:80px;resize:vertical}.categoria-modal .modal-content .form-group .error-text{color:#e74c3c;font-size:.85rem;margin-top:5px;display:block}.categoria-modal .modal-content .form-group .error-text i{margin-right:5px}.categoria-modal .modal-content .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:2rem}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:radial-gradient(circle at center,#fff,#f0f2f5);padding:20px;box-sizing:border-box}.login-container{display:flex;width:100%;max-width:1100px;height:650px;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -12px #00000040,0 18px 36px -18px #0000004d;background:var(--bg-card);animation:floatIn 1s cubic-bezier(.2,.8,.2,1) forwards}@keyframes floatIn{0%{opacity:0;transform:translateY(60px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.left-panel{flex:1.2;background-image:url("./media/local-afuera-B7HZNMKW.png");background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}.left-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5a000099,#0a0a0ae6);z-index:1}.brand-info{position:relative;z-index:2;text-align:center;color:#fff;padding:40px;animation:fadeIn 1s ease-out .3s both}.brand-logo{width:120px;height:auto;margin-bottom:24px;border-radius:50%;filter:drop-shadow(0 0 20px rgba(212,175,55,.4));animation:pulseGlow 3s infinite alternate ease-in-out}@keyframes pulseGlow{0%{filter:drop-shadow(0 0 15px rgba(212,175,55,.3));transform:scale(1)}to{filter:drop-shadow(0 0 25px rgba(212,175,55,.6));transform:scale(1.03)}}.brand-name{font-family:Playfair Display,serif;font-size:3.5rem;font-weight:700;margin-bottom:12px;color:#fff;letter-spacing:2px;text-shadow:2px 2px 12px rgba(0,0,0,.6)}.brand-sub{font-size:1.15rem;color:#e5e7eb;font-weight:300;letter-spacing:1px;text-shadow:1px 1px 4px rgba(0,0,0,.5)}.demo-credentials{position:relative;z-index:2;width:min(420px,100% - 48px);margin:24px auto 0;padding:20px;border-radius:20px;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.demo-credentials h3{margin-bottom:8px;font-size:1.1rem}.demo-credentials p{margin-bottom:16px;font-size:.92rem;color:#f3f4f6}.demo-account{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#00000038;color:#fff;cursor:pointer;transition:transform .2s ease,background .2s ease}.demo-account:hover{transform:translateY(-2px);background:#00000052}.demo-account:last-child{margin-bottom:0}.demo-account span,.demo-account small{word-break:break-word}.right-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:60px;background:var(--bg-card);position:relative}.login-form-container{width:100%;max-width:380px}.form-header{text-align:center;margin-bottom:40px}.form-header i{font-size:48px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px}.form-header h2{font-size:32px;color:var(--text-dark);font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.form-header p{color:var(--text-gray);font-size:15px}.form-group{margin-bottom:24px;position:relative;opacity:0;animation:slideUpFade .6s ease-out forwards}.form-group:nth-child(1){animation-delay:.7s}.form-group:nth-child(2){animation-delay:.8s}.form-group label{display:block;margin-bottom:8px;color:var(--text-dark);font-weight:600;font-size:14px}.form-group input{width:100%;padding:16px 20px;border:2px solid #f3f4f6;border-radius:16px;font-size:15px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f9fafb;color:var(--text-dark)}.form-group input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #d32f2f1a}.form-group input.is-invalid{border-color:#ef4444;background:#fff5f5}.form-group input::placeholder{color:#9ca3af}.password-wrapper{position:relative}.password-wrapper input{padding-right:50px}.toggle-password{position:absolute;right:20px;top:50%;transform:translateY(-50%);cursor:pointer;color:#9ca3af;transition:color .3s ease;font-size:18px}.toggle-password:hover{color:var(--primary)}.login-button{width:100%;padding:16px;background:#d32f2f!important;background:var(--primary-gradient)!important;color:#fff!important;border:none;border-radius:16px;font-size:16px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:12px;box-shadow:0 10px 20px -10px #d32f2f99;display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;animation:slideUpFade .6s ease-out forwards;animation-delay:.9s}.login-button:disabled{background:#e0e0e0!important;color:#9e9e9e!important;box-shadow:none!important;cursor:not-allowed!important}.login-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 25px -10px #d32f2fcc}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 5px 10px -5px #d32f2f99}.error-message{margin-top:24px;padding:16px;background:#fef2f2;color:#ef4444;border-radius:16px;font-size:14px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #fee2e2;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:968px){.login-container{flex-direction:column;height:auto;max-width:500px}.left-panel{min-height:320px}.right-panel{padding:40px 30px}.brand-name{font-size:2.8rem}}@media(max-width:480px){.brand-name{font-size:2.2rem}.right-panel{padding:30px 20px}.form-header h2{font-size:26px}}.error-text{display:inline-block;margin-top:8px;color:#ef4444;font-size:.85rem;font-weight:500}.hamburger-btn{position:fixed;top:20px;left:20px;z-index:1100;background:#8b0000;color:gold;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;box-shadow:0 4px 10px #0000004d;border:1px solid rgba(255,215,0,.3);transition:all .3s ease}.hamburger-btn:hover{background:#4a0000;transform:scale(1.05)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{width:300px;height:100vh;background:linear-gradient(180deg,#8b0000,#4a0000);color:#fff;position:fixed;left:-300px;top:0;z-index:1000;overflow-y:auto;transition:all .4s cubic-bezier(.77,.2,.05,1);box-shadow:4px 0 20px #00000080;border-right:2px solid #ffd700;display:flex;flex-direction:column}.sidebar.open{left:0}.sidebar .sidebar-header{padding:40px 20px 20px;position:relative;border-bottom:1px solid rgba(255,215,0,.2)}.sidebar .sidebar-header .close-btn{position:absolute;top:15px;right:15px;background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;display:none}.sidebar .sidebar-header .logo-area{text-align:center;margin-bottom:20px}.sidebar .sidebar-header img{width:70px;margin-bottom:10px;filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}.sidebar .sidebar-header h2{font-size:1.4rem;color:gold;margin:0;letter-spacing:1px;font-family:Playfair Display,serif}.sidebar .sidebar-header .user-info{display:flex;align-items:center;gap:12px;margin-top:20px;padding:10px;background:#ffffff0d;border-radius:12px}.sidebar .sidebar-header .user-info .avatar{width:40px;height:40px;background:gold;color:#4a0000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;overflow:hidden}.sidebar .sidebar-header .user-info .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;margin:0}.sidebar .sidebar-header .user-info .user-details{display:flex;flex-direction:column}.sidebar .sidebar-header .user-info .user-details .user-name{font-weight:600;font-size:.9rem}.sidebar .sidebar-header .user-info .user-details .user-role{font-size:.75rem;font-weight:700}.sidebar .sidebar-header .user-info .user-details .user-role.admin{color:gold}.sidebar .sidebar-nav{flex:1;padding:20px 0;margin:0}.sidebar .sidebar-nav .nav-section{margin-bottom:5px}.sidebar .sidebar-nav .nav-section .section-title{display:flex;align-items:center;padding:12px 25px;cursor:pointer;transition:background .3s;font-weight:600;color:#ffffffb3}.sidebar .sidebar-nav .nav-section .section-title i:first-child{width:30px}.sidebar .sidebar-nav .nav-section .section-title span{flex:1}.sidebar .sidebar-nav .nav-section .section-title .toggle-icon{font-size:.8rem;transition:transform .3s}.sidebar .sidebar-nav .nav-section .section-title .toggle-icon.rotated{transform:rotate(180deg)}.sidebar .sidebar-nav .nav-section .section-title:hover{background:#ffffff0d;color:#fff}.sidebar .sidebar-nav .nav-section .section-content{max-height:0;overflow:hidden;transition:max-height .4s ease-out;background:#0003}.sidebar .sidebar-nav .nav-section .section-content.open{max-height:500px}.sidebar .sidebar-nav .nav-link,.sidebar .sidebar-nav .sub-link{display:flex;align-items:center;padding:12px 25px;color:#fffc;text-decoration:none;transition:all .3s ease;font-weight:500}.sidebar .sidebar-nav .nav-link i,.sidebar .sidebar-nav .sub-link i{width:30px;font-size:1.1rem}.sidebar .sidebar-nav .nav-link:hover,.sidebar .sidebar-nav .sub-link:hover{color:#ffec8b;background:#ffffff0d;padding-left:30px}.sidebar .sidebar-nav .nav-link.active,.sidebar .sidebar-nav .sub-link.active{background:#ffd7001a;color:gold;border-left:4px solid #ffd700}.sidebar .sidebar-nav .sub-link{padding-left:55px;font-size:.9rem}.sidebar .sidebar-nav .sub-link:hover{padding-left:60px}.sidebar .sidebar-footer{padding:20px;border-top:1px solid rgba(255,215,0,.2);background:#0000001a}.sidebar .sidebar-footer .logout-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ff4d4d;font-weight:600;cursor:pointer;position:relative;z-index:100;pointer-events:auto;transition:all .3s ease}.sidebar .sidebar-footer .logout-btn:hover{background:#ff4d4d26;border-color:#ff4d4d;transform:translateY(-2px)}@media(max-width:768px){.sidebar .sidebar-header .close-btn{display:block}}.movimientos-container{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease-out}.movimientos-container .page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;border-bottom:3px solid rgba(255,215,0,.3);padding-bottom:1.5rem;gap:20px}.movimientos-container .page-header h2{font-size:2rem;color:#2c3e50;font-family:Playfair Display,serif;margin:0;display:flex;align-items:center;gap:15px}.movimientos-container .page-header h2 i{color:#8b0000}.movimientos-container .page-header .btn-primary{background:linear-gradient(45deg,#8b0000,#4a0000);color:#fff;border:none;padding:12px 25px;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b000033}.movimientos-container .page-header .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b000066;filter:brightness(1.1)}.movimientos-container .page-header .btn-primary:active{transform:translateY(0)}.movimientos-container .page-header .btn-primary:disabled{opacity:.6;cursor:not-allowed;background:#ccc;box-shadow:none}.movimientos-container .movimientos-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;padding:0;overflow:hidden;border-top:4px solid #8b0000}.movimientos-container .movimientos-card .table-responsive{overflow-x:auto}.movimientos-container .movimientos-card table{width:100%;border-collapse:collapse}.movimientos-container .movimientos-card table th{background:#fdfdfd;padding:15px 20px;text-align:left;color:#8b0000;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;font-weight:700}.movimientos-container .movimientos-card table td{padding:15px 20px;border-bottom:1px solid #eee;font-size:.95rem;color:#2c3e50}.movimientos-container .movimientos-card table tr:hover td{background-color:#ffd7000d}.movimientos-container .movimientos-card table .tipo-badge{padding:6px 14px;border-radius:50px;font-size:.7rem;font-weight:800;text-transform:uppercase}.movimientos-container .movimientos-card table .tipo-badge.ingreso{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.movimientos-container .movimientos-card table .tipo-badge.egreso{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}.movimientos-container .movimientos-card table .monto{font-weight:800;font-family:Courier New,Courier,monospace;font-size:1.1rem;white-space:nowrap}.movimientos-container .movimientos-card table .monto.pos{color:#28a745}.movimientos-container .movimientos-card table .monto.neg{color:#d32f2f}.movimientos-container .movimientos-card table .proveedor-info{color:#7f8c8d;font-size:.85rem;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-layout-container{display:flex;height:100vh;width:100%;overflow:hidden}app-sidebar-admin,app-sidebar-mozo,app-sidebar-cocina,app-sidebar-cajero{display:block;width:0;flex:0 0 0;height:0}.main-content-wrapper{flex-grow:1;display:flex;flex-direction:column;height:100vh;overflow-y:auto}app-header{display:block;width:100%;flex-shrink:0}.dashboard-viewport{flex-grow:1;overflow-y:auto;background-color:#f8f9fa}.productos-container .role-badge.activo{background:#2ecc711a;color:#27ae60;border:1px solid #2ecc71}.productos-container .role-badge.cajero{background:#7f8c8d1a;color:#7f8c8d;border:1px solid #7f8c8d;font-style:italic}.usuarios-container .page-header .header-actions .btn-export-pdf{height:44px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease;border:none;gap:10px;font-family:inherit;text-align:center;-webkit-user-select:none;user-select:none;box-sizing:border-box;white-space:nowrap}.btn i{font-size:1.1rem;line-height:1}.btn:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(1);transform:none}.btn:focus-visible{outline:3px solid rgba(211,47,47,.25);outline-offset:2px}.btn-primary{background:var(--primary-gradient);color:var(--text-white);box-shadow:0 4px 15px #d32f2f4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-export-pdf{padding:12px 22px}.btn-export-pdf i{font-size:1.15rem}.btn-gold{background:var(--secondary);color:var(--bg-dark);box-shadow:0 4px 15px #d4af3733}.btn-gold:hover:not(:disabled){transform:translateY(-2px);background:var(--accent);box-shadow:0 8px 25px #d4af3766}.btn-gold:active:not(:disabled){transform:translateY(0)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.usuarios-container .page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid rgba(211,47,47,.06)}.usuarios-container .page-header .header-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#d32f2f14;color:var(--primary);flex:0 0 auto}.usuarios-container .page-header .header-icon i{font-size:1.2rem}.usuarios-container .page-header .header-text{flex:1}.usuarios-container .page-header .header-text h2{margin-bottom:6px;font-size:1.35rem}.usuarios-container .page-header .header-text p{color:var(--text-light);font-size:.95rem}.usuarios-container .page-header .header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.usuarios-container .page-header .header-actions .btn-primary{height:44px}.usuarios-container .user-table-card{margin-top:18px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.04);padding:18px}.usuarios-container .user-table-card .role-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.9rem;line-height:1;border:1px solid rgba(0,0,0,.06)}.usuarios-container .user-table-card .role-mesero{background:#d32f2f14;color:var(--primary);border-color:#d32f2f2e}.usuarios-container .user-table-card .role-cajero{background:#d4af371a;color:var(--secondary);border-color:#d4af3740}.usuarios-container .user-table-card td[colspan]{color:var(--text-light);padding:22px 10px!important}.usuarios-container{padding:0;width:100%}.usuarios-container .page-header,.usuarios-container .page-header+*{box-sizing:border-box}.usuarios-container .page-header{display:flex;align-items:center;gap:16px;margin-bottom:22px}.usuarios-container .header-icon{width:52px;height:52px;border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;color:var(--primary);flex:0 0 auto}.usuarios-container .header-icon i{font-size:1.2rem}.usuarios-container .header-text h2{margin:0;font-size:1.6rem;color:var(--text-dark)}.usuarios-container .header-text p{margin:4px 0 0;color:var(--text-gray);font-size:.95rem}.usuarios-container .user-table-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:22px}.usuarios-container .form-card{border:1px solid rgba(17,24,39,.06)}.usuarios-container .form-container{width:100%}.usuarios-container .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:768px){.usuarios-container .form-grid{grid-template-columns:1fr}}.usuarios-container .form-group{display:flex;flex-direction:column;gap:8px}.usuarios-container .form-group label{font-weight:700;color:var(--text-dark);font-size:.95rem;display:flex;align-items:center;gap:10px}.usuarios-container .form-group label i{color:var(--primary)}.form-input-styled{width:100%;border-radius:14px;border:1px solid rgba(17,24,39,.12);padding:12px 14px;background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease;color:var(--text-dark)}.form-input-styled:focus{border-color:var(--primary);box-shadow:0 0 0 4px #d32f2f26}select.form-input-styled{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(17,24,39,.6) 50%),linear-gradient(135deg,rgba(17,24,39,.6) 50%,transparent 50%);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-input-styled.is-invalid,.form-input-styled.ng-invalid.ng-touched{border-color:#ef4444d9;box-shadow:0 0 0 4px #ef44441f}.is-invalid{border-color:#ef4444d9!important}.error-text{display:flex;align-items:center;gap:8px;color:var(--danger);font-weight:700;font-size:.9rem}.error-text i{font-size:.95rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.btn-nuevo,.btn-cancel-edit{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease;border:none;gap:10px;font-family:inherit;text-align:center;-webkit-user-select:none;user-select:none;box-sizing:border-box;white-space:nowrap;background:#1118270a;color:var(--text-dark);border:1px solid rgba(17,24,39,.1)}.btn-nuevo:hover:not(:disabled),.btn-cancel-edit:hover:not(:disabled){transform:translateY(-2px);background:#11182712}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease;border:none;gap:10px;font-family:inherit;text-align:center;-webkit-user-select:none;user-select:none;box-sizing:border-box;white-space:nowrap;background:var(--primary-gradient);color:var(--text-white);box-shadow:0 4px 15px #d32f2f4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #d32f2f80;filter:brightness(1.1)}.me-3{margin-right:12px}.mt-4{margin-top:16px}.usuarios-container,.productos-container{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease-out}@media(max-width:768px){.usuarios-container,.productos-container{padding:1rem}}.usuarios-container .page-header,.productos-container .page-header{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:20px}.usuarios-container .page-header .header-icon,.productos-container .page-header .header-icon{display:flex;align-items:center;gap:15px}.usuarios-container .page-header h2,.productos-container .page-header h2{font-size:2.2rem;color:#2c3e50;font-family:Playfair Display,serif;margin:0;display:flex;align-items:center;gap:15px}.usuarios-container .page-header h2 i,.productos-container .page-header h2 i{color:#8b0000}.usuarios-container .page-header p,.productos-container .page-header p{color:#7f8c8d;margin:0;font-size:.9rem}.usuarios-container .page-header .header-actions,.productos-container .page-header .header-actions{display:flex;align-items:center;gap:10px}.usuarios-container .page-header .btn-nuevo,.productos-container .page-header .btn-nuevo{background:linear-gradient(45deg,#8b0000,#4a0000);color:#fff;padding:12px 25px;border-radius:50px;text-decoration:none;font-weight:600;display:flex;align-items:center;gap:10px;border:none;transition:all .3s ease}.usuarios-container .page-header .btn-nuevo:hover,.productos-container .page-header .btn-nuevo:hover{transform:translateY(-3px);box-shadow:0 5px 15px #8b000066;background:linear-gradient(45deg,#4a0000,#8b0000)}.usuarios-container .search-bar,.productos-container .search-bar{margin-bottom:2rem;position:relative;max-width:500px;width:100%}.usuarios-container .search-bar i,.productos-container .search-bar i{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#8b0000}.usuarios-container .search-bar input,.productos-container .search-bar input{width:100%;padding:12px 20px 12px 50px;border-radius:100px;border:1px solid #ddd;font-size:1rem;outline:none;transition:border-color .3s}.usuarios-container .search-bar input:focus,.productos-container .search-bar input:focus{border-color:#8b0000;box-shadow:0 0 0 3px #8b00001a}.usuarios-container .table-responsive,.productos-container .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1rem}.usuarios-container .user-table-card,.productos-container .user-table-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;overflow:hidden}.usuarios-container .user-table-card table,.productos-container .user-table-card table{width:100%;border-collapse:collapse;min-width:600px}.usuarios-container .user-table-card table th,.productos-container .user-table-card table th{background:#8b000008;padding:15px 20px;text-align:left;color:#8b0000;font-weight:700;text-transform:uppercase;font-size:.85rem;border-bottom:2px solid rgba(255,215,0,.2)}.usuarios-container .user-table-card table td,.productos-container .user-table-card table td{padding:15px 20px;border-bottom:1px solid #eee;color:#2c3e50;vertical-align:middle}.usuarios-container .user-table-card table tr:last-child td,.productos-container .user-table-card table tr:last-child td{border-bottom:none}.usuarios-container .user-table-card table .table-actions,.productos-container .user-table-card table .table-actions{display:flex;gap:10px;justify-content:center;align-items:center}.usuarios-container .user-table-card table .table-actions .btn-action,.productos-container .user-table-card table .table-actions .btn-action{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:5px;border-radius:5px;transition:all .2s ease}.usuarios-container .user-table-card table .table-actions .btn-action.btn-edit,.productos-container .user-table-card table .table-actions .btn-action.btn-edit{color:#3498db}.usuarios-container .user-table-card table .table-actions .btn-action.btn-delete,.productos-container .user-table-card table .table-actions .btn-action.btn-delete{color:#e74c3c}.usuarios-container .user-table-card table .table-actions .btn-action:hover,.productos-container .user-table-card table .table-actions .btn-action:hover{background:#ffd7001a;transform:scale(1.1)}.usuarios-container .role-badge,.productos-container .role-badge{padding:6px 15px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;display:inline-block;white-space:nowrap}.usuarios-container .role-badge.admin,.productos-container .role-badge.admin{background:#ffd70033;color:#b8860b;border:1px solid #ffd700}.usuarios-container .role-badge.mozo,.productos-container .role-badge.mozo{background:#3498db1a;color:#2980b9;border:1px solid #3498db}.usuarios-container .role-badge.cocina,.productos-container .role-badge.cocina{background:#2ecc711a;color:#27ae60;border:1px solid #2ecc71}.usuarios-container .role-badge.cajero,.productos-container .role-badge.cajero{background:#9b59b61a;color:#8e44ad;border:1px solid #9b59b6}.usuarios-container .roles-grid,.productos-container .roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.usuarios-container .roles-grid .role-card,.productos-container .roles-grid .role-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;padding:1.5rem;position:relative;overflow:hidden}.usuarios-container .roles-grid .role-card:before,.productos-container .roles-grid .role-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%}.usuarios-container .roles-grid .role-card.admin:before,.productos-container .roles-grid .role-card.admin:before{background:gold}.usuarios-container .roles-grid .role-card.mozo:before,.productos-container .roles-grid .role-card.mozo:before{background:#3498db}.usuarios-container .roles-grid .role-card.cocina:before,.productos-container .roles-grid .role-card.cocina:before{background:#2ecc71}.usuarios-container .roles-grid .role-card.cajero:before,.productos-container .roles-grid .role-card.cajero:before{background:#9b59b6}.usuarios-container .roles-grid .role-card .role-header,.productos-container .roles-grid .role-card .role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.usuarios-container .roles-grid .role-card .role-header h3,.productos-container .roles-grid .role-card .role-header h3{margin:0;color:#2c3e50;font-size:1.3rem}.usuarios-container .roles-grid .role-card .role-header .btn-edit,.productos-container .roles-grid .role-card .role-header .btn-edit{color:#7f8c8d;cursor:pointer;transition:color .2s ease}.usuarios-container .roles-grid .role-card .role-header .btn-edit:hover,.productos-container .roles-grid .role-card .role-header .btn-edit:hover{color:#8b0000}.usuarios-container .roles-grid .role-card .permisos-list,.productos-container .roles-grid .role-card .permisos-list{list-style:none;padding:0;margin:1rem 0}.usuarios-container .roles-grid .role-card .permisos-list li,.productos-container .roles-grid .role-card .permisos-list li{font-size:.9rem;color:#7f8c8d;margin-bottom:5px;display:flex;align-items:center;gap:8px}.usuarios-container .roles-grid .role-card .permisos-list li i,.productos-container .roles-grid .role-card .permisos-list li i{color:#27ae60;font-size:.8rem}.usuarios-container .form-card,.productos-container .form-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;max-width:600px;margin:0 auto;padding:2.5rem}.usuarios-container .form-card .form-grid,.productos-container .form-card .form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:600px){.usuarios-container .form-card .form-grid,.productos-container .form-card .form-grid{grid-template-columns:repeat(2,1fr)}}.usuarios-container .form-card .form-group,.productos-container .form-card .form-group{margin-bottom:1.5rem}.usuarios-container .form-card .form-group label,.productos-container .form-card .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.usuarios-container .form-card .form-group input,.usuarios-container .form-card .form-group select,.productos-container .form-card .form-group input,.productos-container .form-card .form-group select{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.usuarios-container .form-card .form-group input:focus,.usuarios-container .form-card .form-group select:focus,.productos-container .form-card .form-group input:focus,.productos-container .form-card .form-group select:focus{border-color:#8b0000;outline:none;box-shadow:0 0 0 3px #8b00001a}.usuarios-container .form-card .form-group .error-text,.productos-container .form-card .form-group .error-text{color:#e74c3c;font-size:.85rem;margin-top:5px;display:block}.usuarios-container .form-card .form-group .error-text i,.productos-container .form-card .form-group .error-text i{margin-right:5px}.usuarios-container .form-card .form-group input.is-invalid,.usuarios-container .form-card .form-group select.is-invalid,.productos-container .form-card .form-group input.is-invalid,.productos-container .form-card .form-group select.is-invalid{border-color:#e74c3c}.usuarios-container .form-card .form-actions,.productos-container .form-card .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:2.5rem;border-top:1px solid #eee;padding-top:20px}.usuarios-container .form-card .form-actions .btn-nuevo,.productos-container .form-card .form-actions .btn-nuevo{background:#7f8c8d;color:#fff;padding:12px 28px;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:10px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.usuarios-container .form-card .form-actions .btn-nuevo:hover,.productos-container .form-card .form-actions .btn-nuevo:hover{transform:translateY(-2px);box-shadow:0 5px 15px #7f8c8d4d;background:#727f80}.usuarios-container .form-card .form-actions .btn-primary,.productos-container .form-card .form-actions .btn-primary{background:linear-gradient(45deg,#8b0000,#4a0000);color:#fff;padding:12px 28px;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:10px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #8b000040}.usuarios-container .form-card .form-actions .btn-primary:hover:not(:disabled),.productos-container .form-card .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #8b000073;filter:brightness(1.1)}.usuarios-container .form-card .form-actions .btn-primary:disabled,.productos-container .form-card .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;background:#ccc;box-shadow:none}.usuarios-container .form-card .categoria-modal,.productos-container .form-card .categoria-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:3000}.usuarios-container .form-card .categoria-modal .modal-content,.productos-container .form-card .categoria-modal .modal-content{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 25px 50px #0000004d;border-top:6px solid #8b0000;animation:modalSlideUp .4s ease-out}.usuarios-container .form-card .file-input-hidden,.productos-container .form-card .file-input-hidden{display:none}.usuarios-container .form-card .btn-upload-file,.productos-container .form-card .btn-upload-file{display:flex;align-items:center;gap:10px;width:100%;padding:12px 15px;border:1px dashed #ccc;border-radius:8px;background-color:#f9f9f9;color:#2c3e50;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500}.usuarios-container .form-card .btn-upload-file:hover,.productos-container .form-card .btn-upload-file:hover{border-color:#8b0000;background-color:#f0f0f0;color:#8b0000}.usuarios-container .form-card .btn-upload-file i,.productos-container .form-card .btn-upload-file i{color:#8b0000;font-size:1.2rem}.usuarios-container .form-card .image-preview-container,.productos-container .form-card .image-preview-container{margin-top:15px;position:relative;border:1px solid #eee;border-radius:8px;overflow:hidden;max-width:200px}.usuarios-container .form-card .image-preview-container .image-preview,.productos-container .form-card .image-preview-container .image-preview{width:100%;height:auto;display:block}.usuarios-container .form-card .image-preview-container .remove-image-btn,.productos-container .form-card .image-preview-container .remove-image-btn{position:absolute;top:5px;right:5px;background:#8b0000cc;color:#fff;border:none;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem}.usuarios-container .form-card .image-preview-container .remove-image-btn:hover,.productos-container .form-card .image-preview-container .remove-image-btn:hover{background:#4a0000}.usuarios-container .form-card .info-text,.productos-container .form-card .info-text{font-size:.85rem;color:#7f8c8d;margin-top:5px;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.main-header{height:75px;background:var(--bg-card);padding:0 40px;display:flex;align-items:center;justify-content:flex-end;box-shadow:0 2px 15px #0000000d;position:sticky;top:0;z-index:900;border-bottom:1px solid rgba(0,0,0,.05)}.main-header .header-actions{display:flex;align-items:center;gap:30px}.main-header .header-actions .notifications-wrapper{position:relative}.main-header .header-actions .notifications-btn{position:relative;background:none;border:none;color:var(--text-light);font-size:1.3rem;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:50%}.main-header .header-actions .notifications-btn:hover{background:#d4af371a;color:#d4af37;transform:scale(1.1)}.main-header .header-actions .notifications-btn .badge{position:absolute;top:2px;right:0;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:.7rem;padding:0 6px;border-radius:999px;font-weight:700;border:2px solid var(--bg-card)}.main-header .header-actions .notifications-panel{position:absolute;top:calc(100% + 12px);right:-24px;width:360px;max-height:430px;background:#fff;border-radius:16px;box-shadow:0 16px 40px #0f172a29;border:1px solid rgba(15,23,42,.08);overflow:hidden;animation:dropdownFade .2s ease-out}.main-header .header-actions .notifications-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 14px;border-bottom:1px solid rgba(15,23,42,.08)}.main-header .header-actions .notifications-header h3{margin:0;font-size:1rem;color:var(--text-dark)}.main-header .header-actions .notifications-header p{margin:4px 0 0;font-size:.8rem;color:var(--text-light);font-weight:600}.main-header .header-actions .mark-read-btn{border:none;background:#d4af3726;color:#7a5f12;padding:8px 12px;border-radius:999px;cursor:pointer;font-size:.8rem;font-weight:600}.main-header .header-actions .mark-read-btn:disabled{cursor:not-allowed;opacity:.6}.main-header .header-actions .notifications-state{padding:24px 18px;color:var(--text-light);font-size:.9rem}.main-header .header-actions .notifications-list{max-height:340px;overflow-y:auto}.main-header .header-actions .notification-item{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(15,23,42,.06);transition:background .2s ease}.main-header .header-actions .notification-item:hover{background:#d4af370d}.main-header .header-actions .notification-item.read{opacity:.75}.main-header .header-actions .notification-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#eef2ff;color:#3b82f6}.main-header .header-actions .notification-icon.success{background:#ecfdf3;color:#16a34a}.main-header .header-actions .notification-icon.warning{background:#fff7ed;color:#ea580c}.main-header .header-actions .notification-icon.danger{background:#fef2f2;color:#dc2626}.main-header .header-actions .notification-body{min-width:0;flex:1}.main-header .header-actions .notification-body p{margin:6px 0 8px;font-size:.88rem;color:var(--text-dark);line-height:1.35}.main-header .header-actions .notification-top{display:flex;align-items:center;gap:8px}.main-header .header-actions .notification-top h4{margin:0;font-size:.92rem;color:var(--text-dark)}.main-header .header-actions .status-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;flex-shrink:0}.main-header .header-actions .notification-date{display:inline-block;color:var(--text-light);font-size:.78rem;font-weight:500}.main-header .header-actions .user-profile-container{position:relative}.main-header .header-actions .user-profile{display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none;cursor:pointer;padding:6px 12px;border-radius:30px;transition:background .3s ease}.main-header .header-actions .user-profile:hover{background:#f9fafb}.main-header .header-actions .user-profile .avatar-wrapper{width:35px;height:35px;border-radius:50%;overflow:hidden;border:2px solid #d4af37;display:flex;align-items:center;justify-content:center}.main-header .header-actions .user-profile .avatar-wrapper .user-avatar{width:100%;height:100%;object-fit:cover}.main-header .header-actions .user-profile .user-name{font-weight:600;color:var(--text-dark);font-size:.95rem}.main-header .header-actions .user-profile .chevron-icon{font-size:.8rem;color:var(--text-light);transition:transform .3s ease}.main-header .header-actions .user-profile:hover .chevron-icon{color:#d4af37}.main-header .header-actions .user-profile .chevron-icon.rotated{transform:rotate(180deg)}.main-header .header-actions .dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background:#fff;min-width:200px;border-radius:12px;box-shadow:0 10px 25px #0000001a;border:1px solid rgba(0,0,0,.05);padding:8px 0;display:flex;flex-direction:column;animation:dropdownFade .2s ease-out}.main-header .header-actions .dropdown-menu .dropdown-item{padding:12px 20px;color:var(--text-dark);font-size:.9rem;display:flex;align-items:center;gap:10px;text-decoration:none;transition:all .2s}.main-header .header-actions .dropdown-menu .dropdown-item i{color:var(--text-light);width:20px}.main-header .header-actions .dropdown-menu .dropdown-item:hover{background:#d4af370d;color:#d4af37}.main-header .header-actions .dropdown-menu .dropdown-item:hover i{color:#d4af37}.main-header .header-actions .dropdown-menu .dropdown-item.logout{color:var(--primary)}.main-header .header-actions .dropdown-menu .dropdown-item.logout:hover{background:#fff1f1}.main-header .header-actions .dropdown-menu .dropdown-divider{height:1px;background:#0000000d;margin:8px 0}@media(max-width:768px){.main-header{padding:0 20px}.main-header .header-actions{gap:18px}.main-header .notifications-panel{right:0;width:min(360px,100vw - 40px)}}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{padding:2.5rem;background:#f8f9fa;animation:fadeIn .6s ease-out}.dashboard-container .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;flex-wrap:wrap;gap:20px}.dashboard-container .dashboard-header .header-left{display:flex;align-items:center;gap:20px}.dashboard-container .dashboard-header .header-left .header-icon{background:#8b0000;color:#fff;width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 10px 20px #8b000033}.dashboard-container .dashboard-header .header-left h1{font-size:2.4rem;font-weight:800;color:#2c3e50;font-family:Playfair Display,serif;margin:0}.dashboard-container .dashboard-header .header-left .subtitle{color:#7f8c8d;margin:5px 0 0;font-size:1rem}@media(max-width:768px){.dashboard-container .dashboard-header{justify-content:center;text-align:center}}.dashboard-container .filter-bar{display:flex;background:#fff;padding:15px 25px;border-radius:15px;box-shadow:0 10px 30px #0000000d;align-items:center;gap:20px;border:1px solid rgba(255,215,0,.2);flex-wrap:wrap;margin-bottom:25px}@media(max-width:992px){.dashboard-container .filter-bar{border-radius:20px;justify-content:center}}.dashboard-container .filter-bar .range-selector{display:flex;gap:8px;border-right:1px solid #eee;padding-right:15px;margin-right:5px}@media(max-width:1200px){.dashboard-container .filter-bar .range-selector{border-right:none;padding-right:0;margin-right:0;width:100%;justify-content:center;margin-bottom:10px}}.dashboard-container .filter-bar .range-selector .btn-range{background:#f8f9fa;border:1px solid #e9ecef;padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;color:#2c3e50;cursor:pointer;transition:all .2s ease}.dashboard-container .filter-bar .range-selector .btn-range:hover{background:#f1f3f5;border-color:#dee2e6;transform:translateY(-1px)}.dashboard-container .filter-bar .range-selector .btn-range.active{background:#8b0000;color:#fff;border-color:#8b0000;box-shadow:0 4px 10px #8b000033}.dashboard-container .filter-bar .range-selector .btn-range:disabled{opacity:.7;cursor:not-allowed}.dashboard-container .filter-bar .range-selector .btn-range.is-loading-btn{position:relative;color:transparent!important;pointer-events:none}.dashboard-container .filter-bar .range-selector .btn-range.is-loading-btn:after{content:"";position:absolute;width:16px;height:16px;top:calc(50% - 8px);left:calc(50% - 8px);border:2px solid rgba(0,0,0,.1);border-top-color:currentColor;border-radius:50%;animation:btn-spin .6s linear infinite}.dashboard-container .filter-bar .range-selector .btn-range.is-loading-btn.active:after{border-top-color:#fff}.dashboard-container .filter-bar .filter-label{font-weight:700;color:#2c3e50;font-size:.9rem;text-transform:uppercase}.dashboard-container .filter-bar .filter-inputs{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:center}.dashboard-container .filter-bar .input-group{display:flex;align-items:center;gap:10px}.dashboard-container .filter-bar .to-text{color:#aaa;font-style:italic}.dashboard-container .filter-bar .input-with-icon{position:relative}.dashboard-container .filter-bar .input-with-icon i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8b0000;font-size:.8rem}.dashboard-container .filter-bar .input-with-icon input{padding:8px 15px 8px 35px;border:1px solid #ddd;border-radius:50px;font-size:.85rem;width:100%;max-width:180px}.dashboard-container .filter-bar .input-with-icon input:focus{border-color:#8b0000;outline:none;box-shadow:0 0 0 3px #8b00001a}.dashboard-container .filter-bar .btn-refresh{background:linear-gradient(45deg,#8b0000,#4a0000);color:#fff;border:none;padding:10px 25px;border-radius:50px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s}.dashboard-container .filter-bar .btn-refresh:hover{transform:translateY(-2px);box-shadow:0 5px 15px #8b00004d}.dashboard-container .filter-bar .btn-refresh:disabled{opacity:.7;cursor:not-allowed}.dashboard-container .loading-bar{position:fixed;top:0;left:0;height:4px;background:linear-gradient(90deg,#8b0000,gold);z-index:2000;animation:loadWidth 2s infinite ease-in-out}@keyframes loadWidth{0%{width:0;left:0}50%{width:70%;left:15%}to{width:0;left:100%}}.dashboard-container .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:25px;margin-bottom:35px}.dashboard-container .stats-grid .stat-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;transition:transform .3s ease;padding:25px;display:flex;align-items:center;gap:20px;border-left:5px solid transparent}.dashboard-container .stats-grid .stat-card:hover{transform:translateY(-5px)}.dashboard-container .stats-grid .stat-card .icon-box{width:55px;height:55px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.dashboard-container .stats-grid .stat-card .icon-box.red{background:#8b00001a;color:#8b0000}.dashboard-container .stats-grid .stat-card .icon-box.gold{background:#ffd7001a;color:#b8860b}.dashboard-container .stats-grid .stat-card .icon-box.warning{background:#ff98001a;color:#ff9800}.dashboard-container .stats-grid .stat-card .info .label{font-size:.85rem;color:#888;text-transform:uppercase;font-weight:600}.dashboard-container .stats-grid .stat-card .info .value{margin:0;font-size:1.4rem;color:#333}.dashboard-container .stats-grid .stat-card .info .trend{font-size:.75rem;margin-top:4px;display:block}.dashboard-container .stats-grid .stat-card .info .trend.up{color:#2ecc71}.dashboard-container .stats-grid .stat-card .info .trend.danger{color:#e74c3c;font-weight:700}.dashboard-container .stats-grid .stat-card.sales{border-left-color:#8b0000}.dashboard-container .stats-grid .stat-card.orders{border-left-color:gold}.dashboard-container .stats-grid .stat-card.stock{border-left-color:#ff9800}.dashboard-container .stats-grid .stat-card.tables{border-left-color:#8b0000}.dashboard-container .charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:25px}@media(max-width:1100px){.dashboard-container .charts-grid{grid-template-columns:1fr}}.dashboard-container .charts-grid .chart-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(255,215,0,.1);transition:all .3s ease;padding:25px}.dashboard-container .charts-grid .chart-card .chart-header{margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:10px}.dashboard-container .charts-grid .chart-card .chart-header h3{font-size:1.1rem;color:#444;margin:0}.dashboard-container .charts-grid .chart-card .chart-body{height:300px;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes btn-spin{to{transform:rotate(360deg)}}.admin-layout{display:flex;min-height:100vh;width:100%;background-color:var(--bg-body)}.admin-layout .main-container{flex:1;display:flex;flex-direction:column;min-width:0;transition:padding-left .4s cubic-bezier(.77,.2,.05,1);padding-left:0}@media(min-width:992px){.admin-layout .main-container.sidebar-open{padding-left:300px}}.admin-layout .page-content{flex:1;padding:30px;width:100%;max-width:1400px;margin:0 auto;animation:pageFadeIn .5s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:991px){.admin-layout .main-container{padding-left:0!important}.admin-layout .page-content{padding:25px 15px 20px}}.alert{padding:16px 20px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;align-items:center;gap:12px;font-weight:500;box-shadow:var(--shadow-sm);animation:alert-fade-in .3s ease-out;border:1px solid transparent;font-size:.95rem}.alert i{font-size:1.25rem}.alert-success{background-color:#ecfdf5;color:var(--success);border-color:#d1fae5}.alert-danger{background-color:#fef2f2;color:var(--danger);border-color:#fee2e2}.alert-warning{background-color:#fffbeb;color:var(--warning);border-color:#fef3c7}.alert-info{background-color:#eff6ff;color:var(--info);border-color:#dbeafe}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
