html,body{margin:0;padding:0;height:100%;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont}.auth-container{display:flex;height:100vh;width:100vw;padding:40px;box-sizing:border-box;background:#f4f6f9}.auth-left{flex:1;position:relative;background-image:url(/images/real-estate-auth-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:24px 0 0 24px;overflow:hidden}.auth-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#0000004d,#0000008c)}.auth-overlay{position:absolute;top:70px;left:70px;max-width:640px;color:#fff;z-index:2}.auth-overlay h1{font-size:50px;font-weight:700;line-height:1.05;margin:0;letter-spacing:-.6px}.auth-overlay p{margin-top:22px;font-size:20px;line-height:1.6;opacity:.95;max-width:560px}.auth-right{width:420px;background:#fff;height:100%;display:flex;align-items:center;justify-content:center;margin-left:-1px;border-radius:0 24px 24px 0}.login-wrapper{width:100%;max-width:360px;height:100%;display:flex;flex-direction:column}.login-content{flex:1}.login-wrapper h2{font-size:32px;font-weight:700;color:#0b2b4b;margin-bottom:8px}.login-subtitle{font-size:15px;color:#6b7280;margin-bottom:32px}.login-form{display:flex;flex-direction:column}.form-group{display:flex;flex-direction:column;margin-bottom:22px}.form-group label{font-size:14px;color:#3b82f6;margin-bottom:6px}.form-group input{height:48px;padding:0 14px;border-radius:10px;border:1.5px solid #c7ddf8;font-size:14px;outline:none}.form-group input:focus{border-color:#3b82f6}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:26px}.login-options a{color:#3b82f6;text-decoration:none}.remember{display:flex;align-items:center;gap:6px;color:#6b7280}.login-btn{height:48px;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.login-btn:hover{opacity:.95}.signup-text{margin-top:24px;font-size:14px;text-align:center;color:#6b7280}.signup-text span{color:#2563eb;font-weight:600;cursor:pointer}.auth-bottom-image{width:calc(100% + 80px);margin-left:-40px;margin-right:-40px;margin-top:24px}.auth-bottom-image img{width:100%;height:160px;object-fit:cover;display:block}@media (max-width: 1440px){.auth-overlay h1{font-size:44px}.auth-overlay p{font-size:18px}}@media (max-width: 1200px){.auth-overlay{top:50px;left:50px;max-width:520px}.auth-overlay h1{font-size:40px}.auth-overlay p{font-size:17px}.auth-right{width:380px}}@media (max-width: 1024px){.auth-container{padding:0}.auth-left{display:none}.auth-right{width:100%;border-radius:0;margin-left:0}.login-wrapper{max-width:420px;padding:40px 24px}}@media (max-width: 768px){.auth-container{height:auto;min-height:100vh}.auth-right{align-items:flex-start}.login-wrapper{padding:32px 20px}.login-wrapper h2{font-size:28px}.login-subtitle{font-size:14px;margin-bottom:24px}}@media (max-width: 480px){.login-wrapper{padding:24px 16px}.login-wrapper h2{font-size:26px}.form-group input{height:44px}.login-btn{height:44px;font-size:14px}.signup-text{font-size:13px}}@media (max-width: 480px){.auth-bottom-image{display:none}}.sidebar{width:260px;min-height:100vh;background-color:#fff;border-right:1px solid #e5e7eb;padding:18px 14px;display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar-section{display:flex;flex-direction:column;gap:4px}.sidebar-title{font-size:11px;font-weight:600;color:#9ca3af;letter-spacing:.08em;margin:12px 10px 8px;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#6b7280;font-size:14px;font-weight:500;text-decoration:none;position:relative;transition:background .25s ease,color .25s ease}.sidebar-link svg{width:18px;height:18px;color:#9ca3af;transition:color .25s ease}.sidebar-link:hover{background-color:#f9fafb;color:#111827}.sidebar-link:hover svg{color:#111827}.sidebar-link.active{background-color:#f973161f;color:#f97316;font-weight:600}.sidebar-link.active svg{color:#f97316}.sidebar-link.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background-color:#f97316}.sidebar-logout{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:none;border:none;color:#ef4444;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.sidebar-logout svg{color:#ef4444}.sidebar-logout:hover{background-color:#fee2e2}@media (max-width: 1024px){.sidebar{width:230px}}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:-260px;height:100vh;z-index:100;transition:left .3s ease;box-shadow:0 10px 30px #0000001f}.sidebar.open{left:0}}.header{background:#fff;border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px #0000000f;margin-bottom:12px}.header.compact{padding:14px 18px}.header-left{display:flex;align-items:center;gap:14px}.header-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#f97316,#fb923c);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff}.header-text h2{font-size:18px;font-weight:700;margin:0;color:#1f2937}.header-text p{margin-top:2px;font-size:13px;color:#6b7280}.header-text strong{color:#f97316}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:16px}.dashboard-card{background:#fff;border-radius:16px;padding:28px 24px;box-shadow:0 4px 12px #0000000f;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.dashboard-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.dashboard-title{font-size:15px;font-weight:600;color:#6b7280;margin-bottom:10px}.dashboard-metric{display:flex;align-items:center;gap:10px}.dashboard-value{font-size:32px;font-weight:700;color:#111827}.dashboard-trend{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600}.dashboard-trend.positive{color:#22c55e}.dashboard-trend.negative{color:#ef4444}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.dashboard-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:#fff;width:420px;border-radius:14px;padding:22px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-header svg{cursor:pointer}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;margin-bottom:6px;color:#374151}.form-group input{width:100%;padding:10px 5px;border-radius:8px;border:1px solid #d1d5db}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error{color:#ef4444;font-size:13px}.admins-page{background:#fff;border-radius:12px;padding:20px;margin-top:24px}.admins-header{display:flex;justify-content:space-between;align-items:center}.admins-toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0;gap:16px}.search-box{position:relative;width:320px}.search-box input{width:100%;height:44px;padding:0 40px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px}.search-box input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731626}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.clear-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9ca3af;cursor:pointer}.clear-icon:hover{color:#111827}.mark-sold-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid #ef4444;background-color:#fee2e2;color:#991b1b;cursor:pointer;white-space:nowrap;transition:all .15s ease-in-out}.mark-sold-btn:hover{background-color:#ef4444;color:#fff}.mark-sold-btn:active{transform:scale(.96)}.mark-sold-btn:disabled{opacity:.5;cursor:not-allowed}.vendor-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-input{height:44px;min-width:220px;padding:0 14px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px;background:#fff;transition:all .15s ease}.admin-input::placeholder{color:#9ca3af}.admin-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731626}.vendor-add-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:10px;border:none;background:#f97316;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.vendor-add-btn:hover{background:#ea580c}.vendor-add-btn:active{transform:scale(.97)}.vendor-add-btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{margin:12px 0;padding:10px 14px;border-radius:10px;background:#fee2e2;color:#991b1b;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.paid-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#16a34a;font-weight:600}.btn.success{background-color:#16a34a;color:#fff;border:none}.btn.success:disabled{opacity:.6;cursor:not-allowed}.admins-table-wrapper{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.admins-table{width:100%;border-collapse:collapse;table-layout:fixed}.admins-table th:nth-child(1),.admins-table td:nth-child(1){width:14%}.admins-table th:nth-child(2),.admins-table td:nth-child(2){width:12%}.admins-table th:nth-child(3),.admins-table td:nth-child(3){width:18%}.admins-table th:nth-child(4),.admins-table td:nth-child(4){width:14%;text-align:center}.admins-table th:nth-child(5),.admins-table td:nth-child(5){width:14%;text-align:center;vertical-align:middle}.admins-table th:nth-child(6),.admins-table td:nth-child(6){width:14%;text-align:center}.admins-table th:nth-child(7),.admins-table td:nth-child(7){width:14%;text-align:right}.admins-table thead{background:#f9fafb}.admins-table th{padding:14px 16px;font-size:13px;font-weight:600;color:#374151;text-align:left;border-bottom:1px solid #e5e7eb;white-space:nowrap}.admins-table td{padding:14px 16px;font-size:14px;color:#111827;border-bottom:1px solid #f1f5f9;vertical-align:middle;white-space:nowrap}.status-stack{display:inline-flex;gap:8px;justify-content:center;align-items:center}.status{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase}.status.available{background:#dcfce7;color:#166534}.status.sold{background:#fee2e2;color:#991b1b}.bill-status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase}.bill-status.pending{background:#fee2e2;color:#991b1b}.bill-status.partial{background:#fef3c7;color:#92400e}.bill-status.paid{background:#dcfce7;color:#166534}.admin-select{height:44px;min-width:260px;padding:0 12px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px;background:#fff;cursor:pointer}.admin-select:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731626}.project-summary{font-size:14px;color:#374151}.empty-text{margin-top:24px;color:#6b7280;font-size:14px}.empty-row{text-align:center;padding:24px;color:#6b7280}.partner-name{font-weight:500}.muted{color:#9ca3af}.admins-table tbody tr:hover{background:#f9fafb}.btn:disabled{opacity:.6;cursor:not-allowed}.actions{display:inline-flex;justify-content:flex-end;align-items:center;gap:10px;min-width:120px}.actions svg{width:18px;height:18px;cursor:pointer;color:#6b7280;transition:all .15s ease}.actions svg:hover{color:#f97316;transform:scale(1.1)}.permissions-box{margin-top:20px}.permissions-box h4{margin-bottom:12px;font-size:14px;font-weight:600}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-item{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.permission-item input{width:16px;height:16px;accent-color:#f97316}@media (max-width: 768px){.admins-table th:nth-child(3),.admins-table td:nth-child(3){display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-box{background:#fff;width:420px;max-width:95%;border-radius:14px;box-shadow:0 25px 50px #00000040;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:16px;font-weight:600;color:#111827}.modal-header button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280}.modal-header button:hover{color:#111827}.modal-content{padding:20px}.modal-form{display:flex;flex-direction:column;gap:18px}.modal-form label{font-size:13px;font-weight:600;color:#374151}.modal-form input{width:100%;height:44px;padding:0 5px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.modal-form input::placeholder{color:#9ca3af}.modal-form input:focus{border-color:#f97316;box-shadow:0 0 0 2px #f9731626;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-actions .btn{min-width:120px;height:44px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer}.modal-actions .btn.primary{background:#f97316;color:#fff}.modal-actions .btn.primary:hover{background:#ea580c}.modal-actions .btn.secondary{background:#3f6f7c;color:#fff}.modal-actions .btn.secondary:hover{background:#345b66}.modal-form select{width:100%;height:44px;padding:0 12px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px;font-weight:500;background:#fff;color:#111827;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.modal-form select:focus{border-color:#f97316;box-shadow:0 0 0 2px #f9731626;outline:none}.status{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status.planning{background:#f9731626;color:#f97316}.status.active{background:#22c55e26;color:#16a34a}.status.completed{background:#6b728033;color:#374151}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group input,.form-group textarea{padding:10px 12px;border-radius:8px;border:1px solid #e5e7eb;font-size:14px}.form-group textarea{resize:none;height:90px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-primary{background:#f97316;color:#fff;padding:10px 16px;border-radius:8px;border:none;font-weight:500;cursor:pointer}.btn-secondary{background:#f3f4f6;color:#374151;padding:10px 16px;border-radius:8px;border:none;cursor:pointer}.roles-page{background:#fff;border-radius:12px;padding:20px;margin-top:24px}.roles-header{display:flex;justify-content:space-between;align-items:center}.invite-btn{display:flex;gap:8px;align-items:center;background:#f97316;color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:500}.roles-toolbar{margin:18px 0}.search-box{width:320px;max-width:100%}.search-box input{width:100%;padding:10px 14px;border-radius:999px;border:1px solid #e5e7eb;font-size:14px}.roles-table-wrapper{border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.roles-table{width:100%;border-collapse:collapse;table-layout:fixed}.roles-table thead{background:#f9fafb}.roles-table th{padding:14px 16px;font-size:13px;font-weight:600;color:#374151;text-align:left;border-bottom:1px solid #e5e7eb}.roles-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid #f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-name{display:flex;align-items:center;gap:12px}.avatar{width:34px;height:34px;border-radius:50%;background:#6366f1;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center}.role-desc{color:#6b7280}.actions{display:flex;justify-content:flex-end;gap:14px}.actions svg{width:18px;color:#6b7280;cursor:pointer}.actions svg:hover{color:#111827}.actions .danger{color:#ef4444}.actions .danger:hover{color:#dc2626}@media (max-width: 768px){.search-box{width:100%}}.settings-page{background:#fff;border-radius:12px;padding:24px;margin-top:24px}.settings-page h2{font-size:20px;font-weight:600;color:#0f172a;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.settings-card{margin-top:24px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.settings-card:last-child{border-bottom:none}.settings-card h3{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:16px}.settings-card label{display:block;font-size:13px;font-weight:500;color:#334155;margin-bottom:6px}.settings-card input{width:100%;height:42px;padding:0 14px;border-radius:8px;border:1px solid #e5e7eb;font-size:14px;color:#0f172a;background:#fff;transition:all .25s ease;margin-bottom:14px}.settings-card input::placeholder{color:#9ca3af}.settings-card input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}.settings-card input:disabled{background:#f9fafb;color:#64748b;cursor:not-allowed}.settings-card button{margin-top:6px;height:40px;padding:0 18px;border-radius:8px;background:#f97316;color:#fff;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.settings-card button:hover{background:#ea580c}.settings-card button:active{transform:translateY(1px)}.settings-card button:disabled{background:#fbbf24;cursor:not-allowed;opacity:.7}.profile-photo{display:flex;align-items:center;gap:16px;background:#f9fafb;padding:16px;border-radius:10px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;border:2px dashed #cbd5f5;display:flex;align-items:center;justify-content:center;background:#fff;color:#94a3b8;font-size:12px}.profile-photo-info{flex:1}.profile-photo-info p{font-size:13px;color:#64748b;margin-top:4px}.profile-actions{display:flex;gap:12px}.profile-actions button{height:34px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none}.profile-actions .upload{background:#f97316;color:#fff}.profile-actions .cancel{background:transparent;color:#64748b}@media (max-width: 768px){.settings-page{padding:16px}.settings-card button{width:100%}}.layout{display:flex;min-height:100vh;background:#f9fafb}.main-content{flex:1;padding:24px}.page-content{margin-top:12px}
