:root{--red: #C8102E;--red-dk: #a50d26;--red-dker: #870a1f;--red-50: #fdf2f4;--red-100: #fadde2;--navy: #1a2a52;--navy-dk: #101c39;--navy-lt: #2c4076;--navy-50: #eef1f8;--white: #ffffff;--gray-50: #f7f8fb;--gray-100: #eef1f6;--gray-200: #e0e5ee;--gray-300: #cbd3e0;--gray-400: #98a3b8;--gray-600: #626e85;--gray-700: #47526b;--gray-800: #2b3448;--dark: #1a2a52;--success: #1a9e6a;--success-bg: #e6f6ef;--success-fg: #0d5c3d;--warning: #d68910;--warning-bg: #fdf3e0;--warning-fg: #7a4c05;--danger: #C8102E;--danger-bg: #fdecef;--danger-fg: #8c0c20;--info: #2b7cd3;--info-bg: #e8f1fc;--info-fg: #16457d;--primary: var(--red);--primary-dark: var(--red-dk);--gray-500: var(--gray-600);--gray-900: var(--navy);--nsri-red: var(--red);--nsri-navy: var(--navy);--text: var(--gray-800);--blue-50: var(--navy-50);--sh-xs: 0 1px 2px rgba(26,42,82,.06);--sh-sm: 0 1px 3px rgba(26,42,82,.07), 0 1px 2px rgba(26,42,82,.04);--sh-md: 0 2px 6px rgba(26,42,82,.08), 0 4px 14px rgba(26,42,82,.06);--sh-lg: 0 8px 28px rgba(26,42,82,.12), 0 2px 8px rgba(26,42,82,.06);--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-pill: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .18s}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--gray-50);color:var(--gray-800);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:var(--r-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.navbar{background:var(--navy);color:var(--white);padding:0 1.5rem;height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 1px #ffffff0f inset,0 2px 12px #101c3947}.navbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red)}.navbar-brand{display:flex;align-items:center;gap:.7rem;font-weight:700;font-size:1.08rem;white-space:nowrap;min-width:0;flex-shrink:0}.navbar-logo{height:38px;width:38px;object-fit:cover;border-radius:8px;display:block;flex-shrink:0;box-shadow:0 0 0 1px #ffffff29}.navbar-station{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;letter-spacing:-.01em}.navbar-brand .nsri-badge{background:var(--red);color:#fff;padding:.2rem .55rem;border-radius:var(--r-sm);font-size:.8rem;font-weight:700;letter-spacing:.05em}.navbar-links{display:flex;align-items:center;gap:.35rem}.navbar-links a{color:#ffffffb8;text-decoration:none;font-size:.9rem;font-weight:500;padding:.45rem .7rem;border-radius:var(--r-sm);transition:color var(--dur) var(--ease),background var(--dur) var(--ease);position:relative}.navbar-links a:hover{color:var(--white);background:#ffffff17}.navbar-links a{display:inline-flex;align-items:center;gap:.42rem}.icon{flex:0 0 auto;vertical-align:-.14em}.card-title,.page-title,.badge,.btn{display:inline-flex;align-items:center}.card-title,.page-title{display:flex;gap:.5rem}.card-title .icon,.page-title .icon{color:var(--red)}.badge .icon{opacity:.9}.text-muted .icon{opacity:.85}.navbar-drawer-link{display:flex;align-items:center;gap:.7rem}.navbar-drawer-link .icon{opacity:.75}.navbar-drawer-link.active .icon{opacity:1;color:var(--red)}.navbar-links a.active{color:var(--white);background:#ffffff21}.navbar-links a.active:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:-.42rem;height:3px;border-radius:3px 3px 0 0;background:var(--red)}.navbar-user{font-size:.85rem;color:#ffffffb8}.navbar-role{background:var(--red);color:#fff;padding:.18rem .5rem;border-radius:var(--r-sm);font-size:.72rem;font-weight:700;margin-left:.4rem;text-transform:uppercase;letter-spacing:.05em}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 3rem}.page-title{font-size:1.65rem;font-weight:700;margin-bottom:1.5rem;color:var(--navy);letter-spacing:-.02em;line-height:1.2;display:flex;align-items:center;gap:.7rem}.page-title:before{content:"";flex:0 0 auto;width:4px;height:1.15em;background:var(--red);border-radius:2px}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:1.5rem;margin-bottom:1.25rem}.card-title{font-size:1.02rem;font-weight:700;margin-bottom:1rem;color:var(--navy);letter-spacing:-.01em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--white);border:1px solid var(--gray-200);border-top:3px solid var(--red);border-radius:var(--r-lg);padding:1.35rem 1.25rem;text-align:center;box-shadow:var(--sh-sm);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.stat-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.stat-value{font-size:2.1rem;font-weight:700;color:var(--navy);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-label{font-size:.74rem;color:var(--gray-600);margin-top:.35rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.progress-wrap{background:var(--gray-200);border-radius:var(--r-pill);height:8px;overflow:hidden}.progress-bar{height:100%;background:var(--red);border-radius:var(--r-pill);transition:width .5s var(--ease)}.progress-bar.green{background:var(--success)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.58rem 1.1rem;border:1px solid transparent;border-radius:var(--r-sm);font-size:.9rem;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--red);color:var(--white);box-shadow:var(--sh-xs)}.btn-primary:hover:not(:disabled){background:var(--red-dk);box-shadow:var(--sh-sm)}.btn-primary:active:not(:disabled){background:var(--red-dker)}.btn-secondary{background:var(--white);color:var(--gray-700);border-color:var(--gray-300);box-shadow:var(--sh-xs)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);color:var(--navy)}.btn-success{background:var(--success);color:var(--white);box-shadow:var(--sh-xs)}.btn-success:hover:not(:disabled){background:#158256}.btn-sm{padding:.38rem .8rem;font-size:.82rem;border-radius:var(--r-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .6rem;border-radius:var(--r-pill);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.35;white-space:nowrap}.badge-trained{background:var(--warning-bg);color:var(--warning-fg)}.badge-assessed{background:var(--success-bg);color:var(--success-fg)}.badge-open{background:var(--danger-bg);color:var(--danger-fg)}.badge-role-admin{background:var(--navy);color:#fff}.badge-role-cox2{background:#5b3fb5;color:#fff}.badge-role-cox3{background:#2455b5;color:#fff}.badge-role-cox4{background:var(--info);color:#fff}.badge-role-crew{background:var(--success);color:#fff}.badge-role-senior_shore{background:#0f766e;color:#fff}.badge-role-shore_crew{background:#0d9488;color:#fff}.badge-role-trainee{background:var(--gray-400);color:#fff}.badge-role-shore_trainee{background:#93a3bd;color:#fff}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.4rem;color:var(--gray-700);letter-spacing:.01em}.form-control{width:100%;padding:.6rem .85rem;border:1px solid var(--gray-300);border-radius:var(--r-sm);font-size:.95rem;font-family:inherit;color:var(--gray-800);background:var(--white);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.form-control::placeholder{color:var(--gray-400)}.form-control:hover{border-color:var(--gray-400)}.form-control:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-100)}.form-control:disabled{background:var(--gray-100);color:var(--gray-600);cursor:not-allowed}select.form-control{cursor:pointer}.table-wrap{overflow-x:auto;border-radius:var(--r)}table{width:100%;border-collapse:collapse;font-size:.9rem}th{background:var(--navy-50);padding:.7rem 1rem;text-align:left;font-weight:700;font-size:.72rem;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--gray-200);white-space:nowrap}td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover td{background:var(--gray-50)}.module-header{background:var(--dark);color:var(--white);padding:.6rem 1rem;border-radius:7px 7px 0 0;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:space-between}.task-row{display:grid;grid-template-columns:1fr 90px 90px;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--gray-100);gap:1rem}.task-row:last-child{border-bottom:none}.task-row:hover{background:var(--gray-50)}.task-desc{font-size:.88rem;line-height:1.4}.task-col{text-align:center;font-size:.8rem}.task-col-header{color:var(--gray-600);font-weight:600;font-size:.78rem;text-transform:uppercase}.auth-page{min-height:100vh;display:flex;flex-direction:column;position:relative;background:#0b2a4a url(/nsri-portal-bg.jpg) center center / cover no-repeat}.auth-wrap{flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.portal-footer{flex-shrink:0;background:#e6e7e9;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.portal-footer img{height:32px;width:auto;display:block}.portal-footer-right{text-align:right;font-size:.8rem;line-height:1.5}.portal-footer-right a{display:block;color:#23276e;font-weight:600;text-decoration:none}.portal-footer-right a:hover{text-decoration:underline}.portal-footer-right span{color:#23276e}.auth-card{background:var(--white);border-radius:8px;padding:2.25rem 2rem;width:100%;max-width:400px;box-shadow:0 20px 60px #00000059}.portal-welcome-logo{display:block;width:100%;max-width:230px;margin:0 auto 1.5rem}.portal-welcome-title{font-size:1.2rem;font-weight:800;color:#23276e;text-align:center;text-transform:uppercase;letter-spacing:.01em;line-height:1.35;margin:0 0 1.25rem}.portal-signin-sub{font-size:.88rem;color:var(--gray-600);margin:0 0 1.1rem}.portal-field{margin-bottom:.85rem}.portal-field input{width:100%;box-sizing:border-box;padding:.65rem .8rem;font-size:.92rem;border:1px solid var(--gray-200);border-radius:5px;background:var(--white);font-family:inherit}.portal-field input:focus{outline:none;border-color:#ffca28;box-shadow:0 0 0 3px #ffca2859}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn-portal-yellow{width:100%;display:flex;align-items:center;justify-content:center;background:#ffca28;color:#23276e;border:none;border-radius:5px;padding:.75rem;font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;font-family:inherit}.btn-portal-yellow:hover:not(:disabled){background:#f0ba13}.btn-portal-yellow:disabled{opacity:.7;cursor:default}.btn-portal-navy{width:100%;display:flex;align-items:center;justify-content:center;background:#23276e;color:var(--white);border:none;border-radius:5px;padding:.75rem;font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;font-family:inherit;text-decoration:none}.btn-portal-navy:hover:not(:disabled){background:#1a1d54;color:var(--white)}.btn-portal-navy:disabled{opacity:.7;cursor:default}.auth-divider{text-align:center;margin:1.25rem 0;color:var(--gray-400);font-size:.82rem;display:flex;align-items:center;gap:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.poll-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);background-image:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(44,64,118,.55) 0%,transparent 60%),radial-gradient(ellipse 70% 60% at 90% 100%,rgba(200,16,46,.16) 0%,transparent 60%),linear-gradient(165deg,#22335f,#16234a 55%,#0e1732);padding:1rem}.poll-card{background:var(--white);border-radius:var(--r-lg);padding:2rem;max-width:480px;width:100%;text-align:center;box-shadow:0 24px 60px #060c1c73,0 2px 8px #060c1c4d}.poll-date{font-size:1.5rem;font-weight:800;color:var(--navy);margin:1rem 0 .5rem;letter-spacing:-.02em}.poll-sub{color:var(--gray-600);margin-bottom:1.5rem}.poll-btn-yes,.poll-btn-no{padding:1rem 2rem;font-size:1.05rem;border-radius:var(--r);border:1px solid transparent;cursor:pointer;margin:.4rem 0;font-weight:700;width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.poll-btn-yes{background:var(--success);color:#fff;box-shadow:var(--sh-sm)}.poll-btn-no{background:var(--white);color:var(--gray-700);border-color:var(--gray-300)}.poll-btn-yes:hover{background:#158256;box-shadow:var(--sh-md)}.poll-btn-no:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--navy)}.poll-btn-yes:active,.poll-btn-no:active{transform:translateY(1px)}.proposal-block{border-left:4px solid var(--red);background:var(--white);border-radius:0 10px 10px 0;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px #00000012}.proposal-block.flagged{border-left-color:var(--warning);background:#fffdf0}.proposal-block.assessment{border-left-color:var(--info)}.block-title{font-weight:700;font-size:.95rem;margin-bottom:.5rem;color:var(--dark)}.block-meta{font-size:.82rem;color:var(--gray-600);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.alert{padding:.85rem 1rem;border-radius:var(--r-sm);margin-bottom:1rem;font-size:.9rem;line-height:1.5;border:1px solid;border-left-width:4px}.alert-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:#f3c9d1;border-left-color:var(--danger)}.alert-success{background:var(--success-bg);color:var(--success-fg);border-color:#bfe6d4;border-left-color:var(--success)}.alert-warning{background:var(--warning-bg);color:var(--warning-fg);border-color:#f5dfb5;border-left-color:var(--warning)}.alert-info{background:var(--info-bg);color:var(--info-fg);border-color:#c6dcf5;border-left-color:var(--info)}.alert strong{font-weight:700}.text-muted{color:var(--gray-600)}.text-sm{font-size:.85rem}.text-xs{font-size:.78rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;row-gap:.5rem}.hdr-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}.btn-clip{max-width:100%;min-width:0}.btn-clip>.btn-clip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem;display:inline-block;vertical-align:bottom}@media (max-width:600px){.btn-clip>.btn-clip-text{max-width:11rem}.hdr-actions{justify-content:flex-start}}.gap-1{gap:.5rem}.gap-2{gap:1rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:600px){.grid-2{grid-template-columns:1fr}}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:spin .65s linear infinite}.loading .spinner,.btn-secondary .spinner,.card .spinner{border-color:var(--gray-200);border-top-color:var(--red);width:22px;height:22px}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.btn-link{background:none;border:none;color:var(--red);cursor:pointer;padding:0;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#c8102e59;transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.btn-link:hover{color:var(--red-dk);text-decoration-color:currentColor}.learner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.55rem}.learner-actions>div{flex-basis:100%}.btn-action{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .75rem;border:1px solid;border-radius:999px;font:inherit;font-size:.8rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-action:active{transform:translateY(1px)}.btn-action.add{background:var(--red-50);border-color:var(--red-100);color:var(--red)}.btn-action.add:hover{background:var(--red);border-color:var(--red);color:var(--white)}.btn-action.copy{background:var(--navy-50);border-color:#cfd6ea;color:var(--navy)}.btn-action.copy:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}.btn-action.fitness{background:#e8f6ef;border-color:#bfe5d2;color:#147a52}.btn-action.fitness:hover{background:var(--success);border-color:var(--success);color:var(--white)}.navbar-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin:-.5rem}.burger{display:block;width:26px;height:20px;position:relative}.burger i{position:absolute;left:0;height:2.5px;width:100%;background:var(--white);border-radius:2px;transition:transform .25s ease,opacity .2s ease,top .25s ease}.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:8.5px}.burger i:nth-child(3){top:17px}.burger-open i:nth-child(1){top:8.5px;transform:rotate(45deg)}.burger-open i:nth-child(2){opacity:0}.burger-open i:nth-child(3){top:8.5px;transform:rotate(-45deg)}.navbar-scrim{position:fixed;top:60px;right:0;bottom:0;left:0;background:#00000080;z-index:90;animation:fade .2s ease}.navbar-drawer{position:fixed;top:60px;right:0;width:78%;max-width:300px;height:calc(100vh - 60px);background:var(--dark);z-index:95;display:flex;flex-direction:column;padding-top:.5rem;box-shadow:-6px 0 24px #0006;animation:slideIn .25s ease;overflow-y:auto}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.navbar-drawer-brand{display:flex;justify-content:center;padding:1.25rem 1rem .75rem;border-bottom:1px solid rgba(255,255,255,.1)}.navbar-drawer-logo{width:76px;height:76px;object-fit:cover;border-radius:12px}.navbar-drawer-user{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);color:var(--white);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.navbar-drawer-link{background:none;border:none;text-align:left;width:100%;padding:.9rem 1.25rem;color:var(--gray-400);font-size:1rem;cursor:pointer;border-left:3px solid transparent;transition:background .15s,color .15s}.navbar-drawer-link:hover{background:#ffffff0d;color:var(--white)}.navbar-drawer-link.active{color:var(--white);border-left-color:var(--red);background:#c8102e1f}@media (max-width: 900px){.page{padding:1.25rem 1rem}.page-title{font-size:1.35rem;margin-bottom:1rem}.navbar-station{display:none}.navbar-links-desktop{display:none!important}.navbar-toggle{display:block!important}.navbar{padding:0 1rem}.navbar-brand{font-size:1rem;gap:.5rem}}@media (max-width: 680px){.page{padding:1rem .75rem}.page-title{font-size:1.2rem}.card{padding:1rem;border-radius:10px}.card-title{font-size:1rem}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 -.25rem}table{font-size:.85rem}th,td{padding:.5rem}.btn{padding:.6rem 1rem;font-size:.9rem}.btn-sm{padding:.45rem .75rem;font-size:.82rem}.flex-between{flex-wrap:wrap;gap:.6rem}.stat-row{flex-wrap:wrap;gap:1rem 1.5rem}}@media (max-width: 680px){td>div,.btn-group{flex-wrap:wrap!important}}@media (hover: none) and (pointer: coarse){.btn{min-height:42px}.navbar-drawer-link{min-height:46px}input,select{min-height:42px;font-size:16px}}@media (max-width: 600px){table.responsive-table{border-collapse:separate;border-spacing:0}table.responsive-table thead{display:none}table.responsive-table tr{display:block;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:.35rem .25rem;margin-bottom:.7rem;box-shadow:0 1px 3px #0000000d}table.responsive-table td{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--gray-100);text-align:right}table.responsive-table tr td:last-child{border-bottom:none}table.responsive-table td:before{content:attr(data-label);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-600);text-align:left;flex:0 0 auto}table.responsive-table td:not([data-label]){justify-content:flex-end}table.responsive-table td:not([data-label]):before{content:none}table.responsive-table tr:hover td{background:transparent}table.responsive-table td[data-label=Name],table.responsive-table td[data-label=Crew]{font-size:1.02rem;font-weight:700;color:var(--dark)}table.responsive-table td[data-label=Name]:before,table.responsive-table td[data-label=Crew]:before{display:none}}@media (max-width: 600px){.task-row{grid-template-columns:1fr;gap:.35rem;padding:.75rem 1rem}.task-row .task-col{text-align:left;display:flex;justify-content:space-between}.task-row .task-col:before{content:attr(data-col);font-weight:600;color:var(--gray-600);font-size:.75rem}.task-col-header{display:none}}@media (max-width: 600px){table.tb-table thead{display:none}table.tb-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--gray-200);padding:.4rem 0 .6rem}table.tb-table tr:last-child{border-bottom:none}table.tb-table td{border:none;padding:.35rem .4rem}table.tb-table td.tb-select{grid-column:1;grid-row:1 / span 2;width:auto!important;padding-right:.5rem}table.tb-table td.tb-task{grid-column:2 / 4;grid-row:1}table.tb-table td.tb-sign{grid-column:2;grid-row:2;min-width:0!important;white-space:normal!important;background:var(--gray-50);border-radius:8px;margin:0 .2rem}table.tb-table td.tb-sign+td.tb-sign{grid-column:3}table.tb-table td.tb-sign[colspan="2"]{grid-column:2 / 4}table.tb-table td.tb-sign:before{content:attr(data-label);display:block;margin-bottom:.25rem;font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600)}table.tb-table td.tb-sign .cell-actions{flex-wrap:wrap;justify-content:center}table.tb-table tbody tr:hover td{background:var(--gray-50)}table.tb-table tbody tr:hover td.tb-task,table.tb-table tbody tr:hover td.tb-select{background:transparent}}@media (max-width: 600px){.learner-row-head{flex-wrap:wrap}.stat-row{justify-content:space-between}.stat-row>div{flex:1 1 40%;text-align:center}}.crm-detail-row td{background:var(--gray-50);padding:0!important}.crm-detail{padding:.85rem 1.1rem;border-left:3px solid var(--red)}.crm-detail-head{font-weight:700;font-size:.9rem;margin-bottom:.6rem;color:var(--dark)}.crm-detail-grid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.crm-detail-item{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;background:var(--white);border:1px solid var(--gray-200);border-radius:7px;padding:.4rem .65rem}.crm-detail-sub{font-weight:600;font-size:.85rem;color:var(--dark)}.crm-detail-dates{font-size:.8rem;color:var(--gray-600);white-space:nowrap}@media (max-width: 600px){.crm-detail-row td{display:block}.crm-detail-row td:before{content:none!important}}.poll-logo{width:88px;height:88px;object-fit:cover;border-radius:14px;box-shadow:0 6px 18px #1a2a5240}.attendee-panel{margin-top:.85rem;padding-top:.8rem;border-top:1px dashed var(--gray-200);width:100%}.attendee-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.attendee-title{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.03em}.attendee-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;background:var(--red);color:var(--white);border-radius:99px;font-size:.78rem;font-weight:700}.attendee-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;width:100%;padding:.55rem .7rem;text-align:left;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;font:inherit;color:var(--gray-800);min-height:44px;-webkit-tap-highlight-color:transparent}.attendee-summary:hover{background:var(--gray-100, #f1f5f9)}.attendee-summary-caret{color:var(--gray-600);font-size:.8rem;line-height:1}.attendee-summary-caret.is-btn{background:none;border:none;padding:0;margin-right:.35rem;cursor:pointer;font:inherit;color:var(--gray-600)}.attendee-pill{display:inline-flex;align-items:center;gap:.35rem;background:var(--white);border:1px solid var(--gray-200);border-radius:99px;padding:.18rem .6rem .18rem .25rem;font-size:.82rem;font-weight:600;color:var(--gray-800);white-space:nowrap}.attendee-pill-n{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;background:var(--red);color:var(--white);border-radius:99px;font-size:.76rem;font-weight:700}.attendee-pill.is-muted{color:var(--gray-600)}.attendee-pill.is-muted .attendee-pill-n{background:var(--gray-400)}.attendee-summary-cta{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--primary);white-space:nowrap}.attendee-chips{display:flex;flex-wrap:wrap;gap:.5rem}.attendee-chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:99px;padding:.28rem .55rem .28rem .7rem}.attendee-name{font-size:.88rem;font-weight:600;color:var(--gray-800);white-space:nowrap}.attendee-chip .badge{font-size:.66rem;padding:.12rem .45rem}@media (max-width: 480px){.attendee-summary{gap:.4rem .45rem}.attendee-summary-cta{margin-left:0;flex-basis:100%}.attendee-pill{font-size:.8rem}}.task-picker-scroll{scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent}.task-picker-scroll::-webkit-scrollbar{width:10px;-webkit-appearance:none}.task-picker-scroll::-webkit-scrollbar-track{background:var(--gray-100);border-radius:99px}.task-picker-scroll::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:99px;border:2px solid var(--gray-100)}.task-picker-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.dash-action{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.9rem 1rem;text-align:left;cursor:pointer;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;transition:border-color .15s,box-shadow .15s,transform .05s;font:inherit;color:var(--gray-800);width:100%}.dash-action:hover{border-color:var(--red);box-shadow:0 3px 10px #c8102e1f}.dash-action:active{transform:translateY(1px)}.dash-action:focus-visible{outline:2px solid var(--red);outline-offset:2px}.poll-create-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1fr) auto;align-items:end;gap:1rem;width:100%}.poll-create-form .form-group{min-width:0}.poll-create-form .form-control{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.poll-create-form input[type=date],.poll-create-form input[type=time],.poll-create-form input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:left}.poll-create-form .btn{white-space:nowrap}@media (max-width: 600px){.poll-create-form{grid-template-columns:minmax(0,1fr);gap:.75rem}.poll-create-form .btn{width:100%}}.poll-kind{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem}.poll-kind-btn{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;text-align:left;padding:.55rem .7rem;border:1.5px solid var(--gray-200);border-radius:8px;background:#fff;font:inherit;font-weight:600;font-size:.88rem;color:var(--dark);cursor:pointer}.poll-kind-btn.is-on{border-color:var(--sea-night, #3558A8);background:#eef2fb}.poll-kind-sub{flex-basis:100%;font-weight:400;font-size:.74rem;color:var(--gray-500)}.badge-night{background:var(--sea-night, #3558A8);color:#fff;display:inline-flex;align-items:center;gap:.2rem}.badge-joint{background:#0f766e;color:#fff;display:inline-flex;align-items:center;gap:.2rem;max-width:100%;white-space:normal;text-align:left;line-height:1.25}.night-picker{margin-top:.9rem;border-top:1px solid var(--gray-100);padding-top:.7rem}.night-picker-head{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);margin:.7rem 0 .3rem}.night-pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.3rem}.night-pick{display:flex;gap:.5rem;align-items:flex-start;padding:.4rem .5rem;border-radius:6px;border:1px solid var(--gray-100);cursor:pointer}.night-pick.is-on{background:#eef2fb;border-color:#c9d5f0}.night-pick input{margin-top:.2rem}.night-pick-name{font-size:.86rem;font-weight:600;line-height:1.3}.night-pick-sub{display:block;font-size:.74rem;font-weight:400}.night-msg{background:var(--gray-50);border-radius:8px;padding:.6rem .7rem}.night-msg-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--gray-100)}.night-msg-row:last-child{border-bottom:0}.night-add{background:#fff;border:1px solid var(--gray-100);border-radius:8px;padding:.6rem;margin-bottom:.5rem}.poll-when{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem}.poll-closes{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 .4rem}.poll-actions{display:flex;gap:.5rem;flex-wrap:wrap}.night-msg,.night-msg .night-pick-name{text-align:left}.night-msg-row .night-pick-name{flex:1 1 auto;min-width:0}.night-msg-row .btn{flex:0 0 auto}@media (max-width: 600px){table.responsive-table td .poll-when,table.responsive-table td .poll-closes{justify-content:flex-end;text-align:right}table.responsive-table td.poll-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;text-align:left}td.poll-actions>.btn{width:100%;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td.poll-actions>.badge{justify-self:start}td.poll-actions>.night-msg,td.poll-actions>.night-add,td.poll-actions>.attendee-panel{grid-column:1 / -1}.night-msg{padding:.55rem .6rem}.night-msg-row{align-items:center}.night-msg-row .night-pick-name{font-size:.84rem}.night-msg-row .text-sm.text-muted{text-align:right;max-width:45%;font-size:.74rem}.night-add .night-pick-list{grid-template-columns:1fr}}.night-msg-ans{margin-left:.35rem;font-size:.72rem;font-weight:700}.night-msg-ans.ok{color:var(--success)}.night-msg-ans.no{color:var(--gray-500)}@media (max-width: 600px){.poll-kind,.night-pick-list{grid-template-columns:1fr}}.stat-card-link{font:inherit;color:inherit;width:100%;cursor:pointer;display:block;text-align:center;border:none;border-top:3px solid var(--red);transition:box-shadow .15s,transform .05s}.stat-card-link:hover{box-shadow:0 4px 14px #c8102e26}.stat-card-link:active{transform:translateY(1px)}.stat-card-link:focus-visible{outline:2px solid var(--red);outline-offset:2px}.tt-progress{position:relative;height:10px;border-radius:99px;background:var(--gray-200);overflow:hidden;width:100%}.tt-progress>span{position:absolute;top:0;left:0;bottom:0;display:block;border-radius:99px;transition:width .4s}.tt-trained{background:#f0ad2e}.tt-assessed{background:var(--success)}.tt-progress.is-complete>.tt-trained{background:var(--success)}.knot-page{max-width:1000px;margin:0 auto}.knot-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#1a2a52,#15204a 60%,#0f1838);color:#fff;border-radius:14px;padding:1.1rem 1.25rem;margin-bottom:.85rem;box-shadow:0 6px 20px #0f18382e}.knot-hero-eyebrow{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#9db2e0;margin-bottom:.3rem}.knot-hero-title{font-size:1.45rem;font-weight:800;margin:0;line-height:1.1;letter-spacing:-.01em}.knot-hero-sub{font-size:.82rem;color:#c3cfe8;margin:.35rem 0 0}.knot-hero-progress{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex-shrink:0}.knot-progress-ring{--pct: 0;width:74px;height:74px;border-radius:50%;background:conic-gradient(var(--red) calc(var(--pct) * 1%),rgba(255,255,255,.15) 0);display:grid;place-items:center;position:relative}.knot-progress-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:#16204a}.knot-progress-ring span{position:relative;font-size:1.35rem;font-weight:800;color:#fff;line-height:1}.knot-progress-ring small{font-size:.72rem;font-weight:600;color:#9db2e0}.knot-progress-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#9db2e0}.knot-list-strip{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:.7rem .85rem;margin-bottom:1rem}.knot-list-label{display:block;font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-600);margin-bottom:.45rem}.knot-chips{display:flex;flex-wrap:wrap;gap:.4rem}.knot-chip{font-size:.78rem;font-weight:600;color:#1a2a52;background:#eef2fb;border:1px solid #dbe4f5;border-radius:99px;padding:.25rem .65rem}.knot-layout{display:grid;grid-template-columns:1fr;gap:1.25rem}.knot-section-title{font-size:1.05rem;font-weight:700;color:var(--dark);margin:0 0 .7rem}.knot-board-top{margin-bottom:1rem}.knot-board-top .knot-board-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}.knot-board-top .knot-section-title,.knot-board-top .knot-board-sub{margin:0}.knot-cards{display:grid;gap:.7rem}.knot-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:.85rem .9rem;transition:border-color .15s,box-shadow .15s}.knot-card.done{border-color:#2ecc7173;background:#2ecc710d}.knot-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.knot-card-name{display:flex;align-items:center;gap:.45rem;min-width:0}.knot-card-name strong{font-size:.95rem;color:var(--dark)}.knot-result{font-size:.85rem;font-weight:700;color:var(--success);white-space:nowrap}.knot-result.pending{color:var(--gray-400);font-weight:600}.knot-result-wrong{color:var(--gray-600);font-weight:500}.knot-pb{font-size:.72rem;color:var(--gray-600);margin-top:.2rem}.knot-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.7rem;align-items:end}.knot-field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.knot-field-label{font-size:.7rem;font-weight:600;color:var(--gray-600)}.knot-field .form-control{width:100%}.knot-save{grid-column:1 / -1;width:100%;padding:.65rem;font-weight:700}.knot-board{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:.95rem 1rem;align-self:start}.knot-board-sub{font-size:.72rem;color:var(--gray-600);margin:-.4rem 0 .7rem}.knot-board-list{display:grid;gap:.4rem}.knot-board-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:9px;background:var(--gray-50);border:1px solid var(--gray-200)}.knot-board-row.lead{background:linear-gradient(90deg,#eab30824,#eab3080a);border-color:#eab30866}.knot-rank{font-size:1.15rem;width:26px;text-align:center;flex-shrink:0}.knot-rank-num{font-size:.82rem;font-weight:700;color:var(--gray-400)}.knot-board-name{min-width:0;flex:1}.knot-board-person{display:block;font-weight:600;font-size:.85rem;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knot-board-meta{font-size:.68rem;color:var(--gray-600)}.knot-board-time{font-size:.9rem;font-weight:800;color:var(--dark);white-space:nowrap;font-variant-numeric:tabular-nums}.knot-board-foot{font-size:.68rem;color:var(--gray-600);margin:.7rem 0 0}.knot-empty{font-size:.85rem;color:var(--gray-600);background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:10px;padding:1rem;text-align:center}.knot-note{font-size:.74rem;color:var(--gray-600);margin-top:1rem}@media (min-width: 760px){.knot-board-top .knot-board-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}@media (max-width: 380px){.knot-inputs{grid-template-columns:1fr}.knot-hero{flex-direction:column;align-items:flex-start}.knot-hero-progress{flex-direction:row;align-self:flex-end}}.el-book{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}.el-book-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;cursor:pointer;background:var(--gray-50);-webkit-user-select:none;user-select:none}.el-book-head:hover{background:#eef2fb}.el-book-title{font-weight:600;font-size:.9rem;color:var(--dark)}.el-chevron{color:var(--gray-600);font-size:.8rem;margin-right:.2rem}.el-book-count{font-size:.72rem;color:var(--gray-600);white-space:nowrap}.el-modules{padding:.6rem .8rem;display:grid;gap:.5rem}.el-course-link{display:block;font-size:.8rem;font-weight:600;color:#1a2a52;text-decoration:none;margin-bottom:.3rem}.el-course-link:hover{text-decoration:underline}.el-module{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem 0;border-top:1px dashed var(--gray-200);flex-wrap:wrap}.el-module:first-of-type{border-top:none}.el-module-name{font-size:.82rem;font-weight:600;color:var(--dark)}.el-links{display:flex;gap:.35rem;flex-wrap:wrap}.el-link{font-size:.7rem;font-weight:700;text-decoration:none;padding:.2rem .55rem;border-radius:99px;border:1px solid transparent;white-space:nowrap}.el-link-book{background:#eef2fb;color:#1a2a52;border-color:#dbe4f5}.el-link-quiz{background:#fef3e2;color:#b45309;border-color:#fcd9a8}.el-link-file{background:#eafaf0;color:#12633a;border-color:#c4ecd4}.el-link-scorm{background:#f3e8ff;color:#6b21a8;border-color:#e4ccff}.el-link-forum,.el-link-other{background:var(--gray-100, #f1f5f9);color:var(--gray-600);border-color:var(--gray-200)}.el-link:hover{filter:brightness(.96)}.theory-modules{display:grid;gap:.4rem}.theory-mod{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem .5rem;background:#fff;border:1px solid #ece3fb;border-radius:8px;flex-wrap:wrap}.theory-mod-name{font-size:.82rem;font-weight:600;color:var(--dark)}.theory-mod-sub{font-weight:400;color:var(--gray-600)}.theory-picker{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.theory-pick{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border:1px solid var(--gray-200);border-radius:99px;font-size:.76rem;cursor:pointer;background:#fff}.theory-pick.on{background:#f3e8ff;border-color:#d8c9f0;color:#6b21a8;font-weight:600}.theory-pick small{color:var(--gray-600);font-weight:400}.theory-pick.on small{color:#7c3aed}.theory-pick input{margin:0}.topic-picker{margin-top:.4rem}.topic-picker-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding-bottom:.35rem;border-bottom:1px solid var(--gray-200);margin-bottom:.1rem}.topic-picker-count{font-size:.75rem;font-weight:700;color:var(--gray-600)}.topic-group{margin-top:.5rem}.topic-group-head{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.topic-group-title{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#6b21a8}.topic-group-title a{color:inherit;text-decoration:none}.topic-group-title a:hover{text-decoration:underline}.topic-group-count{font-size:.7rem;color:var(--gray-600)}.topic-group .theory-picker{margin-top:.25rem}.tr-book{margin:.35rem 0 .1rem;padding:.3rem 0 .3rem .6rem}.tr-book-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.78rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.tr-book-course{font-size:.72rem;font-weight:700;text-decoration:none;white-space:nowrap}.tr-book-course:hover{text-decoration:underline}.tr-modlinks{display:flex;flex-wrap:wrap;gap:.5rem;margin:.3rem 0 .1rem}.tr-modlink{display:inline-flex;align-items:center;gap:.3rem}.tr-modlink-name{font-size:.72rem;font-weight:700;color:var(--gray-600)}.add-theory{margin-top:.6rem;padding:.85rem;border:1px solid #d8c9f0;border-radius:12px;background:#faf7ff}.add-theory-title{font-weight:700;font-size:.95rem;color:#4a2a7a;margin-bottom:.7rem}.add-theory-field{display:block;margin-bottom:.7rem}.add-theory-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--gray-600);margin-bottom:.3rem}.add-theory-field .form-control{width:100%;box-sizing:border-box;font-size:.9rem}.add-theory-actions{display:flex;gap:.5rem;margin-top:.2rem;justify-content:center}.add-theory-actions .btn{flex:1;padding:.7rem .5rem;font-weight:700;white-space:nowrap}@media (min-width: 620px){.add-theory-actions .btn{flex:0 0 auto;min-width:160px}}.el-course-group{margin-top:.1rem}.el-course-group+.el-course-group{border-top:1px solid var(--gray-200);margin-top:.5rem;padding-top:.5rem}.el-course-group-name{font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#92400e;margin:.1rem 0 .3rem}.add-block{margin-top:.75rem;padding:.85rem;border:1px solid var(--gray-200);border-radius:12px;background:#fff}.add-block-head{font-weight:700;font-size:.9rem;color:var(--dark);margin-bottom:.6rem}.add-block-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.add-block-choice{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.6rem .3rem;border:1.5px solid var(--gray-200);border-radius:10px;background:var(--gray-50);cursor:pointer;font-size:1.1rem;transition:all .12s}.add-block-choice span{font-size:.82rem;font-weight:700;color:var(--dark)}.add-block-choice small{font-size:.66rem;color:var(--gray-600);font-weight:500}.add-block-choice:hover:not(:disabled){border-color:var(--primary);background:#fff}.add-block-choice.on{border-color:var(--primary);background:#fff5f6;box-shadow:0 0 0 1px var(--primary) inset}.add-block-choice:disabled{opacity:.45;cursor:not-allowed}.add-block-panel{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--gray-200);display:grid;gap:.6rem}.add-block-field{display:block}.add-block-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--gray-600);margin-bottom:.3rem}.add-block-field .form-control{width:100%;box-sizing:border-box;font-size:.9rem}.add-block-hint{font-size:.76rem;color:var(--gray-600);margin:0}.add-block-warn{font-size:.78rem;color:var(--red);margin:0}.add-block-actions{display:flex;gap:.5rem}.add-block-actions .btn{flex:1;padding:.7rem .5rem;font-weight:700;white-space:nowrap}@media (min-width: 620px){.add-block-actions{justify-content:flex-start}.add-block-actions .btn{flex:0 0 auto;min-width:170px}}.proposal-summary{padding:1rem 1.1rem}.proposal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;text-align:center}.proposal-stats>div{padding:.3rem 0}.proposal-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.proposal-actions .btn{flex:1 1 auto;font-weight:600}@media (max-width: 560px){.proposal-stats{grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.proposal-stats>div{padding:.5rem 0;border-radius:8px;background:var(--gray-50)}.proposal-actions{flex-direction:column}.proposal-actions .btn{width:100%}}@media (min-width: 561px){.proposal-actions .btn:first-child{flex:2 1 auto}}.link-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--navy-lt);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.link-btn:hover:not(:disabled){color:var(--navy);text-decoration-color:currentColor}.link-btn:disabled{opacity:.45;cursor:not-allowed}.cell-actions{display:flex;gap:.3rem;justify-content:center;margin-top:.15rem}.cell-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--r-pill);font:inherit;font-size:.7rem;font-weight:600;line-height:1.3;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-200);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.cell-btn:hover:not(:disabled){background:var(--navy-50);border-color:var(--gray-300);color:var(--navy)}.cell-btn.danger{color:var(--danger-fg)}.cell-btn.danger:hover:not(:disabled){background:var(--danger-bg);border-color:#f5b5c0;color:var(--danger)}.cell-btn:disabled{opacity:.45;cursor:not-allowed}.cell-btn .icon{opacity:.8}.na-toggle{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border:1.5px solid #f0ad2e;border-radius:10px;background:#fff9ec;margin-bottom:.8rem;cursor:pointer}.na-toggle input{margin-top:.2rem;width:18px;height:18px;flex-shrink:0}.na-toggle span{display:flex;flex-direction:column;gap:.15rem}.na-toggle strong{font-size:.9rem;color:#92400e}.na-toggle small{font-size:.76rem;color:var(--gray-600)}.na-badge{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.03em;color:#92400e;background:#fef3e2;border:1px solid #fcd9a8;border-radius:6px;padding:.1rem .5rem}.bottleneck-card{padding:0;overflow:hidden}.bottleneck-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#f0f4ff,#fff)}.bottleneck-head:hover{background:#eef2fb}.bottleneck-title{font-weight:700;font-size:.95rem;color:var(--dark)}.bottleneck-toggle{font-size:.8rem;color:var(--gray-600);white-space:nowrap}.bottleneck-body{padding:.3rem 1rem 1rem}.bottleneck-books{display:flex;flex-wrap:wrap;gap:.4rem}.bottleneck-book-chip{font-size:.76rem;background:#eef2fb;border:1px solid #dbe4f5;color:#1a2a52;border-radius:99px;padding:.2rem .6rem;cursor:pointer;transition:all .12s}.bottleneck-book-chip:hover{background:#dbe4f5}.bottleneck-book-chip.on{background:#1a2a52;color:#fff;border-color:#1a2a52}.bottleneck-book-chip.clear{background:#fff;color:var(--gray-600);border-style:dashed}.bottleneck-list{display:grid;gap:.35rem}.bottleneck-row-wrap{border-top:1px solid var(--gray-100, #f1f5f9)}.bottleneck-row-wrap:first-child{border-top:none}.bottleneck-row{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0}.bottleneck-row.clickable{cursor:pointer}.bottleneck-row.clickable:hover{background:#f8fafc}.bottleneck-row.open{background:#f0f4ff}.bottleneck-count{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#1a2a52;color:#fff;font-weight:800;font-size:.95rem;display:grid;place-items:center}.bottleneck-task{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.bottleneck-desc{font-size:.84rem;color:var(--dark);line-height:1.3}.bottleneck-meta{font-size:.72rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.bottleneck-chev{margin-left:auto;color:var(--gray-400);font-size:.75rem}.bottleneck-stage{font-weight:700;border-radius:5px;padding:0 .35rem}.bottleneck-stage.train{background:#fef3e2;color:#b45309}.bottleneck-stage.assess{background:#eafaf0;color:#12633a}.bottleneck-people{padding:.1rem 0 .6rem 2.6rem;display:grid;gap:.4rem}.bottleneck-people-group{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.bottleneck-people-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:.05rem .4rem;margin-right:.2rem}.bottleneck-people-label.train{background:#fef3e2;color:#b45309}.bottleneck-people-label.assess{background:#eafaf0;color:#12633a}.bottleneck-person{font-size:.76rem;background:#fff;border:1px solid var(--gray-200);color:var(--dark);border-radius:99px;padding:.1rem .5rem}.nlb-card{padding:0;overflow:hidden}.nlb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#fff7f0,#fff)}.nlb-head:hover{background:#fdeee2}.nlb-title{font-weight:700;font-size:.95rem;color:var(--dark)}.nlb-toggle{font-size:.8rem;color:var(--gray-600);white-space:nowrap}.nlb-body{padding:.5rem 1rem 1rem;display:grid;gap:.8rem}.nlb-band{border-left:4px solid var(--gray-300);padding-left:.7rem}.nlb-band.crit{border-color:#c8102e}.nlb-band.warn{border-color:#f0ad2e}.nlb-band.soft{border-color:#6b93d6}.nlb-band-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.nlb-band-label{font-weight:700;font-size:.85rem;color:var(--dark)}.nlb-band-count{font-size:.72rem;font-weight:800;background:var(--dark);color:#fff;border-radius:99px;padding:.05rem .5rem}.nlb-band-hint{font-size:.74rem}.nlb-people{display:flex;flex-wrap:wrap;gap:.4rem}.nlb-person{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:.35rem .6rem;transition:all .12s}.nlb-person:hover{border-color:var(--dark);background:#f8fafc}.nlb-person-name{font-weight:700;font-size:.82rem;color:var(--dark)}.nlb-person-role{font-size:.68rem;color:var(--gray-600);text-transform:capitalize}.nlb-person-idle{font-size:.7rem;font-weight:700;color:#b45309;background:#fef3e2;border-radius:5px;padding:0 .35rem}.nlb-person-stuck{font-size:.7rem;color:#1a2a52;background:#eef2fb;border-radius:5px;padding:0 .35rem}.exp-card{padding:0;overflow:hidden}.exp-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#f0f7ff,#fff)}.exp-head:hover{background:#e6f1fd}.exp-title{font-weight:700;font-size:.95rem;color:var(--dark)}.exp-toggle{font-size:.8rem;color:var(--gray-600);white-space:nowrap}.exp-body{padding:.5rem 1rem 1rem;display:grid;gap:.8rem}.exp-section{display:grid;gap:.5rem}.exp-section+.exp-section{border-top:1px solid var(--gray-200);padding-top:.8rem}.exp-section-title{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-weight:700;font-size:.88rem;color:var(--dark)}.exp-section-title .text-muted{font-weight:400;font-size:.76rem}.exp-bucket{border-left:4px solid var(--gray-300);padding-left:.7rem}.exp-bucket.crit{border-color:#c8102e}.exp-bucket.warn{border-color:#f0ad2e}.exp-bucket.soft{border-color:#6b93d6}.exp-bucket-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.exp-bucket-label{font-weight:700;font-size:.85rem;color:var(--dark)}.exp-bucket-count{font-size:.72rem;font-weight:800;background:var(--dark);color:#fff;border-radius:99px;padding:.05rem .5rem}.exp-bucket-hint{font-size:.74rem}.exp-people{display:flex;flex-wrap:wrap;gap:.4rem}.exp-person{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:.35rem .6rem;transition:all .12s}.exp-person:hover{border-color:var(--dark);background:#f8fafc}.exp-person-name{font-weight:700;font-size:.82rem;color:var(--dark)}.exp-person-role{font-size:.68rem;color:var(--gray-600);text-transform:capitalize}.exp-person-book{font-size:.68rem;font-weight:700;color:#1a2a52;background:#eef2fb;border-radius:5px;padding:0 .35rem}.exp-person-when{font-size:.7rem;font-weight:700;color:#b45309;background:#fef3e2;border-radius:5px;padding:0 .35rem}.exp-person-when.over{color:#c8102e;background:#fdeaec}.exp-person-date{font-size:.68rem;color:var(--gray-500)}.collapsible-title{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-title>.collapse-caret{margin-left:auto}.collapsible-title:hover{color:var(--primary)}.collapse-caret{font-size:.78rem;font-weight:500;color:var(--gray-600);white-space:nowrap}.nlb-band.done{border-color:#12633a}.nlb-person-done{font-size:.7rem;font-weight:700;color:#12633a;background:#eafaf0;border-radius:5px;padding:0 .35rem}.card-subtitle{margin:-.4rem 0 0}.rs-wrap{max-width:820px;margin:0 auto;padding:1rem}.rs-toolbar{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.rs-sheet{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:1.6rem}.rs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:3px solid #C8102E;padding-bottom:.8rem}.rs-name{font-size:1.5rem;margin:0 0 .2rem;color:#1a2a52}.rs-sub{font-size:.8rem;color:var(--gray-600)}.rs-role{text-transform:capitalize;font-weight:700;color:#1a2a52}.rs-brand{text-align:right}.rs-station{font-weight:800;color:#1a2a52;font-size:.9rem}.rs-title{font-size:.8rem;color:var(--gray-600)}.rs-date{font-size:.72rem;color:var(--gray-500)}.rs-summary{display:flex;gap:1.5rem;margin:1rem 0;font-size:.9rem}.rs-summary span{background:#f4f6fb;border-radius:8px;padding:.5rem .8rem}.rs-h2{font-size:1rem;color:#1a2a52;margin:1.2rem 0 .5rem}.rs-readiness .rs-h2{color:#fff;background:#1a2a52;margin:1.4rem 0 .6rem;padding:.5rem .75rem;border-radius:6px}.rs-readiness .rs-h2 .rs-muted{color:#ffffffbf;font-weight:600}.rs-readiness .rs-h3{color:#fff;background:#2455b5;padding:.35rem .75rem;border-radius:5px}.rs-table{width:100%;border-collapse:collapse;font-size:.82rem}.rs-table th{text-align:left;border-bottom:2px solid var(--gray-200);padding:.35rem .4rem;color:var(--gray-600);font-size:.72rem;text-transform:uppercase;letter-spacing:.02em}.rs-table td{border-bottom:1px solid var(--gray-100, #f1f5f9);padding:.4rem;vertical-align:top}.rs-num{text-align:center;white-space:nowrap}.rs-tag{display:inline-block;font-size:.68rem;font-weight:700;border-radius:5px;padding:.05rem .4rem;margin-right:.25rem}.rs-tag.done{background:#eafaf0;color:#12633a}.rs-tag.prog{background:#fef3e2;color:#b45309}.rs-tag.ok{background:#eef2fb;color:#1a2a52}.rs-tag.due{background:#fff7e6;color:#b45309}.rs-tag.exp{background:#fdeaec;color:#c8102e}.rs-att-count{font-size:.85rem;margin:0 0 .4rem}.rs-dates{display:flex;flex-wrap:wrap;gap:.3rem}.rs-date-chip{font-size:.74rem;background:#eef2fb;color:#1a2a52;border-radius:6px;padding:.1rem .45rem}.rs-muted{color:var(--gray-500);font-size:.8rem}.rs-foot{margin-top:1.4rem;padding-top:.6rem;border-top:1px solid var(--gray-200);font-size:.68rem;color:var(--gray-500)}.rs-alert{margin:.6rem 0 0;padding:.5rem .7rem;border-left:3px solid #C8102E;background:#fdeaec;color:#8a0b20;font-size:.8rem;border-radius:4px}@media screen and (max-width: 600px){.rs-wrap{padding:.75rem}.rs-sheet{padding:1rem;border-radius:10px}.rs-head{flex-direction:column;gap:.6rem}.rs-brand{text-align:left}.rs-name{font-size:1.3rem}.rs-summary{flex-wrap:wrap;gap:.5rem;font-size:.85rem}.rs-summary span{flex:1 1 auto}.rs-table thead{display:none}.rs-table,.rs-table tbody{display:block;width:100%}.rs-table tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;padding:.6rem 0;border-bottom:1px solid var(--gray-100, #f1f5f9)}.rs-table tr:last-child{border-bottom:none}.rs-table td{display:block;border:none;padding:0;font-size:.82rem}.rs-table td:first-child{flex:0 0 100%;font-weight:600;color:#1a2a52;font-size:.9rem}.rs-table td.rs-num{text-align:left}.rs-table td[data-label]:before{content:attr(data-label);margin-right:.3rem;color:var(--gray-500);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.rs-table td[data-label="Still open"],.rs-table td[data-label="Current step"]{flex:0 0 100%}.rs-table td .rs-tag{margin-top:.1rem}}@media print{.no-print{display:none!important}body{background:#fff}.rs-wrap{max-width:none;padding:0;margin:0}.rs-sheet{border:none;border-radius:0;padding:0}.rs-date-chip,.rs-summary span,.rs-alert,.rs-tag,.rs-h2,.rs-h3{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rs-table{page-break-inside:auto}.rs-table tr{page-break-inside:avoid;page-break-after:auto}.rs-h2{page-break-after:avoid}}.wis-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.wis-stat{display:flex;flex-direction:column;gap:.1rem;background:#f6f8fc;border:1px solid var(--gray-200);border-radius:8px;padding:.35rem .7rem;min-width:92px}.wis-stat-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.wis-stat-value{font-size:.88rem;font-weight:700;color:var(--dark)}.wis-stat-value.role{text-transform:capitalize}.wis-status{margin-top:.8rem;display:grid;gap:.6rem}.wis-alert{border-radius:10px;padding:.6rem .8rem;border-left:3px solid}.wis-alert.bad{background:#fdeaec;border-color:#c8102e}.wis-alert.warn{background:#fff7e6;border-color:#b45309}.wis-alert-head{display:flex;align-items:center;gap:.4rem;font-size:.86rem;margin-bottom:.35rem}.wis-alert.bad .wis-alert-head{color:#8a0b20}.wis-alert.warn .wis-alert-head{color:#7c4a08}.wis-note{margin:.45rem 0 0;font-size:.76rem;color:var(--gray-600)}.wis-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}.wis-list-inset{margin-top:.4rem}.wis-row{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;flex-wrap:wrap;font-size:.84rem;padding:.3rem 0;border-bottom:1px solid rgba(26,42,82,.07)}.wis-row:last-child{border-bottom:none}.wis-row-name{color:var(--dark)}.wis-row-date{white-space:nowrap;font-variant-numeric:tabular-nums}.wis-row-date.bad{color:#c8102e;font-weight:700}.wis-row-date.warn{color:#b45309;font-weight:700}.wis-row-date.ok{color:var(--gray-500)}.wis-renewal{display:flex;gap:.5rem;align-items:flex-start;font-size:.84rem;border:1px solid var(--gray-200);border-radius:10px;padding:.55rem .8rem;line-height:1.45}.wis-renewal>.icon,.wis-renewal>svg{flex:0 0 auto;margin-top:.15rem}.wis-renewal.ok{background:#eaf7f1;border-color:#bfe5d3;color:#11603f}.wis-renewal.warn{background:#fff7e6;border-color:#f3d9a4;color:#7c4a08}.wis-renewal.bad{background:#fdeaec;border-color:#f2b8c0;color:#8a0b20}.wis-renewal-tests{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-top:.15rem;font-size:.78rem}.wis-renewal-tests span{display:inline-flex;align-items:center;gap:.2rem;color:var(--gray-700)}.wis-renewal-tests span.fail{color:#8a0b20}.wis-fold{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}.wis-fold-head{width:100%;display:flex;align-items:center;gap:.45rem;padding:.5rem .7rem;background:#fbfcfe;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--dark)}.wis-fold-head:hover{background:#f2f6fc}.wis-fold-title{font-weight:700;font-size:.84rem}.wis-fold-count{font-size:.76rem;color:var(--gray-500)}.wis-fold-toggle{margin-left:auto;font-size:.76rem;color:var(--gray-600);white-space:nowrap}.wis-fold .wis-list{padding:0 .8rem .6rem}@media (max-width: 560px){.wis-stat{flex:1 1 auto}.wis-row{flex-direction:column;align-items:flex-start;gap:.05rem;padding:.4rem 0}.wis-row-date{font-size:.76rem}.wis-fold-head{flex-wrap:wrap;row-gap:.1rem}.wis-fold-toggle{flex-basis:100%;margin-left:0;text-align:right}}.lb-card{padding:0;overflow:hidden}.lb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#fffdf0,#fff)}.lb-head:hover{background:#fdf9e3}.lb-title{font-weight:700;font-size:.95rem;color:var(--dark)}.lb-toggle{font-size:.8rem;color:var(--gray-600);white-space:nowrap}.lb-body{padding:.5rem 1rem 1rem}.lb-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.lb-row{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer}.lb-row:hover{background:#f8fafc}.lb-row.top{background:#fffdf3}.lb-rank{width:28px;text-align:center;font-weight:800;font-size:.9rem}.lb-name{font-weight:700;font-size:.85rem;color:var(--dark)}.lb-role{font-size:.68rem;color:var(--gray-600);text-transform:capitalize}.lb-count{margin-left:auto;font-weight:800;font-size:.9rem;color:#1a2a52;background:#eef2fb;border-radius:99px;padding:.1rem .6rem}.lb-last{font-size:.7rem;white-space:nowrap}.tr-controls{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}.tr-controls label{display:flex;flex-direction:column;font-size:.78rem;color:var(--gray-600);gap:.2rem}.tr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:.6rem 0 1rem}.tr-stat{background:#f4f6fb;border-radius:10px;padding:.7rem;text-align:center}.tr-stat-n{display:block;font-size:1.5rem;font-weight:800;color:#1a2a52}.tr-stat-l{font-size:.72rem;color:var(--gray-600)}.rs-h3{font-size:.85rem;color:#1a2a52;margin:1rem 0 .4rem}.tr-attenders{display:flex;flex-wrap:wrap;gap:.35rem}.tr-attender{font-size:.78rem;background:#eef2fb;border-radius:6px;padding:.1rem .5rem;color:#1a2a52}.tr-attender-n{font-weight:800}.tr-session{border-top:1px solid var(--gray-100, #f1f5f9);padding:.5rem 0}.tr-session:first-of-type{border-top:none}.tr-session-head{font-size:.85rem;margin-bottom:.3rem}.tr-people{display:flex;flex-wrap:wrap;gap:.3rem}.tr-person{font-size:.76rem;background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:.1rem .45rem}.tr-person-where{color:var(--gray-500);font-size:.68rem}@media (max-width: 560px){.tr-stats{grid-template-columns:repeat(2,1fr)}}@media print{.tr-stat,.tr-attender,.rs-date-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.tr-slot{margin:.6rem 0;padding-left:.7rem;border-left:3px solid #1a2a52}.tr-slot-time{font-weight:800;font-size:.9rem;color:#1a2a52;margin-bottom:.3rem}.nav-elearning-chip{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:700;text-decoration:none;color:#1a2a52;background:#e8f0ff;border:1px solid #b9d0f5;border-radius:99px;padding:.1rem .5rem;margin-left:.1rem}.nav-elearning-chip:hover{background:#d6e4fb}.no-show-btn{color:#c8102e;border-color:#f3c6cd;white-space:nowrap}.no-show-btn:hover{background:#fdeaec;border-color:#e59aa5}.add-crew-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--gray-200)}.show-all-btn{background:var(--gray-50, #f8fafc);border:1px solid var(--gray-200, #e5e7eb);color:var(--gray-600, #475569);font-size:.78rem;font-weight:600;border-radius:99px;padding:.3rem .9rem;cursor:pointer;transition:all .12s}.show-all-btn:hover{background:#eef2fb;border-color:#cbd5e1;color:#1a2a52}.debrief-body{white-space:pre-wrap;line-height:1.6;font-size:.9rem;color:var(--dark)}.debrief-thread{display:grid;gap:.5rem;max-height:340px;overflow-y:auto}.debrief-msg{display:flex;gap:.5rem;font-size:.84rem;padding:.5rem .6rem;border-radius:8px}.debrief-msg.user{background:#eef2fb}.debrief-msg.assistant{background:var(--gray-50, #f8fafc);border:1px solid var(--gray-200, #e5e7eb);white-space:pre-wrap}.debrief-msg-who{font-weight:700;flex-shrink:0;color:var(--gray-600);font-size:.72rem;text-transform:uppercase}.el-book-for{font-weight:400;color:var(--gray-500, #64748b);font-size:.82rem}.tide-month-link{display:inline-block;background:#eef2fb;color:#1a2a52;text-decoration:none;border:1px solid #d5def0;border-radius:99px;padding:.15rem .6rem;font-weight:600;font-size:.8rem}.tide-month-link:hover{background:#dfe7f7;border-color:#b9c9ea}.knot-info{background:var(--gray-50, #f8fafc);border:1px solid var(--gray-200, #e5e7eb);border-radius:8px;padding:.6rem .7rem}.knot-info-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--gray-600, #475569)}.knot-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.knot-chip{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #d9e2ef;border-radius:99px;padding:.2rem .6rem;font-size:.82rem;font-weight:600;color:#1a2a52}.knot-chip-n{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;background:#1a2a52;color:#fff;border-radius:50%;font-size:.62rem;font-weight:700}.knot-rules{margin:.35rem 0 0;padding-left:1.1rem;font-size:.8rem;color:#334155;line-height:1.5}.knot-rules li{margin-bottom:.15rem}.seahours-table{font-size:.84rem}.seahours-table .sh-date-inline{display:none}@media (max-width: 600px){.seahours-table{font-size:.8rem}.seahours-table .sh-date{display:none}.seahours-table .sh-date-inline{display:block;font-weight:600;color:var(--gray-600)}.seahours-table th,.seahours-table td{padding:.45rem .25rem}.seahours-table th{white-space:normal;letter-spacing:0}.seahours-table strong{word-break:break-word}}:root{--sea-day: #E8A317;--sea-night: #3558A8}:root{--shore-control: #2a78d6;--shore-tractor: #eb6834;--shore-vehicle: #1baf7a;--shore-quad: #eda100;--shore-other: #9a9994}.sh-seg.g-control,.sh-swatch.g-control{background:var(--shore-control)}.sh-seg.g-tractor,.sh-swatch.g-tractor{background:var(--shore-tractor)}.sh-seg.g-vehicle,.sh-swatch.g-vehicle{background:var(--shore-vehicle)}.sh-seg.g-quad,.sh-swatch.g-quad{background:var(--shore-quad)}.sh-seg.g-other,.sh-swatch.g-other{background:var(--shore-other)}.sh-filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.sh-filters label{display:flex;align-items:center;gap:.4rem;font-weight:600}.sh-filters select{width:auto;padding:.3rem .5rem;font-size:.85rem}.sh-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.3rem;vertical-align:-1px}.sh-swatch.sh-day,.sh-seg.sh-day{background:var(--sea-day)}.sh-swatch.sh-night,.sh-seg.sh-night{background:var(--sea-night)}.sh-legend{display:flex;gap:.8rem;color:var(--gray-700)}.sh-totals{font-size:.88rem}.sh-totals caption{caption-side:top;text-align:left;padding:0 0 .3rem}.sh-totals .num{text-align:right;white-space:nowrap}.sh-totals tr.sh-all td{font-weight:700;background:var(--gray-50)}.sh-totals .sh-sub{font-weight:400}.sh-chart{display:grid;gap:.15rem}.sh-row{display:grid;grid-template-columns:minmax(120px,30%) 1fr 4.2rem;align-items:center;gap:.6rem;width:100%;padding:.3rem .35rem;border:0;border-radius:6px;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--dark)}.sh-row:hover,.sh-row:focus-visible{background:var(--gray-50);outline:none}.sh-name{font-size:.86rem;font-weight:600;line-height:1.2;overflow:hidden}.sh-sub{display:block;font-size:.74rem;font-weight:400}.sh-track{display:flex;gap:2px;height:14px}.sh-seg{height:100%;min-width:2px}.sh-seg:first-child{border-radius:4px 0 0 4px}.sh-seg:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.sh-seg:only-child{border-radius:4px}.sh-total{font-size:.84rem;font-weight:700;text-align:right;white-space:nowrap;color:var(--dark)}.sh-tip{position:fixed;z-index:50;pointer-events:none;min-width:11rem;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 6px 18px #1a2a5224;padding:.5rem .65rem;font-size:.8rem;line-height:1.5}@media (max-width: 600px){.sh-row{grid-template-columns:1fr 3.8rem;row-gap:.2rem}.sh-name{grid-column:1 / -1}.sh-row .sh-sub{display:inline;margin-left:.4rem}.sh-totals{font-size:.82rem}.sh-totals th,.sh-totals td{padding:.45rem .3rem}.sh-totals th{letter-spacing:0;font-size:.7rem}.sh-totals .sh-swatch{width:.55rem;height:.55rem;margin-right:.2rem}}@media (hover: none){.sh-tip{display:none}}.crew-callsign{display:inline-flex;align-items:center;gap:.3rem;margin-top:.2rem;border:0;background:none;padding:.1rem 0;font:inherit;font-size:.76rem;color:var(--gray-600);cursor:pointer;white-space:nowrap}.crew-callsign:hover{color:var(--dark);text-decoration:underline}.crew-callsign-tag{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:.05rem .3rem;background:var(--gray-100);color:var(--gray-700)}.crew-callsign-tag.warn{background:#fff3cd;color:#664d03}@media (max-width: 600px){td[data-label=Name] .crew-callsign{display:flex}}.sc-list{display:grid;gap:.15rem}.sc-row{display:grid;grid-template-columns:minmax(140px,38%) 1fr 6.5rem;align-items:center;gap:.7rem;width:100%;padding:.4rem .35rem;border:0;border-bottom:1px solid var(--gray-100);background:none;font:inherit;text-align:left;cursor:pointer;color:var(--dark)}.sc-row:hover,.sc-row:focus-visible{background:var(--gray-50);outline:none}.sc-name{font-size:.86rem;font-weight:600;line-height:1.25}.sc-sub{display:block;font-size:.74rem;font-weight:400}.sc-track{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.sc-fill{display:block;height:100%;background:var(--warning);border-radius:4px}.sc-fill.none{background:transparent}.sc-hours{font-size:.84rem;text-align:right;white-space:nowrap}@media (max-width: 600px){.sc-row{grid-template-columns:1fr 5.8rem;row-gap:.25rem}.sc-track{grid-column:1 / -1;grid-row:2}}.sea-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}.sea-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap;font-size:.84rem;padding:.3rem 0;border-bottom:1px solid var(--gray-100)}.sea-list li:last-child{border-bottom:none}.sea-where{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;white-space:nowrap}.sea-where.ok{color:var(--success-fg, #11603f)}.sea-where.no{color:var(--warning-fg, #7c4a08)}.sea-standing{display:flex;gap:.55rem;align-items:flex-start;border-radius:10px;padding:.6rem .8rem;margin:0 0 .8rem;font-size:.86rem;line-height:1.45;border:1px solid}.sea-standing>svg{flex:0 0 auto;margin-top:.15rem}.sea-standing.ok{background:#eaf7f1;border-color:#bfe5d3;color:#11603f}.sea-standing.warn{background:#fff7e6;border-color:#f3d9a4;color:#7c4a08}.sea-standing.bad{background:#fdeaec;border-color:#f2b8c0;color:#8a0b20}.sea-standing .text-sm{color:var(--gray-700);margin-top:.2rem}.sea-standing-bar{height:6px;background:#1a2a5214;border-radius:3px;overflow:hidden;margin:.35rem 0 .1rem}.sea-standing-bar span{display:block;height:100%;background:currentColor;border-radius:3px}.sc-fill.ok{background:var(--success)}.sc-sub.sc-ok{color:var(--success-fg, #11603f);font-weight:600}.debrief-body h4{font-size:1.12rem;font-weight:800;color:var(--navy);margin:1.3rem 0 .35rem;padding-bottom:.25rem;border-bottom:2px solid var(--gray-200)}.debrief-body h4:first-child{margin-top:.3rem}.debrief-body h5{font-size:.98rem;font-weight:700;color:var(--navy);margin:.9rem 0 .3rem}.brief-body h5{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);margin:.55rem 0 .1rem}.brief-body p strong:only-child{display:inline-block;margin-top:.45rem}.slb-wrap{max-width:1100px;margin:0 auto;padding:1rem}.slb-toolbar{margin-bottom:1rem}.slb-toolbar-row{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.slb-field{display:flex;flex-direction:column;font-size:.72rem;color:var(--gray-600);flex:1;max-width:340px}.slb-field input{font-size:.85rem;padding:.35rem .5rem;border:1px solid var(--gray-200);border-radius:6px}.slb-sheet{background:#fff;border:1px solid var(--gray-200);padding:1rem 1.2rem;margin-bottom:1rem;color:#111;font-family:Arial,Helvetica,sans-serif}.slb-top{display:flex;justify-content:space-between;font-size:.72rem;margin-bottom:.3rem}.slb-head{display:flex;align-items:center;gap:1rem;border:1.5px solid #222;padding:.55rem .7rem;font-size:.82rem;font-weight:700}.slb-name{flex:0 0 38%}.slb-sig{flex:1;display:flex;align-items:baseline;gap:.4rem}.slb-fill{display:inline-block;min-width:11rem;font-weight:400;font-size:.95rem;border-bottom:1px solid #222;padding:0 .3rem}.slb-line{flex:1;display:inline-block;border-bottom:1px solid #222;min-width:6rem;height:.9em}.slb-class{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.slb-classbox{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.1rem;border:1.5px solid #222;font-size:1.1rem}.slb-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:.45rem;font-size:.8rem}.slb-table th{background:#e4e4e4;font-size:.66rem;padding:.25rem .2rem;border:1px solid #222;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}.slb-table th.slb-rec{text-align:left;padding-left:.4rem}.slb-table td{border:1px solid #222;height:1.55rem;padding:0 .3rem;white-space:nowrap;overflow:hidden;text-overflow:clip}.slb-table .slb-n{text-align:center}.slb-table .slb-ops,.slb-table .slb-wx{font-size:.72rem}.slb-boat{font-weight:700;font-size:.62rem;border:1px solid #888;border-radius:3px;padding:0 .2rem;margin-right:.2rem}.slb-foot{display:flex;gap:1.5rem;margin-top:.5rem;border:1.5px solid #222;padding:.55rem .7rem;font-size:.82rem;font-weight:700;align-items:baseline}.slb-foot>span:first-child{flex:0 0 45%}.slb-foot>span:last-child{flex:1;display:flex;align-items:baseline;gap:.4rem}.slb-trainee{max-width:420px;margin:2rem auto;border:1.5px solid #222;padding:1rem 1.4rem;text-align:center}.slb-trainee h2{margin:0 0 .2rem;font-size:1.05rem}.slb-boxes{display:flex;justify-content:center;gap:1rem;margin:.8rem 0}.slb-boxes div{display:flex;flex-direction:column;gap:.3rem;font-size:.7rem;font-weight:700}.slb-boxes b{border:1.5px solid #222;min-width:5rem;padding:.5rem;font-size:1.1rem;font-weight:400}.slb-note{font-size:.75rem;text-align:left}@media print{@page{size:A4 landscape;margin:10mm}.slb-wrap{max-width:none;padding:0}.slb-sheet{border:none;padding:0;margin:0;page-break-after:always;break-after:page}.slb-sheet:last-child{page-break-after:auto;break-after:auto}}.slb-opts{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.6rem;font-size:.82rem}.slb-opts label{display:inline-flex;gap:.3rem;align-items:center;cursor:pointer}.slb-classes{margin-top:.6rem;padding:.7rem .85rem;font-size:.82rem;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-sm)}.slb-classes-head{font-weight:700;color:var(--navy);margin-bottom:.45rem}.slb-classes-head span{font-weight:400;color:var(--gray-600)}.slb-setclass{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.3rem 0}.slb-setclass+.slb-setclass{border-top:1px solid var(--gray-100)}.slb-vessel{min-width:5.5rem;font-weight:700;color:var(--gray-800)}.slb-classbtns{display:inline-flex;border:1px solid var(--gray-300);border-radius:var(--r-pill);overflow:hidden}.slb-classbtn{font:inherit;font-size:.78rem;font-weight:700;min-width:2.6rem;padding:.3rem .7rem;background:var(--white);color:var(--gray-700);border:none;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.slb-classbtn+.slb-classbtn{border-left:1px solid var(--gray-300)}.slb-classbtn:hover{background:var(--navy);color:var(--white)}.slb-ov td{height:1.55rem;font-size:.85rem}.slb-ov th{font-size:.72rem;padding:.4rem .3rem}.slb-ovtotal td{background:#efefef;border-top:2px solid #222;-webkit-print-color-adjust:exact;print-color-adjust:exact}.slb-cover{position:relative;min-height:175mm;display:flex}.slb-cover-bar{width:22mm;background:#e2231a;margin-right:12mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}.slb-cover-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;max-width:520px}.slb-cover-main img{width:220px}.slb-cover-title{display:flex;align-items:stretch;font-weight:800;font-size:2rem;letter-spacing:.01em}.slb-cover-title b{color:#14306b;padding-right:.6rem;border-right:5px solid #e2231a}.slb-cover-title span{background:#e2231a;color:#fff;padding:.15rem .8rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.slb-cover-box{border:1.5px solid #4a78b5;border-radius:3px;padding:.7rem .9rem}.slb-cover-box h3{margin:0 0 .5rem;text-align:center;color:#14306b;font-size:.85rem}.slb-cover-row{display:flex;gap:1rem;border-top:1px solid #4a78b5;padding-top:.3rem;margin-top:.3rem}.slb-cover-foot{position:absolute;right:0;bottom:0;font-size:.65rem;color:#14306b}.slb-pf{display:flex;align-items:baseline;gap:.4rem;flex:1;font-size:.72rem;font-weight:700;color:#333}.slb-pf span{white-space:nowrap}.slb-pf input{flex:1;min-width:0;border:none;background:transparent;font:400 .95rem Arial,sans-serif;color:#000;padding:.1rem .2rem;outline:none}.slb-pf input:hover,.slb-pf input:focus{background:#fff8d6}.slb-pf-wide{border:1px solid #555;padding:.45rem .6rem;margin-bottom:.45rem}.slb-personal{display:flex;gap:2.5rem;min-height:120mm}.slb-personal .slb-col{flex:1}.slb-personal h3,.slb-notes h3,.slb-back h3{font-size:.9rem;margin:0 0 .7rem}.slb-two{display:flex;gap:.5rem}.slb-notes-body{display:flex;gap:2.5rem;font-size:.82rem;line-height:1.35}.slb-notes-body>div{flex:1}.slb-notes-body p{margin:0 0 .7rem}.slb-trainee-box{border:1.5px solid #222;text-align:center;padding:.6rem .8rem;margin:.8rem 0}.slb-trainee-box h4{margin:0;font-size:.95rem}.slb-trainee-box p{margin:.2rem 0 .5rem;font-size:.75rem}.slb-keep{text-align:center;font-weight:800;font-size:.85rem;margin-top:1rem}.slb-ruled{border-bottom:1px solid #888;height:1.65rem}@media print{.slb-pf input:hover,.slb-pf input:focus{background:transparent}}.slb-personal .slb-col,.slb-two,.slb-pf{min-width:0}.slb-pf-narrow{flex:0 0 8.5rem}.slb-sheet{width:1047px;box-sizing:border-box;margin-left:auto;margin-right:auto;zoom:var(--slb-z, 1)}.slb-btns{display:flex;gap:.5rem}@media (max-width: 640px){.slb-toolbar-row{align-items:stretch;flex-direction:column}.slb-field{max-width:none}.slb-btns .btn{flex:1;justify-content:center;padding:.65rem .8rem;font-size:.95rem}.slb-opts{flex-direction:column;align-items:flex-start;gap:.4rem}}@media print{.slb-sheet{width:auto;zoom:1}}.hq-banner{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600;text-align:center;color:var(--info-fg);background:var(--info-bg);border-bottom:1px solid #c9dcf3}.hq-stations{display:grid;gap:1rem}.hq-station-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.8rem}.hq-active{font-size:.72rem;font-weight:700;white-space:nowrap;padding:.2rem .6rem;border-radius:var(--r-pill);color:var(--success-fg);background:var(--success-bg)}.hq-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-bottom:.5rem}.hq-figure{padding:.55rem .7rem;border-radius:var(--r-sm);background:var(--gray-50);border:1px solid var(--gray-100)}.hq-figure-val{font-size:1.35rem;font-weight:800;color:var(--navy);line-height:1.1}.hq-figure-label{font-size:.72rem;color:var(--gray-600);margin-top:.15rem}.hq-station-actions{display:flex;gap:.45rem;flex-wrap:wrap}.hq-password-row,.hq-add{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.hq-password-row .form-control,.hq-add .form-control{flex:1 1 180px;min-width:0}.hq-issued{display:flex;gap:.6rem;align-items:flex-start}.hq-issued-cred{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:.35rem 0;font-size:.88rem}.hq-issued-cred code{font-size:.95rem;font-weight:700;padding:.05rem .4rem;border-radius:4px;background:var(--white);border:1px solid #bfe6d4;-webkit-user-select:all;user-select:all}.super-vessels{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.5rem}.super-vessel{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .65rem;border:1px solid var(--gray-200);border-radius:var(--r-sm);background:var(--white)}.super-vessel.unset{border-color:#f0c674;background:var(--warning-bg)}.super-vessel-name{font-weight:800;color:var(--navy);font-size:.9rem}.super-vessel-use{font-size:.72rem;color:var(--gray-600)}.super-vessel select{width:auto;flex:0 0 auto;padding:.3rem .4rem;font-size:.82rem}.super-station{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.55rem 0;border-bottom:1px solid var(--gray-100);margin-bottom:.5rem}@media (max-width: 560px){.hq-station-head{flex-direction:column}.hq-station-actions .btn{flex:1 1 calc(50% - .5rem);justify-content:center}}.vessel-log{margin-top:.8rem;font-size:.8rem}.vessel-log summary{cursor:pointer;font-weight:600;color:var(--navy)}.vessel-log ul{margin:.4rem 0 0;padding-left:1.1rem;display:grid;gap:.2rem}.cp-pick{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.4rem}.cp-pick li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid var(--gray-200);border-radius:10px;padding:.55rem .7rem;background:#fbfcfe}.cp-pick li.suggested{border-color:var(--navy-lt);background:var(--navy-50)}.cp-empty{margin-top:.7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.86rem;color:var(--gray-700)}.cp-path{margin-top:.9rem;border-top:1px solid var(--gray-200);padding-top:.8rem}.cp-path-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.cp-path-name{font-weight:700;font-size:.95rem;color:var(--dark);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.cp-path-summary{font-size:.78rem;color:var(--gray-600);margin-top:.1rem}.cp-suggested{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--navy);color:#fff;border-radius:999px;padding:.1rem .5rem}.cp-achieved{display:inline-flex;align-items:center;gap:.2rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--success-bg);color:var(--success-fg);border-radius:999px;padding:.1rem .5rem}.cp-bar{height:8px;border-radius:999px;background:var(--gray-100);overflow:hidden;margin-top:.6rem}.cp-bar>span{display:block;height:100%;background:var(--success);border-radius:999px;transition:width .3s}.cp-bar-caption{font-size:.76rem;color:var(--gray-600);margin-top:.3rem}.cp-steps{display:grid;gap:.4rem;margin-top:.7rem}.cp-step{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}.cp-step.current{border-color:var(--navy-lt)}.cp-step-head{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:#fbfcfe;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--dark)}.cp-step-head:hover{background:#f2f6fc}.cp-step.current .cp-step-head{background:var(--navy-50)}.cp-step-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;background:var(--gray-200);color:var(--gray-700)}.cp-step.current .cp-step-num{background:var(--navy);color:#fff}.cp-step.done .cp-step-num{background:var(--success);color:#fff}.cp-step-title{font-weight:700;font-size:.84rem;min-width:0}.cp-step-tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.05rem .45rem;white-space:nowrap}.cp-step-tag.done{background:var(--success-bg);color:var(--success-fg)}.cp-step-tag.current{background:var(--navy);color:#fff}.cp-step-tag.later{background:var(--gray-100);color:var(--gray-600)}.cp-step-count{margin-left:auto;font-size:.76rem;color:var(--gray-600);font-variant-numeric:tabular-nums}.cp-step-body{padding:.2rem .8rem .6rem}.cp-step-note{font-size:.76rem;color:var(--gray-600);margin:.3rem 0}.cp-reqs{list-style:none;margin:0;padding:0}.cp-req{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--gray-100);font-size:.84rem}.cp-req:last-child{border-bottom:none}.cp-req-icon{flex:0 0 auto;margin-top:.1rem;color:var(--gray-400)}.cp-req.met .cp-req-icon{color:var(--success)}.cp-req.open .cp-req-icon{color:var(--danger)}.cp-req-body{min-width:0;display:grid;gap:.1rem}.cp-req-label{color:var(--dark)}.cp-req.info .cp-req-label,.cp-req.unknown .cp-req-label,.cp-req.optional .cp-req-label{color:var(--gray-600)}.cp-req-detail{font-size:.74rem;color:var(--gray-600)}.cp-req-figure{white-space:nowrap;font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--gray-600)}.cp-req.met .cp-req-figure{color:var(--success-fg);font-weight:600}.cp-req.open .cp-req-figure{color:var(--danger-fg);font-weight:700}.cp-mini{display:block;height:4px;border-radius:999px;background:var(--gray-100);overflow:hidden;max-width:180px;margin-top:.15rem}.cp-mini>span{display:block;height:100%;background:var(--warning)}@media (max-width: 560px){.cp-req{grid-template-columns:auto minmax(0,1fr);row-gap:.1rem}.cp-req-figure{grid-column:2;white-space:normal}.cp-step-head{flex-wrap:wrap;row-gap:.15rem}.cp-pick li{flex-direction:column;align-items:stretch}}.elp{margin:0 0 .8rem;border:1px solid var(--gray-200);border-radius:10px;padding:.6rem .8rem;background:#fbfcfe}.elp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;font-size:.84rem}.elp-stat{color:var(--gray-700)}.elp-stat strong{color:var(--dark);font-size:.95rem}.elp-meta{font-size:.74rem;color:var(--gray-600)}.elp-head .elp-meta{margin-left:auto}.elp-list{list-style:none;margin:.4rem 0 0;padding:0}.elp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:start;padding:.3rem 0;border-bottom:1px solid var(--gray-100);font-size:.84rem}.elp-row:last-child{border-bottom:none}.elp-row>svg{margin-top:.15rem}.elp-row.open>svg{color:var(--warning)}.elp-row.done>svg{color:var(--success)}.elp-name{color:var(--dark);min-width:0}.elp-date{white-space:nowrap;font-size:.76rem;color:var(--gray-600);font-variant-numeric:tabular-nums}.elp-toggle{margin-top:.4rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:.8rem;font-weight:600;color:var(--navy-lt)}@media (max-width: 560px){.elp-head .elp-meta{margin-left:0;flex-basis:100%}.elp-row{grid-template-columns:auto minmax(0,1fr);row-gap:0}.elp-date{grid-column:2;white-space:normal}}.elr-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1rem;font-size:.84rem;color:var(--gray-700);margin:0 0 .6rem}.elr-summary strong{color:var(--dark)}.elr-link{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;color:var(--navy-lt)}.elr-list{display:grid;gap:.1rem}.elr-course{border-radius:8px}.elr-course.open{background:var(--gray-50)}.elr-row{width:100%;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) auto;gap:.7rem;align-items:center;padding:.45rem .5rem;background:none;border:none;border-radius:8px;cursor:pointer;font:inherit;text-align:left;color:var(--dark)}.elr-row:hover,.elr-row:focus-visible{background:var(--gray-50);outline:none}.elr-name{font-size:.86rem;font-weight:600;min-width:0}.elr-track{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.elr-fill{display:block;height:100%;background:var(--success);border-radius:4px}.elr-count{font-size:.8rem;color:var(--gray-600);white-space:nowrap;font-variant-numeric:tabular-nums}.elr-count strong{color:var(--dark)}.elr-detail{padding:.1rem .5rem .6rem}.elr-people{margin-top:.5rem}.elr-people-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.elr-people-title.ok{color:var(--success-fg)}.elr-people-title.warn{color:var(--warning-fg)}.elr-chips{display:flex;flex-wrap:wrap;gap:.3rem}.elr-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.3rem .55rem;background:#fff;border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;font:inherit;font-size:.8rem;font-weight:600;color:var(--dark);text-align:left}.elr-chip:hover{border-color:var(--navy-lt)}.elr-chip .text-muted{font-size:.7rem;font-weight:400}@media (max-width: 560px){.elr-row{grid-template-columns:minmax(0,1fr) auto;row-gap:.25rem}.elr-track{grid-column:1 / -1;grid-row:2}}:root{--tone-sea: #2f6fb3;--tone-sea-bg: #f0f6fc;--tone-books: #2c4076;--tone-books-bg: #f1f3f9;--tone-training: #5b7f24;--tone-training-bg: #f5f9ee;--tone-learn: #0f8a7e;--tone-learn-bg: #eef8f6;--tone-career: #b7791f;--tone-career-bg: #fcf7ec;--tone-service: #8e3f72;--tone-service-bg: #faf2f7;--tone-health: #c0392b;--tone-health-bg: #fdf3f2;--tone-people: #6b4fbb;--tone-people-bg: #f5f2fc;--tone-admin: #626e85;--tone-admin-bg: #f5f7fa}.tone-sea{--tone: var(--tone-sea);--tone-bg: var(--tone-sea-bg)}.tone-books{--tone: var(--tone-books);--tone-bg: var(--tone-books-bg)}.tone-training{--tone: var(--tone-training);--tone-bg: var(--tone-training-bg)}.tone-learn{--tone: var(--tone-learn);--tone-bg: var(--tone-learn-bg)}.tone-career{--tone: var(--tone-career);--tone-bg: var(--tone-career-bg)}.tone-service{--tone: var(--tone-service);--tone-bg: var(--tone-service-bg)}.tone-health{--tone: var(--tone-health);--tone-bg: var(--tone-health-bg)}.tone-people{--tone: var(--tone-people);--tone-bg: var(--tone-people-bg)}.tone-admin{--tone: var(--tone-admin);--tone-bg: var(--tone-admin-bg)}.card[class*=" tone-"]{border-left:4px solid var(--tone);background:linear-gradient(180deg,var(--tone-bg) 0,var(--white) 4.5rem)}.card[class*=" tone-"] .card-title>.icon,.card[class*=" tone-"] .card-title>span>.icon,.card[class*=" tone-"] .sec-head .icon,.card[class*=" tone-"] .nlb-title>.icon,.card[class*=" tone-"] .exp-title>.icon,.card[class*=" tone-"] .lb-title>.icon{color:var(--tone)}.card[class*=" tone-"] .nlb-head,.card[class*=" tone-"] .exp-head,.card[class*=" tone-"] .lb-head{background:transparent}.card[class*=" tone-"] .nlb-head:hover,.card[class*=" tone-"] .exp-head:hover,.card[class*=" tone-"] .lb-head:hover{background:var(--tone-bg)}.card[class*=" tone-"] .collapsible-title:hover{color:var(--tone)}.sec{padding:0;overflow:hidden}.sec-head{width:100%;display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;background:none;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--navy)}.sec-head:hover{background:var(--tone-bg, var(--gray-50))}.sec-head:focus-visible{outline:2px solid var(--tone, var(--navy));outline-offset:-2px}.sec-title{font-weight:700;font-size:.98rem;white-space:nowrap}.sec-summary{flex:1;min-width:0;font-size:.82rem;color:var(--gray-600)}.sec-summary .ok{color:var(--success-fg);font-weight:600}.sec-summary .warn{color:var(--warning-fg);font-weight:600}.sec-summary .bad{color:var(--danger-fg);font-weight:600}.sec-caret{font-size:.78rem;color:var(--gray-600);white-space:nowrap}.sec-body{padding:.2rem 1.1rem 1.1rem}.sec-body .card{box-shadow:none;padding:.9rem 1rem;margin-bottom:.6rem}@media (max-width: 560px){.sec-head{flex-wrap:wrap;row-gap:.15rem}.sec-summary{order:3;flex-basis:100%}.sec-caret{margin-left:auto}}.nlb-title,.exp-title,.lb-title{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.elc{margin:0 0 .8rem}.elc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.5rem}.elc-search{flex:1 1 220px;display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border:1px solid var(--gray-300);border-radius:8px;background:var(--white);color:var(--gray-600)}.elc-search:focus-within{border-color:var(--tone, var(--navy-lt));box-shadow:0 0 0 3px var(--tone-bg, var(--navy-50))}.elc-search input{flex:1;min-width:0;border:none;outline:none;font:inherit;font-size:.86rem;background:transparent;color:var(--dark)}.elc-filters{display:flex;flex-wrap:wrap;gap:.3rem}.elc-filter{border:1px solid var(--gray-200);background:var(--white);border-radius:999px;padding:.2rem .65rem;font:inherit;font-size:.76rem;font-weight:600;color:var(--gray-700);cursor:pointer}.elc-filter span{color:var(--gray-500);font-weight:500}.elc-filter.on{background:var(--tone, var(--navy));border-color:var(--tone, var(--navy));color:#fff}.elc-filter.on span{color:#fffc}.elc-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:10px;background:var(--white)}.elc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.45rem .7rem;border-bottom:1px solid var(--gray-100);font-size:.86rem}.elc-row:last-child{border-bottom:none}.elc-row>svg{color:var(--gray-400)}.elc-row.completed>svg{color:var(--success)}.elc-row.in_progress>svg{color:var(--warning)}.elc-name{min-width:0;color:var(--dark);font-weight:600}.elc-sub{display:block;font-size:.74rem;font-weight:400;color:var(--gray-600)}.elc-row .btn{white-space:nowrap;gap:.25rem}.elc-note{margin:.4rem 0 0;font-size:.74rem;color:var(--gray-600)}.el-links-fold{margin-top:.4rem;border-top:1px solid var(--gray-100);padding-top:.5rem}.el-links-fold>button{width:100%;display:flex;align-items:center;gap:.45rem;padding:.3rem 0;background:none;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--navy)}.el-links-fold>button strong{font-size:.9rem}.el-links-fold>button .collapse-caret{margin-left:auto}@media (max-width: 560px){.el-links-fold>button>.text-muted{display:none}}.hq-demo-note{background:var(--tone-career-bg);border-bottom:1px solid #efdcb4}.hq-demo-inner{max-width:1100px;margin:0 auto;padding:.8rem 1.5rem;display:flex;gap:.7rem;align-items:flex-start}.hq-demo-inner>.icon{color:var(--tone-career);flex:0 0 auto;margin-top:.15rem}.hq-demo-inner>div{flex:1;min-width:0;font-size:.86rem;color:var(--gray-800)}.hq-demo-inner strong{display:block;color:var(--navy);margin-bottom:.15rem}.hq-demo-inner .btn{flex:0 0 auto}@media (max-width: 560px){.hq-demo-inner{flex-wrap:wrap;padding:.7rem 1rem}}.svc-meta{font-size:.8rem;color:var(--gray-600);margin:0 0 .6rem;overflow-wrap:anywhere}.svc-list{list-style:none;margin:0;padding:0;border:1px solid var(--gray-200);border-radius:10px;background:var(--white)}.svc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--gray-100);font-size:.86rem}.svc-row:last-child{border-bottom:none}.svc-dot{width:9px;height:9px;border-radius:50%;background:var(--gray-300)}.svc-row.current .svc-dot{background:var(--tone-service)}.svc-role{font-weight:600;color:var(--dark);min-width:0}.svc-row:not(.current) .svc-role{font-weight:500;color:var(--gray-700)}.svc-dates{font-size:.8rem;color:var(--gray-600);white-space:nowrap;font-variant-numeric:tabular-nums}.svc-row.current .svc-dates{color:var(--tone-service);font-weight:600}@media (max-width: 560px){.svc-row{grid-template-columns:auto minmax(0,1fr);row-gap:.1rem}.svc-dates{grid-column:2;white-space:normal}}.crew-sources{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .7rem;margin:.3rem 0 0;font-size:.74rem;color:var(--gray-600)}.crew-sources>.icon{margin-right:-.4rem}.crew-sources span{white-space:nowrap}.crew-sources span+span:before{content:"·";margin-right:.7rem;color:var(--gray-400)}.el-status{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem;margin-top:.25rem;font-size:.74rem;line-height:1.3}.el-status strong{font-weight:600}.el-status-ok{color:var(--success-fg, #11603f)}.el-status-wait{color:var(--warning-fg, #7c4a08)}.el-status-none{color:var(--gray-500)}.tb-person{cursor:pointer;transition:box-shadow .12s,transform .12s}.tb-person:hover,.tb-person:focus-visible{box-shadow:0 2px 8px #00000024!important;outline:none;transform:translateY(-1px)}#task-books{scroll-margin-top:76px}
