:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Outfit", "Inter", sans-serif;--bg-app: #0f172a;--bg-sidebar: #1e293b;--bg-card: rgba(30, 41, 59, .7);--bg-surface: #1e293b;--bg-hover: #334155;--border-color: rgba(255, 255, 255, .08);--border-highlight: rgba(99, 102, 241, .3);--accent-primary: #6366f1;--accent-hover: #4f46e5;--accent-light: rgba(99, 102, 241, .15);--accent-glow: rgba(99, 102, 241, .35);--emerald: #10b981;--emerald-hover: #059669;--emerald-light: rgba(16, 185, 129, .15);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--info: #3b82f6;--info-light: rgba(59, 130, 246, .15);--text-main: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .4);--glass-backdrop: blur(16px);--accent-color: var(--accent-primary);--surface-color: var(--bg-surface)}[data-theme=light]{--bg-app: #f1f5f9;--bg-sidebar: #ffffff;--bg-card: rgba(255, 255, 255, .85);--bg-surface: #ffffff;--bg-hover: #f8fafc;--border-color: rgba(0, 0, 0, .08);--border-highlight: rgba(99, 102, 241, .4);--text-main: #0f172a;--text-muted: #475569;--text-subtle: #94a3b8;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--accent-color: var(--accent-primary);--surface-color: var(--bg-surface)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;height:100%;width:100%;background-color:var(--bg-app);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;min-height:100%;width:100%;margin:0;padding:0;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b866}.glass-card{background:var(--bg-card);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.glass-card-hover:hover{transform:translateY(-2px);border-color:var(--border-highlight);box-shadow:var(--shadow-lg)}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:260px;min-width:260px;height:100vh;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:72px;min-width:72px}.sidebar.collapsed .sidebar-hide-collapsed{display:none!important}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.75rem 0;gap:0}.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .sidebar-section-title{display:none}.sidebar.collapsed .sidebar-header{padding:1rem .5rem}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid var(--border-color)}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem .75rem;display:flex;flex-direction:column;gap:1.25rem}.sidebar-section{display:flex;flex-direction:column;gap:.25rem}.sidebar-section-title{font-size:.65rem;font-weight:800;letter-spacing:.08em;color:var(--text-subtle);padding:0 .5rem .35rem;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;font-size:.85rem;font-weight:600;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:all .15s ease}.sidebar-link:hover{background-color:var(--bg-hover);color:var(--text-main)}.sidebar-link.active{background-color:var(--accent-light);color:var(--accent-primary);font-weight:700}.sidebar-link.highlight{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));color:#fff!important;box-shadow:0 4px 12px var(--accent-glow)}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--bg-app)}.page-body{flex:1;overflow-y:auto;padding:1.5rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--text-main)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg,var(--emerald),var(--emerald-hover));color:#fff;box-shadow:0 4px 14px #10b98159}.btn-success:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{background:var(--bg-hover);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff1a}.btn-danger{background:var(--danger);color:#fff}.btn-icon{padding:.5rem;border-radius:var(--radius-sm)}.input-field{width:100%;padding:.625rem .875rem;font-size:.875rem;background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.badge-success{background:var(--emerald-light);color:var(--emerald)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.badge-purple{background:#8b5cf626;color:#8b5cf6}.badge-secondary{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border-color)}.card{background:var(--bg-card);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.page-container{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172abf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-main);max-width:100%;overflow:hidden}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.table thead{background-color:var(--bg-hover);border-bottom:1px solid var(--border-color)}.table th{padding:.85rem 1rem;font-weight:700;font-size:.8rem;color:var(--text-muted);letter-spacing:.02em;white-space:nowrap}.table td{padding:.75rem 1rem;vertical-align:middle;border-bottom:1px solid var(--border-color);color:var(--text-main)}.table tbody tr:hover,.table-row-hover:hover{background-color:var(--bg-hover)}@media print{@page{margin:0;size:auto}html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;overflow:visible!important}body *{visibility:hidden!important}.no-print,.no-print *{display:none!important;visibility:hidden!important}.thermal-receipt-modal-overlay,.thermal-receipt-modal-card,.thermal-receipt-preview-box,.jobcard-modal-backdrop,.gatepass-modal-backdrop{position:static!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border:none!important;padding:0!important;margin:0!important;width:100%!important;height:auto!important;overflow:visible!important}.thermal-receipt-container,.thermal-receipt-container *,.a4-invoice-container,.a4-invoice-container *,.tally-invoice-container,.tally-invoice-container *,.jobcard-print-container,.jobcard-print-container *,.gatepass-print-container,.gatepass-print-container *{visibility:visible!important}.thermal-receipt-container{position:absolute!important;left:0!important;top:0!important;margin:0!important;box-shadow:none!important;border:none!important;background:#fff!important;color:#000!important}.a4-invoice-container,.tally-invoice-container,.jobcard-print-container{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:210mm!important;margin:0 auto!important;box-shadow:none!important;background:#fff!important;color:#000!important;padding:4mm!important}.gatepass-print-container{position:absolute!important;left:0!important;top:0!important;width:80mm!important;max-width:80mm!important;margin:0 auto!important;box-shadow:none!important;background:#fff!important;color:#000!important;padding:3mm!important}.thermal-receipt-container img,.a4-invoice-container img,.tally-invoice-container img{visibility:visible!important;display:inline-block!important;max-height:65px!important;width:auto!important;object-fit:contain!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes toastSlideIn{0%{opacity:0;transform:translate3d(100%,0,0) scale(.92)}65%{transform:translate3d(-3%,0,0) scale(1.02)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateZ(0) scale(1);max-height:120px;margin-bottom:.65rem}to{opacity:0;transform:translate3d(115%,0,0) scale(.9);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.toast-item{animation:toastSlideIn .32s cubic-bezier(.16,1,.3,1) forwards;transition:all .25s ease}.toast-item.dismissing{animation:toastSlideOut .28s cubic-bezier(.16,1,.3,1) forwards}
