*,:before,:after{box-sizing:border-box}:root{--ink:#172033;--muted:#687386;--line:#dce2ea;--panel:#fff;--brand:#145d71;--ground:#f3f6f9}button,input,select{font:inherit}button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:.65rem .9rem;transition:background-color .15s,filter .15s}button:hover{filter:brightness(.94)}.secondary{color:#263448;white-space:nowrap;background:#e8eef3}.secondary:hover{background:#dde5ed}.text-button{color:var(--brand);background:0 0;padding:0}.muted,small{color:var(--muted)}.notice{color:#a42b2b;margin:1rem 0}label{color:#3b485b;gap:.35rem;font-weight:600;display:grid}input,select{width:100%;color:var(--ink);text-align:right;background:#fff;border:1px solid #bfc9d6;border-radius:6px;height:unset!important;padding:.65rem!important}input[type=password],input[inputmode=decimal]{text-align:left;direction:ltr}input:disabled{color:#697586;background:#f1f4f7}form{gap:1rem;display:grid}h1,h2,p{margin-top:0}h1{margin-bottom:.35rem;font-size:1.8rem}h2{font-size:1.05rem}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;width:min(100%,26rem);padding:2.5rem;box-shadow:0 12px 34px #1d2c421a}.login-card form{margin:2rem 0 1rem}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{color:#d9e9ed;z-index:100;background:#123844;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 1.5rem;display:flex;box-shadow:0 1px 4px #0000001f}.topbar-start{align-items:center;gap:1.75rem;display:flex}.brand{letter-spacing:.08em;color:#fff;margin:0;font-size:1.15rem;font-weight:800;line-height:1}.top-nav{align-items:center;gap:.35rem;display:flex}.top-nav button{color:#d9e9ed;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .75rem;font-size:.88rem;transition:background .15s,color .15s}.top-nav button:hover{color:#fff;background:#ffffff17}.top-nav button.nav-active{color:#fff;background:#286172;font-weight:600}.topbar-end{align-items:center;gap:1.25rem;display:flex}.account{align-items:center;gap:.5rem;font-size:.84rem;display:flex}.account-name{color:#fff;font-weight:600}.account-tag{color:#9cb5bd;background:#ffffff14;border-radius:4px;padding:.15rem .45rem;font-size:.76rem}.signout{color:#d9e9ed;cursor:pointer;background:0 0;border:1px solid #d9e9ed38;border-radius:5px;padding:.25rem .65rem;font-size:.8rem;transition:all .15s}.signout:hover{color:#fff;background:#ffffff1f;border-color:#fff6}.content{flex:1;width:100%;min-height:0;padding:2rem 2.5rem 3rem;overflow-y:auto}.content-inner{width:100%;max-width:1200px;margin:0 auto}.toolbar{justify-content:space-between;align-items:start;gap:1rem;display:flex}.filters{flex-wrap:wrap;gap:.65rem;margin:2rem 0 1.25rem;display:flex}.filters input{max-width:360px}.filters select{width:auto;min-width:190px}.contract-list{gap:.7rem;display:grid}.contract,.panel,.editor{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.25rem}.contract{justify-content:space-between;align-items:center;gap:1rem;display:flex}.contract h2{margin-bottom:.25rem}.contract p{color:var(--muted);margin:0}.contract-actions{align-items:center;gap:1rem;display:flex}.empty{color:var(--muted);padding:1rem 0}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:flex-start;padding:3rem 1rem 2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.editor.modal{width:min(96%,860px);margin:0 auto;box-shadow:0 20px 50px #0f172a4d}.editor.modal.modal-large{width:min(96%,1160px);max-width:1160px}.section-title{justify-content:space-between;display:flex}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.form-grid>button:not(.modal-actions button),.form-grid>.notice{grid-column:1/-1}.form-span-2{grid-column:span 2}.form-span-3,.form-full-width{grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.user-table{margin-top:1.5rem}.user-row{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.user-row:first-of-type{border-top:0}.user-row span{color:var(--muted);font-size:.9rem;display:block}.user-controls{align-items:center;gap:.75rem;display:flex}.user-controls select{min-width:150px}.status{border-radius:999px;padding:.2rem .5rem}.status.active{color:#15623a;background:#d9f5e3}.status.blocked{color:#9d2222;background:#fee1e1}.status.admin{color:#5b2489;background:#e8defa}.modal-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.button-ghost{color:var(--muted);background:0 0;border-radius:6px;padding:.35rem .65rem}.button-ghost:hover{background:var(--ground);color:var(--ink)}.button-ger-ghost{color:#c53030;background:0 0;border-radius:6px;padding:.2rem .5rem;font-weight:700}.button-ger-ghost:hover{color:#991b1b;background:#fee2e2}.stage-section{grid-column:1/-1;margin-top:1rem}.stage-section-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.stage-section-header h4{color:var(--ink);margin:0;font-size:1rem}.stage-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.9rem}.stage-table th,.stage-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.5rem}.stage-table th{background:var(--ground);color:var(--ink);text-align:right;font-weight:600}.stage-table td.col-index,.stage-table td.col-action{text-align:center;width:44px}.stage-table input{width:100%;padding:.45rem .6rem;font-size:.9rem}.modal-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.75rem;width:100%;margin-top:1.25rem;display:flex}.modal-actions button,.form-grid .modal-actions button{white-space:nowrap;grid-column:auto!important;width:auto!important}.modal-actions-between{justify-content:space-between}.modal-actions-right{align-items:center;gap:.75rem;display:flex}.contract-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.contract-subtitle{color:var(--muted);font-size:.85rem}.currency-badge{background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600}.contract-meta{color:var(--muted);flex-wrap:wrap;gap:1rem;margin-top:.35rem;font-size:.85rem;display:flex}.ltr-confirmation-date,.ltr-date-picker>div>input{unicode-bidi:bidi-override;direction:ltr!important}.contract-amount-box{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.contract-amount-display{text-align:left;direction:ltr}.contract-amount-display strong{color:var(--ink);font-size:1.15rem}.contract-amount-display small{color:var(--muted);margin-right:.35rem}.autocomplete-wrapper{width:100%;position:relative}.autocomplete-dropdown{background-color:var(--panel,#fff);border:1px solid var(--line,#dce2ea);z-index:50;border-radius:6px;max-height:200px;margin:4px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.autocomplete-dropdown li{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:10px 12px;font-size:.95rem;transition:background-color .15s}.autocomplete-dropdown li:last-child{border-bottom:none}.autocomplete-dropdown li:hover{background-color:var(--ground,#f8fafc)}.autocomplete-dropdown .empty-state{color:#64748b;font-style:italic}.data-controls{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0 1.5rem;padding:.85rem 1rem;display:flex}.data-controls .filters{flex-wrap:wrap;flex:auto;align-items:center;gap:.65rem;margin:0;display:flex}.data-controls .filters input[type=search]{width:260px;max-width:100%}.data-controls .filters select{width:auto;min-width:170px}.sort-controls,.page-size-controls{white-space:nowrap;color:var(--muted);align-items:center;gap:.5rem;font-size:.88rem;display:flex}.data-controls label{color:var(--muted);align-items:center;margin:0;font-weight:500;display:inline-flex}.sort-controls select,.page-size-controls select{font-size:.88rem;width:auto!important;padding:.5rem .75rem!important}.sort-controls button{padding:.5rem .75rem;font-size:.85rem}.pagination-controls{border-top:1px solid var(--line,#e2e8f0);justify-content:center;align-items:center;gap:15px;margin-top:30px;padding-top:20px;display:flex}.pagination-controls button{padding:6px 12px}.toast-notification{z-index:9999;border-radius:8px;min-width:250px;animation:.3s ease-out forwards slideUp;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.table-scroll-container{max-height:340px;padding-left:.35rem;overflow-y:auto}.stage-totals-bar{background:var(--ground);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:1.25rem;margin-top:.65rem;padding:.65rem .9rem;font-size:.88rem;display:flex}.stage-total-item{color:var(--ink);align-items:center;gap:.45rem;display:flex}.stage-total-val{font-weight:700}.stage-val-negative,.stage-val-negative strong{color:#c53030!important}.contract-stage-sums{gap:.75rem;margin-top:.5rem}.contract-sum-pill{background:var(--ground);border:1px solid var(--line);color:var(--ink);border-radius:5px;padding:.2rem .6rem;font-size:.82rem}.multi-select-container{display:inline-block;position:relative}.multi-select-toggle{background-color:var(--panel,#fff);color:var(--ink,#172033);cursor:pointer;border:1px solid #bfc9d6;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-width:190px;padding:.65rem .9rem;font-size:.9rem;transition:border-color .15s,background-color .15s;display:flex}.multi-select-toggle:hover{border-color:var(--brand,#145d71)}.multi-select-toggle.has-selection{border-color:var(--brand,#145d71);background-color:#145d710f;font-weight:500}.dropdown-arrow{color:var(--muted,#687386);font-size:.75rem}.multi-select-menu{z-index:1000;border:1px solid var(--line,#dce2ea);background-color:#fff;border-radius:8px;min-width:260px;max-width:340px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #0000000f}.multi-select-menu-header{background-color:var(--ground,#f3f6f9);border-bottom:1px solid var(--line,#dce2ea);color:var(--muted,#687386);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:600;display:flex}.button-link{color:#a42b2b;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem}.button-link:hover{text-decoration:underline}.multi-select-menu-list{max-height:240px;padding:4px 0;overflow-y:auto}label.multi-select-menu-item{cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px;margin:0;padding:8px 12px;font-size:.88rem;font-weight:400;transition:background-color .12s;color:var(--ink,#172033)!important;flex-direction:row!important;align-items:center!important;display:flex!important}label.multi-select-menu-item:hover{background-color:var(--ground,#f3f6f9)}label.multi-select-menu-item input[type=checkbox]{cursor:pointer;flex-shrink:0;margin:0;width:auto!important;padding:0!important}.supplier-item-text{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden;color:var(--ink,#172033)!important}.supplier-biz-name{font-size:.8rem;color:var(--muted,#687386)!important}.multi-select-empty{text-align:center;color:var(--muted,#687386);padding:12px;font-size:.85rem}.button-clear-filters{color:var(--muted,#687386);cursor:pointer;white-space:nowrap;background-color:#0000;border:1px dashed #bfc9d6;border-radius:6px;padding:.65rem .9rem;font-size:.85rem;transition:all .15s}.button-clear-filters:hover{color:#a42b2b;background-color:#fee2e2;border-color:#fca5a5}.contract-clickable{cursor:pointer}.date-picker-field{flex-direction:column;display:flex}.contract-prepayment-text{margin-top:4px;font-size:.85rem}.date-picker-full,.date-picker-full .rmdp-container{width:100%}.date-picker-full input{box-sizing:border-box;width:100%}.button-danger-ghost{color:#c53030;background:0 0;font-weight:700}.button-danger-ghost:hover{color:#991b1b;background:#fee2e2}.contract.contract-overdue{background-color:#fff5f5;border-right:4px solid #ef4444}.contract.contract-warning{background-color:#fffbeb;border-right:4px solid #f59e0b}.contract.contract-finished{opacity:.75;border-right:4px solid #10b981}.badge-status{border-radius:4px;margin-right:6px;padding:2px 8px;font-size:.78rem;font-weight:500;display:inline-block}.badge-overdue{color:#b91c1c;background-color:#fee2e2}.badge-warning{color:#b45309;background-color:#fef3c7}.badge-finished{color:#065f46;background-color:#d1fae5}.button-finish-ghost{color:#0d9488;background:0 0;font-weight:700}.button-finish-ghost:hover:not(:disabled){color:#0f766e;background:#ccfbf1}.button-unfinish-ghost{color:#64748b;background:0 0;font-weight:700}.button-unfinish-ghost:hover:not(:disabled){color:#334155;background:#f1f5f9}.stage-table tr.stage-overdue{background-color:#dc262614}.stage-table tr.stage-overdue:hover{background-color:#dc26261f}.stage-table tr.stage-overdue td{border-bottom-color:#dc262633}.stage-status-badge.stage-badge-overdue{color:#dc2626;margin-right:4px;font-size:.85rem;font-weight:700;display:inline-block}@media (width<=820px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.form-grid{grid-template-columns:1fr}.form-span-2{grid-column:1/-1}.modal-backdrop{padding:1.5rem .5rem}}:root{color:#1e293b;font-synthesis:none;background:#f1f5f9;font-family:Vazirmatn,Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}:root{font-family:unset}
