:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182230;background:#eef2f6}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}.hidden{display:none!important}.muted{color:#6b7785}.tiny{font-size:12px}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff,#e9eef5 55%)}.auth-card{width:min(460px,calc(100% - 32px));background:#fff;padding:34px;border-radius:22px;box-shadow:0 18px 60px rgba(28,42,66,.12)}.brand-mark{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;font-size:29px;font-weight:800;background:#1565ff;color:#fff;margin-bottom:18px}.auth-card h1{margin:0 0 6px}.auth-card form{display:grid;gap:14px;margin-top:26px}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,textarea,select{width:100%;border:1px solid #d7dee8;border-radius:11px;padding:10px 12px;outline:none;background:#fff;color:#182230}input:focus,textarea:focus,select:focus{border-color:#2b72ff;box-shadow:0 0 0 3px rgba(43,114,255,.1)}button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer}.primary{background:#1565ff;color:#fff;font-weight:700}.primary:disabled,button:disabled{opacity:.52;cursor:not-allowed}.ghost{background:#f2f5f9;color:#374151}.danger-ghost{background:#fff0f0;color:#c63232}.small{padding:7px 10px;font-size:12px}.setup-badge{display:inline-block;margin-top:12px;padding:6px 9px;background:#eaf2ff;color:#1252b7;border-radius:999px;font-size:12px;font-weight:700}
.app-shell{height:100vh;display:grid;grid-template-columns:360px minmax(420px,1fr) 330px;background:#fff}.sidebar{display:flex;flex-direction:column;border-right:1px solid #e3e8ef;min-width:0;background:#fff}.sidebar-head,.chat-head,.modal-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-head{padding:16px 14px 10px}.status-line{font-size:12px;color:#6b7785;margin-top:3px}.icon-btn{background:transparent;font-size:22px;padding:4px 8px}.dashboard-strip{margin:0 12px 10px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e4e9ef;border-radius:12px;overflow:hidden;background:#fafbfd}.dashboard-strip div{text-align:center;padding:9px 4px;border-right:1px solid #e7ebf0}.dashboard-strip div:last-child{border:0}.dashboard-strip strong{display:block;font-size:16px}.dashboard-strip span{font-size:9px;color:#738091}.filter-row{padding:0 12px 9px;display:flex;gap:6px;overflow-x:auto}.filter{white-space:nowrap;padding:6px 9px;background:#f1f4f8;color:#596676;font-size:11px;border:1px solid transparent}.filter.active{background:#e7f0ff;color:#1457bd;border-color:#cfe0ff;font-weight:700}.search-wrap{padding:0 12px 10px}.search-wrap input{background:#f4f6f9}.conversation-list{flex:1;overflow:auto}.conv{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px 13px;cursor:pointer;border-left:3px solid transparent}.conv:hover{background:#f7f9fc}.conv.active{background:#eaf2ff;border-left-color:#1565ff}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8edf5;font-weight:800;color:#456}.conv-title-line{display:flex;gap:6px;align-items:center;min-width:0}.conv-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-preview{font-size:12px;color:#798493;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.conv-meta{display:flex;gap:5px;align-items:center;margin-top:5px;flex-wrap:wrap}.mini-pill{font-size:9px;padding:3px 6px;border-radius:999px;background:#eef2f6;color:#647184}.mini-pill.mine{background:#e8f7ee;color:#19794a}.mini-pill.urgent{background:#ffe6e6;color:#b42318}.mini-pill.high{background:#fff1df;color:#a85808}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1565ff;color:#fff;font-size:11px;display:grid;place-items:center}.sidebar-foot{padding:12px 13px;border-top:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;gap:8px}.role-pill{margin-left:7px;font-size:10px;text-transform:uppercase;background:#edf1f6;border-radius:999px;padding:3px 6px}.foot-actions{display:flex;gap:6px}
.chat-pane{display:flex;flex-direction:column;min-width:0;background:#f4f6f9}.chat-head{padding:13px 18px;background:#fff;border-bottom:1px solid #e3e8ef;min-height:70px}.chat-head h2{font-size:18px;margin:0}.chat-title-wrap{min-width:0}.head-actions{display:flex;align-items:center;gap:8px}.connection-chip{font-size:12px;font-weight:700;padding:7px 10px;border-radius:999px}.connection-chip.online{background:#e4f8ec;color:#168447}.connection-chip.offline{background:#f1f3f6;color:#6d7782}.empty-state{flex:1;display:grid;place-content:center;text-align:center;color:#7b8796;padding:30px}.empty-state h3{color:#334155;margin-bottom:5px}.empty-icon{font-size:50px}.messages{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:9px}.msg{max-width:min(72%,720px);padding:9px 12px;border-radius:15px;background:#fff;box-shadow:0 1px 2px rgba(20,30,50,.06);align-self:flex-start}.msg.outgoing{align-self:flex-end;background:#dceaff}.msg-name{font-size:11px;font-weight:700;color:#617184;margin-bottom:3px}.msg-time{font-size:10px;color:#8b96a3;margin-top:4px;text-align:right}.msg-by{font-size:10px;color:#4b6795;margin-top:3px}.composer{background:#fff;border-top:1px solid #e3e8ef;padding:12px 16px;display:flex;gap:10px;align-items:flex-end}.composer textarea{resize:none;max-height:140px}.composer button{height:42px;min-width:80px}
.detail-pane{border-left:1px solid #e3e8ef;background:#fff;overflow:auto;min-width:0}.detail-empty{padding:24px 18px}.detail-section{padding:17px;border-bottom:1px solid #e5eaf0}.detail-section h3{font-size:14px;margin:0 0 13px}.detail-section label{margin-bottom:11px}.priority{font-size:10px;padding:4px 7px;border-radius:999px;background:#edf1f6;color:#596675}.priority.low{background:#edf6ff;color:#366a99}.priority.normal{background:#edf1f6;color:#596675}.priority.high{background:#fff1df;color:#a85808}.priority.urgent{background:#ffe6e6;color:#b42318}.ticket-box{border:1px solid #e2e7ee;border-radius:12px;padding:12px;background:#fafbfc}.ticket-title{font-weight:750;color:#283548}.ticket-row{display:flex;justify-content:space-between;gap:8px;margin-top:7px}.ticket-status{margin-top:10px}.notes-section{min-height:220px}.notes-list{display:flex;flex-direction:column;gap:8px;max-height:310px;overflow:auto;margin-bottom:12px}.note{border:1px solid #e4e9ef;border-radius:10px;padding:9px 10px;background:#fffbea}.note-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#7a6c3d;margin-bottom:5px}.note-body{font-size:12px;white-space:pre-wrap}.note-form{display:grid;gap:8px}.note-form textarea{resize:vertical}.permission-warning{color:#a85b00;background:#fff7e8;padding:7px 9px;border-radius:8px}
.modal{position:fixed;inset:0;background:rgba(20,28,40,.42);display:grid;place-items:center;padding:22px;z-index:20}.modal-card{background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(20,30,50,.25);max-height:90vh;overflow:auto}.admin-card{width:min(980px,96vw);padding:20px}.qr-card{width:min(420px,96vw);padding:20px;text-align:center}.user-card{width:min(460px,96vw);padding:20px}.admin-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;margin-top:16px}.panel{border:1px solid #e2e7ee;border-radius:14px;padding:16px}.panel h4{margin:0 0 12px}.zalo-card{padding:13px;border-radius:12px;background:#f5f7fa;min-height:84px}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button-row.end{justify-content:flex-end}.qr-image{width:300px;max-width:100%;margin:8px auto}.qr-loading{padding:80px 10px;font-weight:700}.user-list{display:flex;flex-direction:column;gap:8px}.user-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #e6eaf0;border-radius:10px}.user-meta{font-size:12px;color:#74808e;margin-top:2px}.user-actions{display:flex;gap:6px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.toast{position:fixed;right:18px;bottom:18px;background:#1f2937;color:#fff;padding:11px 14px;border-radius:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:50;max-width:420px}.toast.show{opacity:1;transform:none}.toast.error{background:#a72d2d}
@media(max-width:1100px){.app-shell{grid-template-columns:330px 1fr}.detail-pane{position:fixed;right:0;top:0;bottom:0;width:330px;z-index:10;box-shadow:-12px 0 30px rgba(30,40,60,.12)}}@media(max-width:760px){.app-shell{grid-template-columns:120px 1fr}.sidebar-head strong,.status-line,.search-wrap,.sidebar-foot>div:first-child,.foot-actions,.dashboard-strip,.filter-row{display:none}.conversation-list .conv{grid-template-columns:42px 1fr;padding:10px}.conv-preview,.conv-meta{display:none}.conv-title{font-size:10px}.detail-pane{display:none}.msg{max-width:88%}}

/* v0.3 additions */
.app-shell{grid-template-columns:360px minmax(420px,1fr) 390px}.head-buttons{display:flex;align-items:center;gap:2px}.bell{position:relative;font-size:17px}.bell-count{position:absolute;top:-2px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#d92d20;color:#fff;font-size:9px;display:grid;place-items:center}.empty-list{padding:20px}.mini-pill.org{background:#eaf7ff;color:#23678e}.mini-pill.tag{background:#f3ebff;color:#7048a8}.inline-label{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.profile-summary{background:#f8fafc;border:1px solid #e6ebf1;border-radius:10px;padding:9px 10px;line-height:1.55}.tag-cloud{display:flex;gap:6px;flex-wrap:wrap}.tag-chip{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#5d6878;border:1px solid #e1e6ed;font-size:10px}.tag-chip.active{background:#e9f1ff;border-color:#bdd2ff;color:#1859bc;font-weight:700}.tag-chip:disabled{opacity:.55}.ticket-title-line{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px}.ticket-main-title{font-size:12px;margin-top:2px;color:#536174}.ticket-box label{margin:9px 0}.sub-title{font-size:11px;font-weight:800;color:#516070;margin:10px 0 6px}.followers{display:flex;flex-wrap:wrap;gap:6px}.follower{display:flex;align-items:center;gap:5px;background:#f6f8fa;border:1px solid #e6ebf1;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:600}.follower input{width:auto;margin:0}.ticket-foot{margin-top:10px;padding-top:9px;border-top:1px dashed #e0e6ed}.mention-hint{margin:-5px 0 10px}.note-body mark{background:#e8f0ff;color:#1257ba;border-radius:4px;padding:1px 3px}.timeline-section{padding-bottom:40px}.timeline-list{display:flex;flex-direction:column;gap:10px;max-height:440px;overflow:auto}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.timeline-icon{width:25px;height:25px;border-radius:50%;background:#eef3fa;display:grid;place-items:center;font-size:11px;color:#47627e}.timeline-title{font-size:11px;font-weight:700;color:#344252}.timeline-meta{font-size:9px;color:#8893a1;margin-top:2px}.timeline-body{font-size:10px;color:#5d6877;background:#f8fafc;border-radius:8px;padding:5px 7px;margin-top:4px;max-height:72px;overflow:hidden}.form-card{width:min(500px,96vw);padding:20px}.form-card form{display:grid;gap:12px;margin-top:15px}.notification-card{width:min(540px,96vw);padding:20px}.notification-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:60vh;overflow:auto}.notification-item{padding:11px;border:1px solid #e5eaf0;border-radius:11px;background:#fff}.notification-item.unread{background:#eef5ff;border-color:#cfdeff}.notification-item b{font-size:12px}.notification-item div div{font-size:11px;margin-top:3px;color:#586575}.notification-item span{font-size:9px;color:#8a95a3}.ticket-box select{padding:7px 9px}.modal-head>div{display:flex;gap:6px;align-items:center}
@media(max-width:1200px){.app-shell{grid-template-columns:330px 1fr}.detail-pane{width:390px}}
@media(max-width:760px){.app-shell{grid-template-columns:110px 1fr}.head-buttons .bell{display:none}}

/* v0.4 internal chat + API integrations */
.internal-chat-launch{position:relative}.online-count{position:absolute;right:-2px;bottom:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#168447;color:#fff;font-size:9px;display:grid;place-items:center}.internal-chat-card{width:min(920px,96vw);height:min(680px,90vh);padding:18px;overflow:hidden}.internal-chat-layout{display:grid;grid-template-columns:260px 1fr;height:calc(100% - 52px);margin-top:12px;border:1px solid #e1e7ee;border-radius:14px;overflow:hidden}.internal-members{background:#f7f9fc;border-right:1px solid #e1e7ee;overflow:auto;padding:10px}.members-title{font-size:10px;font-weight:800;text-transform:uppercase;color:#8a96a5;padding:14px 8px 6px}.member-row{width:100%;display:grid;grid-template-columns:12px 1fr;gap:8px;align-items:center;text-align:left;background:transparent;padding:9px 8px;margin-bottom:3px}.member-row:hover,.member-row.active{background:#eaf2ff}.member-row small{display:block;color:#7a8797;font-size:10px;margin-top:2px}.presence-dot{width:9px;height:9px;border-radius:50%;background:#b5bec9}.presence-dot.online{background:#17a05e;box-shadow:0 0 0 3px rgba(23,160,94,.12)}.presence-dot.offline{background:#aeb7c3}.internal-conversation{display:flex;flex-direction:column;min-width:0;background:#fff}.internal-chat-head{padding:12px 14px;border-bottom:1px solid #e4e9ef;display:flex;justify-content:space-between;align-items:center}.internal-messages{flex:1;overflow:auto;padding:16px;background:#f4f6f9;display:flex;flex-direction:column;gap:8px}.internal-msg{align-self:flex-start;max-width:75%;background:#fff;border:1px solid #e2e7ee;border-radius:13px;padding:9px 11px;font-size:13px}.internal-msg.mine{align-self:flex-end;background:#dceaff;border-color:#c7dcff}.internal-msg-meta{font-size:9px;color:#738091;margin-bottom:4px}.internal-empty{margin:auto;color:#8894a2;font-size:12px}.internal-composer{padding:11px;border-top:1px solid #e4e9ef;display:flex;gap:8px;align-items:flex-end}.internal-composer textarea{resize:none;max-height:130px}.internal-composer button{height:42px}.settings-form{display:grid;gap:10px}.api-panel{grid-column:1/-1}.api-token-list-wrap{margin-top:14px;border-top:1px solid #e5eaf0;padding-top:12px}.api-token-list-wrap h5{margin:0 0 8px}.api-token-list{display:grid;gap:7px}.api-token-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e4e9ef;border-radius:10px;background:#fafbfd}.api-token-row small{display:block;color:#74808e;margin-top:3px}.api-help{margin-top:12px;line-height:1.7;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:10px}.api-help code{background:#eef2f6;padding:2px 4px;border-radius:5px}.token-card{width:min(560px,96vw);padding:20px}.token-card textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:none}.admin-card{width:min(1120px,96vw)}
@media(max-width:760px){.internal-chat-card{padding:10px}.internal-chat-layout{grid-template-columns:110px 1fr}.member-row{grid-template-columns:9px 1fr;padding:8px 4px}.member-row b{font-size:10px}.member-row small{display:none}.internal-msg{max-width:90%}}

/* v0.4.1 conversation categories / hospital folders */
.group-toggle{display:flex;align-items:center;gap:6px;margin-top:7px;color:#647184}.group-toggle input{width:auto}.conv-group-header{position:sticky;top:0;z-index:2;background:#f4f7fb;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:7px 12px;display:flex;justify-content:space-between;gap:8px;color:#4c5a6b}.conv-group-header b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-group-header span{font-size:10px;color:#74808e;white-space:nowrap}.mini-pill.folder{background:#eee9ff;color:#6941c6}.category-admin-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}.category-admin-row{border:1px solid #e5eaf0;border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.category-admin-row small{display:block;color:#74808e;margin-top:3px}.category-admin-row .actions{display:flex;gap:5px}.category-org-title{font-size:11px;font-weight:800;color:#3c4a5a;background:#f5f7fa;padding:6px 8px;border-radius:8px;margin-top:4px}.category-admin-panel{grid-column:1 / -1}.form-card textarea{resize:vertical}

/* v0.5 unit directory, internal video call and Hitech integration */
.unit-admin-panel,.hitech-panel{grid-column:1/-1}.admin-unit-tools{display:flex;gap:8px;margin-bottom:10px}.admin-unit-list{display:grid;gap:8px;max-height:380px;overflow:auto}.admin-unit-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e4e9ef;border-radius:11px;background:#fafbfd}.admin-unit-row small{display:block;color:#74808e;margin-top:3px}.admin-unit-row .actions{display:flex;gap:5px}.admin-unit-row.inactive{opacity:.62}.wide-form{width:min(760px,96vw)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid-2 .span-2{grid-column:1/-1}.hitech-panel{background:linear-gradient(180deg,#fbfdff,#f8fbff)}#hitechTestResult{margin-top:8px;white-space:pre-wrap;max-height:110px;overflow:auto}.call-incoming-card{width:min(420px,94vw);padding:28px;text-align:center}.call-avatar{font-size:50px;margin-bottom:6px}.button-row.center{justify-content:center}.video-call-card{width:min(980px,96vw);padding:16px;overflow:hidden}.video-stage{position:relative;background:#111827;border-radius:14px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.video-stage video{width:100%;height:100%;object-fit:cover;background:#111827}.video-stage #localVideo{position:absolute;right:16px;bottom:16px;width:26%;height:auto;aspect-ratio:16/9;border-radius:10px;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(0,0,0,.28)}.video-controls{display:flex;justify-content:center;gap:10px;margin-top:14px}.video-controls .danger{background:#d92d20;color:#fff}.video-note{text-align:center;margin-bottom:0}.internal-chat-head .button-row{margin-top:0}.internal-chat-head .primary{white-space:nowrap}
@media(max-width:760px){.form-grid-2{grid-template-columns:1fr}.form-grid-2 .span-2{grid-column:auto}.video-stage #localVideo{width:36%;right:8px;bottom:8px}.video-controls{flex-wrap:wrap}.admin-unit-tools{flex-direction:column}}

/* v0.5.1 - CRM Remote Access */
.remote-access-box{display:flex;flex-direction:column;gap:8px}.remote-card{border:1px solid var(--border,#dfe4ea);border-radius:10px;padding:9px;background:var(--panel,#fff)}.remote-card-main{display:flex;gap:8px;align-items:flex-start}.remote-provider-icon{font-size:20px;line-height:1}.remote-card-actions{display:flex;gap:6px;margin-top:8px}.remote-note{margin-top:7px;padding-top:6px;border-top:1px dashed var(--border,#dfe4ea)}.remote-admin-tools{display:flex;gap:8px;margin:8px 0}.remote-admin-tools select{flex:1}.remote-profile-admin-list{display:flex;flex-direction:column;gap:6px;max-height:330px;overflow:auto}.remote-admin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border,#dfe4ea);border-radius:9px;padding:8px}.remote-admin-row .button-row{flex-wrap:nowrap}.remote-section .section-title{align-items:center}

/* v0.6 Admin Control Center + Meeting Center */
.meeting-center-card{width:min(980px,94vw);max-height:88vh;overflow:auto}.meeting-toolbar{display:flex;align-items:center;gap:10px;margin:12px 0}.meeting-list{display:flex;flex-direction:column;gap:8px}.meeting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--surface,#fff)}.participant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:8px 0 16px}.participant-check{display:flex!important;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border,#e5e7eb);border-radius:10px}.participant-check input{width:auto!important}.meeting-room-card{width:min(1250px,97vw);height:min(88vh,900px);display:flex;flex-direction:column}.meeting-frame{width:100%;flex:1;min-height:620px;border:0;border-radius:12px;background:#111}.settings-center-card{width:min(1220px,97vw);max-height:92vh;overflow:hidden}.settings-layout{display:grid;grid-template-columns:220px 1fr;min-height:650px}.settings-nav{border-right:1px solid var(--border,#e5e7eb);padding:10px;display:flex;flex-direction:column;gap:6px}.settings-tab{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer}.settings-tab:hover,.settings-tab.active{background:#eef2ff;color:#3730a3}.settings-body{padding:16px 20px;overflow:auto;max-height:78vh}.settings-page{display:none}.settings-page.active{display:block}.settings-subbox{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:14px;margin:14px 0;background:#fafafa}.workforce-layout{display:grid;grid-template-columns:260px 1fr;gap:16px}.profile-list{display:flex;flex-direction:column;gap:6px;max-height:620px;overflow:auto}.profile-row{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border,#e5e7eb);background:#fff;padding:10px;border-radius:10px;cursor:pointer}.profile-row span{font-size:12px;color:#6b7280}.profile-row.active{border-color:#6366f1;background:#eef2ff}.profile-editor{border-left:1px solid var(--border,#e5e7eb);padding-left:16px}.sla-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.sla-head,.sla-row{display:grid;grid-template-columns:120px 1fr 1fr 1fr 80px;gap:8px;align-items:center}.sla-head{font-size:12px;color:#6b7280;padding:0 6px}.sla-row{padding:8px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:#fff}.sla-row input{width:100%}.routing-weights{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border,#e5e7eb)}.audit-preview{max-height:420px;overflow:auto;background:#111827;color:#d1d5db;padding:12px;border-radius:10px;font-size:11px}.online{color:#16a34a}.empty-state.compact{padding:28px}
@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--border,#e5e7eb);flex-direction:row;overflow:auto}.workforce-layout{grid-template-columns:1fr}.profile-editor{border-left:0;padding-left:0}.routing-weights{grid-template-columns:repeat(2,1fr)}.sla-head,.sla-row{grid-template-columns:90px 1fr 1fr}.sla-head>*:nth-child(4),.sla-row>*:nth-child(4){display:none}.meeting-frame{min-height:500px}}

/* v0.6.1 workflow engine */
.workflow-row{padding:8px 0;border-bottom:1px solid var(--border,#e5e7eb);line-height:1.35}.workflow-row:last-child{border-bottom:0}.mini-pill.flow{background:#eef2ff}.workflow-settings{border-left:3px solid #6366f1}.workflow-test-box{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border,#d1d5db)}

/* v0.7 Workflow / Kanban + Quick Reply */
.composer-tools{display:flex;gap:6px;align-items:center}.composer-tools .small{white-space:nowrap}.kanban-card{width:min(98vw,1680px);height:min(92vh,980px);display:flex;flex-direction:column}.kanban-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(285px,1fr);gap:10px;overflow:auto;flex:1;padding:8px 2px 14px}.kanban-col{background:#f6f8fb;border:1px solid #e1e6ec;border-radius:12px;display:flex;flex-direction:column;min-height:620px}.kanban-col.drag-over{outline:2px solid #6366f1;background:#eef2ff}.kanban-col-head{padding:10px 12px;border-bottom:1px solid #e1e6ec;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:inherit;border-radius:12px 12px 0 0;z-index:1}.kanban-col-head>div{display:flex;gap:8px;align-items:center}.kanban-col-head span{font-size:10px;color:#667085}.wip-alert{background:#fee4e2!important;color:#b42318!important;padding:3px 6px;border-radius:999px;font-weight:700}.kanban-dropzone{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:560px}.kanban-empty{border:1px dashed #cbd5e1;border-radius:9px;padding:18px;text-align:center;color:#94a3b8;font-size:11px}.kanban-ticket{background:#fff;border:1px solid #dfe5ec;border-radius:10px;padding:10px;box-shadow:0 1px 3px rgba(15,23,42,.04);cursor:grab}.kanban-ticket.dragging{opacity:.45}.kanban-ticket.aging{border-left:4px solid #f59e0b}.kanban-ticket.blocked{border-left:4px solid #dc2626;background:#fffafa}.kt-top,.kt-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.kt-title{font-weight:700;font-size:12px;margin:7px 0;line-height:1.35}.kt-meta{font-size:10px;color:#667085}.kt-bottom{font-size:10px;color:#667085;margin-top:8px}.mini-block{border:0;background:transparent;color:#667085;font-size:10px;cursor:pointer;padding:2px}.blocked-reason{margin-top:7px;padding:6px;background:#fef2f2;border-radius:7px;color:#991b1b;font-size:10px}.quick-reply-card{width:min(760px,94vw);max-height:84vh;display:flex;flex-direction:column;gap:10px}.quick-reply-list{overflow:auto;display:flex;flex-direction:column;gap:7px}.quick-reply-row{text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px;cursor:pointer}.quick-reply-row:hover{border-color:#6366f1;background:#f8faff}.quick-reply-row>div{display:flex;gap:8px;align-items:center}.quick-reply-row span{font-size:10px;color:#667085}.quick-reply-row p{margin:6px 0;font-size:12px;white-space:pre-wrap}.quick-reply-row small{display:block;color:#667085}.quick-reply-row em{display:inline-block;margin-top:5px;background:#ecfdf3;color:#027a48;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal}.reply-admin-list{display:flex;flex-direction:column;gap:7px}.reply-admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}.reply-admin-row.inactive{opacity:.55}.reply-preview{font-size:11px;color:#475467;margin-top:5px;white-space:pre-wrap}.kanban-setting-row{display:grid;grid-template-columns:minmax(160px,1fr) 120px 140px 100px 70px;gap:8px;align-items:end;padding:8px 0;border-bottom:1px solid #e5e7eb}.kanban-setting-row label{font-size:10px}.kanban-setting-row input{width:100%}
@media(max-width:900px){.kanban-board{grid-auto-columns:minmax(260px,85vw)}.kanban-setting-row{grid-template-columns:1fr 1fr}.kanban-setting-row b{grid-column:1/-1}.composer-tools{flex-wrap:wrap}}

/* v0.8.0 — Work Management / My Work / persistent alerts */
.work-center-card{width:min(1500px,97vw);height:min(900px,94vh);overflow:hidden;display:flex;flex-direction:column}
.work-tabs{display:flex;gap:8px;padding:0 18px 12px;border-bottom:1px solid var(--line,#e5e7eb)}
.work-tab{border:0;background:transparent;padding:9px 14px;border-radius:9px;cursor:pointer;font-weight:700}
.work-tab.active{background:#eef2ff;color:#3730a3}
.work-page{display:none;overflow:auto;padding:16px;flex:1}.work-page.active{display:block}
.work-summary{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;margin-bottom:14px}.work-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:flex;flex-direction:column}.work-summary b{font-size:24px}.work-summary span{font-size:12px;color:#64748b}
.my-work-list{display:grid;gap:9px}.my-work-row{border:1px solid #e5e7eb;border-left:5px solid #94a3b8;border-radius:12px;padding:12px;background:#fff;cursor:pointer}.my-work-row:hover{box-shadow:0 3px 12px #0f172a14}.my-work-row.urgent{border-left-color:#dc2626}.my-work-row.high{border-left-color:#ea580c}.my-work-row>div:first-child{display:flex;justify-content:space-between;gap:8px}.my-work-row h4{margin:6px 0}
.task-board{min-height:620px}.task-card-actions,.v080-ticket-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.task-card-actions button,.v080-ticket-actions button{border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:4px 7px;font-size:11px;cursor:pointer}.task-card-actions button:hover,.v080-ticket-actions button:hover{background:#eef2ff}.task-due{font-size:11px;margin-top:5px}.task-due.overdue{color:#b91c1c;font-weight:800}.task-due.risk{color:#c2410c;font-weight:700}.task-card.alert-red{border-color:#ef4444;box-shadow:0 0 0 1px #ef444433}
.task-detail-card{width:min(1050px,95vw);max-height:90vh;overflow:auto}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.task-info-list{display:grid;gap:7px;background:#f8fafc;border:1px solid #e2e8f0;padding:11px;border-radius:10px;margin:12px 0}.task-checklist{display:grid;gap:6px;margin:8px 0 18px}.checklist-row{display:flex;gap:8px;align-items:flex-start;border-bottom:1px solid #f1f5f9;padding:6px}.task-comments{display:grid;gap:8px;max-height:220px;overflow:auto}.task-comment{border:1px solid #e2e8f0;border-radius:9px;padding:8px}.task-comment>span{float:right;font-size:11px;color:#64748b}.task-comment p{margin:5px 0 0}
.workload-table{width:100%;border-collapse:collapse}.workload-table th,.workload-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.workload-table thead{background:#f8fafc;position:sticky;top:0}
.persistent-alert-btn{position:relative}.persistent-alert-btn.active-alert{background:#fee2e2!important;border-color:#ef4444!important;animation:zscAlertPulse 1.15s infinite}.persistent-alert-btn.active-alert .bell-count{background:#b91c1c}
@keyframes zscAlertPulse{0%,100%{box-shadow:0 0 0 0 #ef444455}50%{box-shadow:0 0 0 7px #ef444400}}
.alert-center-card{width:min(760px,94vw);max-height:88vh;overflow:auto}.active-alert-list{display:grid;gap:8px}.active-alert-row{width:100%;text-align:left;border:1px solid #fecaca;border-left:6px solid #ef4444;border-radius:10px;background:#fff;padding:11px;cursor:pointer;display:grid;gap:4px}.active-alert-row.high{border-left-color:#ea580c}.active-alert-row.normal{border-left-color:#eab308}.active-alert-row.low{border-left-color:#64748b}.active-alert-row>div{display:flex;justify-content:space-between}.active-alert-row small{color:#64748b}
.board-tools{display:flex;justify-content:flex-end;margin-bottom:8px}.work-launch{position:relative}
@media(max-width:900px){.work-summary{grid-template-columns:repeat(2,1fr)}.task-detail-grid{grid-template-columns:1fr}.work-center-card{width:99vw;height:96vh}}


/* v0.8.1 UI refresh ------------------------------------------------------ */
.app-shell{grid-template-columns:330px minmax(560px,1fr) 360px;background:#f8fafc}
.sidebar{background:#fbfcfe}.sidebar-head{padding:14px 14px 8px}.sidebar-head>div:first-child strong{font-size:16px;letter-spacing:-.2px}.head-buttons{gap:4px}.head-buttons>.icon-btn{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid #e5eaf0;border-radius:10px;background:#fff;font-size:15px}.head-buttons>.icon-btn:hover{background:#f1f5f9}
.workspace-nav{padding:2px 12px 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-bottom:1px solid #eef1f5}.workspace-nav-btn{position:relative!important;min-width:0!important;min-height:40px!important;padding:7px 6px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;background:#fff!important;border:1px solid #e4e9ef!important;border-radius:10px!important;color:#334155!important;font-size:11px!important}.workspace-nav-btn:hover{background:#eef5ff!important;border-color:#cbdcff!important;color:#1558bd!important}.workspace-icon{font-size:14px;line-height:1}.workspace-label{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-nav-btn.hidden{display:none!important}.workspace-nav-btn .online-count,.workspace-nav-btn .bell-count{top:-4px!important;right:-3px!important;bottom:auto!important}
.dashboard-strip{margin-top:10px;background:#fff}.filter-row{flex-wrap:wrap;overflow:visible;padding-bottom:7px}.filter{padding:5px 8px}.search-wrap{padding-bottom:8px}.search-wrap input{height:38px;background:#fff}.group-toggle{margin-top:8px;display:flex;align-items:center;gap:6px;font-weight:500}.group-toggle input{width:auto}
.sidebar-section-title{padding:8px 13px 5px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sidebar-section-title b{font-size:12px}.sidebar-section-title span{font-size:10px;color:#94a3b8}
.conversation-list{padding-bottom:8px}.conv{margin:2px 7px;border-radius:11px;border-left:0;padding:10px}.conv.active{background:#eaf2ff;box-shadow:inset 3px 0 #1565ff}.conv:hover{background:#f2f6fb}.avatar{width:38px;height:38px}.conv{grid-template-columns:38px 1fr auto}.conv-title{font-size:13px}.conv-preview{font-size:11px}.conv-meta{gap:4px}.mini-pill{font-size:8.5px;padding:2px 5px}
.chat-pane{background:#f5f7fb}.chat-head{min-height:64px;padding:10px 18px;position:relative;z-index:2}.chat-head h2{font-size:17px}.detail-toggle{white-space:nowrap}.messages{padding:20px clamp(18px,3vw,44px) 28px;gap:5px;scrollbar-gutter:stable}.message-day{display:flex;align-items:center;justify-content:center;margin:12px 0 8px}.message-day span{font-size:10px;color:#64748b;background:#e9eef5;padding:4px 9px;border-radius:999px}.msg{max-width:min(68%,760px);padding:9px 12px 7px;border:1px solid #e6eaf0;border-radius:15px;box-shadow:none;background:#fff}.msg.outgoing{background:#dbeafe;border-color:#cbdcf9}.msg.grouped{margin-top:-2px}.msg-body{font-size:14px;line-height:1.42;overflow-wrap:anywhere}.msg-name{font-size:10px;color:#52657a}.msg-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:4px;min-height:13px}.msg-by{font-size:9px;color:#3f6695;margin:0}.msg-time{font-size:9px;color:#8793a1;margin:0;text-align:right}.chat-empty-hint{margin:auto;color:#94a3b8;font-size:12px}.composer{padding:10px 16px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:rgba(255,255,255,.97);box-shadow:0 -8px 30px rgba(15,23,42,.03)}.composer textarea{grid-column:1;min-height:44px;padding:11px 13px}.composer>button.primary{grid-column:2;min-width:76px}.composer-tools{grid-column:1/-1;order:-1;display:flex;gap:6px}.composer-tools .small{padding:5px 8px}
.detail-pane{background:#fbfcfe}.detail-quick-nav{position:sticky;top:0;z-index:4;display:flex;gap:4px;overflow-x:auto;padding:8px 10px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5eaf0;backdrop-filter:blur(8px);scrollbar-width:none}.detail-quick-nav::-webkit-scrollbar{display:none}.detail-quick-nav button{padding:5px 8px;white-space:nowrap;background:#f1f5f9;color:#526273;font-size:10px}.detail-quick-nav button:hover{background:#e2ebf7;color:#184f9b}.detail-section{padding:14px 16px;scroll-margin-top:50px}.detail-section h3{font-size:13px}.detail-section label{font-size:12px}.detail-pane.detail-user-hidden{display:none}.app-shell.detail-hidden{grid-template-columns:330px minmax(560px,1fr)}
.ticket-box{background:#fff}.notes-list{max-height:250px}.timeline-section{padding-bottom:40px}
@media(max-width:1250px){.app-shell{grid-template-columns:300px minmax(520px,1fr) 340px}.workspace-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.app-shell{grid-template-columns:290px 1fr}.detail-pane{position:fixed;right:0;top:0;bottom:0;width:min(380px,92vw);z-index:10;box-shadow:-12px 0 30px rgba(30,40,60,.12)}.app-shell.detail-hidden{grid-template-columns:290px 1fr}.workspace-label{display:none}.workspace-nav{grid-template-columns:repeat(6,1fr)}.workspace-nav-btn{min-height:36px!important}}

/* v0.8.2 AI Center */
.ai-nav-btn{position:relative}.ai-nav-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8;position:absolute;right:6px;top:6px}.ai-nav-dot.on{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}.ai-nav-dot.off{background:#94a3b8}.ai-center-card{width:min(1120px,95vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.ai-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.ai-status-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}.ai-status-grid span{font-size:10px;color:#64748b}.ai-status-grid b{font-size:12px}.ai-on{color:#15803d}.ai-off{color:#64748b}.ai-center-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:12px;padding:14px;overflow:auto}.ai-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;min-height:300px}.ai-panel textarea{width:100%;margin:8px 0}.ai-result{margin-top:10px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;padding:10px;min-height:110px;overflow:auto}.ai-analysis-main{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ai-analysis-main>div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px;display:flex;flex-direction:column;gap:2px}.ai-analysis-main span{font-size:9px;color:#64748b}.ai-analysis-main b{font-size:11px}.ai-analysis-line{margin-top:6px;font-size:11px}.ai-decision-list{display:flex;flex-direction:column;gap:7px;max-height:58vh;overflow:auto}.ai-decision{border:1px solid #e5e7eb;border-radius:10px;padding:9px;background:#fff}.ai-decision-top{display:flex;justify-content:space-between;gap:8px}.ai-message{margin:5px 0;font-size:11px;line-height:1.4}.ai-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px}.ai-tags span{background:#eef2ff;color:#3730a3;border-radius:999px;padding:2px 6px;font-size:9px}.ai-reply-suggestion{width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:9px;padding:8px;margin-top:7px}.ai-reply-suggestion:hover{border-color:#93c5fd;background:#f8fbff}.ai-reply-suggestion span{font-size:10px;font-weight:700}.ai-reply-suggestion p{font-size:11px;white-space:pre-wrap;margin:4px 0 0}.error-text{color:#b42318}
@media(max-width:900px){.ai-status-grid{grid-template-columns:repeat(2,1fr)}.ai-center-grid{grid-template-columns:1fr}.ai-analysis-main{grid-template-columns:repeat(2,1fr)}}

/* v0.8.3 hotfix */
.current-outside-filter{background:#fff7e6;border-top:1px solid #f1d9a8;border-bottom:1px solid #f1d9a8;color:#7a4b00}
.current-outside-filter span{color:#946200}
/* v0.9.0 access control + mobile sync */
.access-control-panel{grid-column:1/-1}.access-columns{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(420px,1.6fr);gap:16px;margin-top:10px}.access-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.access-feature{padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.access-conversation-list{max-height:390px;overflow:auto;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;background:#fff}.access-conversation-list.disabled{opacity:.55}.access-conversation-row{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border-bottom:1px solid #f1f5f9;cursor:pointer}.access-conversation-row:last-child{border-bottom:0}.access-conversation-row span{display:flex;flex-direction:column;min-width:0}.access-conversation-row b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-conversation-row small{color:#64748b;margin-top:2px}.sync-phone-info{margin-top:8px;line-height:1.4}.feature-disabled{opacity:.72}.feature-disabled textarea{background:#f8fafc}.feature-disabled button[type="submit"]{cursor:not-allowed}
@media(max-width:1000px){.access-columns{grid-template-columns:1fr}.access-feature-list{grid-template-columns:1fr 1fr}}

/* ===== v1.1 consolidated additions ===== */
.version-badge{font-size:10px;font-weight:800;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#4f46e5;margin-left:6px}
.zalo-image-link{display:block;margin:4px 0 6px;max-width:360px}.zalo-image{display:block;max-width:min(360px,100%);max-height:420px;object-fit:contain;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#f8fafc;cursor:zoom-in}.zalo-image-link.image-error{display:none}
.mention-wrap{position:relative;flex:1}.mention-suggest{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:220px;overflow:auto;background:#fff;border:1px solid #dbe3ee;border-radius:12px;box-shadow:0 14px 38px rgba(15,23,42,.16);z-index:40;padding:6px}.mention-suggest button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 10px;border-radius:8px;text-align:left}.mention-suggest button:hover{background:#f1f5f9}.mention-suggest button small{margin-left:auto;color:#64748b}.mention-tag{background:#dbeafe;color:#1d4ed8;border-radius:5px;padding:1px 4px;font-weight:700}
.directory-card{width:min(900px,94vw);height:min(760px,88vh);display:flex;flex-direction:column}.directory-tools{display:flex;gap:8px;padding:0 20px 10px}.directory-tools input{flex:1}.directory-tabs{display:flex;gap:6px;padding:0 20px 10px;border-bottom:1px solid #e5e7eb}.directory-tabs button{border:0;background:transparent;padding:8px 12px;border-radius:9px;font-weight:700;color:#64748b}.directory-tabs button.active{background:#eef2ff;color:#4338ca}.directory-list{padding:10px 20px 20px;overflow:auto;flex:1}.directory-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #eef2f7}.directory-avatar{width:38px;height:38px;border-radius:12px;background:#f1f5f9;display:grid;place-items:center}.directory-main{min-width:0}.directory-main b,.directory-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-main small{color:#64748b;margin-top:3px}.directory-loading{padding:40px;text-align:center;color:#64748b}
.video-stage .audio-call-avatar{display:none}.video-stage.audio-only{min-height:300px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#334155,#0f172a)}.video-stage.audio-only .audio-call-avatar{display:grid;width:120px;height:120px;border-radius:50%;place-items:center;font-size:54px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.video-stage.audio-only video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.internal-chat-card{width:min(1120px,96vw);height:min(780px,92vh)}.internal-composer{align-items:flex-end}.internal-composer .mention-wrap textarea{width:100%;box-sizing:border-box}
@media(max-width:820px){.directory-card{width:96vw;height:90vh}.zalo-image{max-width:100%}.internal-chat-layout{grid-template-columns:1fr}.internal-members{max-height:170px;border-right:0;border-bottom:1px solid #e5e7eb}}

/* v1.1 internal collaboration */
.v110-chat-card{width:min(1180px,96vw);height:min(820px,90vh)}
.v110-chat-layout{grid-template-columns:300px minmax(0,1fr);height:calc(90vh - 92px)}
.v110-sidebar{overflow:auto;padding:10px}
.v110-side-section{margin-bottom:14px}
.v110-side-title{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.v110-side-title .icon-btn{width:25px;height:25px;font-size:16px}
.channel-row .channel-hash{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--chip,#eef2f6);font-weight:900}
.ticket-thread-list{max-height:180px;overflow:auto}
.ticket-thread small,.channel-row small{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-unread{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:800}
.side-empty{padding:8px}
.attachment-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--panel-2,#f8fafc)}
.attach-btn{align-self:stretch;min-width:42px}
.internal-file{display:flex;gap:8px;align-items:center;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.04)}
.internal-file.image{display:block;max-width:360px}
.internal-file.image img{display:block;max-width:100%;max-height:280px;border-radius:8px;margin-bottom:6px;object-fit:contain}
.read-receipt{font-size:10px;opacity:.72;text-align:right;margin-top:3px}
.internal-msg{max-width:min(78%,720px)}
@media(max-width:850px){.v110-chat-layout{grid-template-columns:1fr}.v110-sidebar{max-height:210px;border-bottom:1px solid var(--border)}.v110-chat-card{height:94vh}.internal-conversation{min-height:0}}

/* v1.2.0 - scheduling, realtime clock, internal chat window modes and document viewer */
.realtime-clock{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:92px;padding:5px 9px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:#fff;line-height:1.05}.realtime-clock strong{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.4px}.realtime-clock span{font-size:10px;color:#64748b;margin-top:3px}.presence-dot.in-call{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}

.internal-chat-card{height:min(86vh,860px);overflow:hidden}.v110-chat-layout{height:calc(100% - 58px);min-height:0}.v110-sidebar{overflow-y:auto;overscroll-behavior:contain}.internal-conversation{min-height:0}.internal-message-stage{position:relative;flex:1;min-height:0;display:flex}.internal-messages{height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.new-message-jump{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:7px 12px;box-shadow:0 5px 18px rgba(15,23,42,.15);cursor:pointer}.chat-window-actions{display:flex;align-items:center;gap:5px}.internal-file.document{display:flex;align-items:center;justify-content:space-between;gap:10px}.internal-file.image{border:0;text-align:left;cursor:pointer;width:min(420px,100%)}
#internalChatModal.chat-expanded .internal-chat-card{width:min(94vw,1450px);height:92vh}#internalChatModal.chat-fullscreen{padding:0}#internalChatModal.chat-fullscreen .internal-chat-card{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0}#internalChatModal.chat-popup{background:transparent;pointer-events:none;align-items:flex-start;justify-content:flex-end;padding:70px 24px 24px}#internalChatModal.chat-popup .internal-chat-card{pointer-events:auto;position:relative;width:min(760px,calc(100vw - 48px));height:min(760px,calc(100vh - 100px));margin:0;box-shadow:0 20px 60px rgba(15,23,42,.28)}#internalChatModal.chat-popup #internalChatDragHandle{cursor:move;user-select:none}.internal-chat-mini{position:fixed;right:22px;bottom:22px;z-index:1400;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:10px 14px;box-shadow:0 10px 28px rgba(15,23,42,.2);cursor:pointer;display:flex;align-items:center;gap:7px}.internal-chat-mini b{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:#dc2626;color:#fff;font-size:10px}.internal-chat-mini.hidden{display:none!important}

.schedule-card{width:min(98vw,1750px);height:min(94vh,980px);max-width:none;display:flex;flex-direction:column;overflow:hidden}.schedule-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0}.schedule-toolbar>strong{font-size:15px;min-width:180px}.schedule-view-switch{display:flex;border:1px solid #dbe2ea;border-radius:9px;overflow:hidden}.schedule-view-switch button{border:0;background:#fff;padding:8px 12px;cursor:pointer}.schedule-view-switch button.active{background:#eaf2ff;color:#1d4ed8;font-weight:700}.schedule-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0 10px}.schedule-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#475569}.schedule-legend-item i{width:12px;height:12px;border-radius:3px;border:1px solid rgba(15,23,42,.12)}.schedule-grid-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #dbe2ea;border-radius:10px;background:#fff;scrollbar-gutter:stable}.schedule-week-block{min-width:1180px}.schedule-week-title{position:sticky;left:0;z-index:7;padding:7px 10px;background:#0f9f4f;color:#fff;font-weight:800;text-align:center;border-bottom:1px solid #0b7e3e}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11px}.schedule-table th,.schedule-table td{border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;padding:0;height:42px}.schedule-table thead th{background:#effcf4;position:sticky;top:0;z-index:4;text-align:center;font-weight:800}.schedule-table thead tr:nth-child(2) th{top:32px;background:#f8fafc;font-size:10px;height:28px}.schedule-table .employee-col{position:sticky!important;left:0!important;z-index:6!important;width:145px;min-width:145px;background:#f8fafc!important;text-align:left;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-table tbody .employee-col{font-weight:700;color:#0f3f72}.schedule-cell{height:42px;width:100%;border:0;background:#fff;padding:4px 5px;cursor:pointer;font-size:11px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:normal}.schedule-cell:hover{outline:2px solid #2563eb;outline-offset:-2px}.schedule-cell.readonly{cursor:default}.schedule-cell.readonly:hover{outline:none}.schedule-cell.empty{background:#fffdfd}.schedule-cell .schedule-main{font-weight:700}.schedule-cell .schedule-sub{font-size:9px;opacity:.76;margin-top:2px}.schedule-cell.type-office,.schedule-legend-item .type-office{background:#b9d9ad}.schedule-cell.type-hospital,.schedule-legend-item .type-hospital{background:#bed3f0}.schedule-cell.type-online,.schedule-legend-item .type-online{background:#c7d8ef}.schedule-cell.type-remote,.schedule-legend-item .type-remote{background:#d9cdf3}.schedule-cell.type-meeting,.schedule-legend-item .type-meeting{background:#ffe889}.schedule-cell.type-training,.schedule-legend-item .type-training{background:#f6d8aa}.schedule-cell.type-leave,.schedule-legend-item .type-leave{background:#666;color:#fff}.schedule-cell.type-other,.schedule-legend-item .type-other{background:#e8edf3}.schedule-month-stack{display:flex;flex-direction:column}.schedule-entry-meta{padding:9px 10px;border-radius:9px;background:#f1f5f9;margin-bottom:10px;font-size:12px}.schedule-loading{padding:50px;text-align:center;color:#64748b}.spacer{flex:1}

.document-viewer-card{width:min(96vw,1500px);height:94vh;max-width:none;display:flex;flex-direction:column;overflow:hidden}.onlyoffice-viewer{flex:1;min-height:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.image-preview-card{width:min(94vw,1400px);height:min(92vh,950px);display:flex;flex-direction:column}.image-preview-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;background:#111827;border-radius:10px}.image-preview-stage img{max-width:100%;max-height:100%;object-fit:contain}.device-check-body{display:grid;gap:8px}.device-check-row{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid #e2e8f0;border-radius:9px}.device-ok{color:#15803d}.device-warn{color:#b45309}.device-bad{color:#b91c1c}.call-history-list{max-height:65vh;overflow:auto;display:flex;flex-direction:column;gap:7px}.call-history-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px}.call-history-row .status{font-size:11px;font-weight:700}.call-history-row .missed{color:#b91c1c}.call-history-row .ended{color:#475569}.call-history-row .active{color:#15803d}
.onlyoffice-panel{background:linear-gradient(180deg,#fbfdff,#f7fbff)}

@media(max-width:900px){.realtime-clock{display:none}.schedule-card{width:100vw;height:100vh;border-radius:0}.schedule-table .employee-col{width:110px;min-width:110px}.chat-window-actions #internalChatPopupBtn{display:none}#internalChatModal.chat-popup{padding:0}#internalChatModal.chat-popup .internal-chat-card{width:100vw;height:100vh;border-radius:0}.call-history-row{grid-template-columns:80px 1fr}}

/* v1.3.0 — Omnichannel, utilities and technical toolbox */
.source-filter-row{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border,#e5e7eb);flex-wrap:wrap}.source-filter{border:1px solid var(--border,#d1d5db);background:transparent;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;cursor:pointer}.source-filter.active{background:#111827;color:#fff}.source-filter.source-zl{border-color:#1f6feb}.source-filter.source-tl{border-color:#229ed9}.source-filter.source-ws{border-color:#25d366}.channel-code-badge{margin-left:auto;align-self:flex-start;font-size:10px;line-height:1;padding:4px 5px;border-radius:5px;font-weight:800;border:1px solid currentColor;opacity:.8}.channel-code-badge[data-channel="ZL"],.active-channel-badge[data-channel="ZL"],.msg-source-mini[data-channel="ZL"]{color:#1f6feb}.channel-code-badge[data-channel="TL"],.active-channel-badge[data-channel="TL"],.msg-source-mini[data-channel="TL"]{color:#1688b9}.channel-code-badge[data-channel="WS"],.active-channel-badge[data-channel="WS"],.msg-source-mini[data-channel="WS"]{color:#168b47}.active-channel-badge{font-size:10px;font-weight:800;border:1px solid currentColor;border-radius:4px;padding:1px 4px}.msg-source-mini{font-size:9px;font-weight:800;border:1px solid currentColor;border-radius:4px;padding:1px 3px;margin-right:5px;vertical-align:1px}.msg-reactions{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.msg-reactions span{font-size:11px;background:rgba(127,127,127,.12);border:1px solid rgba(127,127,127,.22);padding:2px 6px;border-radius:999px}.utility-card{width:min(780px,94vw)}.utility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.utility-tile{min-height:100px;text-align:left;border:1px solid var(--border,#d1d5db);border-radius:12px;background:var(--panel,#fff);padding:14px;display:flex;flex-direction:column;gap:5px;cursor:pointer}.utility-tile>span{font-size:25px}.utility-tile small{opacity:.7}.owncloud-browser{min-height:320px}.cloud-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.cloud-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;border:1px solid var(--border,#ddd);background:transparent;border-radius:8px;padding:9px;cursor:pointer}.cloud-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-card{width:min(1180px,96vw);max-height:92vh;overflow:auto}.tools-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border,#ddd);padding-bottom:8px;margin-bottom:12px}.tools-tabs button{border:1px solid var(--border,#ccc);background:transparent;border-radius:8px;padding:7px 11px;cursor:pointer}.tools-tabs button.active{background:#111827;color:#fff}.tool-tab{min-height:420px}.tool-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.tool-tab textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.tool-result{border:1px solid var(--border,#ddd);border-radius:8px;padding:10px;min-height:80px;background:rgba(127,127,127,.05);overflow:auto}.code-result{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-height:380px}.hl7-segments{margin-top:12px;display:flex;flex-direction:column;gap:6px}.hl7-segments details{border:1px solid var(--border,#ddd);border-radius:8px;padding:7px 9px}.hl7-fields{display:grid;gap:3px;margin-top:7px}.hl7-fields>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:3px 0;border-top:1px dashed rgba(127,127,127,.25)}.hl7-fields code{font-weight:700}.api-line{display:flex;gap:7px;align-items:center;margin-bottom:10px}.api-line input{flex:1;min-width:0}.api-line select{min-width:90px}.warn{color:#b45309;margin-top:6px}.dicom-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.dicom-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}.dicom-stage{background:#111;border-radius:10px;min-height:460px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.dicom-stage canvas{max-width:100%;max-height:560px;image-rendering:auto;transform-origin:center center}.dicom-stage #dicomEmpty{color:#bbb;padding:20px;text-align:center}.dicom-controls{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;background:rgba(0,0,0,.72);padding:7px;border-radius:8px;color:#fff}.dicom-controls label{display:flex;align-items:center;gap:4px;font-size:11px}.dicom-controls input[type="number"]{width:78px}.dicom-tags{max-height:390px;overflow:auto;margin-top:10px;border:1px solid var(--border,#ddd);border-radius:8px}.dicom-tags>div{display:grid;grid-template-columns:95px 145px minmax(0,1fr);gap:7px;padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.18);font-size:11px}.dicom-tags code{font-weight:700}.v130-admin-panel{grid-column:1/-1}.v130-admin-panel textarea{min-height:74px}.realtime-clock+.connection-chip{margin-left:3px}
@media(max-width:800px){.tool-grid-2,.dicom-layout{grid-template-columns:1fr}.tools-card{width:96vw}.dicom-stage{min-height:320px}.api-line{flex-wrap:wrap}.api-line select,.api-line button{min-height:40px}.dicom-tags>div{grid-template-columns:85px 1fr}.dicom-tags>div span{grid-column:1/-1}.source-filter-row{padding:5px 8px}}

/* v1.4.0 — Compact sidebar, mobile layout, integrated utilities and native push */
.sidebar-toggle{font-size:15px;flex:0 0 auto}.app-shell{transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(420px,1fr) 390px}.sidebar-collapsed .sidebar-head{padding:12px 8px;flex-direction:column}.sidebar-collapsed .sidebar-head>div:first-of-type,.sidebar-collapsed .status-line,.sidebar-collapsed .dashboard-strip,.sidebar-collapsed .filter-row,.sidebar-collapsed .search-wrap,.sidebar-collapsed .sidebar-foot{display:none}.sidebar-collapsed .head-buttons{display:grid;grid-template-columns:1fr;gap:4px}.sidebar-collapsed .head-buttons .icon-btn{width:44px;height:40px}.sidebar-collapsed .conversation-list .conv{display:flex;justify-content:center;padding:7px 4px;border-left-width:2px}.sidebar-collapsed .conversation-list .conv>div:not(.avatar),.sidebar-collapsed .conversation-list .conv>.badge,.sidebar-collapsed .channel-code-badge,.sidebar-collapsed .conv-group-header{display:none!important}.sidebar-collapsed .conversation-list .avatar{width:42px;height:42px}.mobile-only,.mobile-bottom-nav,.mobile-scrim{display:none}
.v140-admin-panel{grid-column:1/-1}.v140-utility-content{min-height:360px}.v140-utility-content .section-title>div{display:flex;align-items:center;gap:10px}.v140-utility-content h4{margin:0}.v140-utility-body{min-height:300px}.utility-embed-note{font-size:12px;color:#64748b;margin-bottom:8px}.utility-embed-frame{width:100%;height:min(68vh,720px);border:1px solid #dbe2ea;border-radius:10px;background:#fff}.v140-status-grid{display:grid;gap:8px}.v140-status-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px}.status-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}.status-dot.ok{background:#16a34a}.status-dot.off{background:#dc2626}.dicom-tag-search{margin-top:10px}.dicom-stage canvas{touch-action:none;cursor:grab}.dicom-stage canvas:active{cursor:grabbing}

@media(max-width:1100px){.app-shell.sidebar-collapsed{grid-template-columns:72px 1fr}.app-shell.sidebar-collapsed .detail-pane{position:fixed}}
@media(max-width:760px){
  body{overflow:hidden}.app-shell,.app-shell.sidebar-collapsed{height:100dvh;grid-template-columns:1fr}.mobile-only{display:inline-flex}.sidebar-toggle{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(88vw,360px);z-index:42;transform:translateX(-102%);transition:transform .2s ease;box-shadow:14px 0 34px rgba(15,23,42,.18)}.app-shell.mobile-sidebar-open .sidebar{transform:translateX(0)}.sidebar-head strong,.status-line,.search-wrap,.sidebar-foot>div:first-child,.foot-actions,.dashboard-strip,.filter-row{display:initial}.sidebar-head{display:flex}.search-wrap{display:block}.dashboard-strip{display:grid}.filter-row{display:flex}.foot-actions{display:flex}.sidebar-foot>div:first-child{display:block}.conversation-list .conv{grid-template-columns:42px 1fr auto;padding:10px 12px}.conv-preview,.conv-meta{display:block}.conv-title{font-size:14px}.chat-pane{grid-column:1;min-width:0;padding-bottom:62px}.chat-head{min-height:60px;padding:9px 10px}.chat-head h2{font-size:15px}.head-actions{gap:3px}.head-actions .connection-chip,.head-actions .realtime-clock{display:none}.messages{padding:12px 10px 18px}.msg{max-width:90%;font-size:14px}.composer{padding:8px 9px;gap:7px;position:sticky;bottom:0}.composer button{min-width:64px}.detail-pane{display:block;position:fixed;inset:0 0 58px auto;width:min(94vw,430px);z-index:44;transform:translateX(103%);transition:transform .2s ease;box-shadow:-12px 0 30px rgba(15,23,42,.18)}.app-shell.mobile-detail-open .detail-pane{transform:translateX(0)}.mobile-scrim{position:fixed;inset:0;z-index:40;background:rgba(15,23,42,.38)}.app-shell.mobile-sidebar-open .mobile-scrim,.app-shell.mobile-detail-open .mobile-scrim{display:block}.mobile-bottom-nav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:46;grid-template-columns:repeat(5,1fr);height:58px;border-top:1px solid #dbe2ea;background:#fff;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav button{border-radius:0;background:#fff;padding:5px 2px;font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#334155}.mobile-bottom-nav button span{font-size:9px}.modal{padding:0;place-items:stretch}.modal-card,.utility-card,.tools-card,.document-viewer-card,.image-preview-card,.internal-chat-card,.schedule-card{width:100%!important;max-width:none!important;height:calc(100dvh - 58px)!important;max-height:none!important;border-radius:0!important;margin:0;overflow:auto}.modal-head{position:sticky;top:0;z-index:4;background:#fff;padding-top:4px}.utility-grid{grid-template-columns:1fr 1fr}.utility-embed-frame{height:calc(100dvh - 190px)}.tool-tab{min-height:0}.dicom-stage{min-height:52vw}.dicom-controls{position:static;margin-top:6px}.internal-chat-layout,.v110-chat-layout{grid-template-columns:1fr!important}.v110-sidebar{display:none}.schedule-grid-wrap{max-height:calc(100dvh - 190px)}
}

/* v1.5.0 — streamlined navigation, omnichannel flow UX and Utility Center */
#appView.app-shell{grid-template-columns:68px 320px minmax(0,1fr) 340px;transition:grid-template-columns .18s ease;background:#f6f8fb}
.v150-nav-rail{grid-column:1;grid-row:1;min-width:0;border-right:1px solid #dfe5ec;background:#0f172a;color:#fff;display:flex;flex-direction:column;align-items:center;padding:10px 7px;z-index:6}
.v150-nav-brand{width:44px;height:44px;border-radius:13px;background:#fff;color:#0f172a;display:grid;place-items:center;font-weight:900;margin:1px 0 12px;box-shadow:0 5px 18px rgba(0,0,0,.15)}
.v150-nav-items{display:flex;flex-direction:column;gap:5px;width:100%;flex:1}.v150-nav-btn,.v150-nav-user{position:relative;width:100%;min-height:54px;border:0;border-radius:12px;background:transparent;color:#cbd5e1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;cursor:pointer}.v150-nav-btn>span{font-size:20px;line-height:1}.v150-nav-btn small{font-size:9px;line-height:1.15}.v150-nav-btn:hover,.v150-nav-btn.active{background:#1e293b;color:#fff}.v150-nav-btn.active:before{content:"";position:absolute;left:-7px;width:3px;height:24px;border-radius:0 3px 3px 0;background:#60a5fa}.v150-nav-badge{position:absolute;top:5px;right:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-style:normal;display:grid;place-items:center}.v150-nav-user{width:44px;height:44px;min-height:44px;border-radius:50%;background:#334155;color:#fff;font-weight:800}.v150-nav-user span{font-size:14px}
.v150-more-menu{position:fixed;z-index:130;width:230px;background:#fff;border:1px solid #dbe2ea;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.22);padding:8px}.v150-more-title{font-weight:800;font-size:12px;color:#64748b;padding:7px 9px}.v150-more-menu button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:#334155;padding:10px;border-radius:9px}.v150-more-menu button:hover{background:#f1f5f9}.v150-more-menu button span{font-size:12px}.v150-more-sep{height:1px;background:#e5e7eb;margin:5px 4px}
#appView .sidebar{grid-column:2;grid-row:1;background:#fff;min-width:0;overflow:hidden;border-right:1px solid #e2e8f0;transition:opacity .15s ease,transform .15s ease}.v150-hide-legacy-head,.v150-hide-legacy-nav{display:none!important}.v150-inbox-head{display:flex;align-items:center;justify-content:space-between;padding:14px 13px 10px;border-bottom:1px solid #eef2f6}.v150-inbox-head>div{display:flex;flex-direction:column;gap:1px}.v150-inbox-head strong{font-size:16px;color:#0f172a}.v150-inbox-head span{font-size:10px;color:#94a3b8}.v150-inbox-head .icon-btn{font-size:13px;width:32px;height:32px;border:1px solid #e2e8f0;border-radius:9px}.v150-filter-hidden{display:none!important}.v150-dashboard-strip{margin:10px 10px 8px!important;border-radius:10px!important}.v150-dashboard-strip div{padding:7px 3px!important}.v150-inbox-toolbar{padding:0 10px 7px}.v150-filter-line{display:grid;grid-template-columns:1fr 34px;gap:6px}.v150-filter-line select{height:34px;padding:5px 30px 5px 9px;font-size:11px}.v150-filter-line .icon-btn{height:34px;font-size:15px;border:1px solid #dbe2ea;border-radius:8px}.v150-inbox-toolbar .source-filter-row{padding:7px 0 0;border:0}.v150-inbox-toolbar .source-filter{padding:4px 8px}.sidebar-section-title{display:none!important}.search-wrap{padding:0 10px 9px!important}.search-wrap input{height:36px;border-radius:9px;background:#f8fafc!important}.group-toggle{margin-top:6px;display:flex!important;align-items:center;gap:5px}.conversation-list{border-top:1px solid #f1f5f9}.conv{padding:10px 11px}.conv.active{background:#eff6ff}.v150-sidebar-foot{padding:8px 10px!important}.v150-sidebar-foot .foot-actions{gap:3px}.v150-sidebar-foot #adminBtn{display:none!important}
#appView.inbox-collapsed{grid-template-columns:68px 0 minmax(0,1fr) 340px}#appView.inbox-collapsed .sidebar{opacity:0;pointer-events:none;transform:translateX(-8px)}#appView.sidebar-collapsed{grid-template-columns:68px 320px minmax(0,1fr) 340px}#appView.sidebar-collapsed .sidebar{opacity:1;pointer-events:auto;transform:none}#appView.detail-hidden{grid-template-columns:68px 320px minmax(0,1fr) 0}#appView.detail-hidden.inbox-collapsed{grid-template-columns:68px 0 minmax(0,1fr) 0}
#appView .chat-pane{grid-column:3;grid-row:1;background:#f6f8fb;min-width:0}#appView .detail-pane{grid-column:4;grid-row:1}.chat-head{min-height:64px;padding:9px 14px}.head-actions{gap:6px;flex-wrap:nowrap}.v150-channel-health{display:flex;gap:4px}.v150-health-chip{height:26px;min-width:34px;padding:0 7px;border-radius:999px;border:1px solid #dbe2ea;background:#fff;font-size:9px;font-weight:800;color:#64748b;display:flex;align-items:center;gap:5px}.v150-health-chip i{width:6px;height:6px;border-radius:50%;background:#94a3b8}.v150-health-chip.on i{background:#22c55e}.v150-health-chip.off{opacity:.65}.v150-health-chip.off i{background:#ef4444}.v150-top-bell{display:inline-flex!important;border:1px solid #dbe2ea;border-radius:9px;width:36px;height:34px;align-items:center;justify-content:center;background:#fff}.v150-user-chip{height:34px;border:1px solid #dbe2ea;background:#fff;border-radius:999px;padding:3px 8px 3px 3px;display:flex;align-items:center;gap:6px;color:#334155}.v150-user-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0f172a;color:#fff;font-size:10px;font-weight:800}.v150-user-name{font-size:10px;font-weight:700;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v150-legacy-status{display:none!important}.realtime-clock{min-width:86px}
.v150-welcome{display:flex;flex-direction:column;align-items:center;max-width:560px}.v150-welcome-mark{width:64px;height:64px;border-radius:18px;background:#0f172a;color:#fff;display:grid;place-items:center;font-weight:900;font-size:28px;box-shadow:0 12px 28px rgba(15,23,42,.14);margin-bottom:10px}.v150-welcome h3{font-size:20px!important;margin:3px 0!important}.v150-welcome p{margin:0 0 18px}.v150-welcome-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(460px,90vw)}.v150-welcome-stats button{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;color:#334155}.v150-welcome-stats b{display:block;font-size:18px;color:#0f172a}.v150-welcome-stats span{font-size:10px;color:#64748b}
.v150-reply-context{display:flex;align-items:center;gap:8px;padding:6px 15px;background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;font-size:10px}.v150-reply-context b{color:#334155}.v150-reply-context>span:last-child{margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v150-detail-tabs{position:sticky;top:0;z-index:5;display:flex;gap:3px;overflow-x:auto;padding:7px;background:rgba(255,255,255,.97);border-bottom:1px solid #e5e7eb;scrollbar-width:none}.v150-detail-tabs::-webkit-scrollbar{display:none}.v150-detail-tabs button{white-space:nowrap;background:#f1f5f9;color:#64748b;padding:6px 8px;border-radius:7px;font-size:9px}.v150-detail-tabs button.active{background:#0f172a;color:#fff}.v150-detail-section-hidden{display:none!important}
.v150-utility-tile{position:relative}.v150-utility-tile em{position:absolute;right:9px;top:9px;font-style:normal;font-size:8px;color:#94a3b8;border:1px solid #e2e8f0;border-radius:999px;padding:2px 5px}.v150-link-utility,.v150-connector-card{display:grid;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.v150-link-utility code,.v150-connector-card code{word-break:break-all;background:#f8fafc;padding:8px;border-radius:8px}.v150-connector-status{display:flex;align-items:center;gap:10px}.v150-connector-status>div{display:flex;flex-direction:column}.v150-connector-status small{color:#64748b;margin-top:2px}.v150-utility-admin-card{width:min(860px,95vw);padding:18px}.v150-utility-admin-list{display:grid;gap:7px;margin-top:12px;max-height:65vh;overflow:auto}.v150-utility-admin-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px}.v150-utility-admin-row>span{font-size:22px}.v150-utility-admin-row>div{display:flex;flex-direction:column;min-width:0}.v150-utility-admin-row small{font-size:9px;color:#64748b}.v150-utility-admin-row em{font-size:9px;font-style:normal;color:#94a3b8}

@media(max-width:1180px){
  #appView.app-shell,#appView.sidebar-collapsed{grid-template-columns:64px 300px minmax(0,1fr)}#appView.inbox-collapsed{grid-template-columns:64px 0 minmax(0,1fr)}#appView .detail-pane{grid-column:auto;position:fixed;right:0;top:0;bottom:0;width:min(380px,92vw);z-index:30;box-shadow:-12px 0 30px rgba(15,23,42,.12)}#appView.detail-hidden{grid-template-columns:64px 300px minmax(0,1fr)}#appView.detail-hidden.inbox-collapsed{grid-template-columns:64px 0 minmax(0,1fr)}.v150-nav-rail{padding-left:5px;padding-right:5px}.v150-nav-btn small{display:none}.v150-nav-btn{min-height:48px}.v150-nav-brand{width:40px;height:40px}.v150-user-name{display:none}.v150-user-chip{padding-right:3px}.realtime-clock{display:none}
}
@media(max-width:760px){
  #appView.app-shell,#appView.sidebar-collapsed,#appView.inbox-collapsed,#appView.detail-hidden,#appView.detail-hidden.inbox-collapsed{grid-template-columns:1fr!important;height:100dvh}.v150-nav-rail{display:none}.v150-more-menu{left:10px!important;right:10px;width:auto;bottom:66px!important}.v150-hide-legacy-head{display:flex!important}.v150-hide-legacy-head>div:first-of-type,.v150-hide-legacy-head .head-buttons{display:none!important}.v150-inbox-head{display:flex}.sidebar{grid-column:1!important;opacity:1!important;pointer-events:auto!important;transform:translateX(-102%)!important}.app-shell.mobile-sidebar-open .sidebar{transform:translateX(0)!important}.app-shell.inbox-collapsed .sidebar{transform:translateX(-102%)!important}.v150-inbox-head #v150InboxToggle{display:none}.v150-user-chip{display:none}.v150-channel-health{display:none}.v150-top-bell{display:inline-flex!important}.head-actions .v150-top-bell{order:5}.chat-head .head-actions{margin-left:auto}.v150-reply-context{padding:5px 10px}.v150-reply-context>span:last-child{display:none}.v150-detail-tabs{top:0}.v150-utility-admin-card{width:100%!important;height:calc(100dvh - 58px)!important;border-radius:0!important}.utility-grid{grid-template-columns:1fr 1fr}.v150-welcome-stats{grid-template-columns:1fr 1fr 1fr}
}

/* v1.6.0 — AI inheritance, rule builder and immediate-ticket workflow */
.v160-inbox-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.v160-ai-entry{white-space:nowrap}.v160-ai-entry span{display:inline}
.v160-ai-config-card{width:min(900px,94vw);max-height:90vh;overflow:auto}.v160-ai-config-form{display:grid;gap:12px}.v160-flow-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft,#f6f8fb)}.v160-flow-banner span{color:var(--muted);font-size:13px}.v160-ai-test{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.v160-ai-test pre{grid-column:1/-1;white-space:pre-wrap;max-height:220px;overflow:auto;background:#111827;color:#e5e7eb;border-radius:10px;padding:10px;font-size:12px}
.v160-rule-card{width:min(900px,94vw);max-height:88vh;overflow:auto}.v160-rule-list{display:grid;gap:8px}.v160-rule-row{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--panel,#fff);padding:11px 12px}.v160-rule-row:hover{border-color:var(--accent,#2563eb)}.v160-rule-row div{min-width:0;display:grid;gap:3px}.v160-rule-row small,.v160-rule-row em{font-size:12px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v160-rule-state{width:9px;height:9px;border-radius:50%;background:#9ca3af}.v160-rule-state.on{background:#16a34a}.v160-rule-editor-card{width:min(760px,94vw)}
@media(max-width:767px){.v160-ai-entry span{display:none}.v160-inbox-actions{margin-left:4px}.v160-ai-config-card,.v160-rule-card,.v160-rule-editor-card{width:96vw;max-height:92vh}.v160-ai-test{grid-template-columns:1fr}.v160-ai-test pre{grid-column:auto}.v160-flow-banner{flex-direction:column;gap:4px}}

/* v1.6.1: ticket-aware conversation work area */
#replyTicketContext{padding:10px 16px;background:#eff6ff;border-top:1px solid #bfdbfe;color:#1e3a8a;display:flex;gap:8px;flex-direction:column}
#replyTicketContext.hidden{display:none}#replyTicketContext label{display:flex;align-items:center;gap:10px;font-weight:600}
#replyTicketContext select{flex:1;min-width:0;max-width:100%;padding:6px;border-radius:6px;border:1px solid #93c5fd}
.ticket-message-selected{outline:2px solid #60a5fa;outline-offset:2px}

#conversationHandling170{flex:none;background:white;border-bottom:1px solid #dce5ef;padding:10px 16px;font-size:13px}#conversationHandling170.hidden{display:none}.handling-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.handling-suggestion{margin-top:8px;padding:10px;border-radius:8px;background:#eff6ff}.handling-suggestion p{margin:6px 0}.directory-main{min-width:0}.directory-row{flex-wrap:wrap}#groupRoutingModal170 .modal-card{max-width:620px;width:95%}

/* v1.8.0 - Zalo group space, CRM removal */
.v180-removed{display:none!important}
.zgs-search{width:100%;box-sizing:border-box}
.zgs-filter{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;cursor:pointer}
.zgs-signal{display:inline-block;margin:2px 0 4px;padding:2px 8px;border-radius:999px;background:#fff4e5;color:#b45309;font-size:11px;font-weight:700}
.internal-msg.zgs-issue{box-shadow:inset 3px 0 0 #f59e0b}
.zgs-msg-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.zgs-msg-actions:empty{display:none}
.zgs-ticket-chip{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 8px;font-size:11px;cursor:pointer}
.zgs-quote{margin-bottom:10px;padding:8px 10px;border-left:3px solid #1565ff;background:#f5f8ff;border-radius:6px;font-size:12px}
.zgs-quote div{margin-top:4px;white-space:pre-wrap}
.v180-collapsible.v180-collapsed{max-height:150px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.v180-more{display:block;margin:4px 0 0;padding:2px 10px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600;cursor:pointer}
.v180-jump-host{position:relative}
.v180-jump{position:absolute;right:24px;bottom:16px;z-index:5;padding:6px 12px;border:0;border-radius:999px;background:#1565ff;color:#fff;font-size:12px;font-weight:700;box-shadow:0 4px 14px rgba(21,101,255,.35);cursor:pointer}
.v180-jump.hidden{display:none}
/* v1.8: keep the page at screen height; the message list scrolls instead of stretching the page */
#appView.app-shell{grid-template-rows:minmax(0,1fr)}
#appView .chat-pane{min-height:0;overflow:hidden}
#appView #messages{min-height:0}
.zgs-mini{position:fixed;right:22px;bottom:78px;z-index:1400;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:10px 14px;box-shadow:0 10px 28px rgba(15,23,42,.2);cursor:pointer;display:flex;align-items:center;gap:7px;font-weight:600}
.zgs-mini.hidden{display:none}
.zgs-mini b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.zgs-mini b.hidden{display:none}
.zgs-card.zgs-expanded{width:98vw;height:96vh;max-width:none;max-height:none}
/* v1.8: tidy conversation list rows (no horizontal scroll, text truncates cleanly) */
#appView .conversation-list{overflow-x:hidden}
#appView .conversation-list .conv{grid-template-columns:38px minmax(0,1fr) auto;align-items:start;column-gap:10px}
#appView .conversation-list .conv>div:not(.avatar){min-width:0}
#appView .conversation-list .conv-title-line{display:flex;align-items:center;gap:6px;min-width:0}
#appView .conversation-list .conv-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#appView .conversation-list .conv-title-line .mini-pill{flex:0 0 auto;white-space:nowrap}
#appView .conversation-list .conv-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#appView .conversation-list .conv-meta{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
#appView .conversation-list .conv-meta .mini-pill{white-space:nowrap}
#appView .conversation-list .conv>.channel-code-badge,#appView .conversation-list .conv>.badge{align-self:start;margin-top:2px}
/* v1.8: Nhóm Zalo window layout, reply/attachment/suggestion tools */
.zgs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.zgs-head-title{min-width:0;flex:1 1 auto}
.zgs-head-title h3{margin:0;white-space:nowrap;font-size:18px}
.zgs-sync-state{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.zgs-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.zgs-head-actions .ghost.small{white-space:nowrap}
.zgs-head-sep{width:1px;height:22px;background:#e2e8f0;margin:0 4px}
#zgsGroupList .member-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left}
#zgsGroupList .member-row .channel-hash{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#eef2ff;font-size:14px}
#zgsGroupList .member-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#zgsGroupList .member-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zgs-tools{display:flex;gap:6px;padding:6px 12px 0;flex-wrap:wrap}
.zgs-reply-bar,.zgs-file-bar{display:flex;align-items:center;gap:8px;margin:6px 12px 0;padding:6px 10px;border-radius:8px;background:#f1f5f9;font-size:12px}
.zgs-reply-bar{border-left:3px solid #1565ff;justify-content:space-between}
.zgs-reply-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zgs-reply-bar.hidden,.zgs-file-bar.hidden,.zgs-suggest.hidden{display:none}
.zgs-file-bar{flex-wrap:wrap}
.zgs-file-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid #cbd5e1}
.zgs-file-chip button{border:0;background:none;cursor:pointer;font-size:14px;line-height:1}
.zgs-suggest{margin:6px 12px 0;max-height:220px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:6px;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.zgs-suggest-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px}
.zgs-suggest-row{display:block;width:100%;text-align:left;border:0;background:none;border-radius:8px;padding:6px 8px;cursor:pointer}
.zgs-suggest-row:hover{background:#eff6ff}
.zgs-suggest-row b{display:block;font-size:12px}
.zgs-suggest-row span{display:block;font-size:12px;color:#475569;white-space:pre-wrap}
.zgs-download{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d;font-size:12px;text-decoration:none}
.zgs-msg-actions .ghost.small{padding:2px 10px}
#zaloGroupSpace180 .internal-conversation{position:relative}
.zgs-members{position:absolute;top:58px;right:0;bottom:0;width:280px;z-index:6;background:#fff;border-left:1px solid #e2e8f0;box-shadow:-8px 0 20px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:8px;padding:10px}
.zgs-members.hidden{display:none}
.zgs-members-head{display:flex;justify-content:space-between;align-items:center}
.zgs-members-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:2px}
.zgs-member{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;padding:5px 4px;border-radius:8px}
.zgs-member:hover{background:#f8fafc}
.zgs-member img,.zgs-member-ph{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#e0e7ff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#3730a3}
.zgs-member b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zgs-role{display:inline-block;margin-top:2px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:700;background:#fef3c7;color:#92400e}
.zgs-role.owner{background:#dbeafe;color:#1d4ed8}
#zaloGroupSpace180 .internal-conversation.zgs-drop{outline:2px dashed #1565ff;outline-offset:-6px;background:#f5f8ff}
.zgs-file-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px}
/* v1.8: in-app web browser */
.wb-card{width:min(1200px,96vw);height:min(820px,92vh);display:flex;flex-direction:column;padding:10px;gap:6px}
.wb-card.wb-expanded{width:99vw;height:98vh}
.wb-toolbar{display:flex;align-items:center;gap:6px}
.wb-address{flex:1;min-width:0}
.wb-address input{width:100%;box-sizing:border-box;border-radius:999px;padding:8px 14px}
.wb-bookmarks{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:24px}
.wb-bm{border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:2px 10px;font-size:12px;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-bm:hover{background:#eff6ff;border-color:#bfdbfe}
.wb-stage{position:relative;flex:1;min-height:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}
.wb-stage iframe{width:100%;height:100%;border:0}
.wb-home{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:#f8fafc;color:#334155}
.wb-home.hidden{display:none}
.wb-home-icon{font-size:42px}
.wb-home p{max-width:520px;font-size:13px}
.wb-mini{bottom:134px}
.wb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.wb-always{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
.internal-msg.pending{opacity:.6}
.zgs-timeline{width:340px}
.zgs-tl-filter{font-size:12px;padding:2px 4px;margin-right:4px}
.zgs-tl{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;padding:6px 4px;border-bottom:1px solid #f1f5f9;font-size:12px}
.zgs-tl.staff{background:#f0f7ff;border-radius:6px}
.zgs-tl-icon{text-align:center;color:#64748b}
.zgs-tl b{font-size:12px}
.zgs-tl small{display:block;color:#94a3b8}
.zgs-tl p{margin:3px 0 0;color:#334155;white-space:pre-wrap;word-break:break-word}
.org-folder{cursor:pointer;user-select:none;position:sticky;top:0;z-index:2}
.org-folder:hover{background:#eef2ff}
.org-folder.closed{opacity:.85}
.org-unread{font-style:normal;background:#dc2626;color:#fff;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700}
.v180-org-row{display:flex;gap:6px;align-items:center}
.v180-org-row select{flex:1;min-width:0}
.v180-ctx{position:fixed;z-index:5000;min-width:240px;max-width:320px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.18);padding:6px;font-size:13px}
.v180-ctx-title{font-weight:700;padding:6px 8px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v180-ctx-search{width:100%;box-sizing:border-box;margin:2px 0 6px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px}
.v180-ctx-list{max-height:280px;overflow:auto}
.v180-ctx button{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 8px;border-radius:6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v180-ctx button:hover{background:#eff6ff}
.v180-ctx button.hidden{display:none}
.v180-ctx-sep{height:1px;background:#e2e8f0;margin:4px 0}
.org-folder.empty{opacity:.75}.org-empty{padding:4px 16px 8px 34px}
.v180-route-card{width:min(560px,94vw)}
.v180-route-info{font-size:12px;background:#f8fafc;border-radius:8px;padding:8px 10px;margin:-4px 0 10px}
.v180-route-set{border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;margin:0 0 10px}
.v180-route-set legend{font-weight:700;font-size:13px;padding:0 4px}
.v180-route-set.muted-set{opacity:.5}
.v180-sla-input{width:90px;display:inline-block;margin:0 4px}
.v180-route-summary{font-size:13px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:8px 10px;margin-bottom:10px}
.v180-rule-actions{display:flex;gap:6px;margin:-4px 0 8px}
/* v1.8 Phân quyền chức năng & nhóm Zalo */
.ac18 .ac18-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.ac18 .ac18-head h4{margin:0 0 2px}
.ac18-user{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ac18-user select{flex:1;min-width:0}
.ac18-dirty{color:#d97706;font-size:12px;font-weight:700;white-space:nowrap}
.ac18-dirty.hidden{display:none}
.ac18-cols{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);gap:14px;align-items:start}
.ac18-card{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff;min-width:0}
.ac18-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}
.ac18-link{border:0;background:none;color:#1565ff;cursor:pointer;font-size:12px;padding:0}
.ac18-count{font-size:12px;font-weight:700;color:#1565ff;background:#eff6ff;border-radius:999px;padding:2px 10px}
.ac18-feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ac18-feat{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;cursor:pointer;margin:0;min-width:0}
.ac18-feat span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac18-feat:has(input:checked){background:#eff6ff;border-color:#bfdbfe}
.ac18-feat input,.ac18-row input,.ac18-org input,.ac18-all input{margin:0;flex:0 0 auto;width:16px;height:16px}
.ac18-all{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px dashed #cbd5e1;border-radius:10px;margin:0 0 10px;cursor:pointer}
.ac18-all span{display:flex;flex-direction:column}.ac18-all small{color:#64748b;font-size:12px}
.ac18-all:has(input:checked){background:#f0fdf4;border-color:#86efac}
.ac18-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.ac18-tools input[type=text],.ac18-tools input:not([type]){flex:1;min-width:180px}
.ac18-only{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;margin:0}
.ac18-list{max-height:420px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px}
.ac18-list.ac18-disabled{opacity:.55}
.ac18-org{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f1f5f9;border-bottom:1px solid #e2e8f0;cursor:pointer;font-size:13px}
.ac18-org b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac18-org em{font-style:normal;font-size:11px;color:#64748b}
.ac18-caret{color:#64748b;width:10px}
.ac18-row{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 30px;border-bottom:1px solid #f8fafc;font-size:13px;cursor:pointer;margin:0;min-width:0}
.ac18-row:hover{background:#f8fafc}.ac18-row.on{background:#f5f9ff}
.ac18-ico{flex:0 0 auto;font-size:12px}
.ac18-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.ac18-empty{padding:16px;text-align:center}
.ac18-foot{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0;background:#fff}
@media(max-width:900px){.ac18-cols{grid-template-columns:1fr}}
/* v1.8 Câu trả lời mẫu */
.qr18-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.qr18-head h4{margin:0 0 2px}
.qr18-tools{display:flex;gap:8px;margin-bottom:8px}.qr18-tools input{flex:1;min-width:0}.qr18-tools select{width:auto}
.qr18-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.qr18-cat{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:3px 11px;font-size:12px;cursor:pointer}
.qr18-cat em{font-style:normal;color:#94a3b8;margin-left:3px}
.qr18-cat.active{background:#1565ff;border-color:#1565ff;color:#fff}.qr18-cat.active em{color:#dbeafe}
.qr18-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.qr18-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;background:#fff}
.qr18-row:hover{border-color:#bfdbfe;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.qr18-row.off{opacity:.6;background:#f8fafc}
.qr18-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qr18-title code{background:#eef2ff;color:#4338ca;border-radius:6px;padding:1px 7px;font-size:12px}
.qr18-chip{font-size:11px;border-radius:999px;padding:1px 8px;background:#f1f5f9;color:#475569}
.qr18-chip.macro{background:#fef3c7;color:#92400e}.qr18-chip.off{background:#fee2e2;color:#b91c1c}
.qr18-body{margin-top:4px;font-size:13px;color:#475569;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qr18-body mark,.qr18-title mark{background:#fef08a;padding:0}
.qr18-side{display:flex;align-items:center;gap:10px}
.qr18-usage{font-size:11px;color:#94a3b8;white-space:nowrap}
.qr18-actions{display:flex;gap:4px}
.qr18-empty{padding:24px;text-align:center;color:#94a3b8;border:1px dashed #cbd5e1;border-radius:12px}
.qr18-vars{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.qr18-var{border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;border-radius:6px;padding:1px 6px;font-size:11px;font-family:ui-monospace,Consolas,monospace;cursor:pointer}
.qr18-ktable{width:100%;border-collapse:collapse;font-size:13px}
.qr18-ktable th{text-align:left;font-size:11px;color:#64748b;font-weight:700;padding:6px 8px;border-bottom:1px solid #e2e8f0}
.qr18-ktable td{padding:6px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.qr18-ktable input[type=number]{width:100px}
.qr18-ktable td:last-child{text-align:right}
.zgs-suggest-find{flex:1;margin:0 8px;padding:4px 8px;font-size:12px}.zgs-suggest-row.hidden{display:none}
.qr18-ktable tr.kanban-setting-row{display:table-row;border:0;padding:0;background:none}.qr18-ktable td input[type=number]{width:110px;padding:5px 8px}.qr18-ktable td b{font-size:13px}.qr18-kanban{margin-top:6px}
/* v1.8 Nhóm Zalo: avatars + @mention */
.zgs-msg-row{display:flex;align-items:flex-start;gap:8px;max-width:min(86%,780px)}
.zgs-msg-row .internal-msg{margin:0;max-width:100%}
.zgs-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto;margin-top:2px;background:#e0e7ff}
.zgs-av-ph{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#3730a3}
.zgs-av-sm{width:24px;height:24px;font-size:11px;margin:0}
.zgs-at{color:#1565ff;font-weight:600}
.zgs-composer-rel{position:relative}
.zgs-mention{position:absolute;left:8px;bottom:calc(100% + 6px);z-index:20;width:300px;max-height:280px;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 28px rgba(15,23,42,.18);padding:4px}
.zgs-mention.hidden{display:none}
.zgs-mention button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 8px;border-radius:6px;cursor:pointer;text-align:left;font-size:13px}
.zgs-mention button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.zgs-mention button.active,.zgs-mention button:hover{background:#eff6ff}
/* v1.8 Nhóm Zalo: Ảnh/Video, File */
.zgs-info{width:330px}
.zgs-info-top{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 12px;border-bottom:1px solid #f1f5f9;text-align:center}
.zgs-info-top b{font-size:15px}.zgs-info-top small{color:#64748b;font-size:12px}
.zgs-info-avs{display:flex}.zgs-info-avs .zgs-av{margin-left:-8px;border:2px solid #fff}.zgs-info-avs .zgs-av:first-child{margin-left:0}
.zgs-info-sec{padding:10px 2px;border-bottom:1px solid #f1f5f9}
.zgs-info-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}
.zgs-link{border:0;background:none;color:#1565ff;cursor:pointer;font-size:12px}
.zgs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.zgs-tile{position:relative;padding:0;border:0;border-radius:6px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:#e2e8f0}
.zgs-tile img{width:100%;height:100%;object-fit:cover;display:block}
.zgs-tile i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:22px;background:rgba(0,0,0,.25)}
.zgs-tile:hover img{transform:scale(1.04);transition:transform .15s}
.zgs-more{width:100%;margin-top:8px;border:0;background:#f1f5f9;border-radius:8px;padding:7px;font-size:13px;font-weight:600;cursor:pointer}
.zgs-file{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:8px;text-decoration:none;color:inherit}
.zgs-file:hover{background:#f8fafc}
.zgs-file span{flex:1;min-width:0;display:flex;flex-direction:column}
.zgs-file b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.zgs-file small{font-size:11px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zgs-file em{font-style:normal;color:#64748b}
.zgs-fbadge{flex:0 0 auto;width:36px;height:36px;border-radius:8px;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.zgs-file-msg{background:#f8fafc;border:1px solid #e2e8f0;min-width:240px;max-width:360px;margin:4px 0}
.zgs-vid{display:block;max-width:360px;width:100%;border-radius:10px;background:#000;margin:4px 0}
.zgs-video-card{width:min(960px,94vw);padding:12px}.zgs-video-card video{width:100%;max-height:75vh;background:#000;border-radius:8px}
.zgs-file span.zgs-fbadge{flex:0 0 36px;display:flex;width:36px}
/* v1.8.1 Thông tin nhóm (smoothed) */
#zgsInfo.zgs-info{width:340px;padding:0;gap:0;border-left:1px solid #e2e8f0;box-shadow:-10px 0 24px rgba(15,23,42,.08)}
#zgsInfo .zgs-members-head{padding:12px 14px;border-bottom:1px solid #f1f5f9;background:#fff;position:sticky;top:0;z-index:2}
#zgsInfo .zgs-members-list{padding:0 14px 16px;gap:0}
.zgs-info-top{padding:16px 0 14px}
.zgs-info-avs.big .zgs-av{width:40px;height:40px}
.zgs-sec{border-top:6px solid #f1f5f9;margin:0 -14px;padding:0 14px}
.zgs-sec-h{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:12px 0;cursor:pointer;font-size:14px;color:#0f172a}
.zgs-sec-h span{display:flex;align-items:center;gap:8px}
.zgs-sec-h em{font-style:normal;font-size:12px;color:#94a3b8}
.zgs-sec-h i{font-style:normal;color:#64748b;width:12px}
.zgs-sec-b{padding-bottom:12px}
.zgs-mem-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:#f8fafc;border-radius:10px;padding:8px 10px;cursor:pointer;font-size:13px;text-align:left}
.zgs-mem-row:hover{background:#eff6ff}.zgs-mem-row>span:nth-child(2){flex:1}.zgs-mem-row i{font-style:normal;color:#94a3b8;font-size:18px}
.zgs-mem-row .zgs-av{width:26px;height:26px;font-size:11px}
.zgs-grid{grid-template-columns:repeat(4,1fr);gap:3px;border-radius:10px;overflow:hidden}
.zgs-tile{border-radius:0;aspect-ratio:1}
.zgs-tile.broken{background:#f1f5f9}.zgs-tile.broken img{display:none}
.zgs-play{position:absolute;inset:auto auto 4px 4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-style:normal;display:flex;align-items:center;justify-content:center}
.zgs-tile .zgs-play{inset:auto auto 4px 4px}
.zgs-tile-more{display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;font-weight:700;font-size:16px}
.zgs-day{font-size:12px;font-weight:700;color:#64748b;margin:10px 0 6px}
.zgs-more{margin-top:10px;background:#f1f5f9;color:#0f172a}
.zgs-more:hover{background:#e2e8f0}
.zgs-file{padding:8px 4px;border-bottom:1px solid #f8fafc}
.zgs-file time{font-size:11px;color:#94a3b8;white-space:nowrap}
.zgs-empty-sm{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 0;color:#94a3b8;font-size:12px}
.zgs-empty-sm{font-size:22px}.zgs-empty-sm span{font-size:12px}
/* gallery viewer */
.zgs-viewer{position:fixed;inset:0;z-index:6000;background:rgba(8,12,20,.94);display:grid;grid-template-rows:auto 1fr auto;color:#fff}
.zgs-viewer.hidden{display:none}
.zgs-vw-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px}
.zgs-vw-top b{margin-right:10px}.zgs-vw-top span{color:#cbd5e1;font-size:13px;margin-right:12px}
.zgs-vw-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:18px;cursor:pointer;text-decoration:none;margin-left:6px}
.zgs-vw-btn:hover{background:rgba(255,255,255,.25)}
.zgs-vw-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:0 70px}
.zgs-vw-stage img,.zgs-vw-stage video{max-width:100%;max-height:calc(100vh - 190px);border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.zgs-vw-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:30px;cursor:pointer}
.zgs-vw-nav:hover{background:rgba(255,255,255,.28)}.zgs-vw-nav.prev{left:16px}.zgs-vw-nav.next{right:16px}.zgs-vw-nav.hidden{display:none}
.zgs-vw-strip{display:flex;justify-content:center;gap:6px;padding:10px;overflow-x:auto}
.zgs-vw-strip button{width:56px;height:56px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#1e293b;cursor:pointer;opacity:.6;flex:0 0 auto}
.zgs-vw-strip button.on{border-color:#3b82f6;opacity:1}.zgs-vw-strip img{width:100%;height:100%;object-fit:cover}
.zgs-mem-find{width:100%;box-sizing:border-box;margin-bottom:6px;padding:6px 10px;font-size:13px;border-radius:8px}.zgs-mem-list{display:flex;flex-direction:column;gap:1px}.zgs-mem-list .zgs-member{padding:5px 2px}
.zgs-outside{margin-top:10px;border-top:1px dashed #cbd5e1;padding-top:6px}
.zgs-outside-h{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:#f1f5f9;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;color:#475569;cursor:pointer}
.zgs-outside-h em{font-style:normal;background:#e2e8f0;border-radius:999px;padding:0 8px;font-size:11px}
.zgs-outside-b.hidden{display:none}
.zgs-outside-note{font-size:11px;color:#94a3b8;padding:6px 4px}
#zgsGroupList .member-row.outside{opacity:.6}
.zgs-info-name{display:inline-flex;align-items:center;gap:6px}.zgs-rename{border:0;background:#f1f5f9;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px}.zgs-rename:hover{background:#e0e7ff}
.zgs-info-name-edit{width:100%;box-sizing:border-box;text-align:center;font-size:15px;font-weight:700;color:#0f172a;border:1px solid transparent;border-radius:8px;background:transparent;padding:4px 8px;cursor:text}.zgs-info-name-edit:hover{border-color:#e2e8f0;background:#f8fafc}.zgs-info-name-edit:focus{outline:none;border-color:#1565ff;background:#fff;box-shadow:0 0 0 3px #1565ff22}
.zgs-recalled{background:#f8fafc!important;border:1px dashed #cbd5e1!important}.zgs-recalled-text{font-style:italic;color:#94a3b8}.zgs-recalled-orig{margin-top:4px;padding:6px 8px;border-radius:6px;background:#fff7ed;color:#9a3412;font-size:12px;white-space:pre-wrap}
.zgs-recalled,.v180-recalled{opacity:.5}.zgs-recalled:hover,.v180-recalled:hover{opacity:.8}.zgs-recalled{background:#f8fafc!important;border:1px dashed #cbd5e1!important}.zgs-recalled-badge{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:10px;font-weight:700}.zgs-recalled-body{text-decoration:line-through;text-decoration-color:#94a3b8;color:#64748b}.v180-recalled .msg-body{text-decoration:line-through;text-decoration-color:#94a3b8}
.zgs-recalled-body,.v180-recalled .msg-body{text-decoration:none}
