@font-face{font-family:VazirLocal;src:local("Vazirmatn"),local("Vazir"),local("Tahoma")}*{box-sizing:border-box}html{font-family:VazirLocal,Tahoma,Arial,sans-serif;color:#18322f;background:#f4f7f6}body{margin:0;min-height:100vh}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-left:1px solid #e7edeb;padding:24px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px}.brand strong{display:block;font-size:19px;line-height:1.3;color:#123f39}.brand small{display:block;font-size:10px;color:#89a09c;margin-top:2px}.brand-mark{position:relative;width:39px;height:39px;border-radius:12px;background:#0f766e;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:9px;box-shadow:0 7px 16px #0f766e31}.brand-mark:before{content:"";position:absolute;top:7px;width:18px;height:13px;border:3px solid white;border-bottom:0;border-radius:8px 8px 0 0}.brand-mark span{height:13px;width:4px;background:#fff;border-radius:2px}.brand-mark span:nth-child(2){height:18px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;height:47px;border:0;background:transparent;color:#71827f;border-radius:11px;display:flex;align-items:center;text-align:right;gap:12px;padding:0 14px;cursor:pointer;transition:.2s}.nav-item:hover{background:#f1f7f5;color:#0f766e}.nav-item.active{background:#eaf5f2;color:#0c6d64;font-weight:700}.nav-item i{font-size:21px;width:22px;text-align:center;font-style:normal}.nav-item b{margin-right:auto;background:#dfefeb;color:#0f766e;border-radius:10px;min-width:21px;height:21px;text-align:center;font-size:11px;line-height:21px}.nav-item.active b{background:#0f766e;color:#fff}.sidebar-bottom{margin-top:auto}.manager-card{border-top:1px solid #edf1f0;margin-top:10px;padding:17px 5px 0;display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px}.manager-card .avatar{height:38px;width:38px;border-radius:11px;background:#f3d5bd;color:#9d5525;display:grid;place-items:center;font-weight:700;font-size:12px}.manager-card strong,.manager-card small{display:block}.manager-card strong{font-size:12px}.manager-card small{font-size:10px;color:#8ca09c;margin-top:3px}.manager-card button{border:0;background:transparent;color:#91a19f;cursor:pointer}main{min-width:0}.topbar{height:98px;background:#fff;border-bottom:1px solid #e7edeb;display:flex;align-items:center;padding:0 36px;gap:24px;position:sticky;top:0;z-index:10}.page-heading{margin-left:auto}.page-heading p{font-size:10px;color:#91a29f;margin:0 0 5px}.page-heading h1{font-size:20px;margin:0;color:#173d38}.top-actions{display:flex;align-items:center;gap:10px}.period-chip{height:41px;padding:0 15px;border:1px solid #dce7e4;background:#fff;border-radius:10px;color:#506b67;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:8px}.period-chip em{font-size:19px;color:#96a6a3;font-style:normal}.pulse{width:7px;height:7px;border-radius:50%;background:#20a67a;box-shadow:0 0 0 4px #dff5ed}.icon-button{height:40px;width:40px;border:1px solid #dce7e4;background:#fff;color:#55706c;border-radius:10px;display:grid;place-items:center;cursor:pointer;font-size:20px}.notification-button{position:relative}.notification-button b{position:absolute;top:-5px;left:-5px;height:18px;min-width:18px;padding:0 4px;border-radius:9px;background:#ef6b5e;color:#fff;border:2px solid white;font-size:9px;line-height:14px}.primary-button{border:0;background:#0f766e;color:#fff;height:41px;border-radius:10px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:700;font-size:11px;box-shadow:0 6px 13px #0f766e25}.primary-button:hover{background:#0b665e}.primary-button span{font-size:17px}.menu{display:none}.content{padding:28px 36px 48px;max-width:1500px;margin:auto}.loading{height:55vh;display:grid;place-content:center;text-align:center;color:#78908c;font-size:12px}.loading span{width:35px;height:35px;border:3px solid #d5e6e2;border-top-color:#0f766e;border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-intro{display:flex;align-items:flex-end;margin-bottom:20px}.section-intro h2{font-size:15px;margin:0 0 4px}.section-intro p{font-size:11px;color:#81938f;margin:0}.section-intro .link-button{margin-right:auto}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #e4ebe9;border-radius:15px;padding:18px;min-height:128px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:auto auto -26px -26px;width:70px;height:70px;border-radius:50%;background:var(--soft)}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:39px;height:39px;border-radius:11px;background:var(--soft);color:var(--tone);display:grid;place-items:center;font-size:18px}.trend{font-size:9px;border-radius:8px;padding:4px 6px;background:#e8f8f1;color:#13805e}.trend.warn{background:#fff2e4;color:#c36b1f}.stat-card p{font-size:10px;color:#849592;margin:12px 0 6px}.stat-card strong{font-size:21px;letter-spacing:-.4px;color:#1d403b}.stat-card strong small{font-size:10px;color:#82928f;margin-right:3px}.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:17px}.panel{background:#fff;border:1px solid #e3ebe9;border-radius:15px;padding:20px}.panel-head{display:flex;align-items:center;margin-bottom:18px}.panel-head h3{font-size:13px;margin:0}.panel-head p{font-size:9px;color:#93a19f;margin:4px 0 0}.panel-head .head-action{margin-right:auto}.head-action,.link-button,.text-button{border:0;background:transparent;color:#0f766e;font-size:10px;cursor:pointer}.expense-summary{display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:center}.donut-wrap{position:relative;height:175px}.donut-wrap svg{width:175px;height:175px;transform:rotate(-90deg)}.donut-wrap circle{fill:none;stroke-width:16}.donut-center{position:absolute;inset:0 15px 0 0;display:grid;place-content:center;text-align:center}.donut-center span{font-size:9px;color:#8da09c}.donut-center strong{font-size:17px;margin-top:3px}.donut-center small{font-size:9px;color:#738784}.legend{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px}.legend-row i{width:8px;height:8px;border-radius:3px;background:var(--color)}.legend-row span{font-size:10px;color:#607571}.legend-row b{font-size:10px}.collection-box{background:#f6faf9;border-radius:12px;padding:13px 15px;margin-top:18px}.collection-row{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#687c78}.collection-row strong{font-size:11px;color:#16453e}.progress{height:7px;background:#e2ece9;border-radius:5px;margin:9px 0 7px;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#0f766e,#2db597);border-radius:5px}.activity-list{display:grid;gap:3px}.activity{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f0}.activity:last-child{border:0}.activity-icon{width:35px;height:35px;border-radius:10px;background:color-mix(in srgb,var(--color) 13%,white);color:var(--color);display:grid;place-items:center}.activity strong,.activity small{display:block}.activity strong{font-size:10px;margin-bottom:3px}.activity small{font-size:8px;color:#94a29f}.activity-amount{text-align:left}.activity-amount b{display:block;font-size:10px}.activity-amount small{font-size:8px;color:#94a29f}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.quick-action{border:1px solid #e3ebe9;border-radius:11px;background:#fff;padding:13px 5px;color:#5c726e;font-size:9px;cursor:pointer}.quick-action span{display:block;margin:auto auto 7px;width:30px;height:30px;border-radius:9px;background:#edf7f4;color:#0f766e;display:grid;place-items:center;font-size:15px}.table-panel{padding:0;overflow:hidden}.table-head{padding:19px 20px;display:flex;align-items:center;border-bottom:1px solid #e8eeec}.table-head h3{margin:0;font-size:13px}.table-head p{margin:4px 0 0;color:#8c9b98;font-size:9px}.search{margin-right:auto;border:1px solid #dfe8e5;background:#f9fbfa;border-radius:9px;padding:0 11px;height:36px;min-width:220px;font-size:10px;outline:none}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:right;color:#889894;font-weight:500;font-size:9px;background:#f8faf9;padding:11px 17px}.data-table td{padding:13px 17px;border-top:1px solid #edf1f0;font-size:10px}.data-table tr:hover td{background:#fbfdfc}.unit-cell{display:flex;align-items:center;gap:9px}.unit-number{width:31px;height:31px;border-radius:9px;background:#e9f5f2;color:#0f766e;display:grid;place-items:center;font-weight:700}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:10px;background:#e9f7f1;color:#15805e;font-size:8px}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.vacant{background:#f2f4f3;color:#7b8b88}.amount-positive{color:#d35d50;font-weight:700}.amount-credit{color:#148263;font-weight:700}.empty-state{text-align:center;padding:55px 20px}.empty-state span{font-size:38px}.empty-state h3{font-size:15px}.empty-state p{font-size:10px;color:#81938f}.submission-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.submission{background:#fff;border:1px solid #e3ebe9;border-radius:15px;padding:18px}.submission-top{display:flex;align-items:center;gap:10px}.submission-top .stat-icon{flex:0 0 auto}.submission-top h3{font-size:12px;margin:0 0 4px}.submission-top p{font-size:9px;color:#859692;margin:0}.submission-amount{font-size:19px;margin:19px 0 5px}.submission-meta{font-size:9px;color:#82938f}.submission-actions{display:flex;gap:8px;margin-top:17px}.submission-actions button{flex:1}.ghost-button{height:39px;border-radius:9px;border:1px solid #dce6e3;background:#fff;color:#526a66;font-size:10px;cursor:pointer}.preview-summary{display:flex;align-items:center;gap:20px;background:#ecf7f4;border:1px solid #d5ebe5;border-radius:13px;padding:16px;margin-bottom:16px}.preview-summary span{font-size:10px;color:#5c7772}.preview-summary strong{font-size:14px}.preview-summary .balanced{margin-right:auto;color:#0f766e;background:#fff;border-radius:9px;padding:7px 10px}.lines-button{border:0;background:#edf6f3;color:#0f766e;border-radius:7px;padding:6px 9px;cursor:pointer;font-size:9px}.drawer{position:fixed;top:0;left:-390px;width:370px;max-width:90vw;height:100vh;background:#fff;z-index:40;box-shadow:15px 0 45px #183d3822;padding:22px;transition:left .3s}.drawer.open{left:0}.drawer-header{display:flex;align-items:center;border-bottom:1px solid #e8eeec;padding-bottom:17px}.drawer-header>div{flex:1}.drawer-header p{margin:0 0 3px;font-size:15px;font-weight:700}.drawer-header small{font-size:9px;color:#879995}.notification-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #edf1f0}.notification-item i{width:34px;height:34px;border-radius:10px;background:#edf7f4;color:#0f766e;display:grid;place-items:center;font-style:normal}.notification-item strong{display:block;font-size:10px;margin-bottom:4px}.notification-item p{font-size:9px;color:#748783;margin:0;line-height:1.8}.notification-item.unread{position:relative}.notification-item.unread:after{content:"";position:absolute;left:0;top:20px;width:6px;height:6px;background:#ef6b5e;border-radius:50%}.drawer .text-button{width:100%;margin-top:18px}.overlay{position:fixed;inset:0;background:#102f2b55;backdrop-filter:blur(2px);z-index:30;opacity:0;pointer-events:none;transition:.2s}.overlay.show{opacity:1;pointer-events:auto}dialog{border:0;border-radius:18px;padding:0;width:590px;max-width:calc(100vw - 30px);box-shadow:0 25px 70px #163b3538}dialog::backdrop{background:#153c3759;backdrop-filter:blur(3px)}dialog form{padding:24px}.modal-head{display:flex;align-items:center;margin-bottom:22px}.modal-head>div{display:flex;align-items:center;gap:12px}.modal-head .icon-button{margin-right:auto}.modal-icon{width:42px;height:42px;background:#e7f4f0;color:#0f766e;border-radius:12px;display:grid;place-items:center;font-size:20px}.modal-head h2{font-size:16px;margin:0 0 4px}.modal-head p{font-size:9px;color:#859692;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label span{display:block;font-size:10px;margin-bottom:7px;color:#506a66}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;height:43px;border:1px solid #dbe5e2;border-radius:9px;padding:0 12px;outline:none;color:#24443f;background:#fff;font-size:11px}.form-grid input:focus,.form-grid select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #dff1ed}.money-input{position:relative}.money-input input{padding-left:55px}.money-input b{position:absolute;left:10px;top:14px;font-size:8px;color:#879793}.form-note{display:flex;gap:9px;background:#f1f8f6;border-radius:10px;padding:11px 13px;margin-top:17px}.form-note span{width:18px;height:18px;border-radius:50%;background:#0f766e;color:white;display:grid;place-items:center;font-size:10px}.form-note p{margin:0;font-size:9px;color:#617873;line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e7eeec;margin-top:20px;padding-top:18px}.modal-actions button{min-width:120px}.toast{position:fixed;right:50%;bottom:-80px;transform:translateX(50%);z-index:60;background:#173e38;color:#fff;border-radius:11px;padding:11px 15px;display:flex;align-items:center;gap:9px;box-shadow:0 15px 35px #163b3538;transition:.3s}.toast.show{bottom:25px}.toast span{width:22px;height:22px;border-radius:50%;background:#25a67e;display:grid;place-items:center}.toast p{font-size:10px;margin:0}.error-box{background:#fff0ee;color:#b84e44;border:1px solid #f2d3cf;padding:18px;border-radius:12px;font-size:11px}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:82px 1fr}.sidebar{padding-inline:12px}.brand>div:last-child,.nav-item span,.nav-item b,.manager-card>div:nth-child(2),.manager-card button{display:none}.brand{justify-content:center;padding-inline:0}.nav-item{justify-content:center;padding:0}.sidebar-bottom .nav-item{display:none}.manager-card{grid-template-columns:1fr;justify-items:center}.topbar{padding-inline:24px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;right:-270px;width:250px;transition:right .3s;box-shadow:-15px 0 40px #173b3730}.sidebar.open{right:0}.brand>div:last-child,.nav-item span,.nav-item b,.manager-card>div:nth-child(2),.manager-card button{display:block}.nav-item{justify-content:flex-start;padding:0 14px}.manager-card{grid-template-columns:38px 1fr 20px;justify-items:initial}.topbar{height:auto;min-height:82px;padding:14px 16px;gap:12px;flex-wrap:wrap}.menu{display:grid}.page-heading{margin-left:0;flex:1}.top-actions{width:100%;order:3}.period-chip{flex:1}.top-actions .primary-button{padding-inline:12px}.content{padding:20px 15px 35px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px;min-height:115px}.stat-card strong{font-size:17px}.expense-summary{grid-template-columns:1fr}.donut-wrap{width:190px;margin:auto}.submission-cards{grid-template-columns:1fr}.table-panel{overflow-x:auto}.data-table{min-width:700px}.search{min-width:140px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:420px){.stat-grid{grid-template-columns:1fr}.top-actions .primary-button{font-size:0;width:42px}.top-actions .primary-button span{font-size:18px}.panel{padding:16px}.quick-actions{grid-template-columns:1fr}.quick-action{display:flex;align-items:center;gap:10px;text-align:right;padding:8px 12px}.quick-action span{margin:0}}

/* Authentication and resident experience */
@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
html,button,input,select,textarea{font-family:Vazirmatn,Tahoma,Arial,sans-serif}
.is-hidden{display:none!important}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b5f58,#0e786d 58%,#15907c);color:#fff;padding:46px 58px;display:flex;flex-direction:column}.login-visual:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff17;border-radius:50%;left:-180px;top:-210px;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05}.login-brand,.mobile-brand{display:flex;align-items:center;gap:12px;font-size:20px;position:relative;z-index:2}.login-brand .brand-mark{background:#fff}.login-brand .brand-mark span{background:#0f766e}.login-brand .brand-mark:before{border-color:#0f766e}.login-copy{position:relative;z-index:2;margin-top:14vh;max-width:520px}.login-kicker{display:inline-block;padding:6px 10px;background:#ffffff16;border:1px solid #ffffff25;border-radius:20px;font-size:11px;margin-bottom:20px}.login-copy h1{font-size:43px;line-height:1.5;margin:0 0 14px;font-weight:850}.login-copy p{font-size:13px;line-height:2.1;color:#d4ece8;max-width:430px}.building-art{height:230px;position:relative;margin-top:auto}.art-building{position:absolute;bottom:0;right:13%;width:210px;height:165px;background:#f5dfb9;border-radius:10px 10px 0 0;box-shadow:inset -20px 0 #e7c995}.art-building:before{content:"";position:absolute;top:-45px;right:26px;border-left:79px solid transparent;border-right:79px solid transparent;border-bottom:48px solid #e8b37c}.art-building:after{content:"";position:absolute;width:46px;height:76px;background:#7caa9f;bottom:0;right:82px;border-radius:24px 24px 0 0}.art-building i{position:relative;display:inline-block;width:31px;height:35px;background:#72a69d;margin:30px 17px 0;border-radius:14px 14px 2px 2px}.art-tree{position:absolute;bottom:-9px;right:4%;font-size:100px;color:#9dcc9f}.art-cloud{position:absolute;width:65px;height:20px;border-radius:20px;background:#ffffff30}.art-cloud:after,.art-cloud:before{content:"";position:absolute;background:inherit;border-radius:50%}.art-cloud:before{width:28px;height:28px;top:-12px;right:10px}.art-cloud:after{width:21px;height:21px;top:-8px;left:9px}.art-cloud.one{top:20px;left:20%}.art-cloud.two{top:90px;right:4%;transform:scale(.7)}.login-credit{position:relative;z-index:2;color:#b9dcd6;font-size:9px}.login-panel{display:grid;place-items:center;padding:45px}.login-card{width:min(410px,100%)}.mobile-brand{display:none;color:#0f766e;margin-bottom:45px}.welcome-icon{width:52px;height:52px;border-radius:15px;background:#e8f5f2;color:#0f766e;display:grid;place-items:center;font-size:25px}.login-card h2{font-size:26px;margin:20px 0 8px}.login-card>p{color:#81938f;font-size:11px;margin:0 0 29px}.login-card label{display:block;margin-bottom:17px}.login-card label>span{display:block;font-size:10px;font-weight:700;color:#45625d;margin-bottom:8px}.login-card input{width:100%;height:49px;border:1px solid #d9e4e1;border-radius:11px;padding:0 14px;outline:none;font-size:12px;background:#fbfcfc}.login-card input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #e0f1ed}.password-field{position:relative}.password-field input{padding-left:45px}.password-field button{position:absolute;left:8px;top:6px;width:36px;height:36px;border:0;background:transparent;color:#80938f;cursor:pointer}.login-submit{width:100%;height:49px;font-size:12px;margin-top:6px}.login-submit span{font-size:12px}.login-submit b{margin-right:auto;font-size:18px}.login-error{min-height:22px;color:#c84f45;font-size:10px}.demo-users{margin-top:28px;padding-top:20px;border-top:1px solid #e6ecea}.demo-users>p{text-align:center;font-size:9px!important;margin:0 0 10px!important;color:#92a19e!important}.demo-users>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.demo-users button{border:1px solid #dfe8e5;border-radius:9px;background:#f8fbfa;padding:9px 4px;cursor:pointer;color:#34514c}.demo-users button:hover{border-color:#0f766e;background:#edf7f4}.demo-users b,.demo-users small{display:block}.demo-users b{font-size:9px}.demo-users small{font-size:7px;color:#849692;margin-top:3px;direction:ltr}.resident-hero{background:linear-gradient(120deg,#0c6b62,#128878);color:#fff;border-radius:18px;padding:25px 28px;display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:17px;position:relative;overflow:hidden}.resident-hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:35px solid #ffffff0c;left:-45px;top:-70px}.resident-hero p{font-size:10px;color:#cce7e3;margin:0 0 7px}.resident-hero h2{font-size:21px;margin:0}.resident-hero .hero-unit{width:92px;height:78px;background:#ffffff18;border:1px solid #ffffff2d;border-radius:14px;display:grid;place-content:center;text-align:center}.hero-unit b{font-size:25px}.hero-unit small{font-size:8px;color:#d2e9e5}.resident-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.balance-card{padding:25px}.balance-head{display:flex;align-items:flex-start}.balance-head .stat-icon{margin-left:12px}.balance-head p{margin:0;font-size:10px;color:#81948f}.balance-value{font-size:29px;margin:8px 0 3px;color:#d35d50}.balance-value.credit{color:#148263}.balance-value small{font-size:10px;color:#839590}.account-chip{margin-right:auto;background:#edf6f3;border-radius:10px;padding:7px 10px;font-size:9px;color:#0f766e}.charge-total{background:#f6faf9;border-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;margin:18px 0}.charge-total span{font-size:9px;color:#738783}.charge-total b{font-size:14px}.charge-lines{display:grid;gap:9px}.charge-line{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px}.charge-line i{width:8px;height:8px;border-radius:3px;background:var(--color)}.charge-line span{font-size:9px}.charge-line span small{display:block;color:#91a09d;font-size:7px;margin-top:2px}.charge-line b{font-size:9px}.resident-actions{display:grid;gap:9px}.resident-action{border:1px solid #dfe8e5;background:#fff;border-radius:12px;padding:14px;display:flex;align-items:center;gap:11px;cursor:pointer;text-align:right;color:#34514c}.resident-action:hover{border-color:#0f766e;background:#f7fbfa}.resident-action i{width:37px;height:37px;border-radius:10px;background:#e9f6f2;color:#0f766e;display:grid;place-items:center;font-style:normal;font-size:18px}.resident-action b,.resident-action small{display:block}.resident-action b{font-size:10px}.resident-action small{font-size:8px;color:#8a9b97;margin-top:3px}.resident-action em{margin-right:auto;font-style:normal}.statement-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f0}.statement-row:last-child{border:0}.statement-row i{width:37px;height:37px;border-radius:10px;background:#edf6f3;color:#0f766e;display:grid;place-items:center;font-style:normal}.statement-row b,.statement-row small{display:block}.statement-row b{font-size:9px}.statement-row small{font-size:7px;color:#90a09d;margin-top:3px}.statement-row .entry-amount{text-align:left;font-size:9px}.role-badge{font-size:8px;background:#eaf5f2;color:#0f766e;border-radius:8px;padding:4px 7px}
@media(max-width:900px){.login-screen{grid-template-columns:1fr}.login-visual{display:none}.mobile-brand{display:flex}.login-panel{min-height:100vh;padding:28px}.resident-grid{grid-template-columns:1fr}}
@media(max-width:520px){.demo-users>div{grid-template-columns:1fr}.demo-users button{display:flex;justify-content:space-between;padding:10px}.resident-hero{padding:20px}.resident-hero h2{font-size:17px}.resident-hero .hero-unit{width:70px;height:65px}.balance-value{font-size:23px}}

/* Building settings */
.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:17px;align-items:start}.settings-main{display:grid;gap:16px}.settings-section{padding:24px}.settings-heading{display:flex;flex-wrap:wrap;row-gap:10px;gap:12px;align-items:center;padding-bottom:19px;margin-bottom:20px;border-bottom:1px solid #e8eeec}.settings-heading>span{width:40px;height:40px;border-radius:11px;background:#e9f5f2;color:#0f766e;display:grid;place-items:center;font-size:19px}.settings-heading h2{font-size:13px;margin:0 0 4px}.settings-heading p{font-size:9px;color:#879894;margin:0}.settings-grid input,.settings-grid select,.settings-grid textarea{width:100%;border:1px solid #dbe5e2;border-radius:9px;padding:0 12px;outline:none;color:#24443f;background:#fff;font-size:11px}.settings-grid textarea{height:auto;padding-block:11px;resize:vertical;line-height:1.8}.settings-grid input:disabled{background:#f4f7f6;color:#8b9b98}.settings-grid input:focus,.settings-grid select:focus,.settings-grid textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #dff1ed}.switch-field{position:relative;border:1px solid #e1e9e7;border-radius:10px;padding:10px 12px;display:flex!important;align-items:center;margin-top:1px}.switch-copy{margin:0!important}.switch-copy b,.switch-copy small{display:block}.switch-copy b{font-size:9px;color:#36534e}.switch-copy small{font-size:7px;color:#90a09d;margin-top:3px}.switch-field input{position:absolute;width:1px!important;height:1px!important;inset:auto;opacity:0;pointer-events:none}.switch-field i{width:38px;height:22px;border-radius:12px;background:#cfdad7;margin-right:auto;position:relative;cursor:pointer;transition:.2s}.switch-field i:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;right:3px;box-shadow:0 1px 4px #0002;transition:.2s}.switch-field input:checked+i{background:#0f766e}.switch-field input:checked+i:after{right:19px}.settings-side{position:sticky;top:116px}.settings-summary{text-align:center;padding:25px 20px}.summary-icon{width:50px;height:50px;border-radius:15px;background:#e9f5f2;color:#0f766e;display:grid;place-items:center;font-size:23px;margin:0 auto 14px}.settings-summary h3{font-size:13px;margin:0 0 7px}.settings-summary>p{font-size:9px;line-height:1.9;color:#7e918d;margin:0 0 18px}.settings-summary>div{background:#f6f9f8;border-radius:9px;padding:10px;text-align:right;margin-bottom:14px}.settings-summary>div span,.settings-summary>div b{display:block}.settings-summary>div span{font-size:7px;color:#91a09d}.settings-summary>div b{font-size:8px;margin-top:4px;direction:ltr;text-align:right}.settings-summary .primary-button{width:100%}.audit-hint{display:block;font-size:7px;color:#91a09d;margin-top:11px}@media(max-width:1000px){.settings-layout{grid-template-columns:1fr}.settings-side{position:static;order:-1}.settings-summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:right}.settings-summary .summary-icon{margin:0}.settings-summary>p,.settings-summary>div,.settings-summary .audit-hint{display:none}}@media(max-width:600px){.settings-section{padding:17px}.settings-summary{grid-template-columns:auto 1fr}.settings-summary .primary-button{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}}
.password-reset-section{display:grid;grid-template-columns:1fr 150px 130px;align-items:center;gap:10px;padding:13px;border:1px solid #dce8e5;border-radius:11px;background:#f8fbfa}.password-reset-section b,.password-reset-section small{display:block}.password-reset-section b{font-size:10px}.password-reset-section small{margin-top:4px;color:#7d918d;font-size:8px;line-height:1.7}.password-reset-section select{height:39px;border:1px solid #dbe5e2;border-radius:9px;background:#fff;padding:0 9px}.password-reset-section button{height:39px}.history-list{display:grid;gap:9px;max-height:55vh;overflow:auto}.history-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid #e1eae7;border-radius:11px}.history-item>span{width:34px;height:34px;border-radius:10px;background:#eaf5f2;color:#0f766e;display:grid;place-items:center}.history-item b,.history-item small{display:block}.history-item b{font-size:10px}.history-item small{font-size:8px;color:#81938f;margin-top:4px}.history-item time{font-size:8px;color:#82938f;direction:ltr}.expense-docs{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.expense-docs a{font-size:8px;color:#0f766e;text-decoration:none;background:#eaf5f2;border-radius:7px;padding:4px 6px}.attachment-list:empty{display:none}.attachment-link button{border:0;background:transparent;color:#bf574d;cursor:pointer;margin-right:auto}@media(max-width:720px){.password-reset-section{grid-template-columns:1fr}.history-item{grid-template-columns:34px 1fr}.history-item time{grid-column:2}}
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.building-account-preview{margin-bottom:17px}.account-turnover{display:grid}.account-transaction{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf1f0}.account-transaction:last-child{border-bottom:0}.account-transaction>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px}.cash-in{color:#15805e;background:#e8f7f1}.cash-out{color:#d35d50;background:#fff0ee}.account-transaction b,.account-transaction small{display:block}.account-transaction b{font-size:10px}.account-transaction small{font-size:8px;color:#869793;margin-top:4px}.account-transaction strong{font-size:10px;white-space:nowrap}.account-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.account-row .money-input{position:relative}.account-row .money-input input{padding-left:55px}@media(max-width:720px){.account-transaction{grid-template-columns:36px 1fr}.account-transaction strong{grid-column:2}.account-row{grid-template-columns:1fr!important}}
.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:17px}.period-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.period-card h3{font-size:13px;margin:3px 0}.period-card>div>span,.period-card small{font-size:8px;color:#849692}.period-card .status-pill{justify-self:end}.period-counts{grid-column:1/-1;display:flex;gap:8px}.period-counts small{background:#f3f7f6;border-radius:8px;padding:5px 7px}.period-card>button,.period-card>small{grid-column:1/-1}.submission-actions .primary-button{flex:1}
.period-chip select{border:0;background:transparent;color:#315b55;outline:none;cursor:pointer;font-size:10px;max-width:150px}.period-card.selected{border-color:#0f766e;box-shadow:0 0 0 2px #dff1ed}.period-card .unit-actions{grid-column:1/-1}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}

/* 2026 visual refresh: warm neutrals with a restrained violet accent */
:root{--accent:#6157d9;--accent-dark:#4d44bf;--accent-soft:#efedff;--ink:#242238;--muted:#77758a;--line:#e9e7ef;--surface:#fff;--canvas:#f7f6fa;--danger:#cf554f;--danger-soft:#fff0ef;--success:#267c69;--success-soft:#eaf7f2}html{color:var(--ink);background:var(--canvas)}body{background:radial-gradient(circle at 85% 0,#f0edff 0,transparent 26%),var(--canvas)}.sidebar{background:#fcfbfe;border-left-color:var(--line);padding:26px 17px}.brand strong,.page-heading h1,.stat-card strong{color:var(--ink)}.brand small,.page-heading p{color:var(--muted)}.brand-mark{background:linear-gradient(145deg,#7469e8,#5448c6);box-shadow:0 10px 24px #6157d936}.nav-item{color:#747184;border-radius:13px;font-size:12px}.nav-item:hover{background:#f2f0fb;color:var(--accent)}.nav-item.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.topbar{background:#ffffffd9;border-bottom-color:var(--line);backdrop-filter:blur(18px)}.period-chip,.icon-button{border-color:var(--line);background:#fff;color:#5e5b70;border-radius:12px}.period-chip select{color:var(--ink);font-size:11px}.primary-button{background:linear-gradient(135deg,#6c61df,#574dcc);border-radius:11px;box-shadow:0 8px 20px #6157d92d;font-size:11px}.primary-button:hover{background:linear-gradient(135deg,#5c51d2,#493fb8)}.ghost-button{border-color:#dedbe8;color:#5e5a72;border-radius:10px;background:#fff}.ghost-button:hover{border-color:#b8b2dd;background:#f8f7ff;color:var(--accent)}.panel,.stat-card,.submission{border-color:var(--line);border-radius:18px;box-shadow:0 8px 30px #29234008}.stat-card{min-height:132px}.stat-icon{border-radius:12px}.table-panel{border-radius:18px}.table-head{border-bottom-color:var(--line)}.data-table th{background:#faf9fc;color:#797689;font-size:10px}.data-table td{border-top-color:#efedf3;font-size:10px}.data-table tr:hover td{background:#fbfaff}.unit-number{background:var(--accent-soft);color:var(--accent)}.status-pill{background:var(--success-soft);color:var(--success);font-size:9px}.status-pill.vacant{background:#f0eff4;color:#777486}.head-action,.link-button,.text-button{color:var(--accent)}.quick-action span,.modal-icon,.settings-heading>span{background:var(--accent-soft);color:var(--accent)}.quick-action:hover{border-color:#c9c4ed;background:#faf9ff;transform:translateY(-1px)}.preview-summary{background:linear-gradient(135deg,#f1efff,#faf9ff);border-color:#ded9fa}.preview-summary .balanced{color:var(--accent)}.form-note{background:#f4f2ff}.form-note span{background:var(--accent)}.form-note p{color:#666278}.form-grid input,.form-grid select,.form-grid textarea{border-color:#dedce6;color:var(--ink);border-radius:11px;background:#fff;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6157d916;outline:0}.form-grid input.invalid,.form-grid textarea.invalid,.money-input input.invalid{border-color:var(--danger);box-shadow:0 0 0 4px #cf554f12}.field-error{display:block!important;color:var(--danger)!important;font-size:9px!important;margin-top:6px!important;line-height:1.6}.danger-button{background:linear-gradient(135deg,#db625b,#c84b46)!important;box-shadow:0 8px 20px #cf554f2d!important}.action-modal{width:520px}.action-modal .modal-icon{background:var(--danger-soft);color:var(--danger)}.action-modal textarea{width:100%;resize:vertical;border:1px solid #dedce6;border-radius:11px;padding:11px;font:inherit}.period-card.selected{border-color:#a8a1e7;box-shadow:0 0 0 3px #6157d914}.report-heading{align-items:center}.eyebrow-label{display:block;color:var(--accent);font-size:9px;font-weight:700;margin-bottom:6px}.report-heading .ghost-button{margin-right:auto;padding:0 16px}.report-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:16px}.report-tab{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:78px;padding:10px;color:#747184;cursor:pointer;transition:.2s}.report-tab i{display:block;font-style:normal;font-size:20px;margin-bottom:5px}.report-tab span{font-size:9px}.report-tab:hover{transform:translateY(-2px);border-color:#c8c3e9}.report-tab.active{background:linear-gradient(145deg,#6b61df,#554bc5);color:#fff;border-color:transparent;box-shadow:0 9px 22px #6157d92b}.report-output{animation:report-in .2s ease}.report-scope-note{margin:0 0 12px}.report-stats{grid-template-columns:repeat(4,1fr)}@keyframes report-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.login-visual{background:radial-gradient(circle at 20% 20%,#8f78e9 0,transparent 28%),linear-gradient(145deg,#29243f,#5449a8 58%,#d87967)}.login-brand .brand-mark span{background:#6157d9}.login-brand .brand-mark:before{border-color:#6157d9}.login-card{border-radius:24px}.toast{background:#29263a;border:1px solid #ffffff17;border-radius:13px}.toast span{background:#786ee5}@media(max-width:1050px){.report-tabs{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.report-tabs{grid-template-columns:repeat(2,1fr)}.report-stats{grid-template-columns:1fr 1fr}.report-heading{align-items:flex-start;gap:12px}.report-heading .ghost-button{white-space:nowrap}}
@media print{.sidebar,.topbar,.report-tabs,#printReport{display:none!important}.app-shell{display:block}.content{padding:0}.panel,.stat-card{box-shadow:none}.report-output{overflow:visible}.data-table{min-width:0}}
.action-modal:not(.destructive) .modal-icon{background:var(--accent-soft);color:var(--accent)}

/* Unified Persian design system and responsive request experience */
@font-face{font-family:VazirLocal;src:url('/fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--control:44px}
html{font-size:16px}body,button,input,select,textarea{font-family:VazirLocal,Tahoma,Arial,sans-serif}body{font-size:var(--text-md);line-height:1.75}button,input,select,textarea{font-size:var(--text-sm)}
.brand small,.manager-card small,.page-heading p,.section-intro p,.panel-head p,.table-head p,.submission-top p,.form-grid label span,.settings-heading p,.settings-summary>p,.history-item small,.account-transaction small,.period-card small,.resident-action small,.statement-row small,.login-card>p,.login-card label>span,.toast p,.error-box{font-size:var(--text-xs)}
.nav-item,.manager-card strong,.primary-button,.ghost-button,.head-action,.link-button,.text-button,.data-table th,.data-table td,.status-pill,.submission-meta,.form-grid input,.form-grid select,.form-grid textarea,.settings-grid input,.settings-grid select,.settings-grid textarea{font-size:var(--text-sm)}
.page-heading h1{font-size:var(--text-xl)}.section-intro h2,.panel-head h3,.table-head h3,.settings-heading h2,.submission-top h3{font-size:var(--text-lg)}
.primary-button,.ghost-button,.icon-button{min-height:var(--control)}.primary-button,.ghost-button{padding-inline:16px}.nav-item{min-height:48px;height:auto}.form-grid input,.form-grid select,.settings-grid input,.settings-grid select{height:var(--control)}
.content{width:100%;max-width:1500px}.panel,.submission{padding:22px}.data-table th,.data-table td{padding:14px 17px;line-height:1.7}

.period-chip{height:54px;min-width:245px;padding:7px 10px;gap:10px;cursor:default}.period-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:18px}.period-chip label{display:grid;gap:0;min-width:0}.period-chip label small{font-size:11px;color:var(--muted);line-height:1.2}.period-chip select{width:145px;max-width:100%;padding:0;border:0;font-size:var(--text-sm);font-weight:700}.period-state{margin-right:auto;padding:3px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:700}.period-chip.closed .period-state{background:#f0eff4;color:#777486}.period-chip.closed .period-icon{background:#f0eff4;color:#777486}

.request-heading{align-items:center}.request-total{margin-right:auto;white-space:nowrap;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:var(--text-xs)}
.request-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px;margin-bottom:8px;scrollbar-width:thin}.request-filters button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;min-height:40px;padding:0 13px;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}.request-filters button b{min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#f1eff5;display:grid;place-items:center;font-size:11px}.request-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.request-filters button.active b{background:#ffffff2a}.request-card.is-filtered{display:none}
.submission-cards{align-items:start}.request-card{padding:0;overflow:hidden}.request-card .submission-top{padding:18px 20px;border-bottom:1px solid var(--line)}.request-card .submission-top>div{min-width:0}.request-card .submission-top .status-pill{margin-right:auto;white-space:nowrap}.request-card .submission-title{margin:17px 20px 0}.request-card .submission-title b,.request-card .submission-title small{display:block}.request-card .submission-title small{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.request-amount{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.request-amount small{color:var(--muted);font-size:var(--text-xs)}.request-amount strong{font-size:1.2rem;color:var(--ink)}.request-amount strong small{font-size:var(--text-xs)}
.request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}.request-facts>div{background:#faf9fc;padding:11px 20px;min-width:0}.request-facts small,.request-facts b{display:block}.request-facts small{font-size:11px;color:var(--muted)}.request-facts b{font-size:var(--text-xs);margin-top:2px;overflow-wrap:anywhere}.request-actor{display:flex;flex-wrap:wrap;gap:5px 18px;padding:13px 20px;color:var(--muted);font-size:var(--text-xs)}.request-actor b{color:var(--ink)}.request-card>.attachment-list,.request-card>.review-effect,.request-card>.approval-options,.request-card>.submission-actions,.request-card>.rejection-reason{margin-inline:20px}.request-card>.submission-actions:last-child{margin-bottom:20px}.rejection-reason{background:var(--danger-soft);border:1px solid #f0cecb;border-radius:12px;padding:12px 14px;color:var(--danger)}.rejection-reason b,.rejection-reason p{margin:0}.rejection-reason p{font-size:var(--text-xs);margin-top:3px}.status-rejected{border-color:#f0d4d1}.status-approved{border-color:#d9ebe4}
.report-action-bar{grid-template-columns:repeat(3,1fr);gap:12px}.report-action-bar button{min-height:78px;padding:13px 15px;display:flex;align-items:center;gap:12px;text-align:right}.report-action-bar button i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-style:normal;font-size:18px;flex:0 0 auto}.report-action-bar button span,.report-action-bar button b,.report-action-bar button small{display:block}.report-action-bar button b{font-size:var(--text-sm)}.report-action-bar button small{font-size:var(--text-xs);color:var(--muted);margin-top:2px}

@media(max-width:1100px){.submission-cards{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.app-shell{display:block}.sidebar{position:fixed;top:0;right:-290px;width:270px;height:100dvh;transition:right .25s ease;box-shadow:-15px 0 40px #29234024;z-index:40}.sidebar.open{right:0}.menu{display:grid}.topbar{height:auto;min-height:88px;padding:14px 20px;gap:12px;flex-wrap:wrap}.page-heading{margin-left:0;flex:1}.top-actions{width:100%;order:3}.period-chip{flex:1}.content{padding:24px 20px 40px}.table-panel{overflow-x:auto}.data-table{min-width:760px}.settings-layout{grid-template-columns:1fr}.report-action-bar{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){:root{--text-md:.8125rem;--text-lg:.9375rem;--text-xl:1.1rem}.topbar{padding:12px 14px}.top-actions{display:grid;grid-template-columns:1fr auto auto}.period-chip{min-width:0}.period-chip select{width:112px}.period-state{display:none}.content{padding:18px 13px 32px}.panel,.submission{padding:16px}.request-card{padding:0}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:112px}.section-intro{align-items:flex-start;gap:8px}.request-heading{align-items:center}.report-action-bar{grid-template-columns:1fr}.report-action-bar button{min-height:66px}.request-facts{grid-template-columns:1fr 1fr}.request-facts>div{padding:10px 14px}.request-card .submission-top,.request-amount{padding-inline:14px}.request-card>.attachment-list,.request-card>.review-effect,.request-card>.approval-options,.request-card>.submission-actions,.request-card>.rejection-reason{margin-inline:14px}.submission-top{align-items:flex-start}.submission-top .stat-icon{width:36px;height:36px}.submission-top h3{font-size:var(--text-sm)}.submission-actions{flex-wrap:wrap}.submission-actions button{min-width:120px}.form-grid{grid-template-columns:1fr}.modal-actions button{min-width:0;flex:1}.login-panel{padding:22px}.login-card h2{font-size:1.4rem}}
@media(max-width:390px){.top-actions{grid-template-columns:1fr auto}.top-actions .primary-button{grid-column:1/-1}.period-chip{min-width:0}.stat-grid{grid-template-columns:1fr}.request-facts{grid-template-columns:1fr}.request-total{display:none}}
.report-action-bar{display:grid}
.sidebar-bottom #switchPanelBtn:not(.is-hidden){display:flex!important}
p{font-size:var(--text-sm)!important}small{font-size:var(--text-xs)!important}button{font-size:var(--text-sm)!important}.charge-line span,.legend-row span,.legend-row b,.activity strong,.activity-amount b,.quick-action,.resident-action b,.statement-row b,.account-transaction b,.settings-summary span,.settings-summary b,.history-item b,.period-card>div>span{font-size:var(--text-xs)}

/* Period calendar, resource toolbars, and consistent controls */
select{appearance:none;-webkit-appearance:none;min-height:44px;border:1px solid #d9d7e3;border-radius:11px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#77728a 50%),linear-gradient(135deg,#77728a 50%,transparent 50%);background-position:18px calc(50% - 2px),13px calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding:0 13px 0 38px!important;color:var(--ink);font-size:var(--text-sm)!important;line-height:1.4;outline:none;transition:border-color .2s,box-shadow .2s}select:hover{border-color:#bcb7d2}select:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6157d914}.period-chip select{min-height:28px;border:0!important;border-radius:0;background-color:transparent;box-shadow:none!important;padding-right:0!important}.approval-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.approval-options>label:only-child{grid-column:1/-1}.approval-options label>span{font-size:var(--text-xs);font-weight:700;color:var(--muted);margin-bottom:6px}.approval-options label>small{display:block;margin-top:6px;color:var(--muted);font-size:var(--text-xs);line-height:1.7}.approval-options select{height:46px}.review-effect{margin-top:14px;padding:12px 14px;border-radius:12px}.review-effect b{font-size:var(--text-sm);color:var(--success)}.review-effect p{font-size:var(--text-xs)!important;line-height:1.8;margin-top:3px}.request-card>.submission-actions{margin-top:14px}.request-card>.submission-actions button{min-height:44px}
.resource-toolbar{padding:13px 15px;margin-bottom:14px;display:flex;align-items:center;gap:12px;box-shadow:none}.resource-toolbar-copy{display:grid;gap:2px}.resource-toolbar-copy b{font-size:var(--text-sm)}.resource-toolbar-copy small{color:var(--muted)}.resource-toolbar>.primary-button{margin-right:auto;white-space:nowrap}.resource-search{min-width:280px;max-width:520px;flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:#faf9fc}.resource-search span{font-size:20px;color:var(--muted)}.resource-search input{width:100%;height:44px;border:0;background:transparent;outline:0;font-size:var(--text-sm)}
.period-heading{align-items:center}.year-selector{margin-right:auto;min-width:150px;display:grid;gap:5px}.year-selector>span{font-size:var(--text-xs);font-weight:700;color:var(--muted)}.year-selector select{font-weight:800}.period-calendar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:18px}.period-month{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;min-height:126px;transition:.2s}.period-month:hover:not(.placeholder){border-color:#c2bce7;transform:translateY(-1px)}.period-month.selected{border-color:var(--accent);box-shadow:0 0 0 3px #6157d914}.period-month.placeholder{padding:15px;background:#f8f7fa;color:#aaa7b3;border-style:dashed;display:flex;flex-direction:column;justify-content:space-between}.period-month.placeholder>div{display:flex;align-items:center;gap:10px}.period-month.placeholder span,.period-index{width:29px;height:29px;border-radius:9px;background:#f0eef5;display:grid;place-items:center;font-weight:800;font-size:var(--text-xs);flex:0 0 auto}.period-month.placeholder h3{font-size:var(--text-sm);margin:0}.period-month.placeholder>small{color:#aaa7b3}.period-select{width:100%;min-height:70px;border:0;background:transparent;padding:13px;text-align:right;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;color:var(--ink);cursor:pointer}.period-select>span:nth-child(2){display:grid}.period-select b{font-size:var(--text-sm)}.period-select small{color:var(--muted);margin-top:2px}.period-select .status-pill{font-style:normal;white-space:nowrap}.period-month.open .period-index{background:var(--success-soft);color:var(--success)}.period-month.selected .period-index{background:var(--accent-soft);color:var(--accent)}.period-metrics{display:flex;gap:6px;padding:0 13px 11px}.period-metrics small{padding:3px 7px;background:#f6f5f8;border-radius:7px;color:var(--muted)}.period-close{width:100%;min-height:35px;border:0;border-top:1px solid #e7e4ef;background:#faf9ff;color:var(--accent);cursor:pointer;font-weight:700}.period-close:hover{background:var(--accent-soft)}
@media(max-width:1100px){.period-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.period-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.period-heading{align-items:flex-end}.year-selector{min-width:125px}.resource-toolbar{align-items:stretch}.resource-toolbar-copy{display:none}.resource-search{min-width:0}.approval-options{grid-template-columns:1fr}.request-card .review-effect{padding:10px 12px}}
@media(max-width:430px){.period-calendar{grid-template-columns:1fr}.period-month{min-height:0}.period-heading{display:grid;grid-template-columns:1fr auto}.period-heading>div{grid-column:1/-1}.year-selector{margin:0}.resource-toolbar{display:grid;grid-template-columns:1fr}.resource-toolbar>.primary-button{width:100%;margin:0}.period-select{grid-template-columns:auto 1fr auto}.request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026 consistency pass: readable scale, icon controls, and compact financial navigation */
:root{--text-xs:.8125rem;--text-sm:.875rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem}
.content{max-width:1320px}.panel-head h3,.table-head h3{font-weight:800}.panel-head p,.table-head p{line-height:1.8}.data-table th{font-weight:700}.data-table td,.data-table th{font-size:var(--text-sm)}

.manager-card{grid-template-columns:40px minmax(0,1fr) auto;gap:9px}.profile-actions{display:flex;align-items:center;gap:5px;direction:rtl}.profile-actions button{width:34px!important;height:34px!important;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:#6e6a7d;display:grid;place-items:center;transition:.2s}.profile-actions button:hover{border-color:#bfb9df;background:var(--accent-soft);color:var(--accent)}.profile-actions .logout-control:hover{border-color:#efc8c5;background:var(--danger-soft);color:var(--danger)}.profile-actions svg,.notification-button svg,.period-icon svg,.report-tab svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-button{font-size:0}.notification-button svg{width:20px;height:20px}

.period-chip{min-width:355px;height:58px;padding:7px 11px;gap:9px}.period-icon{width:38px;height:38px;flex:0 0 auto}.period-icon svg{width:20px;height:20px}.period-chip label{min-width:0}.period-chip .period-year-control{width:62px;flex:0 0 62px}.period-chip .period-year-control select{width:62px}.period-chip label:last-of-type{flex:1}.period-chip label:last-of-type select{width:118px}.period-divider{width:1px;height:29px;background:var(--line);flex:0 0 auto}.period-chip select{min-height:27px!important;background-image:none!important;padding:0!important;font-size:var(--text-sm)!important}.period-state{margin-right:0}.content .year-selector{display:none!important}

.resident-hero{min-height:116px!important;padding:20px 24px!important;margin-bottom:16px!important;border-radius:18px!important;background:radial-gradient(circle at 8% 50%,#ffffff16 0 9%,transparent 9.2%),linear-gradient(135deg,#4d45b2,#7469e8)!important;box-shadow:0 14px 34px #5147bd20}.resident-hero:before{opacity:.3}.resident-hero h2{font-size:1.55rem!important;margin-top:6px!important}.resident-hero p{color:#eeeaff!important}.hero-unit{width:82px!important;min-height:70px!important;border-color:#ffffff33!important;background:#ffffff12!important}.hero-unit b{font-size:1.65rem!important}

.preview-summary{min-height:0;padding:12px 15px;gap:14px;margin-bottom:14px}.preview-summary>div{min-width:0}.preview-summary span{font-size:var(--text-xs)}.preview-summary strong{font-size:var(--text-md);display:inline-block;margin-top:2px}.preview-summary .balanced{padding:5px 9px;font-size:var(--text-xs);white-space:nowrap}.period-calendar+.preview-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.period-calendar+.preview-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:8px}.period-calendar+.preview-summary>div+div{border-right:1px solid #ded9fa}

.table-head>.primary-button{margin-right:auto;white-space:nowrap}.resource-toolbar>.primary-button,.table-head>.primary-button{min-width:132px}.report-tabs{gap:8px}.report-tab{min-height:62px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:9px}.report-tab i{display:grid;place-items:center;margin:0;width:24px;height:24px}.report-tab svg{width:20px;height:20px}.report-tab span{font-size:var(--text-sm);font-weight:700}.statement-row b,.account-transaction b,.public-record b{font-size:var(--text-sm)}.statement-row small,.account-transaction small,.public-record small{font-size:var(--text-xs)}

@media(max-width:1100px) and (min-width:961px){.period-chip{min-width:320px}.period-chip .period-year-control{width:56px;flex-basis:56px}.period-chip .period-year-control select{width:56px}}
@media(max-width:960px){.manager-card{grid-template-columns:40px minmax(0,1fr) auto}.manager-card>div:nth-child(2){display:block}.manager-card button{display:grid}.period-chip{min-width:0}}
@media(max-width:640px){:root{--text-xs:.8125rem;--text-sm:.875rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.15rem}.top-actions{grid-template-columns:1fr auto auto}.period-chip{grid-column:1/2;min-width:0;width:100%;height:56px;padding:6px 8px;gap:7px}.period-icon{display:none}.period-chip .period-year-control{width:57px;flex-basis:57px}.period-chip .period-year-control select{width:57px}.period-chip label:last-of-type select{width:102px}.period-divider{height:25px}.resident-hero{min-height:104px!important;padding:17px 18px!important}.resident-hero h2{font-size:1.2rem!important}.hero-unit{width:68px!important;min-height:62px!important}.period-calendar+.preview-summary{grid-template-columns:1fr 1fr}.period-calendar+.preview-summary .balanced{grid-column:1/-1;text-align:center;margin:0}.report-tabs{display:flex;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.report-tab{min-width:138px;flex:0 0 auto;scroll-snap-align:start}.table-head{align-items:flex-start;gap:10px;flex-wrap:wrap}.table-head>.primary-button{width:100%;margin:4px 0 0}}
@media(max-width:390px){.top-actions{grid-template-columns:1fr auto}.notification-button{grid-column:2}.period-chip{grid-column:1}.top-actions .primary-button{grid-column:1/-1}.period-chip label:last-of-type select{width:92px}}

/* Identity, financial figures, and stable panel navigation */
.manager-card{grid-template-columns:40px minmax(0,1fr);align-items:center;row-gap:10px}.profile-identity{min-width:0}.profile-identity strong{font-size:var(--text-sm);line-height:1.65;overflow-wrap:anywhere}.profile-identity small{font-size:var(--text-xs);line-height:1.65;margin-top:1px}.profile-actions{grid-column:1/-1;width:100%;justify-content:flex-end;padding-top:9px;border-top:1px solid var(--line)}
.account-transaction>strong,.statement-row>.entry-amount,.statement-row>b,.charge-line>b{font-size:1rem!important;font-weight:800;white-space:nowrap}.account-transaction>strong{font-size:var(--text-sm)!important}.account-transaction>strong,.statement-row>.entry-amount{min-width:145px;text-align:left}.account-transaction b,.statement-row b{font-size:var(--text-sm)!important}.account-transaction{padding-block:15px}.statement-row{padding-block:15px}.resident-charge-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.resident-charge-summary>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-inline:8px}.resident-charge-summary>div+div{border-right:1px solid #ded9fa}.resident-charge-summary strong{font-size:1rem}
#primaryAction{min-width:138px}.nav-item[aria-busy="true"]{opacity:.65;cursor:wait}
@media(min-width:641px){#primaryAction.is-hidden{display:flex!important;visibility:hidden;pointer-events:none}}
@media(max-width:1100px) and (min-width:961px){.manager-card{grid-template-columns:1fr}.profile-actions{display:none}}
@media(max-width:960px){.manager-card{grid-template-columns:40px minmax(0,1fr)}.profile-actions{grid-column:1/-1;display:flex}.profile-identity{display:block!important}}
@media(max-width:640px){.account-transaction>strong,.statement-row>.entry-amount{min-width:0;text-align:right}.resident-charge-summary{grid-template-columns:1fr}.resident-charge-summary>div+div{border-right:0;border-top:1px solid #ded9fa;padding-top:8px}#primaryAction.is-hidden{display:none!important}}

/* Semantic typography roles shared by public records and settings */
:root{--type-caption:var(--text-xs);--type-body:var(--text-sm);--type-value:var(--text-md);--type-title:var(--text-lg)}
.public-record{padding:13px 0;gap:5px 14px;align-items:center}.public-record b{font-size:var(--type-body)!important;font-weight:800;line-height:1.7;color:var(--ink)}.public-record a,.public-record>span{font-size:var(--type-value)!important;font-weight:750;line-height:1.7;color:var(--success);text-decoration:none;font-variant-numeric:tabular-nums;letter-spacing:.1px}.public-record small{grid-column:1/-1;font-size:var(--type-body)!important;line-height:1.75;color:var(--muted)}
.resident-building-info .panel-head{margin-bottom:8px}.resident-building-info .panel-head h3{font-size:var(--type-title)}.resident-building-info .panel-head p{font-size:var(--type-body)!important}.muted-copy{font-size:var(--type-body)!important;line-height:1.8}
.document-list a{font-size:var(--type-body)!important}.document-list small{font-size:var(--type-caption)!important}.document-list>div{min-height:54px;padding:10px 12px}.record-row input,.record-row select,.document-upload input{font-size:var(--type-body)!important}.settings-heading h2{font-size:var(--type-title)}.settings-heading p{font-size:var(--type-body)!important}
@media(max-width:640px){.public-record{grid-template-columns:1fr;gap:2px;padding:12px 0}.public-record a,.public-record>span{justify-self:start}.public-record small{grid-column:1}.resident-building-info .panel{padding:18px}}

/* Quick actions remain legible regardless of label length */
.dashboard-grid>section.panel{container-type:inline-size}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.quick-action{min-width:0;min-height:62px;padding:10px 12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:right;white-space:nowrap;line-height:1.5;font-size:var(--text-sm)!important;font-weight:700}.quick-action span{width:36px;height:36px;margin:0;flex:0 0 36px;border-radius:10px;display:grid;place-items:center}.quick-action:focus-visible{outline:3px solid #6157d928;outline-offset:2px}
@container(max-width:560px){.quick-actions{grid-template-columns:1fr}.quick-action{width:100%}}
@media(max-width:640px){.quick-actions{grid-template-columns:1fr}.quick-action{width:100%}}

/* Product-wide type hierarchy based on the financial-period reference page */
:root{--weight-regular:450;--weight-medium:550;--weight-semibold:650;--weight-bold:750;--weight-display:800}body{font-weight:var(--weight-regular);font-synthesis:none}.page-heading h1{font-weight:var(--weight-display)}.section-intro h2,.settings-heading h2,.modal-head h2,.resident-hero h2{font-weight:var(--weight-bold)}.panel-head h3,.table-head h3,.submission-top h3,.category-card h3{font-weight:700}.panel-head p,.table-head p,.section-intro p,.settings-heading p{font-weight:var(--weight-regular)}
.primary-button,.nav-item.active,.period-close{font-weight:var(--weight-semibold)}.ghost-button,.head-action,.link-button,.text-button,.quick-action{font-weight:var(--weight-medium)!important}.period-chip select,.period-state,.period-select b,.period-month.placeholder h3{font-weight:var(--weight-semibold)}.period-index,.period-month.placeholder span{font-weight:700}.period-metrics small,.status-pill,.role-badge{font-weight:var(--weight-medium)}
.stat-card strong,.balance-value,.request-amount strong{font-weight:700}.stat-card p,.balance-head p,.request-amount small{font-weight:var(--weight-regular)}.legend-row b,.activity strong,.activity-amount b,.charge-total b,.charge-line b,.collection-row strong{font-weight:var(--weight-semibold)}
.data-table th{font-weight:var(--weight-medium)}.data-table td{font-weight:var(--weight-regular)}.data-table td b,.unit-cell b{font-weight:var(--weight-semibold)}.account-transaction b,.statement-row b,.public-record b{font-weight:var(--weight-semibold)!important}.account-transaction>strong,.statement-row>.entry-amount,.statement-row>b,.charge-line>b{font-weight:var(--weight-semibold)!important}.account-transaction small,.statement-row small,.public-record small{font-weight:var(--weight-regular)}
.public-record a,.public-record>span{font-weight:var(--weight-medium)}.request-facts b,.request-actor b,.submission-title b,.review-effect b,.resource-toolbar-copy b,.settings-summary b,.history-item b{font-weight:var(--weight-semibold)}.request-facts small,.request-actor,.submission-title small{font-weight:var(--weight-regular)}.profile-identity strong{font-weight:var(--weight-semibold)}.profile-identity small{font-weight:var(--weight-regular)}

/* Shared empty-result states */
.empty-row td{padding:0!important;background:#fff!important}.empty-state{width:100%;min-height:190px;padding:34px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state .empty-icon{width:50px;height:50px;border-radius:15px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:0}.empty-state .empty-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.empty-state h3{margin:13px 0 3px;font-size:var(--text-lg);font-weight:700;color:var(--ink)}.empty-state p{max-width:470px;margin:0!important;color:var(--muted)!important;font-size:var(--text-sm)!important;line-height:1.9}.empty-state.compact{min-height:130px;padding:20px 12px}.empty-state.compact .empty-icon{width:42px;height:42px;border-radius:13px}.empty-state.compact h3{font-size:var(--text-sm);margin-top:10px}.empty-state.compact p{font-size:var(--text-xs)!important}.empty-panel{padding:0!important;grid-column:1/-1}.category-grid>.empty-state{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px}.activity-list>.empty-state,.legend>.empty-state{border:1px dashed var(--line);border-radius:14px;background:#fbfaff}.table-panel .empty-state{border-top:1px solid var(--line)}
@media(max-width:640px){.empty-state{min-height:165px;padding:27px 16px}.empty-state h3{font-size:var(--text-md)}.empty-state p{font-size:var(--text-xs)!important}.empty-state .empty-icon{width:46px;height:46px}}

/* Shared Persian table pagination */
.data-table tr[hidden]{display:none}.table-pagination{min-height:64px;padding:12px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:12px;background:#fff}.table-pagination button{min-width:96px;min-height:40px;padding:7px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:var(--text-sm)!important;font-weight:var(--weight-medium);cursor:pointer;transition:border-color .2s,background .2s,color .2s}.table-pagination button:hover:not(:disabled){border-color:#c2bce7;background:var(--accent-soft);color:var(--accent)}.table-pagination button:disabled{opacity:.42;cursor:not-allowed}.table-pagination .page-status{min-width:112px;text-align:center;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}
@media(max-width:480px){.table-pagination{padding-inline:10px;gap:7px}.table-pagination button{min-width:76px;padding-inline:9px}.table-pagination .page-status{min-width:92px;font-size:var(--text-xs)}}

/* One Persian numeral treatment for every monetary value */
.financial-value{font-family:inherit;font-variant-numeric:normal;font-feature-settings:"tnum" 0;letter-spacing:normal;word-spacing:normal;white-space:nowrap}.data-table td.amount-credit,.data-table td.amount-positive{font-size:var(--text-sm);font-weight:var(--weight-semibold)}

/* Equal-height financial-period cards */
.period-month{height:148px;min-height:148px;display:flex;flex-direction:column}.period-month .period-select{flex:1 1 auto;min-height:70px}.period-month .period-metrics{flex:0 0 auto}.period-month .period-close{flex:0 0 35px;margin-top:auto}.period-month.placeholder{height:148px;min-height:148px}
@media(max-width:430px){.period-month,.period-month.placeholder{height:148px;min-height:148px}}

/* Compact internals keep six-column period cards readable on laptops */
@media(min-width:1101px){.period-select{padding:10px 8px;gap:5px}.period-index{width:25px;height:25px;border-radius:8px}.period-select>span:nth-child(2){min-width:0}.period-select b{font-size:.8125rem}.period-select small{font-size:.6875rem!important;white-space:nowrap}.period-select .status-pill{padding:3px 6px;font-size:.6875rem}.period-select .status-pill:before{width:4px;height:4px}.period-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0 8px 8px}.period-metrics small{min-width:0;padding:3px 4px;font-size:.6875rem!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-close{font-size:.75rem!important;padding-inline:4px}}

/* One period-card structure; state is communicated only by the footer */
.period-month.placeholder{padding:0;background:#fff;color:var(--ink);border-style:solid}.period-month .period-select,.period-month.placeholder>.period-select{width:100%;display:grid;grid-template-columns:1fr;place-items:center;text-align:center;padding:12px;border:0;background:transparent}.period-card-heading{min-width:0;display:grid!important;gap:3px;text-align:center}.period-card-heading b{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.period-card-heading small{color:var(--muted);white-space:nowrap}.period-month.placeholder .period-card-heading b,.period-month.placeholder .period-card-heading small{color:#aaa7b3}.period-month.placeholder .period-select{cursor:default}.period-footer{width:100%;min-height:35px;flex:0 0 35px;border-top:1px solid #e7e4ef;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:var(--weight-semibold)}.period-finished{background:#f8f7fa;color:#77728a}.period-not-started{background:#faf9fc;color:#aaa7b3}.period-month.placeholder .period-metrics small{color:#aaa7b3;background:#f8f7fa}.period-month .period-close{flex:0 0 35px}
@media(min-width:1101px){.period-month .period-select,.period-month.placeholder>.period-select{padding:10px 8px}.period-card-heading b{font-size:.8125rem}.period-card-heading small{font-size:.6875rem!important}}

/* Neutralize the removed month-number badge on future-period headings */
.period-month.placeholder .period-card-heading{width:auto;height:auto;min-width:0;border-radius:0;background:transparent;place-items:initial;font-size:inherit;flex:initial}

/* Consistent close glyphs, notification state, and placeholder metric alignment */
.drawer-header>.icon-button,.modal-head>.icon-button{font-size:1.5rem!important;font-weight:550;line-height:1}.remove-record,.delete-expense-attachment,.delete-submission-attachment{font-size:1.2rem!important;line-height:1}.period-month.placeholder>.period-metrics{display:flex;align-items:initial;gap:6px;padding:0 13px 11px}
@media(min-width:1101px){.period-month.placeholder>.period-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:initial;gap:4px;padding:0 8px 8px}}

/* One receipt can be allocated across owner and occupant accounts */
.report-payment-split{border:1px solid #ddd9f2;border-radius:16px;padding:18px;background:#faf9ff}.payment-split-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.payment-split-head b,.payment-split-head small{display:block}.payment-split-head b{font-size:var(--text-md);color:var(--ink)}.payment-split-head small{margin-top:4px;color:var(--muted);font-size:var(--text-sm);line-height:1.7}.payment-split-head>strong{flex:0 0 auto;padding:8px 12px;border-radius:10px;background:#eeebff;color:var(--accent);font-size:var(--text-sm);white-space:nowrap}.payment-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-account-field{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.payment-account-field>span{display:block;margin-bottom:9px;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.payment-account-field .money-input{margin:0}.payment-account-field>small{display:block;min-height:2.9em;margin-top:8px;color:var(--muted);font-size:var(--text-xs);line-height:1.7}.payment-allocation-review{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#faf9ff}.payment-allocation-review span{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:var(--text-sm)}.payment-allocation-review span b{color:var(--ink)}.payment-allocation-review>strong{color:var(--accent);font-size:var(--text-sm);white-space:nowrap}
.report-single-amount>label{display:block}.report-single-amount.is-charge-payment{border:1px solid #ddd9f2;border-radius:16px;padding:18px;background:#faf9ff}.report-single-amount.is-charge-payment .single-payment-field{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.report-single-amount.is-charge-payment .single-payment-field>span{display:block;margin-bottom:9px;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.report-single-amount.is-charge-payment .single-payment-field>small{display:block;margin-top:8px;color:var(--muted);font-size:var(--text-xs);line-height:1.7}.single-payment-head{justify-content:flex-start}
@media(max-width:640px){.report-payment-split,.report-single-amount.is-charge-payment{padding:14px}.payment-split-head{align-items:flex-start;flex-direction:column;gap:10px}.payment-split-grid,.payment-allocation-review{grid-template-columns:1fr}.payment-split-head>strong{align-self:stretch;text-align:center}.payment-account-field>small{min-height:0}.payment-allocation-review>strong{border-top:1px solid var(--line);padding-top:9px}}

/* Prevent iOS focus/double-tap zoom without disabling accessible pinch zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,[role="button"],input,select,textarea{touch-action:manipulation}
@media(max-width:960px),(pointer:coarse){input,select,textarea{font-size:16px!important}}

/* Compact financial report modal and report-type carousel */
#paymentModal{width:680px;max-height:min(96dvh,780px)}#paymentModal form{padding:16px 20px}#paymentModal .modal-head{margin-bottom:10px}#paymentModal .form-grid{gap:8px}#paymentModal .form-note{margin-top:8px;padding:8px 10px}#paymentModal .modal-actions{margin-top:8px;padding-top:8px}.report-type-carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 1px 4px;scrollbar-width:thin}.report-type-card{flex:1 0 145px;scroll-snap-align:start;min-height:58px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);padding:6px 9px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;text-align:right;column-gap:8px;cursor:pointer;transition:.2s}.report-type-card i{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-style:normal;font-size:16px}.report-type-card span{font-size:var(--text-sm);font-weight:700;color:var(--ink);white-space:nowrap}.report-type-card small{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.report-type-card.active{border-color:var(--accent);background:#f7f5ff;box-shadow:0 0 0 3px #6157d912}.report-type-card.active i{background:var(--accent);color:#fff}.report-type-card:disabled{cursor:default;opacity:.78}.report-single-amount.is-charge-payment{padding:9px 11px;border-radius:13px}.report-single-amount.is-charge-payment .single-payment-field{padding:0;border:0;background:transparent}.report-single-amount.is-charge-payment .single-payment-field>span{margin-bottom:5px}.report-single-amount.is-charge-payment .single-payment-field>small{margin-top:4px}.report-payment-split{padding:10px 11px;border-radius:13px}.report-payment-split .payment-split-head{margin-bottom:7px}.report-payment-split .payment-split-head small{display:none}.report-payment-split .payment-account-field{padding:8px}.compact-file-field{display:grid;grid-template-columns:minmax(145px,.65fr) minmax(190px,1fr) auto;align-items:center;gap:8px;padding:7px 9px}.compact-file-field>span,.compact-file-field>small{margin:0!important}.compact-file-field input[type=file]{min-width:0;padding:1px 0}.compact-file-field>small{white-space:nowrap}.manager-attachment-tools{margin:12px 20px 0;padding:10px 12px;border:1px dashed #d8d4ec;border-radius:12px;background:#faf9ff;display:flex;align-items:center;justify-content:space-between;gap:10px}.manager-attachment-tools>b{font-size:var(--text-xs);color:var(--muted)}.manager-attachment-tools>div{display:flex;gap:7px}.manager-attachment-tools label{cursor:pointer}.manager-attachment-tools input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.manager-attachment-tools span{min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--accent);display:flex;align-items:center;font-size:var(--text-xs);font-weight:700}.manager-attachment-tools label:hover span{border-color:var(--accent);background:var(--accent-soft)}
@media(max-width:640px){#paymentModal{max-height:94dvh}#paymentModal form{padding:16px}.report-type-card{flex-basis:132px}.compact-file-field{grid-template-columns:1fr}.compact-file-field>small{white-space:normal}.manager-attachment-tools{margin-inline:14px;align-items:stretch;flex-direction:column}.manager-attachment-tools>div{display:grid;grid-template-columns:1fr 1fr}.manager-attachment-tools span{justify-content:center}.payment-split-head small{display:none}}

/* Quiet boot state, understated examples, and receipt-style attachment controls */
.app-booting #loginScreen,.app-booting #appShell{visibility:hidden}
input::placeholder,textarea::placeholder{color:#aaa8b3!important;opacity:.62;font-weight:400!important}
.report-attachment-picker{min-height:66px;padding:10px 14px;border:1px dashed #d8d4ec;border-radius:13px;background:#fbfaff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px}.report-attachment-picker>b{color:var(--muted);font-size:var(--text-sm);font-weight:700}.report-attachment-actions{display:flex;align-items:center;gap:8px}.report-attachment-actions label{margin:0!important;cursor:pointer}.report-attachment-actions input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.report-attachment-actions span{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;box-shadow:0 2px 8px #29234008;white-space:nowrap}.report-attachment-actions label:hover span{border-color:var(--accent);background:var(--accent-soft)}.report-attachment-picker>small{grid-column:1/-1;color:#9a97a8;font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-attachment-picker>small:empty{display:none}.report-attachment-picker.has-files{border-color:#bdb7ea;background:#f8f7ff}.report-attachment-picker.has-files>small{color:var(--success)}#paymentModal .report-expense-field textarea{min-height:54px;height:54px}
@media(max-width:640px){.report-attachment-picker{grid-template-columns:1fr;align-items:stretch}.report-attachment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-attachment-actions label:only-child{grid-column:1/-1}.report-attachment-picker>small{white-space:normal}}
.modal-inline-error{margin:-2px 0 10px;padding:9px 12px;border:1px solid #f0c7c4;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);line-height:1.7}

/* One attachment picker pattern across manager review, manager expense, and resident reports. */
.attachment-upload-tools{min-height:66px;padding:10px 14px;border:1px dashed #d8d4ec;border-radius:13px;background:#fbfaff;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px}.attachment-upload-tools>b{color:var(--muted);font-size:var(--text-sm);font-weight:700}.attachment-upload-actions{display:flex;align-items:center;gap:8px}.attachment-upload-actions label{margin:0!important;cursor:pointer}.attachment-upload-actions input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.attachment-upload-actions span{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;box-shadow:0 2px 8px #29234008;white-space:nowrap}.attachment-upload-actions label:hover span{border-color:var(--accent);background:var(--accent-soft)}.attachment-upload-summary{flex:0 0 100%;color:#9a97a8;font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-upload-summary:empty{display:none}.attachment-upload-tools.has-files{border-color:#bdb7ea;background:#f8f7ff}.attachment-upload-tools.has-files>.attachment-upload-summary{color:var(--success)}.manager-attachment-tools.attachment-upload-tools{display:flex}.manager-attachment-tools.attachment-upload-tools>div{display:flex}.manager-attachment-tools.attachment-upload-tools span{min-height:40px;padding-inline:16px;font-size:var(--text-sm)}
/* Form labels must not override the attachment button used by manager review cards. */
.form-grid .attachment-upload-tools .attachment-upload-actions label>span{display:flex;margin:0;color:var(--accent);font-size:var(--text-sm);line-height:1.75}
@media(max-width:480px){.attachment-upload-tools{align-items:stretch;flex-direction:column}.attachment-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-upload-actions label:only-child{grid-column:1/-1}.attachment-upload-actions span{padding-inline:8px}.manager-attachment-tools.attachment-upload-tools>div{display:grid}}

/* Unit collection lives directly in the resident welcome hero. */
.resident-hero{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:14px;min-height:180px!important}.hero-copy,.hero-collection-list{position:relative;z-index:1}.hero-copy{min-width:0}.hero-collection-list{min-width:0;display:flex;align-items:center;gap:7px;direction:rtl;overflow-x:auto;overflow-y:hidden;padding:8px 3px 11px;scrollbar-width:none}.hero-collection-list::-webkit-scrollbar{display:none}.hero-collection-unit{--unit-size:82px;position:relative;flex:0 0 var(--unit-size);width:var(--unit-size);height:var(--unit-size);border:2px solid #ffffff73;border-radius:50%;color:#fff;display:grid;place-content:center;text-align:center;outline:0;box-shadow:inset 0 1px 0 #ffffff55,0 8px 18px #2820712b;transition:transform .18s,box-shadow .18s}.hero-collection-unit.is-debt{background:linear-gradient(145deg,#ff7f7a,#d94f59)}.hero-collection-unit.is-settled{background:linear-gradient(145deg,#40c99a,#16846f)}.hero-collection-unit b{font-size:1.22rem;line-height:1.05;font-weight:var(--weight-bold)}.hero-collection-unit small{margin-top:7px;color:#fff;font-size:.73rem;font-weight:var(--weight-semibold);line-height:1;white-space:nowrap}.hero-collection-unit.is-current{--unit-size:92px;border:4px solid #fff;box-shadow:0 0 0 3px #ffffff2b,0 12px 24px #241d6d3d}.hero-collection-unit.is-current b{font-size:1.45rem}.hero-collection-unit.is-current small{margin-top:7px;font-size:.77rem}.hero-collection-unit:focus-visible{transform:translateY(-3px);box-shadow:0 0 0 4px #fff,0 10px 22px #241d6d45}
@media(max-width:980px){.resident-hero{grid-template-columns:minmax(205px,.42fr) minmax(0,1.58fr);gap:12px;min-height:176px!important}.hero-collection-unit{--unit-size:70px}.hero-collection-unit.is-current{--unit-size:80px}}
@media(max-width:720px){.resident-hero{grid-template-columns:1fr;gap:7px;min-height:auto!important}.hero-copy h2{margin-top:3px!important}.hero-collection-list{padding:5px 5px 8px}.hero-collection-unit{flex-basis:58px;width:58px;height:58px}.hero-collection-unit.is-current{flex-basis:68px;width:68px;height:68px}}

/* Requests stay as compact rows; controls and evidence open only when needed. */
.manager-request-list,.resident-request-list{grid-template-columns:1fr;gap:9px}.submission-cards>.empty-panel{grid-column:1/-1}.request-row{padding:0;overflow:hidden;border-radius:13px}.request-row-details{width:100%}.request-row-summary{list-style:none;display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(190px,1fr) minmax(125px,.55fr) auto auto;align-items:center;gap:16px;padding:13px 16px;cursor:pointer;min-height:76px}.request-row-summary::-webkit-details-marker{display:none}.request-row-summary:hover{background:#fbfaff}.request-row-identity{display:flex;align-items:center;gap:11px;min-width:0}.request-row-identity .stat-icon{flex:0 0 40px;font-style:normal}.request-row-identity b,.request-row-identity small,.request-row-subject b,.request-row-subject small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-row-identity b,.request-row-subject b{color:var(--ink);font-size:var(--text-md)}.request-row-identity small,.request-row-subject small{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.request-row-money{color:var(--ink);font-size:var(--text-md);white-space:nowrap}.request-row-toggle{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.request-row-toggle i{font-size:1.15rem;font-style:normal;transition:transform .18s}.request-row-details[open]>.request-row-summary{background:#faf9ff}.request-row-details[open] .request-row-toggle i{transform:rotate(180deg)}.request-expanded{border-top:1px solid var(--line);padding:0 0 16px;background:#fff}.request-expanded .request-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.request-expanded .request-facts>div{padding:11px 16px}.request-expanded .request-actor{padding:12px 16px}.request-expanded>.attachment-list,.request-expanded>.review-effect,.request-expanded>.approval-options,.request-expanded>.submission-actions,.request-expanded>.rejection-reason,.request-expanded>.manager-attachment-tools{margin-inline:16px}.approval-options{display:grid}.approval-settlement-field.is-hidden{display:none!important}
@media(max-width:900px){.request-row-summary{grid-template-columns:minmax(210px,1.2fr) minmax(150px,1fr) auto auto}.request-row-subject{display:none}.request-expanded .request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.request-row-summary{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:12px 13px}.request-row-identity{grid-column:1/-1}.request-row-money{grid-column:1}.request-row-summary>.status-pill{justify-self:end}.request-row-toggle{grid-column:1/-1;justify-content:center;border-top:1px solid var(--line);padding-top:9px}.request-expanded .request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.request-expanded>.attachment-list,.request-expanded>.review-effect,.request-expanded>.approval-options,.request-expanded>.submission-actions,.request-expanded>.rejection-reason,.request-expanded>.manager-attachment-tools{margin-inline:13px}}

/* Printable elevator notice for unit charge balances. */
.charge-notice{max-width:820px;margin:0 auto;padding:34px;border-radius:22px;overflow:hidden}.charge-notice-head{text-align:center;padding-bottom:24px;border-bottom:2px solid var(--ink)}.charge-notice-head>span{display:block;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.charge-notice-head h2{margin:7px 0 5px;font-size:2rem;color:var(--ink)}.charge-notice-head p{margin:0;color:var(--muted);font-size:var(--text-sm)}.charge-notice-units{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;padding:18px 0}.charge-notice-unit{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;border-bottom:1px solid var(--line);font-size:var(--text-lg)}.charge-notice-unit>span{font-weight:var(--weight-semibold);color:var(--ink)}.charge-notice-unit>strong{font-size:var(--text-lg);white-space:nowrap}.charge-notice-unit.has-debt>strong{color:var(--danger)}.charge-notice-unit.is-settled>strong{color:var(--success)}.charge-notice-guide{margin-top:10px;padding:22px 24px;border-radius:16px;background:var(--accent-soft);text-align:center}.charge-notice-guide h3{margin:0 0 7px;color:var(--ink);font-size:var(--text-lg)}.charge-notice-guide>p{margin:0;color:#59566c;line-height:1.9}.charge-notice-guide>a{display:inline-block;margin:9px 0;color:var(--accent-dark);font-size:var(--text-md);font-weight:var(--weight-bold);direction:ltr}.charge-notice-login-help{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 22px;margin-top:8px;padding-top:12px;border-top:1px solid #cec9ec}.charge-notice-login-help p{margin:0;color:#59566c;font-size:var(--text-sm);line-height:1.8}
.charge-notice-account{margin:0 0 10px;padding:14px 18px;border:1px solid #d8d4ef;border-radius:16px;background:#faf9ff}.charge-notice-account h3{margin:0 0 10px;color:var(--ink);font-size:var(--text-md);text-align:center}.charge-notice-account>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 28px}.charge-notice-account span{display:grid;gap:2px;text-align:center}.charge-notice-account small{color:var(--muted);font-size:var(--text-xs)}.charge-notice-account b{color:var(--ink);font-size:var(--text-sm);white-space:nowrap}
@media(max-width:720px){.charge-notice{padding:22px 18px}.charge-notice-head h2{font-size:1.55rem}.charge-notice-units{grid-template-columns:1fr}.charge-notice-unit{min-height:56px}}
@media print{
  @page{size:A4 landscape;margin:10mm}
  .toast{display:none!important}
  html,body,.app-shell,.main,.content{width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}
  #content.charge-notice-active>.report-heading,#content.charge-notice-active>.report-tabs{display:none!important}
  #content.charge-notice-active{padding:0!important}
  #content.charge-notice-active #reportBody,.charge-notice{break-inside:avoid!important;page-break-inside:avoid!important;page-break-after:avoid!important}
  .charge-notice{max-width:none;max-height:190mm;margin:0;padding:0;border:0!important;border-radius:0;box-shadow:none!important}
  .charge-notice-head{padding-bottom:4mm}
  .charge-notice-head h2{font-size:22pt}
  .charge-notice-head>span,.charge-notice-head p{font-size:10pt}
  .charge-notice-units{grid-template-columns:repeat(5,minmax(0,1fr));gap:4mm;padding:4mm 0}
  .charge-notice-unit{flex-direction:column;justify-content:center;gap:1mm;min-height:23mm;padding:3mm;border:1px solid #ccc;border-radius:3mm;text-align:center;font-size:12pt;break-inside:avoid}
  .charge-notice-unit>strong{font-size:12pt}
  .charge-notice-account{display:flex;align-items:center;justify-content:center;gap:5mm;margin:0 0 2mm;padding:2.5mm 4mm;border:1px solid #c8c4df;border-radius:3mm;background:#faf9ff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
  .charge-notice-account h3{margin:0;white-space:nowrap;font-size:11pt}.charge-notice-account>div{gap:2mm 6mm}.charge-notice-account span{display:flex;align-items:baseline;gap:1.5mm}.charge-notice-account small{font-size:8pt}.charge-notice-account b{font-size:9pt}
  .charge-notice-guide{margin-top:2mm;padding:4mm;border:1px solid #bdb8dc;background:#f3f1ff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
  .charge-notice-guide h3{font-size:13pt}.charge-notice-guide>p,.charge-notice-login-help p{font-size:9.5pt;line-height:1.5}.charge-notice-guide>a{margin:2mm 0;font-size:10pt;color:#242238}.charge-notice-login-help{margin-top:2mm;padding-top:2mm}
}
