:root{--bg:#07111f;--panel:#0d1728;--panel2:#111c31;--card:#ffffff;--muted:#64748b;--text:#0f172a;--line:#dbe4ef;--blue:#0ea5e9;--dark:#020617;--good:#16a34a;--warn:#d97706;--bad:#dc2626;--soft:#f8fafc;--shadow:0 18px 45px rgba(15,23,42,.10)}*{box-sizing:border-box}[hidden],.login-screen[hidden],.noc-app[hidden]{display:none!important}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef3f8;color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.noc-app{min-height:100vh;display:grid;grid-template-columns:310px minmax(0,1fr)}.side-rail{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#07111f,#0b1728 55%,#101827);color:white;padding:1.15rem;border-right:1px solid rgba(255,255,255,.08)}.brand{display:flex;flex-direction:column;gap:.75rem;padding:.4rem .45rem 1.05rem;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:210px;max-height:48px;object-fit:contain;object-position:left}.brand span{font-weight:900;letter-spacing:.11em;text-transform:uppercase;font-size:.74rem;color:#bfdbfe}.operator-card{margin:1rem 0;padding:.85rem;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:rgba(255,255,255,.07)}.operator-card strong{display:block;font-size:.96rem}.operator-card span{display:block;margin-top:.2rem;color:#cbd5e1;font-size:.8rem}.nav-groups{display:grid;gap:1.05rem}.nav-groups h2{margin:.1rem 0 .45rem;padding:0 .45rem;color:#94a3b8;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.nav-groups a{display:block;padding:.72rem .78rem;border-radius:15px;border:1px solid transparent;color:#dbeafe}.nav-groups a strong{display:block;font-size:.9rem}.nav-groups a span{display:block;margin-top:.16rem;color:#94a3b8;font-size:.74rem;line-height:1.35}.nav-groups a:hover,.nav-groups a[aria-current=page]{background:rgba(14,165,233,.16);border-color:rgba(56,189,248,.32);color:white}.workspace{min-width:0;padding:1.15rem 1.35rem 2.2rem}.topbar{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin:0 auto 1.15rem;max-width:1580px}.global-search{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 12px 28px rgba(15,23,42,.05)}.global-search span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#475569}.global-search input{border:0;outline:0;min-height:2.25rem}.top-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.primary-link,.secondary-link,.top-actions button,.button{border:0;border-radius:13px;padding:.68rem .9rem;font-weight:900;font-size:.84rem;cursor:pointer}.primary-link,.button.primary{background:#0f172a;color:white}.secondary-link,.top-actions button,.button.secondary{background:white;color:#0f172a;border:1px solid var(--line)}.button.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.page-head{max-width:1580px;margin:0 auto 1rem;padding:1.25rem 1.35rem;border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(14,165,233,.22),transparent 36%),linear-gradient(135deg,#0f172a,#142033);color:white;box-shadow:var(--shadow)}.eyebrow{margin:0 0 .35rem;color:#38bdf8;font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.page-head h1{margin:0;font-size:clamp(2rem,3.2vw,3.3rem);letter-spacing:-.045em}.page-head p:not(.eyebrow){max-width:900px;margin:.55rem 0 0;color:#cbd5e1;font-weight:650;line-height:1.6}.tabs{max-width:1580px;margin:0 auto 1rem;display:flex;gap:.35rem;flex-wrap:wrap;padding:.4rem;border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 10px 24px rgba(15,23,42,.04)}.tabs button{border:0;background:transparent;color:#475569;padding:.68rem .9rem;border-radius:13px;font-weight:900;cursor:pointer}.tabs button.active,.tabs button:hover{background:#e0f2fe;color:#075985}.notice-area,.page-content{max-width:1580px;margin:0 auto}.notice{padding:.9rem 1rem;border-radius:17px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;margin-bottom:1rem}.notice.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.notice.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.grid{display:grid;gap:1rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.two-col{grid-template-columns:minmax(0,1.2fr) minmax(360px,.75fr)}.three-col{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #eef2f7}.card-head h2,.card-head h3{margin:0;font-size:1rem}.card-head p{margin:.25rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.card-body{padding:1rem 1.1rem}.metric{padding:1rem;border:1px solid var(--line);border-radius:19px;background:white;box-shadow:0 10px 24px rgba(15,23,42,.05)}.metric span{font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.12em;color:#64748b}.metric strong{display:block;margin-top:.25rem;font-size:1.75rem;letter-spacing:-.04em}.metric small{display:block;margin-top:.2rem;color:#64748b;font-weight:700}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;background:#f8fafc}.table th,.table td{padding:.72rem .75rem;border-bottom:1px solid #eef2f7;vertical-align:top}.table tr:hover td{background:#f8fafc}.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;color:#475569}.status-pill.good{background:#dcfce7;color:#166534}.status-pill.warn{background:#fef3c7;color:#92400e}.status-pill.bad{background:#fee2e2;color:#991b1b}.form-grid{display:grid;gap:.9rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:.35rem;font-weight:900;font-size:.78rem;color:#334155}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;background:white;min-height:2.7rem;padding:.65rem .72rem;color:#0f172a}textarea{min-height:6rem;resize:vertical}.help{color:#64748b;font-size:.82rem;line-height:1.45}.action-row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-top:.9rem}.result-box{display:none;margin-top:1rem;padding:1rem;border-radius:16px;border:1px dashed #93c5fd;background:#eff6ff;color:#1e3a8a;white-space:pre-wrap;word-break:break-word}.result-box.show{display:block}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.quick-actions a,.quick-actions button{display:block;text-align:left;border:1px solid var(--line);border-radius:18px;background:white;padding:.95rem;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.04)}.quick-actions strong{display:block}.quick-actions span{display:block;margin-top:.3rem;color:#64748b;font-size:.83rem;line-height:1.45}.empty{padding:1rem;border:1px dashed #cbd5e1;border-radius:17px;color:#64748b;background:#f8fafc}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);background:#07111f}.login-hero{position:relative;display:flex;flex-direction:column;justify-content:center;padding:4rem 6vw;color:white;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.25),transparent 30%),linear-gradient(135deg,#07111f,#0d1728)}.login-hero:after{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent)}.login-hero>*{position:relative;z-index:1}.login-hero img{width:245px;margin-bottom:3rem}.login-hero h1{margin:0;font-size:clamp(2.7rem,5vw,5.2rem);line-height:.95;letter-spacing:-.06em}.login-hero p:not(.eyebrow){max-width:740px;color:#cbd5e1;font-weight:650;line-height:1.7}.login-points{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}.login-points span{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:999px;padding:.45rem .7rem;font-weight:900;color:#e0f2fe}.login-card{display:flex;flex-direction:column;justify-content:center;padding:4rem;background:#f8fafc}.login-card h2{font-size:2rem;margin:0}.login-card p{color:#64748b}.login-card form{display:grid;gap:1rem;margin-top:1rem;padding:1.1rem;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:var(--shadow)}.login-card button{border:0;border-radius:13px;background:#0f172a;color:white;font-weight:1000;padding:.9rem;cursor:pointer}.form-message{font-size:.86rem;font-weight:800;color:#991b1b}.page-placeholder{padding:1.2rem;border:1px dashed #cbd5e1;border-radius:20px;background:#f8fafc;color:#64748b}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0f172a;color:#e2e8f0;border-radius:7px;padding:.08rem .35rem}.subtle{color:#64748b}.mini-nav{display:flex;flex-wrap:wrap;gap:.5rem}.mini-nav a{padding:.42rem .65rem;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:900}.mini-nav a:hover{background:#e0f2fe;color:#075985}@media(max-width:1120px){.noc-app{grid-template-columns:1fr}.side-rail{position:static;height:auto}.nav-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.topbar,.two-col{grid-template-columns:1fr;display:grid}.login-screen{grid-template-columns:1fr}.login-card{padding:2rem}.form-grid.two,.form-grid.three{grid-template-columns:1fr}}@media(max-width:760px){.workspace{padding:.8rem}.top-actions{width:100%}.top-actions>*{flex:1;text-align:center}.global-search{grid-template-columns:1fr}.page-head{border-radius:18px}.metric-grid{grid-template-columns:1fr}}

.help-list{margin:.5rem 0 0;padding-left:1.1rem;color:var(--muted,#718096);line-height:1.55}.help-list strong{color:var(--text,#e5eefb)}.window-rows{display:grid;gap:.85rem}.window-row.card-lite,.card-lite{border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.35);border-radius:16px;padding:1rem}.window-row .js-remove-window{justify-self:start}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:780px){.form-grid.two{grid-template-columns:1fr}}

/* 5.3.30 clean node telemetry presentation */
.owner-node-hero{gap:.85rem}.owner-node-hero .metric{border-color:#d7e0ec;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.05)}.owner-telemetry-table table{table-layout:auto}.owner-telemetry-table th{width:190px;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.owner-telemetry-table td{font-weight:800;color:#0f172a}.owner-health-card{border:1px solid #d7e0ec;border-radius:16px;background:#f8fafc;padding:1rem;line-height:1.5}.owner-health-card.good{border-color:#bbf7d0;background:#f0fdf4;color:#14532d}.owner-health-card strong{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;background:#0b1728;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.owner-health-card.good strong{background:#15803d}.owner-health-ok{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:12px;padding:.75rem .85rem;font-weight:800}.owner-warning-list{margin:.75rem 0 0;padding:.75rem 1rem .75rem 2rem;border-radius:12px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;font-weight:800;text-transform:capitalize}.raw-details:not([open]){background:#f8fafc}.raw-details summary{cursor:pointer;font-weight:900;color:#334155}@media(max-width:800px){.owner-telemetry-table th{width:auto}}

/* ADSB1090 5.3.34: first-party NOC confirmation modal for destructive managed-record/photo actions. */
.noc-modal{position:fixed;inset:0;display:none;z-index:100000}.noc-modal.is-open{display:block}.noc-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.noc-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,92vw);border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.34);overflow:hidden}.noc-modal-panel header,.noc-modal-panel footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #e2e8f0}.noc-modal-panel footer{border-top:1px solid #e2e8f0;border-bottom:0;justify-content:flex-end}.noc-modal-panel h2{margin:0;font-size:1.05rem}.noc-modal-panel header button{width:34px;height:34px;border:0;border-radius:999px;background:#e2e8f0;font-size:1.4rem;cursor:pointer}.noc-modal-body{padding:1rem;color:#334155;line-height:1.55}.noc-modal-body p{margin:0}


/* ADSB1090 5.3.36: remove guessed NOC Unicode icon sweep. Icons must be explicit markup, not href-based CSS guesses. */
.nav-groups a strong::before,.quick-actions a strong::before,.quick-actions button strong::before,.button.primary::before,.primary-link::before,.button.secondary::before,.secondary-link::before,.button.danger::before { content:none !important; display:none !important; }


/* ADSB1090 5.3.39: dedicated Status & Incidents workbench. */
.action-row.compact{gap:.35rem;align-items:center;flex-wrap:wrap}.action-row.compact .button{padding:.42rem .6rem;font-size:.78rem}.status-update-list{margin:.55rem 0 0;padding-left:1rem;display:grid;gap:.35rem}.status-update-list li{color:#9fb0c7;font-size:.82rem;line-height:1.35}.status-update-list strong{color:#e7eefb;text-transform:capitalize}.status-update-list .subtle{margin-left:.35rem}.form-grid textarea{width:100%;min-height:96px;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.88);color:#e5eefb;padding:.8rem;font:inherit;resize:vertical}.form-grid textarea:focus{outline:2px solid rgba(56,189,248,.35);border-color:rgba(56,189,248,.55)}


/* ADSB1090 5.3.40: dedicated profile route polish. */
.mini-nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mini-nav a{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.62);border-radius:999px;color:#cde8ff;text-decoration:none;padding:.45rem .7rem;font-weight:800;font-size:.82rem}.mini-nav a:hover{border-color:rgba(56,189,248,.45);color:#fff}.table a{color:#bfdbfe;text-decoration:none}.table a:hover{text-decoration:underline}.page-content .notice.danger{border-color:rgba(248,113,113,.45)}

/* ADSB1090 5.3.41: deliberate semantic icons in markup, not guessed href/CSS selectors. */
.semantic-icon{width:1.05rem;height:1.05rem;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}.semantic-icon path,.semantic-icon circle{vector-effect:non-scaling-stroke}.nav-groups a{display:flex;align-items:flex-start;gap:.65rem}.nav-groups a>.semantic-icon{margin-top:.08rem;color:#7dd3fc}.nav-copy{display:grid;gap:.12rem;min-width:0}.top-actions a,.top-actions button,.quick-actions a,.quick-actions button,.profile-link{display:inline-flex;align-items:center;gap:.5rem}.quick-actions a,.quick-actions button{align-items:flex-start}.quick-actions .semantic-icon{margin-top:.1rem;color:#0ea5e9}.quick-copy{display:grid;gap:.16rem;min-width:0}.profile-link{font-weight:850;color:#0f172a}.profile-link .semantic-icon{color:#2563eb}.button .semantic-icon,.primary-link .semantic-icon,.secondary-link .semantic-icon{width:.98rem;height:.98rem}.text-modal-label{margin-top:.8rem}.text-modal-label textarea{min-height:9rem}.noc-modal-panel{max-width:min(640px,calc(100vw - 2rem))}

/* ADSB1090 5.3.51: NOC community/forum workbench information architecture repair. */
.community-workbench{display:grid;gap:1rem;margin-top:1rem}.community-section-tabs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.45rem;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04)}.community-section-tabs a{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #dbe4ef;border-radius:999px;background:#f8fafc;color:#334155;padding:.5rem .75rem;font-weight:900;font-size:.82rem}.community-section-tabs a:hover{background:#e0f2fe;color:#075985;border-color:#bae6fd}.community-section-tabs .semantic-icon{width:.95rem;height:.95rem;color:#0ea5e9}.community-workbench-section{scroll-margin-top:1rem;display:grid;gap:1rem}.community-workbench-section+.community-workbench-section{margin-top:.15rem}.community-operation-list{display:grid;gap:.65rem}.community-operation-row{display:flex;align-items:flex-start;gap:.75rem;border:1px solid #dbe4ef;border-radius:18px;background:#fff;padding:.9rem 1rem}.community-operation-row:hover{border-color:#7dd3fc;background:#f8fbff}.community-operation-row .semantic-icon{color:#0ea5e9;margin-top:.15rem}.community-operation-row span{display:grid;gap:.2rem}.community-operation-row strong{font-size:.92rem}.community-operation-row small{font-size:.83rem;line-height:1.45;color:#64748b}.page-content .community-workbench .grid.two-col,.page-content .community-workbench .two-col{display:block;grid-template-columns:1fr}.page-content .community-workbench .card{width:100%}.page-content .community-workbench .card-body{padding:1rem 1.1rem}.page-content .community-workbench .table-wrap{width:100%}@media(max-width:760px){.community-section-tabs{display:grid}.community-section-tabs a{width:100%;justify-content:flex-start}}
