.new-chat-page{flex-direction:column;flex:1;min-height:0;display:flex}.action-list{border-bottom:1px solid #eee}.action-item{cursor:pointer;align-items:center;gap:12px;padding:16px;transition:background .2s;display:flex}.action-item:hover{background:#f5f5f5}.action-item span{flex:1;font-weight:500}.action-item svg:last-child{color:#999}.group-name-input{padding:12px 16px}.group-name-input input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:15px}.group-name-input input:focus{border-color:#999}.group-name-label{color:#555;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.group-name-label svg{color:#777}.user-list{background:#fff;flex:1;overflow-y:auto}.user-item{cursor:pointer;border-bottom:1px solid #f2f2f2;align-items:center;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.user-item:hover{background:#f5f5f5}.user-info{flex:1}.user-name{font-weight:500}.user-avatar{color:#fff;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:600;display:flex}.user-item svg{color:#999}.empty-state{color:#999;justify-content:center;align-items:center;height:100%;display:flex}.selected-users{flex-wrap:wrap;gap:8px;padding:8px 16px;display:flex}.selected-chip{background:#f1f1f1;border-radius:16px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:flex}.selected-chip button{cursor:pointer;color:#777;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.selected-chip button:hover{color:#333}.bottom-nav{background:#fff;border-top:1px solid #eee;flex-shrink:0;height:64px;display:flex}.bottom-nav button{color:#999;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;transition:color .2s,background-color .2s;display:flex}.bottom-nav button:hover{background:#f5f5f5}.bottom-nav button.active{color:#4caf50}.bottom-nav svg{width:22px;height:22px}.bottom-nav span{font-size:12px}.chat-content{flex-direction:column;flex:1;min-height:0;display:flex}.messages-container{flex:1;min-height:0;padding:12px;overflow-y:auto}.message-wrapper{flex-direction:column;width:100%;margin-bottom:12px;display:flex}.message-wrapper.mine{align-items:flex-end}.message-wrapper.other{align-items:flex-start}.message-bubble{word-break:break-word;border-radius:14px;max-width:80%;padding:10px 14px}.message-wrapper.mine .message-bubble{background:#d9fdd3}.message-wrapper.other .message-bubble{background:#f1f1f1}.message-wrapper small{color:#777;margin-bottom:4px;font-size:12px}.chat-input{background-color:#fff;border-top:1px solid #ddd;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-input input{border:1px solid #ddd;border-radius:9999px;outline:none;flex:1;padding:10px 16px;font-size:1rem;transition:border-color .2s}.chat-input input:focus{border-color:#4caf50}.chat-input button{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:9999px;padding:10px 18px;transition:background-color .2s}.chat-input button:hover{background-color:#43a047}.message-meta{align-items:center;gap:8px;display:flex}.system-message{text-align:center;color:#8c8c8c;margin:16px 0;font-size:13px;line-height:1.4}.unread-divider{color:#888;align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.unread-divider:before,.unread-divider:after{content:"";background:#ddd;flex:1;height:1px}.unread-divider span{white-space:nowrap}.chat-list{flex-direction:column;height:100%;display:flex}.chat-list-content{flex:1;min-height:0;overflow-y:auto}.chat-list-header{background:#fff;border-bottom:1px solid #ddd;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-list-header button{color:#fff;background:#4caf50}.chat-list-header button:hover{background:#43a047}.chat-item{cursor:pointer;border-bottom:1px solid #eee;padding:12px;transition:background-color .2s}.chat-item-header{justify-content:space-between;align-items:center;display:flex}.chat-item:hover{background-color:#f5f5f5}.chat-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.chat-time{color:#888;flex-shrink:0;margin-left:8px;font-size:.8rem}.chat-preview{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.9rem;overflow:hidden}.unread-badge{color:#fff;background:#4caf50;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:12px;display:flex}.chat-item.unread .chat-name{font-weight:800}.chat-item.unread .chat-preview{color:#555;font-weight:800}.group-info-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:hidden}.group-profile{flex-direction:column;align-items:center;padding:24px 16px;display:flex}.group-avatar{color:#fff;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:12px;display:flex}.group-title{justify-content:center;align-items:center;gap:8px;width:100%;max-width:100%;padding:0 16px;display:flex}.group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:calc(100% - 40px);margin:0;overflow:hidden}.rename-input{border:1px solid #ddd;border-radius:8px;flex:1;width:100%;min-width:0;max-width:280px;padding:8px 12px;font-size:18px}.group-profile h2{margin:0}.group-actions{padding:0 16px}.rename-section{gap:8px;display:flex}.rename-section input{border:1px solid #ddd;border-radius:8px;flex:1;padding:12px}.members-section{flex:1;padding:16px;overflow-y:auto}.members-section h3{margin-bottom:12px}.member-item{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:12px 0;display:flex}.member-avatar{background:#ddd;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:600;display:flex}.member-info{flex-direction:column;flex:1;display:flex}.member-name{font-weight:500}.member-role{color:#999;font-size:12px}.remove-button{color:#e53935;cursor:pointer;background:0 0;border:none}.remove-button:disabled{color:#ccc;cursor:not-allowed}.group-info-page .add-member-button{width:calc(100% - 32px);margin:16px auto}.add-member-page{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.profile-page{flex-direction:column;flex:1;min-height:0;display:flex}.profile-content{flex-direction:column;flex:1;align-items:center;min-height:0;padding:32px 16px;display:flex}.profile-avatar{color:#fff;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:16px;font-size:36px;font-weight:600;display:flex}.profile-content h2{margin:0;font-size:22px}.profile-info{border-top:1px solid #eee;width:100%;margin-top:32px;margin-bottom:24px}.profile-item{border-bottom:1px solid #eee;padding:16px}.profile-item label{color:#999;margin-bottom:6px;font-size:13px;display:block}.profile-item p{margin:0;font-size:16px}.status-item{border-bottom:1px solid #eee;padding:16px}.status-header{justify-content:space-between;align-items:center;display:flex}.status-header strong{font-size:16px}.driver-status{color:#555;font-size:14px}.vehicle-id{color:#999;margin-top:6px;font-size:13px;display:block}.main-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main-content>*{flex:1;min-width:0}.chat-container,.chat-window,.status-page{flex-direction:column;flex:1;min-height:0;display:flex}html{font-size:14px}body{color:#333;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1}.page-header{background:#fff;border-bottom:1px solid #e5e5e5;flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex}.page-header h1,.page-header h2{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.page-header-actions{align-items:center;gap:8px;display:flex}.icon-button{color:#444;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background-color .2s,color .2s;display:flex}.icon-button:hover{background:#f5f5f5}.icon-button:active{background:#e8e8e8}.icon-button svg{width:20px;height:20px}.primary-button{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:10px;width:100%;padding:14px 16px;font-size:16px;font-weight:600;transition:opacity .2s}.primary-button:hover{opacity:.9}.primary-button:disabled{color:#999;cursor:not-allowed;background:#ddd}.cancel-button,.danger-button,.logout-button{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-button{color:#333;background:#eee}.cancel-button:hover{background:#f5f5f5}.danger-button{color:#fff;background:#e53935}.danger-button:hover{background:#d32f2f}.bottom-actions{background:#fff;border-top:1px solid #eee;flex-shrink:0;margin-top:auto;padding:16px}.bottom-actions button{width:100%}.page-search{background:#fff;border-bottom:1px solid #eee;flex-shrink:0;padding:0 16px}.page-search input{border:1px solid #ddd;border-radius:999px;outline:none;width:100%;padding:10px 14px;font-size:.95rem}.page-search input:focus{border-color:#4caf50}.search-box{border-bottom:1px solid #ddd;align-items:center;width:100%;padding:12px 0;display:flex}.search-box input{border:none;outline:none;flex:1;font-size:15px}.search-box input::placeholder{color:#999}.search-box svg{color:#999;margin-right:8px}.no-users{text-align:center;color:#999;padding:30px 0;font-size:14px}.modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px}.confirm-modal{width:min(360px,100% - 32px);padding:24px}.confirm-modal h3{margin:0 0 12px}.confirm-modal p{margin:0}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.status-modal{width:320px;max-width:calc(100% - 32px);overflow:hidden}.status-modal h3{border-bottom:1px solid #eee;margin:0;padding:16px}.status-option{text-align:left;cursor:pointer;background:#fff;border:none;width:100%;padding:16px}.status-option:last-child{border-bottom:none}.status-option:hover{background:#f5f5f5}.cancel-button{cursor:pointer;background:#fff;border:none;border-top:1px solid #eee;width:100%;padding:16px}.vehicle-modal{background:#fff;border-radius:12px;width:320px;max-width:calc(100% - 32px);padding:24px}.vehicle-modal h3{margin:0 0 20px}.vehicle-input{align-items:center;gap:12px;display:flex}.vehicle-input span{font-size:16px;font-weight:500}.vehicle-input input{border:1px solid #ddd;border-radius:8px;flex:1;padding:8px 12px;font-size:16px}.modal-cancel-button,.modal-primary-button{cursor:pointer;border:none;border-radius:8px;min-width:88px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .2s}.modal-cancel-button{color:#333;background:#eee}.modal-cancel-button:hover{background:#e5e5e5}.modal-primary-button{color:#fff;background:#4caf50}.modal-primary-button:hover{background:#43a047}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
