:root{--bg-primary:#f0f4f8;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-glass:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--accent:#6366f1;--accent-light:#818cf8;--accent-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--success:#10b981;--success-bg:rgba(16,185,129,.1);--success-gradient:linear-gradient(135deg,#10b981 0%,#059669 100%);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.1);--warning-gradient:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);--danger:#ef4444;--danger-gradient:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);--info-gradient:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);--shadow-sm:0 2px 8px rgba(0,0,0,.04);--shadow:0 4px 20px rgba(0,0,0,.08);--shadow-lg:0 10px 40px rgba(0,0,0,.12);--shadow-xl:0 20px 60px rgba(0,0,0,.15);--shadow-color:0 10px 40px rgba(99,102,241,.25);--radius-sm:10px;--radius:16px;--radius-lg:24px;--radius-xl:32px;--transition:all .3s cubic-bezier(.4,0,.2,1)}
[data-theme="dark"]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-glass:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--border-color:#475569;--shadow-sm:0 2px 8px rgba(0,0,0,.2);--shadow:0 4px 20px rgba(0,0,0,.3);--shadow-lg:0 10px 40px rgba(0,0,0,.4);--shadow-xl:0 20px 60px rgba(0,0,0,.5);--shadow-color:0 10px 40px rgba(99,102,241,.4)}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Vazirmatn',Tahoma,sans-serif}
body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background .4s,color .4s}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--accent-gradient);border-radius:10px}
.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
.login-box{background:var(--bg-glass);border-radius:var(--radius-xl);padding:50px 40px;width:100%;max-width:440px;box-shadow:var(--shadow-xl);animation:slideUp .6s cubic-bezier(.4,0,.2,1)}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.login-box .logo-icon{text-align:center;font-size:70px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}
.login-box h1{text-align:center;margin-bottom:8px;font-size:28px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.login-box .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:35px;font-size:14px;font-weight:500}
.login-info{margin-top:20px;padding:15px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);line-height:1.8}
.form-group{margin-bottom:20px;position:relative}
.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:14px;font-weight:600}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:15px;background:var(--bg-tertiary);color:var(--text-primary);transition:var(--transition);font-family:inherit}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(99,102,241,.1)}
.btn{padding:12px 22px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:inherit;text-decoration:none}
.btn-primary{background:var(--accent-gradient);color:#fff;width:100%;padding:14px;font-size:15px;box-shadow:var(--shadow-color)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 50px rgba(99,102,241,.4)}
.btn-icon{background:var(--bg-tertiary);color:var(--text-primary);padding:10px 16px;font-size:13px;border:1px solid var(--border-color)}
.btn-icon:hover{background:var(--accent-gradient);color:#fff;border-color:transparent;transform:translateY(-2px)}
.btn-success{background:var(--success-gradient);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,185,129,.4)}
.btn-warning{background:var(--warning-gradient);color:#fff}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,158,11,.4)}
.btn-danger{background:var(--danger-gradient);color:#fff;padding:8px 14px;font-size:13px}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(239,68,68,.4)}
.btn-sm{padding:7px 14px;font-size:12px}
.login-error{background:rgba(239,68,68,.1);color:var(--danger);padding:12px;border-radius:var(--radius-sm);margin-bottom:15px;text-align:center;font-size:14px;border:1px solid rgba(239,68,68,.2);font-weight:500}
.header{background:var(--bg-glass);border-bottom:1px solid var(--border-color);padding:16px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}
.header-right{display:flex;align-items:center;gap:14px}
.header-right .building-icon{font-size:32px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.header-right h2{font-size:22px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.datetime-box{background:var(--bg-tertiary);padding:10px 18px;border-radius:var(--radius);font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:10px;border:1px solid var(--border-color);font-weight:500}
.datetime-box i{color:var(--accent)}
.user-badge{background:var(--accent-gradient);color:#fff;padding:8px 18px;border-radius:30px;font-size:13px;font-weight:700;box-shadow:var(--shadow-color);display:flex;align-items:center;gap:6px}
.main-container{display:flex;gap:24px;padding:24px;max-width:1700px;margin:0 auto}
.news-column{width:25%;display:flex;flex-direction:column;gap:20px;position:sticky;top:90px;height:fit-content;max-height:calc(100vh - 110px);overflow-y:auto}
.units-column{width:75%;display:flex;flex-direction:column;gap:24px}
.glass-card{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);transition:var(--transition)}
.glass-card:hover{box-shadow:var(--shadow-lg)}
.section-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:18px;font-weight:700}
.section-title i{font-size:24px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tabs-container{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.tabs-header{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);overflow-x:auto}
.tab-btn{flex:1;padding:16px 18px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;position:relative;white-space:nowrap}
.tab-btn i{font-size:16px}
.tab-btn::before{content:'';position:absolute;bottom:0;left:50%;width:0;height:3px;background:var(--accent-gradient);transform:translateX(-50%);transition:var(--transition);border-radius:3px 3px 0 0}
.tab-btn:hover{color:var(--accent);background:var(--bg-glass)}
.tab-btn.active{color:var(--accent);background:var(--bg-glass)}
.tab-btn.active::before{width:60%}
.tab-btn .tab-badge{background:var(--accent-gradient);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;min-width:22px}
.tab-content{padding:24px;display:none;animation:tabFade .3s ease}
.tab-content.active{display:block}
@keyframes tabFade{from{opacity:0}to{opacity:1}}
.news-form{background:var(--bg-tertiary);padding:18px;border-radius:var(--radius);margin-bottom:18px;border:1px solid var(--border-color)}
.news-form input,.news-form textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);margin-bottom:10px;font-size:14px;font-family:inherit;transition:var(--transition)}
.news-form input:focus,.news-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.news-form textarea{resize:vertical;min-height:80px}
.news-item{background:var(--bg-tertiary);padding:16px;border-radius:var(--radius);margin-bottom:12px;border-right:4px solid var(--accent);transition:var(--transition)}
.news-item:hover{transform:translateX(-3px)}
.news-item h4{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:700}
.news-item p{color:var(--text-secondary);font-size:13px;line-height:1.7;margin-bottom:10px}
.news-item .news-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted)}
.news-actions{display:flex;gap:5px}
.floor-row{position:relative;overflow:hidden;margin-bottom:18px;background:var(--bg-tertiary);padding:20px;border-radius:var(--radius);border:1px solid var(--border-color)}
.floor-row::before{content:'';position:absolute;top:0;right:0;width:4px;height:100%;background:var(--accent-gradient);border-radius:0 4px 4px 0}
.floor-row:last-child{margin-bottom:0}
.floor-row-title{color:var(--text-primary);font-size:16px;margin-bottom:15px;font-weight:800;display:flex;align-items:center;gap:10px}
.floor-row-title i{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:20px}
.units-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.unit-card{background:var(--bg-secondary);border-radius:var(--radius);padding:22px;text-align:center;cursor:pointer;transition:var(--transition);border:2px solid transparent;position:relative;overflow:hidden}
.unit-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-gradient);transform:scaleX(0);transition:var(--transition);transform-origin:right}
.unit-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent-light)}
.unit-card:hover::before{transform:scaleX(1);transform-origin:left}
.unit-card.large{padding:28px}
.unit-number{font-size:42px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;line-height:1}
.unit-card.large .unit-number{font-size:56px}
.unit-info{font-size:12px;color:var(--text-secondary);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:6px}
.unit-info i{color:var(--accent);font-size:12px}
.unit-info strong{color:var(--text-primary);font-size:13px;font-weight:600}
.unit-status{margin-top:12px;padding:7px 14px;border-radius:30px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.status-paid{background:var(--success-bg);color:var(--success);border:1px solid rgba(16,185,129,.2)}
.status-debt{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(245,158,11,.2)}
.expenses-form{background:var(--bg-tertiary);padding:18px;border-radius:var(--radius);margin-bottom:18px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;border:1px solid var(--border-color)}
.expenses-form input{padding:11px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;transition:var(--transition)}
.expenses-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.expenses-form label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:600}
.expenses-list{display:grid;gap:12px}
.expense-item{background:var(--bg-tertiary);padding:16px 20px;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;border-right:4px solid var(--warning);transition:var(--transition)}
.expense-item:hover{transform:translateX(-4px);box-shadow:var(--shadow)}
.expense-info{flex:1}.expense-info h4{color:var(--text-primary);font-size:15px;margin-bottom:4px;font-weight:700}
.expense-info .expense-meta{font-size:12px;color:var(--text-muted)}
.expense-amount{background:var(--warning-gradient);color:#fff;padding:8px 16px;border-radius:30px;font-weight:700;font-size:13px;margin-left:12px;box-shadow:0 4px 12px rgba(245,158,11,.3)}
.expenses-total{background:var(--accent-gradient);color:#fff;padding:20px 24px;border-radius:var(--radius);margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:800;box-shadow:var(--shadow-color);cursor:pointer;transition:var(--transition)}
.expenses-total:hover{transform:translateY(-3px);box-shadow:0 15px 50px rgba(99,102,241,.4)}
.expenses-total i{font-size:26px;margin-left:10px}
.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;transition:var(--transition)}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.stat-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0;box-shadow:var(--shadow)}
.stat-icon.purple{background:var(--accent-gradient)}.stat-icon.green{background:var(--success-gradient)}.stat-icon.orange{background:var(--warning-gradient)}.stat-icon.blue{background:var(--info-gradient)}
.stat-info h3{font-size:24px;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px}
.stat-info p{font-size:12px;color:var(--text-secondary);font-weight:500}
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;justify-content:center;align-items:center;padding:20px;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-overlay.active{display:flex}
.modal{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px;width:100%;max-width:950px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlide .3s cubic-bezier(.4,0,.2,1)}
@keyframes modalSlide{from{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal h3{margin-bottom:20px;color:var(--text-primary);display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;padding-bottom:15px;border-bottom:2px solid var(--border-color)}
.modal h3 i{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.modal-close{float:left;background:var(--bg-tertiary);border:1px solid var(--border-color);width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--text-secondary);transition:var(--transition);display:flex;align-items:center;justify-content:center}
.modal-close:hover{background:var(--danger);color:#fff;border-color:transparent;transform:rotate(90deg)}
.access-denied-box{background:var(--bg-tertiary);padding:30px;border-radius:var(--radius);text-align:center;border:2px dashed var(--accent);position:relative;overflow:hidden}
.access-denied-box::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-gradient)}
.access-denied-icon{width:80px;height:80px;margin:0 auto 20px;background:var(--accent-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;box-shadow:var(--shadow-color)}
.access-denied-box h4{color:var(--text-primary);font-size:20px;margin-bottom:10px;font-weight:800}
.access-denied-box p{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.7}
.unit-selector-title{color:var(--accent);font-weight:700;margin-bottom:15px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.unit-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:20px}
.unit-selector-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-sm);padding:15px 10px;text-align:center;cursor:pointer;transition:var(--transition);font-weight:700;color:var(--text-primary);position:relative}
.unit-selector-item:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}
.unit-selector-item .unit-num{font-size:22px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:4px}
.unit-selector-item .unit-floor{font-size:10px;color:var(--text-muted);font-weight:500}
.unit-selector-item.my-unit{border-color:var(--success);background:var(--success-bg)}
.unit-selector-item.my-unit .unit-num{background:var(--success-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.unit-selector-item.my-unit::after{content:'واحد شما';position:absolute;top:4px;left:4px;background:var(--success);color:#fff;font-size:9px;padding:2px 6px;border-radius:10px;font-weight:700}
.payments-table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border-color)}
.payments-table{width:100%;border-collapse:collapse;font-size:14px}
.payments-table th,.payments-table td{padding:12px;text-align:center;border-bottom:1px solid var(--border-color)}
.payments-table th{background:var(--accent-gradient);color:#fff;font-weight:700;font-size:13px;position:sticky;top:0}
.payments-table tr{transition:var(--transition)}.payments-table tbody tr:hover{background:var(--bg-tertiary)}
.payments-table input{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;text-align:center;font-family:inherit;transition:var(--transition)}
.payments-table input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.payment-row-paid{background:var(--success-bg)!important}.payment-row-unpaid{background:var(--warning-bg)!important}
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.summary-card{background:var(--bg-tertiary);border-radius:var(--radius);padding:18px;text-align:center;border:1px solid var(--border-color);transition:var(--transition)}
.summary-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.summary-card .summary-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;margin:0 auto 10px}
.summary-card h4{font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:600}
.summary-card .summary-value{font-size:16px;font-weight:800;color:var(--text-primary);line-height:1.4}
.summary-card .summary-unit{font-size:11px;color:var(--text-muted);margin-top:2px}
.financial-summary-card{background:var(--bg-tertiary);border-radius:var(--radius);padding:20px;margin-bottom:15px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}
.financial-summary-card:hover{transform:translateX(-5px);box-shadow:var(--shadow)}
.financial-summary-card .fs-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0;margin-left:15px}
.financial-summary-card .fs-info{flex:1}
.financial-summary-card .fs-title{font-size:14px;color:var(--text-secondary);margin-bottom:6px;font-weight:600}
.financial-summary-card .fs-value{font-size:20px;font-weight:800;color:var(--text-primary)}
.financial-summary-card .fs-unit{font-size:12px;color:var(--text-muted);margin-top:2px}
.ticket-item{background:var(--bg-secondary);padding:16px;border-radius:var(--radius);margin-bottom:12px;border-right:4px solid var(--accent);transition:var(--transition)}
.ticket-item:hover{transform:translateX(-3px);box-shadow:var(--shadow)}
.ticket-item.status-open{border-right-color:var(--warning)}
.ticket-item.status-progress{border-right-color:var(--info-gradient)}
.ticket-item.status-done{border-right-color:var(--success)}
.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}
.ticket-title{font-weight:700;color:var(--text-primary);font-size:15px}
.ticket-badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;color:#fff}
.ticket-badge.open{background:var(--warning-gradient)}.ticket-badge.progress{background:var(--info-gradient)}.ticket-badge.done{background:var(--success-gradient)}
.ticket-meta{font-size:12px;color:var(--text-muted);margin-bottom:8px}
.ticket-text{color:var(--text-secondary);font-size:13px;line-height:1.7;margin-bottom:10px}
.ticket-actions{display:flex;gap:8px;flex-wrap:wrap}
.guide-section{background:var(--bg-tertiary);padding:20px;border-radius:var(--radius);margin-bottom:16px;border:1px solid var(--border-color)}
.guide-section h4{color:var(--text-primary);font-size:16px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.guide-section h4 i{color:var(--accent)}
.guide-section p,.guide-section li{color:var(--text-secondary);font-size:14px;line-height:2}
.guide-section ul{padding-right:20px}
.announcement-form{display:flex;gap:8px;margin-bottom:14px}
.announcement-form input{flex:1;padding:11px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;transition:var(--transition)}
.announcement-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.announcement-item{background:var(--bg-secondary);padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;font-size:13px;border:1px solid var(--border-color);transition:var(--transition)}
.announcement-item:hover{border-color:var(--accent-light);transform:translateX(-3px)}
.announcement-item .ann-author{color:var(--accent);font-weight:700;margin-left:8px;display:flex;align-items:center;gap:5px}
.announcement-item .ann-text{flex:1;color:var(--text-primary)}
.hidden{display:none!important}
.toast{position:fixed;top:24px;left:50%;transform:translateX(-50%);background:var(--success-gradient);color:#fff;padding:14px 28px;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:2000;display:none;font-weight:700;font-size:14px}
.toast.error{background:var(--danger-gradient)}.toast.show{display:block;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}
@keyframes slideDown{from{transform:translate(-50%,-30px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.footer-bar{background:var(--bg-glass);border-top:1px solid var(--border-color);padding:16px 30px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.footer-btn{background:var(--accent-gradient);color:#fff;padding:12px 24px;border-radius:30px;font-size:14px;font-weight:700;cursor:pointer;border:none;display:flex;align-items:center;gap:8px;transition:var(--transition);font-family:inherit;box-shadow:var(--shadow-color)}
.footer-btn:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(99,102,241,.4)}
.contact-card{background:var(--bg-tertiary);border-radius:var(--radius);padding:20px;margin-bottom:16px;border:1px solid var(--border-color)}
.contact-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-color)}
.contact-row:last-child{border-bottom:none}
.contact-label{font-size:14px;color:var(--text-secondary);font-weight:600;display:flex;align-items:center;gap:8px}
.contact-value{font-size:15px;color:var(--text-primary);font-weight:700;direction:ltr;display:flex;align-items:center;gap:8px}
.copy-btn{background:var(--accent-gradient);color:#fff;border:none;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:var(--transition);font-family:inherit;display:flex;align-items:center;gap:4px}
.copy-btn:hover{transform:scale(1.05)}
.copy-btn.copied{background:var(--success-gradient)}
.social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.social-link{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius);color:#fff;font-weight:700;font-size:14px;text-decoration:none;transition:var(--transition)}
.social-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.social-link.whatsapp{background:linear-gradient(135deg,#25d366,#128c7e)}
.social-link.telegram{background:linear-gradient(135deg,#2aabee,#229ed9)}
.social-link.phone{background:var(--success-gradient)}
@media(max-width:1024px){.main-container{flex-direction:column}.news-column,.units-column{width:100%;position:static;max-height:none}.expenses-form{grid-template-columns:1fr}}
@media(max-width:600px){.header{padding:14px}.header-right h2{font-size:16px}.header-left{width:100%;justify-content:center}.main-container{padding:12px}.units-grid{grid-template-columns:repeat(2,1fr)}.modal{padding:18px}.payments-table{font-size:12px}.payments-table th,.payments-table td{padding:8px 6px}.login-box{padding:30px 20px}.tab-btn{font-size:12px;padding:12px 8px}.unit-selector-grid{grid-template-columns:repeat(4,1fr)}.contact-row{flex-direction:column;gap:8px;align-items:flex-start}}