#view-ticket{max-width:1080px;margin:0 auto}
.shell:has(#view-ticket.active){margin-top:18px}
.detail-card{padding:24px 30px 28px}
.detail-head{align-items:flex-start}
.detail-head>div:first-child{min-width:0}
.detail-head{padding-bottom:14px}
.detail-head h1{margin-top:4px;font-size:27px;line-height:1.2}
.detail-meta{font-size:13px}
.status-panel{display:flex;align-items:center;flex-direction:row;gap:9px;padding:8px 10px;border:1px solid #dce8df;border-radius:12px;background:#f7faf8}
.status-caption{color:#78837b;font-size:12px;font-weight:750}
.status-panel .badge{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-width:70px;min-height:28px;padding:6px 11px;line-height:1;white-space:nowrap}
.conversation-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px;color:#2b372f}
.conversation-heading h2{margin:0;font-size:18px}
.conversation-heading span{color:#7a857d;font-size:13px}
.conversation{margin-top:0;padding:14px;border-radius:14px;background:#f7faf8}
.message{min-width:250px;max-width:76%;padding:12px 15px;background:#fff;box-shadow:0 4px 14px rgba(34,71,43,.05)}
.message.customer{background:#eaf8ed}
.message-meta b{color:#38463d}
.message-body{color:#27332b;font-size:15px;line-height:1.55}
.back{display:inline-flex;align-items:center;min-height:34px;margin-bottom:7px;padding:0 9px;border-radius:8px}
.back:hover{background:#e8f5eb}
.topbar nav{align-items:center;gap:4px}
.topbar nav .nav-link,.topbar nav .login-button{display:inline-flex;height:42px;align-items:center;justify-content:center;line-height:1;white-space:nowrap}
.topbar .kb-link{margin:0;padding:0 13px;vertical-align:middle}
.portal-user-menu{position:relative}.portal-user-menu .user-button{max-width:230px;padding:0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-popover{position:absolute;z-index:100;top:calc(100% + 9px);right:0;width:250px;padding:12px;border:1px solid #dce7df;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(24,66,34,.16)}.user-menu-popover[hidden]{display:none}.user-menu-popover span{display:block;margin-bottom:9px;overflow:hidden;color:#68746c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-menu-popover button{width:100%;min-height:40px;border:0;border-radius:9px;background:#f0f7f2;color:#087d1e;font-weight:750}.user-menu-popover button:hover{background:#e3f3e6}
.password-wrap button{top:16px;right:9px;display:flex;width:38px;height:38px;align-items:center;justify-content:center;padding:0;border-radius:9px;color:#6f7b73}
.password-wrap button:hover{background:#e9f6ec;color:#078821}
.password-wrap button:focus-visible{outline:2px solid #0bae2d;outline-offset:2px}
.password-wrap button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.password-wrap .eye-open{display:none}
.password-wrap button.shown .eye-closed{display:none}
.password-wrap button.shown .eye-open{display:block}
@media(max-width:700px){.detail-card{padding:24px 18px}.detail-head{gap:16px}.status-panel{min-width:110px;padding:11px}.conversation{padding:12px}.message{min-width:0;max-width:92%}}

/* Two-pane customer support workspace. */
.shell:has(#view-tickets.active),body.view-tickets .shell{width:min(1450px,calc(100% - 30px));height:calc(100vh - 104px);margin:15px auto}
.chat-view,.support-workspace{height:100%}
.support-workspace{display:grid;grid-template-columns:350px minmax(0,1fr);overflow:hidden;border-radius:22px}
.ticket-sidebar{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid #e5ebe7;background:#f7f8f7}
.ticket-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 9px}
.ticket-sidebar-head h1{margin:0;font-size:24px;line-height:1.1;letter-spacing:-.025em}
.ticket-sidebar-head .eyebrow{margin-bottom:4px;font-size:12px}
.ticket-tabs{display:flex;gap:5px;padding:0 16px 10px;border-bottom:1px solid #e3e8e5}
.ticket-tabs button{padding:6px 9px;border:0;border-radius:8px;background:transparent;color:#8a928d;font-size:13px;font-weight:750}
.ticket-tabs button.active{background:#e8f4eb;color:#087d1e}
.ticket-tabs span{display:inline-grid;min-width:18px;height:18px;margin-left:3px;place-items:center;border-radius:9px;background:rgba(0,0,0,.06);font-size:11px}
.ticket-sidebar .empty-state{min-height:160px;border:0;background:transparent;box-shadow:none}
.ticket-sidebar .tickets-list{display:block;flex:1;min-height:0;padding:6px 9px 76px;overflow:auto}
.ticket-sidebar .ticket-row{display:block;min-height:57px;margin:0;padding:7px 12px 6px;border:0;border-bottom:1px solid #e4e8e5;border-radius:0;background:transparent;box-shadow:none;transform:none}
.ticket-sidebar .ticket-row:hover{border-color:#e4e8e5;border-radius:11px;background:#eef1ef;box-shadow:none;transform:none}
.ticket-sidebar .ticket-row.selected{border-color:transparent;border-radius:12px;background:#e8f4eb;box-shadow:inset 3px 0 #0bae2d}
.ticket-row-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ticket-sidebar .ticket-number{font-size:11px}
.ticket-list-status{max-width:90px;overflow:hidden;color:#7d8780;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.ticket-list-status.new,.ticket-list-status.open{color:#078821}
.ticket-sidebar .ticket-row h3{margin:2px 0 1px;overflow:hidden;color:#303a33;font-size:13px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ticket-sidebar .ticket-row time{display:block;color:#8b948e;font-size:10px;line-height:1.1}
.sidebar-empty{padding:34px 14px;color:#89928c;text-align:center}
.new-ticket-button{position:absolute;right:12px;bottom:11px;left:12px;display:flex;align-items:center;justify-content:space-between;height:49px;padding:0 16px;border:1px solid #dce4de;border-radius:13px;background:#fff;color:#28332c;font-size:13px;font-weight:800;box-shadow:0 8px 25px rgba(32,72,42,.1)}
.new-ticket-button:hover{border-color:#b8d9bf;background:#f3faf4;color:#087d1e}
.new-ticket-button b{font-size:25px;font-weight:400}
.chat-panel{height:100%;min-width:0;min-height:0;overflow:hidden;background:#fff}
#ticket-detail{height:100%;min-height:0;overflow:hidden}
.chat-empty,.chat-loading{display:grid;height:100%;place-items:center;color:#7d8880;text-align:center}
.chat-empty h2{margin:0 0 7px;color:#303b33}
.ticket-chat{display:grid;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.ticket-chat.is-refreshing{pointer-events:none;opacity:.72}
.chat-skeleton{overflow:hidden}
.skeleton-line,.skeleton-message,.reply-skeleton{position:relative;overflow:hidden;background:#f0f4f1}
.skeleton-line:after,.skeleton-message:after,.reply-skeleton:after{position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);content:"";animation:chat-shimmer 1.2s infinite}
.skeleton-line{height:13px;margin-bottom:12px;border-radius:7px}.skeleton-line.short{width:130px}.skeleton-line.title{width:38%;height:25px;margin:0}
.skeleton-message{width:34%;height:82px;margin:28px 32px;border-radius:15px}.skeleton-message.right{margin-left:auto}
.reply-skeleton{height:54px;margin:14px 20px;border-radius:12px}
@keyframes chat-shimmer{to{transform:translateX(100%)}}
.chat-head{padding:22px 30px 17px;border-bottom:1px solid #e8ede9;background:#fff}
.chat-head h2{margin:8px 0 0;overflow:hidden;font-size:23px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.chat-title-line{display:flex;align-items:center;justify-content:space-between;gap:20px}
.chat-status{display:flex;align-items:center;gap:8px;color:#7c867f}
.chat-status small{font-size:11px;font-weight:750;text-transform:uppercase}
.chat-status .badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px}
.chat-history{min-height:0;padding:24px 32px;overflow:auto;background:#fcfdfc}
.ticket-created{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;margin:2px 0 26px;color:#8a928d;font-size:12px;font-weight:500}
.ticket-created span{height:1px;background:#e5eae6}
.chat-message{display:flex;align-items:flex-start;gap:11px;max-width:75%;margin:0 0 22px}
.chat-message.customer{margin-left:auto;flex-direction:row-reverse}
.message-avatar{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:50%;background:#e4ece6;color:#496052;font-size:12px;font-weight:800}
.chat-message.customer .message-avatar{background:#dff4e4;color:#087d1e}
.message-content{min-width:220px;padding:12px 15px;border:1px solid #e1e7e3;border-radius:4px 15px 15px;background:#fff;box-shadow:0 5px 16px rgba(34,71,43,.05)}
.chat-message.customer .message-content{border-color:#c9e5cf;border-radius:15px 4px 15px 15px;background:#eef9f0}
.chat-message .message-meta{margin-bottom:6px}
.chat-message .message-body{font-size:15px;line-height:1.5}
.message-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.message-attachments a{padding:5px 8px;border-radius:7px;background:rgba(11,174,45,.08);color:#087d1e;font-size:12px;text-decoration:none}
.no-messages{color:#8a938d;text-align:center}
.reply-box{position:sticky;z-index:3;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;flex-shrink:0;gap:10px;padding:14px 20px;border-top:1px solid #e3e9e5;background:#fff}
.reply-box textarea{height:54px;min-height:54px;max-height:130px;margin:0;padding:15px 16px;border:0;background:#f5f7f5;resize:none}
.reply-actions{display:flex;align-items:center;gap:8px}
.attach-button,.send-button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:11px;background:transparent;color:#647068;font-size:20px}
.attach-button:hover{background:#edf3ee;color:#087d1e}.send-button{background:#0bae2d;color:#fff}.send-button:hover{background:#078821}.send-button:disabled{opacity:.55}
#reply-file-label{max-width:110px;overflow:hidden;color:#78837b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.reply-status{grid-column:1/-1;color:#7c867f;font-size:12px}
.ticket-closed-note{padding:18px 24px;border-top:1px solid #e4e9e5;background:#f6f8f6;color:#68736b;text-align:center}
@media(max-width:850px){.shell:has(#view-tickets.active),body.view-tickets .shell{height:calc(100vh - 100px);width:calc(100% - 20px);margin:10px auto}.support-workspace{grid-template-columns:280px minmax(0,1fr)}.chat-head{padding:18px 20px}.chat-history{padding:20px}.chat-message{max-width:90%}}
@media(max-width:650px){.shell:has(#view-tickets.active),body.view-tickets .shell{height:auto;min-height:calc(100vh - 88px)}.support-workspace{display:block;overflow:visible}.ticket-sidebar{min-height:320px;border:0}.ticket-sidebar .tickets-list{max-height:380px}.chat-panel{min-height:560px;border-top:1px solid #e3e9e5}.chat-message{max-width:96%}.message-avatar{display:none}.message-content{min-width:0}.reply-box{position:sticky;bottom:0;padding:10px}.chat-status small{display:none}}
