/* SailRoster · Documenti / Centro operativo.
   Namespace doc-* per non alterare altre sezioni dell'app. */
.doc-main-tabs { margin: 3px 0 18px; }
.doc-sub-tabs { margin-top: -5px; }
.doc-hero {
  background: linear-gradient(125deg,#0b2a30,#0b5963 74%,#137e85);
  color: #f6ffff; border-radius: 20px; padding: 28px;
  box-shadow: 0 8px 25px rgba(7,36,43,.10); margin: 7px 0 18px;
}
.doc-overline { color: #abdcd7; font-size: 10px; letter-spacing: 1.4px; font-weight: 800; }
.doc-hero h2 { margin: 13px 0 8px; font-size: clamp(27px,4.2vw,38px); line-height: 1.12; letter-spacing: -.8px; font-weight: 800; }
.doc-hero p { max-width: 570px; color: #c9e6e3; font-size: 13px; line-height: 1.6; margin-bottom: 17px; }
.doc-hero-tag { display: inline-block; color: #b5e4dd; font-size: 10px; letter-spacing: .7px; border: 1px solid #7bb9b68a; padding: 7px 10px; border-radius: 30px; font-weight: 800; }
.doc-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 16px 0 26px; }
.doc-stat { background: var(--sail); border: 1px solid var(--line); border-radius: 14px; padding: 15px 17px; display:flex; flex-direction:column; gap:4px; }
.doc-stat b { font-size: 29px; color: var(--ink); line-height: 1.2; }
.doc-stat small { color: var(--muted); font-weight: 650; }
.doc-modules { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; margin: 14px 0 22px; }
.doc-module { text-align: left; color: var(--ink); background: var(--sail); border: 1px solid var(--line); border-radius: 16px; padding: 18px; display:flex; flex-direction:column; gap:10px; min-height:210px; min-width:0; }
.doc-module:hover { border-color:#3d999c; }
.doc-module-icon { width:44px; height:44px; display:grid; place-items:center; background: #e0f2ee; color: #0b727a; border-radius: 12px; font-size:23px; }
.doc-module b { font-size:18px; letter-spacing: -.35px; }
.doc-module small { font-size:12px; color: var(--muted); line-height:1.55; }
.doc-link { margin-top:auto; font-size:12px; color: var(--accent,#0b7a84); font-weight:800; }
.doc-old-material { width:100%; white-space:normal; margin-bottom:18px; }
.doc-boat-tabs { display:flex; gap:8px; overflow-x:auto; margin:13px 0 18px; padding-bottom:3px; scrollbar-width:none; }
.doc-boat-tabs button { border:1px solid var(--line); background:var(--sail); color:var(--muted); border-radius:11px; white-space:nowrap; padding:10px 14px; font-weight:750; }
.doc-boat-tabs button[aria-pressed="true"] { background:var(--ink); color:var(--sail); border-color:var(--ink); }
.doc-rig-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr); gap:14px; align-items:start; }
.doc-rig-table { padding:10px 17px; }
.doc-rig-line { display:grid; grid-template-columns:1fr 1.3fr; gap:12px; align-items:center; padding:14px 6px; border-bottom:1px solid var(--line); }
.doc-rig-line:last-child { border:0; }
.doc-rig-line b { font-size:22px; font-weight:850; }
.doc-rig-line strong { font-size:13px; text-align:right; color:var(--ink); font-weight:750; }
.doc-rig-head { font-size:10px; letter-spacing:1px; color:var(--muted); font-weight:850; }
.doc-rig-head span:last-child { text-align:right; }
.doc-rig-zero-line { border:1px solid #bbdccc; background:#eaf7ed; border-radius:10px; padding:12px; margin:4px 0; }
.doc-rig-zero-line b,.doc-rig-zero-line strong { color:#186f57; }
.doc-rig-side { display:grid; gap:12px; }
.doc-rig-side .card h3 { margin:0 0 11px; font-size:15px; }
.doc-rig-zero { background:#0c343c; color:white; border-radius:17px; padding:24px 12px; text-align:center; display:grid; gap:8px; justify-items:center; }
.doc-rig-zero small { font-size:10px; letter-spacing:1px; color:#b8e3e0; }
.doc-rig-zero b { font-size:70px; line-height:1; }
.doc-rig-zero strong { background:#d2eee5; color:#175f4d; padding:9px 15px; border-radius:10px; }
.doc-info-pair { display:flex; align-items:start; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); line-height:1.5; }
.doc-info-pair:last-child { border:0; }
.doc-info-pair small { color:var(--muted); flex:0 0 48%; }
.doc-info-pair b,.doc-info-pair span { text-align:right; font-size:12px; font-weight:700; white-space:pre-wrap; }
.doc-rig-editrow { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 37px; gap:9px; align-items:end; margin-bottom:9px; }
.doc-rig-editrow .btn { min-height:39px; padding:5px; }
.doc-locked { border:1px solid #c3decb; border-radius:11px; padding:11px; color:#27644a; background:#e9f5ec; font-size:12px; font-weight:800; }
.doc-book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.doc-book-card { display:flex; flex-direction:column; gap:10px; border:1px solid var(--line); background:var(--sail); border-radius:15px; text-align:left; padding:19px; color:var(--ink); min-height:185px; }
.doc-book-card:hover { border-color:#43a1a3; }
.doc-book-card small { color:var(--accent,#0b7a84); font-size:10px; letter-spacing:.8px; font-weight:850; text-transform:uppercase; }
.doc-book-card b { font-size:18px; line-height:1.2; }
.doc-book-card span { font-size:12px; color:var(--muted); line-height:1.6; }
.doc-book-card em { font-size:11px; margin-top:auto; font-style:normal; color:var(--accent,#0b7a84); font-weight:750; }
.doc-call-head { background:#0b343b; color:#fff; padding:24px; border-radius:17px; margin:15px 0; }
.doc-call-head small { color:#b8e2e2; text-transform:uppercase; font-size:10px; letter-spacing:1px; font-weight:800; }
.doc-call-head h2 { font-size:28px; margin:9px 0; }
.doc-call-head p { color:#c5e0e0; white-space:pre-wrap; line-height:1.5; }
.doc-tag { background:#ffffff20; border:1px solid #ffffff30; display:inline-block; padding:7px 11px; font-size:11px; border-radius:30px; }
.doc-book-buttons { justify-content:flex-start; margin-bottom:20px; }
.doc-book-buttons .btn { flex:none; }
.doc-step-list { display:grid; gap:12px; }
.doc-step { display:grid; grid-template-columns:35px minmax(0,1fr); gap:12px; }
.doc-step-n { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#d9eeec; color:#09656c; font-weight:850; }
.doc-step h3 { font-size:16px; margin:0 0 13px; }
.doc-responsibilities { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.doc-responsibilities > div { background:var(--field); padding:14px; border-radius:10px; min-width:0; }
.doc-responsibilities small { font-size:10px; letter-spacing:1px; font-weight:850; color:var(--muted); }
.doc-responsibilities p { font-size:12px; line-height:1.7; white-space:pre-wrap; margin:7px 0 0; }
.doc-notes { margin-top:15px; }
.doc-notes p { margin:10px 0 0; white-space:pre-wrap; line-height:1.6; font-size:13px; }
.doc-edit-step { border:1px solid var(--line); padding:13px; background:var(--field); border-radius:13px; margin:12px 0; }
.doc-roles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:17px; }
.doc-role-header { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 0; }
.doc-role-header b { font-size:18px; }
.doc-role-header small { color:var(--muted); }
.doc-role { margin-bottom:10px; }
.doc-role h3 { margin:9px 0; font-size:16px; }
.doc-role p { white-space:pre-wrap; line-height:1.65; font-size:12px; color:var(--muted); }
.doc-role-when { font-size:11px; color:var(--accent,#0b7a84); font-weight:750; }
.doc-role .btn-row { margin-top:12px; }
.doc-role .btn-row .btn { font-size:12px; }
@media(max-width:850px){.doc-modules,.doc-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){
  .doc-hero{padding:23px 20px;}
  .doc-modules,.doc-book-grid,.doc-roles,.doc-rig-layout{grid-template-columns:1fr;}
  .doc-module{min-height:160px;}
  .doc-hero h2{font-size:30px;}
  .doc-rig-zero{padding:17px;}
  .doc-rig-zero b{font-size:50px;}
  .doc-rig-side{grid-template-columns:1fr 1fr;}
  .doc-rig-side > .tiny{grid-column:1/-1;}
  .doc-responsibilities{grid-template-columns:1fr;}
  .doc-stats{gap:7px;}
  .doc-stat{padding:12px 9px;}
  .doc-stat b{font-size:24px;}
  .doc-stat small{font-size:10px;}
}
@media(max-width:375px){.doc-rig-side{grid-template-columns:1fr;}.doc-rig-line b{font-size:19px;}.doc-rig-line strong{font-size:11px;}}


/* Tension Center 2.19.7 — fasce vento migrate, modifica per equipaggio */
.doc-wind-section { margin: 22px 0 15px; }
.doc-wind-section .shead { gap: 10px; align-items: flex-start; }
.doc-wind-card { padding: 8px 18px; }
.doc-wind-line { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.doc-wind-line:last-child { border-bottom: 0; }
.doc-wind-line > div:first-child b { display:block; font-size:14px; }
.doc-wind-line small { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; white-space:pre-wrap; }
.doc-wind-line-values { text-align: right; }
.doc-wind-line-values b { display:block; font-size:16px; color:var(--ink); }
.doc-wind-line-values span { display:block; font-size:12px; margin-top:3px; color:var(--muted); }
.doc-wind-line .doc-wind-verify { color:#a9681f; font-weight:800; }
.doc-wind-notes { white-space:pre-wrap; border-radius:12px; margin:14px 0; padding:13px; }
.doc-wind-explainer { line-height:1.6; margin-top:12px; }
.doc-wind-editrow { background:var(--field); border:1px solid var(--line); border-radius:13px; padding:13px; margin-bottom:12px; }
.doc-wind-editrow .grid2 { gap:10px; }
.doc-wind-editrow .btn { margin-top:4px; }
@media(max-width:640px){
  .doc-wind-section .shead { flex-wrap:wrap; }
  .doc-wind-section .shead .btn { margin-top:4px; }
  .doc-wind-line { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
  .doc-wind-card { padding: 5px 14px; }
  .doc-wind-line-values b { font-size:14px; }
  .doc-wind-editrow .grid2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
