@font-face{font-family:IRANSansVida;src:url(/fonts/IRANSansFaNum-Medium.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IRANSansVida;src:url(/fonts/IRANSansFaNum-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:VidaDisplay;src:url(/fonts/IRANSansX-Heavy.ttf)format("truetype");font-weight:800;font-display:swap}@font-face{font-family:VidaTitr;src:url(/fonts/BTitrBd.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:VidaNazanin;src:url(/fonts/BNazaninBold.ttf)format("truetype");font-weight:700;font-display:swap}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:IRANSansVida,Tahoma,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:VidaDisplay,IRANSansVida,sans-serif}.muted{color:var(--muted)}.eyebrow{letter-spacing:.02em;color:var(--green);font-size:12px;font-weight:700}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:radial-gradient(circle at 15% 20%,#38a48038,#0000 32%),linear-gradient(140deg,#0a3127 0 47%,#eef3ef 47%);grid-template-columns:minmax(380px,1.15fr) minmax(380px,.85fr);min-height:100vh;padding:42px;display:grid}.auth-brand{color:#fff;align-self:center;max-width:650px;padding:64px}.auth-brand .eyebrow{color:#96ddc6}.auth-brand h1{margin:10px 0 18px;font-size:64px}.auth-brand>p:not(.eyebrow){color:#dbe9e4;max-width:580px;font-size:19px;line-height:2}.trust-row{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.trust-row span{background:#ffffff0f;border:1px solid #ffffff38;border-radius:99px;padding:8px 12px;font-size:12px}.brand-mark{color:#173c31;background:linear-gradient(145deg,#cda252,#f1d292);border-radius:19px;place-items:center;width:58px;height:58px;font-family:VidaTitr;font-size:34px;display:grid;box-shadow:0 12px 30px #0000002e}.brand-mark.large{border-radius:26px;width:82px;height:82px;font-size:45px}.auth-card,.setup-card{width:min(470px,100%);box-shadow:var(--shadow);background:#fffffff7;border-radius:30px;place-self:center;padding:46px}.auth-card h2{margin-bottom:8px;font-size:30px}.form-stack{gap:18px;margin-top:30px;display:grid}.form-stack label,.form-grid label{gap:8px;font-size:13px;font-weight:700;display:grid}.field-with-icon{position:relative}.field-with-icon svg{color:#82918a;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.field-with-icon input{padding-right:44px!important}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ced9d1;border-radius:13px;outline:none;padding:12px 13px;transition:all .18s}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 4px #15906c1c}.primary-button,.secondary-button,.danger-button,.ghost-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-weight:700;display:inline-flex}.primary-button{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 10px 24px #0e6f552e}.secondary-button{background:var(--mint);color:var(--green)}.ghost-button{color:var(--muted);border:1px solid var(--line);background:0 0}.danger-button{color:var(--red);background:#fde9eb}button:disabled{opacity:.55;cursor:not-allowed}.full{width:100%}.form-error{color:var(--red);background:#fdebec;border-radius:10px;margin:0;padding:10px 12px;font-size:12px}.auth-help{color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.9}.setup-page{background:radial-gradient(circle at 60% 10%,#d8f0e7,#0000 35%),#eef3ef;place-items:center;min-height:100vh;padding:40px;display:grid}.setup-card{width:min(680px,100%)}.setup-card h1{margin:18px 0 7px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px;display:grid}.form-grid .wide{grid-column:1/-1}.setup-form button{margin-top:8px}.app-layout{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e7f2ee;background:linear-gradient(#0b372c,#092a23);flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.sidebar-brand .brand-mark{border-radius:14px;width:44px;height:44px;font-size:27px}.sidebar-brand strong{font-family:VidaDisplay;font-size:18px}.sidebar-brand small{color:#9bc2b5;margin-top:2px;display:block}.side-nav{gap:5px;display:grid}.side-link{color:#c4d9d2;text-align:right;background:0 0;border:0;border-radius:13px;align-items:center;gap:11px;width:100%;padding:11px 13px;display:flex}.side-link:hover{color:#fff;background:#ffffff0f}.side-link.active{color:#fff;background:#5bcba52b;box-shadow:inset -3px 0 #63d6af}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:16px}.user-pill{align-items:center;gap:10px;padding:7px;display:flex}.avatar{color:#fff;background:#1d5b49;border-radius:13px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.user-pill small{color:#96b8ad;margin-top:2px;display:block}.logout-button{color:#d8e7e2;background:#ffffff12;border:0;border-radius:11px;width:100%;margin-top:10px;padding:9px}.main-area{min-width:0}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffdb;justify-content:space-between;align-items:center;height:76px;padding:0 30px;display:flex;position:sticky;top:0}.topbar-title h1{margin:0;font-size:20px}.topbar-title p{color:var(--muted);margin:4px 0 0;font-size:11px}.top-actions{align-items:center;gap:8px;display:flex}.search-box{position:relative}.search-box input{background:#f8faf8;width:280px;padding-right:39px}.search-box svg{color:#819088;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.content{max-width:1580px;margin:auto;padding:28px 30px 50px}.section-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.section-head h2{margin-bottom:5px;font-size:25px}.section-head p{color:var(--muted);margin:0}.section-actions{flex-wrap:wrap;gap:8px;display:flex}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:15px;padding:20px;display:flex;box-shadow:0 6px 20px #1f46390a}.kpi-icon{border-radius:17px;place-items:center;width:52px;height:52px;display:grid}.kpi-icon.green{color:var(--green);background:#e1f5ed}.kpi-icon.gold{color:var(--gold);background:#fbf1df}.kpi-icon.red{color:var(--red);background:#fbe7e9}.kpi-icon.blue{color:var(--blue);background:#e5eef7}.kpi-card strong{font-family:VidaDisplay;font-size:24px;display:block}.kpi-card span{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:1.5fr .8fr;gap:18px;margin-top:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 24px #1f463909}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-head h3{margin:0;font-size:16px}.status-list{gap:10px;display:grid}.status-row{background:#f7f9f7;border-radius:14px;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.status-dot{background:var(--green2);border-radius:99px;width:9px;height:9px}.status-row.overdue .status-dot{background:var(--red)}.status-row strong{display:block}.status-row small{color:var(--muted)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-card{border:1px solid var(--line);text-align:right;background:#fbfcfb;border-radius:15px;align-items:center;gap:10px;padding:15px;display:flex}.quick-card:hover{background:#f3faf7;border-color:#a7c9bc}.empty-state{text-align:center;color:var(--muted);padding:50px 20px}.empty-state svg{color:#9eb2aa;margin-bottom:12px}.empty-state h3{color:var(--ink);margin-bottom:6px}.data-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.data-panel>.panel-head{border-bottom:1px solid var(--line);margin:0;padding:16px 18px}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.filter-chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:7px 11px;font-size:12px}.chip.active{background:var(--dark);color:#fff;border-color:var(--dark)}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:850px}.data-table th{text-align:right;color:#65746e;white-space:nowrap;border-bottom:1px solid var(--line);background:#f7f9f7;padding:13px 16px;font-size:11px}.data-table td{vertical-align:middle;border-bottom:1px solid #edf1ee;padding:14px 16px}.data-table tbody tr:hover{background:#fbfdfb}.data-table tbody tr:last-child td{border-bottom:0}.person-cell{align-items:center;gap:10px;display:flex}.person-cell .mini-avatar{width:34px;height:34px;color:var(--green);background:#e6f3ee;border-radius:11px;place-items:center;font-weight:800;display:grid}.person-cell strong,.person-cell small{display:block}.person-cell small{color:var(--muted);font-size:11px}.tag{border-radius:99px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.tag.green{color:#0d7357;background:#e0f4eb}.tag.gray{color:#617069;background:#edf0ee}.tag.red{color:#ad3442;background:#fbe6e8}.tag.gold{color:#99620f;background:#f9eedc}.tag.blue{color:#326894;background:#e5eef7}.row-actions{gap:5px;display:flex}.icon-button{border:1px solid var(--line);color:#5f6e68;background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{color:var(--green);border-color:#a7c9bc}.notice{border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.notice.warning{color:#8e5a08;background:#fff5df}.notice.info{color:#2d6280;background:#e7f2f8}.notice.success{color:#0b6b50;background:#e3f5ed}.summary-box{border:1px solid var(--line);border-radius:14px;gap:0;display:grid;overflow:hidden}.summary-box p{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:0;padding:11px 13px;display:flex}.summary-box p:last-child{border-bottom:0}.summary-box span{color:var(--muted)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#081f1987;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:26px;flex-direction:column;width:min(920px,100%);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 30px 100px #00000040}.modal.small{width:min(560px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.modal-head h3{margin:0;font-size:18px}.modal-body{padding:22px;overflow:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:15px 22px;display:flex}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section h4{color:var(--green);margin:0 0 13px;font-family:VidaDisplay;font-size:14px}.form-section .form-grid{margin-top:0}.choice-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-card{border:1px solid var(--line);text-align:right;background:#fff;border-radius:15px;padding:14px}.choice-card.active{border-color:var(--green2);background:#f5fbf8;box-shadow:0 0 0 3px #15906c1a}.choice-card:has(input:checked){border-color:var(--green2);background:#f5fbf8;box-shadow:0 0 0 3px #15906c1a}.choice-card strong,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.7}.source-note{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.8}.form-success{color:var(--green);background:#e4f5ed;border-radius:10px;margin:0;padding:10px 12px}.loading-cover{z-index:200;color:var(--green);background:#ffffffa6;place-items:center;display:grid;position:fixed;inset:0}.timeline{gap:0;display:grid}.timeline-item{grid-template-columns:28px 1fr;gap:10px;padding-bottom:18px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--line);width:1px;position:absolute;top:22px;bottom:-2px;right:13px}.timeline-item:last-child:before{display:none}.timeline-dot{background:var(--mint);width:28px;height:28px;color:var(--green);z-index:1;border-radius:10px;place-items:center;display:grid}.timeline-item p{margin:2px 0 3px}.timeline-item small{color:var(--muted)}.phonebook-search{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.phonebook-search input{width:min(360px,100%)}.data-panel>.phonebook-search{border-bottom:1px solid var(--line);padding:14px 16px}.table-filter-select{width:auto;min-width:180px;padding:9px 11px}.table-pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-size:12px;display:flex}.table-pagination .chip:disabled{color:#9aa39f;background:#f2f4f2}.jalali-picker{position:relative}.jalali-picker>input{padding-left:42px}.jalali-picker-button{background:var(--mint);width:32px;height:32px;color:var(--green);border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.jalali-calendar{z-index:85;border:1px solid var(--line);direction:rtl;background:#fff;border-radius:14px;width:280px;padding:11px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 45px #0a31272e}.jalali-calendar-head{grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-bottom:8px;display:grid}.jalali-calendar-head strong{text-align:center;font-size:13px}.jalali-calendar-head button{height:32px;color:var(--green);background:#f3f6f4;border:0;border-radius:9px;place-items:center;display:grid}.jalali-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.jalali-calendar-grid>span,.jalali-calendar-grid>button{place-items:center;height:31px;display:grid}.jalali-calendar-grid .weekday{height:25px;color:var(--muted);font-size:10px;font-weight:700}.jalali-calendar-grid>button{color:var(--ink);background:#fff;border:0;border-radius:8px;font-size:11px}.jalali-calendar-grid>button:hover{background:var(--mint);color:var(--green)}.jalali-calendar-grid>button.active{background:var(--green);color:#fff}.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-popover{z-index:35;border:1px solid var(--line);background:#fff;border-radius:14px;gap:5px;width:225px;padding:8px;display:grid;position:absolute;top:40px;left:0;box-shadow:0 18px 45px #0a31272e}.action-menu-popover>strong{color:var(--muted);padding:6px 8px;font-size:10px;line-height:1.7}.action-menu-popover button,.action-menu-popover a{color:var(--ink);text-align:right;background:#f6f9f7;border:0;border-radius:10px;align-items:center;gap:8px;padding:9px 11px;display:flex}.action-menu-popover button:hover,.action-menu-popover a:hover{background:var(--mint);color:var(--green)}.report-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.report-scope-control{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-entity-select{border:1px solid var(--line);min-width:min(340px,80vw);color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:9px 12px}.report-date-control{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.report-date-control label{color:var(--muted);gap:5px;font-size:11px;display:grid}.report-date-control input{border:1px solid var(--line);min-width:145px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:8px 10px}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.report-kpis>div{border:1px solid var(--line);background:#fbfdfb;border-radius:16px;padding:15px}.report-kpis strong{font-family:VidaDisplay;font-size:22px;display:block}.report-kpis span{color:var(--muted);font-size:11px}.file-stack-input{background:#f8fbf9;border:1px dashed #aebfb7;border-radius:14px;padding:13px}.file-stack-input input[type=file]{background:0 0;border:0;padding:0}.file-stack-input small{color:var(--muted);margin-top:8px;line-height:1.8;display:block}.inline-notice{color:#8b5a0d;background:#fff4dc;border-radius:12px;grid-column:1/-1;padding:11px 13px;font-size:12px;line-height:1.9}.auto-number-note{color:var(--green);background:#eef6f2;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.8}.mobile-menu,.mobile-backdrop{display:none}@media (max-width:1100px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.search-box input{width:210px}.app-layout{grid-template-columns:220px}.sidebar{padding-inline:12px}}@media (max-width:780px){.auth-page{background:linear-gradient(#0a3127 0 35%,#eef3ef 35%);padding:20px;display:block}.auth-brand{padding:28px 12px 70px}.auth-brand h1{font-size:42px}.auth-card{margin-top:-30px}.app-layout{display:block}.sidebar{z-index:90;width:min(280px,86vw);height:100vh;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-20px 0 60px #0003}.sidebar.mobile-open{transform:translate(0)}.mobile-backdrop{z-index:80;background:#04141085;border:0;display:block;position:fixed;inset:0}.topbar{height:68px;padding:0 16px}.mobile-menu{display:grid}.search-box{display:none}.content{padding:20px 14px 40px}.kpi-grid{grid-template-columns:1fr}.section-head{display:block}.section-actions{margin-top:14px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.choice-grid{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal{border-radius:20px;max-height:96vh}.quick-grid{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}.action-menu-popover{width:auto;position:fixed;inset:auto 14px 18px}.phonebook-search input{width:100%}}.brand-mark{object-fit:contain;width:68px;height:68px;box-shadow:none;filter:drop-shadow(0 10px 18px #0003);background:0 0;border-radius:0;display:block}.brand-mark.large{border-radius:0;width:94px;height:94px}.brand-english{color:#89662d;letter-spacing:.22em;text-align:right;direction:ltr;margin-top:7px;font:700 10px/1.35 IRANSansVida,sans-serif;display:block}.brand-english.on-dark{color:#e7c477;margin:-8px 0 20px;font-size:12px}.sidebar-brand .brand-mark{border-radius:0;width:54px;height:54px}.sidebar-brand .brand-english{color:#d6b76e;letter-spacing:.16em;margin-top:3px;font-size:7px}.setup-card>.brand-english{margin:6px 0 16px}.brand-full-logo{object-fit:contain;width:min(420px,100%);height:auto;display:block}.auth-brand .brand-full-logo{margin-bottom:16px}.setup-card .brand-full-logo{width:min(300px,100%);margin-bottom:18px}:root{--ink:#16231d;--muted:#6b7771;--bg:#f5f7f4;--panel:#fff;--line:#dde4df;--green:#0b3d32;--green2:#175b49;--mint:#edf5f1;--dark:#0b3d32;--gold:#c6a15b;--red:#a83b46;--amber:#966415;--blue:#3d647c;--shadow:0 8px 24px #16231d0e;--radius:14px}body{font-size:15px;line-height:1.65}.auth-page{background:#0b3d32}.auth-card,.setup-card{box-shadow:var(--shadow);background:#fff;border-radius:18px}.setup-page{background:var(--bg)}.primary-button{background:var(--green);box-shadow:none}.primary-button:hover{background:var(--green2)}.sidebar{background:var(--dark);overscroll-behavior:contain;overflow-y:auto}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.kpi-card,.panel{box-shadow:var(--shadow)}.kpi-icon{border-radius:12px}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#081f1994}.modal{border-radius:16px;box-shadow:0 24px 80px #00000038}.modal.page-editor{border-radius:14px;width:min(1180px,100%);height:min(94vh,980px);max-height:94vh}.modal-foot{z-index:2;background:#fff;position:sticky;bottom:0}.data-table th{font-size:12px}.data-table td{font-size:14px}.search-results{inset-inline:0;z-index:70;border:1px solid var(--line);background:#fff;border-radius:14px;gap:4px;max-height:min(420px,70vh);padding:7px;display:grid;position:absolute;top:calc(100% + 8px);overflow-y:auto;box-shadow:0 18px 48px #16231d29}.search-results button{color:var(--ink);text-align:right;background:#fff;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.search-results button:hover,.search-results button:focus-visible{background:var(--mint);outline:none}.search-results strong{font-size:13px}.search-results small{color:var(--muted);font-size:11px}.search-results p{color:var(--muted);text-align:center;margin:0;padding:14px}.search-results button>span:first-child{gap:2px;min-width:0;display:grid}.search-results .tag{flex:none}.search-group{gap:3px;display:grid}.search-group+.search-group{border-top:1px solid var(--line);margin-top:3px;padding-top:7px}.search-group h4{color:var(--green);margin:0;padding:3px 10px;font-size:11px}.search-message{justify-content:center;align-items:center;gap:7px;display:flex}.search-message.error{color:var(--red)}.print-only{display:none}.report-print-header{border-bottom:2px solid var(--green);align-items:center;gap:14px;margin-bottom:18px;padding-bottom:12px}.report-print-header .brand-mark{filter:none;width:48px;height:48px}.report-print-header h1{margin:0;font-size:20px}.report-print-header p{color:var(--muted);margin:3px 0 0;font-size:10px}.report-print-header>span{color:var(--muted);margin-right:auto;font-size:10px}.report-print-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;padding-top:7px;font-size:9px}.dossier-body{gap:16px;display:grid}.dossier-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dossier-summary>div{border:1px solid var(--line);background:#fbfcfb;border-radius:14px;gap:5px;padding:13px;display:grid}.dossier-summary span{color:var(--muted);font-size:11px}.dossier-grid{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.dossier-links{flex-wrap:wrap;gap:8px;display:flex}.dossier-links a,.dossier-links>span{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:7px;padding:9px 11px;display:flex}.dossier-links a:hover{color:var(--green);border-color:#a7c9bc}.notification-center,.notification-center>.icon-button{position:relative}.notification-badge{background:var(--red);color:#fff;border:2px solid #fff;border-radius:99px;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:9px;display:grid;position:absolute;top:-6px;left:-6px}.notification-popover{z-index:75;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(410px,100vw - 28px);max-height:min(620px,78vh);position:absolute;top:calc(100% + 9px);left:0;overflow:hidden;box-shadow:0 18px 52px #16231d2e}.notification-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:13px 14px;display:flex}.notification-head span{color:var(--muted);font-size:11px}.notification-list{gap:6px;max-height:min(560px,70vh);padding:8px;display:grid;overflow-y:auto}.notification-item{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.notification-item.unread{border-right:3px solid var(--green)}.notification-main{text-align:right;background:#fff;border:0;gap:3px;width:100%;padding:10px 11px;display:grid}.notification-main:hover{background:var(--mint)}.notification-main small{color:var(--muted);line-height:1.7}.notification-actions{border-top:1px solid #edf1ee;gap:6px;padding:7px 10px;display:flex}.notification-actions button{color:var(--green);background:0 0;border:0;padding:3px;font-size:10px}.notification-actions button:last-child{color:var(--muted)}.contract-wizard{gap:18px;min-height:100%;display:grid}.contract-stepper{z-index:3;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:4px 0 14px;display:grid;position:sticky;top:-22px}.contract-stepper button{border:1px solid var(--line);color:var(--muted);text-align:right;background:#fff;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:9px 7px;font-size:11px;display:grid}.contract-stepper button span{background:#eef2ef;border-radius:8px;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.contract-stepper button.active{border-color:var(--green);background:var(--mint);color:var(--green)}.contract-stepper button.done{color:var(--green)}.contract-stepper button.done span,.contract-stepper button.active span{background:var(--green);color:#fff}.contract-stepper button:disabled{cursor:not-allowed}.wizard-hidden{display:none!important}.contract-wizard .form-section{margin:0}.contract-wizard-foot{z-index:4;border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:0 -22px -22px;padding:13px 22px;display:flex;position:sticky;bottom:-22px}.wizard-saved{color:var(--green);margin-left:auto}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.review-grid>div{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;gap:4px;padding:12px;display:grid}.review-grid span{color:var(--muted);font-size:11px}.review-grid strong{overflow-wrap:anywhere}@media (max-width:780px){.auth-page{background:#0b3d32}.sidebar{overscroll-behavior:contain;width:min(320px,88vw);max-width:calc(100vw - 24px);padding:22px 16px;overflow-y:auto}.sidebar-brand{padding-bottom:18px}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:68px;padding:12px 14px}.topbar-title{flex:1;min-width:0}.top-actions{width:100%}.search-box{flex:1;order:4;min-width:0;display:block}.search-box input{width:100%}.notification-popover{width:auto;max-height:calc(100vh - 154px);position:fixed;top:132px;left:14px;right:14px}.content{padding:18px 12px 36px}.section-head h2{font-size:22px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card{align-items:flex-start;gap:10px;padding:14px}.kpi-icon{flex:0 0 42px;width:42px;height:42px}.kpi-card strong{font-size:20px}.dashboard-grid{gap:12px;margin-top:12px}.panel{padding:16px}.table-wrap{overflow:visible}.data-table{border-collapse:separate;border-spacing:0;min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tbody{gap:12px;padding:12px;display:grid}.data-table tr{border:1px solid var(--line);background:#fff;border-radius:14px;padding:5px 14px;overflow:hidden}.data-table td{overflow-wrap:anywhere;border-bottom:1px solid #edf1ee;grid-template-columns:minmax(92px,34%) minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.data-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:700}.people-table td:first-child:before{content:"شخص"}.people-table td:nth-child(2):before{content:"نقش"}.people-table td:nth-child(3):before{content:"شناسه"}.people-table td:nth-child(4):before{content:"تماس"}.people-table td:nth-child(5):before{content:"کد پرونده"}.people-table td:nth-child(6):before{content:"عملیات"}.properties-table td:first-child:before{content:"ملک"}.properties-table td:nth-child(2):before{content:"کاربری"}.properties-table td:nth-child(3):before{content:"مساحت"}.properties-table td:nth-child(4):before{content:"طبقه/واحد"}.properties-table td:nth-child(5):before{content:"پارکینگ/انباری"}.properties-table td:nth-child(6):before{content:"وضعیت"}.properties-table td:nth-child(7):before{content:"عملیات"}.contracts-table td:first-child:before{content:"شماره/ملک"}.contracts-table td:nth-child(2):before{content:"طرفین"}.contracts-table td:nth-child(3):before{content:"بازه"}.contracts-table td:nth-child(4):before{content:"رهن/اجاره"}.contracts-table td:nth-child(5):before{content:"منبع"}.contracts-table td:nth-child(6):before{content:"وضعیت"}.contracts-table td:nth-child(7):before{content:"عملیات"}.pending-payments-table td:first-child:before,.schedules-table td:first-child:before,.payments-table td:first-child:before{content:"قرارداد/مستأجر"}.pending-payments-table td:nth-child(2):before{content:"تاریخ"}.pending-payments-table td:nth-child(3):before{content:"مبلغ"}.pending-payments-table td:nth-child(4):before{content:"پیگیری"}.pending-payments-table td:nth-child(5):before{content:"فیش"}.pending-payments-table td:nth-child(6):before{content:"عملیات"}.schedules-table td:nth-child(2):before{content:"قسط"}.schedules-table td:nth-child(3):before{content:"سررسید"}.schedules-table td:nth-child(4):before{content:"مبلغ"}.schedules-table td:nth-child(5):before{content:"پرداخت‌شده"}.schedules-table td:nth-child(6):before{content:"مانده"}.schedules-table td:nth-child(7):before{content:"وضعیت"}.schedules-table td:nth-child(8):before{content:"عملیات"}.payments-table td:nth-child(2):before{content:"تاریخ"}.payments-table td:nth-child(3):before{content:"مبلغ"}.payments-table td:nth-child(4):before{content:"روش/پیگیری"}.payments-table td:nth-child(5):before{content:"فیش"}.payments-table td:nth-child(6):before{content:"وضعیت"}.payments-table td:nth-child(7):before{content:"عملیات"}.documents-table td:first-child:before{content:"سند"}.documents-table td:nth-child(2):before{content:"دسته"}.documents-table td:nth-child(3):before{content:"پرونده"}.documents-table td:nth-child(4):before{content:"حجم"}.documents-table td:nth-child(5):before{content:"وضعیت"}.documents-table td:nth-child(6):before{content:"تاریخ"}.documents-table td:nth-child(7):before{content:"عملیات"}.users-table td:first-child:before{content:"کاربر"}.users-table td:nth-child(2):before{content:"نام کاربری"}.users-table td:nth-child(3):before{content:"نقش"}.users-table td:nth-child(4):before{content:"وضعیت"}.users-table td:nth-child(5):before{content:"آخرین ورود"}.data-table td:last-child{border-bottom:0}.row-actions{flex-wrap:wrap;justify-content:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-filter-select{width:100%;min-width:0}.table-pagination{flex-wrap:wrap;gap:8px;padding:11px 12px}.table-pagination .chip{white-space:nowrap;flex:1}.jalali-calendar{width:auto;position:fixed;inset:auto 14px 18px}.modal-backdrop{padding:0}.modal.page-editor{border-radius:0;width:100%;height:100%;max-height:none}.modal.page-editor .modal-head{padding:15px 16px}.modal.page-editor .modal-body{padding:18px 14px}.modal.page-editor .modal-foot{padding:12px 14px}.report-kpis,.dossier-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-grid{grid-template-columns:1fr}.contract-stepper{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:10px;top:-18px}.contract-stepper button{padding:7px 5px;font-size:10px}.contract-wizard-foot{margin:0 -14px -18px;padding:11px 14px;bottom:-18px}.review-grid{grid-template-columns:1fr}.wizard-saved{order:5;width:100%}}@media (max-width:420px){.kpi-grid,.report-kpis{grid-template-columns:1fr}}@media print{body{background:#fff;font-size:10pt}.app-layout{min-height:0;display:block}.main-area{width:100%}.content{max-width:none;padding:12mm}.no-print,.section-actions{display:none!important}.print-only{display:flex!important}.section-head{margin-bottom:12px}.section-head h2{font-size:20px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:7px}.kpi-card{box-shadow:none;break-inside:avoid;padding:10px}.kpi-icon{width:34px;height:34px}.kpi-card strong{font-size:16px}.dashboard-grid{grid-template-columns:1.55fr .75fr;gap:10px}.panel,.data-panel{box-shadow:none;break-inside:avoid;padding:12px}.table-wrap{overflow:visible}.data-table{min-width:0;font-size:8pt}.data-table th,.data-table td{padding:6px 7px}.report-print-footer{background:#fff;position:fixed;bottom:7mm;left:12mm;right:12mm}.brand-mark{filter:none}@page{size:A4;margin:8mm 0 16mm}}.report-insights{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.report-insights>div,.report-risk-grid>div{border:1px solid var(--line);background:#fff;border-radius:14px;gap:4px;padding:12px;display:grid}.report-insights span,.report-risk-grid span{color:var(--muted);font-size:11px}.report-insights strong,.report-risk-grid strong{font-size:15px}.report-insights small{color:var(--muted);font-size:10px}.report-risk-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.report-risk-grid>div{background:#fbfcfb}.report-print-meta{border-top:1px solid var(--line);flex-basis:100%;margin-top:0!important;padding-top:7px!important}.add-file-button{justify-self:start;margin-top:7px}.compact-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.compact-summary>div{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;gap:4px;padding:10px;display:grid}.compact-summary span{color:var(--muted);font-size:10px}.compact-summary strong{font-size:13px}.maintenance-list,.expense-list{gap:8px;display:grid}.maintenance-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:start;gap:5px 10px;padding:10px;display:grid}.maintenance-list article>div{gap:2px;display:grid}.maintenance-list small{color:var(--muted);font-size:10px}.maintenance-list article>small{grid-column:1/-1}.expense-list{margin-top:10px}.expense-list p{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;margin:0;padding:8px 10px;font-size:11px;display:flex}.expense-list p:last-child{border-bottom:0}@media (max-width:780px){.report-insights,.report-risk-grid,.compact-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{html,body{font-size:10pt;background:#fff!important}.sidebar,.topbar,.mobile-backdrop{display:none!important}.content{padding:7mm 10mm 15mm}.section-head{margin-bottom:9px}.section-head h2{font-size:18px}.section-head p{font-size:8pt}.kpi-grid{gap:5px}.kpi-card{border:1px solid #dfe4e1;padding:7px}.kpi-icon{width:29px;height:29px}.kpi-card strong{font-size:13px}.kpi-card small{font-size:7pt}.report-insights{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:6px}.report-risk-grid{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:8px}.report-insights>div,.report-risk-grid>div{break-inside:avoid;border-radius:0;padding:6px}.report-insights strong,.report-risk-grid strong{font-size:8pt}.report-insights span,.report-risk-grid span,.report-insights small{font-size:6.5pt}.dashboard-grid{margin:0;display:block}.panel,.data-panel{box-shadow:none;border:0;border-radius:0;padding:0}.report-main-panel{break-inside:auto}.report-financial-panel{break-inside:avoid;margin-top:8px}.panel-head{padding:6px 0}.data-table{border-collapse:collapse;font-size:7.5pt}.data-table thead{display:table-header-group}.data-table tr{break-inside:avoid}.data-table th,.data-table td{border-bottom:1px solid #dfe4e1;padding:4px 5px}.report-print-header{break-after:avoid}.report-print-footer{bottom:5mm;left:10mm;right:10mm}.report-page-number:after{content:" · صفحه " counter(page) " از " counter(pages)}@page{size:A4;margin:7mm 0 15mm}}.audit-history{gap:10px;display:grid}.audit-entry{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.audit-entry>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;display:grid}.audit-entry>div svg{color:var(--green);grid-row:1/3}.audit-entry small{color:var(--muted)}.audit-entry details{margin-top:10px}.audit-entry summary{cursor:pointer;color:var(--green);font-weight:700}.audit-diff-wrap{margin-top:8px;overflow:auto}.audit-diff-table{border-collapse:collapse;width:100%;min-width:520px;font-size:11px}.audit-diff-table th,.audit-diff-table td{border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere;max-width:300px;padding:7px}.audit-diff-table th{background:#f2f5f3}
