/* Scoped 0.2.0 design system. Quickview and review share one palette and controls. */
#portal.v020-active>.portal-layout{display:none}
body:has(#portal.v020-active)>footer{display:none}
#portal-v020{--panel:#10212c;--panel-deep:#0b1821;--border:#2d4656;--muted:#a9c2d0;--accent:#72d5f4;padding:0;max-width:none;color:#e0edf4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#portal-v020 h2,#portal-v020 h3,#portal-v020 h4{font-family:inherit;text-align:left}
#portal-v020 h2{font-size:23px;line-height:1.3;margin:0}
#portal-v020 h3{font-size:11px;letter-spacing:1.2px;color:#9bbfd2;margin:0 0 12px}
#portal-v020 h4{font-size:16px;margin:8px 0}
#portal-v020 p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
#portal-v020 button{font-size:12px;min-height:32px;border-color:var(--border);transition:background-color .12s,border-color .12s}
#portal-v020 button:hover{background:#1a3a4d;border-color:#5b8ba3}
#portal-v020 [aria-pressed=true]{background:#163b4e!important;color:#b1eaff!important;border-color:#69b9d5!important;box-shadow:inset 3px 0 #46c2ea}
#portal-v020 small,#portal-v020 .v020-muted{font-size:12px;color:var(--muted)}
#portal-v020 .v020-kicker{font-size:10px;letter-spacing:1.2px;color:#9ac7dc}
#portal-v020 .v020-banner{display:flex;align-items:center;gap:16px;padding:10px 18px;background:#142a37;border:1px solid var(--border);border-radius:8px;font-size:12px}
#portal-v020 .v020-banner span{color:var(--muted)}
#portal-v020 .v020-banner>button:last-child{margin-left:auto}
#portal-v020 .major-feature-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;border:0;padding:0;background:none}
#portal-v020 .major-feature-icon svg{width:20px;height:20px}
/* Quickview */
#portal-v020 .v020-feed-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 205px;gap:22px;max-width:1220px;margin:0 auto;padding:20px 0}
#portal-v020 nav.v020-feed-nav{display:block;position:sticky;top:14px;align-self:start;min-width:0}
#portal-v020 .v020-feed-nav>button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:9px;margin:3px 0;font-size:13px}
#portal-v020 .v020-feed-nav .major-feature-icon{width:18px;height:18px;flex-basis:18px}
#portal-v020 .v020-feed-check{display:flex;align-items:center;gap:8px;font-size:12px;margin:18px 8px}
#portal-v020 .v020-feed-check input{width:15px;height:15px;margin:0}
#portal-v020 main.v020-feed-main{padding:0;overflow:visible;min-width:0}
#portal-v020 .v020-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#portal-v020 .v020-feed-main>input{width:100%;box-sizing:border-box;font-size:13px;padding:10px 12px;margin:0}
#portal-v020 .v020-feed-post{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:16px 0;overflow:hidden}
#portal-v020 .v020-feed-post-heading{display:flex;align-items:center;gap:10px;padding:14px 16px}
#portal-v020 .v020-feed-post-heading>div{flex:1;min-width:0}
#portal-v020 .v020-feed-post-heading .major-feature-icon{width:34px;height:34px;flex-basis:34px;background:#1a3b4d;border-radius:8px}
#portal-v020 .v020-feed-post-heading h3{font-size:16px;letter-spacing:0;color:#e4eff5;margin:0 0 3px}
#portal-v020 .v020-feed-post-heading small{font-size:11px}
#portal-v020 .v020-feed-post-heading button{font-size:11px;padding:6px 10px}
#portal-v020 .v020-feed-brief{padding:0 16px;margin:0 0 14px;font-size:13px}
#portal-v020 .v020-feed-gallery{display:flex;justify-content:center;background:linear-gradient(125deg,#09151e,#173444);padding:12px}
#portal-v020 .v020-feed-image{padding:0;border:0;background:transparent;display:block;max-width:100%}
#portal-v020 .v020-feed-image img{max-width:100%;height:250px;object-fit:contain;display:block}
#portal-v020 .v020-feed-strip{display:flex;gap:7px;padding:10px 16px;overflow:auto}
#portal-v020 .v020-feed-strip button{padding:4px;flex-shrink:0;background:var(--panel-deep);border:1px solid var(--border)}
#portal-v020 .v020-feed-strip img{height:42px;width:32px;object-fit:contain;display:block}
#portal-v020 .v020-feed-caption{font-size:11px;color:var(--muted);padding:0 16px;margin:0 0 10px}
#portal-v020 .v020-feed-conversation{border-top:1px solid var(--border);padding:10px 16px}
#portal-v020 summary{cursor:pointer}
#portal-v020 .v020-feed-conversation summary{font-size:12px;color:#bad7e6}
#portal-v020 .v020-feed-comment{display:flex;gap:10px;margin:12px 0}
#portal-v020 .v020-feed-comment>div{min-width:0}
#portal-v020 .v020-feed-comment strong{font-size:12px}
#portal-v020 .v020-feed-comment p{font-size:13px;margin:3px 0}
#portal-v020 .v020-feed-comment small{font-size:11px}
#portal-v020 .v020-feed-composer{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid var(--border)}
#portal-v020 .v020-feed-composer textarea{flex:1;min-width:0;min-height:38px;height:38px;margin:0;font-size:13px;padding:8px;resize:vertical;box-sizing:border-box}
#portal-v020 .v020-feed-composer button{padding:6px 10px;background:#19556e}
#portal-v020 .v020-feed-composer p{flex-basis:100%;font-size:12px;margin:0;color:#abd9ee}
#portal-v020 .v020-feed-feedback .v020-feed-composer{flex:1;min-width:210px;padding:0;border:0}
#portal-v020 .v020-feed-side{position:sticky;top:14px;align-self:start;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:9px}
#portal-v020 .v020-feed-side>.crew-avatar{width:44px;height:44px}
#portal-v020 .v020-feed-side p{font-size:13px}
#portal-v020 .v020-feed-side button{width:100%;padding:7px 10px}
#portal-v020 hr{border:0;border-top:1px solid var(--border);margin:16px 0}
/* Design workspace */
#portal-v020 .v020-detail-layout{display:grid;grid-template-columns:185px minmax(0,1fr) 250px;min-height:600px;height:calc(100dvh - 220px);margin-top:16px;background:#0b151d;border:1px solid var(--border);border-radius:10px;overflow:hidden}
#portal-v020 nav.v020-channels{display:block;padding:18px 12px;overflow:auto;background:#0d1b25;border-right:1px solid var(--border)}
#portal-v020 .v020-channel-search{width:100%;box-sizing:border-box;font-size:12px;padding:9px;margin:4px 0 14px}
#portal-v020 .v020-group{border-bottom:1px solid var(--border);padding:8px 0}
#portal-v020 .v020-group summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:28px;font-size:13px}
#portal-v020 .v020-group summary::before{content:'›';color:#86aec5}
#portal-v020 .v020-group[open] summary::before{content:'⌄'}
#portal-v020 .v020-group .major-feature-icon{width:18px;height:18px;flex-basis:18px}
#portal-v020 .v020-group button{display:block;width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:8px 12px;margin:3px 0;font-size:13px;color:#bdd3e0}
#portal-v020 .v020-detail-layout>main{padding:18px;overflow:auto;min-width:0}
#portal-v020 .v020-channel-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
#portal-v020 .v020-design{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--panel)}
#portal-v020 .v020-design-heading{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:12px}
#portal-v020 .v020-design-heading>strong{margin-right:auto}
#portal-v020 .v020-design-heading button{padding:4px 9px}
#portal-v020 .v020-stage{display:flex;gap:18px;align-items:flex-start;padding:14px 16px;background:linear-gradient(125deg,#09151e,#173444)}
#portal-v020 .v020-large-image{width:35%;flex-shrink:0;display:flex;justify-content:center;border:0;background:transparent;padding:0}
#portal-v020 .v020-large-image img{height:220px;max-width:100%;object-fit:contain}
#portal-v020 .v020-screen-info{min-width:0;flex:1}
#portal-v020 .v020-screen-info p{font-size:13px;margin:7px 0}
#portal-v020 .v020-screen-info .v020-muted,#portal-v020 .v020-brief-detail{font-size:12px;color:var(--muted)}
#portal-v020 .v020-screen-info button{padding:7px 11px;background:#194359}
#portal-v020 .v020-thumbs{display:flex;overflow:auto;gap:8px;padding:10px 12px}
#portal-v020 .v020-thumbs button{position:relative;flex:0 0 46px;height:55px;padding:4px;background:var(--panel-deep);border:1px solid var(--border)}
#portal-v020 .v020-thumbs img{height:40px;max-width:100%;object-fit:contain}
#portal-v020 .v020-thumbs span{position:absolute;bottom:0;right:3px;font-size:10px;background:var(--panel-deep)}
#portal-v020 .v020-reactions{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border);flex-wrap:wrap}
#portal-v020 .v020-reaction-buttons{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}
#portal-v020 .v020-reaction-buttons button{padding:6px 10px}
#portal-v020 .v020-reaction-buttons span{font-size:10px;color:var(--muted)}
#portal-v020 .v020-discussion-heading{display:flex;align-items:center;gap:8px;margin:18px 0 12px}
#portal-v020 .v020-discussion-heading h3{margin:0 auto 0 0}
#portal-v020 .v020-discussion-heading button{padding:6px 10px}
#portal-v020 .v020-message{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
#portal-v020 .v020-message>div{min-width:0;flex:1}
#portal-v020 .v020-byline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#portal-v020 .v020-byline small{font-size:11px}
#portal-v020 .v020-message p{font-size:14px;margin:6px 0}
#portal-v020 .v020-avatar{width:34px;height:34px;object-fit:cover}
#portal-v020 .v020-empty,#portal-v020 .v020-feed-empty{padding:16px;color:var(--muted);font-size:13px;border:1px dashed var(--border);border-radius:8px}
#portal-v020 .v020-no-screen{padding:16px}
#portal-v020 .v020-compose{flex-basis:100%;padding:8px 0}
#portal-v020 .v020-compose textarea{width:100%;box-sizing:border-box;min-height:58px;border:1px solid var(--border);resize:vertical;margin:0;padding:10px;font-size:14px;background:#0e202b;color:#e2f0f8;border-radius:6px}
#portal-v020 .v020-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
#portal-v020 .v020-compose-bottom span{font-size:11px;color:var(--muted)}
#portal-v020 .v020-compose button{background:#19556e;padding:8px 14px}
#portal-v020 .v020-send-feedback{font-size:12px;margin:5px 0 0;color:#abd9ee}
#portal-v020 .v020-thread{margin-top:12px;background:#0c1b25;border-radius:7px;padding:10px}
#portal-v020 .v020-thread summary{font-size:12px;color:#9bd7ee}
#portal-v020 .v020-thread-reply{display:flex;gap:10px;margin-top:14px}
#portal-v020 .v020-thread-reply .crew-avatar{width:28px;height:28px}
#portal-v020 .v020-thread-form{margin-top:12px}
#portal-v020 .v020-thread-form textarea{width:100%;box-sizing:border-box;min-height:60px;margin:0 0 8px;font-size:13px}
#portal-v020 .v020-thread-form button{padding:7px 12px}
#portal-v020 .v020-thread-form p{font-size:12px;color:#abd9ee}
#portal-v020 .v020-review{display:block;padding:20px 16px;border-left:1px solid var(--border);background:#0d1b25;overflow:auto}
#portal-v020 .v020-review section{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--border)}
#portal-v020 .v020-review p{font-size:13px}
#portal-v020 .v020-review h3{line-height:1.6}
#portal-v020 .v020-review button{width:100%;margin-top:14px;padding:8px 10px}
#portal-v020 .v020-review small{display:block;margin-top:10px;font-size:11px}
#portal-v020 .v020-metric{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:18px;padding-bottom:9px;border-bottom:2px solid #28495c}
#portal-v020 .v020-metric strong{font-size:11px;color:#b5d9e9}
.v020-review-dialog{width:min(480px,90vw)}
.v020-review-dialog label{display:block;margin:16px 0}
.v020-review-dialog select{width:100%;display:block;margin-top:8px}
.v020-review-dialog button{margin:8px 8px 0 0}
@media(prefers-reduced-motion:reduce){#portal-v020 button{transition:none}}
@media(max-width:1100px){#portal-v020 .v020-feed-layout{grid-template-columns:150px minmax(0,1fr);gap:16px}#portal-v020 .v020-feed-side{display:none}}
@media(max-width:1000px){#portal-v020 .v020-detail-layout{grid-template-columns:150px minmax(0,1fr);height:auto}#portal-v020 .v020-review{grid-column:2}#portal-v020 .v020-detail-layout>main{overflow:visible}}
@media(max-width:650px){#portal-v020 .v020-banner{flex-wrap:wrap;padding:9px 12px;gap:10px}#portal-v020 .v020-banner span{display:none}#portal-v020 .v020-feed-layout{display:block;padding:12px 0}#portal-v020 nav.v020-feed-nav{position:static;display:flex;gap:5px;overflow:auto;padding-bottom:8px}#portal-v020 .v020-feed-nav>h3,#portal-v020 .v020-feed-check{display:none}#portal-v020 .v020-feed-nav>button{width:auto;flex-shrink:0;white-space:nowrap;min-height:44px}#portal-v020 .v020-feed-heading{display:block}#portal-v020 .v020-feed-post-heading{padding:12px}#portal-v020 .v020-feed-post-heading button{font-size:10px}#portal-v020 .v020-feed-image img{height:230px}#portal-v020 .v020-feed-feedback .v020-feed-composer{flex-basis:100%;min-width:0}#portal-v020 .v020-detail-layout{display:block;height:auto}#portal-v020 nav.v020-channels{max-height:190px}#portal-v020 .v020-detail-layout>main{padding:12px}#portal-v020 .v020-review{border-left:0;border-top:1px solid var(--border)}#portal-v020 .v020-stage{gap:12px;padding:12px}#portal-v020 .v020-large-image img{height:200px}#portal-v020 .v020-channel-heading{flex-wrap:wrap}#portal-v020 .v020-compose-bottom{flex-wrap:wrap}#portal-v020 .v020-reaction-buttons button{min-height:40px}}
#portal-v020 .v020-feed-composer{margin:0;align-items:center}#portal-v020 .v020-feed-composer p:empty{display:none}
/* A single compact design card and feedback row. */
#portal-v020 .v020-detail-layout .v020-stage{gap:20px;padding:14px 16px}
#portal-v020 .v020-image-panel{flex:0 0 155px;min-width:0}
#portal-v020 .v020-image-panel .v020-large-image{width:100%}
#portal-v020 .v020-image-panel .v020-large-image img{height:auto;max-height:210px;max-width:100%;width:auto}
#portal-v020 .v020-image-panel .v020-thumbs{padding:10px 0 0;gap:6px}
#portal-v020 .v020-thumbs button{flex-basis:40px;height:47px;padding:3px;min-height:0}
#portal-v020 .v020-thumbs img{height:33px}
#portal-v020 .v020-screen-info p{font-size:13px;line-height:1.5;margin:5px 0}
#portal-v020 .v020-screen-info hr{margin:10px 0}
#portal-v020 .v020-screen-info .v020-muted,#portal-v020 .v020-screen-info .v020-brief-detail{font-size:12px}
#portal-v020 .v020-detail-layout .v020-reactions{align-items:center;gap:8px;padding:10px 12px}
#portal-v020 .v020-detail-layout .v020-compose{display:flex;flex:1;flex-basis:auto;min-width:200px;flex-wrap:wrap;gap:7px;margin:0;padding:0;align-items:center}
#portal-v020 .v020-detail-layout .v020-compose select{width:78px;min-width:0;margin:0;padding:6px;font-size:12px;height:36px}
#portal-v020 .v020-detail-layout .v020-compose textarea{flex:1;min-width:90px;min-height:36px;height:36px;max-height:140px;padding:7px 9px;font-size:13px}
#portal-v020 .v020-detail-layout .v020-compose button{padding:6px 10px;min-height:36px}
#portal-v020 .v020-send-feedback{flex-basis:100%}
#portal-v020 .v020-send-feedback:empty{display:none}
#portal-v020 .v020-detail-layout .v020-empty{border:0;padding:3px 0;background:none;font-size:12px}
#portal-v020 .v020-discussion-heading{margin:14px 0 7px}
#portal-v020 .v020-important-button{color:#b8d3e2;white-space:nowrap;font-size:11px!important;padding:5px 8px}
#portal-v020 .v020-important-button[aria-pressed=true]{color:#f5d879!important;border-color:#b5a25e!important;background:#373423!important;box-shadow:none}
#portal-v020 .v020-feed-post-heading{flex-wrap:wrap}
@media(max-width:650px){#portal-v020 .v020-image-panel{flex-basis:110px}#portal-v020 .v020-image-panel .v020-large-image img{max-height:190px}#portal-v020 .v020-detail-layout .v020-compose{flex-basis:100%}#portal-v020 .v020-design-heading{flex-wrap:wrap}}

/* 0.2.0 workspace shell: reuses existing authorized workspaces. */
#portal>.v020-workspace-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:10px 18px;overflow-x:auto;background:#0b1821}
#portal>.v020-workspace-tabs[hidden]{display:none}
.v020-workspace-tabs button{white-space:nowrap;background:transparent;border:0;border-radius:0;padding:12px 18px;color:var(--muted)}
.v020-workspace-tabs button[aria-current=page]{color:#8be2fa;box-shadow:inset 0 -3px #4bc7e9}
.v020-workspace-tabs small{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:11px}
#portal.v020-active.v020-workspace>.portal-layout{display:grid}
#portal.v020-active.v020-workspace>.portal-layout>aside{display:none}
#portal.v020-active.v020-workspace>.portal-layout{grid-template-columns:minmax(0,1fr)}
#portal-v020 .v020-banner{background:none;border:0;padding:4px 0;min-height:0}
#portal-v020 .v020-banner>strong,#portal-v020 .v020-banner>span,#portal-v020 .v020-banner>button:last-child{display:none}
#portal-v020 .v020-crew-update{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}
#portal-v020 .v020-crew-update img{width:30px;height:30px;border-radius:50%}
#portal-v020 .v020-crew-update strong,#portal-v020 .v020-crew-update small{display:block;font-size:12px}
#portal-v020 .v020-crew-update small{font-size:10px;color:var(--muted);margin:4px 0}
#portal-v020 .v020-crew-update button{background:none;border:0;padding:3px 0;color:#8bd6ef;text-align:left;font-size:12px}
#portal-v020 .v020-crew-update p{font-size:12px;line-height:1.5;margin:5px 0}
.v020-workspace-tabs button{display:inline-flex;align-items:center;gap:9px}
.v020-workspace-tabs .major-feature-icon{display:inline-flex;width:18px;height:18px}
.v020-workspace-tabs .major-feature-icon svg{width:18px;height:18px}

/* Editorial refinement: match the approved maritime concept. */
#portal>.v020-workspace-tabs{position:relative;justify-content:center;padding:8px 115px;gap:12px;background:linear-gradient(180deg,#0b1b26,#0a1720);border-top:1px solid #203746}
.v020-workspace-tabs button{font-family:Georgia,'Times New Roman',serif;font-size:15px;padding:13px 17px;line-height:1.4;color:#c8d7e0}
.v020-workspace-tabs small{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;border:1px solid #29414f;padding:3px 8px;border-radius:5px}
body:has(#portal.v020-active) #account-menu-label{display:flex;align-items:center;gap:12px;font:14px Georgia,serif}
.v020-account-avatar{width:36px!important;height:36px!important;border-radius:50%;border:1px solid #7893a4;object-fit:cover}
#portal-v020 .v020-feed-layout{max-width:1440px;grid-template-columns:205px minmax(0,1fr) 265px;gap:20px;padding:18px 0}
#portal-v020 .v020-feed-heading{padding:3px 4px 15px;align-items:center;gap:24px;margin:0}
#portal-v020 .v020-feed-heading h2{font:600 31px/1.15 Georgia,'Times New Roman',serif;letter-spacing:.2px}
#portal-v020 .v020-feed-heading p{font:15px/1.5 Georgia,serif;margin:6px 0 0;color:#b5cbd9}
#portal-v020 .v020-feed-heading input{width:38%;max-width:330px;min-width:190px;margin:0;padding:10px 14px;font-size:13px;background:#102635;border:1px solid #345163;border-radius:7px}
#portal-v020 .v020-feed-post-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:600;letter-spacing:0}
#portal-v020 .v020-feed-side h4{font-family:Georgia,serif;font-size:18px}
#portal-v020 .v020-feed-main>p[role=status]{font-size:11px;margin:0 4px 12px;color:#94afbf}
@media(max-width:1200px){#portal>.v020-workspace-tabs{justify-content:flex-start;padding:8px 12px}.v020-workspace-tabs small{position:static;transform:none;margin-left:auto}#portal-v020 .v020-feed-layout{grid-template-columns:160px minmax(0,1fr) 230px}}
@media(max-width:1000px){#portal-v020 .v020-feed-layout{grid-template-columns:150px minmax(0,1fr)}#portal-v020 .v020-feed-side{display:none}#portal-v020 .v020-feed-heading{flex-wrap:wrap}#portal-v020 .v020-feed-heading input{width:100%;max-width:none}}
@media(max-width:650px){#portal-v020 .v020-feed-layout{display:block}#portal-v020 .v020-feed-heading h2{font-size:27px}.v020-workspace-tabs button{font-size:14px;padding:10px 12px}#portal>.v020-workspace-tabs{gap:0}.v020-workspace-tabs small{display:none}}
/* Unified Crew workspace, preview only. */
#portal.v020-active #crew{max-width:1320px;width:100%;margin:0 auto;padding:24px 28px;background:#0b1821;border:1px solid #29414f;border-radius:10px}
#portal.v020-active #crew>h2{font:600 30px Georgia,serif;margin:0 0 18px}
#portal.v020-active #crew-management-tabs{display:flex;gap:8px;border-bottom:1px solid #29414f;margin-bottom:24px;padding-bottom:12px}
#portal.v020-active #crew-management-tabs button{font-size:14px;border:0;background:transparent;color:#adc4d2}
#portal.v020-active #crew-management-tabs button[aria-pressed=true]{background:#163b4e;color:#b1eaff;box-shadow:inset 0 -2px #72d5f4}
#portal.v020-active #crew .inquiry-workspace{grid-template-columns:260px minmax(0,1fr);gap:24px}
#portal.v020-active #crew-request-detail{padding:20px;background:#10212c;border:1px solid #29414f;border-radius:9px}
#portal.v020-active #crew-request-detail:empty{display:none}
#portal.v020-active #permissions>h2{font:600 23px Georgia,serif;margin-bottom:14px}
#portal.v020-active #v020-member-picker{max-width:650px;margin:0 0 18px;font-size:13px}
#portal.v020-active #permissions .permission-row{max-width:none;background:#10212c;border:1px solid #29414f;border-radius:9px;padding:20px;gap:16px}
#portal.v020-active #permissions .permission-row>details{margin:0}
#portal.v020-active #permissions .permission-row fieldset{background:#0b1821}
#portal.v020-active #permissions .permission-row>button{font-size:13px;padding:10px 20px;background:#185168}
#portal.v020-active #crew form label{margin:12px 0;font-size:13px}
#portal.v020-active #crew .capability-choice{margin:0;min-width:0}
@media(max-width:700px){#portal.v020-active #crew{padding:16px}#portal.v020-active #crew .inquiry-workspace{grid-template-columns:minmax(0,1fr)}#portal.v020-active #crew-management-tabs{flex-wrap:wrap}}
#portal.v020-active #permissions .permission-row>details[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#portal.v020-active #permissions .permission-row>details>summary,#portal.v020-active #permissions .permission-row>details>small{grid-column:1/-1}
#portal.v020-active #permissions .permission-row fieldset{margin:0;grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}
#portal.v020-active #v020-membership-actions{margin-top:18px;padding:12px;border-top:1px solid #29414f;font-size:13px}
@media(max-width:760px){#portal.v020-active #permissions .permission-row>details[open]{grid-template-columns:minmax(0,1fr)}}
#portal-v020 .v020-thought-composer{background:#102635;border:1px solid #345163;border-radius:9px;padding:14px;margin:0 0 18px}
#portal-v020 .v020-thought-composer summary{display:flex;align-items:center;gap:12px;cursor:pointer;font:18px Georgia,serif}
#portal-v020 .v020-thought-composer form{margin:16px 0 0}#portal-v020 .v020-thought-composer label{font-size:13px;margin:12px 0}
#portal-v020 .v020-thought-composer textarea{width:100%;font-size:14px}#portal-v020 .v020-thought-composer button{background:#18516a;padding:10px 22px}
#portal-v020 .v020-post-menu{position:relative}#portal-v020 .v020-post-menu summary{list-style:none;font-size:20px;cursor:pointer;padding:0 8px}#portal-v020 .v020-post-menu button{position:absolute;right:0;top:30px;z-index:3;white-space:nowrap;background:#183646}
#portal-v020 .v020-thought-post{padding:18px}#portal-v020 .v020-thought-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#portal-v020 .v020-thought-head img{width:32px;height:32px;border-radius:50%}#portal-v020 .v020-thought-reason{font-size:11px;color:#8bd6ef;border:1px solid #345163;border-radius:15px;padding:2px 10px}#portal-v020 .v020-thought-image{max-width:100%;max-height:280px;object-fit:contain}#portal-v020 .v020-thought-post .v020-feed-composer{display:flex;gap:8px}#portal-v020 .v020-thought-post textarea{flex:1;font-size:13px}
#portal-v020 .v020-thought-composer form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}
#portal-v020 .v020-thought-composer form>label:first-child,#portal-v020 .v020-thought-composer form>input,#portal-v020 .v020-thought-composer form>textarea,#portal-v020 .v020-thought-composer form>p{grid-column:1/-1}
#portal-v020 .v020-thought-composer form>label{margin:0}
#portal-v020 .v020-thought-composer form>label:has(input[type=file]){font-size:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#portal-v020 .v020-thought-composer input[type=file]{width:230px;max-width:100%;padding:0;border:0;background:none;margin:0;font-size:12px}
#portal-v020 .v020-thought-composer form>button{justify-self:end}
#portal-v020 .v020-thought-composer p:empty{display:none}
/* Chart Room is a conversation hub, with a separate screen shelf. */
#portal-v020 .v020-screen-shelf{margin:0 0 20px;min-width:0}
#portal-v020 .v020-shelf-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
#portal-v020 .v020-shelf-heading h3{margin:0;font-size:12px}
#portal-v020 .v020-screen-shelf-strip{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;padding:3px 0 10px;scroll-snap-type:x proximity}
#portal-v020 .v020-screen-shelf-strip>button{flex:0 0 112px;min-width:0;height:174px;padding:8px;display:flex;flex-direction:column;gap:5px;align-items:center;scroll-snap-align:start;background:#10212c;overflow:hidden;text-align:left}
#portal-v020 .v020-screen-shelf-strip img{width:100%;height:108px;object-fit:contain}
#portal-v020 .v020-screen-shelf-strip strong{font-size:11px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#portal-v020 .v020-screen-shelf-strip small{font-size:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%;line-height:1.3}
#portal-v020 .v020-feed-image img{max-height:190px;height:190px;max-width:100%;object-fit:contain}
#portal-v020 .v020-feed-brief{display:none}
#portal-v020 .v020-mobile-tools{display:none}
#portal-v020 .v020-mobile-sheet{width:min(430px,calc(100% - 24px));max-height:85dvh;background:#0b1821;color:#dfebf2;border:1px solid #345163;border-radius:12px;padding:18px;overflow-y:auto}
#portal-v020 .v020-mobile-sheet::backdrop{background:#0009}
#portal-v020 .v020-mobile-sheet nav,#portal-v020 .v020-mobile-sheet aside{display:block!important;position:static;max-height:none;width:100%;margin-top:16px}
#portal-v020 .v020-mobile-sheet nav>button{display:flex;width:100%;min-height:44px;margin:5px 0;align-items:center;gap:10px}
@media(max-width:760px){
 body:has(#portal.v020-active){overflow-x:hidden}
 body:has(#portal.v020-active)>header{padding:10px 12px;gap:8px}
 body:has(#portal.v020-active) .brand{font-size:15px;gap:6px;letter-spacing:1px}
 body:has(#portal.v020-active) .brand .brand-bridge{display:none}
 body:has(#portal.v020-active) .brand img{width:32px;height:32px}
 body:has(#portal.v020-active) .brand small{font-size:8px;letter-spacing:1px}
 body:has(#portal.v020-active) #account-controls{gap:8px}
 body:has(#portal.v020-active) #account-menu-label{font-size:0;gap:0}
 body:has(#portal.v020-active) #crew-update-bell{padding:8px;font-size:12px}
 #portal.v020-active{padding:0 10px;max-width:100%;min-width:0}
 #portal>.v020-workspace-tabs{padding:2px 0;gap:0;max-width:100%;scrollbar-width:thin}
 .v020-workspace-tabs button{min-height:44px;padding:10px 13px;flex-shrink:0}
 #portal-v020 .v020-feed-layout{display:block;max-width:100%;padding:14px 0}
 #portal-v020 nav.v020-feed-nav,#portal-v020 .v020-feed-side{display:none}
 #portal-v020 .v020-mobile-tools{display:flex;gap:8px;margin:0 0 12px}
 #portal-v020 .v020-mobile-tools button{min-height:44px;flex:1}
 #portal-v020 .v020-feed-heading{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 12px}
 #portal-v020 .v020-feed-heading h2{font-size:26px}
 #portal-v020 .v020-feed-heading p{font-size:13px;margin-top:4px}
 #portal-v020 .v020-feed-heading input{width:100%;min-width:0;font-size:16px;padding:9px 12px}
 #portal-v020 .v020-thought-composer{padding:12px;margin-bottom:14px}
 #portal-v020 input,#portal-v020 textarea,#portal-v020 select{font-size:16px!important;min-width:0;max-width:100%}
 #portal-v020 .v020-feed-post{min-width:0;overflow-wrap:anywhere}
 #portal-v020 .v020-feed-post-heading{gap:7px;padding:12px;flex-wrap:wrap}
 #portal-v020 .v020-feed-post-heading h3{font-size:18px}
 #portal-v020 button,#portal-v020 summary{min-height:44px}
 #portal-v020 .v020-feed-feedback{padding:10px;gap:8px;flex-wrap:wrap}
 #portal-v020 .v020-feed-composer{display:flex;flex-wrap:wrap;width:100%;min-width:0}
 #portal-v020 .v020-feed-composer textarea{flex:1 1 180px;width:100%;min-width:0}
 #portal-v020 .v020-feed-conversation{padding:10px}
 #portal-v020 .v020-feed-comment p,#portal-v020 .v020-thought-post>p{font-size:15px;line-height:1.6}
 #portal-v020 .v020-thought-head{gap:7px}
 #portal-v020 .v020-thought-post{padding:13px}
}
@media(max-width:760px){
 #portal-v020 .v020-detail-layout{display:block;height:auto;min-width:0}
 #portal-v020 .v020-detail-layout>.v020-channels{display:none}
 #portal-v020 .v020-detail-layout>main{padding:12px 0;min-width:0}
 #portal-v020 .v020-stage{flex-wrap:wrap;padding:12px}
 #portal-v020 .v020-screen-info{min-width:0;flex:1 1 170px}
 #portal-v020 .v020-design-heading{flex-wrap:wrap;gap:7px}
 #portal-v020 .v020-reactions{flex-wrap:wrap}
 #portal-v020 .v020-compose{flex-wrap:wrap;min-width:0;width:100%}
 #portal-v020 .v020-compose textarea{flex:1 1 180px;min-width:0}
 #portal-v020 .v020-review{border-left:0;border-top:1px solid #29414f;padding:16px 0}
}
#portal-v020 .v020-open-design{font-size:23px;line-height:1;min-width:44px;min-height:44px;padding:8px;background:transparent;border:0}
#portal-v020 .v020-post-reactions{display:flex;gap:8px;padding:10px 14px}
#portal-v020 button.v020-thumb{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px}
#portal-v020 .v020-thumb-icon{display:inline-flex;width:19px;height:19px}
#portal-v020 .v020-thumb-icon.down{transform:rotate(180deg)}
#portal-v020 .v020-thumb-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#portal-v020 .v020-thumb[aria-pressed=true] .v020-thumb-icon svg{fill:currentColor}
@media(max-width:760px){#portal-v020 button.v020-thumb{min-height:44px}}
/* Design review stays inside the current Chart Room shell. */
#portal-v020 .v020-detail-layout{max-width:1440px;margin:18px auto 0;grid-template-columns:205px minmax(0,1fr) 265px;background:#0b1821;height:auto;min-height:0;overflow:visible}
#portal-v020 .v020-detail-layout>main{overflow:visible;padding:16px;min-width:0}
#portal-v020 .v020-channel-heading h2{font:600 26px Georgia,serif}
#portal-v020 .v020-design-heading{display:flex;align-items:center;gap:10px}
#portal-v020 .v020-return-to-feed{margin-right:8px;white-space:nowrap;border:0;background:transparent;color:#8bd6ef;min-height:40px;padding:7px 8px}
#portal-v020 .v020-design-heading>strong{font-family:Georgia,serif;font-size:16px}
@media(max-width:1000px){#portal-v020 .v020-detail-layout{grid-template-columns:150px minmax(0,1fr)}#portal-v020 .v020-review{grid-column:2}}
@media(max-width:760px){#portal-v020 .v020-detail-layout{display:block;margin-top:14px}#portal-v020 .v020-detail-layout>main{padding:0}#portal-v020 .v020-design-heading{flex-wrap:wrap}#portal-v020 .v020-return-to-feed{min-height:44px}}
/* Authoritative portal frame. Workspace content never changes its column geometry. */
#portal.v020-active{--portal-columns:205px minmax(0,1fr) 265px;--portal-gap:20px;--portal-width:1440px;--portal-space:18px;--portal-panel:#10212c;--portal-line:#2d4656}
#portal-v020 .v020-feed-layout,#portal-v020 .v020-detail-layout,#portal.v020-active.v020-workspace>.portal-layout{display:grid;grid-template-columns:var(--portal-columns);gap:var(--portal-gap);max-width:var(--portal-width);width:100%;margin:var(--portal-space) auto 0;padding:0;border:0;border-radius:0;background:transparent;min-height:0;height:auto;overflow:visible;align-items:start}
#portal-v020 .v020-feed-layout>main,#portal-v020 .v020-detail-layout>main{margin:0;padding:0;min-width:0;background:transparent}
#portal-v020 .v020-feed-nav,#portal-v020 nav.v020-channels{margin:0;padding:0;background:transparent;border:0;align-self:start;position:sticky;top:14px;overflow:visible}
#portal-v020 .v020-feed-side,#portal-v020 .v020-review,#portal.v020-active .v020-context-right{margin:0;padding:16px;background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:9px;min-width:0;align-self:start}
#portal-v020 .v020-channel-heading{min-height:76px;margin:0 0 12px;align-items:center}
#portal-v020 .v020-channel-heading h2,#portal-v020 .v020-feed-heading h2{font:600 31px/1.15 Georgia,serif}
#portal-v020 .v020-group{border:0;padding:5px 0}
#portal-v020 .v020-group summary{min-height:44px;font-size:13px}
#portal-v020 .v020-group button{min-height:40px;font-size:13px}
#portal.v020-active.v020-workspace>.portal-layout>aside:first-child,#portal.v020-active.v020-workspace #discussion-rail,#portal.v020-active.v020-workspace #feature-reference-panel{display:none!important}
#portal.v020-active.v020-workspace>.portal-layout>.v020-context-left{display:block!important;grid-column:1;grid-row:1;padding:0;background:transparent;border:0;position:sticky;top:14px}
#portal.v020-active.v020-workspace>.portal-layout>.v020-context-right{display:block!important;grid-column:3;grid-row:1}
#portal.v020-active.v020-workspace>.portal-layout>:not(aside):not(#discussion-rail):not(#feature-reference-panel){grid-column:2;grid-row:1;min-width:0;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent}
#portal.v020-active .v020-context-left h3,#portal.v020-active .v020-context-right h3{font:11px/1.5 -apple-system,sans-serif;letter-spacing:1.2px;color:#9bbfd2;margin:0 0 12px}
#portal.v020-active .v020-context-left h4,#portal.v020-active .v020-context-right h4{font:600 18px Georgia,serif;margin:10px 0}
#portal.v020-active .v020-context-left p,#portal.v020-active .v020-context-right p{font-size:13px;line-height:1.6;color:#a9c2d0}
#portal.v020-active .v020-context-left button{width:100%;text-align:left;min-height:44px;font-size:13px}
#portal.v020-active .v020-context-right .crew-avatar{width:36px;height:36px;border-radius:50%}
#portal.v020-active.v020-workspace .portal-layout h2{font:600 31px/1.15 Georgia,serif;margin:0 0 18px}
#portal.v020-active.v020-workspace .inquiry-workspace,#portal.v020-active.v020-workspace .signal-workspace,#portal.v020-active.v020-workspace .signal-post-columns{grid-template-columns:minmax(0,1fr)}
@media(min-width:761px){#portal-v020 .v020-feed-side,#portal-v020 .v020-detail-layout>.v020-review{display:block}}
@media(max-width:1200px) and (min-width:761px){#portal.v020-active{--portal-columns:165px minmax(0,1fr) 230px;--portal-gap:16px}}
@media(max-width:760px){
 #portal-v020 .v020-feed-layout,#portal-v020 .v020-detail-layout,#portal.v020-active.v020-workspace>.portal-layout{display:block;margin-top:14px}
 #portal-v020 nav.v020-feed-nav,#portal-v020 nav.v020-channels,#portal-v020 .v020-feed-side,#portal.v020-active.v020-workspace>.portal-layout>.v020-context-left,#portal.v020-active.v020-workspace>.portal-layout>.v020-context-right{display:none!important}
 #portal-v020 .v020-detail-layout>.v020-review{margin-top:16px}
 #portal-v020 .v020-mobile-sheet nav,#portal-v020 .v020-mobile-sheet aside{display:block!important}
 #portal-v020 .v020-channel-heading h2,#portal-v020 .v020-feed-heading h2,#portal.v020-active.v020-workspace .portal-layout h2{font-size:26px}
}
#portal-v020>.v020-banner{display:none}
/* Chart Room screen shelf: image-only tiles. */
#portal-v020 .v020-screen-shelf-strip>button{padding:0;gap:0;height:174px;flex-basis:112px;overflow:hidden;border-radius:9px}
#portal-v020 .v020-screen-shelf-strip img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
