/* Crew settings use the application's typography and surfaces. */
#seafix-demo [data-team-tone="engine"]{--team-color:light-dark(#b14848,#e69c9c);--team-wash:light-dark(#fcf3f3,#38282b);--team-soft:light-dark(#f6e4e4,#4b3035)}
#seafix-demo [data-team-tone="deck"]{--team-color:light-dark(#4b7093,#9dbbdb);--team-wash:light-dark(#f2f6fa,#252f3e);--team-soft:light-dark(#e5edf5,#304055)}
#seafix-demo [data-team-tone="hotel"]{--team-color:light-dark(#906b36,#d2b383);--team-wash:light-dark(#fbf7f0,#342f27);--team-soft:light-dark(#f3eadb,#463c2c)}
#seafix-demo .sf-team-page,#seafix-demo #sf-crew-subgroups,#seafix-demo .sf-team-panel{--team-line:color-mix(in srgb,var(--sf-line) 65%,transparent);--team-muted:color-mix(in srgb,var(--sf-text) 62%,var(--sf-surface));--team-danger:light-dark(#a64d4d,#efb2b2);--team-danger-bg:light-dark(#fcf0ef,#482d31)}
#seafix-demo .sf-team-page .sf-screen-title{margin-bottom:24px}
#seafix-demo .sf-team-page .sf-screen-title h2{display:flex;flex-wrap:wrap;gap:6px}
#seafix-demo .sf-team-page #sf-admin-vessel-name{display:none}
#seafix-demo .sf-team-page .sf-screen-title p{color:var(--team-muted)}
#seafix-demo .sf-team-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--team-line)}
#seafix-demo .sf-team-nav button{display:inline-flex;align-items:center;gap:7px;padding:9px 10px;background:transparent;border:0;border-radius:7px;color:var(--team-muted);font:inherit;font-size:12px}
#seafix-demo .sf-team-nav button[aria-current="page"]{background:var(--sf-surface-raised);color:var(--sf-text);font-weight:500}
#seafix-demo .sf-team-nav svg{width:17px;height:17px}
#seafix-demo .sf-team-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--team-line,var(--sf-line));border-radius:8px;background:var(--sf-surface);color:var(--sf-text);font:inherit;font-size:12px;line-height:1.4;text-align:center;flex-shrink:0;cursor:pointer}
#seafix-demo .sf-team-button svg{width:17px;height:17px;flex-shrink:0}
#seafix-demo .sf-team-button.primary{background:var(--sf-text);color:var(--sf-surface);border-color:var(--sf-text)}
#seafix-demo .sf-team-button.danger{color:var(--team-danger);background:var(--team-danger-bg);border-color:transparent}
#seafix-demo .sf-team-button.icon{min-width:38px;padding:8px;border:0;background:transparent;color:var(--team-muted)}
#seafix-demo .sf-team-button:disabled,#seafix-demo .sf-team-head-button:disabled{opacity:.45;cursor:default}
#seafix-demo .sf-team-page .sf-crew-add{display:none}
#seafix-demo .sf-team-page .sf-section-head,#seafix-demo .sf-team-page .sf-crew-presence-help{display:none}
#seafix-demo .sf-team-page>.sf-screen-title.sf-team-heading{padding-right:0;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px 18px}
#seafix-demo .sf-team-heading-copy{flex:1 1 230px;min-width:0}
#seafix-demo .sf-team-heading .sf-team-top-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px;margin:3px 0 0 auto}
#seafix-demo .sf-team-top-actions .sf-team-button{white-space:nowrap}
@media(max-width:999px){#seafix-demo .sf-team-heading-copy{flex-basis:100%;padding-right:52px}#seafix-demo .sf-team-heading .sf-team-top-actions{flex-basis:100%;margin-top:0}}
#seafix-demo .sf-team-tabs{display:flex;gap:19px;flex-wrap:wrap;border-bottom:1px solid var(--team-line);margin-bottom:18px}
#seafix-demo .sf-team-tabs>button{display:flex;align-items:center;gap:7px;padding:0 1px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font:inherit;font-size:13px;color:var(--team-muted);cursor:pointer}
#seafix-demo .sf-team-tabs>button[aria-pressed="true"]{border-bottom-color:var(--sf-text);color:var(--sf-text);font-weight:500}
#seafix-demo .sf-team-tabs [data-team-tab-count],#seafix-demo .sf-team-count{display:inline-block;min-width:22px;padding:1px 6px;background:var(--sf-surface-raised);border-radius:5px;font-size:11px;text-align:center;font-style:normal;font-variant-numeric:tabular-nums}
#seafix-demo .sf-team-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
#seafix-demo .sf-team-search{position:relative;display:flex;align-items:center;flex:1;min-width:160px}
#seafix-demo .sf-team-search>svg{position:absolute;left:11px;width:16px;height:16px;color:var(--team-muted)}
#seafix-demo .sf-team-search input,#seafix-demo .sf-team-toolbar select,#seafix-demo .sf-team-field input,#seafix-demo .sf-team-field select{width:100%;min-width:0;min-height:40px;padding:9px 11px;background:var(--sf-surface);border:1px solid var(--team-line);border-radius:8px;color:var(--sf-text);font:inherit;font-size:13px}
#seafix-demo .sf-team-search input{padding-left:35px}
#seafix-demo .sf-team-toolbar select{width:auto;max-width:100%}
#seafix-demo .sf-team-page .sf-crew-groups,#seafix-demo .sf-team-list{display:block;overflow:hidden;border:1px solid var(--team-line);border-radius:11px}
#seafix-demo .sf-team-page .sf-crew-group{margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
#seafix-demo .sf-team-page .sf-crew-group+.sf-crew-group,#seafix-demo .sf-team-department+.sf-team-department{border-top:1px solid var(--team-line)}
#seafix-demo .sf-team-page .sf-crew-group-head,#seafix-demo .sf-team-button.department{width:100%;display:flex;align-items:center;gap:12px;padding:17px 16px;background:transparent;border:0;border-radius:0;text-align:left;color:var(--sf-text)}
#seafix-demo .sf-team-page .sf-crew-group-head[aria-expanded="true"],#seafix-demo .sf-team-button.department[aria-expanded="true"]{background:var(--team-wash)}
#seafix-demo .sf-team-page .sf-crew-group-head h3,#seafix-demo .sf-team-button.department strong{font-size:14px;font-weight:500;line-height:1.4;margin:0}
#seafix-demo .sf-team-page .sf-crew-group-head>span{display:inline-flex;width:25px;height:25px;padding:0;background:none;color:var(--team-color);border-radius:0}
#seafix-demo .sf-team-page .sf-crew-group-head em,#seafix-demo .sf-team-button.department .sf-team-count{margin-left:auto;padding:1px 6px;border-radius:5px;min-width:22px;font-size:11px;color:var(--team-color);background:var(--team-soft);white-space:nowrap}
#seafix-demo .sf-team-page .sf-crew-group-head .sf-crew-chevron,#seafix-demo .sf-team-button.department>svg:last-child{width:14px;height:14px;color:var(--team-muted)}
#seafix-demo .sf-team-symbol{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;color:var(--team-color,var(--sf-muted));background:none}
#seafix-demo .sf-team-symbol svg,#seafix-demo .sf-team-page .sf-crew-group-head>span svg{width:23px;height:23px;stroke-width:1.7;flex-shrink:0}
#seafix-demo .sf-team-person{display:flex;align-items:center;gap:11px;min-width:0;padding:15px 16px;border:0;border-top:1px solid var(--team-line);background:var(--sf-surface);border-radius:0}
#seafix-demo .sf-team-person:first-child{border-top:0}
#seafix-demo .sf-team-person-copy{flex:1;min-width:0}
#seafix-demo .sf-team-person-copy strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}
#seafix-demo .sf-team-person-copy small{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--team-muted);margin-top:3px;overflow-wrap:anywhere;line-height:1.5}
#seafix-demo .sf-team-person-copy .sf-team-symbol{width:14px;height:14px;flex-basis:14px}
#seafix-demo .sf-team-person-copy .sf-team-symbol svg{width:14px;height:14px}
#seafix-demo .sf-team-person .sf-avatar{position:relative;width:35px;height:35px;border-radius:50%;background:var(--sf-surface-raised);color:var(--team-muted);font-size:11px;flex-shrink:0}
#seafix-demo .sf-team-page .sf-crew-row.sf-team-person{display:grid;grid-template-columns:35px minmax(0,1fr) auto}
#seafix-demo .sf-team-person-copy small{flex-wrap:wrap}
#seafix-demo .sf-team-contract{white-space:nowrap}
#seafix-demo .sf-team-row-end{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:7px;flex-wrap:nowrap;margin-left:auto;max-width:100%}
#seafix-demo .sf-team-row-end .sf-team-button{white-space:nowrap}
#seafix-demo .sf-team-badge{font-size:11px;padding:3px 7px;border-radius:5px;background:var(--sf-surface-raised);color:var(--team-muted);white-space:nowrap}
#seafix-demo .sf-team-badge.good{background:light-dark(#eaf5ef,#233c33);color:light-dark(#28725e,#91d3b7)}
#seafix-demo .sf-team-badge.danger{color:var(--team-danger);background:var(--team-danger-bg)}
#seafix-demo .sf-team-empty{padding:24px 16px;margin:0;text-align:center;color:var(--team-muted);font-size:13px}
#seafix-demo .sf-team-summary{padding-top:13px;color:var(--team-muted);font-size:12px}
#seafix-demo .sf-team-positions-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;border-top:1px solid var(--team-line);padding:22px 0 0;margin-top:24px;background:transparent;color:var(--sf-text);font:inherit;text-align:left;cursor:pointer}
#seafix-demo .sf-team-positions-entry:is(:hover,:focus-visible) .sf-team-button{background:var(--sf-surface-raised)}
#seafix-demo .sf-team-positions-entry strong{display:block;font-size:13px;font-weight:500}
#seafix-demo .sf-team-positions-entry small{display:block;color:var(--team-muted);font-size:12px;margin-top:4px}
#seafix-demo .sf-team-message{font-size:13px;padding:11px 0;color:var(--team-muted)}
#seafix-demo .sf-team-message.is-error{color:var(--team-danger)}
#seafix-demo .sf-team-panel{position:fixed;inset:0;margin:auto;display:flex;flex-direction:column;width:460px;min-width:0;max-width:calc(100% - 32px);height:fit-content;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--team-line);border-radius:16px;background:var(--sf-surface);color:var(--sf-text);font:inherit;box-shadow:0 12px 50px light-dark(#15253b24,#0008);overflow:hidden;overscroll-behavior:contain}
#seafix-demo .sf-team-panel:not([open]){display:none}
#seafix-demo .sf-team-panel::backdrop{background:light-dark(#1b2c4433,#0008);backdrop-filter:blur(2px)}
#seafix-demo .sf-team-panel-head{display:flex;align-items:flex-start;gap:11px;flex-shrink:0;background:var(--sf-surface);border-bottom:1px solid var(--team-line);padding:21px 22px}
#seafix-demo .sf-team-panel-head>div{flex:1;min-width:0}
#seafix-demo .sf-team-panel-head h2{margin:0;font-size:17px;font-weight:500;line-height:1.4}
#seafix-demo .sf-team-panel-head p{margin:5px 0 0;font-size:12px;color:var(--team-muted);overflow-wrap:anywhere}
#seafix-demo .sf-team-panel-head>.sf-team-symbol{margin-top:2px}
#seafix-demo .sf-team-panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px}
#seafix-demo .sf-team-panel-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex-shrink:0;background:var(--sf-surface);padding:17px 22px;border-top:1px solid var(--team-line);z-index:1}
#seafix-demo .sf-team-field{display:flex;flex-direction:column;gap:6px;margin-bottom:17px;font-size:12px;font-weight:500}
#seafix-demo .sf-team-field input,#seafix-demo .sf-team-field select{font-weight:400}
#seafix-demo .sf-team-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--team-line);padding:19px 0;margin-top:20px}
#seafix-demo .sf-team-switch-row label{cursor:pointer;flex:1}
#seafix-demo .sf-team-switch-row strong{display:block;font-size:13px;font-weight:500}
#seafix-demo .sf-team-switch-row small{display:block;font-size:12px;color:var(--team-muted);margin-top:4px}
#seafix-demo .sf-team-switch{appearance:none;position:relative;width:40px;height:24px;border:0;border-radius:20px;background:var(--sf-surface-raised);box-shadow:inset 0 0 0 1px var(--team-line);flex-shrink:0;cursor:pointer;transition:background .15s}
#seafix-demo .sf-team-switch:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--sf-surface);box-shadow:0 1px 3px #0002;transition:transform .15s}
#seafix-demo .sf-team-switch:checked{background:var(--sf-text);box-shadow:none}
#seafix-demo .sf-team-switch:checked:before{transform:translateX(16px)}
#seafix-demo .sf-team-switch:disabled{opacity:.45;cursor:default}
#seafix-demo .sf-team-note{font-size:12px;color:var(--team-muted);background:var(--sf-surface-raised);padding:12px 14px;border-radius:8px;line-height:1.6;margin:12px 0}
#seafix-demo .sf-team-note.danger{background:var(--team-danger-bg);color:var(--team-danger)}
#seafix-demo .sf-team-access-context{display:flex;align-items:flex-start;flex-direction:column;gap:6px;padding-top:17px;border-top:1px solid var(--team-line);margin-top:16px;font-size:12px;color:var(--team-muted)}
#seafix-demo .sf-team-access-context strong{font-size:13px;font-weight:500;color:var(--sf-text)}
#seafix-demo .sf-team-remove{border-top:1px solid var(--team-line);padding-top:18px;margin-top:24px;font-size:12px;color:var(--team-muted)}
#seafix-demo .sf-team-remove summary{cursor:pointer;padding:8px 0}
#seafix-demo .sf-team-remove p{line-height:1.6;margin:8px 0 12px}
#seafix-demo .sf-team-discard{flex-shrink:0;padding:16px 22px;background:var(--sf-surface-raised);font-size:13px}
#seafix-demo .sf-team-discard>div{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
#seafix-demo .sf-team-access-section{margin-top:24px}
#seafix-demo .sf-team-access-section h3{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:13px;font-weight:500}
#seafix-demo .sf-team-permission-source{border-left:3px solid var(--team-color);padding:2px 0 2px 13px}
#seafix-demo .sf-team-permission-source strong{display:block;font-size:14px;font-weight:500}
#seafix-demo .sf-team-permission-source p{font-size:12px;color:var(--team-muted);line-height:1.6;margin:6px 0}
#seafix-demo .sf-team-rights{margin:22px 0 0}
#seafix-demo .sf-team-rights>div{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px;color:var(--team-muted)}
#seafix-demo .sf-team-rights svg{width:17px;height:17px;flex-shrink:0}
#seafix-demo .sf-team-rights .is-allowed{color:var(--sf-text)}
#seafix-demo .sf-team-rights .is-allowed svg{color:light-dark(#28725e,#91d3b7)}
#seafix-demo .sf-team-rights .is-denied svg{color:light-dark(#b14848,#e69c9c)}
#seafix-demo .sf-team-list-footer{padding:14px 16px;border-top:1px solid var(--team-line)}
#seafix-demo .sf-team-dept-tabs>button{padding:7px 5px 13px}
#seafix-demo .sf-team-dept-tabs>button[aria-pressed="true"]{border-bottom-color:var(--team-color);color:var(--team-color)}
#seafix-demo .sf-team-dept-short{display:none}
#seafix-demo .sf-team-subgroup{padding:20px 17px}
#seafix-demo .sf-team-bottom-actions{display:flex;justify-content:space-between;gap:8px;margin-top:18px}
#seafix-demo .sf-team-icon-preview{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--team-muted);padding:12px;border:1px solid var(--team-line);border-radius:8px;margin-bottom:22px}
#seafix-demo .sf-team-members{padding:0;margin:20px 0 0;border:0}
#seafix-demo .sf-team-members legend{font-size:13px;font-weight:500}
#seafix-demo .sf-team-member{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--team-line)}
#seafix-demo .sf-team-member>label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}
#seafix-demo .sf-team-member strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}
#seafix-demo .sf-team-member small{display:block;font-size:11px;color:var(--team-muted);line-height:1.6}
#seafix-demo .sf-team-member input{width:17px;height:17px;flex-shrink:0;accent-color:var(--sf-text)}
#seafix-demo .sf-team-head-button{display:flex;align-items:center;gap:5px;padding:8px;border:1px solid var(--team-line);border-radius:6px;background:var(--sf-surface);color:var(--team-muted);font:inherit;font-size:11px;cursor:pointer}
#seafix-demo .sf-team-head-button svg{width:14px;height:14px}
#seafix-demo .sf-team-head-button[aria-pressed="true"]{background:var(--sf-surface-raised);color:var(--sf-text)}
#seafix-demo .sf-team-panel #sf-user-form{padding:0;border:0;background:transparent;box-shadow:none}
#seafix-demo .sf-team-panel #sf-user-form .sf-primary-action{margin-top:20px}
#seafix-demo .sf-team-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){#seafix-demo .sf-team-person{flex-wrap:wrap}#seafix-demo .sf-team-page .sf-crew-row.sf-team-person{grid-template-columns:32px minmax(0,1fr)}#seafix-demo .sf-team-row-end{grid-column:1 / -1;gap:6px}#seafix-demo .sf-team-person-copy{min-width:100px}#seafix-demo .sf-team-toolbar .sf-team-search{flex-basis:100%}#seafix-demo .sf-team-toolbar>label:not(.sf-team-search){flex:1}#seafix-demo .sf-team-toolbar select{width:100%}#seafix-demo .sf-team-dept-long{display:none}#seafix-demo .sf-team-dept-short{display:inline}#seafix-demo .sf-team-nav{gap:4px}#seafix-demo .sf-team-nav button{padding:9px 7px;font-size:11px}#seafix-demo .sf-team-panel{width:460px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:14px}#seafix-demo .sf-team-panel-head{padding:18px 17px}#seafix-demo .sf-team-panel-body{padding:20px 17px}#seafix-demo .sf-team-panel-footer{padding:16px 17px}#seafix-demo .sf-team-field input,#seafix-demo .sf-team-field select,#seafix-demo .sf-team-search input{font-size:16px}#seafix-demo .sf-team-button,#seafix-demo .sf-team-head-button{min-height:44px}#seafix-demo .sf-team-tabs{gap:15px}#seafix-demo .sf-team-tabs>button{font-size:12px}#seafix-demo .sf-team-dept-tabs{gap:9px}#seafix-demo .sf-team-dept-tabs>button{gap:5px;padding-inline:2px}#seafix-demo .sf-team-dept-tabs .sf-team-symbol{width:20px;flex-basis:20px}#seafix-demo .sf-team-positions-entry{align-items:flex-start}#seafix-demo .sf-team-panel .sf-team-person{flex-wrap:nowrap}#seafix-demo .sf-team-panel .sf-team-person-copy{min-width:0}#seafix-demo .sf-team-subgroup{flex-wrap:nowrap}#seafix-demo .sf-team-subgroup .sf-team-person-copy{min-width:0}}
@media(prefers-reduced-motion:reduce){#seafix-demo .sf-team-switch,#seafix-demo .sf-team-switch:before{transition:none}}

#seafix-demo .sf-team-switch{box-sizing:border-box;padding:0;min-width:40px;max-width:40px;min-height:24px;background:#fff;border:1px solid #989ba2;appearance:none;-webkit-appearance:none}
#seafix-demo .sf-team-switch:before{left:2px;top:2px;background:#202124}
#seafix-demo .sf-team-switch:checked{background:#202124;border-color:#202124}
#seafix-demo .sf-team-switch:checked:before{background:#fff;transform:translateX(16px)}
#seafix-demo .sf-team-switch:focus-visible{outline:2px solid var(--sf-heading);outline-offset:3px}
