:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#eef3f8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.2fr) minmax(390px,.8fr);background:#f7f9fc}.login-brand{padding:9vh 9vw;color:#fff;background:radial-gradient(circle at 15% 15%,#2187b7 0,transparent 30%),linear-gradient(145deg,#092d49,#071d32 64%,#0b4059);display:flex;flex-direction:column;justify-content:center}.login-brand>img{width:58px;filter:brightness(0) invert(1);margin-bottom:28px}.login-brand>span,.eyebrow{letter-spacing:.18em;font-size:12px;font-weight:800;color:#43c6e8}.login-brand h1{font-size:clamp(38px,4.6vw,66px);line-height:1.03;margin:20px 0}.login-brand h1 b{color:#44c3e5}.login-brand p{max-width:560px;font-size:17px;line-height:1.7;color:#c5d5df}.login-card{align-self:center;width:min(430px,calc(100% - 48px));margin:auto;padding:48px;background:#fff;border-radius:24px;box-shadow:0 24px 70px #0b294026}.brand-mobile{display:none}.login-card h2{font-size:31px;margin:10px 0 28px}.login-card label,.filters-panel label{display:grid;gap:8px;margin:16px 0;font-weight:700;font-size:13px}.login-card input,.filters-panel select{width:100%;height:48px;border:1px solid #dbe3eb;border-radius:11px;padding:0 13px;background:#fff;color:#172033}.login-card input:focus,.filters-panel select:focus,.search-wrap input:focus{outline:3px solid #32afd229;border-color:#199cc3}.login-card button,.panel-actions button{border:0;border-radius:11px;background:#087da5;color:#fff;height:49px;width:100%;font-weight:800;cursor:pointer}.login-card small{display:block;text-align:center;color:#778394;margin-top:18px}.form-error{min-height:20px;color:#c62828;font-size:13px}.app,#map{position:fixed;inset:0}.app[hidden],.login-shell[hidden],[hidden]{display:none!important}.topbar{position:fixed;z-index:800;left:18px;right:18px;top:18px;height:66px;background:#fffffff2;backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:0 10px 34px #0b294026;border-radius:16px;display:flex;align-items:center;gap:16px;padding:10px 14px}.logo{display:flex;align-items:center;gap:10px;min-width:180px}.logo img{width:36px;height:36px}.logo span{display:grid;line-height:1}.logo b{font-size:18px;color:#083653}.logo small{font-size:9px;letter-spacing:.14em;color:#49829b;margin-top:5px}.search-wrap{height:44px;display:flex;flex:1;max-width:620px;border:1px solid #d8e2ea;border-radius:11px;overflow:hidden;background:#fff}.search-wrap input{border:0;padding:0 14px;min-width:0;flex:1}.search-wrap button,.icon-button,.user button{border:0;background:#087da5;color:white;font-weight:800;padding:0 18px;cursor:pointer}.icon-button{height:44px;border-radius:11px}.user{margin-left:auto;display:flex;gap:12px;align-items:center;color:#445568;font-size:13px}.user button{height:36px;border-radius:9px;background:#edf4f7;color:#0a6686}.panel{position:fixed;z-index:750;top:102px;bottom:18px;width:min(370px,calc(100vw - 36px));background:#fffffff5;backdrop-filter:blur(15px);border:1px solid white;border-radius:18px;box-shadow:0 18px 55px #0b294033;padding:23px;overflow:auto}.filters-panel{left:18px;transform:translateX(calc(-100% - 28px));transition:.24s ease}.filters-panel.open{transform:none}.detail-panel{right:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e6edf2;padding-bottom:15px;margin-bottom:18px}.panel-head small{color:#1688aa;letter-spacing:.16em;font-weight:900}.panel-head h2{margin:5px 0 0;font-size:22px}.close-panel{border:0;background:#edf3f6;color:#426172;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:23px}.panel-actions .secondary{background:#edf3f6;color:#375264}.result-count{padding:13px;background:#e9f7fb;color:#087493;border-radius:10px;text-align:center;font-size:13px;font-weight:800}.status-card{border-left:5px solid #11a3c7;background:#edf8fb;padding:14px 16px;border-radius:8px;display:grid;gap:5px}.status-card span{font-size:11px;color:#62808e;text-transform:uppercase}.detail-panel dl{margin:18px 0}.detail-panel dl div{display:grid;grid-template-columns:42% 58%;gap:8px;padding:12px 0;border-bottom:1px solid #e9eef2}.detail-panel dt{font-size:12px;color:#6c7b87}.detail-panel dd{font-size:13px;font-weight:750;margin:0;text-align:right;overflow-wrap:anywhere}.map-tools{position:fixed;z-index:700;left:18px;bottom:18px;background:#fff;border-radius:11px;padding:5px;box-shadow:0 8px 26px #0b29402b;display:flex}.map-tools button{border:0;background:transparent;padding:9px 13px;border-radius:8px;font-weight:750;color:#526675;cursor:pointer}.map-tools button.active{background:#0a779b;color:#fff}.loader{position:fixed;z-index:1000;inset:0;background:#f8fbfd;display:flex;align-items:center;justify-content:center;gap:15px;transition:.35s}.loader img{width:45px;animation:pulse 1.4s infinite}.loader.done{opacity:0;visibility:hidden}.toast{position:fixed;z-index:1100;left:50%;bottom:28px;transform:translateX(-50%);background:#102e40;color:white;padding:13px 19px;border-radius:10px;box-shadow:0 8px 24px #0004}.leaflet-control-attribution{font-size:9px!important}@keyframes pulse{50%{transform:scale(1.12);opacity:.6}}@media(max-width:760px){.login-shell{display:block;padding:24px;background:linear-gradient(160deg,#083451,#071e32)}.login-brand{display:none}.login-card{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:32px 25px}.brand-mobile{display:flex;align-items:center;gap:10px;color:#0b3b56;font-size:21px;margin-bottom:25px}.brand-mobile img{width:36px}.topbar{left:10px;right:10px;top:10px;height:auto;min-height:62px;gap:8px;flex-wrap:wrap}.logo{min-width:auto}.logo span{display:none}.search-wrap{order:4;flex-basis:100%;max-width:none}.user span{display:none}.user{margin-left:0}.icon-button{margin-left:auto}.panel{top:132px;left:10px!important;right:10px!important;bottom:10px;width:auto}.detail-panel{top:auto;height:min(62vh,540px)}.map-tools{left:10px;bottom:10px}.leaflet-bottom.leaflet-right{bottom:52px}.two-cols{grid-template-columns:1fr 1fr}}
