@font-face{font-family:BNazanin;src:url(/assets/BNazanin-C1h67RKk.woff2) format("woff2");font-display:swap}@font-face{font-family:BNazanin;src:url(/assets/BNazanin-Bold-4Uagdq1C.woff2) format("woff2");font-weight:700;font-display:swap}:root{font-family:BNazanin,Tahoma,sans-serif;color:#312a2c;background:#f7f5f5;font-synthesis:none;font-size:18px;--brand:#B32636;--brand-dark:#831723;--brand-pale:#f9e9ec;--line:#eadfe1;--muted:#776e70;--shadow:0 8px 30px #49232c0b}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.2;margin-bottom:.25rem}h2{font-size:1.35rem;margin-bottom:.5rem}h3{font-size:1.1rem}p{line-height:1.65}small{font-size:.83rem}label{display:flex;flex-direction:column;gap:5px;font-weight:700}label>span{color:#5a4b4f}input,textarea,select{width:100%;min-height:43px;border:1px solid #dacdd0;border-radius:11px;background:#fff;color:#33292c;padding:7px 11px;outline:0}textarea{min-height:65px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #b3263622}input:disabled,textarea:disabled,select:disabled{background:#f7f5f5;color:#665f61;opacity:1}input[type=time],input[type=number]{direction:ltr;text-align:right}button.primary,.primary.button-link{background:var(--brand);color:#fff;border:1px solid var(--brand);font-weight:700;box-shadow:0 3px 8px #b3263626}button.primary:hover,.primary.button-link:hover{background:var(--brand-dark)}.secondary,.secondary.button-link{background:#fff;color:var(--brand-dark);border:1px solid #d8b3bb;font-weight:700}.secondary:hover{background:var(--brand-pale)}.danger{background:#fff2f3;color:#a32131;border:1px solid #eac4c9;font-weight:700}.primary,.secondary,.danger,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:7px 16px;border-radius:11px;white-space:nowrap}.text-button,.back-link{border:0;background:transparent;color:var(--brand);display:inline-flex;align-items:center;gap:5px;padding:7px;font-weight:700}.eyebrow{letter-spacing:.04em;color:var(--brand);font-size:.9rem;font-weight:700;margin-bottom:5px}.help,.empty-hint{color:var(--muted);font-size:.92rem}.empty-hint{margin:12px 0}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--brand);font-weight:700}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 14%,#eed6da 0,transparent 38%),linear-gradient(145deg,#fbf8f8,#f4eff0)}.login-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 24px 80px #6b252f1c;text-align:center}.login-card>img{width:82px;height:82px;object-fit:contain}.login-card form{text-align:right;display:grid;gap:15px;margin-top:22px}.login-card h1{color:var(--brand-dark)}.portal-link{display:inline-block;margin-top:19px;color:var(--brand);text-decoration:underline}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:75px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:8px 25px;box-shadow:0 2px 12px #33202308}.brand{display:flex;align-items:center;gap:10px}.brand img{width:51px;height:51px;object-fit:contain}.brand strong{display:block;color:var(--brand-dark);font-size:1.16rem}.brand span{display:block;color:var(--muted);font-size:.85rem}.topbar-right{display:flex;align-items:center;gap:14px}.user-name{font-weight:700}.sidebar{position:fixed;top:75px;bottom:0;right:0;width:215px;background:#fff;border-left:1px solid var(--line);padding:20px 13px;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:transparent;border:0;border-radius:12px;padding:11px 12px;text-align:right;display:flex;align-items:center;gap:10px;color:#5e5355}.sidebar nav button:hover,.sidebar nav button.active{background:var(--brand-pale);color:var(--brand-dark);font-weight:700}.sidebar nav b{background:var(--brand);color:#fff;border-radius:50px;font-size:.75rem;padding:0 6px;margin-right:auto}.sidebar-footer{border-top:1px solid var(--line);padding:12px;display:grid;gap:5px;color:var(--muted)}.main-content{margin-right:215px;max-width:1600px;padding:30px 34px 75px}.mobile-nav{display:none}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:4px 0 25px}.page-heading p:last-child{color:var(--muted);margin-bottom:0}.date-control{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:14px;white-space:nowrap}.date-control>span{font-weight:700;color:var(--muted)}.jalali-picker{display:flex;gap:5px}.jalali-picker select{width:auto;min-width:64px;padding:5px 9px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;margin-bottom:21px;box-shadow:var(--shadow)}.panel h2{color:#422d32}.featured,.publish-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#fff,#fbeef0)}.featured p,.publish-panel p{color:#67595c;margin-bottom:0}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px 20px;box-shadow:var(--shadow);display:grid;gap:3px}.summary-card strong{font-size:1.9rem;color:var(--brand)}.summary-card span{color:var(--muted)}.unit-group{margin:25px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h2{margin:0}.section-title>span{color:var(--muted)}.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.unit-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.unit-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.unit-code{font:700 1rem Tahoma,sans-serif;color:var(--brand)}.unit-card h3{font-size:1.25rem;margin:0}.unit-card p{color:var(--muted);margin:0}.unit-card .card-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}.status-chip{background:#f3eff0;color:#6b5b5f;border-radius:50px;padding:3px 10px;font-size:.83rem;white-space:nowrap}.status-chip.status-approved,.status-chip.status-published{background:#e3f4e9;color:#1f6d43}.status-chip.status-manager_review{background:#fff0dd;color:#9b6215}.status-chip.status-lead_review{background:#f7e9d8;color:#95582a}.status-chip.status-draft{background:#edf0fb;color:#4f6393}.late-chip{color:#a32131}.provisional{color:#995312;background:#fff3dc;border-radius:6px;padding:2px 6px;display:inline-block;margin-right:5px}.provisional-banner{background:#fff7e9;border:1px solid #eed9b3;border-radius:10px;padding:10px;color:#83530d}.assignment-control{margin-top:5px;font-size:.88rem}.assignment-control select{font-size:.9rem}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.error-banner,.success-banner,.credential-panel{padding:12px 15px;border-radius:12px;margin-bottom:17px}.error-banner{background:#fff0f2;border:1px solid #e6adb7;color:#8b1828}.success-banner{background:#eaf5ec;border:1px solid #c9e3d0;color:#24623c}.credential-panel{background:#fff4dc;border:1px solid #eec979;display:flex;justify-content:space-between;align-items:center;gap:15px}.credential-panel p{margin-bottom:5px}.credential-panel code{display:inline-block;background:#fff;padding:6px 10px;border-radius:7px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field-grid .wide{grid-column:1/-1}.filters .field-grid{align-items:end}.form-section{margin-bottom:18px}.form-section h2{margin-bottom:15px}.form-sections{display:block}.check-list{display:grid;gap:8px}.check-row,.inspection-row{display:grid;grid-template-columns:minmax(0,1fr) 175px;align-items:center;gap:14px;background:#fbf9f9;border:1px solid #efe8e9;border-radius:11px;padding:8px 12px}.check-row>span{line-height:1.35}.inspection-row{grid-template-columns:minmax(0,1fr) 140px minmax(120px,.5fr)}.inspection-row div{display:grid}.inspection-row small{color:var(--brand)}.repeat-row{display:flex;align-items:end;gap:10px;border-top:1px solid var(--line);padding:13px 0}.repeat-row label{flex:1;min-width:100px}.repeat-row label.wide{flex:2}.repeat-row .grow{flex:1}.icon-button{min-width:40px;min-height:40px;border-radius:10px;font-size:1.3rem}.row-no{color:var(--brand);min-width:26px}.tower-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tower-card{background:#faf8f8;border:1px solid var(--line);border-radius:12px;padding:11px;display:grid;gap:7px}.tower-card h3{margin:0;color:var(--brand)}.tower-card label{font-size:.88rem}.workflow-panel{background:#fff9fa;border-color:#ebcbd0}.approval-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.approval-strip span{background:#eaf4ed;color:#38624a;padding:7px 12px;border-radius:10px}.history-list{display:grid;gap:10px}.history-list>div{border-right:3px solid var(--brand);padding:3px 12px;display:grid}.history-list span{color:var(--muted)}.history-list p{margin:0}.list-panel{padding:0;overflow:hidden}.list-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:right;padding:14px 20px}.list-row:hover{background:#fcf8f9}.list-row:last-child{border-bottom:0}.list-row>span:first-child{display:grid;gap:3px}.list-row small{color:var(--muted)}.unread-row{background:#fff7f8}.tab-bar{display:flex;gap:8px;margin:8px 0 13px}.tab-bar button{background:#fff;border:1px solid var(--line);border-radius:30px;padding:6px 15px}.tab-bar .active{background:var(--brand);color:#fff;border-color:var(--brand)}.empty-state{text-align:center;padding:34px;color:var(--muted)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-head h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-grid>strong{text-align:center;font-size:.85rem;color:var(--muted)}.calendar-day{min-height:68px;border:1px solid var(--line);background:#faf9f9;border-radius:9px;padding:6px;display:grid;align-content:start;text-align:right}.calendar-day b{font-size:1.05rem}.calendar-day small{font-size:.72rem;color:var(--muted)}.calendar-day.status-approved,.calendar-day.status-published{background:#e6f5eb}.calendar-day.status-manager_review{background:#fff1df}.calendar-day.status-lead_review{background:#fff0e8}.calendar-day.status-draft{background:#e9eff9}.bundle-units{display:grid;gap:9px}.bundle-units details{border:1px solid var(--line);border-radius:12px;overflow:hidden}.bundle-units summary{padding:12px 15px;cursor:pointer;display:flex;justify-content:space-between;background:#faf8f8}.bundle-unit-body{padding:15px}.bundle-unit-body .panel{box-shadow:none}.revision-nav{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.comment-list{display:grid;gap:10px}.comment-list>div{border-right:3px solid var(--brand);padding:8px 12px;background:#fbf9f9}.comment-list strong{display:block}.comment-list span{color:var(--muted)}.comment-list p{margin:5px 0 0}.comment-form{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:grid;gap:12px}.comment-form label{max-width:650px}.user-list{display:grid;gap:12px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:11px;padding:12px}.user-row>div:first-child{display:flex;align-items:center;gap:10px}.user-row small{color:var(--muted)}.user-row select{width:auto}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-grid .panel{display:grid;align-content:start;gap:14px}.account-grid form{display:grid;gap:14px}.signature-panel{grid-column:1/-1}.signature-preview{max-height:90px;max-width:240px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.draw-box canvas{background:#fff;width:min(100%,500px);height:160px;border:1px dashed #ba9299;border-radius:10px;touch-action:none}.draw-box{display:grid;gap:8px}.chart-box{height:320px;direction:ltr}.chart-panel{min-width:0}.chart-panel h2{margin-bottom:5px}.stat-day-list{display:grid;gap:6px}.stat-day-list button{border:1px solid var(--line);background:#fff;text-align:right;padding:10px;border-radius:9px;display:flex;justify-content:space-between;gap:8px}.stat-day-list button:hover{background:#fff7f8}@media(max-width:1150px){.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tower-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){:root{font-size:17px}.topbar{height:66px;padding:7px 13px}.brand img{width:42px;height:42px}.brand span,.user-name,.sidebar{display:none}.main-content{margin:0;padding:20px 13px 100px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;overflow-x:auto;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 18px #2d1b1f12}.mobile-nav button{min-width:72px;flex:1;border:0;background:transparent;padding:8px 6px;display:grid;justify-items:center;gap:2px;color:#756c6e;font-size:.76rem;white-space:nowrap}.mobile-nav button.active{color:var(--brand);background:#fff4f6}.page-heading{display:grid;gap:13px}.date-control{width:max-content;max-width:100%}.summary-grid,.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured,.publish-panel{display:grid}.field-grid,.tower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-row,.inspection-row{grid-template-columns:1fr}.repeat-row{flex-wrap:wrap}.repeat-row label{flex-basis:42%}.repeat-row label.wide{flex-basis:100%}.user-row{display:grid}.user-row>div:first-child{flex-wrap:wrap}.account-grid{grid-template-columns:1fr}.signature-panel{grid-column:auto}.calendar-day{min-height:58px}.calendar-day small{font-size:.63rem}.stat-day-list button{display:grid}}@media(max-width:490px){.unit-grid{grid-template-columns:1fr}.summary-card strong{font-size:1.55rem}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.tower-grid{grid-template-columns:1fr}.jalali-picker select{min-width:0}.calendar-grid{gap:2px}.calendar-day{padding:3px;min-height:49px}.calendar-day small{line-height:1.1}.calendar-head button{font-size:.8rem;padding:4px 8px}}.user-row{flex-wrap:wrap}.user-edit-form{width:100%;padding-top:12px;border-top:1px solid var(--line)}
