@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--admin-green:#146b4b;--admin-green-dark:#0d5138;--admin-green-soft:#e9f5ee;--admin-orange:#ef8b45;--admin-ink:#20342c;--admin-muted:#7a8981;--admin-line:#e5ece7;--admin-bg:#f5f8f5;--admin-white:#fff;--admin-red:#c84d4d;--admin-shadow:0 10px 30px rgba(27,66,47,.055)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--admin-ink);background:var(--admin-bg);font-size:14px;line-height:1.55}a{color:var(--admin-green);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:'Manrope','DM Sans',Arial,sans-serif}.admin-shell{min-height:100vh}.admin-sidebar{position:fixed;z-index:50;top:0;bottom:0;left:0;width:248px;padding:25px 17px 19px;background:#fff;border-right:1px solid var(--admin-line);display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:10px;margin:2px 10px 45px;color:var(--admin-ink);font:800 21px/1.1 'Manrope',sans-serif;letter-spacing:-.8px}.admin-brand>span:last-child>span{color:var(--admin-orange)}.admin-brand small{display:block;margin-top:7px;color:#8a9b91;font:700 9px/1 'DM Sans',sans-serif;letter-spacing:2px}.admin-brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--admin-green);color:#fff;font-size:26px}.sidebar-caption{margin:0 13px 12px;color:#9ba9a0;font-size:10px;font-weight:700;letter-spacing:1.7px}.admin-menu{display:grid;gap:6px}.admin-menu a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:11px;color:#66776e;font-weight:600;transition:background .18s,color .18s}.admin-menu a:hover{background:#f2f7f3;color:var(--admin-green)}.admin-menu a.active{background:var(--admin-green-soft);color:var(--admin-green);font-weight:700}.menu-icon{display:inline-flex;width:23px;justify-content:center;font-size:19px}.sidebar-bottom{margin-top:auto;padding:16px 9px 0;border-top:1px solid var(--admin-line);display:grid;gap:20px}.sidebar-bottom a{font-weight:700;font-size:12px}.sidebar-bottom span{font-size:9px;letter-spacing:1.4px;font-weight:700;color:#a1aca5}.admin-main-wrap{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.admin-topbar{height:83px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 36px;background:#fff;border-bottom:1px solid var(--admin-line)}.topbar-page{display:grid;gap:2px}.topbar-page span{font-size:11px;color:var(--admin-muted)}.topbar-page strong{font-size:17px;letter-spacing:-.3px}.topbar-user{display:flex;align-items:center;gap:10px}.user-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#eaf4ec;color:var(--admin-green);font-weight:800;font-size:16px}.user-info{display:grid;gap:1px;min-width:100px}.user-info strong{font-size:12px}.user-info small{font-size:11px;color:var(--admin-muted)}.logout-form{margin-left:8px}.logout-form button{border:0;background:transparent;color:#78867e;font-size:12px;font-weight:700;padding:9px 0 9px 10px}.logout-form button:hover{color:var(--admin-red)}.admin-menu-toggle{display:none;border:0;background:transparent;color:var(--admin-green);font-size:24px}.admin-content{width:100%;max-width:1600px;margin:0 auto;padding:32px 36px 40px;flex:1}.admin-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.admin-page-heading h1{margin:4px 0 0;font-size:28px;line-height:1.2;letter-spacing:-1px}.admin-eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#789286}.admin-footer{display:flex;justify-content:space-between;gap:20px;padding:18px 36px;border-top:1px solid var(--admin-line);color:#89968e;background:#fff;font-size:11px}.admin-panel{min-width:0;background:#fff;border:1px solid var(--admin-line);border-radius:15px;box-shadow:var(--admin-shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 23px 18px}.panel-heading h2{margin:0 0 5px;font-size:16px;letter-spacing:-.3px}.panel-heading p{margin:0;color:var(--admin-muted);font-size:12px}.panel-heading>a{font-size:12px;font-weight:700}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:12px;transition:background .18s,transform .18s;white-space:nowrap}.admin-btn:hover{transform:translateY(-1px)}.admin-btn-primary{background:var(--admin-green);color:#fff;border-color:var(--admin-green)}.admin-btn-primary:hover{background:var(--admin-green-dark);color:#fff}.admin-btn-light{background:#f4f8f5;color:var(--admin-green);border-color:#e4eee7}.admin-btn-light:hover,.admin-btn-outline:hover{background:var(--admin-green-soft)}.admin-btn-outline{background:#fff;border-color:#dce8df;color:var(--admin-green)}.admin-btn-danger-outline{background:#fff;border-color:#f1d5d5;color:#b84040}.admin-btn-danger-outline:hover{background:#fff4f4}.admin-btn-small{padding:7px 11px;font-size:11px;border-radius:8px}.admin-btn-wide{width:100%;padding:13px 16px}.admin-alert{padding:12px 15px;margin:0 0 18px;border-radius:10px;font-size:12px;border:1px solid transparent}.alert-success{background:#ecf8f0;border-color:#cbe8d4;color:#236643}.alert-error{background:#fff1ef;border-color:#f7d3cd;color:#a43a32}.alert-info{background:#eff6ff;border-color:#d9e7ff;color:#285586}.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 20px;text-align:center;color:var(--admin-muted)}.admin-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;margin-bottom:12px;background:#f0f6f1;color:var(--admin-green);font-size:24px}.admin-empty strong{color:var(--admin-ink);font-size:14px}.admin-empty p{max-width:340px;margin:6px 0 12px;font-size:12px}.admin-empty a{font-size:12px;font-weight:700}.compact-empty{padding:28px 16px}.compact-empty>span{display:none}.table-responsive{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{text-align:left;padding:12px 16px;color:#8b9a91;background:#fafcfb;border-top:1px solid #eef2ef;border-bottom:1px solid #eef2ef;font-size:10px;letter-spacing:.45px;font-weight:700;white-space:nowrap}.admin-table td{padding:15px 16px;border-bottom:1px solid #eff3f0;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fcfdfc}.table-primary-text{max-width:310px;color:#2c3f35;font-weight:700;font-size:12px;line-height:1.45}.table-subtext{margin-top:5px;font-size:10px;color:#91a096}.table-date{color:#728177;white-space:nowrap;font-size:11px}.table-action{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f0f7f2;font-size:17px;font-weight:700}.table-action:hover{background:var(--admin-green);color:#fff}.status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;font-size:10px;line-height:1.2;font-weight:700;white-space:nowrap}.status-menunggu{color:#98631a;background:#fff4db}.status-validasi{color:#3265a0;background:#eaf3ff}.status-proses{color:#7a54a2;background:#f4ecfc}.status-selesai{color:#25734b;background:#e7f7ec}.status-gagal{color:#9f4848;background:#ffeded}
/* Dashboard */
.welcome-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 30px;margin-bottom:22px;border-radius:16px;background:linear-gradient(110deg,#155e43,#237451);color:#fff}.welcome-label{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#b9deca}.welcome-banner h2{margin:8px 0 7px;font-size:24px;letter-spacing:-.7px}.welcome-banner p{max-width:590px;margin:0;color:#d3e9db;font-size:12px}.welcome-icon{display:grid;place-items:center;flex:none;width:70px;height:70px;border-radius:22px;background:rgba(255,255,255,.13);color:#ffcf9e;font-size:42px;transform:rotate(8deg)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat-card{padding:19px 19px 17px;background:#fff;border:1px solid var(--admin-line);border-radius:14px;box-shadow:var(--admin-shadow)}.stat-icon{display:grid;place-items:center;width:37px;height:37px;margin-bottom:14px;border-radius:11px;font-size:20px}.stat-total .stat-icon{background:#e9f4ed;color:#19734d}.stat-pending .stat-icon{background:#fff2db;color:#b47921}.stat-process .stat-icon{background:#f0eafa;color:#7e5aae}.stat-done .stat-icon{background:#e6f7ed;color:#27834f}.stat-card>span{display:block;color:#718077;font-size:11px}.stat-card>strong{display:block;margin:5px 0 4px;font-size:29px;line-height:1.1;letter-spacing:-1px}.stat-card>small{font-size:10px;color:#9ba69f}.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(265px,.8fr);gap:20px;align-items:start}.latest-panel{overflow:hidden}.dashboard-side{display:grid;gap:18px}.followup-card{display:flex;gap:14px;padding:21px}.followup-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:#fff3e7;color:#cc7836;font-size:23px}.followup-card h2{margin:2px 0 3px;font-size:14px}.followup-number{display:block;margin:6px 0 1px;font-size:27px;line-height:1.1}.followup-card p{margin:4px 0 13px;color:var(--admin-muted);font-size:11px}.status-summary{padding:21px}.status-summary h2{margin:0 0 19px;font-size:15px}.summary-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0f3f1;font-size:11px}.summary-line span{display:flex;align-items:center;gap:9px;color:#738178}.summary-line strong{font-size:12px}.summary-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.dot-pending{background:#e9a743}.dot-process{background:#9673bf}.dot-done{background:#4fa874}.dot-failed{background:#d16f6f}.summary-link{display:inline-block;margin-top:17px;font-size:11px;font-weight:700}
/* Filters, list and pagination */
.list-panel{overflow:hidden}.filter-bar{display:flex;align-items:flex-end;gap:13px;padding:0 23px 20px}.filter-search{flex:1;min-width:160px}.filter-status{width:235px}.filter-bar label,.chat-filter label{display:block;margin-bottom:7px;color:#586a5f;font-size:11px;font-weight:700}.search-input-wrap{display:flex;align-items:center;gap:9px;border:1px solid #dfe8e2;border-radius:9px;padding:0 12px;background:#fff}.search-input-wrap:focus-within{border-color:#6da78b;box-shadow:0 0 0 3px rgba(33,116,78,.08)}.search-input-wrap span{font-size:20px;color:#8a9a90}.search-input-wrap input{width:100%;height:39px;border:0;outline:0;background:transparent;font-size:12px;color:var(--admin-ink)}.filter-status select,.chat-filter select,.admin-form select{width:100%;height:41px;padding:0 12px;border:1px solid #dfe8e2;border-radius:9px;color:#43554a;background:#fff;outline:none;font-size:12px}.filter-status select:focus,.admin-form select:focus{border-color:#6da78b;box-shadow:0 0 0 3px rgba(33,116,78,.08)}.filter-submit{height:41px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 23px;border-top:1px solid #edf2ee;color:#87958c;font-size:11px}.pagination-actions{display:flex;gap:8px}.pagination-actions a{display:inline-flex;padding:8px 11px;border:1px solid #e0e9e3;border-radius:8px;font-weight:700;background:#fff}.pagination-actions a:hover{background:var(--admin-green-soft)}
/* Detail report */
.detail-admin-back{display:flex;justify-content:space-between;gap:15px;margin:-4px 0 18px;font-size:12px;font-weight:700}.report-detail-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 27px;margin-bottom:20px;border-radius:14px;background:#fff;border:1px solid var(--admin-line);box-shadow:var(--admin-shadow)}.report-id-line{font-size:10px;font-weight:800;letter-spacing:1px;color:#7a9385}.report-id-line span{padding:0 5px;color:#bac6be}.report-detail-banner h2{margin:8px 0;font-size:23px;letter-spacing:-.7px}.report-detail-banner p{margin:0;color:#8a9990;font-size:11px}.report-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:19px;align-items:start}.report-detail-main,.report-detail-side{display:grid;gap:18px;min-width:0}.detail-info-panel{padding-bottom:22px}.report-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:0 23px 18px}.report-info-item{display:grid;gap:5px}.report-info-item span,.report-description>span,.report-coordinate span{font-size:10px;color:#8c9b92;font-weight:700}.report-info-item strong{font-size:12px;font-weight:700;overflow-wrap:anywhere}.report-description{padding:17px 23px 0;border-top:1px solid #eff3f0;margin-top:0}.report-description p{margin:8px 0 0;font-size:13px;line-height:1.75;overflow-wrap:anywhere}.report-coordinate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 23px 0;padding:13px 14px;background:#f5faf6;border-radius:10px}.report-coordinate>div{display:grid;gap:4px;min-width:0}.report-coordinate strong{font-size:11px;overflow-wrap:anywhere}.report-coordinate>a{flex:none;font-size:11px;font-weight:700}.admin-report-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.admin-report-photos a{display:block;overflow:hidden;border-radius:9px;background:#edf3ee;aspect-ratio:1.15}.admin-report-photos img{display:block;width:100%;height:100%;object-fit:cover}.admin-form{padding:0 23px 23px}.admin-form label{display:block;margin:13px 0 7px;font-size:11px;font-weight:700;color:#516357}.admin-form textarea,.chat-reply-form textarea{display:block;width:100%;min-height:95px;resize:vertical;padding:12px 13px;border:1px solid #dfe8e2;border-radius:9px;outline:0;color:var(--admin-ink);font-size:12px;line-height:1.6}.admin-form textarea:focus,.chat-reply-form textarea:focus{border-color:#6da78b;box-shadow:0 0 0 3px rgba(33,116,78,.08)}.admin-form select{margin-bottom:2px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.form-footer small{color:#99a59d;font-size:10px}.report-detail-side .panel-heading{padding-bottom:12px}.report-detail-side .panel-heading p{max-width:250px;line-height:1.5}.status-update-panel .admin-form{padding-top:0}.status-update-panel .admin-form label:first-of-type{margin-top:0}.status-update-panel .admin-form .admin-btn{margin-top:16px}.admin-timeline{padding:0 22px 20px}.admin-timeline-item{position:relative;display:flex;gap:12px;padding:0 0 19px 2px}.admin-timeline-item:not(:last-child):before{content:'';position:absolute;left:6px;top:14px;bottom:-1px;width:1px;background:#e1eae3}.timeline-dot{position:relative;z-index:1;flex:none;width:10px;height:10px;border:2px solid #d1e7d8;border-radius:50%;background:#34835a;margin-top:5px}.admin-timeline-item>div{min-width:0;display:grid;gap:4px}.admin-timeline-item strong{font-size:11px}.admin-timeline-item time,.admin-timeline-item small{font-size:10px;color:#8b9a90}.admin-timeline-item p{margin:3px 0 0;font-size:11px;line-height:1.6;color:#5f7065;overflow-wrap:anywhere}.admin-comment-list{padding:0 22px 17px}.admin-comment{padding:15px 0;border-top:1px solid #edf2ee}.admin-comment-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-comment-top>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.admin-comment-top strong{font-size:11px}.admin-comment-top time{font-size:10px;color:#94a097;white-space:nowrap}.admin-comment>p{margin:9px 0 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.comment-type-tag,.comment-op-tag,.comment-hidden-tag{display:inline-flex;padding:3px 6px;border-radius:5px;font-size:8px;font-weight:800;letter-spacing:.4px}.comment-type-tag{background:#eef3ef;color:#6b7b70}.comment-op-tag{background:#e7f5ed;color:#24754a}.comment-hidden-tag{background:#fff0ee;color:#b64b40}.comment-hidden{opacity:.8}.comment-hidden>p{color:#7e8b82}
/* Moderation */
.moderation-counts{display:flex;gap:14px;flex-wrap:wrap}.moderation-counts span{display:flex;align-items:center;gap:6px;font-size:10px;color:#79877f}.moderation-list{padding:0 23px}.moderation-item{display:flex;gap:13px;padding:20px 0;border-top:1px solid #edf2ee}.moderation-item:first-child{border-top:1px solid #edf2ee}.moderation-avatar{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;background:#edf6ef;color:var(--admin-green);font-weight:800}.moderation-content{min-width:0;flex:1}.moderation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.moderation-author{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.moderation-author strong{font-size:12px}.moderation-head time{font-size:10px;color:#93a097;white-space:nowrap}.moderation-report{margin:7px 0 8px;font-size:10px;color:#839188}.moderation-report a{font-weight:700}.moderation-text{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.moderation-hidden .moderation-text{color:#87948b}.moderation-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.moderation-actions>a{font-size:10px;font-weight:700}.moderation-actions form{margin:0}
/* Chat */
.chat-admin-layout{display:grid;grid-template-columns:minmax(255px,.82fr) minmax(0,1.5fr);gap:18px;align-items:stretch}.chat-list-panel,.chat-conversation-panel{overflow:hidden;min-height:570px}.chat-filter{padding:0 20px 14px}.chat-filter select{height:38px}.chat-session-list{border-top:1px solid #edf2ee}.chat-session-item{display:flex;align-items:flex-start;gap:10px;padding:15px 16px;border-bottom:1px solid #eff3f0;color:var(--admin-ink);transition:background .15s}.chat-session-item:hover{background:#f8fbf8}.chat-session-item.selected{background:#ebf6ee;border-left:3px solid var(--admin-green);padding-left:13px}.chat-session-avatar{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:12px;background:#eff6f0;color:var(--admin-green);font-size:19px}.chat-session-avatar.large{width:42px;height:42px}.chat-session-info{display:grid;gap:4px;min-width:0;flex:1}.chat-session-info strong{font-size:11px}.chat-session-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:#738278;font-size:10px}.chat-session-info em{font-size:9px;color:#9aa69e;font-style:normal}.chat-session-time{font-size:9px;color:#95a198;white-space:nowrap}.chat-needs-reply-dot{display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:#ed8d47;vertical-align:middle}.chat-conversation-panel{display:flex;flex-direction:column}.chat-conversation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid #edf2ee}.chat-conversation-head>div{display:flex;align-items:center;gap:11px;min-width:0}.chat-conversation-head h2{margin:0 0 3px;font-size:14px}.chat-conversation-head p{margin:0;font-size:10px;color:#8b9a91}.chat-status{padding:5px 8px;border-radius:6px;font-size:9px;font-weight:700;white-space:nowrap}.chat-status-active{background:#e7f7eb;color:#2c784d}.chat-status-closed{background:#f0f2f0;color:#7b8880}.chat-expiry-note{padding:10px 22px;background:#fbfdfb;border-bottom:1px solid #edf2ee;color:#7e8d83;font-size:10px}.chat-message-list{display:flex;flex-direction:column;gap:16px;flex:1;min-height:255px;max-height:485px;overflow-y:auto;padding:22px;background:#f8faf8}.chat-message{display:flex;flex-direction:column;max-width:82%;gap:5px}.message-admin{align-self:flex-end;align-items:flex-end}.message-citizen{align-self:flex-start}.chat-message-meta{display:flex;gap:10px;align-items:center;font-size:9px;color:#8a9990}.chat-message-meta strong{color:#526459;font-size:10px}.chat-bubble{padding:11px 13px;border-radius:12px;background:#fff;border:1px solid #e7eee9;box-shadow:0 2px 7px rgba(25,67,45,.025);font-size:12px;line-height:1.65;overflow-wrap:anywhere}.message-admin .chat-bubble{border-color:#d7eadc;background:#eaf6ee;border-top-right-radius:4px}.message-citizen .chat-bubble{border-top-left-radius:4px}.chat-reply-form{padding:18px 21px 13px;border-top:1px solid #e8efea}.chat-reply-form label{display:block;margin-bottom:7px;font-size:11px;font-weight:700}.chat-reply-form textarea{min-height:75px}.chat-reply-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px}.chat-reply-footer small{color:#97a39b;font-size:10px}.close-chat-form{display:flex;justify-content:flex-end;padding:0 21px 18px}.chat-closed-notice{margin:15px 20px;padding:12px;border-radius:9px;background:#fff3e7;color:#8c622e;font-size:11px}.chat-no-selection{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:35px;text-align:center}.chat-empty-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:17px;border-radius:22px;background:#eef7f0;color:var(--admin-green);font-size:30px}.chat-no-selection h2{margin-bottom:7px;font-size:16px}.chat-no-selection p{max-width:310px;margin:0;color:#87958c;font-size:12px}
/* Login and one-time setup */
.login-body{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#fff}.login-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:36px 7.2vw 25px;background:#edf6ef;min-height:100vh}.login-visual-brand{display:flex;align-items:center;gap:8px;color:var(--admin-ink);font:800 20px 'Manrope',sans-serif;letter-spacing:-.7px}.login-visual-brand>span:first-child{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--admin-green);color:#fff;font-size:24px}.login-visual-brand>span:last-child{color:var(--admin-orange)}.login-visual-content{width:100%;max-width:520px;margin:auto;position:relative;z-index:2}.login-visual-content h1{margin:11px 0 14px;font-size:clamp(38px,4.5vw,58px);line-height:1.08;letter-spacing:-2.5px}.login-visual-content h1 em{font-style:normal;color:var(--admin-green)}.login-visual-content>p{max-width:410px;color:#6e8275;font-size:14px;line-height:1.8}.login-illustration{position:relative;height:235px;margin-top:35px;overflow:hidden;border-radius:18px;background:linear-gradient(#dceee2,#f8fbf8)}.illus-ground{position:absolute;bottom:-32px;left:-5%;right:-5%;height:105px;background:#b6d6b8;border-radius:50% 50% 0 0}.illus-building{position:absolute;bottom:65px;background:#fff;border:2px solid #c6dec9;border-radius:4px 4px 0 0}.building-one{right:21%;width:90px;height:114px}.building-two{right:5%;width:70px;height:82px;background:#e4f1e6}.illus-building:before{content:'';position:absolute;inset:12px 12px;background:repeating-linear-gradient(90deg,transparent 0 17px,#a8d1b3 18px 23px,transparent 24px 34px),repeating-linear-gradient(0deg,transparent 0 19px,#c2dfc8 20px 25px,transparent 26px 35px)}.illus-tree{position:absolute;bottom:70px;left:17%;z-index:2;color:#3e8e62;font-size:104px;text-shadow:12px 15px 0 #78b884;line-height:1}.login-visual-foot{color:#879b8d;font-size:10px;letter-spacing:.5px}.login-panel{display:flex;align-items:center;justify-content:center;padding:42px 6vw;background:#fff}.login-panel-inner{width:100%;max-width:390px}.login-back{display:inline-block;margin-bottom:39px;color:#809187;font-size:11px;font-weight:700}.login-symbol{display:grid;place-items:center;width:49px;height:49px;margin-bottom:22px;border-radius:15px;background:#eaf5ed;color:var(--admin-green);font-size:29px}.login-panel h2{margin:8px 0 7px;font-size:29px;letter-spacing:-1px}.login-lead{margin:0 0 24px;color:#849187;font-size:12px}.login-form{display:grid;gap:8px}.login-form label{margin-top:7px;color:#43584a;font-size:11px;font-weight:700}.login-form input{width:100%;height:45px;padding:0 13px;border:1px solid #dfe8e2;border-radius:9px;outline:0;font-size:12px;background:#fff}.login-form input:focus{border-color:#6da78b;box-shadow:0 0 0 3px rgba(33,116,78,.08)}.login-form .admin-btn{margin-top:13px;height:46px}.login-security{margin-top:25px;color:#98a49b;font-size:10px;text-align:center}.first-admin-note{margin-top:22px;padding:15px;border-radius:10px;background:#f5faf6;border:1px solid #e4eee6}.first-admin-note strong{font-size:11px}.first-admin-note p{margin:3px 0 7px;color:#87958b;font-size:11px}.first-admin-note a{font-size:11px;font-weight:700}.setup-body{display:flex;align-items:center;justify-content:center;padding:30px;background:linear-gradient(135deg,#edf6ef,#fafcf9)}.setup-card{width:100%;max-width:480px;padding:34px;background:#fff;border:1px solid var(--admin-line);border-radius:18px;box-shadow:0 20px 60px rgba(24,74,46,.09)}.setup-card .login-back{margin-bottom:25px}.setup-card h1{margin:7px 0 9px;font-size:25px;letter-spacing:-.8px}.setup-card .login-lead{line-height:1.7}.setup-card .login-form{margin-top:20px}.setup-warning{margin:15px 0;padding:14px;background:#fff5df;border:1px solid #f1e2b8;border-radius:9px;color:#795b22}.setup-warning strong{font-size:12px}.setup-warning p{margin:4px 0 0;font-size:11px;line-height:1.7}.setup-warning code{font-family:Consolas,monospace}
.admin-sidebar-backdrop{display:none}
@media(max-width:1300px){.admin-content{padding:27px 25px 34px}.admin-topbar{padding:0 25px}.stats-grid{gap:11px}.stat-card{padding:16px}.dashboard-lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr)}.report-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(265px,.85fr)}}
@media(max-width:1100px){.admin-sidebar{width:225px}.admin-main-wrap{margin-left:225px}.admin-brand{font-size:19px;margin-bottom:35px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}.report-detail-grid{grid-template-columns:1fr}.report-detail-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.chat-admin-layout{grid-template-columns:minmax(235px,.8fr) minmax(0,1.3fr)}.chat-session-info small{max-width:130px}}
@media(max-width:800px){.admin-sidebar{transform:translateX(-102%);transition:transform .23s;box-shadow:15px 0 35px rgba(18,49,33,.1)}.admin-sidebar.is-open{transform:translateX(0)}.admin-sidebar-backdrop.is-visible{display:block;position:fixed;z-index:45;inset:0;background:rgba(16,36,25,.36)}.admin-main-wrap{margin-left:0}.admin-topbar{height:72px;padding:0 19px}.admin-menu-toggle{display:block}.topbar-page{margin-right:auto}.admin-content{padding:25px 19px 30px}.admin-footer{padding:16px 19px}.admin-page-heading h1{font-size:25px}.report-detail-side{grid-template-columns:1fr}.login-body{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:35px 24px}.login-back{margin-bottom:29px}.chat-admin-layout{grid-template-columns:1fr}.chat-list-panel{min-height:0;max-height:350px;overflow-y:auto}.chat-conversation-panel{min-height:450px}.chat-session-info small{max-width:unset}.chat-message-list{max-height:430px}}
@media(max-width:600px){.admin-topbar{gap:10px;padding:0 14px}.topbar-page span{font-size:10px}.topbar-page strong{font-size:14px}.user-info{display:none}.topbar-user{gap:7px}.logout-form{margin-left:0}.logout-form button{font-size:10px;padding-left:2px}.admin-content{padding:20px 13px 25px}.admin-page-heading{align-items:flex-start;margin-bottom:20px}.admin-page-heading h1{font-size:22px}.admin-page-heading>.admin-btn{padding:9px;font-size:10px}.admin-footer{padding:14px 13px;font-size:9px}.welcome-banner{padding:21px 19px}.welcome-banner h2{font-size:21px}.welcome-banner p{font-size:11px;max-width:260px}.welcome-icon{width:49px;height:49px;border-radius:15px;font-size:29px}.stats-grid{gap:10px}.stat-card{padding:14px 13px}.stat-icon{width:32px;height:32px;margin-bottom:12px;font-size:17px}.stat-card>span{font-size:10px}.stat-card>strong{font-size:25px}.stat-card>small{font-size:9px}.dashboard-side{grid-template-columns:1fr}.panel-heading{padding:18px 16px 15px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px}.filter-bar{flex-wrap:wrap;padding:0 15px 17px}.filter-search{flex:1 1 100%}.filter-status{flex:1;width:auto}.filter-submit{flex:0 0 auto;padding:0 12px}.admin-table th{padding:10px 12px}.admin-table td{padding:13px 12px}.table-primary-text{max-width:195px}.report-detail-banner{align-items:flex-start;flex-direction:column;padding:20px}.report-detail-banner h2{font-size:20px}.detail-admin-back{font-size:10px}.report-info-grid{padding:0 17px 16px;gap:14px}.report-description{padding:16px 17px 0}.report-coordinate{margin:17px 17px 0;align-items:flex-start;flex-direction:column}.admin-report-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form{padding:0 17px 18px}.form-footer{align-items:flex-start;flex-direction:column}.moderation-counts{gap:8px}.moderation-counts span{font-size:9px}.moderation-list{padding:0 15px}.moderation-item{gap:9px}.moderation-avatar{width:32px;height:32px}.moderation-head{flex-direction:column;gap:5px}.moderation-actions{align-items:flex-start;flex-direction:column}.moderation-actions form{width:100%}.moderation-actions form button{width:100%}.pagination-bar{padding:13px 15px;align-items:flex-start;flex-direction:column}.report-detail-side .panel-heading p{max-width:none}.chat-conversation-head{padding:17px 14px}.chat-expiry-note{padding:10px 14px}.chat-message-list{padding:16px 12px}.chat-reply-form{padding:16px 14px 12px}.chat-reply-footer{align-items:flex-start;flex-direction:column}.close-chat-form{padding:0 14px 15px}.chat-message{max-width:93%}.setup-body{padding:13px}.setup-card{padding:25px 20px}.setup-card h1{font-size:22px}}
