*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f7fb;color:#1f2937}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#2563eb)}
.login-box{width:92%;max-width:420px;background:#fff;padding:28px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.topbar{background:#0f172a;color:#fff;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar h1{margin:0}.topbar p{margin:4px 0 0;color:#cbd5e1}
nav a,.logout-link{color:#fff;text-decoration:none;margin-left:8px;padding:9px 14px;border-radius:8px;background:#1e293b;display:inline-block}
nav a.active,nav a:hover{background:#2563eb}.logout-link{background:#dc2626}
.container{width:95%;max-width:1250px;margin:22px auto}.card,.stat-card{background:#fff;padding:20px;border-radius:14px;margin-bottom:20px;box-shadow:0 2px 10px rgba(15,23,42,.08)}
.app-message{display:none;padding:12px;border-radius:10px;margin-bottom:15px}.app-message.success{display:block;background:#dcfce7;color:#166534}.app-message.error{display:block;background:#fee2e2;color:#991b1b}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-card span{display:block;color:#64748b}.stat-card strong{font-size:32px}
label{display:block;margin-top:12px;font-weight:bold}input,select{width:100%;padding:12px;margin-top:6px;border-radius:8px;border:1px solid #cbd5e1;font-size:15px}
button,.button-link{margin-top:14px;padding:12px 18px;border:none;background:#2563eb;color:#fff;border-radius:8px;cursor:pointer;font-size:15px;display:inline-block;text-decoration:none}
button:hover,.button-link:hover{background:#1d4ed8}button.secondary{background:#64748b}button.danger{background:#dc2626}button.success{background:#16a34a}
#map{width:100%;height:560px;border-radius:12px}#result{margin-top:20px;padding:15px;background:#eef2ff;border-radius:10px;display:none}
.status{margin-top:12px;padding:10px;border-radius:8px;display:none}.status.loading{display:block;background:#fef9c3;color:#854d0e}.status.success{display:block;background:#dcfce7;color:#166534}.status.error{display:block;background:#fee2e2;color:#991b1b}
.table-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.table-header input{max-width:330px}.table-wrapper{overflow-x:auto}
table{width:100%;border-collapse:collapse;margin-top:15px}th,td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left}th{background:#f8fafc}.action-btn{padding:8px 10px;margin:2px;font-size:13px}.hint{background:#f1f5f9;padding:10px;border-radius:8px}.note{color:#64748b;font-size:14px}
@media(max-width:700px){.stats{grid-template-columns:1fr}button,.button-link{width:100%;text-align:center}#map{height:430px}}
