@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0e12;--bg2:#13161d;--bg3:#1a1e27;--bg4:#232833;--border:#252a35;--border2:#333945;--text:#e9eaf0;--text2:#9ba1b4;--text3:#5e6478;--accent:#e85d26;--accent2:#ff7a45;--accent-bg:#e85d261a;--accent-border:#e85d264d;--green:#22c55e;--green-bg:#22c55e1a;--yellow:#eab308;--yellow-bg:#eab3081a;--red:#ef4444;--red-bg:#ef44441a;--blue:#3b82f6;--blue-bg:#3b82f61a;--r:8px;--rs:5px;--font:"Outfit",system-ui,sans-serif;--mono:"JetBrains Mono",monospace}html,body,#root{font-family:var(--font);background:var(--bg);color:var(--text);height:100%;overflow:hidden}.app{width:100%;height:100vh;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-mark{background:var(--accent);color:#fff;letter-spacing:-.04em;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:800;display:flex}.logo-text h1{letter-spacing:.02em;color:var(--text);font-size:14px;font-weight:700}.logo-text span{color:var(--text3);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:400}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:250px;display:flex;overflow-y:auto}.sidebar-head{border-bottom:1px solid var(--border);padding:20px 18px}.sidebar-nav{flex:1;padding:6px 8px;overflow-y:auto}.sidebar-nav .section{text-transform:uppercase;letter-spacing:.08em;color:var(--text3);padding:18px 12px 6px;font-size:10px;font-weight:600}.sidebar-nav button,.sidebar-nav .nav-btn{width:100%;color:var(--text2);font-size:13px;font-family:var(--font);border-radius:var(--rs);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav button:hover,.sidebar-nav .nav-btn:hover{background:var(--bg3);color:var(--text)}.sidebar-nav button.active,.sidebar-nav .nav-btn.active{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);font-weight:600}.sidebar-foot{border-top:1px solid var(--border);color:var(--text3);padding:14px 18px;font-size:10px}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.topbar h2{font-size:16px;font-weight:600}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-user .avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.content{flex:1;padding:24px;overflow-y:auto}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:16px;padding:20px}.card-h{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-h h3{font-size:14px;font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:16px 20px}.stat .l{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.stat .v{font-size:26px;font-weight:700;font-family:var(--mono);letter-spacing:-.02em;margin-top:4px}.stat .s{color:var(--text2);margin-top:2px;font-size:11px}table{border-collapse:collapse;width:100%}th{text-transform:uppercase;letter-spacing:.06em;color:var(--text3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:10px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px;font-size:13px}tr:hover td{background:#ffffff04}.mono{font-family:var(--mono);font-size:12px}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.b{white-space:nowrap;border-radius:100px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.b-g{background:var(--green-bg);color:var(--green)}.b-y{background:var(--yellow-bg);color:var(--yellow)}.b-r{background:var(--red-bg);color:var(--red)}.b-b{background:var(--blue-bg);color:var(--blue)}.b-a{background:var(--accent-bg);color:var(--accent)}.b-x{background:var(--bg4);color:var(--text2)}.btn{border-radius:var(--rs);font-size:13px;font-weight:500;font-family:var(--font);border:1px solid var(--border);cursor:pointer;background:var(--bg3);color:var(--text);align-items:center;gap:6px;padding:8px 16px;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--border2);background:var(--bg4)}.btn-p{background:var(--accent);border-color:var(--accent);color:#fff}.btn-p:hover{background:var(--accent2);border-color:var(--accent2)}.btn-sm{padding:5px 10px;font-size:12px}.btn-d{background:var(--red-bg);color:var(--red);border-color:#0000}.btn-d:hover{background:var(--red);color:#fff}.fg{flex-direction:column;gap:5px;display:flex}.fg label{text-transform:uppercase;letter-spacing:.06em;color:var(--text3);font-size:10px;font-weight:600}.fg input,.fg select,.fg textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);color:var(--text);font-size:13px;font-family:var(--font);outline:none;padding:9px 12px;transition:border .15s}.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent)}.fg textarea{resize:vertical;min-height:80px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);width:92%;max-width:640px;max-height:85vh;padding:24px;overflow-y:auto}.modal h3{align-items:center;gap:8px;margin-bottom:20px;font-size:16px;font-weight:600;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.cl-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.cl-item .cb{border:2px solid var(--border2);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.cl-item.done .cb{background:var(--green);border-color:var(--green)}.cl-item.done span{color:var(--text3);text-decoration:line-through}.map-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);height:420px;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);opacity:.25;background-size:50px 50px;position:absolute;inset:0}.pin{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:10px;font-weight:700;transition:transform .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 10px #00000080}.pin:hover{z-index:10;transform:translate(-50%,-50%)scale(1.3)}.pin .pulse{border:2px solid;border-radius:50%;width:100%;height:100%;animation:2s infinite pulse;position:absolute}@keyframes pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.mob-frame{background:var(--bg);border:2px solid var(--border2);border-radius:28px;flex-direction:column;width:100%;max-width:390px;min-height:640px;margin:0 auto;display:flex;overflow:hidden}.mob-head{background:linear-gradient(135deg,var(--accent),#c44518);text-align:center;padding:20px 18px 16px}.mob-head h3{color:#fff;font-size:16px;font-weight:600}.mob-head p{color:#ffffffb3;margin-top:2px;font-size:11px}.mob-body{flex:1;max-height:440px;padding:14px;overflow-y:auto}.mob-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;padding:14px}.mob-nav{border-top:1px solid var(--border);background:var(--bg2);display:flex}.mob-nav button{color:var(--text3);font-size:9px;font-family:var(--font);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 4px;font-weight:500;display:flex}.mob-nav button.active{color:var(--accent)}.rpt{color:#1a1a1a;border-radius:var(--r);background:#fff;max-width:720px;padding:32px}.rpt h2{color:#e85d26;border-bottom:2px solid #e85d26;margin:20px 0 12px;padding-bottom:6px;font-size:18px}.rpt table{border:1px solid #ddd;margin-bottom:12px}.rpt th{color:#333;background:#f5f5f5;border-bottom:1px solid #ddd;font-size:11px}.rpt td{color:#333;border-bottom:1px solid #eee;font-size:13px}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(#e85d260f,#0000 70%);width:80%;height:200%;position:absolute;top:-50%;right:-30%}.login-box{background:var(--bg2);border:1px solid var(--border);z-index:1;border-radius:12px;width:400px;max-width:92%;padding:40px;position:relative}.login-box .logo{justify-content:center;margin-bottom:28px}.login-box h2{text-align:center;margin-bottom:6px;font-size:20px;font-weight:600}.login-box .sub{text-align:center;color:var(--text2);margin-bottom:24px;font-size:13px}.complaint-form{max-width:600px}.complaint-form .top-banner{background:linear-gradient(135deg,var(--accent),#c44518);border-radius:var(--r);color:#fff;margin-bottom:20px;padding:24px}.complaint-form .top-banner h3{font-size:18px;font-weight:600}.complaint-form .top-banner p{opacity:.8;margin-top:4px;font-size:12px}.progress-bar{background:var(--bg);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.progress-bar .fill{border-radius:3px;height:100%;transition:width .4s}.mob-toggle{display:none}@media (width<=768px){.sidebar{z-index:100;transition:left .2s;position:fixed;top:0;bottom:0;left:-260px}.sidebar.open{left:0}.mob-toggle{display:flex}.grid-2{grid-template-columns:1fr}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out fadeIn}
