@charset "UTF-8";html[data-theme=light],:root{--primary-color: #2e7d32;--primary-light: #60ad5e;--primary-dark: #005005;--primary-50: #e8f5e9;--primary-100: #c8e6c9;--primary-200: #a5d6a7;--primary-300: #81c784;--primary-400: #66bb6a;--primary-500: #4caf50;--primary-600: #43a047;--primary-700: #388e3c;--primary-800: #2e7d32;--primary-900: #1b5e20;--accent-color: #00c853;--accent-light: #5efc82;--accent-dark: #009624;--white: #ffffff;--black: #000000;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--info-color: #2196f3;--bg-primary: #f1f8e9;--bg-secondary: #ffffff;--bg-card: #ffffff;--table-row-hover: var(--gray-100);--sidebar-bg-start: var(--primary-800);--sidebar-bg-end: var(--primary-900);--sidebar-border: var(--primary-700);--sidebar-link-color: var(--primary-100);--sidebar-link-hover-bg: var(--primary-700);--sidebar-link-active-bg: var(--primary-600);--sidebar-logout-border: var(--primary-300);--text-primary: #212121;--text-secondary: #757575;--text-disabled: #9e9e9e;--text-on-primary: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}html[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-card: #1f2933;--text-primary: #f9fafb;--text-secondary: #9ca3af;--gray-100: #1f2933;--gray-200: #374151;--gray-300: #4b5563;--gray-700: #9ca3af;--border-color: #374151;--table-row-hover: var(--gray-800);--sidebar-bg-start: #0b0d10;--sidebar-bg-end: #07090c;--sidebar-border: #1b2027;--sidebar-link-color: #e5e7eb;--sidebar-link-hover-bg: #1f2937;--sidebar-link-active-bg: #374151;--sidebar-logout-border: #4b5563}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary)}body{overflow-x:hidden}app-root{display:block;min-height:100%;min-height:100dvh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--gray-200);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--gray-300)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-50)}.btn-danger{background:var(--error-color);color:var(--white)}.btn-danger:hover:not(:disabled){background:#d32f2f}.btn-success{background:var(--success-color);color:var(--white)}.btn-success:hover:not(:disabled){background:#388e3c}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:14px 28px;font-size:16px}.btn-icon{padding:8px;border-radius:var(--radius-full)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary)}.form-group .form-control{width:100%;padding:12px 16px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;transition:all var(--transition-fast)}.form-group .form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-100)}.form-group .form-control.error{border-color:var(--error-color)}.form-group .error-message{margin-top:4px;font-size:12px;color:var(--error-color)}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.card-header h2,.card-header h3{font-weight:600;color:var(--text-primary)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--gray-200)}.table th{background:var(--primary-50);font-weight:600;color:var(--primary-800)}.table tr:hover{background:var(--table-row-hover)}.table .actions{display:flex;gap:8px}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.badge-success{background:var(--primary-100);color:var(--primary-800)}.badge-warning{background:#fff3e0;color:#e65100}.badge-danger{background:#ffebee;color:#c62828}.badge-info{background:#e3f2fd;color:#1565c0}.alert{padding:16px 20px;border-radius:var(--radius-md);margin-bottom:16px}.alert-success{background:var(--primary-50);border-left:4px solid var(--primary-color);color:var(--primary-800)}.alert-error{background:#ffebee;border-left:4px solid var(--error-color);color:#c62828}.alert-warning{background:#fff3e0;border-left:4px solid var(--warning-color);color:#e65100}.alert-info{background:#e3f2fd;border-left:4px solid var(--info-color);color:#1565c0}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gray-200);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-danger{color:var(--error-color)}.text-warning{color:var(--warning-color)}.text-muted{color:var(--text-secondary)}.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}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}@media print{.no-print{display:none!important}body{background:#fff}.print-only{display:block!important}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}.table-responsive .table{min-width:600px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;flex-wrap:wrap}.page-header h2,.page-header h3{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.page-header .page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.filter-bar .search-input{flex:1;min-width:200px}@media (max-width: 1024px){.page-header h2,.page-header h3{font-size:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.table-responsive-stack{overflow-x:visible!important;-webkit-overflow-scrolling:auto;width:100%}.table-responsive-stack table,.table-responsive-stack .table{width:100%;min-width:0!important;border-collapse:collapse}.table-responsive-stack thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-responsive-stack tbody tr{display:block;margin-bottom:14px;border:1px solid var(--gray-200);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}html[data-theme=dark] .table-responsive-stack tbody tr{border-color:var(--border-color, #374151)}.table-responsive-stack tbody td{display:block;position:relative;padding:10px 12px 10px 44%!important;text-align:right;border:none;border-bottom:1px solid var(--gray-100, #f3f4f6);font-size:14px;line-height:1.45;vertical-align:top}html[data-theme=dark] .table-responsive-stack tbody td{border-bottom-color:var(--gray-200, #374151)}.table-responsive-stack tbody tr td:last-child{border-bottom:none}.table-responsive-stack tbody td:before{content:attr(data-label);position:absolute;left:12px;top:10px;width:40%;max-width:42%;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);line-height:1.35}.table-responsive-stack tbody td[colspan],.table-responsive-stack tbody td.no-stack-label{padding:14px 12px!important;text-align:center}.table-responsive-stack tbody td[colspan]:before,.table-responsive-stack tbody td.no-stack-label:before{display:none!important;content:none!important}.table-responsive-stack tbody td.actions,.table-responsive-stack tbody td.actions-cell,.table-responsive-stack tbody td.td-clear-bill{text-align:right}.table-responsive-stack tbody td.actions .btn,.table-responsive-stack tbody td.actions-cell .btn{margin:2px}.table-responsive-stack tbody td .qty-control{justify-content:flex-end}.table-responsive.table-responsive-stack{overflow-x:visible!important}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}.page-header h2,.page-header h3{font-size:18px}.page-header .page-actions{width:100%;justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.form-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .search-input{min-width:100%}.filter-bar select,.filter-bar .form-control{width:100%}.card{padding:16px}.btn{font-size:13px}.btn-lg{padding:12px 20px;font-size:15px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:12px}.page-header h2,.page-header h3{font-size:16px}.badge{font-size:11px;padding:3px 8px}.form-group .form-control,input.form-control,select.form-control,textarea.form-control{font-size:16px}}@media (max-width: 1024px) and (pointer: coarse){.btn{min-height:44px;padding-top:10px;padding-bottom:10px}.btn-sm{min-height:40px;padding:8px 14px}}.gs-snackbar{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(20px);opacity:0;display:flex;align-items:center;gap:10px;padding:13px 20px;border-radius:50px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 8px 32px #00000038;z-index:99999;max-width:min(460px,100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .28s ease,transform .28s ease;pointer-events:auto}.gs-snackbar .material-icons{font-size:20px;flex-shrink:0}.gs-snackbar .gs-snack-msg{flex:1;white-space:normal;line-height:1.4}.gs-snackbar .gs-snack-close{background:#fff3;border:none;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;flex-shrink:0;transition:background .15s}.gs-snackbar .gs-snack-close:hover{background:#ffffff59}.gs-snackbar.gs-snack-in{opacity:1;transform:translate(-50%) translateY(0)}.gs-snackbar.gs-snack-out{opacity:0;transform:translate(-50%) translateY(12px)}.gs-snackbar.gs-snack-success{background:#16a34a}.gs-snackbar.gs-snack-error{background:#dc2626}.gs-snackbar.gs-snack-warning{background:#d97706}.gs-snackbar.gs-snack-info{background:#2563eb}.gs-confirm-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99998;opacity:0;transition:opacity .22s ease}.gs-confirm-overlay.gs-overlay-in{opacity:1}.gs-confirm-overlay.gs-overlay-out{opacity:0}.gs-confirm-dialog{background:#fff;border-radius:20px;padding:32px 28px 24px;width:360px;max-width:90vw;text-align:center;box-shadow:0 24px 64px #0003;transform:scale(.88) translateY(16px);opacity:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .22s ease}.gs-confirm-dialog.gs-dialog-in{transform:scale(1) translateY(0);opacity:1}.gs-confirm-dialog.gs-dialog-out{transform:scale(.92) translateY(10px);opacity:0}.gs-confirm-dialog .gs-confirm-icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.gs-confirm-dialog .gs-confirm-icon .material-icons{font-size:34px}.gs-confirm-dialog .gs-confirm-title{font-size:20px;font-weight:700;color:#111;margin:0 0 10px}.gs-confirm-dialog .gs-confirm-msg{font-size:14px;color:#555;line-height:1.65;margin:0 0 26px}.gs-confirm-dialog .gs-confirm-msg strong{color:#111}.gs-confirm-dialog .gs-confirm-actions{display:flex;gap:12px;justify-content:center}.gs-confirm-dialog .gs-confirm-actions button{min-width:110px;padding:11px 22px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,transform .15s}.gs-confirm-dialog .gs-confirm-actions button:hover{opacity:.88;transform:translateY(-1px)}.gs-confirm-dialog .gs-confirm-actions button:active{transform:translateY(0)}.gs-confirm-dialog .gs-confirm-actions .gs-btn-cancel{background:#f0f0f0;color:#444}.gs-confirm-dialog .gs-confirm-actions .gs-btn-cancel:hover{background:#e0e0e0;opacity:1}.gs-confirm-dialog .gs-confirm-actions .gs-btn-confirm{color:#fff}@media (max-width: 480px){.gs-confirm-dialog{padding:24px max(20px,env(safe-area-inset-left,0px)) 20px max(20px,env(safe-area-inset-right,0px))}.gs-confirm-actions{flex-direction:column;align-items:stretch}.gs-confirm-actions button{width:100%;min-width:unset}}[data-theme=dark] .gs-confirm-dialog{background:#1e1e2e}[data-theme=dark] .gs-confirm-dialog .gs-confirm-title{color:#f1f1f1}[data-theme=dark] .gs-confirm-dialog .gs-confirm-msg{color:#aaa}[data-theme=dark] .gs-confirm-dialog .gs-confirm-msg strong{color:#eee}[data-theme=dark] .gs-confirm-dialog .gs-btn-cancel{background:#2a2a3a;color:#ccc}[data-theme=dark] .gs-confirm-dialog .gs-btn-cancel:hover{background:#333}
