:root{--green:#1240AB;--green2:#1A54CE;--mint:#EEF4FD;--gold:#D9A232;--ink:#0F1C33;--muted:#5C6E87;--line:#E1E8F2;--bg:#F5F8FC}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button{font:inherit}.d-none{display:none!important}.brand-mark{font-weight:700;letter-spacing:2px;font-size:22px;color:#fff}.brand-mark span{color:#F0C465}.login-page{min-height:100vh;display:grid;grid-template-columns:47% 53%}.login-brand{background:linear-gradient(145deg,#071536,#1240AB);color:#dce5f5;padding:11vh 12%;position:relative;overflow:hidden}.login-brand:after{content:'';position:absolute;width:590px;height:590px;border:1px solid #4572c2;border-radius:50%;right:-220px;bottom:-270px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff08}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--gold);margin:60px 0 14px}.login-brand h1{font:700 48px/1.12 'Playfair Display',serif;color:#fff}.login-brand h1 em{color:#f0c465}.login-brand>p:not(.eyebrow){max-width:380px;line-height:1.7;color:#b8cbe8}.land-lines{position:absolute;left:0;bottom:0;width:100%;height:120px;background:repeating-linear-gradient(160deg,transparent 0 30px,#ffffff12 31px 32px)}.login-card-wrap{display:flex;align-items:center;justify-content:center;background:#fff}.login-card{width:min(415px,86%)}.login-card h2{font-size:27px;margin-bottom:27px}.login-card label{font-size:13px;font-weight:600;margin:13px 0 7px}.login-card label b{color:#bd4a43}.form-control,.form-select{border-color:#dbe2ef;padding:11px 13px;font-size:14px}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #1240ab1a;border-color:var(--green2)}.pass{position:relative}.pass i{position:absolute;right:13px;top:13px;color:#848d9e}.login-card a{color:var(--green2);text-decoration:none}.check{font-weight:400!important;margin:0!important}.btn-primary{background:var(--green);border-color:var(--green);padding:11px}.btn-primary:hover{background:var(--green2);border-color:var(--green2)}.or{margin:24px 0 15px;border-top:1px solid var(--line);text-align:center}.or span{background:#fff;color:#9aa2b0;font-size:10px;padding:0 10px;position:relative;top:-8px}.role-buttons{display:flex;gap:7px;flex-wrap:wrap}.role-buttons button{font-size:11px;border:1px solid #dce2ee;border-radius:5px;background:#fff;padding:7px 9px;color:var(--green)}.secure{text-align:center;font-size:11px;color:#828a9b;margin-top:20px}.secure i{color:#3b82f6}.mobile-logo{display:none;color:var(--green)}
.app{min-height:100vh;display:flex}.sidebar{background:#0A2568;width:247px;flex:0 0 247px;color:#c4d2ee;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:10}.side-head{padding:24px 25px 17px;display:flex;justify-content:space-between}.side-head .icon-btn{display:none}.workspace{padding:8px 14px 16px;border-bottom:1px solid #ffffff16}.workspace>span{font-size:9px;color:#8498ca;letter-spacing:1.4px;margin-left:11px}.workspace>button{width:100%;text-align:left;border:0;border-radius:6px;background:#ffffff10;color:#fff;padding:9px 11px;font-size:12px;margin-top:5px}.workspace button i{float:right;margin-top:3px}.role-menu{display:none;position:absolute;top:115px;left:14px;right:14px;background:#fff;border-radius:7px;box-shadow:0 12px 30px #0005;padding:5px;z-index:20}.role-menu.show{display:block}.role-menu button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:7px;color:var(--green);font-size:12px;border-radius:4px}.role-menu button:hover{background:var(--mint)}nav{padding:11px 9px;overflow-y:auto;flex:1}.nav-link{display:flex;width:100%;align-items:center;gap:12px;padding:9px 13px;border:0;border-radius:6px;background:none;color:#b4c3e2;font-size:12.5px;text-align:left;margin:1px 0}.nav-link i{width:15px;text-align:center;font-size:13px}.nav-link.active,.nav-link:hover{background:#ffffff18;color:#fff}.nav-label{font-size:9px;letter-spacing:1.4px;color:#788dbd;margin:16px 13px 6px}.side-bottom{border-top:1px solid #ffffff16;padding:11px 9px}.profile{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:8px}.profile .fa-ellipsis{margin-left:auto}.profile b,.profile small{display:block;font-size:11px}.profile small{color:#a8b9dd;font-size:10px;margin-top:2px}.avatar{background:#d9a232;color:#fff;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;font-weight:700;font-size:10px}.main{margin-left:247px;min-width:0;flex:1}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 29px;gap:18px;position:sticky;top:0;z-index:8}.icon-btn{border:0;background:transparent;color:#646e7f;padding:6px}.topbar>#menuBtn{display:none}.global-search{width:min(490px,55%);background:#f4f7fb;border:1px solid #edf0f5;border-radius:6px;display:flex;align-items:center;padding:0 11px;color:#878f9c}.global-search input{border:0;background:none;padding:9px;width:100%;outline:0;font-size:12px}.global-search kbd{font-size:9px;font-weight:400;color:#8c94a2;background:#fff;border:1px solid #e0e4ec}.top-actions{margin-left:auto;display:flex;gap:13px;align-items:center}.language{border:0;background:none;font-size:11px;color:#535b6b}.notification{position:relative}.notification span{position:absolute;background:#dd604d;height:6px;width:6px;border-radius:50%;top:6px;right:6px}.help{border:0;background:#ebf2fe;color:#184bb8;border-radius:50%;font-size:13px;width:29px;height:29px}.content{padding:28px 31px 48px}.activity-panel{background:#fff;border-left:1px solid var(--line);width:286px;flex:0 0 286px;padding:19px 17px;height:100vh;position:sticky;top:0}.activity-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.activity-head h5{font-size:14px;margin:0}.activity-head span{font-size:8px;color:#ba8d3c;background:#fff8eb;border-radius:3px;padding:3px;margin-left:5px}.activity-head .icon-btn{display:none}.activity-item{display:flex;gap:10px;border-bottom:1px solid #f0f3f8;padding:13px 0}.activity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eaf0fc;color:#194ebb;font-size:11px}.activity-item b{font-size:11px;display:block}.activity-item p{font-size:10px;color:#6d7484;margin:2px 0}.activity-item time{font-size:9px;color:#a2a8b7}.activity-fab{display:none}.page-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.crumb{font-size:10px;color:#828a9b;margin-bottom:4px}.page-head h1{font-size:25px;font-weight:700;margin:0}.page-head p{font-size:12px;color:#717888;margin:6px 0 0}.header-actions{display:flex;gap:9px}.btn-light{border:1px solid #dce2ee;font-size:12px;padding:8px 11px}.btn-sm{font-size:11px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px;min-height:116px;position:relative;overflow:hidden}.kpi small{font-size:11px;color:#747c8d}.kpi h3{font-size:25px;margin:9px 0 5px}.kpi .trend{font-size:10px;color:#2563eb}.kpi .trend.down{color:#c95a52}.kpi i{position:absolute;right:14px;top:15px;background:#ebf2fd;color:#1d4ed8;padding:9px;border-radius:7px}.kpi.gold i{background:#fff7e6;color:#b58129}.kpi.blue i{background:#eaf2fb;color:#4676a8}.cardx{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px}.cardx h5{font-size:14px;margin:0}.card-sub{font-size:10px;color:#848d9e;margin:4px 0 16px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:15px;margin-top:15px}.chart-wrap{height:245px}.mini-list{padding:0;margin:0;list-style:none}.mini-list li{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #f0f2f6;font-size:11px}.mini-list li:last-child{border:0}.mini-list .avatar{margin-right:8px}.mini-list b{font-size:11px}.mini-list small{display:block;color:#8b919e;font-size:9px}.mini-list .value{margin-left:auto;text-align:right}.badge-status{font-size:9px;font-weight:700;padding:4px 7px;border-radius:20px;white-space:nowrap}.verified,.completed,.healthy{background:#e7f0fe;color:#1d4ed8}.pending,.review,.warning{background:#fff5e4;color:#b17a20}.rejected,.overdue,.critical{background:#fee9e8;color:#bd4c45}.progress{height:5px;background:#edf1f6}.progress-bar{background:#1d4ed8}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.filter-btns{display:flex;gap:7px}.filter-btns button,.view-toggle button{background:#fff;border:1px solid #dce2ee;border-radius:5px;padding:7px 10px;font-size:11px;color:#616979}.filter-btns button.active,.view-toggle button.active{background:var(--green);color:#fff;border-color:var(--green)}.data-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.data-table{width:100%;font-size:11px;margin:0}.data-table th{background:#f7f9fd;color:#717a8c;font-size:9px;text-transform:uppercase;letter-spacing:.4px;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid #eef1f6;vertical-align:middle}.data-table tr:last-child td{border:0}.data-table b{color:var(--green)}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.property-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.prop-img{height:124px;background:linear-gradient(135deg,#1d4ed8,#60a5fa 50%,#b45309);position:relative}.prop-img:after{content:'▱';font-size:50px;color:#ffffff66;position:absolute;right:18px;top:30px}.property-card .pc-body{padding:13px}.property-card h5{font-size:13px;margin:7px 0}.property-card p{font-size:10px;color:#777f8d;margin:0}.property-card strong{font-size:14px}.property-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.map-demo{height:420px;border-radius:9px;background:#dbe5f7;position:relative;overflow:hidden;background-image:linear-gradient(28deg,transparent 46%,#f4f1dc 47% 50%,transparent 51%),linear-gradient(112deg,transparent 42%,#d4bd97 43% 45%,transparent 46%),radial-gradient(#96a9c7 1px,transparent 1px);background-size:auto,auto,18px 18px}.map-demo:before{content:'KRISHNAGIRI  ·  SALEM  ·  HOSUR';position:absolute;top:22px;left:25px;color:#4f648d;font-size:11px;letter-spacing:2px}.marker{position:absolute;background:var(--green);color:#fff;border:3px solid #fff;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0004}.marker i{transform:rotate(45deg);display:block;text-align:center;font-size:10px;padding-top:5px}.map-card{position:absolute;bottom:17px;left:17px;background:#fff;width:260px;border-radius:8px;padding:13px;box-shadow:0 4px 20px #1e335b33}.map-card h6{font-size:12px;margin:5px 0}.map-card p{font-size:10px;color:#737a88;margin:0 0 8px}.map-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.map-filter select{font-size:11px;padding:7px;width:140px}.trust{display:flex;align-items:center;gap:13px}.score-ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1d4ed8 0 313deg,#e8eef8 313deg);position:relative}.score-ring:after{content:'';position:absolute;background:#fff;border-radius:50%;inset:6px}.score-ring b{font-size:17px;z-index:1}.score-ring small{font-size:9px;z-index:1;margin-left:-15px;margin-top:24px}.kanban{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:13px;overflow:auto;padding-bottom:8px}.kanban-col{background:#edf2fa;border-radius:8px;padding:10px;min-height:420px}.kanban-col h6{font-size:10px;letter-spacing:.5px;display:flex;justify-content:space-between;color:#58637e}.task-card{background:#fff;border-radius:6px;padding:11px;margin:9px 0;box-shadow:0 1px 2px #2342;font-size:10px}.task-card b{font-size:11px;display:block;margin:7px 0}.task-card footer{display:flex;justify-content:space-between;color:#7d8495}.stepper{display:flex;margin:5px 0 25px;overflow:auto}.step{min-width:105px;text-align:center;font-size:10px;color:#8a909d;position:relative}.step:before{content:attr(data-n);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8edf8;margin:0 auto 6px}.step.active{color:var(--green);font-weight:700}.step.active:before{background:var(--green);color:#fff}.form-section{background:#fff;border:1px solid var(--line);padding:20px;border-radius:8px}.form-section h6{font-size:14px;margin-bottom:17px}.form-section label{font-size:11px;font-weight:600;margin-bottom:5px}.form-section .required{color:#c54c44}.modal-body{background:var(--bg)}#toastBox{position:fixed;z-index:1100;right:22px;bottom:20px}.toastx{background:#0A2568;color:#fff;border-radius:7px;padding:12px 15px;margin-top:8px;box-shadow:0 5px 22px #0003;font-size:12px;animation:slide .3s}@keyframes slide{from{transform:translateX(50px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1200px){.activity-panel{display:none}.activity-fab{display:block;position:fixed;bottom:20px;right:20px;border:0;background:var(--green);color:#fff;border-radius:50%;height:44px;width:44px;z-index:7}.activity-panel.open{display:block;position:fixed;right:0;z-index:11;box-shadow:-5px 0 20px #0002}.activity-head .icon-btn{display:block}.kpis{grid-template-columns:repeat(3,1fr)}.property-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card-wrap{padding:36px 0}.mobile-logo{display:block;margin-bottom:28px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.side-head .icon-btn{display:block;color:#fff}.main{margin:0}.topbar{padding:0 15px}.topbar>#menuBtn{display:block}.global-search{width:auto;flex:1}.top-actions .help{display:none}.content{padding:22px 17px}.kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.property-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:530px){.top-actions .language{display:none}.global-search kbd{display:none}.page-head{display:block}.header-actions{margin-top:13px}.kpis{gap:9px}.kpi{min-height:99px;padding:13px}.kpi h3{font-size:20px}.kpi i{right:10px;top:10px}.property-grid{grid-template-columns:1fr}.data-card{overflow:auto}.data-table{min-width:650px}.map-demo{height:480px}.map-card{width:calc(100% - 34px)}.login-card{width:88%}.login-card h2{font-size:24px}.kanban{grid-template-columns:repeat(4,225px)}}
