.telecom-banner{background:radial-gradient(circle at 82% 25%,rgba(36,193,213,.24),transparent 28%),linear-gradient(135deg,#02101f,#064b7d)}
.telecom-section{padding-top:48px}.telecom-section .container-fluid{max-width:1850px}
.telecom-lab{display:grid;grid-template-columns:350px minmax(0,1fr);overflow:hidden;border:1px solid #bcc9d5;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(3,24,46,.18)}
.telecom-controls{max-height:1120px;overflow:auto;padding:1.15rem;background:linear-gradient(180deg,#f9fbfd,#edf2f6);border-right:1px solid #bdcad6;scrollbar-width:thin}
.project-heading{position:sticky;top:-1.15rem;z-index:3;margin:-1.15rem -1.15rem 1rem;padding:1rem 1.15rem .85rem;border-bottom:1px solid #c8d3dc;background:#fff}.project-heading h2{margin:0;font-size:1.25rem;color:#102b43}
.form-subtitle{display:block;margin:.3rem 0 .65rem;color:#1764a5;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.telecom-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .65rem}.telecom-controls label{display:block;margin-bottom:.65rem;color:#314a60;font-size:.68rem;font-weight:800}.telecom-controls input,.telecom-controls select{width:100%;margin-top:.25rem;padding:.55rem .58rem;border:1px solid #c8d5df;border-radius:7px;background:#fff;color:#17324a;font-size:.72rem;outline:0}.telecom-controls input:focus,.telecom-controls select:focus{border-color:#1877c9;box-shadow:0 0 0 3px rgba(24,119,201,.12)}.telecom-controls hr{margin:.8rem 0;border-color:#c5d1db}.map-hint{padding:.55rem;border-left:3px solid #2788d7;border-radius:5px;background:#e6f2fc;color:#45657e;font-size:.63rem}.calculate-telecom{width:100%;padding:.72rem;border:0;border-radius:8px;background:linear-gradient(135deg,#0877c7,#064c8f);color:#fff;font-size:.75rem;font-weight:900;box-shadow:0 7px 18px rgba(8,92,158,.25)}
.project-file-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.55rem}.project-file-actions button{padding:.58rem .4rem;border:1px solid #b7c7d4;border-radius:7px;background:#fff;color:#294a64;font-size:.62rem;font-weight:850}.project-file-actions button:hover{border-color:#1674b8;background:#e8f4fc;color:#07588f}.project-file-actions i{margin-right:.2rem}
.telecom-main{min-width:0;display:grid;grid-template-rows:auto 640px auto auto auto;background:#dce5ec}.atoll-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.55rem .7rem;border-bottom:1px solid #9fadb9;background:linear-gradient(#fff,#e8edf1)}.atoll-title{display:flex;align-items:center;gap:.55rem;min-width:180px;color:#18344d}.atoll-title>i{font-size:1.25rem;color:#168344}.atoll-title strong,.atoll-title small{display:block}.atoll-title strong{font-size:.76rem}.atoll-title small{color:#657c8e;font-size:.58rem}.prediction-tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;padding:2px}.prediction-tabs button,.map-actions button{border:1px solid transparent;background:transparent;color:#39536a;font-size:.64rem;font-weight:800;white-space:nowrap}.prediction-tabs button{padding:.48rem .55rem;border-radius:5px}.prediction-tabs button:hover{background:#d9e8f4}.prediction-tabs button.active{border-color:#166fb5;background:#1c7fc7;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.25)}.prediction-tabs i{margin-right:.2rem}.map-actions{display:flex;gap:3px}.map-actions button{width:32px;height:30px;border-color:#bac7d0;border-radius:4px;background:#fff}
.map-workspace{position:relative;min-height:640px}#telecom-map{width:100%;height:640px;z-index:1;background:#acd0e7}.prediction-panel{position:absolute;z-index:500;top:12px;right:12px;width:230px;padding:.75rem;border:1px solid rgba(85,109,129,.45);border-radius:7px;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(4,25,43,.2);backdrop-filter:blur(4px)}.prediction-panel>span{display:block;color:#6e8190;font-size:.55rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.prediction-panel>strong{display:block;margin:.18rem 0 .3rem;color:#17334c;font-size:.75rem}.prediction-panel>p{margin:0 0 .55rem;color:#607689;font-size:.61rem;line-height:1.4}.dynamic-legend{padding-top:.5rem;border-top:1px solid #d8e0e6}.legend-row{display:flex;align-items:center;gap:.4rem;margin:.25rem 0;color:#3c566c;font-size:.6rem}.legend-swatch{flex:0 0 25px;height:9px;border:1px solid rgba(0,0,0,.18)}.legend-line{flex:0 0 25px;border-top:2px solid #176cb0}.legend-tower{flex:0 0 25px;text-align:center;font-size:.8rem}.legend-note{display:block;margin-top:.4rem;color:#718596;font-size:.56rem;line-height:1.35}
.telecom-results{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;padding:.7rem}.telecom-results article{padding:.68rem;border:1px solid #c8d3dc;border-radius:8px;background:#fff}.telecom-results article.primary{border-color:#086db6;background:#086db6;color:#fff}.telecom-results span,.telecom-results strong{display:block}.telecom-results span{color:#6f8292;font-size:.55rem;font-weight:800;text-transform:uppercase}.telecom-results .primary span{color:#d6ebfa}.telecom-results strong{margin-top:.12rem;font-size:1rem}.telecom-report{margin:0 .7rem .7rem;overflow:hidden;border-radius:8px;background:#071826;color:#c7eed2}.telecom-report>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .7rem;background:#102d45;color:#fff;font-size:.65rem}.telecom-report pre{max-height:190px;overflow:auto;margin:0;padding:.7rem .8rem;white-space:pre-wrap;font:500 .68rem/1.5 Consolas,monospace}.telecom-credit{margin:0;padding:.48rem .8rem;text-align:right;background:#071826;color:#71899f;font-size:.58rem}.telecom-credit strong{color:#f3c143}
.radio-site-icon{width:34px!important;height:34px!important;display:grid!important;place-items:center;border:2px solid #fff;border-radius:50%;background:#0b293f;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.45)}.radio-site-icon span{font-size:.9rem}.radio-site-icon b{position:absolute;right:-7px;top:-7px;min-width:18px;height:18px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#f2c13e;color:#10283b;font-size:.52rem}.frequency-label,.cell-label{border:1px solid rgba(255,255,255,.85);border-radius:4px;box-shadow:0 2px 7px rgba(0,0,0,.28);color:#fff;font-size:.58rem;font-weight:900;line-height:1.12;padding:3px 4px;text-align:center;white-space:nowrap}.frequency-label:before,.cell-label:before{display:none}.cell-label{background:rgba(7,36,58,.78)}.leaflet-popup-content b{color:#0875bd}
@media(max-width:1200px){.telecom-lab{grid-template-columns:320px 1fr}.prediction-tabs button{font-size:0;padding:.48rem}.prediction-tabs button i{margin:0;font-size:.8rem}.telecom-results{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.telecom-lab{grid-template-columns:1fr}.telecom-controls{max-height:none}.telecom-main{grid-template-rows:auto 520px auto auto auto}.map-workspace,#telecom-map{height:520px;min-height:520px}.atoll-toolbar{grid-template-columns:1fr auto}.prediction-tabs{grid-column:1/-1;grid-row:2}.prediction-tabs button{font-size:.6rem}.prediction-tabs button i{margin-right:.15rem}.prediction-panel{width:205px}}
@media(max-width:560px){.telecom-section .container-fluid{padding:0 .45rem!important}.telecom-lab{border-radius:10px}.telecom-grid{grid-template-columns:1fr}.prediction-tabs button{font-size:0}.prediction-tabs button i{font-size:.82rem;margin:0}.telecom-main{grid-template-rows:auto 430px auto auto auto}.map-workspace,#telecom-map{height:430px;min-height:430px}.prediction-panel{top:auto;right:8px;bottom:8px;width:190px}.telecom-results{grid-template-columns:repeat(2,1fr)}}
@media print{.telecom-controls,.map-actions,.prediction-tabs,.page-banner,header,footer{display:none!important}.telecom-lab{display:block;border:0;box-shadow:none}.telecom-main{display:block}.map-workspace,#telecom-map{height:650px!important}.telecom-report pre{max-height:none}.prediction-panel{background:#fff!important}}
