@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#1b2937;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility;font-smooth:always;font-size:14px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:248px;background:#101d2b;color:#b6c2cf;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:25px 16px 15px;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand-icon{width:39px;height:39px;border-radius:12px;background:#13a89e;color:#fff;display:grid;place-items:center}.brand b{font:800 19px Manrope,sans-serif;color:#f5f8fc;letter-spacing:-.7px}.brand b span{color:#35d0bf}.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:#8294a7;margin-top:3px}.workspace{height:40px;border:1px solid #2b3947;border-radius:8px;display:flex;align-items:center;padding:0 10px;gap:8px;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:31px}.workspace svg{margin-left:auto}.workspace-dot,.live-pill i,.footer-right span{width:7px;height:7px;border-radius:50%;background:#3dd2a0;display:inline-block}.nav-label{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#6e8093;padding:0 11px 10px}.nav-item{border:0;background:transparent;color:#aab8c7;width:100%;height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;border-radius:7px;text-align:left;margin-bottom:4px}.nav-item.active{background:#213546;color:#fff}.nav-item.active svg{color:#43d2c0}.nav-count{margin-left:auto;font-size:11px;background:#2c4050;padding:3px 7px;border-radius:5px}.sidebar-bottom{margin-top:auto}.aws-card{background:#192a39;border:1px solid #2b3b4a;border-radius:10px;padding:14px;margin-bottom:17px}.aws-top{display:flex;align-items:center;gap:8px;color:#5ed7c9;font-size:10px;font-weight:700;letter-spacing:.9px;margin-bottom:15px}.aws-card>b{color:#eef4f8;font:700 14px Manrope}.aws-card p{font-size:11px;line-height:1.6;color:#9eafbe;margin:7px 0 13px}.aws-pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;border:1px solid #3a4b59;border-radius:20px;padding:5px 8px;color:#c4d2dd}.aws-pill span{width:6px;height:6px;background:#f1b85a;border-radius:50%}.profile{border-top:1px solid #2b3947;padding:15px 3px 0;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{width:33px;height:33px;border-radius:50%;background:#d7f1ed;color:#117c75;display:grid;place-items:center;font-size:11px;font-weight:700}.profile b{display:block;color:#edf3f7;font-size:11px}.profile small{font-size:10px;color:#8fa0af;display:block;margin-top:4px}.profile>svg{margin-left:auto}.main{margin-left:248px;min-height:100vh}.topbar{height:68px;border-bottom:1px solid #e7ebf0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.crumb{font-size:12px;color:#8290a0}.crumb span{padding:0 10px;color:#c0c8d1}.crumb b{color:#253343;font-weight:600}.top-actions{display:flex;align-items:center;gap:19px}.live-pill{display:flex;align-items:center;gap:7px;border:1px solid #dbeee7;background:#f3fbf7;color:#367e65;padding:7px 10px;border-radius:20px;font-size:10px;font-weight:600}.live-pill i{background:#2bb887}.icon-btn{border:0;background:transparent;color:#718092;padding:6px;display:grid;place-items:center;position:relative}.icon-btn>i{position:absolute;width:5px;height:5px;background:#f29b64;border-radius:50%;top:4px;right:3px}.top-avatar{width:30px;height:30px}.content{max-width:1510px;margin:auto;padding:32px 36px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{display:flex;align-items:center;gap:7px;color:#119a90;font-size:10px;font-weight:700;letter-spacing:1.1px;margin-bottom:9px}.page-heading h1{font:800 27px Manrope,sans-serif;letter-spacing:-.9px;margin:0;color:#172535}.page-heading p{margin:7px 0 0;color:#8491a0;font-size:12px}.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;padding:11px 15px;font-size:12px;font-weight:700;white-space:nowrap}.primary-btn{background:#119b91;color:#fff;box-shadow:0 2px 3px #0e766d20}.primary-btn:hover{background:#0b877e}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.secondary-btn{background:#f0f3f6;color:#4d5b69;border:1px solid #e0e5ea}.danger-btn{background:#fff5f3;border:1px solid #f7d7d1;color:#c35445}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat-card,.panel{background:#fff;border:1px solid #e8edf2;border-radius:10px;box-shadow:0 2px 5px #172b3b04}.stat-card{padding:17px 18px 15px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#758394;font-size:11px;font-weight:600}.stat-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.stat-icon.blue{color:#4c83d8;background:#edf4ff}.stat-icon.amber{color:#d69a35;background:#fff6e4}.stat-icon.red{color:#df7063;background:#fff0ee}.stat-icon.green{color:#26a47e;background:#e9f8f1}.stat-number{font:800 28px Manrope,sans-serif;letter-spacing:-.8px;margin:12px 0 6px;display:flex;align-items:center;gap:9px}.stat-note{font:600 10px DM Sans;letter-spacing:0;color:#6888ba;display:flex;align-items:center;gap:2px}.stat-note.warn{color:#cb9639}.stat-note.danger{color:#d86f62}.stat-note.good{color:#269d78}.stat-foot{font-size:10px;color:#9aa5b1}.panel{overflow:hidden}.panel-head{padding:19px 21px 15px;display:flex;align-items:center;justify-content:space-between}.panel-head h2{font:700 15px Manrope;margin:0;color:#1d2a38;letter-spacing:-.2px}.panel-head h2 .count-chip{font:600 10px DM Sans;background:#eff3f6;color:#657484;border-radius:5px;padding:3px 7px;margin-left:5px;vertical-align:2px}.panel-head p{font-size:11px;color:#8b97a4;margin:6px 0 0}.text-btn{border:0;background:transparent;color:#128f86;font-weight:700;font-size:11px;display:flex;align-items:center;gap:6px}.toolbar{border-top:1px solid #f0f2f5;border-bottom:1px solid #edf0f3;padding:12px 21px;display:flex;justify-content:space-between;align-items:center;gap:12px}.searchbox{width:270px;height:35px;border:1px solid #e1e6eb;border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#94a0ad}.searchbox input{border:0;outline:0;width:100%;font-size:11px;color:#283747;background:transparent}.searchbox input::placeholder{color:#a0aab5}.searchbox button{border:0;background:transparent;color:#8a96a3;padding:0}.filter-wrap{display:flex;align-items:center;gap:7px;color:#8995a2;border:1px solid #e1e6eb;border-radius:6px;padding:0 9px;height:35px}.filter-wrap select{border:0;background:transparent;outline:0;font-size:11px;color:#536171;min-width:98px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}thead{background:#fbfcfd}th{font-size:9px;letter-spacing:.65px;font-weight:700;color:#95a0ac;text-align:left;padding:12px 13px;border-bottom:1px solid #edf0f3}th:first-child,td:first-child{padding-left:21px}th:last-child,td:last-child{padding-right:18px}td{padding:14px 13px;border-bottom:1px solid #f0f2f5;font-size:11px;color:#596878}tbody tr{cursor:pointer;transition:background .12s}tbody tr:hover{background:#f9fcfc}tbody tr:last-child td{border-bottom:0}.complaint-cell{display:flex;align-items:center;gap:10px;min-width:240px}.issue-icon{width:34px;height:34px;flex-shrink:0;border-radius:8px;background:#eef4ff;color:#5684cf;display:grid;place-items:center}.issue-icon.waste-management{background:#e9f8f1;color:#31a37d}.issue-icon.street-lighting{background:#fff6e5;color:#d69d35}.issue-icon.water-drainage{background:#eaf5ff;color:#4a91cc}.issue-icon.public-spaces{background:#f4edff;color:#8a6ac5}.complaint-cell b{display:block;font-size:11px;font-weight:700;color:#293747;max-width:280px;overflow:hidden;text-overflow:ellipsis}.complaint-cell small{display:flex;align-items:center;gap:3px;font-size:10px;color:#929eaa;margin-top:5px}.complaint-cell small span{color:#a9b2bc}.category-label{font-size:10px;color:#657484;background:#f4f6f8;border-radius:5px;padding:5px 7px}.priority-badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;font-size:10px;font-weight:600;padding:5px 7px}.priority-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.priority-badge.high{color:#cf6658;background:#fff0ee}.priority-badge.medium{color:#bd8b2e;background:#fff7e6}.priority-badge.low{color:#3a9878;background:#eaf8f1}.status-badge{display:inline-block;border-radius:5px;padding:5px 7px;font-size:10px;font-weight:600}.status-badge.submitted{color:#4f7cc0;background:#edf4ff}.status-badge.in-progress{color:#b9852f;background:#fff6e3}.status-badge.resolved{color:#2c9a75;background:#eaf8f1}.date-cell{color:#8995a1;font-size:10px}.row-more{border:0;background:transparent;color:#8d99a6;letter-spacing:2px;padding:5px}.table-footer{border-top:1px solid #edf0f3;padding:12px 21px;display:flex;justify-content:space-between;color:#96a1ad;font-size:10px}.table-footer b{color:#5f6c7a}.footer-hint{display:flex;align-items:center;gap:5px;color:#7b9b91}.bottom-note{margin-top:20px;padding:15px 17px;border:1px solid #dcefeb;background:#f1faf8;border-radius:9px;display:flex;align-items:center;gap:12px}.note-icon{width:34px;height:34px;border-radius:8px;background:#dff5ef;color:#159c8c;display:grid;place-items:center;flex-shrink:0}.bottom-note b{font-size:11px;color:#25544e}.bottom-note p{font-size:10px;color:#6b8c86;margin:4px 0 0}.note-tag{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.8px;color:#278e7d;border:1px solid #c9e8e1;border-radius:5px;padding:5px 7px;white-space:nowrap}footer{display:flex;align-items:center;gap:16px;color:#a1aab4;font-size:10px;padding:24px 2px 4px}footer>span:nth-child(2){color:#aab3bc}.footer-right{margin-left:auto;display:flex;align-items:center;gap:6px}.footer-right span{background:#e9ad54;width:6px;height:6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#101d2b80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal,.detail-modal{background:#fff;border-radius:14px;width:min(100%,520px);padding:25px;box-shadow:0 25px 80px #0c1a2c40;max-height:calc(100vh - 40px);overflow:auto}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-head h2,.detail-modal h2{font:800 22px Manrope;letter-spacing:-.6px;margin:0;color:#192838}.modal-head p{color:#8491a0;font-size:11px;margin:7px 0 0;line-height:1.5}.modal form>label,.status-label{display:block;font-size:11px;font-weight:700;color:#354455;margin:17px 0 8px}.modal form>label span:not(.optional){color:#df7566}.modal textarea,.input-icon input{width:100%;border:1px solid #dfe5ea;border-radius:7px;padding:11px;font-size:12px;outline:none;color:#293746;resize:vertical}.modal textarea:focus,.input-icon:focus-within{border-color:#42b9af;box-shadow:0 0 0 3px #e5f7f4}.field-hint{font-size:10px;color:#98a3af;margin-top:6px}.input-icon{display:flex;align-items:center;border:1px solid #dfe5ea;border-radius:7px;padding-left:10px;color:#96a2ad}.input-icon input{border:0;box-shadow:none!important}.optional{float:right;font-size:9px;letter-spacing:.5px;color:#a0aab4}.upload-box{position:relative;border:1px dashed #cfd9e0;background:#fafcfd;border-radius:8px;display:flex!important;align-items:center;flex-direction:column;gap:6px;padding:17px;color:#84929f;cursor:pointer}.upload-box b{font-size:11px;color:#526273}.upload-box span{font-size:10px}.upload-box input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.privacy-note{display:flex;align-items:center;gap:7px;background:#f1faf8;color:#6b8d85;padding:10px;border-radius:6px;font-size:10px;margin-top:17px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.detail-modal{width:min(100%,540px)}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detail-id{font-size:10px;color:#15958b;font-weight:700;letter-spacing:.6px}.detail-modal h2{font-size:21px;line-height:1.35}.detail-description{font-size:12px;color:#6f7d8b;line-height:1.7;margin:10px 0 16px}.detail-tags{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.detail-info>div{background:#f7f9fb;border:1px solid #edf0f3;border-radius:7px;padding:11px}.detail-info small{display:flex;align-items:center;gap:5px;font-size:9px;color:#8995a1;letter-spacing:.5px;margin-bottom:8px}.detail-info b{font-size:11px;color:#394959}.ai-insight{background:#f2faf8;border:1px solid #dcefeb;border-radius:8px;padding:15px}.ai-title{display:flex;align-items:center;gap:7px;color:#138f83;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:14px}.ai-title span{margin-left:auto;font-size:8px;background:#e1f4ef;padding:4px 6px;border-radius:4px}.ai-insight>small{font-size:9px;color:#7c9b95;font-weight:700;letter-spacing:.7px}.ai-insight p{font-size:11px;line-height:1.65;color:#526f69;margin:6px 0 13px}.ai-source{font-size:9px;color:#829d97;border-top:1px solid #dcefeb;padding-top:9px}.status-select{width:100%;border:1px solid #dfe5ea;background:#fff;padding:10px;border-radius:7px;color:#405060;font-size:11px}.detail-modal .modal-actions{justify-content:space-between}.toast{position:fixed;bottom:25px;right:25px;z-index:30;background:#123b35;color:#eafff8;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 30px #0d272540;font-size:12px}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:35px;color:#96a2af}.empty b{color:#506070;font-size:12px}.empty span{font-size:11px}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.insights-grid .panel{padding-bottom:18px}.bar-row{padding:11px 21px}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#647282;margin-bottom:8px}.bar-row b{color:#2c3b4a}.bar-track{height:6px;background:#edf2f4;border-radius:10px;overflow:hidden}.bar-fill{height:100%;border-radius:10px;background:#16a398;min-width:4px}.priority-row{display:flex;align-items:center;gap:9px;padding:12px 21px;font-size:11px;color:#617080}.priority-row b{margin-left:auto;color:#273849}.priority-dot{width:8px;height:8px;border-radius:50%}.priority-dot.high{background:#e07769}.priority-dot.medium{background:#e6b44c}.priority-dot.low{background:#44b58b}.responsible-note{margin:18px 20px 0;padding:13px;background:#f2faf8;border-radius:7px;display:flex;gap:10px;color:#168e82}.responsible-note b{font-size:11px;color:#315e57}.responsible-note p{font-size:10px;color:#7a9690;line-height:1.5;margin:5px 0 0}@media(max-width:1200px){.sidebar{width:215px}.main{margin-left:215px}.content{padding:26px 22px}.topbar{padding:0 22px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-number{font-size:25px}.complaint-cell{min-width:220px}}@media(max-width:950px){.sidebar{width:68px;padding:20px 9px}.brand{padding:0 5px 30px}.brand>div:nth-child(2),.workspace,.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.brand b,.brand small,.workspace,.nav-item{overflow:hidden}.brand>div:nth-child(2),.workspace,.nav-item .nav-count,.sidebar .aws-card,.profile>div:nth-child(2),.profile>svg{display:none}.nav-item{justify-content:center;padding:0}.nav-item svg{flex-shrink:0}.profile{justify-content:center}.main{margin-left:68px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:24px 18px}.topbar{padding:0 18px}}@media(max-width:650px){.topbar{height:58px}.content{padding:22px 12px}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.page-heading h1{font-size:23px}.stats-grid{gap:9px}.stat-card{padding:12px}.stat-number{font-size:24px;flex-wrap:wrap;gap:5px}.stat-note{font-size:9px}.toolbar{align-items:stretch;flex-direction:column}.searchbox{width:100%}.filter-wrap{align-self:flex-start}.panel-head{padding:16px}.panel-head h2{font-size:13px}.bottom-note{align-items:flex-start}.note-tag{display:none}.bottom-note p{line-height:1.6}.insights-grid{grid-template-columns:1fr}.table-footer{padding:12px;gap:10px;flex-wrap:wrap}footer{flex-wrap:wrap;gap:8px}.footer-right{margin-left:0;width:100%}.modal,.detail-modal{padding:19px}.modal-head h2{font-size:20px}.detail-info{grid-template-columns:1fr}.top-actions{gap:10px}.crumb{font-size:10px}}
