.login-wrapper{background-image:url(/assets/bg-DME__TLG.png);background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.login-wrapper:before{content:"";background:inherit;filter:blur(6px)brightness(.6);z-index:0;position:absolute;inset:0;transform:scale(1.05)}.login-wrapper:after{content:"";z-index:1;background:#0000008c;position:absolute;inset:0}.login-card{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:12px;width:360px;padding:32px;animation:.5s fadeIn;display:flex;position:relative;box-shadow:0 0 30px #00ffd526}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-title{text-align:center;color:#00ffd5;font-size:22px;font-weight:700}.login-subtitle{text-align:center;color:#94a3b8;margin-bottom:10px;font-size:13px}.login-input{color:#fff;background:#ffffff14;border:none;border-radius:10px;outline:none;padding:12px;transition:all .2s}.login-input:focus{background:#ffffff1f;box-shadow:0 0 12px #00ffd54d}.login-button{color:#000;cursor:pointer;background:linear-gradient(90deg,#00ffd5,#0af);border:none;border-radius:10px;padding:12px;font-weight:700;transition:all .2s}.login-button:hover{transform:scale(1.03)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#ff6b6b;text-align:center;background:#ff000026;border-radius:8px;padding:8px;font-size:13px}.particles{z-index:1;position:absolute;inset:0;overflow:hidden}.particles span{opacity:.7;background:#00ffd5;border-radius:50%;width:4px;height:4px;animation:linear infinite fall;position:absolute;top:-10px}@keyframes fall{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1}to{opacity:0;transform:translateY(110vh)}}.particles span:first-child{animation-duration:6s;left:10%}.particles span:nth-child(2){animation-duration:8s;left:20%}.particles span:nth-child(3){animation-duration:5s;left:30%}.particles span:nth-child(4){animation-duration:7s;left:40%}.particles span:nth-child(5){animation-duration:6s;left:50%}.particles span:nth-child(6){animation-duration:9s;left:60%}.particles span:nth-child(7){animation-duration:5s;left:70%}.particles span:nth-child(8){animation-duration:7s;left:80%}.particles span:nth-child(9){animation-duration:6s;left:90%}body{background:#f1f5f9;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dashboard{height:100vh;display:flex;overflow:hidden}.sidebar{color:#fff;background:#0f172a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:space-between;width:260px;height:calc(100vh - 20px);margin:10px;padding:20px;display:flex;overflow:hidden}.user-box{text-align:center}.avatar{margin-bottom:10px;font-size:42px}.username{font-weight:600}.sidebar-actions{flex-direction:column;gap:12px;width:100%;display:flex}.sidebar-actions .btn{width:100%}.btn{cursor:pointer;border:none;border-radius:12px;padding:14px 12px;font-size:14px;font-weight:600;transition:all .2s}.btn:hover{transform:translateY(-2px)}.main{border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;flex:1;gap:18px;height:calc(100vh - 20px);min-height:0;margin:10px 10px 10px 0;padding:18px;display:flex;overflow:hidden}.stats{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 14px #0000000a}.card p{color:#64748b;margin:0 0 8px}.card h2{margin:0}.table-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;flex:1;min-height:0;padding:14px 0;display:flex;overflow:hidden;box-shadow:0 4px 14px #0000000a}.table-wrapper{flex:1;min-height:0;overflow:hidden auto}table{border-collapse:collapse;table-layout:fixed;width:100%}thead th{z-index:20;text-align:center;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 4px;font-size:18px;font-weight:700;position:sticky;top:0}tbody tr{transition:all .2s}tbody tr:hover{background:#f8fbff}td{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #e2e8f0;padding:8px 4px;font-size:18px;overflow:hidden}th:first-child,td:first-child{width:6%}th:nth-child(2),td:nth-child(2){width:10%}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4),th:nth-child(5),td:nth-child(5){width:9%}th:nth-child(6),td:nth-child(6){width:10%}th:nth-child(7),td:nth-child(7){width:9%}th:nth-child(8),td:nth-child(8){width:12%}th:nth-child(9),td:nth-child(9){width:5%}.money,.money2{white-space:nowrap;font-weight:600}td.payment-method{font-weight:700}td.payment-method.cash{color:#16a34a}td.payment-method.bank{color:#2563eb}td.payment-method.unknown{color:#94a3b8}.action-cell{vertical-align:bottom;width:48px;height:100%;padding:0;position:relative;overflow:visible}.action-inner{justify-content:center;align-items:center;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.detail-icon-btn{cursor:pointer;color:#334155;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;transition:all .25s;display:flex;box-shadow:0 2px 6px #0000000f,inset 0 0 0 1px #e2e8f0}.detail-icon-btn:hover{color:#fff;background:#2563eb;transform:translateY(-2px)}.detail-tooltip{z-index:999999;opacity:0;visibility:hidden;color:#fff;white-space:nowrap;background:#0f172a;border-radius:10px;padding:8px 12px;font-size:12px;transition:all .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.detail-icon-btn:hover .detail-tooltip{opacity:1;visibility:visible}@media (width<=1400px){th,td{font-size:14px}}@media (width<=1024px){.stats{grid-template-columns:1fr}.sidebar{width:220px}}@media (width<=768px){.dashboard{flex-direction:column}.sidebar{width:auto;height:auto;margin:10px}.main{margin:0 10px 10px}.detail-tooltip{display:none}}*{box-sizing:border-box}input,select,button{font-family:inherit}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;width:500px;max-width:95vw;max-height:90vh;padding:20px 0;overflow:hidden auto;box-shadow:0 30px 60px #00000040}.modal h2{color:#0f172a;margin:0 28px 16px;font-size:22px;font-weight:800}.bill-type{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1.5px solid #7dd3fc;border-radius:14px;flex-direction:column;gap:10px;margin:0 28px 16px;padding:14px 16px;display:flex}.bill-type label{color:#075985;font-size:14px;font-weight:700}.bill-type select{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;height:42px;padding:0 10px;font-size:13px;font-weight:600}.row-list{flex-direction:column;gap:14px;margin:0 28px 16px;display:flex}.row{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;grid-template-columns:2fr .7fr 1fr 44px;align-items:center;gap:10px;min-height:62px;padding:10px;display:grid}.row select,.row input{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;height:42px;padding:0 10px;font-size:13px;font-weight:600}.row input{text-align:center;background:#f8fafc}.price{color:#16a34a;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.remove-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;height:42px;font-size:16px;font-weight:700;transition:background .2s;display:flex}.remove-btn:hover{background:#dc2626}.add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;width:calc(100% - 56px);height:44px;margin:0 28px 10px;font-size:14px;font-weight:700;transition:all .2s}.add-btn:hover{opacity:.9;transform:translateY(-1px)}.voucher-box{justify-content:center;margin:16px 28px;display:flex}.voucher-box select{text-align:center;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;width:100%;max-width:320px;height:44px;padding:0 12px;font-size:13px;font-weight:700;transition:all .2s}.voucher-box select:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.total-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;margin:10px 28px;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.actions{gap:12px;margin:16px 28px 20px;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;flex:1;height:44px;font-weight:700}.btn.primary{color:#fff;background:#3b82f6}.btn:not(.primary){color:#334155;background:#f1f5f9}.error-toast{color:#fff;background:#ef4444;border-radius:10px;padding:12px 16px;font-weight:700;position:fixed;top:20px;left:20px}.payment-box{background:linear-gradient(135deg,#fef9c3,#fefce8);border:1.5px solid #facc15;border-radius:14px;flex-direction:column;gap:10px;margin:0 28px 16px;padding:14px 16px;display:flex}.payment-box label{color:#854d0e;font-size:14px;font-weight:800}.payment-box select{cursor:pointer;background:#fff;border:1.5px solid #eab308;border-radius:10px;height:42px;padding:0 10px;font-size:13px;font-weight:700;transition:all .2s}.payment-box select:focus{background:#fffdf5;border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b33}.dashboard-loading{text-align:center;background:#f1f5f9;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;height:100vh;display:flex}.dash-spinner{border:6px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:70px;height:70px;animation:.8s linear infinite spin;box-shadow:0 10px 25px #2563eb26}.dashboard-loading h2{color:#0f172a;margin:0;font-size:22px;font-weight:800}.dashboard-loading p{color:#64748b;margin:0;font-size:14px}.dash-skeleton{flex-direction:column;gap:12px;width:100%;max-width:900px;margin-top:20px;display:flex}.sk-card{background:linear-gradient(90deg,#eef2ff 25%,#dbeafe 50%,#eef2ff 75%) 0 0/300% 100%;border-radius:14px;height:80px;animation:1.4s infinite shimmer}.sk-table{background:#fff;border-radius:14px;margin-top:10px;padding:14px}.sk-line{background:linear-gradient(90deg,#eef2ff 25%,#dbeafe 50%,#eef2ff 75%) 0 0/300% 100%;border-radius:999px;height:14px;margin-bottom:12px;animation:1.4s infinite shimmer}.sk-line.short{width:60%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.filter-th{min-width:260px;padding:6px}.filter-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.filter-box select,.filter-box input{background:#fff;border:1px solid #e5e7eb;border-radius:6px;outline:none;padding:4px 8px;font-size:12px;transition:all .2s}.filter-box select:focus,.filter-box input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.filter-box button{cursor:pointer;color:#fff;background:#ef4444;border:none;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .2s}.filter-box button:hover{background:#dc2626;transform:translateY(-1px)}.table-wrapper thead th{z-index:5;background:#fff;position:sticky;top:0}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal1{background:#fff;border-radius:16px;width:420px;max-width:95vw;padding:22px 18px;animation:.25s modalShow;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes modalShow{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal1 h2{text-align:center;color:#111827;margin-bottom:16px;font-size:20px;font-weight:600}.modal1 input{border:1px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px}.modal input:focus{border-color:#3b82f6}.profile-actions{flex-direction:column;gap:12px;margin-top:16px;display:flex}.profile-actions button{cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s}.profile-actions button:first-child{color:#fff;background:#3b82f6}.profile-actions button:first-child:hover{background:#2563eb}.profile-actions button:nth-child(2){color:#fff;background:#10b981}.profile-actions button:nth-child(2):hover{background:#059669}.profile-actions button:nth-child(3){color:#111827;background:#e5e7eb}.profile-actions button:nth-child(3):hover{background:#d1d5db}.profile-menu{flex-direction:column;gap:12px;margin-top:10px;display:flex}.menu-btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s}.menu-btn.primary{color:#fff;background:#3b82f6}.menu-btn.primary:hover{background:#2563eb;transform:translateY(-1px)}.menu-btn.secondary{color:#fff;background:#10b981}.menu-btn.secondary:hover{background:#059669;transform:translateY(-1px)}.menu-btn.danger{color:#111827;background:#e5e7eb}.menu-btn.danger:hover{background:#d1d5db}.admin-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:#fff;border-radius:18px;width:950px;max-width:95vw;padding:20px;animation:.25s adminFade;box-shadow:0 30px 80px #0000004d}.admin-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-header h2{color:#0f172a;margin:0;font-size:20px}.admin-tab{gap:10px;margin:12px 0 16px;display:flex}.admin-tab button{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 14px;font-weight:500;transition:all .2s}.admin-tab button:hover{background:#e2e8f0}.admin-tab .active{color:#fff;background:#2563eb;border-color:#2563eb}.admin-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;max-height:60vh;overflow:auto}.admin-table{border-collapse:collapse;table-layout:fixed;width:100%}.admin-table th,.admin-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:12px}.admin-table th{color:#334155;background:#f8fafc;font-weight:700}.admin-table th:nth-child(3){color:#2563eb}.admin-table th:nth-child(4){color:#16a34a}.admin-row{transition:all .2s}.admin-row:hover{background:#f1f5f9;transform:translateY(-1px)}.admin-row:first-child td:first-child{color:#d97706;font-weight:700}.admin-row:nth-child(2) td:first-child{color:#64748b;font-weight:700}.admin-row:nth-child(3) td:first-child{color:#b45309;font-weight:700}.admin-table th:first-child,.admin-table td:first-child{text-align:left;width:35%;padding-left:16px}.admin-money{color:#2563eb;font-weight:700}.admin-salary{color:#16a34a;font-weight:700}.admin-table tfoot{z-index:5;position:sticky;bottom:0}.admin-total-row{background:linear-gradient(90deg,#eef6ff 0%,#f0fdf4 100%);border-top:3px solid #2563eb}.admin-total-row td{padding:15px;font-size:15px;font-weight:800}.admin-total-row td:first-child{color:#0f172a;letter-spacing:1px}.admin-total-row td:nth-child(3){color:#2563eb}.admin-total-row td:nth-child(4){color:#16a34a}.admin-loading{text-align:center;color:#475569;padding:40px}.admin-spinner{border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes adminFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.detail-modal{background:#fff;border-radius:24px;width:920px;max-width:95%;max-height:90vh;padding:34px;animation:.22s scaleIn;overflow-y:auto;box-shadow:0 25px 60px #0000002e}.detail-modal::-webkit-scrollbar{width:8px}.detail-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:20px}.detail-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:22px;display:flex}.detail-header h2{color:#0f172a;letter-spacing:-.5px;margin:0;font-size:30px;font-weight:700}.detail-header button{cursor:pointer;color:#fff;background:#111827;border:none;border-radius:12px;outline:none;padding:11px 18px;font-size:14px;font-weight:600;transition:all .2s}.detail-header button:hover{background:#000;transform:translateY(-1px)}.bill-info-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px;padding:24px;display:grid}.bill-info-grid p{color:#475569;margin:10px 0;font-size:15px}.bill-info-grid b{color:#0f172a;font-weight:700}.detail-table{border-collapse:collapse;border-radius:16px;width:100%;margin-bottom:30px;overflow:hidden}.detail-table thead{color:#fff;background:#111827}.detail-table th{text-align:left;letter-spacing:.2px;padding:16px;font-size:14px;font-weight:600}.detail-table td{color:#334155;border-bottom:1px solid #e5e7eb;padding:16px;font-size:15px}.detail-table tbody tr{transition:all .15s}.detail-table tbody tr:hover{background:#f8fafc}.detail-table td:last-child{color:#16a34a;font-weight:700}.bill-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;width:360px;max-width:100%;margin-left:auto;padding:24px;box-shadow:inset 0 0 0 1px #f1f5f9}.bill-summary p{color:#475569;justify-content:space-between;align-items:center;margin:12px 0;font-size:15px;display:flex}.bill-summary b{color:#111827;font-weight:700}.bill-summary h3{color:#16a34a;border-top:2px dashed #cbd5e1;justify-content:space-between;align-items:center;margin-top:20px;padding-top:18px;font-size:24px;font-weight:800;display:flex}.detail-modal>p{text-align:center;color:#334155;padding:40px 0;font-size:18px;font-weight:600}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.modal-overlay{padding:14px}.detail-modal{border-radius:18px;padding:22px}.detail-header{flex-direction:column;align-items:flex-start;gap:14px}.detail-header h2{font-size:24px}.bill-info-grid{grid-template-columns:1fr;padding:18px}.detail-table{white-space:nowrap;display:block;overflow-x:auto}.detail-table th,.detail-table td{padding:12px;font-size:14px}.bill-summary{width:100%;margin-top:18px;padding:18px}.bill-summary h3{font-size:20px}}.detail-table td:first-child{color:#111827;font-weight:600}.bill-summary p:nth-child(2) b{color:#2563eb}.bill-summary p:nth-child(3) b{color:#dc2626}
