:root{--bg-0:#0f1117;--bg-1:#171c27;--bg-2:#1f2533;--bg-3:#171f2e;--bg-glow-a:#1f2a44;--bg-glow-b:#312226;--text:#e5ecfb;--muted:#97a5c6;--accent:#5cd6c4;--accent-2:#ffa86a;--danger:#ff6f7d;--line:#b4c7ec2e;--selected:#5cd6c429;--input-bg:#0f1520;--modal-bg:#121927;--modal-backdrop:#04070e9e;--sticky-type-width:128px;--sticky-callsign-width:122px}[data-theme=light]{--bg-0:#f4f7ff;--bg-1:#e9effa;--bg-2:#fff;--bg-3:#edf3ff;--bg-glow-a:#d9e5ff;--bg-glow-b:#f6d8d9;--text:#182235;--muted:#5f6f92;--accent:#1eaec0;--accent-2:#f08f43;--danger:#d94f63;--line:#445c8c3d;--selected:#1eaec026;--input-bg:#f7faff;--modal-bg:#fbfdff;--modal-backdrop:#99a9c961}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0%, var(--bg-glow-a) 0%, transparent 35%), radial-gradient(circle at 100% 15%, var(--bg-glow-b) 0%, transparent 30%), linear-gradient(140deg, var(--bg-0), var(--bg-1) 45%, var(--bg-3) 100%);min-height:100vh;color:var(--text);margin:0;font-family:Space Grotesk,Segoe UI,sans-serif}.bg-orb{filter:blur(45px);z-index:-1;opacity:.55;border-radius:50%;animation:10s ease-in-out infinite alternate drift;position:fixed}.orb-a{background:#35539a;width:280px;height:280px;top:-120px;right:-50px}.orb-b{background:#b66a43;width:340px;height:340px;animation-duration:14s;bottom:-150px;left:-90px}@keyframes drift{0%{transform:translateY(0)translate(0)}to{transform:translateY(25px)translate(15px)}}.app-shell{gap:1.2rem;width:min(1680px,98vw);margin:2.4rem auto;display:grid}.topbar,.entry-card,.table-card,.net-meta-card,.chat-card,.onboarding-card,.splash-card{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 88%, #10131d 12%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px}.topbar{justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;display:flex}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem}h1{margin:.15rem 0 0;font-size:clamp(1.25rem,2vw,1.8rem)}.status-strip{align-items:center;gap:.7rem;display:flex}.chat-topbar-btn{align-items:center;gap:.45rem;display:inline-flex}.chat-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.pill.connection-ok{color:#5cd6c4}.pill.connection-warn{color:#ffa86a}.pill.connection-error{color:#ff6f7d}[data-theme=light] .pill.connection-ok{color:#116f7b}.ghost-btn,.primary-btn,.danger-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.65rem .9rem;font-family:IBM Plex Mono,monospace}.ghost-btn{color:var(--text);border-color:var(--line);background:0 0}.primary-btn{background:linear-gradient(90deg, var(--accent), #4c8dd7);color:#0a121f;font-weight:700}.danger-btn{background:color-mix(in srgb, var(--danger) 22%, transparent);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 60%, transparent)}.entry-card{padding:1.2rem 1.4rem}.net-meta-card{padding:1rem 1.4rem}.chat-card{padding:1rem 1.2rem}.chat-modal{width:min(760px,96vw);max-height:84vh;overflow:hidden}.chat-modal .modal-form{height:100%;overflow:auto}.onboarding-card{text-align:center;max-width:720px;margin:3rem auto 1rem;padding:2.3rem}.splash-card{text-align:center;max-width:760px;margin:5rem auto 1rem;padding:2.3rem}.splash-actions{justify-content:center;gap:.85rem;margin-top:1.2rem;display:flex}.attendee-list{gap:.8rem;margin-top:.9rem;display:grid}.attendee-net-btn{text-align:left}.radiogram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.radiogram-grid .wide{grid-column:1/-1}.net-modal.traffic-modal{width:min(1240px,99vw);height:min(620px,90vh);max-height:min(620px,90vh);overflow:hidden}.net-modal.traffic-modal .modal-form{gap:.75rem;height:100%;overflow:auto}.net-modal.traffic-modal .radiogram-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.onboarding-card h2{margin:.2rem 0 0}.onboarding-card .hint{max-width:56ch;margin:.8rem auto 1rem}.net-meta-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem;font-size:.92rem;display:grid}.entry-grid{grid-template-columns:1fr .85fr 1fr 1fr 1.15fr auto auto;align-items:end;gap:.9rem;display:grid}label{color:var(--muted);gap:.4rem;font-size:.8rem;display:grid}.label-with-tip{align-items:center;gap:.35rem;display:inline-flex}.tooltip-icon{border:1px solid var(--line);width:1rem;height:1rem;color:var(--muted);background:color-mix(in srgb, var(--input-bg) 82%, transparent);cursor:help;border-radius:999px;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}input,select{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.62rem .7rem}textarea{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:.62rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5cd6c433}.hint{color:var(--muted);margin:.85rem 0 0;font-size:.8rem}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:.1rem .35rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.table-card{-webkit-overflow-scrolling:touch;overflow:auto hidden}table{border-collapse:collapse;width:100%;min-width:clamp(1100px,90vw,1600px)}thead{background:#00000040}thead th{z-index:4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);position:sticky;top:0}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.95rem .62rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.table-sort-btn{font:inherit;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:.2rem .45rem}.traffic-btn{padding:.42rem .58rem;font-size:.76rem;line-height:1.1}.theme-toggle-btn{min-width:108px}tbody tr{transition:background .15s}tbody tr:hover{background:#ffffff08}tbody tr.selected{background:var(--selected)}tbody tr.row-liaison{background:#ab429e38}tbody tr.row-net-control{background:#3f79dc3d}tbody tr.row-backup-net-control{background:#23437e4d}tbody tr.row-worked{background:#3c8b583d}tbody tr.row-not-heard{background:#8146463d}tbody tr.row-recheck{background:#3db2cd47}tbody tr.row-checked-out{color:#b8c0d3;background:#626a7a47}tbody tr.row-checked-out td,tbody tr.row-checked-out .callsign,tbody tr.row-checked-out small{color:#b8c0d3}.break-row td{border-bottom:none;padding:.1rem 0}.break-divider{border-top:3px solid color-mix(in srgb, var(--accent) 72%, #fff 28%)}.chat-header{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.chat-header h2{margin:0;font-size:1rem}.chat-header small{color:var(--muted)}.chat-log{gap:.55rem;max-height:240px;margin-top:.8rem;display:grid;overflow:auto}.chat-message{border:1px solid var(--line);background:#ffffff05;border-radius:10px;padding:.5rem .65rem}.chat-message.from-net-control{border-color:color-mix(in srgb, var(--accent) 65%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent)}.chat-meta{justify-content:space-between;gap:.6rem;font-size:.78rem;display:flex}.chat-meta span{color:var(--muted);font-family:IBM Plex Mono,monospace}.chat-message p{margin:.3rem 0 0}.chat-delete-btn{margin-top:.45rem;padding:.28rem .5rem;font-size:.72rem}.chat-compose{grid-template-columns:1fr auto;gap:.55rem;margin-top:.7rem;display:grid}.callsign{font-family:IBM Plex Mono,monospace;font-weight:600}th.type-col,td.type-col{width:var(--sticky-type-width);min-width:var(--sticky-type-width);max-width:var(--sticky-type-width);z-index:3;background:color-mix(in srgb, var(--bg-2) 94%, #10131d 6%);position:sticky;left:0}th.callsign-col,td.callsign-col{width:var(--sticky-callsign-width);min-width:var(--sticky-callsign-width);max-width:var(--sticky-callsign-width);left:var(--sticky-type-width);z-index:3;background:color-mix(in srgb, var(--bg-2) 94%, #10131d 6%);position:sticky}thead th.type-col,thead th.callsign-col{z-index:5}td.type-col,td.callsign-col{box-shadow:1px 0 0 var(--line)}.timestamp{font-family:IBM Plex Mono,monospace}.type-picker{align-items:center;gap:.38rem;display:inline-flex}.type-icon-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#0e141fb8;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:border-color .14s,background .14s,color .14s,transform .14s;display:inline-flex}.type-icon-btn:hover{border-color:color-mix(in srgb, var(--accent) 65%, var(--line));color:#cde8ff;transform:translateY(-1px)}.type-icon-btn.active{border-color:color-mix(in srgb, var(--accent) 85%, transparent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}[data-theme=light] .type-icon-btn{color:#5c6e92;background:#f5f9ff;border-color:#445c8c47}[data-theme=light] .type-icon-btn:hover{border-color:color-mix(in srgb, var(--accent) 65%, #445c8c47);color:#2a466f;background:#edf4ff}[data-theme=light] .type-icon-btn.active{background:color-mix(in srgb, var(--accent) 24%, #fff);color:#0e6a78;border-color:color-mix(in srgb, var(--accent) 72%, #445c8c40)}.type-icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.remove-x-btn{border:1px solid color-mix(in srgb, var(--danger) 65%, transparent);background:color-mix(in srgb, var(--danger) 18%, transparent);width:32px;height:32px;color:var(--danger);cursor:pointer;border-radius:8px;padding:0;font-size:1.2rem;line-height:1}.remove-x-btn:hover{background:color-mix(in srgb, var(--danger) 28%, transparent)}.net-modal{border:1px solid var(--line);background:var(--modal-bg);color:var(--text);border-radius:16px;width:min(540px,92vw);padding:0}.net-modal::backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-form{gap:.9rem;padding:1.2rem;display:grid}.modal-form h2{margin:0 0 .2rem;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.4rem;display:flex}.operator small,.location small,td small{color:var(--muted);font-size:.75rem;display:block}@media (width<=960px){.app-shell{gap:1rem;width:min(1320px,97vw);margin:1.4rem auto}.entry-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:.8rem;padding:1rem 1.1rem}.status-strip{flex-wrap:wrap;width:100%}.entry-card,.net-meta-card,.chat-card{padding:1rem 1.1rem}.table-card{overflow-x:auto}table{min-width:980px}:root{--sticky-type-width:118px;--sticky-callsign-width:110px}.net-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.radiogram-grid{grid-template-columns:1fr}.net-modal.traffic-modal .radiogram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}}@media (width<=700px){.app-shell{gap:.85rem;width:98vw;margin:.9rem auto}.topbar,.entry-card,.table-card,.net-meta-card,.onboarding-card,.splash-card{border-radius:14px}.topbar{padding:.85rem .9rem}.onboarding-card,.splash-card{margin:1.6rem auto .7rem;padding:1.2rem 1rem}.entry-card,.net-meta-card,.chat-card{padding:.85rem .9rem}.splash-actions{flex-direction:column}.splash-actions .primary-btn,.splash-actions .ghost-btn,.attendee-net-btn{width:100%}.hint{font-size:.76rem}.net-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}th,td{padding:.82rem .5rem}table{min-width:920px}:root{--sticky-type-width:108px;--sticky-callsign-width:102px}.type-picker{gap:.3rem}.type-icon-btn,.remove-x-btn{width:30px;height:30px}.modal-form{gap:.75rem;padding:.95rem}.net-modal.traffic-modal .radiogram-grid{grid-template-columns:1fr}.chat-header{flex-direction:column;align-items:flex-start}.chat-compose{grid-template-columns:1fr}.modal-actions{flex-wrap:wrap;justify-content:stretch}.modal-actions .ghost-btn,.modal-actions .primary-btn{flex:140px}}
