:root{color:#e8eef8;--navy:#081526;--navy2:#0d2340;--panel:#102a4d;--panel2:#0d203a;--line:#24486f;--text:#e8eef8;--muted:#a7bbd3;--blue:#1d75bc;--blue2:#2b93df;--yellow:#facc15;--danger:#dc2626;--ok:#22c55e;background:#081526;font-family:Inter,system-ui,Arial,sans-serif}body{background:radial-gradient(circle at 0 0,#143b67 0,#081526 38%,#050b14 100%);margin:0}main{min-height:100vh}.top{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:auto;padding:16px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 4px 10px #0008);width:62px;height:62px}.brand h1{color:var(--text);margin:0;font-size:24px}.brand p{color:var(--yellow);margin:4px 0 0}.topActions,.row{flex-wrap:wrap;gap:8px;display:flex}.wrap{flex-wrap:wrap}.topActions button,.row button,button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#102a4d;border-radius:12px;align-items:center;gap:6px;padding:10px 14px;display:inline-flex;box-shadow:0 4px 14px #0003}button:hover{border-color:var(--yellow)}button:disabled{opacity:.5;cursor:not-allowed}.primary{color:#fff!important;background:linear-gradient(135deg,#0f5fa8,#123d64)!important;border-color:#4aa3e8!important}.danger{color:#fff!important;background:linear-gradient(135deg,#b42318,#7f1d1d)!important;border-color:#ef4444!important}.big{justify-content:center;width:100%;padding:15px;font-size:18px}.single{max-width:760px;margin:0 auto;padding:12px}.adminWrap{max-width:1120px;margin:0 auto;padding:12px}.card{border:1px solid var(--line);background:linear-gradient(#102a4df5,#0b1d35f5);border-radius:20px;margin:12px 0;padding:18px;box-shadow:0 10px 30px #0004}.card h2{color:#fff;align-items:center;gap:8px;margin:0 0 12px;display:flex}.field{flex-direction:column;gap:6px;margin:12px 0;display:flex}.field span{color:#eaf3ff;font-weight:700}.field small,.muted{color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:#071426;border:1px solid #2b527b;border-radius:12px;padding:12px}input::placeholder,textarea::placeholder{color:#7890aa}textarea{min-height:94px}.check{gap:10px;margin:14px 0;line-height:1.35;display:flex}.notice{border-left:4px solid var(--yellow);background:#0b315c;border-radius:12px;padding:12px}.notice.success{border-color:var(--ok);background:#0b3a27}.active{color:#8ef1b2;font-weight:800}.profileSummary div{flex-direction:column;display:flex}.profileSummary span{color:var(--muted)}.messageBox pre,pre{white-space:pre-wrap;color:#eaf3ff;background:#06101f;border:1px solid #203f62;border-radius:12px;padding:12px;overflow:auto}.modalBackdrop{z-index:20;background:#000a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:linear-gradient(#102a4d,#0a1b31);border-radius:20px;max-width:520px;padding:22px;box-shadow:0 20px 60px #0008}.modal.wide{width:min(860px,94vw);max-width:860px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.smallCards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.patrol{background:#071426;border:1px solid #24486f;border-radius:16px;flex-direction:column;gap:7px;padding:14px;display:flex}.patrol.detailed{gap:8px}.patrol span{color:#dbeafe;font-size:14px}.patrolTop{justify-content:space-between;align-items:center;gap:10px;display:flex}.badge{color:#fde047;background:#142f55;border:1px solid #375f8c;border-radius:999px;padding:4px 9px;font-weight:700}.adminHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.adminHeader h2{margin-bottom:4px}.adminHeader p{color:var(--muted);margin:0}.adminTabs{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.adminTabs button.selected{color:#0b1d35;background:linear-gradient(135deg,#facc15,#f59e0b);border-color:#fef08a;font-weight:800}.spread{justify-content:space-between;align-items:center}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0;display:grid}.stats div{background:#071426;border:1px solid #203f62;border-radius:14px;padding:14px}.stats b{color:#fde047;font-size:24px;display:block}.stats span{color:var(--muted)}.bucketList{gap:8px;display:grid}.bucketList div{background:#071426;border:1px solid #203f62;border-radius:12px;justify-content:space-between;padding:10px 12px;display:flex}.center{text-align:center}.routeStats{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.routeStats span{background:#071426;border:1px solid #203f62;border-radius:999px;padding:8px 12px}.mapBox{background:#071426;border:1px solid #30577f;border-radius:16px;height:360px;margin:12px 0;position:relative;overflow:hidden}.mapBox iframe{filter:saturate(.85)contrast(.95);border:0;width:100%;height:100%;position:absolute;inset:0}.routeOverlay{color:#facc15;filter:drop-shadow(0 0 5px #000);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.routeOverlay polyline{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.routeOverlay circle{stroke:#fff;stroke-width:.8px;vector-effect:non-scaling-stroke}.startDot{fill:#22c55e}.endDot{fill:#ef4444}a{color:#93c5fd}@media (width<=720px){.top{flex-direction:column;align-items:flex-start}.topActions{grid-template-columns:1fr 1fr;width:100%;display:grid}.topActions button{justify-content:center}.brand h1{font-size:20px}.grid2{grid-template-columns:1fr}.adminHeader{flex-direction:column;align-items:flex-start}.single,.adminWrap{padding:8px}.card{border-radius:16px;padding:14px}.mapBox{height:260px}}.patrol{border-left:5px solid var(--structure-accent,var(--yellow));background:linear-gradient(180deg,var(--structure-bg,#f4c43014),#071426 70%)}.addStructureGrid{grid-template-columns:2fr 1fr auto;align-items:end;gap:12px;display:grid}.addStructureButton{justify-content:center;height:46px;margin-bottom:12px}.colorSwatch{vertical-align:-2px;border:1px solid #fff6;border-radius:999px;width:14px;height:14px;margin-right:6px;display:inline-block}@media (width<=720px){.addStructureGrid{grid-template-columns:1fr}.addStructureButton{width:100%;margin-bottom:0}}.auditBadge{color:#fde68a;background:#facc151f;border:1px solid #facc1573;border-radius:999px;width:max-content;max-width:100%;margin:2px 0 4px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.statusBadge{letter-spacing:.02em;text-transform:uppercase}.statusActive{font-weight:900;box-shadow:0 0 0 2px #22c55e38,0 0 16px #22c55e73;color:#04120a!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important;border-color:#86efac!important}.statusClosed{color:#c7d2fe;opacity:.88;background:#142f55;border-color:#375f8c}.statusManual{color:#fecaca!important;background:#4a1d1d!important;border-color:#f87171!important}.statusPending{color:#fde68a!important;background:#3b2f0b!important;border-color:#facc15!important}.statusApproved{color:#bbf7d0!important;background:#0b3a27!important;border-color:#22c55e!important}.statusDenied{color:#fecaca!important;background:#4a1d1d!important;border-color:#ef4444!important}
