@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.portal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center}.portal-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:2rem;width:90%;max-width:1100px;max-height:90vh;overflow:auto;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease-out}.portal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem;position:sticky;top:0;background:var(--bg-card);z-index:2}.portal-header h2{font-size:1.8rem;color:var(--text-primary);margin:0}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}@media(min-width:1200px){.portal-grid{grid-template-columns:repeat(4,minmax(200px,1fr))}}.portal-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.portal-item:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,var(--item-color),transparent 70%);opacity:0;transition:opacity .3s;z-index:0}.portal-item:hover{transform:translateY(-5px);background:var(--bg-card);border-color:var(--item-color);box-shadow:0 10px 30px -10px #0000001a}.portal-item:hover:before{opacity:.1}.portal-icon-wrapper{width:64px;height:64px;border-radius:20px;background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:.5rem;transition:transform .3s;z-index:1;border:1px solid var(--border-color)}.portal-item:hover .portal-icon-wrapper{transform:scale(1.1);background:var(--item-color);border-color:transparent;color:#fff}.portal-title{font-size:1.1rem;font-weight:500;color:var(--text-primary);z-index:1;text-align:center}.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width var(--transition-base);z-index:var(--z-sticky)}.sidebar.collapsed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.logo{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{font-size:2rem;filter:drop-shadow(0 0 10px rgba(99,102,241,.5))}.logo-text{font-size:1.5rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.collapse-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary)}.collapse-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.sidebar-nav{flex:1;padding:var(--spacing-md);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);position:relative;overflow:hidden;cursor:pointer;text-decoration:none}.nav-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--primary);transform:scaleY(0);transition:transform var(--transition-base)}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translate(4px)}.nav-item.active{background:linear-gradient(90deg,rgba(99,102,241,.1) 0%,transparent 100%);color:var(--primary)}.nav-item.active:before{transform:scaleY(1)}.nav-icon{font-size:1.5rem;min-width:24px;text-align:center}.nav-label{font-weight:500;white-space:nowrap}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.user-details{flex:1}.user-name{font-weight:600;color:var(--text-primary);font-size:.9375rem}.user-role{font-size:.75rem;color:var(--text-muted)}@media(max-width:768px){.sidebar{width:80px}.sidebar .nav-label,.sidebar .logo-text,.sidebar .user-details{display:none}}.header{position:sticky;top:0;z-index:var(--z-sticky);padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-xl);animation:fadeIn .5s ease-out}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.header-left{flex:1}.page-title{font-size:1.75rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xs)}.page-subtitle{font-size:.875rem;color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.header-btn{position:relative;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}.header-btn:hover{background:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.header-btn .icon{font-size:1.25rem}.badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:#fff;font-size:.625rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.header-divider{width:1px;height:32px;background:var(--border)}.current-time{font-size:.875rem;color:var(--text-secondary);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md)}@media(max-width:768px){.header{padding:var(--spacing-md)}.page-title{font-size:1.5rem}.page-subtitle,.current-time{display:none}}.dashboard{min-height:100vh}.dashboard-content{padding:0 var(--spacing-xl) var(--spacing-xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md)}.spinner{font-size:3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl)}.stat-icon{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:var(--shadow-lg)}.stat-info{flex:1}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.stat-label{font-size:.875rem;color:var(--text-muted);font-weight:500;margin-bottom:.25rem}.stat-sublabel{font-size:.75rem;color:var(--text-secondary);display:block;margin-top:.25rem}.budget-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}.budget-item{text-align:center}.budget-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-weight:500}.budget-value{font-size:1.5rem;font-weight:700}.budget-allocated{color:var(--primary)}.budget-utilized{color:var(--warning)}.budget-remaining{color:var(--success)}.budget-bar{height:12px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin:var(--spacing-lg)}.budget-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--warning) 100%);transition:width .6s ease}.amount{font-weight:600;color:var(--success)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:#6366f133;color:var(--primary-light)}.badge-success{background:#22c55e33;color:#22c55e}.badge-danger{background:#ef444433;color:#ef4444}.bank-balances{display:grid;gap:var(--spacing-md);padding:var(--spacing-lg)}.bank-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-base)}.bank-item:hover{background:var(--bg-secondary);transform:translate(4px)}.bank-info{flex:1}.bank-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.bank-account{font-size:.875rem;color:var(--text-secondary)}.bank-balance{font-size:1.125rem;font-weight:700;color:var(--success)}@media(max-width:768px){.dashboard-content{padding:0 var(--spacing-md) var(--spacing-md)}.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--spacing-lg)}.budget-overview{grid-template-columns:1fr}}.auto-suggestion-wrapper{position:relative;width:100%}.auto-suggestion-input{width:100%;padding:.625rem .75rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.auto-suggestion-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.auto-suggestion-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.auto-suggestion-loading{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auto-suggestion-list{position:absolute;top:100%;left:0;right:0;max-height:250px;overflow-y:auto;margin:4px 0 0;padding:0;list-style:none;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000}.auto-suggestion-item{padding:.625rem .75rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background-color .15s;color:var(--text-primary);background-color:var(--bg-secondary);font-size:.875rem}.auto-suggestion-item:last-child{border-bottom:none}.auto-suggestion-item:hover,.auto-suggestion-item.highlighted{background-color:var(--primary);color:#fff}.auto-suggestion-empty{position:absolute;top:100%;left:0;right:0;padding:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;text-align:center;margin-top:4px;z-index:999}.auto-suggestion-error{margin-top:4px;padding:.375rem;color:var(--error);font-size:.75rem}.existing-record-warning{background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;margin-top:.5rem}.existing-record-warning h4{margin:0 0 .5rem;color:var(--warning);font-size:.875rem;font-weight:600}.existing-record-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-size:.8rem}.existing-record-details div{color:var(--text-secondary)}.existing-record-details strong{color:var(--text-primary)}.payment-entry{min-height:100vh}.payment-content{padding:0 var(--spacing-xl) var(--spacing-xl)}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.search-box{display:flex;gap:var(--spacing-sm);flex:1;max-width:600px}.search-box .input{margin-bottom:0}.search-box select.input{max-width:150px}.form-card{margin-bottom:var(--spacing-xl)}.payment-form{padding:var(--spacing-lg) 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.full-width{grid-column:1 / -1}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.action-buttons{display:flex;gap:var(--spacing-sm)}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);font-size:1rem}.btn-icon:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-edit:hover{background:var(--info);border-color:var(--info)}.btn-delete:hover{background:var(--error);border-color:var(--error)}textarea.input{resize:vertical;min-height:80px;font-family:inherit}.amount{font-weight:600;color:var(--success);font-size:1.0625rem}@media(max-width:1024px){.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.payment-content{padding:0 var(--spacing-md) var(--spacing-md)}.action-bar{flex-direction:column;align-items:stretch}.search-box{max-width:100%;flex-direction:column}.search-box select.input{max-width:100%}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.table-container{overflow-x:auto}.table{min-width:800px}}@media(max-width:480px){.action-bar,.card{padding:var(--spacing-md)}}.suggestion-item{display:flex;flex-direction:column;gap:2px}.suggestion-name{font-weight:500;color:#1f2937}.suggestion-meta{font-size:.75rem;color:#6b7280}.cheque-warning{margin-top:.5rem;padding:.75rem;border-radius:.375rem;font-size:.875rem}.warning-exact{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;cursor:pointer;transition:all var(--transition-base)}.warning-exact:hover{background-color:#fee2e2;border-color:#fca5a5;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.warning-similar{background-color:#fefce8;border:1px solid #fef08a;color:#854d0e}.warning-header{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.5rem}.warning-icon{font-size:1rem}.warning-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem;font-size:.8rem}.warning-details div{color:#450a0a}.input.date-mask{letter-spacing:2px;font-family:monospace}.input.date-mask::placeholder{letter-spacing:normal;color:#9ca3af}@page{size:A4 portrait;margin:.5cm}.voucher-page{min-height:100vh;background:radial-gradient(circle at top right,rgba(99,102,241,.05),transparent),radial-gradient(circle at bottom left,rgba(168,85,247,.05),transparent),var(--bg-main);padding-bottom:50px}.voucher-header{background:var(--bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-bar{display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.search-box{display:flex;gap:var(--spacing-sm);align-items:center}.search-box input{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);min-width:250px}.btn-sm{padding:.4rem .8rem;font-size:.85rem;margin-left:.5rem}.voucher-master-section,.voucher-details-section,.voucher-footer,.voucher-entry-container .card{background:var(--bg-card);padding:var(--spacing-xl);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-xl);margin-bottom:var(--spacing-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fadeIn .5s ease-out}.voucher-entry-container{max-width:1400px;margin:0 auto;width:100%;padding:20px}.form-row{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.form-group{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;width:100%;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.balance-display{color:var(--success);font-weight:600;margin-top:5px;font-size:.85rem}.line-items-wrapper{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.line-item-card{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.75rem;position:relative;transition:all .3s ease;border-left:4px solid var(--primary)}.line-item-card:hover{border-color:var(--primary);background:#ffffff0a;box-shadow:var(--shadow-lg);transform:translate(5px)}.line-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border)}.line-item-header h4{margin:0;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.line-item-row{display:flex;gap:1.5rem;margin-bottom:1.5rem;align-items:flex-start}.line-item-row:last-child{margin-bottom:0}.line-item-group{display:flex;flex-direction:column;gap:.75rem}.line-item-group label{font-size:.7rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.line-item-group input,.line-item-group textarea,.line-item-group select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem .8rem;border-radius:var(--radius-md);width:100%;font-size:.95rem;font-weight:500;transition:all .2s ease}.line-item-group input:focus,.line-item-group textarea:focus,.line-item-group select:focus{outline:none;border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px #6366f126}.line-item-group textarea{padding-top:.8rem;min-height:48px;background:var(--bg-secondary)}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.taxes-row{background:#00000026;padding:1.25rem;border-radius:var(--radius-lg);align-items:flex-end;border:1px solid rgba(255,255,255,.05)}.auto-link-group{justify-content:center;align-items:center;min-width:80px}.checkbox-wrapper{display:flex;align-items:center;justify-content:center;height:48px}.checkbox-wrapper input[type=checkbox]{width:20px;height:20px;cursor:pointer}.btn-remove-circle{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .2s}.btn-remove-circle:hover{background:#ef4444;color:#fff;transform:rotate(90deg)}.btn-add-modern{background:var(--bg-card);color:var(--primary);border:2px dashed var(--primary);padding:1.25rem 2rem;border-radius:var(--radius-xl);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;width:100%;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.btn-add-modern:hover{background:#6366f10d;border-style:solid}.btn-add-modern span{font-size:1.75rem;line-height:1}.readonly-input{background-color:var(--bg-tertiary)!important;border:1px solid var(--border);color:var(--text-muted);font-weight:600;cursor:not-allowed}.btn-add{background:#6366f11a;color:var(--primary);border:1px dashed var(--primary);width:100%;padding:.75rem;margin-top:10px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-add:hover{background:#6366f133}.btn-remove{background:#ef44441a;color:var(--error);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-remove:hover{background:#ef444433}.totals-summary{display:flex;flex-direction:column;gap:10px;min-width:300px;margin-left:auto;background:var(--bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md)}.total-row{display:flex;justify-content:space-between;font-size:.95rem;color:var(--text-secondary)}.grand-total{font-weight:700;font-size:1.2rem;color:var(--success);border-top:1px solid var(--border);padding-top:10px;margin-top:5px}.voucher-list-table{width:100%;border-collapse:collapse}.voucher-list-table th{background:var(--bg-tertiary);padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border)}.voucher-list-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.voucher-list-table tr:hover{background:var(--bg-tertiary)}.badge-success{background:#10b9811a;color:var(--success);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-start}.btn-action{padding:.4rem .8rem;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.3rem}.btn-edit{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.btn-edit:hover{background:#3b82f633;border-color:#3b82f6}.btn-delete{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-delete:hover{background:#ef444433;border-color:#ef4444}.btn-print{background:#a855f71a;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.btn-print:hover{background:#a855f733;border-color:#a855f7}.btn-pdf{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.btn-pdf:hover{background:#22c55e33;border-color:#22c55e}.printable-voucher{display:none}@media print{@page{size:210mm 297mm portrait;margin:.5cm}*{background-color:transparent!important}html,body{margin:0;padding:0}body *{visibility:hidden}.printable-voucher,.printable-voucher *{visibility:visible}.printable-voucher{display:block!important;position:absolute;left:0;top:0;width:210mm!important;max-width:210mm!important;min-width:210mm!important;height:297mm!important;max-height:297mm!important;padding:12px 18px;background:#fff!important;color:#000!important;z-index:9999;font-family:Times New Roman,serif;box-sizing:border-box;transform:none;overflow:hidden;page-break-after:avoid;break-after:avoid}.sidebar,.header,.action-bar,.btn,.form-actions,.voucher-page>.voucher-content,.voucher-page>.voucher-entry-container{display:none!important}.print-header-section{text-align:center;margin-bottom:18px}.org-name{font-size:20px;font-weight:900;margin:0 0 5px;text-transform:uppercase;letter-spacing:.5px;color:#000!important}.govt-name{font-size:13px;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:.3px;color:#000!important}.voucher-title-box{border:2px solid black;display:inline-block;padding:6px 30px;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.print-info-grid{display:flex;justify-content:space-between;margin-bottom:15px;margin-top:18px}.info-left{width:50%}.info-right{width:45%}.info-row{display:flex;align-items:flex-end;margin-bottom:10px;font-size:13px}.label{font-weight:700;margin-right:8px;white-space:nowrap;font-size:13px}.value-underline{border-bottom:1px solid black;flex-grow:1;padding-left:6px;padding-bottom:2px;min-height:20px;display:inline-block;vertical-align:bottom;line-height:1.2}.full-width{width:100%;display:block}.empty-line{height:20px}.print-amount-row{display:flex;align-items:flex-end;margin-bottom:15px;font-size:13px}.flex-grow{flex-grow:1}.print-bank-row{display:flex;align-items:flex-end;margin-bottom:15px;font-size:13px;gap:10px}.bank-name{width:200px;color:#000}.account-no{width:180px}.print-main-table-container,.print-budget-table-container{margin-bottom:15px;page-break-inside:avoid;break-inside:avoid}.print-main-table,.print-budget-table{width:100%;border-collapse:collapse;border:2px solid black}.print-main-table th,.print-main-table td,.print-budget-table th,.print-budget-table td{border:1px solid black;padding:6px 10px;font-size:13px;min-height:32px}.print-main-table th,.print-budget-table th{text-align:center;font-weight:700;background-color:transparent!important;padding:8px 10px}.amount-col{width:160px}.text-right{text-align:right}.bold{font-weight:700}.print-main-table td div{line-height:1.6;page-break-inside:avoid}.print-footer-section{margin-top:30px;page-break-inside:avoid;break-inside:avoid}.signatures-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:0;padding:0;gap:10px}.sig-box{text-align:center;flex:1 1 auto;font-size:11px;min-width:0;font-weight:700}.sig-line{border-top:1px solid black;margin-bottom:5px;margin-top:35px;width:100%}.receiver-box{border:1px solid black;width:200px;height:150px;padding:10px;position:relative;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between}.receiver-text{font-size:12px;margin-bottom:0;font-weight:700}.receiver-sig-line{border-top:1px solid black;width:85%;margin:95px auto 5px}.receiver-label{text-align:center;font-size:12px}}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-top:1px solid var(--border);background:var(--bg-tertiary);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.pagination-info{color:var(--text-secondary);font-size:.9rem}.pagination-buttons{display:flex;align-items:center;gap:1rem}.page-number{color:var(--text-primary);font-weight:500;font-size:.9rem}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.searchable-select{position:relative;width:100%}.searchable-select input{width:100%;padding:.75rem .8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;font-weight:500;transition:all .2s ease}.searchable-select input:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.searchable-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:300px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:8px}.searchable-dropdown::-webkit-scrollbar{width:6px}.searchable-dropdown::-webkit-scrollbar-track{background:transparent}.searchable-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.searchable-option{padding:.75rem 1rem;cursor:pointer;border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;margin-bottom:4px;transition:all .2s}.searchable-option:last-child{margin-bottom:0}.searchable-option:hover{background:var(--bg-tertiary);color:var(--primary);transform:translate(5px)}.searchable-no-results{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}.search-box select{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);min-width:160px;height:38px;line-height:1;transition:all var(--transition-fast)}.search-box select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.search-box select option{background:var(--bg-secondary);color:var(--text-primary)}.bank-account-page{padding:2rem;max-width:1400px;margin:0 auto}.bank-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.bank-form .input-group{display:flex;flex-direction:column;gap:.5rem}.bank-form label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-actions{display:flex;gap:1rem;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}.amount{font-family:Courier New,monospace;font-weight:600;color:#4ade80}@media(max-width:768px){.bank-account-page{padding:1rem}.bank-form .form-grid{grid-template-columns:1fr}}.report-controls{display:inline-flex;align-items:center;gap:2rem;margin-left:2rem}.report-controls label{color:var(--text-secondary);font-size:1.5rem}.funds-report-print{display:none}.fr-header{text-align:center;margin-bottom:10px}.fr-org{font-weight:800;font-size:24px;text-transform:uppercase}.fr-title{font-weight:600;font-size:24px;text-decoration:underline}.fr-table{width:100%;border-collapse:collapse;margin-top:10px}.fr-table th,.fr-table td{border:1px solid black;padding:5px;font-size:22px}.fr-table th{text-transform:uppercase}.text-right{text-align:right}.acc-name{font-weight:800;text-transform:uppercase}.acc-branch{font-size:14px}.fr-total-label{font-weight:800;text-align:right}.fr-total-amount{font-weight:800}.fr-footer{display:flex;justify-content:flex-end}.fr-sig{font-weight:600;text-align:right}@media print{body.bank-report-printing *{visibility:hidden}body.bank-report-printing .funds-report-print,body.bank-report-printing .funds-report-print *{visibility:visible}body.bank-report-printing .funds-report-print{display:block;position:absolute;left:0;top:-5px;width:100%;max-width:none;box-sizing:border-box;margin-left:5%;transform:scale(.9);transform-origin:top left;color:#000!important;background:#fff!important;page-break-inside:avoid;overflow:hidden}.fr-table th,.fr-table td{padding:3px 4px}body.bank-report-printing .fr-footer{margin-top:100px}body.bank-report-printing .fr-sig{font-size:22px;font-weight:800}}.bank-account-page .action-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%;max-width:100%;overflow:hidden}.bank-account-page .search-box{display:inline-flex;align-items:center;gap:.5rem;flex:1 1 420px;min-width:260px;max-width:100%}.bank-account-page .search-box .input{width:clamp(220px,36vw,520px);height:38px;padding:0 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary)}.bank-account-page .search-box .btn.btn-secondary,.bank-account-page .report-controls .btn.btn-secondary{height:38px;display:inline-flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-md)}.bank-account-page .search-box .btn.btn-secondary:hover,.bank-account-page .report-controls .btn.btn-secondary:hover{background:#6366f114;border-color:var(--primary)}.bank-account-page .report-controls{display:inline-flex;align-items:center;gap:.5rem;padding-left:.75rem;margin-left:.5rem;border-left:1px solid var(--border);flex:0 0 auto;max-width:100%}.bank-account-page .report-controls label{color:var(--text-secondary);font-size:.9rem}.bank-account-page .report-controls .input[type=date],.bank-account-page .report-controls input[type=date]{height:38px;padding:0 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);width:150px}.bank-account-page input[type=date]::-webkit-calendar-picker-indicator{filter:invert(80%);opacity:.8}@media(max-width:900px){.bank-account-page .report-controls{margin-left:0;padding-left:0;border-left:0}}.crud-page{padding:2rem;max-width:1200px;margin:0 auto}.simple-form{display:flex;flex-direction:column;gap:1.5rem;max-width:500px}.simple-form .input-group{display:flex;flex-direction:column;gap:.5rem}.simple-form label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.btn-sm{padding:.25rem .75rem;font-size:.875rem}.btn-danger{background-color:var(--color-danger, #dc3545);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-danger:hover{background-color:#c82333}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-primary, white);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-body .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-body .form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e0e0e0)}@media(max-width:768px){.crud-page{padding:1rem}}.accounts-page{padding:2rem;max-width:1400px;margin:0 auto}.content-wrapper{display:flex;flex-direction:column;gap:2rem}.account-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.account-form .input-group{display:flex;flex-direction:column;gap:.5rem}.account-form .input-group.full-width{grid-column:1 / -1}.account-form label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-code{background:#ffffff1a;font-family:monospace;font-size:.9rem}.badge-secondary{background:#9ca3af33;color:#9ca3af}.badge-info{background:#0ea5e933;color:#38bdf8}.badge-asset{background:#3b82f633;color:#60a5fa}.badge-liability{background:#ef444433;color:#f87171}.badge-equity{background:#10b98133;color:#34d399}.badge-income{background:#f59e0b33;color:#fbbf24}.badge-expense{background:#8b5cf633;color:#a78bfa}.amount{font-family:Courier New,monospace;font-weight:600;color:#e2e8f0}.text-sm{font-size:.875rem;line-height:1.25rem}.text-muted{color:#94a3b8;margin-top:.25rem}.table td strong{display:block;margin-bottom:.25rem}.table th{white-space:nowrap}@media(max-width:768px){.accounts-page{padding:1rem}.account-form .form-grid{grid-template-columns:1fr}}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.alert button{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.7;transition:opacity .2s}.alert button:hover{opacity:1}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#34d399}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);border-radius:12px;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.modal-body{padding:1.5rem;text-align:center}.modal-body p{margin:.5rem 0;color:var(--text-secondary)}.modal-body .account-name{font-weight:600;color:var(--text-primary);font-size:1.1rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px;margin:1rem 0}.modal-body .warning-text{color:#f87171;font-size:.9rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:center;gap:1rem}.modal-footer .btn{min-width:100px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-danger:active{transform:translateY(0)}.report-container{padding:20px;background:var(--bg-primary);min-height:100vh}.report-header{display:grid;grid-template-columns:1fr;align-items:center;column-gap:12px;row-gap:12px;margin-bottom:20px;background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.header-title{flex:0 0 auto;width:fit-content;min-width:0}.report-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-start;min-width:0;max-width:100%;width:100%;justify-self:stretch}.report-controls .btn{white-space:nowrap;padding:.6rem 1rem}.month-select,.year-select{max-width:100%}@media(max-width:768px){.report-header{padding:14px}.report-controls{min-width:0;width:100%;justify-content:flex-start}}.month-select,.year-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem}.report-table-container{background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border)}.report-table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.report-table tr:hover{background:var(--bg-tertiary)}.text-right{text-align:right!important}.text-center{text-align:center!important}.print-only{display:none}.col-sno{width:40px;min-width:40px;max-width:50px;text-align:center}.total-row td{font-weight:700;background:#f5f5f5}.total-label{text-align:center;letter-spacing:1px}.total-amount{text-align:right;white-space:nowrap}.print-title-block{text-align:center;padding:10px 0 20px;border-bottom:2px solid #000;margin-bottom:20px}.print-title{font-family:Times New Roman,serif;font-weight:800;font-size:22px;letter-spacing:1px;text-transform:uppercase;color:#000}.print-report-line{font-family:Arial,sans-serif;font-weight:700;font-size:13px;margin-top:15px;text-transform:uppercase;color:#000;text-decoration:underline}.page-counter{display:none}@media print{@page{size:landscape;margin:.7cm .5cm 1.8cm;@bottom-center{content:"Page " counter(page) " of " counter(pages);font-size:9pt;color:#333}}body *{visibility:hidden}.report-container,.report-container *{visibility:visible}.report-container{position:absolute;left:0;top:0;width:100%;padding:0;background:#fff}.report-header,.report-controls,.sidebar{display:none!important}.print-only{display:block}.print-title-block{border-bottom:3px double #000;margin-bottom:15px;padding-bottom:15px}.report-table-container{box-shadow:none;padding:0}.report-table{font-size:10px;color:#000!important;width:100%;border-collapse:collapse;font-family:Arial,sans-serif}.report-table th,.report-table td{padding:6px 4px;border:1px solid #000;color:#000!important;font-size:10px;vertical-align:middle}.report-table th{background-color:#d1d5db!important;color:#000!important;font-weight:700;text-transform:uppercase;font-size:9px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.col-sno{width:30px!important;min-width:30px!important;max-width:40px!important;text-align:center!important}.total-row{border-top:2px solid #000;display:table-row!important}.total-row td{border:1px solid #000;background:#e6e6e6!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;font-weight:700;padding:6px!important;display:table-cell!important}.total-label{text-align:center!important;font-size:11px;letter-spacing:2px}.total-amount{text-align:right!important;font-size:11px}}.summary-controls-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding:20px}.panel-title{font-size:1.1rem;font-weight:600;margin-bottom:15px;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:10px}.types-panel{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:20px}.types-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;min-height:200px;max-height:300px;overflow-y:auto;margin-bottom:20px}.type-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s}.type-checkbox:hover{background-color:var(--hover-color)}.type-name{font-size:.95rem;color:var(--text-color)}.types-actions{display:flex;gap:10px;padding-top:15px;border-top:1px solid var(--border-color)}.settings-panel{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:20px}.no-types{color:#888;font-style:italic;grid-column:1 / -1;display:flex;align-items:center;justify-content:center}.print-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin-top:20px;min-height:400px}.summary-report-table{width:100%;border-collapse:collapse;margin-top:20px;font-family:Arial,sans-serif}.summary-report-table th,.summary-report-table td{border:1px solid #ddd;padding:12px;color:#333}.summary-report-table th{background-color:#f8f9fa;font-weight:700;text-transform:uppercase;font-size:.9rem}.summary-total-row{background-color:#f1f3f5}.summary-total-row td{border-top:2px solid #333;font-weight:700;font-size:1.05rem}.print-watermark{display:none}.print-header-container{display:flex;align-items:center;border-bottom:3px double #000;padding-bottom:15px;margin-bottom:15px}.print-logo-container{flex:0 0 100px;margin-left:10px}.print-logo{width:100px;height:auto}.print-title-block{flex:1;text-align:center;padding-right:110px}.print-title{font-family:Times New Roman,serif;font-weight:800;font-size:18px;letter-spacing:1px;text-transform:uppercase;color:#000;white-space:nowrap}.print-subtitle{font-family:Times New Roman,serif;font-weight:700;font-size:16px;margin-top:5px;text-transform:uppercase;color:#333}.print-report-line{font-family:Arial,sans-serif;font-weight:700;font-size:14px;margin-top:15px;text-transform:uppercase;color:#000;text-decoration:underline}.print-month-display{text-align:right;font-family:Arial,sans-serif;font-size:16px;margin-bottom:5px;padding-right:10px;color:#000}.print-month-display .month-value{text-decoration:underline;font-weight:400}.print-signature-block{margin-top:80px;float:right;text-align:center;font-family:Arial,sans-serif;font-weight:700;font-size:14px;line-height:1.5;width:320px;color:#000}.print-section:after{content:"";display:table;clear:both}@media print{.no-print{display:none!important}body *{visibility:hidden}.print-section,.print-section *{visibility:visible}body{background:#fff!important;margin:0;padding:0}.print-section{position:absolute;left:0;top:0;width:100%;box-shadow:none;padding:0;margin:0}.summary-report-table{font-size:12pt}.summary-report-table th,.summary-report-table td{border:1px solid #000;padding:8px;color:#000!important}.summary-report-table th{background-color:#d1d5db!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.summary-total-row{display:table-row!important}.summary-total-row td{display:table-cell!important;border-top:2px solid #000;background-color:#e5e7eb!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-watermark{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.1;z-index:9999;pointer-events:none}.print-watermark img{width:500px;height:auto;filter:grayscale(100%)}@page{size:portrait;margin:1.5cm}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,107,107,.15) 0%,transparent 40%),radial-gradient(circle at 40% 40%,rgba(78,205,196,.2) 0%,transparent 40%)}.login-box{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);padding:40px;border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 40px #7877c61a,inset 0 1px #ffffff80;width:100%;max-width:420px;text-align:center;position:relative;z-index:1}.login-logo{width:100px;height:100px;margin-bottom:20px;border-radius:50%;box-shadow:0 10px 30px #0003,0 0 0 4px #fffc,0 0 20px #7877c64d;object-fit:cover;border:3px solid #fff}.login-box h1{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;font-size:32px;font-weight:700;letter-spacing:-.5px}.login-box p{color:#666;margin-bottom:30px;font-size:14px;font-weight:500}.login-box form{display:flex;flex-direction:column;gap:20px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;font-size:18px;color:#764ba2;z-index:1}.login-box input{width:100%;padding:16px 16px 16px 48px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;background:#f8f9fa;color:#333;transition:all .3s ease;font-weight:500}.login-box input::placeholder{color:#aaa}.login-box input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea26}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:50px}.password-toggle-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:#764ba2;cursor:pointer;font-size:18px;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.password-toggle-btn:hover{color:#667eea;transform:translateY(-50%) scale(1.1)}.login-box button{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;letter-spacing:.5px;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.login-box button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a4190);transform:translateY(-2px);box-shadow:0 8px 25px #667eea80}.login-box button:active{transform:translateY(0)}.login-box button:disabled{opacity:.7;cursor:not-allowed}.error-message{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:5px;font-size:14px;font-weight:500;box-shadow:0 4px 15px #ff6b6b4d}.login-footer{margin-top:25px;padding-top:20px;border-top:1px solid #eee;font-size:13px;color:#888}.login-footer p{margin:0;color:#764ba2;font-weight:600}.backup-container{padding:20px;max-width:1200px;margin:0 auto}.backup-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:25px;margin-bottom:30px}.backup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;border-bottom:2px solid #f0f2f5;padding-bottom:15px}.backup-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.manual-restore-section{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px dashed #d1d5db;border-radius:15px;padding:30px;margin-bottom:30px;text-align:center;transition:all .3s ease}.manual-restore-section:hover{border-color:#3b82f6;background:#f0f7ff}.file-upload-wrapper{position:relative;display:inline-block;width:100%;max-width:500px;margin:20px 0}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000000d}.file-upload-label:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.file-upload-label i{font-size:2.5rem;color:#3b82f6;margin-bottom:10px}.file-upload-input{position:absolute;left:0;top:0;opacity:0;width:100%;height:100%;cursor:pointer}.selected-file-name{margin-top:10px;font-weight:600;color:#059669;font-size:.9rem}.action-buttons{display:flex;gap:10px;justify-content:center;margin-top:15px}.btn-modern{padding:10px 24px;border-radius:8px;font-weight:600;transition:all .3s;display:flex;align-items:center;gap:8px;border:none;cursor:pointer}.btn-modern-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 15px #4f46e54d}.btn-modern-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4f46e566}.btn-modern-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px #d977064d}.btn-modern-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d9770666}.btn-modern-warning:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}.backups-table{width:100%;border-collapse:separate;border-spacing:0 10px}.backups-table th{padding:12px 15px;text-align:left;color:#6b7280;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.backup-row{background:#fff;transition:transform .2s}.backup-row:hover{transform:scale(1.005)}.backup-row td{padding:15px;background:#fcfcfd;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6}.backup-row td:first-child{border-left:1px solid #f3f4f6;border-top-left-radius:8px;border-bottom-left-radius:8px;font-weight:500}.backup-row td:last-child{border-right:1px solid #f3f4f6;border-top-right-radius:8px;border-bottom-right-radius:8px}.status-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.status-success{background:#d1fae5;color:#065f46}.accounting-calculator{position:fixed;z-index:10000;width:320px;background:#1e293b;border-radius:16px;box-shadow:0 20px 50px #0006,0 0 0 1px #ffffff1a;-webkit-user-select:none;user-select:none;overflow:hidden;font-family:Inter,sans-serif;color:#fff;display:flex;flex-direction:column}.calc-header{padding:12px 16px;background:#0f172a;display:flex;justify-content:space-between;align-items:center;cursor:move}.calc-title{font-size:.85rem;font-weight:600;color:#94a3b8;display:flex;align-items:center;gap:8px}.calc-controls{display:flex;gap:8px}.control-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer}.control-close{background:#ef4444}.control-minimize{background:#f59e0b}.calc-display{padding:24px 20px;background:#1e293b;text-align:right;display:flex;flex-direction:column;justify-content:flex-end;min-height:100px}.calc-expression{font-size:.9rem;color:#64748b;height:1.2rem;margin-bottom:4px;overflow:hidden}.calc-main-value{font-size:2.5rem;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calc-preview{font-size:1.1rem;color:#94a3b8;margin-top:4px;font-weight:500;min-height:1.2rem}.calc-buttons{padding:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#0f172a}.calc-btn{height:52px;border-radius:12px;border:none;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .2s;background:#1e293b;color:#fff}.calc-btn:hover{background:#334155;transform:scale(1.05)}.calc-btn:active{transform:scale(.95)}.calc-btn.operator{background:#334155;color:#38bdf8}.calc-btn.action{background:#334155;color:#fbbf24}.calc-btn.equals{background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;grid-column:span 1}.calc-btn.zero{grid-column:span 1}.calc-history-pane{background:#0f172a;border-top:1px solid rgba(255,255,255,.05);max-height:150px;overflow-y:auto;padding:10px}.history-item{padding:6px 10px;border-radius:6px;font-size:.8rem;color:#94a3b8;text-align:right;cursor:pointer}.history-item:hover{background:#ffffff0d}.history-expr{display:block;font-size:.7rem}.history-res{display:block;font-weight:600;color:#f8fafc}.calc-history-pane::-webkit-scrollbar{width:4px}.calc-history-pane::-webkit-scrollbar-thumb{background:#334155;border-radius:10px}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #8b5cf6;--accent: #ec4899;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: rgba(30, 41, 59, .8);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: rgba(148, 163, 184, .1);--border-hover: rgba(148, 163, 184, .2);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-card: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .1) 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: rgba(255, 255, 255, .9);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border: rgba(15, 23, 42, .1);--border-hover: rgba(15, 23, 42, .2)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.glass{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-lg)}.glass-strong{background:#1e293bf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg)}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);box-shadow:var(--shadow-md)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--border-hover)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-hover)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--error);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.input-group{margin-bottom:var(--spacing-md)}.input-label{display:block;margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary)}.input{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9375rem;transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--text-muted)}select.input{cursor:pointer}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--bg-tertiary)}.table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@media(max-width:1024px){html{font-size:15px}.container{padding:0 var(--spacing-md)}}@media(max-width:768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.card{padding:var(--spacing-md)}}@media(max-width:480px){.container{padding:0 var(--spacing-sm)}.btn{padding:.625rem 1.25rem;font-size:.8125rem}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.app{display:flex;min-height:100vh;background:var(--bg-primary)}.main-content{flex:1;margin-left:280px;transition:margin-left var(--transition-base)}.page{padding:var(--spacing-xl);min-height:100vh}.page h2{margin-bottom:var(--spacing-md)}@media(max-width:768px){.main-content{margin-left:80px}}.cashbook-page{min-height:100vh;padding-bottom:2rem}.tabs-header{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:1px}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;font-size:1rem;position:relative;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary);font-weight:600}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary)}.controls-card{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.filters-group{display:flex;align-items:center;gap:1rem}.filter-item{display:flex;flex-direction:column;gap:.25rem}.filter-item label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.filter-item select,.filter-item input{padding:.6rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);min-width:150px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);text-align:center}.stat-label{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-value.credit{color:var(--error)}.stat-value.debit{color:var(--success)}.ledger-table-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.ledger-table{width:100%;border-collapse:collapse}.ledger-table th{background:var(--bg-tertiary);padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border)}.ledger-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.95rem}.ledger-table tr:hover{background:var(--bg-tertiary)}.amount-col{text-align:right;font-family:monospace;font-weight:600}.text-payment{color:var(--error)}.text-receipt{color:var(--success)}.reconcile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.reconcile-col{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;max-height:800px}.reconcile-header{padding:1rem;border-bottom:1px solid var(--border);font-weight:600;display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.reconcile-search{padding:0 1rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.reconcile-search input{width:100%;padding:.6rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary)}.reconcile-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.reconcile-item{background:var(--bg-secondary);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.reconcile-item:hover{border-color:var(--primary)}.item-details{flex:1}.item-date{font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.item-title{font-weight:600;margin-bottom:.25rem}.item-amount{font-weight:700}.btn-book{background:#6366f11a;color:var(--primary);border:1px solid rgba(99,102,241,.3);padding:.4rem .8rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;margin-left:1rem;transition:all var(--transition-fast)}.btn-book:hover{background:var(--primary);color:#fff}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-top:1px solid var(--border);background:var(--bg-tertiary);border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:.9rem;color:var(--text-secondary)}.pagination-controls button{background:#ffffff1a;border:1px solid var(--border);color:var(--text-primary);padding:.4rem .8rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.pagination-controls button:not(:disabled):hover{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:var(--bg-card);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border);width:400px;max-width:90%;box-shadow:var(--shadow-xl)}.modal-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media(max-width:768px){.reconcile-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.cashbook-page,.cashbook-page *{visibility:visible}.header,.tabs-header,.controls-card,.action-bar,.sidebar,.reconcile-grid,.ledger-table-container button,.ledger-table th:last-child,.ledger-table td:last-child{display:none!important}.cashbook-page,.app,.main-content{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;background:#fff;color:#000;overflow:visible!important;height:auto!important}.only-print{display:block!important;visibility:visible!important;margin-bottom:20px;text-align:center;border-bottom:2px solid #000;padding-bottom:10px}.only-print h2{font-size:24px;margin:0 0 5px;color:#000}.only-print p{font-size:14px;margin:2px 0;color:#333}.ledger-table{width:100%!important;border:1px solid #000}.ledger-table th{background-color:#f0f0f0!important;color:#000!important;border:1px solid #000;-webkit-print-color-adjust:exact}.ledger-table td{border:1px solid #000;color:#000!important}.amount-col{white-space:nowrap}::-webkit-scrollbar{display:none}}
