:root{--nav:#101d31;--nav2:#172b46;--accent:#3189d9;--bg:#f2f5f9;--text:#25364b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:var(--nav);color:#fff;display:flex;flex-direction:column;z-index:8;box-shadow:8px 0 35px rgba(25,47,73,.07)}.brand{font-weight:800;font-size:24px;letter-spacing:1px;padding:27px 21px;border-bottom:1px solid #314158}.brand i{color:#53aefb}.brand small{font-size:9px;color:#8db0d3;display:block;letter-spacing:3px;margin-left:38px}.navflex{flex:1;overflow-y:auto;padding:18px 9px}.side-link{display:block;padding:12px 14px;color:#9db4ce;border-radius:8px;margin:3px 0;text-decoration:none;font-size:14px}.side-link i{width:26px}.side-link:hover,.side-link.active{background:var(--nav2);color:#fff;text-decoration:none}.side-link.active{border-left:3px solid var(--accent)}.content{margin-left:245px;padding:28px 34px;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h2{font-weight:700;margin:4px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#7c91a7;font-weight:700}.card-panel{background:#fff;border:1px solid #e3e9f0;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 7px 20px rgba(26,44,65,.03)}.card-panel h5{font-weight:700;margin-bottom:18px}.metric{background:#fff;border-radius:12px;border:1px solid #e4ebf2;padding:22px;display:flex;flex-direction:column;box-shadow:0 7px 20px rgba(26,44,65,.03)}.metric i{font-size:18px;color:#338ddc}.metric span{font-size:13px;color:#7a8d9c;margin:14px 0 4px}.metric strong{font-size:32px}.form-group label,label{font-size:13px;font-weight:600}.table td,.table th{vertical-align:middle;font-size:13px}.login-bg{background:linear-gradient(145deg,#101d31,#285883);min-height:100vh}@media(max-width:860px){.sidebar{width:75px}.brand{font-size:14px;padding:19px 8px}.brand small{display:none}.side-link{font-size:0;text-align:center;padding:14px}.side-link i{font-size:18px}.content{margin-left:75px;padding:20px 14px}}

/* Single-column modal forms: always stack inputs vertically. */
.js-editor-modal .js-ajax-form > [class*="col-"],
.js-editor-modal .js-ajax-form > .form-group,
.r2tk-vertical-form > .form-group { width:100%; max-width:100%; flex:0 0 100%; }
.js-editor-modal .js-ajax-form.row {display:flex; flex-direction:column; margin:0;}
.js-editor-modal .js-ajax-form.row > [class*="col-"] {padding-left:0; padding-right:0; margin-bottom:8px;}
.js-editor-modal .js-ajax-form .form-control {width:100%;}
.antenna-pattern-editor {margin-top:20px; padding:16px; border:1px solid #dce5ef; border-radius:12px; background:#f8fbff;}
.pattern-toolbar {display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0;}
.pattern-toolbar label {margin:0 2px 0 8px;}
.pattern-toolbar select {width:85px;}
.pattern-plot-wrap {display:flex;flex-direction:column;align-items:center; margin:12px 0;}
.pattern-plot-wrap canvas {display:block;width:100%;max-width:420px;height:auto;background:white;border:1px solid #e4e9ef;border-radius:8px;}
.pattern-table-wrap {max-height:260px;overflow:auto;background:white;}
.pattern-table input {min-width:85px;max-width:160px;}
.pattern-table th,.pattern-table td {vertical-align:middle;}
.js-editor-modal .modal-dialog {max-width:760px;}

#r2tk-map-picker { z-index: 1070; }
#r2tk-map-picker + .modal-backdrop { z-index: 1065; }
#r2tk-coordinate-map { width:100%; border-radius:8px; }
