﻿:root{--paper:#f5f7f8;--panel:#fff;--ink:#101820;--muted:#66747d;--faint:#96a2a9;--line:#dce4e8;--line-strong:#c8d3d9;--brand:#0f766e;--brand-dark:#0b5651;--brand-soft:#e0f3f0;--nav:#111820;--nav-2:#1b2630;--gold:#b99354;--danger:#bb3e50;--shadow:0 18px 50px rgba(16,24,32,.15);--shadow-soft:0 10px 28px rgba(16,24,32,.08);font-family:"Microsoft JhengHei","PingFang TC","Noto Sans TC",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper)}button,input,textarea{font:inherit}.hidden{display:none!important}button{transition:transform .16s ease,box-shadow .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}.customer-page{min-height:100vh;background:linear-gradient(135deg,rgba(15,118,110,.12),transparent 32%),linear-gradient(315deg,rgba(185,147,84,.12),transparent 36%),#eef2f3}.customer-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.customer-frame{width:min(100%,1080px);height:min(780px,calc(100vh - 48px));min-height:560px;display:grid;grid-template-columns:310px minmax(0,1fr);overflow:hidden;border:1px solid rgba(200,211,217,.9);border-radius:8px;background:rgba(255,255,255,.8);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.service-profile{display:grid;align-content:space-between;gap:24px;padding:30px;color:#eef6f7;background:linear-gradient(180deg,rgba(15,118,110,.86),rgba(17,24,32,.94)),#111820}.service-profile img{width:76px;height:76px;border-radius:8px;box-shadow:0 16px 30px rgba(0,0,0,.22)}.service-profile p{margin:14px 0 6px;color:#b9d8d5;font-size:12px;text-transform:uppercase}.service-profile h1{margin:0;font-size:28px;line-height:1.16}.service-profile dl{display:grid;gap:10px;margin:0}.service-profile dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}.service-profile dt{color:#b9c8ce;font-size:12px}.service-profile dd{margin:0;font-weight:700}.chat-window{min-width:0;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:#fff}.chat-header,.conversation-header{display:flex;align-items:center;gap:14px;padding:16px 20px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}.chat-header h1,.conversation-header h2,.brand-block h1,.info-panel h2{margin:0;font-size:18px;line-height:1.25;letter-spacing:0}.chat-header p,.conversation-header p,.profile-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.agent-avatar,.selected-profile img,.customer-item img,.profile-card img{width:46px;height:46px;flex:0 0 auto;border-radius:8px;object-fit:cover;background:#dce7e5}.messages{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:22px;background:linear-gradient(rgba(248,250,250,.82),rgba(248,250,250,.82)),repeating-linear-gradient(45deg,#f9fbfb 0,#f9fbfb 18px,#f2f5f5 18px,#f2f5f5 36px)}.system-notice{align-self:center;max-width:min(86%,560px);padding:8px 12px;color:#5f6f78;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:999px;font-size:12px;line-height:1.5;text-align:center;box-shadow:0 6px 16px rgba(16,24,32,.05)}.message{max-width:min(76%,580px);display:grid;gap:6px}.message.agent{align-self:flex-start}.message.customer{align-self:flex-end}.bubble{padding:11px 14px;line-height:1.58;white-space:pre-wrap;word-break:break-word;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:0 7px 18px rgba(16,24,32,.06)}.message.customer .bubble{color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-dark));border-color:var(--brand);box-shadow:0 10px 22px rgba(15,118,110,.22)}.time{color:var(--faint);font-size:12px}.message.customer .time{text-align:right}.composer{display:grid;grid-template-columns:1fr 92px;gap:12px;padding:14px;background:#fff;border-top:1px solid var(--line)}.composer textarea{min-height:46px;max-height:132px;resize:none;border:1px solid var(--line-strong);border-radius:8px;padding:12px 13px;color:var(--ink);background:#fbfcfc;outline:none}.composer textarea:focus,.login-box input:focus,.search-box input:focus,.settings-panel input:focus,.settings-panel textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.16)}.composer button,.login-box button,.settings-panel button{min-height:46px;border:0;border-radius:8px;color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-dark));box-shadow:0 10px 18px rgba(15,118,110,.2);cursor:pointer}.composer button:disabled,.composer textarea:disabled,.login-box button:disabled,.settings-panel button:disabled{cursor:not-allowed;opacity:.55;transform:none}.admin-page{min-height:100vh;background:#eef2f4}.login-view{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{width:min(100%,390px);display:grid;gap:16px;padding:30px;background:rgba(255,255,255,.96);border:1px solid rgba(200,211,217,.95);border-radius:8px;box-shadow:var(--shadow)}.login-brand,.brand-block,.profile-card{display:flex;align-items:center;gap:14px}.login-brand img,.brand-block img{width:58px;height:58px;border-radius:8px;box-shadow:var(--shadow-soft)}.login-brand h1{margin:0;font-size:24px}.login-brand p{margin:5px 0 0;color:var(--muted)}.login-box input,.search-box input,.settings-panel input,.settings-panel textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:10px 11px;color:var(--ink);background:#fbfcfc;outline:none}.login-box p{min-height:18px;margin:0;color:var(--danger);font-size:13px}.admin-shell{height:100vh;display:grid;grid-template-columns:340px minmax(460px,1fr) 330px;overflow:hidden}.sidebar{min-width:0;display:grid;grid-template-rows:auto auto auto 1fr;color:#eaf0f3;background:linear-gradient(180deg,var(--nav),var(--nav-2));border-right:1px solid rgba(255,255,255,.08)}.brand-block{min-height:92px;padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-block h1{color:#fff}.brand-block span{display:inline-flex;align-items:center;gap:7px;margin-top:5px;color:#b9dcd7;font-size:13px}.brand-block span:before{content:"";width:7px;height:7px;border-radius:999px;background:#43d08f;box-shadow:0 0 0 4px rgba(67,208,143,.14)}.sidebar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 14px 6px}.sidebar-stats div{padding:12px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.06)}.sidebar-stats span{display:block;color:#fff;font-size:20px;font-weight:800}.sidebar-stats p{margin:3px 0 0;color:#aebdc4;font-size:12px}.search-box{padding:10px 14px 8px}.search-box input{color:#eaf0f3;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}.search-box input::placeholder{color:#9fb0b8}.customer-list{min-height:0;overflow-y:auto;padding:8px}.customer-item{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;margin-bottom:6px;padding:12px;border:1px solid transparent;border-radius:8px;color:#d9e4e8;background:transparent;text-align:left;cursor:pointer}.customer-item:hover,.customer-item.active{color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.1);transform:none}.customer-item.active{box-shadow:inset 3px 0 0 var(--gold)}.customer-main{min-width:0}.customer-name-row{display:flex;align-items:center;gap:8px}.customer-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.customer-preview,.customer-location{overflow:hidden;color:#aebdc4;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.customer-preview{margin-top:5px}.customer-location{margin-top:3px;color:#80919a;font-size:12px}.dot{width:8px;height:8px;border-radius:999px;background:#78909b}.dot.online{background:#43d08f}.unread{min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px;color:#fff;background:var(--danger);border-radius:999px;font-size:12px}.admin-chat{min-width:0;display:grid;grid-template-rows:76px auto minmax(0,1fr) auto;background:#f3f6f7;min-height:0}.admin-messages{min-height:0}.admin-composer{position:sticky;bottom:0;z-index:3}.conversation-header{justify-content:space-between;height:76px;background:rgba(255,255,255,.92)}.selected-profile{min-width:0;display:flex;align-items:center;gap:12px}.selected-profile div{min-width:0}.selected-profile h2,.selected-profile p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{flex:0 0 auto;padding:6px 10px;color:var(--muted);background:#edf2f3;border:1px solid var(--line);border-radius:999px;font-size:13px}.badge.online{color:#176344;background:var(--brand-soft);border-color:#c4e4df}.remark-strip{display:grid;grid-template-columns:auto minmax(180px,1fr) 96px;gap:10px;align-items:center;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.remark-strip label{color:var(--muted);font-size:12px}.remark-strip input{min-width:0;border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;outline:none;background:#fbfcfc}.remark-strip input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.16)}.remark-strip button{min-height:38px;border:0;border-radius:8px;color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-dark));cursor:pointer}.remark-strip button:disabled,.remark-strip input:disabled{opacity:.55;cursor:not-allowed}.info-panel{min-width:0;overflow-y:auto;padding:18px;background:#fbfcfc;border-left:1px solid var(--line)}.profile-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f7faf9);box-shadow:var(--shadow-soft)}.profile-card h2{font-size:17px}.settings-panel{display:grid;gap:12px;margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff}.settings-panel label{display:grid;gap:6px;color:var(--muted);font-size:12px}.settings-panel textarea{min-height:74px;resize:vertical}.settings-panel button{box-shadow:none}.info-panel dl{margin:0}.info-panel dt{margin-top:13px;color:var(--faint);font-size:12px}.info-panel dd{margin:5px 0 0;overflow-wrap:anywhere;line-height:1.45}.empty{margin:auto;padding:22px;color:var(--muted);text-align:center}@media(max-width:1180px){.admin-shell{grid-template-columns:280px minmax(0,1fr) 300px}.info-panel{display:block}}@media(max-width:900px){.admin-shell{grid-template-columns:1fr;grid-template-rows:30vh minmax(360px,1fr) 22vh}.sidebar{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.info-panel{display:block;border-left:0;border-top:1px solid var(--line);padding:12px}.settings-panel{margin-top:10px;padding:12px}.profile-card{display:none}.sidebar-stats{display:none}.customer-list{min-height:0}.admin-chat{min-height:0;grid-template-rows:66px auto minmax(0,1fr) auto}.conversation-header{height:66px}.remark-strip{grid-template-columns:1fr 86px}.remark-strip label{display:none}.composer{grid-template-columns:1fr 76px}}@media(max-width:820px){.customer-shell{padding:12px}.customer-frame{height:calc(100vh - 24px);min-height:520px;grid-template-columns:1fr}.service-profile{display:none}.brand-block{min-height:76px}}




@media(min-width:901px) and (max-width:1280px){.admin-shell{grid-template-columns:minmax(280px,300px) minmax(0,1fr)!important;overflow:hidden}.info-panel{display:none!important}.sidebar{min-width:0}.admin-chat{min-width:0}.conversation-header{height:72px;padding:12px 16px}.selected-profile{gap:10px}.selected-profile img{width:50px;height:50px}.remark-strip{grid-template-columns:auto minmax(0,1fr) 108px;padding:10px 16px}.remark-strip input{font-size:14px}.remark-strip button{min-width:108px}.messages{gap:8px;padding:14px 18px}.message{max-width:min(68%,520px)}.bubble{padding:9px 12px;line-height:1.48}.time{font-size:11px}.composer{grid-template-columns:minmax(0,1fr) 108px;gap:10px;padding:12px 14px}.composer textarea{min-height:44px}.composer button{min-width:108px}.customer-item{grid-template-columns:42px minmax(0,1fr) auto;padding:10px}.customer-item img{width:42px;height:42px}}@media(max-width:900px){.admin-shell{height:auto;min-height:100vh;display:grid;grid-template-columns:1fr!important;grid-template-rows:auto minmax(520px,70vh) auto!important;overflow:visible}.sidebar{min-height:260px}.customer-list{max-height:260px}.admin-chat{min-height:520px}.info-panel{display:block!important;max-height:none}.remark-strip{grid-template-columns:1fr 104px}.remark-strip label{display:none}.composer{grid-template-columns:minmax(0,1fr) 96px}}
.admin-composer{position:relative!important;bottom:auto!important}
@media(min-width:901px){.admin-shell{height:100vh!important;max-height:100vh!important;align-items:stretch}.sidebar,.admin-chat,.info-panel{height:100vh!important;max-height:100vh!important;min-height:0!important}.admin-chat{overflow:hidden!important}.admin-messages{overflow-y:auto!important}}
