.tl{background:#fff;color:#0d2a40;border-radius:26px;box-shadow:0 30px 70px -34px rgba(13,42,64,.55);padding:clamp(1rem,3vw,2rem);max-width:980px;margin:0 auto;font-size:1rem}
.tl *{box-sizing:border-box}
.tl h3{font-size:clamp(1.25rem,3vw,1.6rem);margin:0 0 .35rem;color:#0d2a40}
.tl .sub{color:#486276;margin:0 0 1.1rem}
.tl-bar{display:flex;gap:6px;margin-bottom:1.2rem}.tl-bar i{flex:1;height:6px;border-radius:6px;background:#dbe7f1}.tl-bar i.on{background:linear-gradient(90deg,#f59300,#e2570b)}
.tl-ch{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.tl-c{border:2px solid #cfdde9;background:#f7fbff;border-radius:16px;padding:1rem 1.1rem;text-align:left;cursor:pointer;font:inherit;color:#0d2a40;font-weight:600;line-height:1.35;transition:.15s}
.tl-c small{display:block;font-weight:400;color:#486276;margin-top:.25rem}
.tl-c:hover{border-color:#1769b8}.tl-c.on{border-color:#e2570b;background:#fff4ea;box-shadow:0 0 0 3px rgba(226,87,11,.15)}
.tl-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.tl-row .full{grid-column:1/-1}
@media(max-width:620px){.tl-row{grid-template-columns:1fr}}
.tl label{display:block;font-weight:600;font-size:.92rem;margin:.2rem 0 .3rem}
.tl input,.tl select,.tl textarea{width:100%;font:inherit;padding:.8rem .9rem;border:1.5px solid #cfdde9;border-radius:12px;background:#fff;color:#0d2a40}
.tl input:focus,.tl select:focus,.tl textarea:focus{outline:none;border-color:#1769b8;box-shadow:0 0 0 3px rgba(23,105,184,.18)}
.tl textarea{min-height:84px;resize:vertical}
.tl-err{color:#b3261e;font-size:.9rem;margin:.6rem 0 0;min-height:1.1em}
.tl-nav{display:flex;gap:.7rem;justify-content:space-between;align-items:center;margin-top:1.2rem;flex-wrap:wrap}
.tl-nav .btn{cursor:pointer;border:0;font:inherit}
.tl-back{background:none;border:0;color:#486276;font:inherit;cursor:pointer;text-decoration:underline;padding:.5rem 0}
.tl-map{position:relative;height:clamp(320px,52vh,520px);border-radius:16px;overflow:hidden;border:1.5px solid #cfdde9;margin:.7rem 0;background:#0d2a40}
.tl-map .leaflet-container{height:100%;width:100%;cursor:crosshair}
.tl-tools{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0}
.tl-tools button{border:1.5px solid #cfdde9;background:#fff;border-radius:999px;padding:.5rem .95rem;font:inherit;font-size:.92rem;cursor:pointer;color:#0d2a40}
.tl-tools button:hover{border-color:#1769b8}.tl-tools button.pri{background:#1769b8;color:#fff;border-color:#1769b8}
.tl-res{background:#eef6fc;border:1.5px solid #bcd6ea;border-radius:14px;padding:.8rem 1rem;margin-top:.6rem}
.tl-res b{font-size:1.25rem;color:#1769b8}
.tl-sug{position:absolute;z-index:1000;left:0;right:0;top:100%;background:#fff;border:1.5px solid #cfdde9;border-radius:12px;box-shadow:0 14px 30px -14px rgba(13,42,64,.5);overflow:hidden}
.tl-sug button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:.7rem .9rem;font:inherit;cursor:pointer;color:#0d2a40}.tl-sug button:hover{background:#eef6fc}
.tl-srch{position:relative}
.tl-chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:#486276;margin-top:.8rem}.tl-chk input{width:auto;margin-top:.25rem}
.tl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tl-vtx{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #ffe600;box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.tl-help{font-size:.9rem;color:#486276;margin:.2rem 0 0}
#tool{scroll-margin-top:90px}
body.tl-active .mbar{display:none!important}
.tl input,.tl select,.tl textarea{font-size:16px}
@media(max-width:700px){
.tl{border-radius:20px;padding:1rem .9rem 0}
.tl-c{padding:1.05rem 1rem;min-height:64px}
.tl-nav{position:sticky;bottom:0;z-index:1100;background:#fff;margin:1rem -.9rem 0;padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid #dbe7f1;box-shadow:0 -10px 20px -14px rgba(13,42,64,.35);border-radius:0 0 20px 20px;flex-wrap:nowrap}
.tl-nav .btn{flex:1;text-align:center;padding:1rem .8rem}
.tl-tools button{padding:.7rem 1rem}
.tl-map{height:clamp(300px,46vh,440px)}
}
