.chat-captain-button{padding:9px 12px;border:1px solid #dce8c2;border-radius:9px;background:#edf5db;color:#3d6439;font-size:12px;font-weight:800;white-space:nowrap}
.app-shell.mode-messages.chat-open{grid-template-rows:minmax(0,1fr)}
.app-shell.mode-messages.chat-open .main{min-height:0;overflow:hidden}
.chat-captain-button:hover{background:#e6f1ce}
.composer:has(.captain-mention-trigger:not([hidden])){position:relative}
.captain-mention-trigger{flex:none;display:grid;place-items:center;width:29px;height:29px;margin-bottom:1px;border:1px solid #c9dfbd;border-radius:9px;background:#eaf4e3;color:#376245;font-size:17px;font-weight:800}
.captain-mention-trigger:hover,.captain-mention-trigger:focus-visible{background:#d9eccd}
.captain-mention-trigger[hidden],.captain-mention-menu[hidden]{display:none!important}
.captain-mention-menu{position:absolute;z-index:5;left:27px;bottom:calc(100% - 1px);width:min(280px,calc(100% - 54px));padding:5px;border:1px solid #d4e4ca;border-radius:12px;background:#fff;box-shadow:0 12px 30px #1e402430}
.captain-mention-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:#285139;text-align:left;font-size:12px}
.captain-mention-menu button:hover,.captain-mention-menu button:focus-visible{background:#edf6e7}
.captain-mention-menu span{margin-left:auto;color:#77917a;font-size:10px}
.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:21px}
.composer-actions p{margin:0 2px 0 auto}
.captain-private-trigger{padding:4px 2px;border:0;background:none;color:#477653;font-size:11px;font-weight:700;white-space:nowrap}
.captain-private-trigger:hover,.captain-private-trigger:focus-visible{color:#204d38;text-decoration:underline}
.captain-private-trigger[hidden]{display:none!important}
.modal:has(.captain-private-chat){width:min(580px,100%);max-height:calc(100dvh - 40px);overflow:hidden}
.captain-private-chat{display:flex;flex-direction:column;min-height:0;height:min(560px,calc(100dvh - 155px))}
.captain-private-chat .modal-intro{margin-bottom:12px}
.captain-private-history{display:flex;flex:1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:14px;border:1px solid #e2ebdc;border-radius:12px;background:#f8faf6}
.captain-private-empty{margin:auto;color:#8a9e8c;font-size:12px;text-align:center;line-height:1.8}
.captain-private-message{max-width:85%;padding:10px 12px;border:1px solid #dce9d4;border-radius:12px;background:#fff;color:#2d4f38;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.captain-private-message.user{align-self:flex-end;border-color:#bedcac;background:#eaf5dc}
.captain-private-message.assistant{align-self:flex-start}
.captain-private-message small{display:block;margin-bottom:3px;color:#719174;font-size:10px;font-weight:800}
.captain-private-form{display:flex;gap:8px;align-items:flex-end;margin-top:12px}
.captain-private-form textarea{flex:1;min-width:0;min-height:48px;max-height:110px;padding:11px;border:1px solid #d7e6d0;border-radius:10px;resize:vertical;background:#fff;color:#284c37;font-size:13px}
.captain-private-form button{flex:none;padding:13px 15px;border:0;border-radius:10px;background:#28553b;color:#fff;font-size:12px;font-weight:800}
.captain-private-status{min-height:20px;margin:5px 0 0;color:#829583;font-size:10px}
.chat-captain-button[hidden],.chat-captain-banner[hidden]{display:none!important}
.chat-captain-banner{position:relative;z-index:2;display:flex;align-items:center;gap:12px;width:calc(100% - 44px);margin:12px 22px 3px;padding:13px 15px;border:1px solid #bcd6af;border-radius:15px;background:linear-gradient(130deg,#f7fbf0,#eaf5df);color:#315f3d;text-align:left;box-shadow:0 12px 24px #244b3226}
.chat-captain-banner:hover{background:linear-gradient(130deg,#f0f8e8,#dff0d4);box-shadow:0 14px 28px #244b3233}
.chat-captain-banner:focus-visible{outline:3px solid #8eb975;outline-offset:2px}
.captain-float-avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:#204d38;color:#e0f1b6;font-size:17px;font-weight:900}
.captain-float-content{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.captain-float-heading{display:flex;align-items:center;gap:9px}.captain-float-heading strong{color:#244b33;font-size:12px}.captain-float-heading em{padding:3px 7px;border-radius:99px;background:#d4eabe;color:#3b6e40;font-size:10px;font-style:normal;font-weight:800}
.captain-float-details{display:flex;gap:8px 20px;flex-wrap:wrap}.captain-float-details>span{display:flex;align-items:baseline;gap:6px;min-width:0;color:#729077;font-size:10px;white-space:nowrap}.captain-float-details b{overflow:hidden;color:#31593d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.captain-float-content small{color:#67866c;font-size:10px}.captain-float-action{flex:none;align-self:center;padding:7px 9px;border-radius:8px;background:#2b5c40;color:#eef8e5;font-size:10px;font-weight:800;white-space:nowrap}
.message-row.captain{max-width:min(90%,510px)}.message-row.captain .message-avatar{background:#234b38;color:#d6efaa;font-size:12px;font-weight:900}.message-row.captain .message-meta{color:#4f8158;font-weight:800}.message-row.captain .message-bubble{border:1px solid #d8e8c9;background:#f0f7e8;color:#294932;line-height:1.75}
.team-captain-card{display:grid;gap:12px;padding:16px;border:1px solid #dfe9d8;border-radius:13px;background:#f7faf2}
.team-captain-card>div{display:flex;justify-content:space-between;gap:10px;color:#769076;font-size:11px}.team-captain-card strong{max-width:66%;color:#2a533c;font-size:12px;text-align:right;overflow-wrap:anywhere}
.team-captain-confirmed{margin:14px 0 0;padding:11px 13px;border-radius:10px;background:#ebf5e5;color:#366543;font-size:12px;font-weight:800}
.team-captain-hint{margin:11px 0 0;color:#829583;font-size:11px;line-height:1.6}
.team-captain-form{margin-top:17px;padding-top:3px}.team-captain-form .modal-input{margin-bottom:2px}.team-captain-form .modal-action{margin-top:15px}
.team-captain-form select.modal-input{width:100%;appearance:auto}.team-publish{margin-top:12px;background:#c7ed73!important;color:#1d3828!important}
.team-captain-secondary{display:block;width:100%;margin-top:11px;padding:10px;border:1px solid #cdddc9;border-radius:9px;background:#fff;color:#4e7855;font-size:11px;font-weight:700}
.assistant-trip-draft{display:flex;flex-direction:column;gap:5px;margin-bottom:17px;padding:13px 15px;border:1px solid #d5e5c9;border-radius:12px;background:#f0f7e9}
.assistant-trip-draft span{color:#648361;font-size:10px;font-weight:800;letter-spacing:.03em}.assistant-trip-draft strong{color:#2b563d;font-size:15px}.assistant-trip-draft small{color:#698269;font-size:11px}
.modal:has(.team-plan-sheet){max-height:calc(100dvh - 40px);overflow-y:auto}
.team-plan-status{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px;padding:10px 12px;border-radius:10px;background:#e9f4df;color:#2d613d;font-size:11px;font-weight:800}
.team-plan-status strong{white-space:nowrap;font-size:11px}
.team-plan-vote,.team-plan-proposal{margin-top:16px;padding:14px;border:1px solid #dbe8d2;border-radius:12px;background:#fafcf7}
.team-plan-vote h3,.team-plan-proposal h3{margin:0;color:#2e563b;font-size:13px}.team-plan-vote p,.team-plan-proposal p{margin:8px 0 12px;color:#728775;font-size:11px;line-height:1.55}
.team-plan-vote>[data-plan-choice]{display:flex;flex-direction:column;gap:5px;width:100%;margin:7px 0;padding:10px 11px;border:1px solid #d4e2cd;border-radius:9px;background:#fff;color:#2f5539;text-align:left}.team-plan-vote>[data-plan-choice].selected{border-color:#6c9a66;background:#eaf5e4}
.team-plan-vote>[data-plan-choice] span{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800}.team-plan-vote>[data-plan-choice] b{color:#4b8052}.team-plan-vote>[data-plan-choice] small{font-size:10px;color:#738b75}
.team-plan-cancel{padding:0;border:0;background:none;color:#8a7468;font-size:10px;text-decoration:underline}
.team-plan-proposal>div{display:flex;align-items:center;gap:8px;margin-top:8px}.team-plan-proposal label{flex:none;width:70px;color:#637a66;font-size:10px}.team-plan-proposal input{min-width:0;flex:1;height:35px;padding:0 9px;border:1px solid #d4e2cd;border-radius:8px;background:#fff;color:#2f5539;font-size:11px}
.team-plan-proposal button[type=submit]{width:100%;margin-top:11px;padding:9px;border:0;border-radius:8px;background:#315f42;color:#fff;font-size:11px;font-weight:800}
.team-plan-leave{display:block;margin:13px auto 0;padding:7px 10px;border:0;background:none;color:#a06b61;font-size:11px;text-decoration:underline;cursor:pointer}.team-plan-leave:disabled{opacity:.5;cursor:wait}
@media(max-width:850px){.chat-header{gap:7px;padding-left:16px;padding-right:16px}.chat-captain-button,.chat-album-button{padding:8px;font-size:11px}}
@media(max-width:680px){.chat-captain-button{font-size:0}.chat-captain-button::after{content:'✦ Plan';font-size:11px}.chat-captain-banner{width:calc(100% - 24px);margin:9px 12px 3px;padding:10px 11px;gap:9px}.captain-float-avatar{width:31px;height:31px;font-size:14px}.captain-float-content{gap:5px}.captain-float-details{display:block}.captain-float-details>span{display:flex;margin-top:3px}.captain-float-action{align-self:flex-end;padding:6px;font-size:9px}.message-row.captain{max-width:95%}.modal:has(.team-plan-sheet){max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))}}
@media(max-width:680px){.captain-mention-menu{left:14px;width:min(280px,calc(100% - 28px))}}
@media(max-width:680px){.modal:has(.captain-private-chat){max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))}.captain-private-chat{height:calc(100dvh - 120px - env(safe-area-inset-bottom,0px))}.composer-actions p{font-size:9px}.captain-private-trigger{font-size:10px}}
