/* The roster uses the available page width; operating controls stay above it. */
.workspace:has(#netConsoleView:not([hidden]) #netCheckinWorkspace) {max-width:1840px}
.workspace:has(#netConsoleView:not([hidden]) #netCheckinWorkspace) > .page-heading {display:none}
.nc-workspace {--nc-ink:#24455e;--nc-muted:#70879b;--nc-line:#dfe7ef;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--nc-ink);width:100%;min-width:0;padding:3px 0 20px}
.nc-workspace * {box-sizing:border-box}
.nc-workspace [hidden] {display:none!important}
.nc-workspace button,.nc-workspace input,.nc-workspace select,.nc-workspace textarea {font:inherit}
.nc-workspace button {cursor:pointer}
.nc-workspace button:disabled {opacity:.45;cursor:default}
.nc-workspace button:focus-visible,.nc-workspace input:focus-visible,.nc-workspace select:focus-visible,.nc-workspace textarea:focus-visible {outline:3px solid #9ac6e9;outline-offset:3px}
.nc-heading {display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}
.nc-heading > div > span {display:block;color:#7d94a8;text-transform:uppercase;letter-spacing:.085em;font-size:10px;font-weight:650}
.nc-heading h1 {font-size:30px;line-height:1.2;letter-spacing:-.6px;color:#1c3b53;font-weight:700;margin:8px 0}
.nc-heading p {font-size:13px;color:#768d9f;line-height:1.7;margin:0}
.nc-workspace .nc-button {display:inline-flex;align-items:center;justify-content:center;background:#245f91;border:1px solid #245f91;border-radius:7px;color:#fff;font-size:13px;font-weight:600;padding:11px 17px;line-height:1.4;min-height:42px;white-space:nowrap}
.nc-workspace .nc-button:hover {background:#1b4e77}
.nc-workspace .nc-button.nc-secondary {background:#fff;color:#50748f;border-color:#ccdae7}
.nc-workspace .nc-button.nc-secondary:hover {background:#f4f8fc;border-color:#a8bfd3}
.nc-net-picker {display:flex;align-items:center;gap:18px;padding:17px 20px;border:1px solid var(--nc-line);border-radius:9px;background:#fff;margin-bottom:20px}
.nc-net-picker > label {font-size:12px;font-weight:600;color:#6c859b;white-space:nowrap;margin:0}
.nc-workspace .nc-net-picker select {height:42px;padding:9px 12px;border:1px solid #cfdeeb;border-radius:6px;background:#fafcfe;color:#365f7e;font-size:13px;min-width:0;flex:1;max-width:770px;margin:0}
.nc-net-picker > span {font-size:11px;color:#8ba0b2;white-space:nowrap;margin-left:auto}
.nc-live {position:relative;width:100%;min-width:0;border:1px solid var(--nc-line);border-radius:10px;background:#fff;box-shadow:0 3px 10px #1e3c5007;overflow:visible}
.nc-net-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}
.nc-label {display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#8da2b4;font-weight:500}
.nc-net-heading h2 {font-size:22px;line-height:1.3;letter-spacing:-.3px;color:#284c67;margin:6px 0}
.nc-net-heading p {display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:#8da1b1;margin:0}
.nc-status {display:inline-block;font-size:10px;padding:3px 7px;background:#f2f5f8;color:#859aac;border:1px solid #e5ebf1;border-radius:5px;line-height:1.4}
.nc-status.active {background:#eff8f3;color:#5a9476;border-color:#dceee3}
.nc-status.closed {background:#f1f3f6;color:#95a1ae}
.nc-net-actions {display:flex;align-items:center;gap:8px}
.nc-net-actions .nc-button {min-height:34px;padding:8px 12px;font-size:11px}
.nc-workspace .nc-delete {background:transparent;border:0;color:#b48c87;padding:7px 8px;font-size:11px}
.nc-toolbar {position:sticky;top:0;z-index:15;background:#f8fbfe;border-top:1px solid #dfebf5;border-bottom:1px solid #dce7f0;padding:18px 24px 12px;display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:11px 22px;box-shadow:0 3px 7px #244d6c08}
.nc-toolbar-search {display:flex;align-items:center;gap:13px;min-width:0}
.nc-toolbar-search label {font-size:12px;color:#66849b;font-weight:550;white-space:nowrap;margin:0}
.nc-workspace #ncSearch {min-height:42px;width:100%;max-width:440px;padding:10px 13px;border:1px solid #ceddeb;border-radius:6px;background:#fff;color:#365f7d;font-size:13px;box-shadow:none;margin:0;min-width:0}
.nc-workspace #ncSearch::placeholder {color:#9aafbe;font-size:12px}
.nc-toolbar-actions {display:flex;align-items:center;gap:9px;justify-content:flex-end}
.nc-toolbar-meta {grid-column:1 / -1;display:flex;align-items:center;gap:18px;font-size:11px;color:#8da2b3;line-height:1.6}
.nc-toolbar-meta strong {color:#577d9b;font-size:12px;font-weight:550}
#ncSaveStatus {margin-left:auto;color:#7b9c89}
#ncSaveStatus.nc-unsaved {color:#b48e50}
.nc-message {grid-column:1 / -1;padding:9px 12px;border:1px solid #d5e9dd;border-radius:5px;background:#f0f9f4;color:#5d8d71;font-size:12px;line-height:1.7}
.nc-message-error {background:#fff5f4;border-color:#efd8d5;color:#ad7870}
.nc-roster-head,.nc-row {display:grid;grid-template-columns:105px minmax(200px,270px) minmax(260px,1fr) 28px;gap:22px;align-items:center}
.nc-roster-head {padding:13px 24px 11px;background:#fff;border-bottom:1px solid #e8eef4;color:#93a7b7;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:550}
.nc-row {padding:16px 24px;border-bottom:1px solid #e8eef4;background:#fff;scroll-margin-top:140px}
.nc-row:last-child {border-bottom:0;border-radius:0 0 10px 10px}
.nc-row.nc-present {background:#f8fcfa}
.nc-workspace .nc-attendance {display:flex;align-items:center;gap:9px;font-size:12px;font-weight:550;color:#8097aa;margin:0;cursor:pointer}
.nc-workspace .nc-attendance input {width:20px;height:20px;flex-shrink:0;margin:0;accent-color:#417d9e;cursor:pointer}
.nc-present .nc-attendance {color:#528274}
.nc-person {display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.nc-person > strong {display:block;font-size:16px;color:#365e7c;font-weight:650;line-height:1.3;letter-spacing:.02em}
.nc-person > span {font-size:13px;line-height:1.5;color:#6c869b}
.nc-person > small {font-size:10px;color:#9cafbc;margin-top:1px}
.nc-person label {display:flex;flex-direction:column;gap:4px;margin:0}
.nc-person label > span {font-size:10px;color:#92a8b9}
.nc-workspace .nc-person input:not([type=hidden]) {width:100%;min-height:36px;padding:8px 10px;border:1px solid #cfdfea;border-radius:5px;background:#fff;color:#40637d;font-size:12px;box-shadow:none;margin:0}
.nc-person input[data-callsign196] {text-transform:uppercase}
.nc-traffic {display:block;min-width:0;margin:0}
.nc-traffic > span {display:none}
.nc-workspace .nc-traffic textarea {width:100%;min-height:80px;height:80px;resize:vertical;padding:12px 14px;border:1px solid #cedde9;border-radius:7px;background:#fff;color:#3a5c75;font-size:14px;line-height:1.65;box-shadow:none;margin:0;display:block}
.nc-workspace .nc-traffic textarea::placeholder {font-size:13px;color:#a1b2bf;font-weight:400}
.nc-workspace .nc-remove {width:28px;height:30px;background:transparent;border:1px solid transparent;border-radius:5px;color:#bb9791;font-size:22px;line-height:1;padding:0;align-self:center}
.nc-workspace .nc-remove:hover {border-color:#e9d5d2;background:#fff3f1;color:#ab7169}
.nc-empty,.nc-loading {padding:45px 24px;color:#91a7b8;text-align:center;font-size:13px;line-height:1.8}
.nc-loading h2 {font-size:20px;color:#4c7390;margin:0 0 10px}
.nc-loading p {margin:0 0 18px}
@media(min-width:1650px){.nc-roster-head,.nc-row{grid-template-columns:115px minmax(240px,310px) minmax(320px,1fr) 28px;gap:28px}.nc-workspace .nc-traffic textarea{min-height:88px;height:88px}}
@media(max-width:1050px){.nc-toolbar-search{display:block}.nc-toolbar-search label{display:none}.nc-toolbar{gap:11px 15px;padding:15px 19px 12px}.nc-roster-head,.nc-row{grid-template-columns:90px minmax(160px,210px) minmax(230px,1fr) 25px;gap:16px}.nc-net-heading{padding:21px 19px}.nc-row{padding:16px 19px}.nc-roster-head{padding:12px 19px}.nc-workspace .nc-button{padding:10px 13px;font-size:12px}.nc-net-actions .nc-button{font-size:10px;padding:8px 10px}.nc-person>strong{font-size:15px}.nc-person>span{font-size:12px}.nc-workspace .nc-traffic textarea{font-size:13px}.nc-heading p{font-size:12px}.nc-net-picker{padding:15px 18px;gap:12px}.nc-net-picker>span{display:none}}
@media(max-width:760px){.nc-toolbar{grid-template-columns:1fr;padding:13px 17px 11px;gap:10px}.nc-toolbar-search{display:block}.nc-workspace #ncSearch{max-width:none;min-height:39px}.nc-toolbar-actions{justify-content:stretch}.nc-toolbar-actions>.nc-button{flex:1;font-size:11px;padding:10px 9px;min-height:40px}.nc-toolbar-meta{gap:11px;font-size:9px;flex-wrap:wrap;row-gap:3px}.nc-toolbar-meta strong{font-size:10px}.nc-roster-head{display:none}.nc-row{grid-template-columns:85px minmax(0,1fr) 25px;gap:13px 14px;padding:19px 17px;align-items:start}.nc-person{grid-column:2;grid-row:1}.nc-traffic{grid-column:1 / -1;grid-row:2}.nc-traffic>span{display:block;font-size:11px;color:#8ba2b5;margin-bottom:6px}.nc-attendance{grid-column:1;grid-row:1;min-height:24px}.nc-row .nc-remove,.nc-row-spacer{grid-column:3;grid-row:1}.nc-row-spacer{display:none}.nc-workspace .nc-traffic textarea{min-height:96px;height:96px;font-size:14px;line-height:1.7}.nc-person>strong{font-size:16px}.nc-person>span{font-size:13px}.nc-person>small{font-size:10px}.nc-net-heading{display:block;padding:20px 17px}.nc-net-heading h2{font-size:22px}.nc-net-heading p{font-size:11px}.nc-net-actions{margin-top:15px;gap:7px}.nc-net-actions .nc-button{font-size:11px;min-height:34px}.nc-heading{align-items:flex-start;gap:15px}.nc-heading h1{font-size:28px}.nc-heading p{font-size:12px;max-width:250px}.nc-heading>.nc-button{font-size:10px;padding:8px 10px;min-height:35px;margin-top:24px}.nc-net-picker{display:block;padding:15px 17px;margin-bottom:18px}.nc-net-picker label{display:block;margin-bottom:8px;font-size:11px}.nc-workspace .nc-net-picker select{width:100%;max-width:none;font-size:12px;height:40px}.nc-message{font-size:11px;padding:8px 10px}.nc-workspace .nc-attendance{font-size:11px;gap:7px}}
@media(max-width:430px){.nc-heading{display:block}.nc-heading p{max-width:none}.nc-heading>.nc-button{margin-top:14px;font-size:11px}.nc-workspace{padding-top:0}.nc-toolbar-meta>#ncShown{display:none}.nc-workspace .nc-toolbar-actions>.nc-button{font-size:12px;padding-left:7px;padding-right:7px}.nc-toolbar-actions{gap:7px}.nc-workspace .nc-attendance{font-size:10px;gap:6px}.nc-row{grid-template-columns:79px minmax(0,1fr) 25px;gap:13px 10px}}
/* A full-size check-in action replaces the small attendance checkbox. */
.nc-workspace .nc-checkin {display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:50px;padding:11px 8px;border:1px solid #245f91;border-radius:7px;background:#245f91;color:#fff;font:600 13px/1.35 Inter,ui-sans-serif,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.nc-workspace .nc-checkin:hover {background:#1b4d76;border-color:#1b4d76}
.nc-workspace .nc-checkin[aria-pressed="true"] {background:#edf8f2;color:#3b795b;border-color:#b6d9c5}
.nc-workspace .nc-checkin[aria-pressed="true"]:hover {background:#e1f2e8;border-color:#8fbc9f}
.nc-checkin svg {width:15px;height:15px;flex-shrink:0}
@media(min-width:1051px){.nc-roster-head,.nc-row{grid-template-columns:135px minmax(200px,260px) minmax(260px,1fr) 28px}}
@media(min-width:1650px){.nc-roster-head,.nc-row{grid-template-columns:145px minmax(240px,300px) minmax(320px,1fr) 28px}}
@media(min-width:761px) and (max-width:1050px){.nc-roster-head,.nc-row{grid-template-columns:125px minmax(160px,195px) minmax(230px,1fr) 25px;gap:16px}.nc-workspace .nc-checkin{font-size:12px}}
@media(max-width:760px){.nc-row{grid-template-columns:115px minmax(0,1fr) 25px;gap:13px 12px}.nc-workspace .nc-checkin{font-size:12px;min-height:50px;padding:10px 7px}.nc-attendance{width:100%}}
@media(max-width:430px){.nc-row{grid-template-columns:110px minmax(0,1fr) 22px;gap:13px 10px}.nc-workspace .nc-checkin{font-size:11px}.nc-checkin svg{width:14px;height:14px}}
