:root{--primary: #0891b2;--primary-hover: #0e7490;--primary-light: #ecfeff;--surface: #ffffff;--background: #f1f5f9;--background-alt: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--border-light: #f1f5f9;--radius: .75rem;--radius-lg: 1rem;--shadow: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box}@media(max-width:992px){.app-main>*{min-width:0}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{margin:0;min-height:100vh;font-family:Vazirmatn,Tahoma,Segoe UI,sans-serif;direction:rtl;background-color:var(--background);color:var(--text);line-height:1.5;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.app-sidebar{width:260px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;z-index:100;box-shadow:-2px 0 8px #0000000a}.app-sidebar-close{position:absolute;top:.5rem;left:.75rem;width:28px;height:28px;padding:0;font-size:1.25rem;line-height:1;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.app-sidebar-close:hover{color:var(--text);background:var(--background)}.app-sidebar-brand{padding:2.25rem 1.25rem .75rem;font-size:1.1rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 .5rem}.app-sidebar-brand:hover{color:var(--primary);text-decoration:none}.app-sidebar-nav{flex:1;overflow-y:auto;padding:.75rem .5rem}.app-sidebar-link{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;margin-bottom:.2rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius);text-decoration:none;transition:background .15s,color .15s}.app-sidebar-link:hover{background:var(--background);color:var(--text);text-decoration:none}.app-sidebar-link.active{background:var(--primary-light);color:var(--primary);text-decoration:none}.app-sidebar-user{padding:1rem 1.25rem;border-top:1px solid var(--border);background:#fafbfc}.app-sidebar-user-name{font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.5rem}.app-sidebar-btn{width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s}.app-sidebar-btn:hover{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.app-mobile-header{display:none;position:sticky;top:0;z-index:101;width:100%;height:56px;padding:0 1rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000f;flex-direction:row;align-items:center;justify-content:space-between}.app-mobile-header-brand{font-size:1rem;font-weight:700;color:var(--text);text-decoration:none}.app-mobile-header-brand:hover{color:var(--primary);text-decoration:none}.app-sidebar-toggle{display:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;background:transparent;border:none;border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--text)}.app-sidebar-toggle:hover{background:var(--background)}.app-sidebar-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px}.app-sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:99;opacity:0;pointer-events:none;transition:opacity .2s}.app-sidebar-overlay.open{opacity:1;pointer-events:auto}@media(max-width:992px){.app-layout{flex-direction:column;min-width:0}.app-mobile-header{display:flex;flex-shrink:0;width:100%;min-width:0;padding-right:max(1rem,env(safe-area-inset-right));padding-left:max(1rem,env(safe-area-inset-left))}.app-sidebar{transform:translate(100%);transition:transform .25s ease-out;padding-right:env(safe-area-inset-right);max-width:min(300px,85vw);width:min(300px,85vw)}.app-sidebar.open{transform:translate(0)}.app-sidebar-toggle{display:flex}.app-main-wrap{margin-right:0!important;flex:1;min-width:0;width:100%;overflow-x:hidden}.app-main{width:100%;max-width:100%;min-width:0;padding:1rem;padding-right:max(1rem,env(safe-area-inset-right));padding-left:max(1rem,env(safe-area-inset-left));box-sizing:border-box;overflow-x:hidden}}body.sidebar-open{overflow:hidden}@media(min-width:993px){.app-sidebar-overlay,.app-sidebar-toggle,.app-mobile-header,body.sidebar-closed .app-sidebar{display:none!important}body.sidebar-closed .app-layout{flex-direction:column;height:100vh}body.sidebar-closed .app-main-wrap{margin-right:0!important;margin-left:0!important;flex:1 1 0%;min-width:0;min-height:0;width:100%;overflow:hidden;display:flex;flex-direction:column}body.sidebar-closed .app-main{max-width:none!important;width:100%;flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}body.sidebar-closed .app-sidebar-toggle,body.sidebar-closed .app-mobile-header{display:flex!important}body.sidebar-closed .app-mobile-header{justify-content:space-between;flex-shrink:0}}.app-main-wrap{flex:1;margin-right:260px;min-width:0;width:100%;display:flex;flex-direction:column}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1.5rem 1.25rem;box-sizing:border-box}.login-page{min-height:100vh;display:flex;align-items:stretch;padding:0;background:var(--background)}.login-banner{flex:1;min-height:280px;background:linear-gradient(135deg,#0891b2,#0e7490);display:none;flex-direction:column;justify-content:center;padding:2.5rem;color:#fff}.login-banner-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.login-banner-text{font-size:.9375rem;opacity:.95;margin:0;line-height:1.6}.login-form-section{width:100%;max-width:420px;display:flex;align-items:center;justify-content:center;padding:1.5rem;margin:0 auto}.login-box{width:100%;background:var(--surface);border-radius:var(--radius);box-shadow:0 4px 20px #00000014;border:1px solid var(--border);padding:2rem}.login-title{font-size:1.375rem;font-weight:700;color:var(--text);margin:0 0 .25rem}.login-subtitle{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem}.login-error{margin-bottom:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:#b91c1c;font-size:.875rem}.login-form>div{margin-bottom:1.1rem}.login-form>div:last-of-type{margin-bottom:0}.login-submit{width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;margin-top:1rem;transition:background .2s}.login-submit:hover:not(:disabled){background:var(--primary-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}@media(min-width:768px){.login-page{align-items:center}.login-banner{display:flex;max-width:420px}.login-form-section{max-width:420px;margin:0}}.page-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0 0 1.5rem;letter-spacing:-.02em}.app-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem}.label-field{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.3rem}.input-field{width:100%;padding:.6rem 1rem;font-size:1rem;color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}.input-field::placeholder{color:var(--text-muted);opacity:.8}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b233}.input-field:disabled{background-color:var(--background-alt);cursor:not-allowed}input.input-field.max-w-xs{max-width:20rem}select.input-field option{background-color:#fff;color:#1e293b}textarea.input-field{min-height:4rem;resize:vertical}.date-picker-shamsi-wrap{width:100%}.date-picker-shamsi-wrap .rmdp-input{width:100%;padding:.5rem 1rem;font-size:1rem;border-radius:.75rem;border:1px solid #e2e8f0}.date-picker-shamsi-wrap .rmdp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b233}.rmdp-wrapper{direction:rtl}.customer-select-wrap{position:relative;width:100%}.customer-select-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background-color:#fff}.customer-select-arrow{font-size:.7em;opacity:.7;margin-right:auto;margin-left:.5rem}.customer-select-dropdown{position:absolute;top:100%;right:0;left:0;z-index:1000;margin-top:2px;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 10px 25px #0000001f;min-width:100%;max-height:18rem;display:flex;flex-direction:column}.customer-select-search{margin:.5rem;flex-shrink:0}.customer-select-list{overflow-y:auto;padding:0 .5rem .5rem;max-height:12rem}.customer-select-item{display:block;width:100%;padding:.5rem .75rem;text-align:right;border:none;border-radius:.5rem;background:none;cursor:pointer;font-size:1rem;color:#1e293b}.customer-select-item:hover{background-color:#f1f5f9}.customer-select-item.selected{background-color:var(--primary-light);color:var(--primary)}.customer-select-empty{padding:.75rem;text-align:center}.customer-select-footer{padding:.5rem;border-top:1px solid #e2e8f0;flex-shrink:0}.customer-select-footer .btn-sm{padding:.4rem .75rem;font-size:.875rem}.btn-primary{display:inline-block;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-block;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;color:var(--text);background:var(--background-alt);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s}.btn-secondary:hover{background:var(--border-light);border-color:var(--border)}.card-panel{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-panel .card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);font-weight:600;color:var(--text)}.card-panel .card-body,.card-body{padding:1.25rem}.settings-page .page-title{margin-bottom:1rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.settings-row{display:grid;gap:.75rem;margin-bottom:.75rem}.settings-row-three{grid-template-columns:minmax(0,16rem) 1fr minmax(0,14rem)}.settings-card-center{min-width:0}.settings-card{margin-bottom:0}.settings-users-table-wrap{overflow-x:auto;max-height:14rem;overflow-y:auto}.settings-users-table-wrap table{width:100%;border-collapse:collapse;font-size:.8125rem}.settings-users-table-wrap th,.settings-users-table-wrap td{padding:.35rem .5rem;text-align:right;border-bottom:1px solid #f1f5f9}.settings-users-table-wrap th{color:#64748b;font-weight:500}.settings-users-table-wrap tbody tr:hover{background:#f8fafc}.settings-card .settings-card-header{padding:.6rem .875rem;font-size:.9375rem}.settings-card .settings-card-body{padding:.75rem .875rem}.settings-form .form-group{margin-bottom:.5rem}.settings-form .form-group:last-of-type{margin-bottom:.5rem}.settings-form .label-field{margin-bottom:.2rem;font-size:.8125rem}.settings-form .form-error,.settings-form .form-success{padding:.4rem .6rem;font-size:.8125rem;margin-bottom:.5rem}.settings-form .form-actions{margin-top:.5rem}.settings-form .form-actions .btn-primary{padding:.4rem .875rem;font-size:.875rem}.settings-side{display:flex;flex-direction:column;gap:.75rem}.settings-sessions-list{list-style:none;padding:0;margin:0}.settings-session-item{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--border-color, #e5e7eb);gap:.5rem;font-size:.8125rem}.settings-session-item:last-child{border-bottom:none}.settings-session-item .btn-secondary{padding:.25rem .5rem;font-size:.75rem}@media(max-width:900px){.settings-grid,.settings-row-three{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-th{text-align:right;font-size:.875rem;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border-light);padding:.75rem 1rem}.table-td{padding:.75rem 1rem;color:var(--text);border-bottom:1px solid var(--border-light)}.table-wrap tbody tr:hover{background-color:var(--background-alt)}.table-link{color:var(--primary);font-weight:500}.table-link:hover{text-decoration:underline}.table-actions{white-space:nowrap}.table-actions button,.table-actions a{font-size:.875rem;background:none;border:none;cursor:pointer;padding:0 .25rem}.table-actions .btn-detail,.action-buttons .btn-action-detail{color:#0d9488}.table-actions .btn-edit,.action-buttons .btn-action-edit{color:var(--primary)}.table-actions .btn-delete,.action-buttons .btn-action-delete{color:#dc2626}.table-actions .btn-detail:hover,.table-actions .btn-edit:hover,.table-actions .btn-delete:hover,.action-buttons .btn-action:hover{text-decoration:underline}.customers-page{padding-bottom:1rem}.customers-page .page-header{margin-bottom:1.5rem}.customers-page .page-title{margin-bottom:1rem}.customers-page .app-toolbar{margin-bottom:0}@media(min-width:640px){.customers-page .app-toolbar{flex:1;justify-content:flex-end;gap:1rem}.customers-page .page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.customers-page .page-title{margin-bottom:0}}.search-bar-customers{max-width:100%}@media(min-width:480px){.search-bar-customers{min-width:16rem}}.empty-state{text-align:center;padding:3rem 1.5rem;background:var(--surface);border-radius:var(--radius-lg);border:1px dashed var(--border);box-shadow:var(--shadow)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 .35rem}.empty-state-desc{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.25rem}.empty-state-cta{min-height:44px;padding:.6rem 1.25rem}.card-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:var(--border-light)}.card-panel-title{font-size:1rem;font-weight:600;color:var(--text);margin:0}.card-panel-count{font-size:.875rem;color:var(--text-muted)}.table-th-actions{width:1%;white-space:nowrap}.table-actions-cell{vertical-align:middle}.action-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.btn-action{display:inline-flex;align-items:center;padding:.35rem .65rem;font-size:.8125rem;font-weight:500;border-radius:9999px;border:none;cursor:pointer;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.btn-action-detail{background:#ccfbf1;color:#0f766e}.btn-action-detail:hover{background:#99f6e4}.btn-action-edit{background:var(--primary-light);color:var(--primary)}.btn-action-edit:hover{background:#cffafe}.btn-action-delete{background:#fee2e2;color:#b91c1c}.btn-action-delete:hover{background:#fecaca}.form-section{margin-top:1.25rem}.form-section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);margin:0 0 .75rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-light)}.modal-form-improved .form-section:first-of-type{margin-top:0}.customer-vehicles-section .form-section-title{margin-bottom:.75rem}.customer-vehicles-section{border-top:1px solid var(--border);padding-top:1.25rem;margin-top:1.25rem}.customers-table .table-td-name{font-weight:600;color:var(--text)}.customers-table .amount-out{font-weight:600;color:#b91c1c}.badge{display:inline-block;padding:.2rem .5rem;font-size:.75rem;border-radius:.25rem}.badge-neutral{background-color:#f1f5f9;color:#475569}.badge-legal{background-color:#dbeafe;color:#1d4ed8}.app-spinner-wrap{display:flex;justify-content:center;align-items:center;padding:3rem}.app-spinner{width:2.5rem;height:2.5rem;border:2px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:app-spin .7s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}.text-error{color:#dc2626;text-align:center;padding:3rem 1rem}.text-muted{color:var(--text-muted);font-size:.875rem}.grid-stats{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}@media(min-width:640px){.grid-stats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-stats{grid-template-columns:repeat(4,1fr)}}.stat-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 2px #0000000d}.stat-label{font-size:.875rem;color:#64748b;margin-bottom:.25rem}.stat-value{font-size:1.25rem;font-weight:700}.stat-value.emerald{color:#059669}.stat-value.red{color:#dc2626}.stat-value.cyan{color:var(--primary)}.dev-cards{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:42rem;margin-bottom:2rem}@media(min-width:640px){.dev-cards{grid-template-columns:repeat(2,1fr)}}.dev-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;text-decoration:none;color:inherit;text-align:right;cursor:pointer}.dev-card:hover{box-shadow:0 4px 12px #00000014}.dev-card button{width:100%;border:none;background:none;cursor:pointer;font:inherit;text-align:right;padding:0}.dev-card-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:.75rem;flex-shrink:0}.dev-card-icon.cyan{background-color:#cffafe;color:var(--primary)}.dev-card-icon.green{background-color:#d1fae5;color:#059669}.dev-card-title{font-weight:600;color:#1e293b;margin:0 0 .25rem}.dev-card-desc{font-size:.875rem;color:#64748b;margin:0}.dashboard-chart-month{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .75rem;text-align:center}.dashboard-chart-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:.75rem;font-size:.9rem}.dashboard-chart-summary-receipt{color:#059669;font-weight:500}.dashboard-chart-summary-payment{color:#dc2626;font-weight:500}.dashboard-chart-wrap{width:100%;overflow-x:auto;padding-bottom:.25rem}.dashboard-chart{display:flex;align-items:flex-end;gap:3px;min-width:min(100%,620px);min-height:140px;margin:0 auto}.dashboard-chart-bar-wrap{flex:1;min-width:8px;max-width:24px;display:flex;flex-direction:column;align-items:center;gap:4px}.dashboard-chart-bar{width:100%;min-height:4px;display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:stretch;gap:1px;border-radius:3px 3px 0 0;overflow:hidden}.dashboard-chart-receipt,.dashboard-chart-payment{min-height:2px;border-radius:2px;width:100%}.dashboard-chart-receipt{background:linear-gradient(180deg,#34d399,#10b981)}.dashboard-chart-payment{background:linear-gradient(180deg,#f87171,#dc2626)}.dashboard-chart-day{font-size:.7rem;color:#64748b;font-variant-numeric:tabular-nums}.dashboard-chart-legend{display:flex;gap:1.25rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0;font-size:.875rem;color:#475569}.dashboard-chart-legend span{display:inline-flex;align-items:center;gap:.5rem}.dashboard-chart-legend-receipt,.dashboard-chart-legend-payment{width:14px;height:14px;border-radius:3px}.dashboard-chart-legend-receipt{background-color:#10b981}.dashboard-chart-legend-payment{background-color:#dc2626}.grid-two{display:grid;gap:1.5rem}@media(min-width:1024px){.grid-two{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop{position:absolute;inset:0;background-color:#0f172a66}.modal-box{position:relative;width:100%;max-width:28rem;max-height:90vh;overflow:auto;background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 20px 40px #00000026}.modal-box.modal-box--wide{max-width:42rem}.modal-form-improved .form-actions{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-light)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.modal-close{padding:.25rem .5rem;font-size:.875rem;color:#64748b;background:none;border:none;border-radius:.5rem;cursor:pointer}.modal-close:hover{color:#1e293b;background-color:#f1f5f9}.modal-body{padding:1.5rem}.modal-body .label-field+.input-field,.modal-body .input-field+.label-field,.modal-body>*+*{margin-top:1rem}.form-actions{display:flex;gap:.5rem;margin-top:1.25rem;padding-top:.5rem}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.form-grid-2 .label-field{margin-bottom:.25rem}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.form-grid-3 label,.form-grid-3 .label-field{margin-bottom:.25rem}.customer-form .form-grid-2{margin-bottom:0}.customer-vehicles-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.customer-vehicles-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.customer-vehicle-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:#f8fafc;border-radius:.5rem}.customer-vehicle-row .form-grid-vehicle{flex:1;min-width:0}@media(max-width:640px){.customer-vehicle-row{flex-direction:column}.customer-vehicles-header{flex-wrap:wrap;gap:.5rem}}.customer-detail-page{padding-bottom:2rem}.back-link-bar{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.25rem;padding:.5rem 0;color:var(--primary);font-size:.9375rem;font-weight:500;text-decoration:none;border-radius:var(--radius);transition:background .15s}.back-link-bar:hover{background:var(--primary-light);text-decoration:none}.back-link-arrow{font-size:1.1em}.customer-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-lg);padding:1.6rem 1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.customer-hero-name{font-size:1.5rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.02em;line-height:1.3}.customer-hero-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 2rem;align-items:start;max-width:58rem}.customer-hero-col-block{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.6rem 0;border-radius:var(--radius);background:#ffffff0f;padding:.75rem 1rem}.customer-hero-col-block--address{justify-content:flex-start;min-height:4rem}.customer-hero-address-row{display:flex;align-items:flex-start;gap:.6rem;min-width:0}.customer-hero-address-row .customer-hero-dt{flex-shrink:0;margin:0;font-size:.8125rem;opacity:.92}.customer-hero-address{flex:1;min-width:0;font-size:.875rem;font-weight:500;line-height:1.45;word-break:break-word}.customer-hero-row{display:grid;grid-template-columns:auto 1fr;gap:0 .75rem;align-items:baseline;min-width:0}.customer-hero-dt{margin:0;font-size:.8125rem;opacity:.92;flex-shrink:0;min-width:6.5rem}.customer-hero-dd{margin:0;font-size:.875rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.customer-hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28);align-items:start}.customer-hero-foot .customer-hero-row,.customer-hero-foot .customer-hero-dt{min-width:0}.customer-hero-vehicles-list{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25)}.customer-hero-vehicles-label{font-size:.8125rem;opacity:.9;margin-left:.5rem}.customer-hero-vehicle-tag{display:inline-block;margin:.2rem .25rem .2rem 0;padding:.2rem .6rem;font-size:.8125rem;background:#fff3;border-radius:9999px}.customer-payments-section .card-panel-head{margin:0}.payment-add-card{padding:1.25rem 1.25rem 0;border-bottom:1px solid var(--border-light)}.payment-add-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 1rem}.payment-form{margin-bottom:0}.payment-form.form-grid-payment{display:flex;flex-direction:column;gap:1rem}.payment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.payment-form-row-full{grid-column:1 / -1}.payment-form .form-error-full{margin-bottom:.5rem}.payment-form-actions{margin-top:.5rem;margin-bottom:1.25rem}.table-wrap-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap-responsive table{min-width:680px}.payments-table-wrap{padding:0 1.25rem 1.25rem}@media(max-width:768px){.customers-card .table-wrap,.payments-table-wrap.table-wrap-responsive,.payments-sheet-wrap{overflow:visible;margin:0;padding:0 1rem 1rem}.payments-sheet-wrap{overflow-x:auto}.customers-card .customers-table,.payments-table-wrap .payments-table,.payments-sheet-wrap .payments-sheet{min-width:0;width:100%}.payments-sheet-wrap .payments-sheet{min-width:700px}.customers-card .customers-table thead,.payments-table-wrap .payments-table thead{display:none}.customers-card .customers-table tbody tr,.payments-table-wrap .payments-table tbody tr{display:block;padding:1rem;margin-bottom:.75rem;background:var(--border-light);border-radius:var(--radius);border:1px solid var(--border)}.customers-card .customers-table tbody tr:last-child,.payments-table-wrap .payments-table tbody tr:last-child{margin-bottom:0}.customers-card .customers-table .table-td,.payments-table-wrap .payments-table .table-td{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border:none;border-bottom:1px solid rgba(0,0,0,.06)}.customers-card .customers-table .table-td:last-child,.payments-table-wrap .payments-table .table-td:last-child{border-bottom:none;padding-bottom:0;padding-top:.75rem}.customers-card .customers-table .table-td:before,.payments-table-wrap .payments-table .table-td:before{content:attr(data-label);font-size:.8125rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.customers-card .customers-table .table-td-name:before{display:none}.customers-card .customers-table .table-td-name{font-size:1.0625rem;font-weight:700;color:var(--text);padding-top:0;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.08)}.customers-card .customers-table .table-actions-cell:before{display:none}.customers-card .customers-table .table-actions-cell{flex-wrap:wrap;padding-top:.75rem}.customers-card .customers-table .action-buttons{width:100%;justify-content:flex-start}.payments-table-wrap .payments-table .table-actions-cell:before{display:none}.payments-table-wrap .payments-table .table-actions-cell{justify-content:flex-start}.payments-table-wrap .payments-table .table-td-desc{max-width:none;word-break:break-word}}.payments-empty{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted);font-size:.9375rem}.payments-empty p{margin:0 0 .35rem}.payments-sheet-wrap{padding:0 1.25rem 1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.payments-sheet{width:100%;min-width:720px;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 3px #0000000f}.payments-sheet thead{position:sticky;top:0;z-index:1;background:var(--border-light)}.payments-sheet-th{padding:.6rem .65rem;text-align:right;font-weight:600;font-size:.8125rem;color:var(--text);border-bottom:2px solid var(--border);border-left:1px solid var(--border);white-space:nowrap}.payments-sheet-th:first-child{border-left:none}.payments-sheet-th--row{width:3rem;text-align:center}.payments-sheet-th--num{width:7rem}.payments-sheet-th--date{width:6rem}.payments-sheet-th--balance{width:7.5rem;font-weight:700}.payments-sheet-th--desc{min-width:8rem;max-width:14rem}.payments-sheet-th--actions{width:4.5rem;text-align:center}.payments-sheet-tr{background:#fff}.payments-sheet-tr:nth-child(2n){background:#fafafa}.payments-sheet-tr:hover{background:#f5f5f5}.payments-sheet-td{padding:.5rem .65rem;border-bottom:1px solid var(--border);border-left:1px solid rgba(0,0,0,.06);vertical-align:middle}.payments-sheet-td:first-child{border-left:none}.payments-sheet-td--row{text-align:center;color:var(--text-muted);font-size:.8125rem}.payments-sheet-td--in{color:#059669;font-weight:500}.payments-sheet-td--out{color:#dc2626;font-weight:500}.payments-sheet-td--balance{font-weight:600}.payments-sheet-td--muted{color:var(--text-muted)}.payments-sheet-td--desc{max-width:14rem;word-break:break-word}.payments-sheet-td--actions{text-align:center}.payments-balance-in{color:#059669}.payments-balance-out{color:#dc2626}.payments-sheet--editable .payments-sheet-td{padding:0;vertical-align:middle}.payments-sheet--editable .payments-sheet-input{width:100%;min-width:0;height:100%;min-height:2rem;padding:.35rem .5rem;font-size:.8125rem;border:none;border-radius:0;background:transparent;box-sizing:border-box;border-bottom:1px solid transparent;border-left:1px solid transparent}.payments-sheet--editable .payments-sheet-input:hover{background:#00000008}.payments-sheet--editable .payments-sheet-input:focus{outline:none;background:#fff;border:1px solid var(--primary);box-shadow:inset 0 0 0 1px var(--primary);z-index:1;position:relative}.payments-sheet--editable .payments-sheet-td--balance .payments-sheet-input{display:none}.payments-sheet-input--date{min-width:7rem}.payments-sheet-date-wrap{min-height:2rem}.payments-sheet-date-wrap .date-picker-shamsi-wrap input{border:none;border-radius:0;background:transparent;padding:.35rem .5rem;font-size:.8125rem;min-height:2rem}.payments-sheet-empty-action{color:var(--text-muted);font-size:.875rem}.card-panel-head--payments{flex-wrap:wrap;gap:.5rem}.card-panel-head-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.payments-save-error{margin:0 1.25rem .75rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:#b91c1c;font-size:.9375rem}.payments-sheet-toolbar{padding:.75rem 1.25rem;border-top:1px solid var(--border-light);background:var(--border-light)}.payments-sheet-toolbar .btn-secondary{font-weight:500}.payments-table .table-td-amount{font-weight:600;color:var(--text)}.payments-table .table-td-desc{max-width:12rem}.payments-table-wrap .table-th{background:var(--border-light)}.text-center{text-align:center}@media(max-width:640px){.customer-hero{padding:1.25rem 1rem}.customer-hero-name{font-size:1.25rem}.customer-hero-cols{grid-template-columns:1fr;gap:0;row-gap:.65rem}.customer-hero-col-block{padding:.6rem .85rem}.customer-hero-col-block--address{min-height:0}.customer-hero-dt{min-width:0}.customer-hero-foot{grid-template-columns:1fr;gap:.35rem 0;margin-top:.75rem;padding-top:.75rem}.customer-hero-vehicles-list{margin-top:.75rem;padding-top:.75rem}.payment-form-row{grid-template-columns:1fr}.payment-form-actions .btn-primary{width:100%;min-height:44px}.action-buttons .btn-action{min-height:38px;padding:.4rem .75rem}}.checkbox-list{border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem;max-height:12rem;overflow:auto}.checkbox-list label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:.5rem}.checkbox-list label:last-child{margin-bottom:0}.checkbox-list input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.form-error{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#b91c1c;font-size:.875rem}.settings-list{display:flex;flex-direction:column;gap:.75rem}.settings-item{display:flex;align-items:center;gap:.75rem;cursor:pointer}.settings-item input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary);cursor:pointer}.settings-item span{color:#1e293b}.report-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.report-tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#475569;background-color:#f1f5f9;border:none;border-radius:.75rem;cursor:pointer}.report-tab:hover{background-color:#e2e8f0;color:#1e293b}.report-tab.active{background-color:var(--primary);color:#fff}.reports-page{max-width:1200px;margin:0 auto}.reports-hero{margin-bottom:1.75rem;padding:.25rem 0}.reports-title{margin:0 0 .35em;font-size:1.75rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.reports-subtitle{margin:0;font-size:.9375rem;color:#64748b;line-height:1.5}.reports-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #e2e8f0}.reports-nav-tab{flex:1;min-width:120px;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#64748b;background:transparent;border:none;border-radius:.625rem;cursor:pointer;transition:color .2s,background .2s}.reports-nav-tab:hover{color:#0f172a;background:#f8fafc}.reports-nav-tab.is-active{color:var(--primary);background:var(--primary-light);box-shadow:0 1px 2px #0891b233}.reports-nav-tab-label{display:block}.reports-content{display:flex;flex-direction:column;gap:1.25rem}.reports-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.reports-stat{padding:1rem 1.25rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s}.reports-stat:hover{box-shadow:0 4px 12px #0000000f}.reports-stat-value{display:block;font-size:1.25rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;margin-bottom:.2rem}.reports-stat-label{font-size:.8125rem;color:#64748b}.reports-stat--danger .reports-stat-value{color:#dc2626}.reports-stat--amount .reports-stat-value{font-size:1rem;word-break:break-all}.reports-stat--in .reports-stat-value{color:#059669}.reports-stat--out .reports-stat-value{color:#dc2626}.reports-card{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f;overflow:hidden}.reports-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;background:#fafbfc}.reports-card-title{margin:0;font-size:1rem;font-weight:600;color:#334155}.reports-search{min-width:200px}.reports-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.reports-table{width:100%;border-collapse:collapse;font-size:.875rem}.reports-table th{padding:.75rem 1rem;text-align:right;font-weight:600;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.reports-table td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155}.reports-table tbody tr:hover{background:#f8fafc}.reports-table tbody tr:last-child td{border-bottom:none}.reports-table-num{font-variant-numeric:tabular-nums;white-space:nowrap}.reports-table-muted{color:#64748b}.reports-link{color:var(--primary);font-weight:500;text-decoration:none}.reports-link:hover{text-decoration:underline}.reports-amount-in{color:#059669;font-weight:500}.reports-amount-out{color:#dc2626;font-weight:500}.reports-badge{display:inline-block;padding:.2rem .5rem;font-size:.75rem;font-weight:500;color:#475569;background:#e2e8f0;border-radius:.375rem}.reports-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:#64748b;font-size:.9375rem}.reports-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:reports-spin .8s linear infinite}@keyframes reports-spin{to{transform:rotate(360deg)}}.reports-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem;color:#64748b;font-size:.9375rem;text-align:center}.reports-empty--large{padding:4rem 2rem}.reports-empty-icon{font-size:2.5rem;opacity:.8}.reports-empty--large .reports-empty-icon{font-size:3.5rem}.reports-filters-card{padding:1.25rem}.reports-filters-card .reports-card-title{margin-bottom:1rem}.reports-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.reports-filter-input{min-width:140px}.reports-filter-btn{flex-shrink:0}.reports-create-builder{margin-bottom:1.25rem}.reports-create-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 16px #0000000f;padding:1.5rem}.reports-create-heading{margin:0 0 .35rem;font-size:1.125rem;font-weight:700;color:#0f172a}.reports-create-desc{margin:0 0 1.25rem;font-size:.875rem;color:#64748b;line-height:1.5}.reports-create-form{display:flex;flex-direction:column;gap:1.25rem}.reports-create-field{display:flex;flex-direction:column;gap:.35rem}.reports-create-field--type{gap:.5rem}.reports-create-label{font-size:.8125rem;font-weight:600;color:#475569}.reports-create-input{max-width:280px}.reports-create-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.reports-create-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;text-align:right;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.reports-create-option:hover{border-color:#cbd5e1;background:#f8fafc}.reports-create-option.is-active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #0891b226}.reports-create-option-title{font-weight:600;color:#1e293b}.reports-create-option-desc{font-size:.8125rem;color:#64748b;line-height:1.4}.reports-create-row{display:flex;flex-wrap:wrap;gap:1rem}.reports-create-row .reports-create-field{min-width:180px}.reports-create-error{padding:.6rem .75rem;font-size:.875rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem}.reports-create-actions{padding-top:.25rem}.reports-create-btn{padding:.6rem 1.25rem;font-size:.9375rem;font-weight:600}.reports-create-result-area{margin-top:.5rem}.reports-create-result-header{flex-wrap:wrap;gap:.75rem}.reports-create-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.reports-create-export-btn,.reports-create-print-btn{flex-shrink:0}.reports-create-stats-inline{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1.25rem;font-size:.8125rem;color:#64748b;background:#f8fafc;border-bottom:1px solid #f1f5f9}.reports-create-stats-inline strong{font-variant-numeric:tabular-nums}@media print{.app-nav,.reports-page .reports-hero,.reports-page .reports-nav,.reports-page .reports-create-builder,.reports-create-result-actions{display:none!important}.reports-create-print-area .reports-card{box-shadow:none;border:1px solid #ccc}}@media(max-width:768px){.reports-title{font-size:1.4rem}.reports-nav{padding:.35rem}.reports-nav-tab{min-width:100%}.reports-card-header{flex-direction:column;align-items:stretch}.reports-search{min-width:100%;max-width:100%}.reports-filters{flex-direction:column;align-items:stretch}.reports-filter-input{min-width:100%}.reports-table-wrap{margin:0 -1rem}.reports-table th,.reports-table td{padding:.6rem .75rem;font-size:.8125rem}.reports-create-options{grid-template-columns:1fr}.reports-create-row{flex-direction:column}.reports-create-row .reports-create-field{min-width:100%}.reports-create-input{max-width:100%}.reports-create-result-actions{flex-direction:column;align-items:stretch}}.amount-in{color:#059669}.amount-out{color:#dc2626}.document-file-row{display:flex;flex-direction:column;gap:.5rem}.document-file-row .input-field{flex:1;min-width:0}.document-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.document-upload-btn{flex-shrink:0}@media(min-width:480px){.document-file-row{flex-direction:row;align-items:center}}@media(max-width:768px){.app-main{padding:1rem;max-width:100%;overflow-x:hidden}.customers-page,.customer-detail-page{max-width:100%;overflow-x:hidden}.card-panel.customers-card{border-radius:.75rem;overflow:hidden}.customer-hero{max-width:100%;word-break:break-word}.customer-hero-vehicle-tag{word-break:break-word}.payment-add-card{padding:1rem 1rem 0}.page-title{font-size:1.25rem;margin-bottom:1rem;word-wrap:break-word}.app-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:1rem}.app-toolbar input.input-field,.app-toolbar input[type=search],.app-toolbar .btn-primary{width:100%;max-width:100%;min-height:44px;box-sizing:border-box}.card-panel,.reports-card{max-width:100%;border-radius:.75rem}.card-panel .card-header{padding:.75rem 1rem;font-size:.9375rem}.card-body{padding:1rem}.table-wrap{margin:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:500px}.customers-card .table-wrap,.payments-table-wrap{overflow-x:visible}.customers-card .customers-table,.payments-table-wrap .payments-table{min-width:0}.table-th,.table-td{padding:.6rem .5rem;font-size:.8125rem}.table-actions{display:flex;flex-wrap:wrap;gap:.25rem}.table-actions button,.table-actions a,.table-actions .btn-detail,.table-actions .btn-edit,.table-actions .btn-delete{padding:.35rem .5rem;min-height:36px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%;min-height:44px;font-size:1rem}.input-field,select.input-field,.date-picker-shamsi-wrap .rmdp-input{min-height:44px;font-size:16px}textarea.input-field{min-height:5rem}.btn-primary,.btn-secondary{min-height:44px;padding:.65rem 1rem;font-size:1rem}.modal-overlay{padding:.5rem;align-items:flex-end}.modal-box{max-width:100%;max-height:92vh;border-radius:1rem 1rem 0 0}.modal-header{padding:.75rem 1rem}.modal-body{padding:1rem}.modal-body>*+*{margin-top:.875rem}.customer-select-trigger{min-height:44px}.customer-select-item{padding:.75rem 1rem;min-height:44px}.customer-select-footer .btn-sm{min-height:44px;width:100%}.grid-stats{gap:.75rem;margin-bottom:1.5rem}.stat-card{padding:1rem}.stat-value{font-size:1.1rem}.grid-two{gap:1rem}.dashboard-chart-summary{flex-direction:column;gap:.5rem;padding:.6rem .75rem;font-size:.85rem}.dashboard-chart{min-height:160px}.dashboard-chart-bar-wrap{min-width:6px}.dashboard-chart-day{font-size:.65rem}.report-tabs{gap:.35rem}.report-tab{padding:.6rem .75rem;font-size:.8125rem}.settings-item{padding:.5rem 0}.settings-item input[type=checkbox]{min-width:22px;min-height:22px}.dev-card{padding:1.25rem}.login-box{padding:1.5rem 1.25rem}.login-title{font-size:1.25rem}}@media(max-width:480px){.app-mobile-header{padding-right:max(.75rem,env(safe-area-inset-right));padding-left:max(.75rem,env(safe-area-inset-left))}.app-mobile-header-brand{font-size:.9375rem}.app-main{padding:.75rem;padding-right:max(.75rem,env(safe-area-inset-right));padding-left:max(.75rem,env(safe-area-inset-left))}.page-title{font-size:1.125rem}.table-th,.table-td{padding:.5rem .4rem;font-size:.75rem}.reports-page,.settings-page{max-width:100%;min-width:0}.app-sidebar{width:min(280px,90vw);max-width:min(280px,90vw)}.card-panel .card-header{padding:.6rem .75rem}.card-body{padding:.75rem}.stat-card{padding:.875rem}.grid-stats{grid-template-columns:1fr}}@media(max-width:768px){input.input-field[type=text],input.input-field[type=search],input.input-field[type=number],input.input-field[type=url],select.input-field{font-size:16px}}
