@import url("https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&display=swap");
/* Shared live Dashboard theme shell; all overrides are preview-scoped. */
body.tfld-v2-page #Content { padding-top:0; background:#0a0f13; }
body.tfld-v2-page #Content .section { padding-top:0; padding-bottom:0; }
body.tfld-v2-page #Content .column { margin-bottom:0; }
body.tfld-v2-page #Subheader { display:none; }
body.tfld-v2-page>main { max-width:none; }
/* Live BeTheme's transparent header is absolute and 90px tall above its mobile breakpoint. */
@media(min-width:768px) {
  body.tfld-v2-page.header-transparent #Header_wrapper { min-height:90px; }
}
.tfld-v2 {
  --v2-accent:var(--tfld-accent,#18c7c3); --v2-text:var(--tfld-text,#ecf2f8);
  --v2-muted:#a6bccd; --v2-line:#1d3b4d; --v2-surface:#0b1c28;
  width:100%; max-width:1920px; min-height:72vh; margin:0 auto; padding:16px 24px 24px; box-sizing:border-box;
  background:#0a0f13;
  color:var(--v2-text); font-family:inherit; font-size:15px; line-height:1.45;
}
.tfld-v2 *, .tfld-v2 *::before, .tfld-v2 *::after { box-sizing:border-box; }
.tfld-v2 :is(h1,h2,h3,p,ul) { margin:0; padding:0; color:inherit; font-family:inherit; }
.tfld-v2 :is(h1,h2,h3) { font-style:normal; letter-spacing:normal; }
.tfld-v2 a { color:var(--v2-accent); text-decoration:none; transition:background .15s,border-color .15s,color .15s; }
.tfld-v2 a:hover { color:#6efaff; text-decoration:none; }
.tfld-v2 :is(a,summary,[tabindex]):focus-visible { outline:2px solid #f8d47b; outline-offset:4px; }
.tfld-v2 svg { width:24px; height:24px; display:block; flex:none; }
.tfld-v2 small { display:block; font-size:12px; line-height:1.4; color:var(--v2-muted); }
.tfld-v2-grid { display:grid; grid-template-columns:minmax(0,2.35fr) minmax(350px,1fr); align-items:start; gap:16px; }
.tfld-v2-content,.tfld-v2 aside { display:flex; flex-direction:column; gap:16px; min-width:0; }
.tfld-v2-panel { padding:12px; min-width:0; border:1px solid var(--v2-line); border-radius:9px; background:linear-gradient(115deg,#102532,#081923); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.tfld-v2 h2 { display:flex; align-items:center; gap:12px; min-width:0; font-size:14px; font-weight:500; line-height:1.3; letter-spacing:1.5px; text-transform:uppercase; margin:0 4px 12px; }
.tfld-v2 h2 svg { width:24px; height:24px; }
.tfld-v2-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.tfld-v2-heading h2 { margin-bottom:0; }
.tfld-v2-heading>a { flex:none; font-size:12px; font-weight:600; white-space:nowrap; }
.tfld-v2-empty { padding:18px 8px; color:var(--v2-muted)!important; font-size:14px; }
.tfld-v2-hero { isolation:isolate; position:relative; display:flex; align-items:flex-end; min-height:274px; overflow:hidden; border:1px solid #203c4d; border-radius:7px; background:radial-gradient(ellipse at 75% 20%,#28566b,transparent 70%),#102b3d; }
.tfld-v2-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 44%; z-index:-2; }
.tfld-v2-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(1,11,20,.75),rgba(1,11,20,.08) 75%),linear-gradient(0deg,rgba(1,13,23,.95),transparent 80%); }
.tfld-v2-hero__content { padding:26px; min-width:0; max-width:85%; }
.tfld-v2 .tfld-v2-eyebrow { color:#e4edf5; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin:0 0 7px; }
.tfld-v2 .tfld-v2-hero h3 { font-family:"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif; font-stretch:condensed; font-size:clamp(34px,3.7vw,65px); font-weight:900; line-height:1.03; text-transform:uppercase; text-wrap:balance; overflow-wrap:anywhere; max-width:900px; margin:0 0 16px; text-shadow:0 2px 7px #00101b; }
.tfld-v2 .tfld-v2-date { display:flex; align-items:center; gap:12px; font-size:23px; font-weight:700; text-transform:uppercase; line-height:1.2; margin-bottom:16px; }
.tfld-v2-date svg { width:25px; height:25px; }
.tfld-v2-facts { display:flex; align-items:center; gap:20px; flex-wrap:wrap; font-size:14px; }
.tfld-v2-facts>span { display:flex; align-items:center; gap:9px; }
.tfld-v2-facts>span+span { border-left:1px solid #375260; padding-left:20px; }
.tfld-v2-facts svg { width:21px; height:21px; }
.tfld-v2-status { position:absolute; right:16px; bottom:16px; padding:12px 16px; border:1px solid #2b4a59; border-radius:7px; background:rgba(3,20,30,.92); min-width:190px; }
.tfld-v2-status>span { display:block; font-size:10px; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid var(--v2-line); padding-bottom:9px; margin-bottom:9px; }
.tfld-v2-status p { display:flex; align-items:center; gap:9px; font-size:12px; }
.tfld-v2-status strong { color:var(--v2-accent); font-weight:500; }
.tfld-v2-hero:has(.tfld-v2-status) .tfld-v2-facts { padding-right:175px; }
.tfld-v2-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:12px 0 0; }
.tfld-v2-link,.tfld-v2-unavailable { display:flex; align-items:center; gap:14px; min-height:76px; padding:14px 16px; border:1px solid #214658; border-radius:7px; background:linear-gradient(120deg,#102f3f,#0a202e); color:var(--v2-text)!important; }
.tfld-v2-link:hover { background:#153d50; border-color:#247089; }
.tfld-v2-link>span:nth-child(2),.tfld-v2-unavailable>span:nth-child(2) { min-width:0; }
.tfld-v2-link strong,.tfld-v2-unavailable strong { display:block; font-size:15px; font-weight:600; line-height:1.3; }
.tfld-v2-link small,.tfld-v2-unavailable small { margin-top:4px; }
.tfld-v2-link__icon { color:var(--v2-accent); flex:none; }
.tfld-v2-link__icon svg { width:33px; height:33px; }
.tfld-v2-tools { max-width:1160px; padding-top:24px; }
.tfld-v2-tools__nav { margin:0 0 14px; }
.tfld-v2-tools__intro { margin-bottom:16px; }
.tfld-v2-tools__intro .tfld-v2-eyebrow { margin:0 0 4px; color:var(--v2-accent); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.tfld-v2-tools__intro h1 { margin:0 0 4px; font-size:clamp(24px,3vw,34px); line-height:1.15; }
.tfld-v2-tools__intro>p:last-child { color:var(--v2-muted); font-size:14px; }
.tfld-v2-tools__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tfld-v2-tool { display:flex; align-items:center; gap:12px; min-height:72px; padding:12px 14px; border:1px solid #214658; border-radius:7px; background:#061923; color:var(--v2-text)!important; }
.tfld-v2-tool:hover { border-color:#247089; background:#0d2938; }
.tfld-v2-tool__icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border:1px solid #286072; border-radius:6px; color:var(--v2-accent); font-size:21px; font-weight:700; }
.tfld-v2-tool__copy { min-width:0; }
.tfld-v2-tool__copy strong { display:block; font-size:15px; font-weight:600; line-height:1.3; }
.tfld-v2-tool__copy small { margin-top:3px; }
.tfld-v2-tool__arrow { margin-left:auto; color:var(--v2-muted); font-size:20px; }
.tfld-v2-tools .tfld-v2-panel h2 { margin:0 0 12px; }
.tfld-v2-tools .tfld-v2-empty { padding:4px 0; }
@media(max-width:640px) { .tfld-v2-tools { padding:12px 12px 20px; } .tfld-v2-tools__grid { grid-template-columns:1fr; } }
.tfld-v2-opboard-schedule { margin-top:22px; padding-top:18px; border-top:1px solid var(--v2-line); }
.tfld-v2-opboard-schedule__head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:10px; }
.tfld-v2-opboard-schedule__head h3 { color:var(--v2-text); font-size:15px; font-weight:700; }
.tfld-v2-opboard-schedule__head p { margin:5px 0 0; color:var(--v2-muted); font-size:12px; line-height:1.5; }
.tfld-v2-opboard-schedule__search input { width:min(260px,42vw); min-height:38px; padding:8px 10px; border:1px solid var(--v2-line); border-radius:6px; background:#061822; color:var(--v2-text); }
.tfld-v2-opboard-schedule__list { max-height:420px; overflow:auto; margin:0; padding:0; list-style:none; border-top:1px solid var(--v2-line); }
.tfld-v2-opboard-schedule__list li { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; padding:9px 4px; border-bottom:1px solid var(--v2-line); }
.tfld-v2-opboard-schedule__list li[hidden] { display:none; }
.tfld-v2-opboard-schedule__list label { display:flex; align-items:center; gap:11px; min-width:0; cursor:pointer; }
.tfld-v2-opboard-schedule__list input { width:17px; height:17px; flex:none; accent-color:var(--v2-accent); }
.tfld-v2-opboard-schedule__list label span { display:grid; gap:3px; min-width:0; }
.tfld-v2-opboard-schedule__list strong { color:var(--v2-text); font-size:13px; overflow-wrap:anywhere; }
.tfld-v2-opboard-schedule__list small { color:var(--v2-muted); font-size:11px; }
.tfld-v2-opboard-schedule__status { flex:none; color:var(--v2-muted); font-size:11px; text-align:right; }
@media(max-width:640px) { .tfld-v2-opboard-schedule__head { align-items:stretch; flex-direction:column; gap:10px; } .tfld-v2-opboard-schedule__search input { width:100%; } .tfld-v2-opboard-schedule__status { max-width:40%; } }
/* Keep shared tool dialogs fixed to the viewport outside the V2 hub layout. */
body.tfld-v2-page .tfld-modal { position:fixed!important; inset:0!important; display:flex; align-items:center; justify-content:center; padding:clamp(10px,3vw,24px); z-index:100060!important; box-sizing:border-box; }
body.tfld-v2-page .tfld-modal[aria-hidden="true"] { display:none!important; }
body.tfld-v2-page .tfld-modal__backdrop { position:absolute!important; inset:0!important; z-index:0; background:rgba(0,0,0,.62); }
body.tfld-v2-page .tfld-modal__dialog { position:relative!important; z-index:1; width:min(860px,96vw); max-height:min(720px,86vh); margin:auto; overflow:auto; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:linear-gradient(180deg,rgba(16,22,34,.96),rgba(10,14,22,.96)); color:#ecf2f8; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.tfld-v2 .tfld-v2-arrow { margin-left:auto; font-size:23px; line-height:1; color:var(--v2-muted); flex:none; }
.tfld-v2-unavailable { color:var(--v2-muted)!important; }
.tfld-v2-unavailable .tfld-v2-link__icon { opacity:.65; }
.tfld-v2-opboard { display:flex; min-width:0; }
.tfld-v2-opboard a { width:100%; display:flex; align-items:center; justify-content:center; gap:12px; min-height:76px; padding:14px; border:1px solid #214658; border-radius:7px; background:linear-gradient(120deg,#102f3f,#0a202e); color:var(--v2-text); font-size:15px; }
.tfld-v2-opboard svg { width:32px; height:32px; color:var(--v2-accent); }
.tfld-v2-recent { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tfld-v2-recent article { display:flex; align-items:stretch; gap:14px; min-width:0; padding:7px; border:1px solid var(--v2-line); border-radius:7px; background:#061822; }
.tfld-v2-recent-image { width:42%; min-height:146px; flex:none; position:relative; overflow:hidden; border-radius:4px; background:linear-gradient(130deg,#1c4053,#0a1c29); }
.tfld-v2-recent-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.tfld-v2-recent-image>span { height:100%; display:grid; place-items:center; color:#42657a; }
.tfld-v2-recent-image svg { width:48px; height:48px; }
.tfld-v2-recent-copy { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; padding:4px 4px 4px 0; }
.tfld-v2-recent h3 { font-size:17px; font-weight:700; line-height:1.3; text-transform:uppercase; overflow-wrap:anywhere; }
.tfld-v2-recent p { display:flex; align-items:center; gap:8px; font-size:13px; }
.tfld-v2-recent p svg { width:18px; height:18px; }
.tfld-v2-operation-type { color:#b1dae3; font-size:11px; border:1px solid #1c4a58; background:#0c303b; border-radius:5px; padding:4px 8px; }
.tfld-v2-attendance { font-size:11px; border-radius:5px; padding:4px 8px; }
.tfld-v2-attendance--attended { color:#37e4ec; border:1px solid #12666c; background:#07363b; }
.tfld-v2-attendance--excused { color:#cce1ea; border:1px solid #315469; background:#102c3c; }
.tfld-v2-attendance--absent { color:#ff8d96; border:1px solid #6c343d; background:#3b1e27; }
.tfld-v2-kills { display:flex; align-items:baseline; gap:5px; font-size:11px; color:#d4e2ec; }
.tfld-v2-kills strong { font-size:14px; }
.tfld-v2-recent-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; width:100%; margin-top:auto; }
.tfld-v2-recent-link { color:var(--v2-accent)!important; font-size:11px; white-space:nowrap; }
.tfld-v2-recent-link:hover { color:#fff!important; }
.tfld-v2-progression { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:24px; padding:16px 20px; border:1px solid var(--v2-line); border-radius:7px; background:#061923; }
.tfld-v2-progression--next { grid-template-columns:1fr 1fr 1.2fr; }
.tfld-v2-rank-current { display:flex; align-items:center; gap:20px; min-width:0; }
.tfld-v2-rank-current img { width:52px; height:65px; object-fit:contain; }
.tfld-v2-rank-symbol svg { width:48px; height:48px; color:#e6b255; }
.tfld-v2-progression h3 { font-size:19px; line-height:1.25; font-weight:600; margin-top:5px; }
.tfld-v2-rank-next { min-width:0; border-left:1px solid var(--v2-line); padding-left:24px; }
.tfld-v2-rank-next p { color:var(--v2-muted); font-size:12px; line-height:1.5; margin-top:5px; }
.tfld-v2-rank-record { border-left:1px solid var(--v2-line); padding-left:24px; }
.tfld-v2-rank-record p { font-size:13px; margin:4px 0 8px; }
.tfld-v2-rank-record a { font-size:12px; }
.tfld-v2 .tfld-v2-muted { color:var(--v2-muted); font-size:11px; margin:0 4px 4px; }
.tfld-v2-list { list-style:none; margin:0 4px!important; }
.tfld-v2 .tfld-v2-list li { display:flex; align-items:center; gap:12px; min-width:0; padding:14px 0; border-bottom:1px solid var(--v2-line); color:var(--v2-text); }
.tfld-v2-list li:last-child { border-bottom:0; }
.tfld-v2-list strong { display:block; font-size:13px; line-height:1.4; font-weight:500; min-width:0; }
.tfld-v2-activity .tfld-v2-list strong { flex:1; }
.tfld-v2-feed-icon { flex:none; color:#cadce8; }
.tfld-v2-activity time { flex:none; text-align:right; color:var(--v2-muted); font-size:11px; white-space:nowrap; }
.tfld-v2-dates time { width:86px; flex:none; color:#d5e2ec; font-size:12px; white-space:nowrap; }
.tfld-v2-dates .tfld-v2-list li>div { min-width:0; }
.tfld-v2-dates small { font-size:11px; }
.tfld-v2-dot { width:10px; height:10px; flex:none; background:var(--v2-accent); border-radius:50%; }
.tfld-v2-resources .tfld-v2-link { min-height:45px; margin-top:8px; padding:9px 12px; background:#071a25; }
.tfld-v2-resources .tfld-v2-link strong { font-size:13px; }
.tfld-v2-resources .tfld-v2-link__icon svg { width:23px; height:23px; color:#dde9f2; }
.tfld-v2-resources details { border:1px solid var(--v2-line); border-radius:6px; background:#071a25; }
.tfld-v2-resources summary { cursor:pointer; display:flex; align-items:center; gap:14px; min-height:45px; padding:9px 12px; list-style:none; font-size:13px; }
.tfld-v2-resources summary::-webkit-details-marker { display:none; }
.tfld-v2-resources details[open]>summary .tfld-v2-arrow { transform:rotate(90deg); }
.tfld-v2-resources details>div { padding:0 8px 8px; }
.tfld-v2-resources details .tfld-v2-link { border-color:#183746; }
.tfld-v2-skip { position:absolute; left:-10000px; z-index:100; }
.tfld-v2-skip:focus { position:relative; display:block; left:0; width:fit-content; padding:10px 16px; background:#14384b; }
@media(min-width:1500px) { .tfld-v2-hero { min-height:290px; } .tfld-v2-activity .tfld-v2-list li { min-height:65px; } }
@media(max-width:1200px) {
  .tfld-v2 { padding:16px 16px 20px; }
  .tfld-v2-grid { grid-template-columns:minmax(0,1.85fr) minmax(310px,1fr); gap:12px; }
  .tfld-v2-content,.tfld-v2 aside { gap:12px; }
  .tfld-v2-status { position:static; border:0; border-left:1px solid #2b4a59; border-radius:0; align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; min-width:145px; }
  .tfld-v2-hero__content { max-width:100%; padding:20px; flex:1; }
  .tfld-v2-hero:has(.tfld-v2-status) .tfld-v2-facts { padding-right:0; }
  .tfld-v2 .tfld-v2-hero h3 { font-size:42px; }
  .tfld-v2-link,.tfld-v2-unavailable { padding:12px; gap:9px; }
  .tfld-v2-link__icon svg { width:27px; height:27px; }
  .tfld-v2-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tfld-v2-actions { gap:8px; }
  .tfld-v2-actions strong { font-size:13px; }
  .tfld-v2-actions small { font-size:11px; }
  .tfld-v2-recent { grid-template-columns:1fr; }
  .tfld-v2-recent-image { width:35%; min-height:115px; }
  .tfld-v2 h2 { font-size:12px; gap:8px; letter-spacing:1px; }
  .tfld-v2-heading>a { font-size:11px; }
  .tfld-v2-progression { gap:14px; padding:14px; }
}
@media(max-width:900px) {
  .tfld-v2-grid { grid-template-columns:1fr; }
  .tfld-v2-recent { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tfld-v2-recent-image { width:40%; min-height:135px; }
  .tfld-v2 .tfld-v2-hero h3 { font-size:clamp(36px,6.5vw,58px); }
  .tfld-v2-status { min-width:180px; }
}
@media(max-width:580px) {
  .tfld-v2 { padding:12px 12px 16px; font-size:14px; }
  .tfld-v2-panel { padding:10px; }
  .tfld-v2-heading { gap:6px; flex-wrap:wrap; }
  .tfld-v2 h2 { font-size:12px; }
  .tfld-v2 h2 svg { width:21px; height:21px; }
  .tfld-v2-hero { min-height:300px; display:block; }
  .tfld-v2-hero__content { padding:22px 16px; }
  .tfld-v2 .tfld-v2-hero h3 { font-size:40px; }
  .tfld-v2 .tfld-v2-date { font-size:19px; }
  .tfld-v2-status { padding:10px 16px; border-left:0; border-top:1px solid #234253; min-width:0; background:rgba(3,20,30,.75); }
  .tfld-v2-status>span { display:none; }
  .tfld-v2-actions { grid-template-columns:1fr; gap:8px; }
  .tfld-v2-actions .tfld-v2-link,.tfld-v2-actions .tfld-v2-unavailable { min-height:64px; padding:12px 16px; }
  .tfld-v2-recent { grid-template-columns:1fr; }
  .tfld-v2-recent-image { min-height:125px; }
  .tfld-v2-recent h3 { font-size:16px; }
  .tfld-v2-progression { grid-template-columns:1fr; gap:16px; }
  .tfld-v2-rank-next { border-left:0; border-top:1px solid var(--v2-line); padding:14px 0 0; }
  .tfld-v2-rank-record { border-left:0; border-top:1px solid var(--v2-line); padding:14px 0 0; }
  .tfld-v2-activity time { font-size:10px; }
  .tfld-v2-list li { gap:10px; }
  .tfld-v2-list strong { font-size:12px; overflow-wrap:anywhere; }
  .tfld-v2-dates time { width:78px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .tfld-v2 a { transition:none; } }

/* Concept scale: Rajdhani + larger type, closer to the Task Force Legion target mock-up. */
.tfld-v2,.tfld-v2 :is(h2,h3,p,ul,a,small,strong,time,span) { font-family:Rajdhani,"Segoe UI",sans-serif; }
.tfld-v2 .tfld-v2-hero h3 { font-family:"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif; }
.tfld-v2 { font-size:17px; }
.tfld-v2-grid { grid-template-columns:minmax(0,1fr) clamp(320px,28.8%,480px); }
.tfld-v2 small { font-size:15px; }
.tfld-v2 h2 { font-size:20px; letter-spacing:2.3px; gap:14px; margin-bottom:8px; }
.tfld-v2 h2 svg { width:27px; height:27px; }
.tfld-v2-heading { margin-bottom:8px; }
.tfld-v2-heading>a { font-size:17px; font-weight:500; }
.tfld-v2 .tfld-v2-eyebrow { font-size:16px; letter-spacing:2.5px; font-weight:500; }
.tfld-v2 .tfld-v2-date { font-size:29px; font-weight:600; }
.tfld-v2-date svg { width:31px; height:31px; }
.tfld-v2-facts { font-size:20px; gap:24px; }
.tfld-v2-facts svg { width:24px; height:24px; }
.tfld-v2-status { min-width:260px; padding:14px 18px; background:rgba(10,24,36,.88); }
.tfld-v2-status>span { font-size:14px; letter-spacing:1.5px; padding-bottom:10px; margin-bottom:12px; }
.tfld-v2-status p { font-size:18px; gap:12px; }
.tfld-v2-status p+p { margin-top:10px; }
.tfld-v2-status svg { width:22px; height:22px; }
.tfld-v2-link,.tfld-v2-unavailable,.tfld-v2-opboard a { border-radius:8px; font-size:21px; }
.tfld-v2-link strong,.tfld-v2-unavailable strong { font-size:21px; }
.tfld-v2-link small,.tfld-v2-unavailable small { font-size:15px; margin-top:2px; }
.tfld-v2-link__icon svg { width:40px; height:40px; }
.tfld-v2-recent h3 { font-size:22px; }
.tfld-v2-recent p { font-size:18px; }
.tfld-v2-recent p svg { width:21px; height:21px; }
.tfld-v2-operation-type,.tfld-v2-attendance { font-size:17px; border-radius:8px; padding:3px 14px; }
.tfld-v2-kills { font-size:14px; }
.tfld-v2-kills strong { font-size:20px; }
.tfld-v2-recent-link { font-size:15px; }
.tfld-v2-progression h3 { font-size:29px; }
.tfld-v2-progression small { font-size:17px; color:#eaf3f9; }
.tfld-v2-rank-current img { width:56px; height:70px; }
.tfld-v2-rank-record p { font-size:18px; }
.tfld-v2-rank-record a { font-size:16px; }
.tfld-v2-list strong { font-size:18px; }
.tfld-v2-activity time { font-size:16px; }
.tfld-v2-dates time { font-size:18px; width:120px; }
.tfld-v2-dates small { font-size:15px; }
.tfld-v2-resources .tfld-v2-link strong,.tfld-v2-resources summary { font-size:18px; }
.tfld-v2 .tfld-v2-muted { font-size:15px; }
@media(max-width:1200px) {
  .tfld-v2-grid { grid-template-columns:minmax(0,1.85fr) minmax(310px,1fr); }
  .tfld-v2 .tfld-v2-date { font-size:24px; }
  .tfld-v2-link strong,.tfld-v2-unavailable strong { font-size:18px; }
}
@media(max-width:900px) { .tfld-v2-grid { grid-template-columns:1fr; } }

/* UX sweep: accessible heading, larger text-link targets, consistent OPBOARD card. */
.tfld-v2-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.tfld-v2-heading>a,.tfld-v2-recent-link,.tfld-v2-rank-record a { display:inline-flex; align-items:center; min-height:32px; padding:0 4px; margin:0 -4px; }
.tfld-v2-recent-links { gap:4px 8px; }
.tfld-v2-opboard a { justify-content:flex-start; padding:14px 16px; font-weight:600; }
.tfld-v2-link:focus-visible,.tfld-v2-opboard a:focus-visible { outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .tfld-v2-hero__image { scroll-behavior:auto; } }

/* Notification bell + account menu (shared with Dashboard V1). */
.tfld-v2-profile { display:flex; justify-content:flex-end; position:relative; z-index:30; margin:0 0 12px; min-height:44px; }
.tfld-v2-profile .tfld-profile-cluster { display:flex; align-items:center; gap:14px; }
.tfld-v2-profile .tfld-profile-trigger,.tfld-v2-profile .tfld-profile-bell { font-family:inherit; }
.tfld-v2-profile .tfld-profile-trigger__new { display:none!important; }

/* Notifications panel: compact header, readable text, themed scrollbar. */
.tfld-v2 .tfldn-panel { width:min(440px,92vw); padding:16px; font-size:17px; background:#0b1c28; border-color:#1d4a5c; scrollbar-color:#1f8da0 #0a1822; }
.tfld-v2 .tfldn-head { align-items:center; margin-bottom:10px; min-height:0; }
.tfld-v2 .tfldn-head__title strong { font-size:21px; font-weight:600; letter-spacing:.04em; color:#eaf3f9; }
.tfld-v2 .tfldn-head button { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; min-height:0; margin:0; padding:0; border:0; border-radius:8px; background:none; color:#dfeaf2; line-height:1; box-shadow:none; }
.tfld-v2 .tfldn-head button:hover { background:rgba(43,217,238,.12); }
.tfld-v2 .tfldn-settings .tfld-qa-ico,.tfld-v2 .tfldn-settings svg { width:20px; height:20px; }
.tfld-v2 .tfldn-toolbar { margin-bottom:8px; }
.tfld-v2 .tfldn-mark-all { font-size:15px; padding:6px 14px; color:#9ef0f7; }
.tfld-v2 .tfldn-list { max-height:min(58vh,440px); }
.tfld-v2 .tfldn-item { gap:12px; padding:14px 10px 14px 12px; border-top-color:#1c3b52; }
.tfld-v2 .tfldn-item.is-unread { background:rgba(208,168,75,.1); }
.tfld-v2 .tfldn-item__main { gap:5px; }
.tfld-v2 .tfldn-item__main>:is(b,strong,span:first-child):not(.tfldn-item__type) { font-size:19px; line-height:1.25; }
.tfld-v2 .tfldn-item__main small { font-size:16px; line-height:1.45; opacity:1; color:#d3e0ea; }
.tfld-v2 .tfldn-item__time { font-size:14px; opacity:.85; color:#a9bdcc; }
.tfld-v2 .tfldn-item__type { font-size:12px; padding:3px 9px; }
.tfld-v2 .tfldn-item__read { font-size:14px; padding:6px 12px; color:#bdf4f8; }
.tfld-v2 .tfldn-empty { font-size:16px; opacity:.9; }
.tfld-v2 .tfldn-option { font-size:16px; }
.tfld-v2 .tfldn-option__text small,.tfld-v2 .tfldn-section__hint { font-size:14px; opacity:.88; }
/* Themed scrollbars. */
.tfld-v2 .tfldn-list,.tfld-v2 .tfldn-view--manager { scrollbar-width:thin; scrollbar-color:#1f8da0 #0a1822; }
.tfld-v2 .tfldn-list::-webkit-scrollbar,.tfld-v2 .tfldn-view--manager::-webkit-scrollbar { width:10px; }
.tfld-v2 .tfldn-list::-webkit-scrollbar-track,.tfld-v2 .tfldn-view--manager::-webkit-scrollbar-track { background:#0a1822; border-radius:6px; }
.tfld-v2 .tfldn-list::-webkit-scrollbar-thumb,.tfld-v2 .tfldn-view--manager::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#27b6cc,#1a6f7e); border:2px solid #0a1822; border-radius:6px; }
.tfld-v2 .tfldn-list::-webkit-scrollbar-thumb:hover,.tfld-v2 .tfldn-view--manager::-webkit-scrollbar-thumb:hover { background:#2bd9ee; }
.tfld-v2 .tfldn-toolbar,.tfld-v2 .tfldn-view,.tfld-v2 .tfldn-list { background:transparent; }
.tfld-v2 .tfldn-item__type { font-size:11px; letter-spacing:.06em; padding:2px 8px; line-height:1.3; }

/* Account menu: larger, higher-contrast text. */
.tfld-v2-profile .tfld-profile-trigger__howdy { font-size:18px; font-weight:600; color:#eaf3f9; }
.tfld-v2-profile .tfld-profile-dropdown { min-width:300px; padding:10px; background:rgba(8,22,33,.98)!important; border-color:#1d4a5c; }
.tfld-v2-profile .tfld-profile-menu__role { padding:8px 12px 12px; margin-bottom:6px; border-bottom:1px solid #1c3b52; font-size:18px; font-weight:600; letter-spacing:.03em; color:#eaf3f9; }
.tfld-v2-profile .tfld-profile-menu__item { gap:14px; padding:12px 14px; font-size:18px; font-weight:500; line-height:1.25; color:#eaf3f9; }
.tfld-v2-profile .tfld-profile-menu__item:hover,.tfld-v2-profile .tfld-profile-menu__item:focus-visible { background:rgba(43,217,238,.14); color:#fff; }
.tfld-v2-profile .tfld-profile-menu__item .tfld-qa-ico { width:24px; height:24px; }
.tfld-v2-profile .tfld-profile-menu__item--danger { color:#ff9aa3; }
.tfld-v2-profile .tfld-profile-menu__sep { margin:6px 4px; background:#1c3b52; }

/* Attendance & LOA card text, stats panel, full rank progression. */
.tfld-v2-link__text { flex:1; min-width:0; }
.tfld-v2-link small { text-wrap:balance; line-height:1.3; }
.tfld-v2-status a { color:inherit; }
.tfld-v2-status a strong { color:var(--v2-accent); }
.tfld-v2-stats { display:flex; flex-direction:column; justify-content:center; gap:12px; padding:14px 16px; border:1px solid var(--v2-line); border-radius:7px; background:#061822; min-width:0; }
.tfld-v2-stats dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.tfld-v2-stats dl>div { padding:8px 10px; border:1px solid #14303f; border-radius:6px; background:rgba(255,255,255,.02); }
.tfld-v2-stats dt { font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:#a9bdcc; }
.tfld-v2-stats dd { margin:2px 0 0; font-size:30px; font-weight:700; line-height:1.1; color:#eaf3f9; }
.tfld-v2-stats small { font-size:14px; }
.tfld-v2-stats__last { display:flex; flex-direction:column; gap:2px; margin:0; }
.tfld-v2-stats__last strong { font-size:18px; font-weight:600; }
.tfld-v2-progression--next { grid-template-columns:minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.5fr) minmax(0,1fr); align-items:start; }
.tfld-v2-rank-next__row { display:flex; align-items:center; gap:12px; }
.tfld-v2-rank-next__row img { width:44px; height:55px; object-fit:contain; filter:grayscale(.6) opacity(.85); }
.tfld-v2-rank-next p { font-size:15px; }
.tfld-v2-rank-bars { display:flex; flex-direction:column; gap:14px; border-left:1px solid var(--v2-line); padding-left:24px; min-width:0; }
.tfld-v2-bar__head { display:flex; justify-content:space-between; gap:10px; font-size:16px; }
.tfld-v2-bar__head strong { font-size:17px; }
.tfld-v2-bar__track { display:flex; align-items:center; gap:12px; margin:6px 0 4px; }
.tfld-v2-bar__track b { min-width:44px; text-align:right; font-size:17px; }
.tfld-v2-bar progress { flex:1; appearance:none; -webkit-appearance:none; height:12px; border:0; border-radius:6px; background:#1a3040; overflow:hidden; }
.tfld-v2-bar progress::-webkit-progress-bar { background:#1a3040; border-radius:6px; }
.tfld-v2-bar progress::-webkit-progress-value { background:linear-gradient(90deg,#1fc4dd,#35e6f3); border-radius:6px; }
.tfld-v2-bar progress::-moz-progress-bar { background:linear-gradient(90deg,#1fc4dd,#35e6f3); border-radius:6px; }
.tfld-v2-bar small { font-size:14px; }
.tfld-v2-bar__courses { font-size:15px; margin:0; }
.tfld-v2-bar__courses small { display:block; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.tfld-v2-pp-log { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; }
.tfld-v2-pp-log li { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:baseline; font-size:14px; }
.tfld-v2-pp-log .is-pos { color:#3be3a0; }
.tfld-v2-pp-log .is-neg { color:#ff8d96; }
.tfld-v2-pp-log span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#c4d3df; }
.tfld-v2-pp-log time { color:#8fa6b6; }
.tfld-v2 .tfld-v2-rank-record .tfld-v2-service { margin:8px 0 0; font-size:14px; color:#a9bdcc; }
.tfld-v2-stats__last { text-align:left; align-items:flex-start; }
.tfld-v2-stats__foot { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:stretch; padding-top:10px; border-top:1px solid #14303f; }
.tfld-v2-stats__foot .tfld-v2-stats__last { padding-top:0; border-top:0; justify-content:center; min-width:0; }
.tfld-v2-stats__media { display:flex; align-items:center; gap:10px; padding:8px 14px; border:1px solid #214658; border-radius:8px; background:linear-gradient(180deg,#112a3b,#0c2030); color:var(--v2-text)!important; }
.tfld-v2-stats__media:hover { border-color:#2a6a86; background:#153d50; }
.tfld-v2-stats__media-icon { display:inline-flex; flex:none; width:30px; height:30px; color:var(--v2-accent); }
.tfld-v2-stats__media-icon svg { width:30px; height:30px; }
.tfld-v2-stats__media strong { display:block; font-size:17px; font-weight:600; line-height:1.15; }
.tfld-v2-stats__media small { font-size:14px; }
@media(max-width:560px) { .tfld-v2-stats__foot { grid-template-columns:1fr; } }
.tfld-v2-facts>.tfld-v2-member { align-items:flex-start; }
.tfld-v2-member>svg,.tfld-v2-member>.tfld-v2-ico { margin-top:3px; }
.tfld-v2-member strong { display:block; font-size:19px; font-weight:600; line-height:1.2; }
.tfld-v2-member small { display:block; margin-top:2px; font-size:15px; line-height:1.3; color:#d3e0ea; }
@media(max-width:1500px) { .tfld-v2-progression--next { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .tfld-v2-rank-bars { grid-column:1 / -1; border-left:0; padding-left:0; } }
@media(max-width:580px) { .tfld-v2-progression--next { grid-template-columns:1fr; } .tfld-v2-stats dl { grid-template-columns:1fr 1fr; } }

/* Previous operation: banner with title on top, meta and links below; stats card matches its height. */
.tfld-v2-recent { align-items:stretch; }
.tfld-v2 .tfld-v2-recent article.tfld-v2-prev { display:flex; flex-direction:column; gap:0; padding:0; overflow:hidden; }
.tfld-v2-prev__media { position:relative; display:flex; align-items:flex-end; min-height:170px; padding:14px 16px; background:linear-gradient(130deg,#12303f,#0a1c29); isolation:isolate; }
.tfld-v2-prev__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.tfld-v2-prev__media::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,12,20,.92),rgba(3,12,20,.15) 70%); }
.tfld-v2-prev__media>span[aria-hidden] { position:absolute; inset:0; display:grid; place-items:center; color:#42657a; z-index:-1; }
.tfld-v2-prev__media .tfld-v2-operation-type { position:absolute; top:12px; left:14px; background:rgba(5,24,34,.82); }
.tfld-v2-prev__media h3 { margin:0; font-size:24px; line-height:1.15; text-transform:uppercase; text-shadow:0 2px 8px #000a; overflow-wrap:anywhere; }
.tfld-v2-prev__body { display:flex; flex-direction:column; gap:12px; padding:14px 16px 12px; flex:1; }
.tfld-v2-prev__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.tfld-v2-prev__date { display:inline-flex; align-items:center; gap:8px; font-size:18px; }
.tfld-v2-prev__date svg { width:20px; height:20px; }
.tfld-v2-prev .tfld-v2-kills { margin-left:auto; display:inline-flex; align-items:baseline; gap:6px; }
.tfld-v2-prev .tfld-v2-recent-links { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:10px; border-top:1px solid #14303f; width:100%; }
.tfld-v2-stats { justify-content:stretch; }
.tfld-v2-stats dl { flex:1; grid-auto-rows:1fr; }
.tfld-v2-stats dl>div { display:flex; flex-direction:column; justify-content:center; }
.tfld-v2-stats__last { padding-top:10px; border-top:1px solid #14303f; }

/* Rank block: ranks (top left), TIG/PP trackers (bottom left), ASI matrix (middle), service record (right). */
.tfld-v2-rankgrid { display:grid; grid-template-columns:minmax(340px,1.15fr) minmax(0,1.9fr) minmax(210px,.8fr); grid-template-areas:"ranks asi record" "trackers asi record"; gap:0; padding:14px 6px; border:1px solid var(--v2-line); border-radius:7px; background:#061923; align-items:start; }
.tfld-v2-rankgrid>* { padding:0 22px; min-width:0; }
.tfld-v2-rankgrid__ranks { grid-area:ranks; display:flex; flex-direction:column; gap:16px; align-items:flex-start; padding-bottom:16px; }
.tfld-v2-rankgrid .tfld-v2-rank-next>div { display:flex; flex-direction:column; gap:2px; }
.tfld-v2-rankgrid__trackers { grid-area:trackers; border-left:0!important; padding-left:22px!important; padding-top:16px; border-top:1px solid var(--v2-line); }
.tfld-v2-rankgrid__asi { grid-area:asi; border-left:1px solid var(--v2-line); }
.tfld-v2-rankgrid__record { grid-area:record; border-left:1px solid var(--v2-line); }
.tfld-v2-rankgrid .tfld-v2-rank-current,.tfld-v2-rankgrid .tfld-v2-rank-next { border:0; padding:0; }
.tfld-v2-rankgrid .tfld-v2-rank-current h3,.tfld-v2-rankgrid .tfld-v2-rank-next h3 { white-space:nowrap; }
.tfld-v2-rankgrid .tfld-v2-rank-current>div,.tfld-v2-rankgrid .tfld-v2-rank-next>div { min-width:0; }
.tfld-v2-rankgrid .tfld-v2-rank-next { display:flex; }
.tfld-v2-asi__head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin-bottom:10px; }
.tfld-v2-asi__head h4 { margin:0; font-size:19px; letter-spacing:.04em; color:#eaf3f9; }
.tfld-v2-heading__links { display:flex; flex-wrap:wrap; gap:6px 22px; margin-left:auto; }
.tfld-v2-heading__links a { display:inline-flex; align-items:center; min-height:32px; font-size:17px; font-weight:500; white-space:nowrap; }
/* ASI categories are collapsed to their title and "x / y eligible" counter; click to expand. */
.tfld-v2-asi__group>summary { position:relative; display:block; list-style:none; cursor:pointer; padding-right:22px; border-radius:4px; }
.tfld-v2-asi__group>summary::-webkit-details-marker { display:none; }
.tfld-v2-asi__group>summary::after { content:"›"; position:absolute; top:0; right:2px; font-size:22px; line-height:1; color:var(--v2-muted); transition:transform .15s; }
.tfld-v2-asi__group[open]>summary::after { transform:rotate(90deg); }
.tfld-v2-asi__group>summary:hover h5,.tfld-v2-asi__group>summary:focus-visible h5 { color:var(--v2-accent); }
.tfld-v2-asi__group>summary:focus-visible { outline:2px solid #f8d47b; outline-offset:2px; }
.tfld-v2-asi__group[open]>summary { margin-bottom:8px; }
.tfld-v2-asi__group>summary progress { margin-bottom:0; }
/* TIG / PP trackers: the percentage sits in the middle of the bar. */
.tfld-v2-bar__track { position:relative; display:block; margin:6px 0 4px; }
.tfld-v2-bar__track progress { display:block; width:100%; height:24px; border-radius:12px; }
.tfld-v2-bar__track progress::-webkit-progress-bar { border-radius:12px; }
.tfld-v2-bar__track progress::-webkit-progress-value { border-radius:12px; }
.tfld-v2-bar__track progress::-moz-progress-bar { border-radius:12px; }
.tfld-v2-bar__track b { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; min-width:0; font-size:15px; font-weight:700; color:#fff; text-shadow:0 0 3px #000,0 0 6px rgba(0,0,0,.8); pointer-events:none; }
/* Stats card: six equal blocks; two of them (un-legitimate LOAs, add media) are links with a hover state. */
.tfld-v2-stats { padding:8px; }
.tfld-v2-stats__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:10px; height:100%; }
.tfld-v2-stat { display:flex; flex-direction:column; min-width:0; border:1px solid #14303f; border-radius:6px; background:rgba(255,255,255,.02); }
.tfld-v2-stat>*,.tfld-v2-stat__link>* { min-width:0; }
.tfld-v2-stat { padding:10px 12px; justify-content:center; }
.tfld-v2-stat__label { display:block; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:#a9bdcc; }
.tfld-v2-stat__value { display:block; margin-top:2px; font-size:30px; font-weight:700; line-height:1.1; color:#eaf3f9; }
.tfld-v2-stat__name { display:block; margin-top:4px; font-size:19px; font-weight:600; line-height:1.2; color:#eaf3f9; overflow-wrap:anywhere; }
.tfld-v2-stat small { display:block; margin-top:2px; font-size:14px; }
.tfld-v2-stat--last { border-color:#1d4a5c; background:rgba(43,217,238,.05); }
.tfld-v2-stat:has(.tfld-v2-stat__link) { padding:0; }
.tfld-v2-stat__link { display:flex; flex-direction:column; justify-content:center; flex:1; padding:10px 12px; border-radius:6px; color:inherit!important; text-decoration:none!important; transition:background .15s,box-shadow .15s; }
.tfld-v2-stat__link:hover,.tfld-v2-stat__link:focus-visible { background:rgba(43,217,238,.1); box-shadow:inset 0 0 0 1px #2a8aa0; }
.tfld-v2-stat__link small { color:var(--v2-accent); }
.tfld-v2-stat__link:not(.tfld-v2-stat__media)::after { content:"›"; position:absolute; top:6px; right:10px; font-size:22px; line-height:1; color:var(--v2-muted); }
.tfld-v2-stat__link:not(.tfld-v2-stat__media):hover::after { color:var(--v2-accent); }
.tfld-v2-stat:has(.tfld-v2-stat__link) { position:relative; }
.tfld-v2-stat__link { position:relative; }
.tfld-v2-stat__media { align-items:flex-start; gap:2px; }
.tfld-v2-stat__media-icon { display:inline-flex; width:30px; height:30px; color:var(--v2-accent); margin-bottom:2px; }
.tfld-v2-stat__media-icon svg { width:30px; height:30px; }
@media(max-width:700px) { .tfld-v2-stats__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Activity & notices: the whole row is a link; optional subtitle under the title. */
.tfld-v2-activity .tfld-v2-list li { padding:0; }
.tfld-v2-feed__link { display:flex; align-items:center; gap:12px; width:100%; min-width:0; padding:12px 6px; margin:0 -6px; border-radius:6px; color:inherit!important; text-decoration:none!important; }
.tfld-v2-feed__link:hover { background:rgba(43,217,238,.08); }
.tfld-v2-feed__link:focus-visible { outline-offset:-2px; }
.tfld-v2-feed__text { flex:1; min-width:0; }
.tfld-v2-feed__text strong { display:block; flex:none; }
.tfld-v2-feed__text small { display:block; margin-top:2px; font-size:15px; color:var(--v2-accent); }
.tfld-v2-feed__link time { flex:none; text-align:right; color:var(--v2-muted); font-size:16px; white-space:nowrap; }
/* Upcoming events: weekday as a small subtitle under the date. */
.tfld-v2-dates time { display:block; line-height:1.2; }
.tfld-v2-dates .tfld-v2-weekday { display:block; margin-top:2px; font-size:14px; color:var(--v2-muted); }
/* Member block: rank insignia instead of an icon, role and a clickable team line. */
.tfld-v2-member__rank { width:38px; height:48px; object-fit:contain; flex:none; margin-top:-2px; }
.tfld-v2-member__team { display:block; margin-top:2px; font-size:15px; line-height:1.3; color:var(--v2-accent); text-decoration:underline; text-decoration-color:rgba(43,217,238,.35); text-underline-offset:3px; }
.tfld-v2-member__team:hover { color:#6efaff; text-decoration-color:currentColor; }
/* ASI matrix like Dashboard V1: legend, eligibility counters and a switch for other-MOS items. */
.tfld-v2-asi { position:relative; }
.tfld-v2-asi__toggle { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.tfld-v2-asi__head { align-items:center; }
.tfld-v2-asi__legend { flex:1 1 auto; justify-content:flex-end; }
.tfld-v2-asi__legend .is-unavailable { color:#8398a8; }
.tfld-v2-asi__switch { cursor:pointer; font-size:15px; font-weight:600; color:var(--v2-accent); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; padding:4px 2px; }
.tfld-v2-asi__switch:hover { color:#6efaff; }
.tfld-v2-asi__toggle:focus-visible ~ .tfld-v2-asi__head .tfld-v2-asi__switch { outline:2px solid #f8d47b; outline-offset:3px; }
.tfld-v2-asi__hide { display:none; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__head .tfld-v2-asi__show { display:none; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__head .tfld-v2-asi__hide { display:inline; }
.tfld-v2-asi__group h5 { display:block; margin:0 0 6px; font-size:16px; letter-spacing:.06em; }
.tfld-v2-asi__count { margin:0 0 6px; font-size:16px; font-weight:600; color:#eaf3f9; }
.tfld-v2-asi__group li.is-unavailable { display:none; }
/* A category with nothing available (e.g. Aviation) stays visible as "0 / N eligible" and shows its items when opened. */
.tfld-v2-asi__group.is-other-only li.is-unavailable { display:flex; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__groups li.is-unavailable { display:flex; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__groups .tfld-v2-asi__group.is-other-only { display:block; }
.tfld-v2-asi li.is-unavailable>.tfld-v2-asi__mark { color:#6d8191; }
.tfld-v2-asi li.is-unavailable .tfld-v2-asi__title,.tfld-v2-asi li.is-unavailable .tfld-v2-asi__code { color:#7a8fa0; }
.tfld-v2-asi__code { flex:none; min-width:30px; font-size:15px; font-weight:700; color:#eaf3f9; }
.tfld-v2-asi__title { white-space:normal; overflow:visible; text-overflow:clip; }
.tfld-v2-asi__group li { align-items:flex-start; }
/* Rank block without the service-record column: ranks + trackers on the left, ASI matrix on the right. */
.tfld-v2-rankgrid { grid-template-columns:minmax(400px,.9fr) minmax(0,2fr); grid-template-areas:"ranks asi" "trackers asi"; grid-template-rows:auto 1fr; align-content:start; }
/* Left unit: current rank -> next rank side by side, TIG/PP bars directly beneath (no gap). */
.tfld-v2-rankgrid__ranks { flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:12px 40px; padding-bottom:14px; }
.tfld-v2-rankgrid__trackers { padding-top:14px; align-self:start; }
@media(max-width:1100px) { .tfld-v2-rankgrid { grid-template-columns:1fr; grid-template-areas:"ranks" "trackers" "asi"; } .tfld-v2-rankgrid__asi { border-left:0; border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; } }
.tfld-v2-asi__head p { display:flex; flex-wrap:wrap; gap:4px 12px; margin:0; font-size:13px; color:#a9bdcc; }
.tfld-v2-asi .is-completed,.tfld-v2-asi li.is-completed>span:first-child { color:#3be3a0; }
.tfld-v2-asi .is-available,.tfld-v2-asi li.is-available>span:first-child { color:#e6b255; }
.tfld-v2-asi .is-locked,.tfld-v2-asi li.is-locked>span:first-child { color:#7f93a3; }
.tfld-v2-asi__groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tfld-v2-asi__group { padding:10px 12px; border:1px solid #14303f; border-radius:6px; background:rgba(255,255,255,.02); min-width:0; }
.tfld-v2-asi__group h5 { display:flex; justify-content:space-between; gap:8px; margin:0 0 6px; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:#eaf3f9; }
.tfld-v2-asi__group h5 b { color:#3be3a0; font-size:15px; }
.tfld-v2-asi__group progress { width:100%; height:6px; margin-bottom:8px; appearance:none; -webkit-appearance:none; border:0; border-radius:4px; background:#1a3040; overflow:hidden; }
.tfld-v2-asi__group progress::-webkit-progress-bar { background:#1a3040; border-radius:4px; }
.tfld-v2-asi__group progress::-webkit-progress-value { background:linear-gradient(90deg,#1ebf85,#3be3a0); border-radius:4px; }
.tfld-v2-asi__group progress::-moz-progress-bar { background:linear-gradient(90deg,#1ebf85,#3be3a0); border-radius:4px; }
.tfld-v2-asi__group ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
.tfld-v2-asi__group li { display:flex; gap:8px; align-items:baseline; font-size:15px; line-height:1.3; }
.tfld-v2-asi__group li>span:first-child { flex:none; width:18px; text-align:center; font-size:13px; }
.tfld-v2-asi__title { white-space:normal; overflow-wrap:anywhere; min-width:0; }
.tfld-v2-asi li.is-locked .tfld-v2-asi__title { color:#8398a8; }
@media(max-width:1500px) { .tfld-v2-rankgrid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"ranks record" "trackers record" "asi asi"; } .tfld-v2-rankgrid__asi { border-left:0; border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; } }
@media(max-width:700px) { .tfld-v2-rankgrid { grid-template-columns:1fr; grid-template-areas:"ranks" "trackers" "asi" "record"; } .tfld-v2-rankgrid__record { border-left:0; border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; } .tfld-v2-asi__groups { grid-template-columns:1fr; } }

/* Stats: three fixed-value tiles on top, then last operation / LOAs / media; only the second row is clickable. */
.tfld-v2-stat--last { border-color:#14303f; background:rgba(255,255,255,.02); }
.tfld-v2-stat__link small { margin-top:2px; }
/* Rank block: ranks + trackers | compact ASI list | shadowbox preview. */
.tfld-v2-rankgrid { grid-template-columns:minmax(300px,.85fr) minmax(0,1fr) minmax(300px,1fr); grid-template-areas:"ranks asi sb" "trackers asi sb"; }
.tfld-v2-rankgrid__ranks { gap:12px 28px; }
.tfld-v2-rankgrid__asi { border-right:1px solid var(--v2-line); }
.tfld-v2-rankgrid .tfld-v2-asi__groups { grid-template-columns:1fr; gap:8px; }
.tfld-v2-rankgrid .tfld-v2-asi__group { padding:8px 10px; }
.tfld-v2-rankgrid .tfld-v2-asi__group h5,.tfld-v2-rankgrid .tfld-v2-asi__group li { font-size:14px; }
.tfld-v2-rankgrid .tfld-v2-asi__count { font-size:14px; }
.tfld-v2-rankgrid__sb { grid-area:sb; align-self:start; display:flex; flex-direction:column; gap:8px; color:inherit!important; }
.tfld-v2-sb__label { font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:#a9bdcc; }
.tfld-v2-sb__canvas { display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:6px; border:1px solid #14303f; background:#061822; transition:border-color .15s,box-shadow .15s; }
.tfld-v2-sb:hover .tfld-v2-sb__canvas,.tfld-v2-sb:focus-visible .tfld-v2-sb__canvas { border-color:#2a8aa0; box-shadow:0 0 0 1px #2a8aa0; }
@media(max-width:1500px) { .tfld-v2-rankgrid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"ranks asi" "trackers asi" "sb sb"; } .tfld-v2-rankgrid__asi { border-right:0; } .tfld-v2-rankgrid__sb { border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; } }
@media(max-width:1100px) { .tfld-v2-rankgrid { grid-template-columns:1fr; grid-template-areas:"ranks" "trackers" "asi" "sb"; } }
/* Previous operation: attendance badge colours (green attended, yellow LOA registered, red unregistered) and OCAP stat row. */
.tfld-v2-attendance--attended { color:#3be3a0; border:1px solid #1d7a58; background:#0a3a2b; }
.tfld-v2-attendance--excused { color:#f3cf6b; border:1px solid #7a6320; background:#3a300d; }
.tfld-v2-attendance--absent { color:#ff8d96; border:1px solid #7a2f38; background:#3b1a22; }
.tfld-v2-kills { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; }
.tfld-v2-kills>span { display:inline-flex; align-items:baseline; gap:5px; }
.tfld-v2-kills .is-warn,.tfld-v2-kills .is-warn strong { color:#f3cf6b; }
.tfld-v2-prev__meta .tfld-v2-kills { flex-basis:100%; margin-left:0; }
.tfld-v2-opboard a:hover { background:#153d50; border-color:#247089; }
/* Previous operation: stats and links sit on the banner so the card stays compact. */
.tfld-v2-prev__media { min-height:190px; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:8px; }
.tfld-v2-prev__media::after { background:linear-gradient(0deg,rgba(3,12,20,.96),rgba(3,12,20,.55) 55%,rgba(3,12,20,.1)); }
.tfld-v2-prev__stats { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 16px; width:100%; }
.tfld-v2-prev__stats .tfld-v2-kills { margin:0; flex-basis:auto; color:#e4edf5; }
.tfld-v2-prev__stats .tfld-v2-recent-links { width:auto; margin:0; padding:0; border:0; gap:14px; }
.tfld-v2-prev__body { padding:10px 16px; flex:0 0 auto; }
/* Unit tab (Personnel Record) and the shadow box preview under it. */
.tfld-v2-tab__img { display:block; width:100%; max-width:300px; height:auto; max-height:260px; object-fit:contain; margin:0 auto; filter:drop-shadow(0 6px 10px rgba(0,0,0,.5)); }
.tfld-v2-sbx__tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.tfld-v2-sbx__seg { display:inline-flex; border:1px solid var(--v2-line); border-radius:8px; overflow:hidden; }
.tfld-v2-sbx__seg button { background:transparent; color:var(--v2-muted); border:0; padding:6px 12px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.tfld-v2-sbx__seg button[aria-pressed="true"] { background:#16384a; color:var(--v2-text); }
.tfld-v2-sbx__edit, .tfld-v2-sbx__dl { background:#16384a; color:var(--v2-text); border:1px solid var(--v2-line); border-radius:8px; padding:6px 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.tfld-v2-sbx__edit:hover, .tfld-v2-sbx__dl:hover { border-color:var(--v2-accent); }
.tfld-v2-sbx__stage { display:flex; justify-content:center; padding:4px 0; }
.tfld-v2-sbx__stage canvas { display:block; max-width:100%; border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.45); }
.tfld-v2-sbx__note { margin-top:10px; color:var(--v2-muted); font-size:13px; text-align:center; }
.tfld-v2-sbx__dl[hidden] { display:none; }

/* S-1 / HQ "view as" selector on the shadow box. */
.tfld-v2-sbx__as { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--v2-muted); }
.tfld-v2-sbx__as select { max-width:240px; font-size:13px; padding:6px 10px; border-radius:8px; }
.tfld-v2-sbx__asnote { margin:0 0 8px; padding:6px 10px; border:1px solid #7a6320; border-radius:8px; background:#3a300d; color:#f3cf6b; font-size:13px; text-align:center; }
.tfld-v2-sbx__asnote[hidden] { display:none; }
.tfld-v2-sbx__as span { white-space:nowrap; }
.tfld-v2-sbx__stage { position:relative; }
.tfld-v2-sbx__tipsopt { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--v2-muted); cursor:pointer; white-space:nowrap; }
.tfld-v2-sbx__stage .tfld-sbs__tip { background:#0b141d; border:1px solid #243447; border-radius:6px; padding:6px 10px; color:#e8eef4; z-index:5; }
.tfld-v2-sbx__stage .tfld-sbs__tip[hidden] { display:none; }
.tfld-v2-sbx__stage .tfld-sbs__tip strong { display:block; font-size:15px; }
.tfld-v2-sbx__stage .tfld-sbs__tip span { display:block; margin-top:3px; color:#8fa1b3; font-size:13px; line-height:1.4; }

/* Layout pass: the shadow box lives inside the Personnel Record (compact, with an Enlarge view). */
.tfld-v2-sbx__head { margin-bottom:8px; flex-wrap:wrap; gap:8px; }
.tfld-v2-sbx__head .tfld-v2-sbx__tools { gap:8px; }
.tfld-v2-sbx__head .tfld-v2-sbx__as select { max-width:170px; }
.tfld-v2-sbx__head .tfld-v2-sbx__seg button { padding:5px 9px; font-size:12px; }
.tfld-v2-sbx__head .tfld-v2-sbx__edit { padding:5px 10px; font-size:12px; }
.tfld-v2-sbx__note { text-align:left; font-size:12px; }
.tfld-v2-shadowbox.is-zoom { position:fixed; inset:130px 4vw 3vh; z-index:100000; overflow:auto; padding:18px 22px; background:#071a25; border:1px solid var(--v2-line); border-radius:10px; box-shadow:0 0 0 100vmax rgba(0,0,0,.72); }
.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__note { text-align:center; font-size:13px; }
/* Previous operation: date and attendance on the banner with the stats. */
.tfld-v2-prev__media .tfld-v2-prev__meta { gap:8px 12px; color:#e4edf5; text-shadow:0 1px 6px #000a; }
.tfld-v2-prev__media .tfld-v2-prev__date { font-size:15px; }
.tfld-v2-prev__media .tfld-v2-prev__date svg { width:17px; height:17px; }
.tfld-v2-prev__media { flex:1 1 auto; }
.tfld-v2-sbx__head .tfld-v2-sbx__as { flex-basis:100%; }
/* Personnel Record: rank, progress and ASI stacked on the left, the shadow box takes the rest. */
@media(min-width:1101px) {
.tfld-v2-rankgrid { grid-template-columns:minmax(360px,.8fr) minmax(0,1.5fr); grid-template-areas:"ranks sb" "trackers sb" "asi sb"; grid-template-rows:auto auto 1fr; align-items:start; }
.tfld-v2-rankgrid__asi { border-right:0; border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; }
.tfld-v2-rankgrid__sb { border-left:1px solid var(--v2-line); border-top:0; margin-top:0; padding-top:0; }
}
@media(min-width:1101px) {
.tfld-v2-rankgrid { grid-template-columns:minmax(420px,1fr) minmax(0,1.25fr); }
.tfld-v2-rankgrid .tfld-v2-asi__groups { grid-template-columns:1fr 1fr; align-items:start; }
}
.tfld-v2-sbx__head .tfld-v2-sbx__as { flex-basis:auto; }
.tfld-v2-sbx__head .tfld-v2-sbx__tools { flex:1 1 100%; }
.tfld-v2-sbx__head .tfld-v2-sbx__as select { max-width:140px; }
.tfld-v2-shadowbox:not(.is-zoom) .tfld-v2-sbx__stage { padding:0; }

/* Layout: Personnel Record keeps rank + ASI; the shadow box is a full-width panel under the whole grid. */
@media(min-width:1101px) {
.tfld-v2-rankgrid { grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); grid-template-areas:"ranks asi" "trackers asi"; grid-template-rows:auto 1fr; }
.tfld-v2-rankgrid__asi { border-right:0; border-top:0; border-left:1px solid var(--v2-line); padding-top:0; margin-top:0; }
.tfld-v2-rankgrid .tfld-v2-asi__groups { grid-template-columns:1fr 1fr; align-items:start; }
}
.tfld-v2 .tfld-v2-shadowbox { margin-top:16px; }
.tfld-v2-shadowbox .tfld-v2-sbx__stage { padding:0; }
.tfld-v2-shadowbox .tfld-v2-sbx__stage canvas { margin:0 auto; }
.tfld-v2-sbx__bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; margin-top:12px; }
.tfld-v2-sbx__bar .tfld-v2-sbx__note { margin:0; text-align:left; flex:1 1 280px; }
.tfld-v2-sbx__bar .tfld-v2-sbx__tools { justify-content:flex-end; }
.tfld-v2-sbx__as[hidden] { display:none; }
.tfld-v2-sbx__as select { max-width:240px; }
/* ASI legend: tidy chips; "Not available (MOS)" is the show/hide control. */
.tfld-v2-asi__legend { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-start; }
.tfld-v2-asi__legend>span,.tfld-v2-asi__legend>label { display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border:1px solid var(--v2-line); border-radius:999px; font-size:12px; line-height:1.4; background:rgba(255,255,255,.03); }
.tfld-v2-asi__legend>label { cursor:pointer; user-select:none; }
.tfld-v2-asi__legend>label:hover { border-color:var(--v2-accent); color:#cfe3ef; }
.tfld-v2-asi__other-state::after { content:"· show"; opacity:.75; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__head .tfld-v2-asi__other { border-color:var(--v2-accent); color:#cfe3ef; background:#12384a; }
.tfld-v2-asi__toggle:checked ~ .tfld-v2-asi__head .tfld-v2-asi__other-state::after { content:"· hide"; }
.tfld-v2-asi__toggle:focus-visible ~ .tfld-v2-asi__head .tfld-v2-asi__other { outline:2px solid #f8d47b; outline-offset:2px; }
/* Categories with nothing available for the member's MOS are hidden until revealed. */
.tfld-v2-asi__group.is-other-only { display:none; }

/* Personnel Record spans the full page width: rank, progress and ASI stacked on the left, the shadow box takes the rest. */
@media(min-width:1101px) {
.tfld-v2-grid { grid-template-columns:minmax(0,1fr) clamp(320px,28.8%,480px); }
.tfld-v2-rankgrid { grid-template-columns:minmax(380px,.8fr) minmax(0,1.5fr); grid-template-areas:"ranks sb" "trackers sb" "asi sb"; grid-template-rows:auto auto 1fr; align-items:start; }
.tfld-v2-rankgrid__asi { border-left:0; border-top:1px solid var(--v2-line); padding-top:16px; margin-top:16px; }
.tfld-v2-rankgrid__sb { border-left:1px solid var(--v2-line); }
}
.tfld-v2-sbx__title { margin:0 0 10px; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:#a9bdcc; }
.tfld-v2-rankgrid__sb .tfld-v2-sbx__stage { padding:0; }
.tfld-v2-rankgrid__sb .tfld-v2-sbx__stage canvas { margin:0 auto; }
.tfld-v2-rankgrid__sb .tfld-v2-sbx__bar { flex-direction:row; align-items:center; }
.tfld-v2 .tfld-v2-rankgrid__sb.tfld-v2-shadowbox { margin-top:0; }
.tfld-v2 > .tfld-v2-panel[aria-labelledby="tfld-v2-rank"], [aria-labelledby="tfld-v2-rank"] { margin-top:16px; }

/* Round of fixes: record wrapper, list-style ASI, bars match the ASI width, rank icons, note removed, aligned bottoms. */
.tfld-v2-record { display:contents; }
.tfld-v2-sbx__note { display:none; }
.tfld-v2-sbx__bar { justify-content:flex-end; }
.tfld-v2-prev__stats .tfld-v2-recent-links { flex-direction:column; align-items:flex-end; gap:4px; }
.tfld-v2-prev__stats .tfld-v2-recent-links { margin-left:auto; }
.tfld-v2-stat--last .tfld-v2-stat__link { justify-content:center; gap:6px; }
.tfld-v2-stat--last .tfld-v2-stat__link>:nth-child(2) { margin-top:0; }
.tfld-v2-stat--last .tfld-v2-stat__link>:last-child { margin-bottom:0; margin-top:0; }
.tfld-v2-heading__links { display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.tfld-v2-heading__links .tfld-v2-sbx__as[hidden] { display:none; }
@media(min-width:1101px) {
.tfld-v2-rankgrid { grid-template-columns:minmax(360px,.62fr) minmax(0,1.6fr); }
.tfld-v2-grid { align-items:stretch; }
.tfld-v2-resources { flex:1 1 auto; }
}
.tfld-v2-rankgrid .tfld-v2-asi__groups { grid-template-columns:1fr; }
.tfld-v2-rankgrid__trackers,.tfld-v2-rankgrid__asi { width:100%; box-sizing:border-box; }
.tfld-v2-rank-current img,.tfld-v2-rank-next__row img { width:56px; height:70px; object-fit:contain; filter:none; opacity:1; }
.tfld-v2-rankgrid .tfld-v2-rank-current h3,.tfld-v2-rankgrid .tfld-v2-rank-next h3 { font-size:30px; font-weight:700; line-height:1.1; letter-spacing:.02em; }
.tfld-v2-rank-next__row { align-items:center; gap:14px; }
.tfld-v2-rank-next p { margin-top:4px; font-weight:600; color:var(--v2-accent); }
.tfld-v2-bar__courses { margin-top:10px; padding:10px 12px; border:1px solid var(--v2-line); border-radius:8px; background:rgba(255,255,255,.03); }
.tfld-v2-bar__courses small { margin-bottom:4px; }
.tfld-v2-record>* { padding:0 22px; min-width:0; box-sizing:border-box; }
/* Current and next rank use the same layout: label on top, icon and rank below. */
.tfld-v2-rankgrid .tfld-v2-rank-current { display:grid; grid-template-columns:auto auto; grid-template-areas:"lab lab" "img txt"; column-gap:14px; row-gap:4px; align-items:center; justify-content:start; }
.tfld-v2-rankgrid .tfld-v2-rank-current>div { display:contents; }
.tfld-v2-rankgrid .tfld-v2-rank-current small { grid-area:lab; }
.tfld-v2-rankgrid .tfld-v2-rank-current>img,.tfld-v2-rankgrid .tfld-v2-rank-current .tfld-v2-rank-symbol { grid-area:img; }
.tfld-v2-rankgrid .tfld-v2-rank-current h3 { grid-area:txt; margin:0; }
.tfld-v2-rankgrid .tfld-v2-rank-next__row h3 { margin:0; }

/* Shadow box title removed; staff actions popover. */
.tfld-v2-sbx__title { display:none; }
.tfld-v2-staff { position:relative; display:inline-block; }
.tfld-v2-staff__panel { position:absolute; right:0; top:calc(100% + 8px); z-index:50; width:min(340px,86vw); padding:14px; border:1px solid var(--v2-line); border-radius:10px; background:#08202d; box-shadow:0 14px 34px rgba(0,0,0,.55); display:flex; flex-direction:column; gap:10px; }
.tfld-v2-staff__panel[hidden] { display:none; }
.tfld-v2-staff__field { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--v2-muted); }
.tfld-v2-staff__field select { width:100%; max-width:100%; }
.tfld-v2-staff__hint { margin:0; font-size:12px; color:var(--v2-muted); line-height:1.4; }
.tfld-v2-staff__links { display:flex; flex-direction:column; gap:4px; max-height:300px; overflow:auto; }
.tfld-v2-staff__links a { display:flex; flex-direction:column; padding:7px 10px; border:1px solid #14303f; border-radius:7px; background:rgba(255,255,255,.03); text-decoration:none; color:var(--v2-text); }
.tfld-v2-staff__links a:hover { border-color:var(--v2-accent); background:#12384a; }
.tfld-v2-staff__links strong { font-size:14px; }
.tfld-v2-staff__links small { font-size:12px; color:var(--v2-muted); }
/* Previous operation: tiles get one consistent layout (label on top, value below) and a compact height. */
.tfld-v2-stats { padding:8px; }
.tfld-v2-stats__grid { grid-auto-rows:minmax(100px,1fr); gap:8px; }
.tfld-v2-stat { justify-content:center; padding:12px 14px; }
.tfld-v2-stat__link { justify-content:center; padding:12px 14px; }
.tfld-v2-stat__label { min-height:2.5em; font-size:13px; line-height:1.25; }
.tfld-v2-stat__value { margin-top:0; }
.tfld-v2-stat__name { margin-top:0; font-size:16px; }
.tfld-v2-stat__media { align-items:flex-start; }
.tfld-v2-prev__media { min-height:0; }
.tfld-v2 .tfld-v2-recent article.tfld-v2-prev { min-height:0; }
.tfld-v2-recent { align-items:stretch; }
/* Activity: less dead space under the last entry. */
.tfld-v2-activity { padding-bottom:6px; }
.tfld-v2-activity .tfld-v2-list { margin-bottom:0; }
.tfld-v2-activity .tfld-v2-list li:last-child { min-height:0; padding-bottom:6px; border-bottom:0; }
/* Unit resources: the request button looks like the other links. */
.tfld-v2-link--button { width:100%; text-align:left; font:inherit; cursor:pointer; }
.tfld-v2-resources .tfld-v2-link--button { min-height:45px; margin-top:8px; padding:9px 12px; background:#071a25; display:flex; align-items:center; gap:14px; border:1px solid var(--v2-line); border-radius:6px; color:var(--v2-text); }
.tfld-v2-resources .tfld-v2-link--button .tfld-v2-link__icon svg { width:23px; height:23px; color:#dde9f2; }
.tfld-v2-resources .tfld-v2-link--button .tfld-v2-arrow { margin-left:auto; }
/* Ranks & Awards link: label not bold, like the rest of the list. */
.tfld-v2-resources>a.tfld-v2-link strong { font-weight:400; }
/* Request medal / award dialog. */
.tfld-v2-req { position:fixed; inset:0; z-index:100001; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.7); }
.tfld-v2-req__box { width:min(560px,100%); max-height:92vh; overflow:auto; padding:22px; border:1px solid var(--v2-line); border-radius:12px; background:#08202d; color:var(--v2-text); }
.tfld-v2-req__box h2 { margin:0 0 14px; font-size:20px; }
.tfld-v2-req__form { display:flex; flex-direction:column; gap:12px; }
.tfld-v2-req__modes { border:0; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.tfld-v2-req__modes label { display:flex; align-items:center; gap:8px; font-size:14px; cursor:pointer; }
.tfld-v2-req__field { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--v2-muted); }
.tfld-v2-req__field[hidden] { display:none; }
.tfld-v2-req__field select,.tfld-v2-req__field textarea { width:100%; max-width:100%; box-sizing:border-box; }
.tfld-v2-req__status { margin:0; min-height:1.2em; font-size:13px; color:#ffb4b4; }
.tfld-v2-req__actions { display:flex; justify-content:flex-end; gap:10px; }
.tfld-v2-req__cancel { background:transparent; color:var(--v2-muted); border:1px solid var(--v2-line); border-radius:8px; padding:6px 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.tfld-v2-req__done { margin:0 0 6px; font-size:16px; color:#3be3a0; }
.tfld-v2-resources .tfld-v2-link--button strong { font-size:inherit; font-weight:400; }
.tfld-v2-resources .tfld-v2-link--button { font-size:16px; }
.tfld-v2-staff__links { max-height:none; overflow:visible; }
.tfld-v2-staff__links a { text-align:left; align-items:flex-start; }
/* No dead space between Previous operation and Personnel Record: the last main panel stretches to the column's bottom. */
@media(min-width:1101px) {
.tfld-v2-grid { align-items:stretch; }
.tfld-v2-content { display:flex; flex-direction:column; }
.tfld-v2-content>.tfld-v2-panel:last-child { flex:1 1 auto; display:flex; flex-direction:column; }
.tfld-v2-content>.tfld-v2-panel:last-child>.tfld-v2-recent { flex:1 1 auto; }
}

/* Shadow box: the button row sits under the board, left aligned; Full screen view button top right of the board. */
.tfld-v2-rankgrid__sb { position:relative; }
.tfld-v2-rankgrid__sb .tfld-v2-sbx__bar { justify-content:flex-start; }
.tfld-v2-sbx__bar .tfld-v2-sbx__tools { justify-content:flex-start; }
.tfld-v2-sbx__zoom { position:absolute; top:10px; right:10px; z-index:6; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid var(--v2-line); border-radius:8px; background:rgba(8,32,45,.9); color:var(--v2-text); cursor:pointer; }
.tfld-v2-sbx__zoom:hover,.tfld-v2-sbx__zoom:focus-visible { border-color:var(--v2-accent); color:var(--v2-accent); }
.tfld-v2-sbx__zoom svg { width:22px; height:22px; }
.tfld-v2-shadowbox:not(.is-zoom) .tfld-v2-sbx__zoom-out { display:none; }
.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__zoom-in { display:none; }
.tfld-v2-shadowbox.is-zoom { inset:124px 0 0; padding:14px 20px; border-radius:0; border:0; box-shadow:none; overflow:auto; }
.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__stage { padding:0; }
.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__zoom { top:14px; right:20px; }
/* Previous operation tiles: content sized for the box. */
.tfld-v2-stat__label { font-size:15px; }
.tfld-v2-stat__value { font-size:44px; line-height:1; }
.tfld-v2-stat__name { font-size:20px; }
.tfld-v2-stat small { font-size:15px; }
.tfld-v2-stat__media-icon { width:36px; height:36px; }
.tfld-v2-stat__media-icon svg { width:36px; height:36px; }
/* Full screen button: shows only while hovering the shadow box (always on touch screens and in the full screen view). */
.tfld-v2-sbx__zoom { opacity:0; pointer-events:none; transition:opacity .15s; }
.tfld-v2-shadowbox:hover .tfld-v2-sbx__zoom,.tfld-v2-sbx__zoom:focus-visible,.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__zoom { opacity:1; pointer-events:auto; }
@media (hover:none) { .tfld-v2-sbx__zoom { opacity:1; pointer-events:auto; } }
/* Stat tiles: the title stays at the top of every tile, the rest of the content is centred below it. */
.tfld-v2-stat, .tfld-v2-stat__link { justify-content:flex-start; padding:14px 16px; }
.tfld-v2-stat>:nth-child(2), .tfld-v2-stat__link>:nth-child(2) { margin-top:auto; }
.tfld-v2-stat>:last-child, .tfld-v2-stat__link>:last-child { margin-bottom:auto; }
/* Personal Media tile: title row with the info tooltip, upload link and profile link. */
.tfld-v2-stat__head { display:flex; align-items:center; gap:8px; min-height:2.5em; }
.tfld-v2-stat__head .tfld-v2-stat__label { min-height:0; }
.tfld-v2-stat__media { display:flex; flex-direction:column; color:inherit; text-decoration:none; border-radius:6px; padding:6px 8px; margin:0 -8px; }
.tfld-v2-stat__media:hover,.tfld-v2-stat__media:focus-visible { background:rgba(43,217,238,.1); }
.tfld-v2-stat__media small { color:var(--v2-accent); }
.tfld-v2-stat__more { margin-top:6px; font-size:14px; font-weight:600; color:var(--v2-accent); text-decoration:none; }
.tfld-v2-stat__more:hover,.tfld-v2-stat__more:focus-visible { text-decoration:underline; }
.tfld-v2-info { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:20px; height:20px; border:1px solid var(--v2-accent); border-radius:50%; color:var(--v2-accent); font-size:12px; font-weight:700; font-style:normal; line-height:1; cursor:help; }
.tfld-v2-info::after { content:attr(data-tip); position:absolute; top:calc(100% + 8px); left:0; z-index:5; width:max-content; max-width:230px; padding:8px 10px; border:1px solid var(--v2-line); border-radius:6px; background:#08202d; color:var(--v2-text); font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; line-height:1.3; opacity:0; pointer-events:none; transition:opacity .15s; }
.tfld-v2-info:hover::after,.tfld-v2-info:focus-visible::after { opacity:1; }
/* Personal Media: the info icon sits in the tile's top right corner; the two actions are subtle option rows. */
.tfld-v2-stat--media { position:relative; }
.tfld-v2-stat--media>.tfld-v2-info { position:absolute; top:10px; right:10px; }
.tfld-v2-stat--media>.tfld-v2-info::after { left:auto; right:0; }
.tfld-v2-stat__opts { display:flex; flex-direction:column; gap:6px; margin:auto 0; }
.tfld-v2-stat__opt { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border:1px solid #14303f; border-radius:6px; background:rgba(255,255,255,.02); color:#c9d9e4; font-size:14px; font-weight:500; line-height:1.25; text-decoration:none; }
.tfld-v2-stat__opt:hover,.tfld-v2-stat__opt:focus-visible { border-color:#2a8aa0; background:rgba(43,217,238,.07); color:#eaf3f9; }
.tfld-v2-stat__opt .tfld-v2-arrow { font-size:18px; }
/* Personal Media options: one line each where the box allows; the arrow stays level with the text. */
.tfld-v2-stat__opt { font-size:13px; padding:7px 9px; }
.tfld-v2-stat__opt>span:first-child { flex:1 1 auto; min-width:0; }
.tfld-v2-stat__opt .tfld-v2-arrow { flex:none; font-size:16px; line-height:1; margin-left:0; }
/* Personal Media: plain text rows, no boxes; arrows aligned in one column; shiny "!" badge. */
.tfld-v2-stat__opts { gap:10px; }
.tfld-v2-stat__opt,.tfld-v2-stat__opt:hover,.tfld-v2-stat__opt:focus-visible { border:0; background:none; padding:0; border-radius:0; }
.tfld-v2-stat__opt { color:#c9d9e4; }
.tfld-v2-stat__opt:hover,.tfld-v2-stat__opt:focus-visible { color:var(--v2-accent); }
.tfld-v2-info { width:22px; height:22px; font-size:14px; border:0; color:#06222c; background:linear-gradient(135deg,#9ff3ff 0%,var(--v2-accent) 45%,#1aa6bd 100%); box-shadow:0 0 8px rgba(43,217,238,.7), inset 0 1px 1px rgba(255,255,255,.7); overflow:visible; animation:tfld-v2-shine 2.4s ease-in-out infinite; }
@keyframes tfld-v2-shine { 0%,100% { box-shadow:0 0 6px rgba(43,217,238,.55), inset 0 1px 1px rgba(255,255,255,.7); } 50% { box-shadow:0 0 14px 2px rgba(43,217,238,.95), inset 0 1px 1px rgba(255,255,255,.9); } }
@media (prefers-reduced-motion:reduce) { .tfld-v2-info { animation:none; } }
/* Personal Media rows: one line each, left aligned, arrow right after the text. */
.tfld-v2-stat__opts { align-items:flex-start; text-align:left; }
.tfld-v2-stat__opt { display:inline-flex; justify-content:flex-start; gap:6px; white-space:nowrap; font-size:14px; }
.tfld-v2-stat__opt>span:first-child { flex:none; }
.tfld-v2-stat__opts .tfld-v2-stat__opt,.tfld-v2-stat__opts .tfld-v2-stat__opt.tfld-v2-stat__media { flex-direction:row; align-items:center; width:auto; }
.tfld-v2-stat__opts .tfld-v2-stat__opt,.tfld-v2-stat__opts .tfld-v2-stat__opt.tfld-v2-stat__media { padding:0; margin:0; background:none; }
/* Request Medal/Badge/Ribbon dialog: searchable catalogue, readable text on the dark panel. */
.tfld-v2-req__box { width:min(720px,100%); color:#eaf3f9; }
.tfld-v2-req__lede { margin:-8px 0 14px; font-size:14px; color:#b9ccd9; }
.tfld-v2-req__modes label,.tfld-v2-req__field { color:#d6e4ee; font-size:14px; }
.tfld-v2-req__field>span,.tfld-v2-req__label { font-weight:600; color:#eaf3f9; }
.tfld-v2-req__box .tfld-input { background:#0b2a3a; color:#eaf3f9; border:1px solid #2a4c5f; border-radius:8px; padding:9px 11px; font-size:15px; }
.tfld-v2-req__box .tfld-input::placeholder { color:#8fa8b8; opacity:1; }
.tfld-v2-req__box .tfld-input:focus { outline:2px solid #2bd9ee; outline-offset:1px; }
.tfld-v2-req__finder[hidden],.tfld-v2-req__picked[hidden] { display:none; }
.tfld-v2-req__finder { display:flex; flex-direction:column; gap:8px; }
.tfld-v2-req__chips { display:flex; gap:6px; }
.tfld-v2-req__chip { padding:5px 14px; border:1px solid #2a4c5f; border-radius:999px; background:transparent; color:#c9d9e4; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.tfld-v2-req__chip.is-on { background:#2bd9ee; border-color:#2bd9ee; color:#06222c; }
.tfld-v2-req__count { margin:0; font-size:13px; color:#a9bfce; }
.tfld-v2-req__results { display:flex; flex-direction:column; gap:6px; max-height:300px; overflow:auto; padding-right:4px; }
.tfld-v2-req__row { display:flex; align-items:center; gap:12px; width:100%; padding:9px 11px; border:1px solid #1d3d4e; border-radius:8px; background:#0b2230; color:#eaf3f9; text-align:left; font:inherit; cursor:pointer; }
.tfld-v2-req__row:hover,.tfld-v2-req__row:focus-visible { border-color:#2bd9ee; background:#0e2e40; outline:none; }
.tfld-v2-req__thumb { flex:none; display:inline-flex; align-items:center; justify-content:center; width:64px; height:44px; border-radius:6px; background:#06151f; overflow:hidden; }
.tfld-v2-req__thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.tfld-v2-req__text,.tfld-v2-req__picked-info { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tfld-v2-req__title { font-size:15px; font-weight:700; color:#fff; }
.tfld-v2-req__meta { font-size:12px; color:#2bd9ee; text-transform:uppercase; letter-spacing:.04em; }
.tfld-v2-req__desc { font-size:13px; line-height:1.35; color:#c3d4e0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tfld-v2-req__picked-info .tfld-v2-req__desc { -webkit-line-clamp:4; }
.tfld-v2-req__results mark { background:rgba(43,217,238,.28); color:#fff; border-radius:2px; padding:0 1px; }
.tfld-v2-req__picked { display:flex; align-items:center; gap:12px; padding:11px; border:1px solid #2bd9ee; border-radius:8px; background:#0b2a3a; }
.tfld-v2-req__picked-info { flex:1 1 auto; }
.tfld-v2-req__picked-info strong { font-size:16px; color:#fff; }
.tfld-v2-req__cancel { color:#c9d9e4; border-color:#3a5c6f; }
.tfld-v2-req__status { color:#ffb4b4; font-size:14px; }

.tfld-v2-req__search,.tfld-v2-req__box .tfld-input { width:100%; max-width:100%; box-sizing:border-box; }
.tfld-v2-req__box { --v2-accent:#2bd9ee; --v2-line:#1d3d4e; --v2-muted:#a9bfce; --v2-text:#eaf3f9; }
.tfld-v2-req__row { justify-content:flex-start; } .tfld-v2-req__thumb { width:64px; min-width:64px; } .tfld-v2-req__text { flex:1 1 auto; align-items:flex-start; text-align:left; }

/* Result cards: plain divs (the theme restyles buttons), two columns, picture on top. */
.tfld-v2-req__box { width:min(860px,100%); }
.tfld-v2-req .tfld-v2-req__results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-height:360px; overflow:auto; padding:8px; border:0; border-radius:10px; background:#06151f; }
.tfld-v2-req .tfld-v2-req__row { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:8px; height:auto; min-height:0; margin:0; padding:12px; border:1px solid #1d3d4e; border-radius:10px; background:#0b2230; color:#eaf3f9; text-align:left; cursor:pointer; box-shadow:none; overflow:hidden; }
.tfld-v2-req .tfld-v2-req__row:hover,.tfld-v2-req .tfld-v2-req__row:focus-visible { border-color:#2bd9ee; background:#0e2e40; outline:none; }
.tfld-v2-req .tfld-v2-req__thumb { width:100%; min-width:0; height:54px; justify-content:flex-start; background:transparent; }
.tfld-v2-req .tfld-v2-req__thumb img { max-height:54px; width:auto; max-width:100%; }
.tfld-v2-req .tfld-v2-req__text { width:100%; gap:3px; }
.tfld-v2-req .tfld-v2-req__title { line-height:1.25; }
.tfld-v2-req .tfld-v2-req__picked .tfld-v2-req__thumb { width:96px; min-width:96px; height:64px; justify-content:center; background:#06151f; }
.tfld-v2-req .tfld-v2-req__search { border-radius:8px; box-shadow:none; }
.tfld-v2-req .tfld-v2-req__search:focus { outline:2px solid #2bd9ee; outline-offset:0; box-shadow:none; }
@media (max-width:640px) { .tfld-v2-req .tfld-v2-req__results { grid-template-columns:1fr; } }
.tfld-v2-req__box,.tfld-v2-req .tfld-v2-req__results { color-scheme:dark; scrollbar-width:thin; scrollbar-color:#2a5870 #06151f; } .tfld-v2-req .tfld-v2-req__results { max-height:300px; } .tfld-v2-req__box { max-height:94vh; }
/* Request dialog fits the screen: fixed header with a close button, only the form body scrolls. */
.tfld-v2-req .tfld-v2-req__box { display:flex; flex-direction:column; max-height:calc(100vh - 24px); padding:0; overflow:hidden; }
.tfld-v2-req__head { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 20px 12px; border-bottom:1px solid #1d3d4e; }
.tfld-v2-req__head h2 { margin:0; }
.tfld-v2-req__head .tfld-v2-req__lede { margin:4px 0 0; }
.tfld-v2-req .tfld-v2-req__x { flex:none; width:36px; height:36px; padding:0; border:1px solid #3a5c6f; border-radius:8px; background:transparent; color:#eaf3f9; font-size:24px; line-height:1; cursor:pointer; }
.tfld-v2-req .tfld-v2-req__x:hover { border-color:#2bd9ee; color:#2bd9ee; }
.tfld-v2-req__body { flex:1 1 auto; min-height:0; overflow:auto; padding:14px 20px 18px; color-scheme:dark; scrollbar-width:thin; scrollbar-color:#2a5870 #08202d; }
.tfld-v2-req .tfld-v2-req__results { max-height:min(300px, 30vh); }
.tfld-v2-req__form { gap:10px; }
.tfld-v2-req__route { margin:0; padding:9px 12px; border-left:3px solid #2bd9ee; background:#0b2a3a; color:#d6e4ee; font-size:14px; line-height:1.4; border-radius:0 8px 8px 0; } .tfld-v2-req__route[hidden] { display:none; } .tfld-v2-req__head .tfld-v2-req__lede { max-width:620px; line-height:1.4; }
/* Compact request dialog: fits the screen without scrolling. */
.tfld-v2-req__sub { margin-left:14px; font-size:13px; font-weight:400; color:#9fb6c6; }
.tfld-v2-req__modes { gap:6px; }
.tfld-v2-req .tfld-v2-req__box { width:min(820px,100%); }
.tfld-v2-req__head { padding:12px 20px 10px; align-items:center; }
.tfld-v2-req__head h2 { font-size:19px; }
.tfld-v2-req__body { padding:12px 20px 14px; }
.tfld-v2-req .tfld-v2-req__results { max-height:none; height:clamp(110px, 22vh, 190px); gap:8px; padding:6px; }
.tfld-v2-req .tfld-v2-req__row { flex-direction:row; align-items:center; gap:10px; padding:8px 10px; }
.tfld-v2-req .tfld-v2-req__thumb { width:56px; min-width:56px; height:36px; justify-content:center; }
.tfld-v2-req .tfld-v2-req__thumb img { max-height:36px; }
.tfld-v2-req .tfld-v2-req__text { width:auto; flex:1 1 auto; min-width:0; gap:1px; }
.tfld-v2-req .tfld-v2-req__title { font-size:14px; }
.tfld-v2-req .tfld-v2-req__meta { font-size:11px; }
.tfld-v2-req .tfld-v2-req__desc { font-size:12px; -webkit-line-clamp:1; }
.tfld-v2-req__box .tfld-input { padding:7px 10px; }
.tfld-v2-req__body textarea.tfld-input { min-height:0; height:64px; }
.tfld-v2-req__route { padding:7px 12px; font-size:13px; }
.tfld-v2-req__form { gap:8px; }
.tfld-v2-req .tfld-v2-req__results { grid-auto-rows:60px; align-content:start; } .tfld-v2-req .tfld-v2-req__row { height:60px; box-sizing:border-box; }
/* Below 768px BeTheme's header is fixed too: reserve its height so the first panel never sits under the logo. */
@media (max-width:767px) { body.tfld-v2-page.header-transparent #Header_wrapper { min-height:64px; } }

/* ===== Phone sweep (390px and similar) ===== */
@media (max-width:640px) {
  .tfld-v2-prev__media { padding-top:56px; }
  .tfld-v2-stats__grid { grid-auto-rows:auto; gap:8px; }
  .tfld-v2-stat,.tfld-v2-stat__link { padding:10px 12px; }
  .tfld-v2-stat__label { font-size:12px; letter-spacing:.04em; }
  .tfld-v2-stat__value { font-size:34px; }
  .tfld-v2-stat__name { font-size:17px; }
  .tfld-v2-stat small { font-size:13px; }
  .tfld-v2-stat--media>.tfld-v2-stat__label { padding-right:30px; }
  .tfld-v2-stat--media>.tfld-v2-info { width:22px; height:22px; top:8px; right:8px; }
  .tfld-v2-stat__opt,.tfld-v2-stat__opts .tfld-v2-stat__opt { white-space:normal; font-size:13px; line-height:1.25; }
  .tfld-v2-stat__opts { gap:8px; }
}
@media (max-width:640px) {
  .tfld-v2-prev .tfld-v2-recent-links,.tfld-v2-prev__media .tfld-v2-recent-links { flex-direction:column; align-items:flex-start; gap:8px; }
  .tfld-v2-prev__stats .tfld-v2-recent-links { margin-left:0; }
  .tfld-v2-prev .tfld-v2-recent-links a { margin:0; text-align:left; }
  .tfld-v2-stat__opt,.tfld-v2-stat__opts .tfld-v2-stat__opt { font-size:12px; gap:4px; }
  .tfld-v2-stat__opt .tfld-v2-arrow { font-size:14px; }
}
@media (max-width:767px) {
  .tfld-v2-stat--media .tfld-v2-stat__opts { align-items:stretch; min-width:0; }
  .tfld-v2-stat--media .tfld-v2-stat__opts .tfld-v2-stat__opt { display:flex; width:100%; min-width:0; align-items:flex-start; white-space:normal; overflow-wrap:anywhere; }
  .tfld-v2-stat--media .tfld-v2-stat__opt>span:first-child { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
  .tfld-v2-stat--media .tfld-v2-stat__opt .tfld-v2-arrow { flex:none; margin-left:auto; }
}
/* Request dialog on phones: subtitles under the options, one card per row with room for two-line titles. */
@media (max-width:640px) {
  .tfld-v2-req .tfld-v2-req__modes label { flex-wrap:wrap; row-gap:0; }
  .tfld-v2-req .tfld-v2-req__sub { flex-basis:100%; margin:0 0 4px 26px; }
  .tfld-v2-req .tfld-v2-req__results { grid-auto-rows:auto; height:clamp(150px, 28vh, 230px); }
  .tfld-v2-req .tfld-v2-req__row { height:auto; min-height:56px; }
  .tfld-v2-req .tfld-v2-req__title { font-size:14px; }
  .tfld-v2-req .tfld-v2-req__actions { position:sticky; bottom:0; }
}
@media (max-width:640px) { .tfld-v2-req .tfld-v2-req__results { grid-auto-rows:max-content; } .tfld-v2-req .tfld-v2-req__row { overflow:visible; } }

/* Full screen view: fill the space under the site header at every width (grid items otherwise shrink to their content). */
.tfld-v2-shadowbox.is-zoom { align-self:stretch; top:90px; }
body.admin-bar .tfld-v2-shadowbox.is-zoom { top:122px; }
@media (max-width:1239px) {
  .tfld-v2-shadowbox.is-zoom { top:64px; }
  body.admin-bar .tfld-v2-shadowbox.is-zoom { top:96px; }
}
@media (max-width:782px) { body.admin-bar .tfld-v2-shadowbox.is-zoom { top:110px; } }
/* Phones in portrait: the board is shown at a readable size and can be panned sideways inside the overlay. */
@media (max-width:640px) {
  .tfld-v2-shadowbox.is-zoom { padding:10px; }
  .tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__stage { min-width:720px; }
  .tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__bar,.tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__tools { position:sticky; left:0; }
}
/* The footer sits in a later stacking layer than the page content, so it would show through the full screen view. */
body:has(.tfld-v2-shadowbox.is-zoom) #Footer { visibility:hidden; }
/* Phones: no view switch, tooltips or TeamSpeak download (desktop tools); the editor stays on tablet and desktop. */
@media (max-width:640px) {
  .tfld-v2-sbx__seg,.tfld-v2-sbx__tipsopt,.tfld-v2-sbx__dl { display:none !important; }
}
@media (max-width:767px) {
  .tfld-v2-sbx__tools [data-sbx-open] { display:none !important; }
  .tfld-v2-sbx__tools { display:none; }
}
@media (max-width:640px) {
  .tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__zoom { position:fixed; top:76px; right:12px; z-index:2; background:rgba(5,20,30,.9); }
  body.admin-bar .tfld-v2-shadowbox.is-zoom .tfld-v2-sbx__zoom { top:122px; }
}
/* Tablets: stack the previous operation and its stats so the six tiles get the full width. */
@media (max-width:1000px) {
  .tfld-v2-recent { grid-template-columns:1fr; }
  .tfld-v2-prev__media { min-height:220px; }
  .tfld-v2-stats__grid { grid-auto-rows:auto; }
}

/* Unit calendar modal hosted on Dashboard V2 (markup and styles come from V1). */
.tfld-v2-calendar-host, .tfld-v2-calendar-host * { box-sizing:border-box; }
.tfld-v2-calendar-host { color:var(--tfld-text); }
