@font-face{font-family:OfficeFont;src:url("../fonts/office-persian-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:OfficeFont;src:url("../fonts/office-persian-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:OfficeFont;src:url("../fonts/office-persian-semibold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:OfficeFont;src:url("../fonts/office-persian-bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{--ink:#172923;--muted:#65756f;--line:#dce5e1;--surface:#fff;--canvas:#f4f7f5;--primary:#174a40;--primary-2:#236b5d;--soft:#e8f2ee;--gold:#c79c4a;--danger:#a33f3f;--shadow:0 12px 35px rgba(20,55,47,.07)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:OfficeFont,Tahoma,sans-serif;font-size:15px;line-height:1.75}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
.container{width:min(1240px,calc(100% - 32px));margin-inline:auto}
.masthead{background:linear-gradient(120deg,#123d35,#225c50);color:#fff;border-bottom:4px solid var(--gold);padding:35px 0 30px}
.header-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.masthead h1{font-size:clamp(26px,4vw,40px);margin:2px 0 0;line-height:1.35}.masthead p{margin:3px 0;color:#d9e8e3}.kicker{margin:0;color:var(--primary-2);font-weight:600;font-size:13px;letter-spacing:.02em}.kicker.light{color:#a9cec4}
.viewer{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;white-space:nowrap}.viewer button{border:0;background:transparent;color:#fff;border-bottom:1px solid #b8d5ce;padding:1px 2px}
.top-actions{display:flex;align-items:center;justify-content:space-between;margin:22px 0 15px}.save-status{display:flex;align-items:center;gap:8px;color:var(--muted)}.save-status i{width:9px;height:9px;border-radius:50%;background:#91a099}.save-status[data-status=saving] i{background:#c98b2f;animation:pulse 1s infinite}.save-status[data-status=saved] i{background:#2a8b65}.save-status[data-status=error]{color:var(--danger)}.save-status[data-status=error] i{background:var(--danger)}
@keyframes pulse{50%{opacity:.35}}
.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border-radius:8px;border:1px solid transparent;padding:9px 16px;font-weight:600;min-height:42px}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:#103c33}.button.secondary{background:#fff;border-color:#cbd9d4;color:var(--primary)}.button.secondary:hover{background:var(--soft)}.button.danger{background:var(--danger);color:#fff}.button:disabled{opacity:.5;cursor:not-allowed}
.summary-cards{display:grid;grid-template-columns:repeat(4,1fr) 1.35fr;gap:12px;margin-bottom:18px}.summary-cards article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;box-shadow:0 4px 12px rgba(22,57,49,.035)}.summary-cards span,.summary-cards small{display:block;color:var(--muted);font-size:12px}.summary-cards strong{font-size:21px;display:block;color:var(--primary);margin-top:3px}.summary-cards .highlight{background:var(--primary);border-color:var(--primary)}.summary-cards .highlight span,.summary-cards .highlight small{color:#c7ddd7}.summary-cards .highlight strong{color:#fff}.shares-mini #mini-shares{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px}.shares-mini #mini-shares span{color:var(--ink);font-size:12px}.shares-mini #mini-shares b{display:block;color:var(--primary);font-size:14px}
.sheet-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.section-heading{display:flex;gap:13px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.section-heading>span,.heading-group>span{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--primary);font-weight:700}.section-heading h2{font-size:20px;margin:0;line-height:1.5}.section-heading p{margin:1px 0 0;color:var(--muted);font-size:13px}.section-heading.split{justify-content:space-between}.heading-group{display:flex;gap:13px}.equipment-tools{display:flex;gap:14px;align-items:flex-end}.equipment-tools>span{color:var(--muted);font-size:13px}.search span{display:block;color:var(--muted);font-size:12px;margin-bottom:2px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label>span,.partner-card label>span,.comment-card label>span{display:block;font-size:13px;color:#3e514b;margin-bottom:5px}.form-grid .wide{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid #cdd9d5;border-radius:7px;background:#fff;padding:9px 11px;outline:none;transition:border-color .15s,box-shadow .15s}input,select{height:43px}textarea{resize:vertical;min-height:75px}input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(35,107,93,.1)}input[aria-invalid=true]{border-color:var(--danger)}
.money-input{display:flex;direction:ltr;border:1px solid #cdd9d5;border-radius:7px;overflow:hidden;background:#fff}.money-input:focus-within{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(35,107,93,.1)}.money-input input{direction:rtl;border:0;border-radius:0;box-shadow:none!important}.money-input b{display:flex;align-items:center;padding:0 11px;background:#f5f8f7;border-right:1px solid var(--line);font-size:12px;color:var(--muted);white-space:nowrap}
.inline-calculation{display:grid;grid-template-columns:repeat(3,1fr);background:#f6f9f8;border:1px solid var(--line);border-radius:8px;margin-top:18px}.inline-calculation span{padding:12px 15px;border-left:1px solid var(--line);color:var(--muted)}.inline-calculation span:last-child{border-left:0}.inline-calculation strong{color:var(--primary);display:block}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;max-height:650px}.equipment-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.equipment-table th{position:sticky;top:0;z-index:2;background:#eef4f1;color:#43564f;font-size:12px;text-align:right;padding:10px 8px;border-bottom:1px solid #cddbd6;white-space:nowrap}.equipment-table td{padding:6px;border-bottom:1px solid #e7ecea;vertical-align:middle}.equipment-table tr:last-child td{border-bottom:0}.equipment-table tr:hover td{background:#fbfcfc}.equipment-table input,.equipment-table select{height:37px;padding:6px 8px;border-color:transparent;background:transparent}.equipment-table input:focus,.equipment-table select:focus{background:#fff;border-color:var(--primary-2)}.equipment-table .row-number{width:45px;text-align:center;color:var(--muted)}.equipment-table .category-cell{width:145px}.equipment-table .name-cell{width:190px}.equipment-table .qty-cell{width:80px}.equipment-table .price-cell{width:150px}.equipment-table .total-cell{width:135px;white-space:nowrap;font-weight:600;color:var(--primary)}.equipment-table .type-cell{width:105px}.equipment-table .notes-cell{width:180px}.equipment-table .delete-cell{width:55px;text-align:center}.delete-row{width:32px;height:32px;border:0;border-radius:6px;color:var(--danger);background:#fff0f0;font-size:20px;line-height:1}.add-row{margin-top:14px}
.financial-summary{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}.financial-summary div{display:flex;justify-content:space-between;padding:11px 3px;border-bottom:1px dashed #d9e2df}.financial-summary dt{color:var(--muted)}.financial-summary dd{margin:0;font-weight:600;color:var(--primary)}.financial-summary .grand{grid-column:1/-1;background:var(--primary);color:#fff;border-radius:8px;border:0;margin-top:14px;padding:15px 18px;font-size:17px}.financial-summary .grand dt,.financial-summary .grand dd{color:#fff}
.validation{font-size:13px;margin:-8px 0 12px}.validation.valid{color:#277558}.validation.invalid{color:var(--danger)}.partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.partner-card{border:1px solid var(--line);border-radius:9px;padding:16px}.partner-card h3{margin:0 0 12px;font-size:17px}.percentage-input{display:flex;align-items:center;gap:6px}.percentage-input input{text-align:center}.percentage-input b{font-size:18px;color:var(--muted)}.share-breakdown{margin:14px 0 0}.share-breakdown div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #edf1ef;font-size:12px}.share-breakdown dt{color:var(--muted)}.share-breakdown dd{margin:0;font-weight:600;white-space:nowrap}.share-breakdown .final{font-size:14px;color:var(--primary);border:0;padding-top:11px}
.comment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.comment-card{border:1px solid var(--line);border-radius:9px;padding:16px}.comment-card.is-current{border-color:#86b4a8;background:#fbfdfc}.comment-card h3{margin:0 0 12px}.comment-card label{margin-bottom:12px}.comment-meta{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin:5px 0 0}.approvals{display:flex;gap:12px;margin-top:16px}.approval-check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 14px;border-radius:8px}.approval-check input{width:17px;height:17px}
.report-section{padding:24px}.report-paper{border:1px solid #cfdad6;background:#fff;padding:35px;min-height:300px}.report-head{text-align:center;border-bottom:2px solid var(--primary);padding-bottom:16px;margin-bottom:20px}.report-head h2{font-size:24px;margin:0}.report-head p{color:var(--muted);margin:3px 0}.report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.report-meta div,.report-costs div{background:#f5f8f7;padding:9px 11px;border-radius:6px}.report-meta span,.report-costs span{display:block;color:var(--muted);font-size:11px}.report-meta b,.report-costs b{font-size:13px}.report-paper h3{font-size:16px;border-bottom:1px solid var(--line);padding-bottom:7px;margin:22px 0 10px}.report-costs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.report-costs .total{background:var(--primary);color:#fff}.report-costs .total span{color:#d0e3de}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{border:1px solid #dce5e1;padding:6px 8px;text-align:right}.report-table th{background:#eff4f2}.report-partners{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-partners article{border:1px solid var(--line);border-radius:6px;padding:10px}.report-partners h4{margin:0 0 6px}.report-partners p{margin:2px 0;font-size:12px}.report-notes{white-space:pre-wrap}.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.report-empty{color:var(--muted)}
.loading{position:fixed;inset:0;z-index:100;background:rgba(244,247,245,.96);display:grid;place-content:center;text-align:center}.loading span{width:35px;height:35px;border:3px solid #cbdad5;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:auto}.loading p{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}
.modal{position:fixed;inset:0;z-index:110;background:rgba(10,30,25,.62);display:grid;place-items:center;padding:20px}.modal[hidden],.toast[hidden]{display:none}.modal-box{background:#fff;border-radius:12px;width:min(470px,100%);padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.23)}.modal-box.compact{width:min(400px,100%)}.modal-box h2{margin:3px 0 5px;font-size:23px}.modal-box>p{color:var(--muted)}.identity-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.identity-options button{border:1px solid #bed1ca;background:#f3f8f6;color:var(--primary);border-radius:8px;padding:12px;font-weight:700}.identity-options button:hover{background:var(--primary);color:#fff}.button-row{display:flex;gap:9px;margin-top:18px}.toast{position:fixed;z-index:120;bottom:22px;left:22px;background:#163e35;color:#fff;border-radius:8px;padding:11px 17px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.toast.error{background:#8d3434}.site-footer{color:var(--muted);font-size:12px;padding:15px 0 35px}.noscript{position:fixed;inset:0;background:#fff;display:grid;place-items:center;z-index:200}
@media(max-width:1050px){.summary-cards{grid-template-columns:repeat(2,1fr)}.shares-mini{grid-column:span 2}.partner-cards,.comment-grid{grid-template-columns:1fr}.report-meta,.report-costs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{font-size:14px}.container{width:min(100% - 20px,1240px)}.masthead{padding:24px 0}.header-inner{display:block}.viewer{margin-top:18px;justify-content:space-between}.top-actions{position:sticky;top:0;z-index:20;background:rgba(244,247,245,.95);padding:8px 0;margin:8px 0}.save-status{font-size:12px}.summary-cards{grid-template-columns:1fr 1fr}.summary-cards article{padding:11px}.summary-cards strong{font-size:17px}.shares-mini{grid-column:1/-1}.sheet-section{padding:16px;border-radius:9px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.inline-calculation{grid-template-columns:1fr}.inline-calculation span{border-left:0;border-bottom:1px solid var(--line)}.section-heading.split{display:block}.equipment-tools{margin-top:12px;align-items:flex-end}.financial-summary{grid-template-columns:1fr}.financial-summary .grand{grid-column:auto}.approvals{display:grid}.report-paper{padding:18px}.report-meta,.report-costs,.report-partners{grid-template-columns:1fr 1fr}.report-actions .button{width:100%}.identity-options{grid-template-columns:1fr}.modal-box{padding:22px}}
@media print{@page{size:A4;margin:14mm}body{background:#fff;font-size:10pt;color:#111}.no-print,.loading,.modal,.toast,.site-footer{display:none!important}main.container{width:100%;margin:0;display:block!important}.sheet-section{display:none!important}.report-section{display:block!important;border:0;box-shadow:none;padding:0;margin:0}.report-paper{border:0;padding:0;min-height:0}.report-head h2{font-size:18pt}.report-meta,.report-costs{grid-template-columns:repeat(4,1fr)}.report-table{font-size:8.5pt}.report-paper h3{break-after:avoid}.report-table tr,.report-partners article{break-inside:avoid}}
