:root{--bg:#0f1724;--card:#0b1220;--muted:#94a3b8;--accent:#7c3aed;--glass:#ffffff0a;--success:#10b981}*{box-sizing:border-box}html,body,#root{height:100%}body{color:#e6eef8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#0f1724 0%,#080a0f 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.container{max-width:880px;margin:48px auto;padding:24px}.card{background:linear-gradient(#ffffff05,#ffffff03);border:1px solid #ffffff0a;border-radius:12px;padding:20px;box-shadow:0 6px 18px #02061799}.table-container{background:0 0;border:none;padding:0}.center-screen{justify-content:center;align-items:center;min-height:70vh;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo{background:linear-gradient(135deg,var(--accent),#4f46e5);border-radius:10px;width:44px;height:44px;box-shadow:0 6px 18px #7c3aed2e}.nav{gap:8px;margin-bottom:20px;display:flex}button.btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff0f;border-radius:8px;padding:8px 12px}button.btn.primary{background:linear-gradient(90deg,var(--accent),#4f46e5);color:#fff;border:none}button.btn.danger{color:#fff;background:#dc2626;border:none}.toast-container{z-index:2000;flex-direction:column;gap:10px;max-width:320px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#e6eef8;background:#0f1724fa;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.2s toastIn;display:flex;box-shadow:0 24px 40px #0003}.toast.success{border-color:#10b98159}.toast.error{border-color:#f8717159}.toast.info{border-color:#38bdf859}.toast-title{margin-bottom:6px;font-size:14px;font-weight:700}.toast-message{color:#d8e3f5;font-size:13px;line-height:1.5}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.confirm-description{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.6}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-row{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.form-row label{color:var(--muted);font-size:13px}.input{background:var(--glass);color:inherit;border:1px solid #ffffff0a;border-radius:8px;padding:10px 12px}.table-wrapper{border:1px solid #ffffff0d;border-radius:12px;overflow-x:auto}.card .table-wrapper{max-height:360px;overflow-y:auto}.table th,.table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:14px 16px}.table th{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-size:12px}.table td{font-size:14px}.table tr:last-child td{border-bottom:none}.success{color:var(--success)}.muted{color:var(--muted);font-size:13px}.error{color:#fb7185}.card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.footer-note{color:var(--muted);margin-top:16px;font-size:13px}.dashboard-screen{width:100%;min-height:100vh;padding:24px 32px}.dashboard-page{flex-direction:column;gap:24px;width:100%;height:100%;display:flex}.dashboard-banner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:16px;display:grid}.metric-card{background:linear-gradient(#ffffff05,#ffffff03);border:1px solid #ffffff0a;border-radius:16px;min-height:118px;padding:18px}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:12px}.metric-value{font-size:2rem;font-weight:700;line-height:1}.dashboard-summary{border-top:1px solid #ffffff1a;padding-top:12px}.section{margin-top:18px}.app-layout{width:100%;min-height:100vh;display:flex}.side-menu{z-index:100;background:linear-gradient(#0b1220f2 0%,#080a0ffa 100%);border-right:1px solid #ffffff0a;flex-direction:column;width:260px;min-height:100vh;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.side-menu.collapsed{width:76px}.side-menu-header{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:20px;display:flex}.side-menu.collapsed .side-menu-header{justify-content:center;padding:16px 0}.side-menu.collapsed .side-menu-header .brand{display:none}.side-menu.collapsed .side-menu-header .btn{margin:0 auto}.side-menu-header .brand{align-items:center;gap:12px;display:flex}.side-menu-nav{flex:1;padding:16px 12px;overflow-y:auto}.side-menu-group{margin-bottom:20px}.side-menu-group-header{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;transition:background .2s,color .2s;display:flex}.side-menu.collapsed .side-menu-group-header{justify-content:center;padding:10px 0}.side-menu-group-header:hover{color:#e6eef8;background:#ffffff0a}.side-menu-group-icon{place-items:center;display:grid}.side-menu-group.collapsed .side-menu-list,.side-menu.collapsed .side-menu-group-label{display:none}.side-menu-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;padding:0 12px;font-size:11px}.side-menu-list{margin:0;padding:0;list-style:none}.side-menu-item{color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;text-decoration:none;transition:all .2s;display:flex}.side-menu.collapsed .side-menu-item{justify-content:center;padding:10px 0}.side-menu.collapsed .side-menu-label{display:none}.side-menu-item:hover{color:#e6eef8;background:#ffffff0a}.side-menu-item.active{color:#e6eef8;border-left:3px solid var(--accent);background:linear-gradient(90deg,#7c3aed33,#4f46e51a);padding-left:9px}.side-menu-icon{text-align:center;width:24px;font-size:18px}.side-menu-label{font-size:14px;font-weight:500}.side-menu-footer{border-top:1px solid #ffffff0a;padding:16px}.side-menu.collapsed .side-menu-footer{padding:12px 8px}.side-menu.collapsed .user-info{justify-content:center}.side-menu.collapsed .user-details{display:none}.side-menu.collapsed .logout-btn{justify-content:center}.side-menu.collapsed .logout-btn span:last-child{display:none}.user-info{align-items:center;gap:12px;margin-bottom:12px;display:flex}.user-info-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0}.user-info-button:hover{background:#ffffff0a}.user-avatar{background:linear-gradient(135deg, var(--accent), #4f46e5);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.user-details{flex:1}.user-name{font-size:14px;font-weight:600}.logout-btn{justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;display:flex}.main-content{flex:1;height:100vh;margin-left:260px;padding:24px 32px;transition:margin-left .2s;overflow:auto}.show-menu-btn{z-index:200;position:fixed;top:16px;left:16px}@media (width<=768px){.side-menu{width:70px}.side-menu-header .brand div:not(.logo),.side-menu-label,.side-menu-group-label,.user-details,.logout-btn span:last-child{display:none}.side-menu-item{justify-content:center;padding:12px}.side-menu-item.active{padding-left:9px}.side-menu-icon{font-size:22px}.main-content{margin-left:70px;padding:16px}.user-info,.logout-btn{justify-content:center}}.modal-backdrop{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal{background:linear-gradient(#0f1724fa,#0b1220fc);border:1px solid #ffffff14;border-radius:16px;flex-direction:column;max-height:90vh;animation:.2s slideIn;display:flex;box-shadow:0 24px 48px #0006}.modal.small{width:100%;max-width:400px}.modal.medium{width:100%;max-width:560px}.modal.large{width:100%;max-width:800px}.modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{margin:0;font-size:18px;font-weight:600}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:24px;line-height:1;transition:all .2s;display:flex}.modal-close:hover{color:#e6eef8;background:#ffffff0f}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.print-voucher{display:none}.voucher{color:#000;background:#fff;width:72mm;padding:8px;font-family:Courier New,monospace;font-size:12px;line-height:1.35}.voucher-center{text-align:center}.voucher-shop{font-size:16px;font-weight:700}.voucher-divider{border-top:1px dashed #000;margin:8px 0}.voucher-row{justify-content:space-between;gap:8px;display:flex}.voucher-row span:last-child{text-align:right}.voucher-item{margin-bottom:6px}.voucher-total{font-size:15px;font-weight:700}@media print{@page{margin:0}body{color:#000;background:#fff}body *{visibility:hidden!important}.print-voucher,.print-voucher *,.report-print-area,.report-print-area *{visibility:visible!important}.print-voucher{background:#fff;width:80mm;padding:0;display:block;position:absolute;top:0;left:0}.voucher{width:72mm;box-shadow:none;margin:0 auto}.report-print-area{width:100%;padding:16px;display:block;position:absolute;top:0;left:0;color:#000!important;box-shadow:none!important;background:#fff!important;border:none!important}.report-print-area .metric-card,.report-print-area .table-wrapper{box-shadow:none!important;background:#fff!important;border-color:#ddd!important}.report-print-area .muted,.report-print-area .metric-label,.report-print-area .table th,.report-print-area .table td{color:#000!important}}.data-page{flex-direction:column;gap:16px;height:calc(100vh - 48px);display:flex}.data-page-header{flex-shrink:0}.data-page-table{flex:1;min-height:0;overflow:hidden}.data-page-footer{flex-shrink:0}.table-wrapper{border:1px solid #ffffff0d;border-radius:12px;height:100%;max-height:100%}.table{border-collapse:collapse;width:100%}.table thead th{z-index:2;text-align:left;text-transform:uppercase;color:var(--muted);letter-spacing:.06em;background:#111827;border-bottom:1px solid #ffffff0f;padding:14px 16px;font-size:12px;position:sticky;top:0}.table tbody td{border-bottom:1px solid #ffffff0f;padding:14px 16px;font-size:14px}.table tbody tr:hover{background:#ffffff05}
