@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#3b82f6;--primary-hover:#2563eb;--secondary:#1e293b;--bg-color:#f8fafc;--surface:#fff;--text-main:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--danger:#ef4444;--danger-hover:#dc2626;--success:#22c55e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar-brand{color:var(--primary);font-size:1.25rem;font-weight:700}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:2rem;animation:.3s ease-in-out fadeIn;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-success{background:var(--success);color:#fff}.btn-outline{border:1px solid var(--border-color);color:var(--text-main);background:0 0}.btn-outline:hover{background:var(--bg-color)}.form-group{margin-bottom:1.5rem}.form-label{color:var(--secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);border-radius:6px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.table-container{border:1px solid var(--border-color);background:var(--surface);border-radius:8px;overflow-x:auto}.modern-table{border-collapse:collapse;width:100%}.modern-table th,.modern-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:1rem}.modern-table th{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;font-size:.875rem;font-weight:600}.modern-table tr:hover{background:#f8fafc}.modern-table td{color:var(--text-main);font-size:.875rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-container{background-color:#f1f5f9;background-image:radial-gradient(#cbd5e1 1px,#0000 1px);background-size:24px 24px;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;width:100%;max-width:400px;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0000004d}@page{margin:0}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%;padding-bottom:10mm;position:absolute;top:0;left:0}.no-print{display:none!important}.voucher-print-container{border:none!important;max-width:100%!important;padding:10px!important;font-size:12px!important}.voucher-header{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.voucher-logo{object-fit:contain!important;max-width:55%!important;height:60px!important}.voucher-contact{text-align:right!important;font-size:12px!important}.voucher-amount-row{display:table-row!important}.voucher-amount-words{border-bottom:1px solid #ccc!important;width:65%!important}.voucher-amount-total{text-align:right!important;width:35%!important}.voucher-signatures{flex-direction:row!important;justify-content:space-between!important;margin-top:50px!important;display:flex!important}.voucher-sig-box{width:150px!important}}.voucher-print-container{color:#000;box-sizing:border-box;background:#fff;border:1px solid #ccc;max-width:840px;margin:0 auto;padding:20px;font-family:Arial,sans-serif;font-size:13px}.voucher-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.voucher-logo{object-fit:contain;max-width:55%;height:60px}.voucher-contact{text-align:right;font-size:12px;line-height:1.35}.voucher-title-banner{text-align:center;color:red;background:#fcc;border:1px solid #ccc;margin-bottom:10px;padding:5px;font-size:14px;font-weight:700}.voucher-table{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:12px}.voucher-table td,.voucher-table th{word-break:break-word;border:1px solid #ccc;padding:4px 6px}.voucher-amount-table{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:12px}.voucher-amount-table td{border:1px solid #ccc;padding:8px}.voucher-signatures{justify-content:space-between;margin-top:50px;font-size:12px;display:flex}.voucher-sig-box{text-align:center;width:150px}.voucher-sig-line{border-top:1px solid #000;width:100%;padding-top:4px;font-weight:700}.print-container{color:#000;background:#fff;border:1px solid #ccc;max-width:900px;margin:0 auto;padding:20px;font-family:Arial,sans-serif;font-size:13px}.print-header{flex-direction:column;justify-content:center;align-items:center;margin-bottom:10px;padding-top:10mm;display:flex}.print-logo-row{justify-content:center;align-items:center;gap:15px;display:flex}.print-logo-text h1{letter-spacing:1px;margin:0;font-size:26px;font-weight:900}.print-logo-text p{text-align:center;margin:0;font-size:12px;font-weight:700}.print-commercial-offer{text-align:center;color:red;background:#fcc;border:1px solid #000;width:100%;margin-bottom:10px;padding:4px;font-style:italic;font-weight:700}.print-details-grid{border:2px solid #000;grid-template-columns:1fr 1fr;margin-bottom:10px;display:grid}.print-details-left{padding:5px}.print-details-right{border-left:2px solid #000;padding:5px}.print-details-row{margin-bottom:2px;display:flex}.print-details-label{width:130px;font-weight:400}.print-details-value{font-weight:700}.print-table{border-collapse:collapse;border:2px solid #000;width:100%;margin-bottom:10px}.print-table th,.print-table td{text-align:center;border:1px solid #000;padding:6px}.print-table th{background:#fcc;font-style:italic;font-weight:700}.print-table .text-left{text-align:left}.print-table .total-row{background:#e6e6e6;font-weight:700}.print-amount-words{background:silver;border:2px solid #000;margin-bottom:10px;padding:5px;font-weight:700}.print-terms{border:2px solid #000;margin-bottom:10px;padding:5px}.print-terms-title{background:silver;margin-bottom:5px;padding:2px 10px;font-weight:700;display:inline-block}.print-signature-area{page-break-inside:avoid;border:2px solid #000;justify-content:space-between;align-items:flex-end;min-height:150px;padding:10px;display:flex}.print-signature-text{font-weight:700;line-height:1.4}.print-footer-logos{align-items:center;gap:10px;display:flex}.print-footer-logos img{height:40px}.navbar{background:var(--surface);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 1px 3px #0000000d}.navbar-top{align-items:center;gap:1.5rem;display:flex}.navbar-brand{color:var(--primary);letter-spacing:-.5px;font-size:1.3rem;font-weight:800}.navbar-user{color:var(--secondary);background:#f1f5f9;border-radius:20px;padding:.3rem .8rem;font-size:.9rem;font-weight:500}.user-role{color:var(--text-muted);font-size:.8rem}.navbar-menu{gap:.5rem;display:flex}.page-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.page-header h2,.page-header h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.permissions-box{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;margin:1.25rem 0;padding:1.25rem}.permissions-box-header{margin-bottom:1rem}.permissions-box-title{color:var(--secondary);font-size:.95rem;font-weight:700;display:block}.permissions-box-sub{color:var(--text-muted);margin-top:2px;font-size:.8rem;display:block}.permission-hint{border-left:3px solid var(--primary);color:#1e40af;background:#eff6ff;border-radius:0 6px 6px 0;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;line-height:1.4}.permission-module-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.75rem;padding:.85rem 1rem}.permission-module-card:last-child{margin-bottom:0}.permission-module-header{color:var(--secondary);align-items:center;gap:8px;margin-bottom:.6rem;font-size:.88rem;display:flex}.permission-options-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.permission-toggles-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.toggle-pill{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .85rem;transition:all .2s;display:flex}.toggle-pill input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.toggle-pill.active{border-color:var(--primary);background:#f0f7ff}.toggle-pill .toggle-text{color:var(--text-main);font-size:.82rem;font-weight:600}.feature-permissions-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:1.25rem;overflow:hidden;box-shadow:0 1px 3px #0000000a}.feature-permissions-topbar{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.feature-permissions-title{color:#1e293b;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.feature-permissions-actions{gap:6px;display:flex}.btn-perm-action{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.3;transition:all .15s}.btn-select-all{color:#fff;background:#10b981}.btn-select-all:hover{background:#059669}.btn-deselect-all{color:#fff;background:#ef4444}.btn-deselect-all:hover{background:#dc2626}.feature-permissions-subtitle{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.5rem 1rem;font-size:12px;font-weight:500}.perm-category-container{border-bottom:1px solid #f1f5f9}.perm-category-container:last-child{border-bottom:none}.perm-category-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .15s;display:flex}.perm-category-header:hover{background:#f8fafc}.perm-category-left{align-items:center;gap:10px;display:flex}.perm-category-name{text-transform:uppercase;letter-spacing:.03em;color:#334155;font-size:.82rem;font-weight:700}.perm-category-right{color:#94a3b8;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.perm-items-list{background:#fafafa;border-top:1px dashed #f1f5f9;padding:.25rem 0 .5rem 2.25rem}.perm-item-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:10px;margin-right:.75rem;padding:.45rem .5rem;transition:background .15s;display:flex}.perm-item-row:hover{background:#f1f5f9}.perm-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.perm-item-label{color:#334155;font-size:.85rem;font-weight:500}.badge-pill{white-space:nowrap;border-radius:20px;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-staff{color:#0369a1;background:#e0f2fe}.badge-store_manager,.badge-store{color:#7e22ce;background:#f3e8ff}.badge-managing_director,.badge-md{color:#b45309;background:#fef3c7}.badge-accountant,.badge-account{color:#15803d;background:#dcfce7}.badge-manager{color:#475569;background:#f1f5f9}.badge-admin{color:#4338ca;background:#e0e7ff}.badge-creator{color:#0284c7;background:#e0f2fe}.mini-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.nav-icon-btn{border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-color);background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:relative}.nav-icon-btn:hover{background:var(--bg-light);border-color:var(--primary);color:var(--primary)}.nav-icon-btn.has-notifications{color:#ef4444;border-color:#ef4444}.nav-badge-count{color:#fff;border:2px solid var(--surface);background:#ef4444;border-radius:10px;padding:3px 6px;font-size:10px;font-weight:700;line-height:1;animation:2s infinite badge-pulse;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 4px #ef444466}@keyframes badge-pulse{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.notification-backdrop{z-index:2400;-webkit-backdrop-filter:blur(2px);background:#00000040;width:100vw;height:100vh;position:fixed;top:0;left:0}.notification-dropdown{background:var(--surface);border:1px solid var(--border-color);z-index:2500;border-radius:12px;width:340px;max-width:90vw;animation:.2s cubic-bezier(.16,1,.3,1) dropdown-pop;position:absolute;top:calc(100% + 8px);left:-10px;right:auto;overflow:hidden;box-shadow:0 12px 30px #0000002e}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notification-header{background:var(--bg-light);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.btn-tiny{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:600;transition:all .15s}.btn-tiny:hover{background:var(--surface);border-color:var(--primary);color:var(--primary)}.notification-list{max-height:340px;overflow-y:auto}.notification-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:10px 14px;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#2563eb0d}.notification-footer{background:var(--bg-light);border-top:1px solid var(--border-color);padding:10px 14px}.notification-toast{z-index:2100;background:var(--surface);border:2px solid var(--primary);border-radius:12px;align-items:center;gap:12px;max-width:420px;padding:12px 16px;animation:.3s cubic-bezier(.16,1,.3,1) slideInToast;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 12px 32px #0000002e}@keyframes slideInToast{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.bell-ring-anim{color:var(--primary);animation:1.2s infinite bell-shake}@keyframes bell-shake{0%,to{transform:rotate(0)}20%,60%{transform:rotate(15deg)}40%,80%{transform:rotate(-15deg)}}.petty-cash-metrics-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:1rem 0;display:grid}.petty-cash-metric-card{border-radius:8px;padding:12px 16px;transition:transform .15s}.petty-cash-metric-label{text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.petty-cash-metric-val{margin-top:2px;font-size:20px;font-weight:700}.petty-cash-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:1rem;display:flex}.petty-cash-search{flex:1;max-width:320px}.petty-cash-filter-buttons{flex-wrap:wrap;gap:6px;display:flex}.petty-cash-filter-buttons .btn{padding:5px 10px;font-size:12px}@media screen and (width<=768px){body{background-color:#f8fafc}.main-content{padding:.5rem .25rem}.card{border:1px solid var(--border-color);background:var(--surface);border-radius:12px;margin:.5rem .35rem 1rem;padding:1rem .85rem;box-shadow:0 2px 8px #0000000a}.navbar{border-bottom:1px solid var(--border-color);flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem .85rem;box-shadow:0 2px 8px #0000000a}.navbar-top{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.navbar-brand{font-size:1.25rem;font-weight:800}.navbar-user{white-space:nowrap;text-overflow:ellipsis;max-width:135px;padding:.25rem .5rem;font-size:.75rem;overflow:hidden}.btn-logout-icon{padding:.35rem .55rem!important}.logout-text{display:none}.navbar-menu{-webkit-overflow-scrolling:touch;border-top:1px solid #f1f5f9;flex-wrap:nowrap;justify-content:flex-start;gap:.4rem;width:100%;padding-top:.5rem;padding-bottom:4px;display:flex;overflow-x:auto}.navbar-menu .btn{white-space:nowrap;flex-shrink:0;padding:.45rem .75rem;font-size:.82rem}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header button{width:100%}.navbar-menu::-webkit-scrollbar{height:4px}.navbar-menu::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.grid-2,.form-grid-2,.responsive-grid,.permission-toggles-grid,.permission-options-row{grid-template-columns:1fr!important;gap:.75rem!important}.table-container{border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;border-radius:8px;margin:.75rem 0;overflow-x:auto}.modern-table{min-width:600px}.modern-table th,.modern-table td{padding:.6rem .55rem;font-size:.82rem}.modern-table input.form-control,.modern-table textarea.form-control{min-height:34px!important;padding:.4rem .5rem!important;font-size:13px!important}.btn{padding:.55rem .85rem;font-size:.85rem}td[style*="display: flex"]{flex-flow:wrap!important;gap:5px!important}form div[style*="display: flex"][style*="gap: 1rem"],form div[style*="display: flex"][style*="gap: 1.5rem"]{flex-direction:column!important;gap:.6rem!important}form div[style*="display: flex"]>.btn{width:100%!important}.form-control{padding:.65rem .75rem;font-size:15px}.notification-toast{max-width:none;top:12px;left:12px;right:12px}.notification-dropdown{z-index:2500!important;width:auto!important;max-width:420px!important;margin:0 auto!important;position:fixed!important;top:56px!important;left:10px!important;right:10px!important;box-shadow:0 16px 40px #00000047!important}.petty-cash-metrics-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin:.75rem 0!important}.petty-cash-metric-card{padding:10px 12px!important}.petty-cash-metric-label{font-size:10px!important}.petty-cash-metric-val{font-size:16px!important}.petty-cash-toolbar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.petty-cash-search{width:100%!important;max-width:none!important}.petty-cash-filter-buttons{-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;padding-bottom:4px!important;display:flex!important;overflow-x:auto!important}.petty-cash-filter-buttons .btn{white-space:nowrap!important;flex-shrink:0!important;padding:5px 9px!important;font-size:11px!important}.disburse-modal-card{max-width:95vw!important;padding:1rem!important}.print-container{-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important;max-width:100%!important;margin:0 auto!important;padding:10px 8px!important;overflow-x:auto!important}.print-page{-webkit-overflow-scrolling:touch!important;max-width:100%!important;padding:10px 8px!important;overflow-x:auto!important}.voucher-print-container{box-sizing:border-box!important;border:1px solid #e2e8f0!important;width:100%!important;max-width:100%!important;padding:12px 10px!important;font-size:11.5px!important;overflow-x:hidden!important}.voucher-header{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:8px!important;margin-bottom:10px!important}.voucher-logo{object-fit:contain!important;max-width:90%!important;height:auto!important;max-height:44px!important;margin:0 auto!important}.voucher-contact{text-align:center!important;font-size:11px!important;line-height:1.35!important}.voucher-title-banner{padding:5px!important;font-size:12px!important}.voucher-table{width:100%!important;margin-bottom:8px!important;font-size:11px!important}.voucher-table td{padding:4px 5px!important}.voucher-amount-table{margin-bottom:15px!important;font-size:11.5px!important}.voucher-amount-table td{padding:6px 8px!important}.voucher-amount-row{flex-direction:column!important;display:flex!important}.voucher-amount-words{box-sizing:border-box!important;border-bottom:none!important;width:100%!important}.voucher-amount-total{text-align:left!important;box-sizing:border-box!important;background:#fff5f5!important;justify-content:space-between!important;align-items:center!important;width:100%!important;display:flex!important}.voucher-signatures{grid-template-columns:1fr 1fr!important;gap:16px 10px!important;margin-top:25px!important;display:grid!important}.voucher-sig-box{width:100%!important}.voucher-sig-line{max-width:120px!important;margin:0 auto!important}.btn{min-height:38px}.btn-tiny{min-height:28px;padding:4px 8px}}@media screen and (width>=769px) and (width<=1024px){.card{margin:.75rem .5rem;padding:1.5rem 1.25rem}.navbar{padding:.75rem 1.25rem}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}
