@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{--red:#e31d2b;--red-dark:#b90e1b;--navy:#111c35;--ink:#172033;--muted:#708098;--line:#e7ebf2;--bg:#f5f7fb;--white:#fff;--blue:#2563eb;--green:#16a36a;--orange:#f59e0b;--purple:#7c3aed;--shadow:0 12px 35px rgba(19,32,63,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #dce2ec;border-radius:10px;padding:11px 13px;background:#fff;color:var(--ink);outline:none;transition:.18s;border-color:.18s,box-shadow .18s}textarea{resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:#ff7b84;box-shadow:0 0 0 3px rgba(227,29,43,.1)}label{font-size:12px;font-weight:600;color:#4c5b71;display:flex;flex-direction:column;gap:7px}.required,.text-danger{color:var(--red)!important}.text-success{color:var(--green)!important}.muted{color:var(--muted)}small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.hidden{display:none!important}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--red);display:block;margin-bottom:8px}.eyebrow.light{color:#ffc7cb}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--red),#f34955);color:#fff;box-shadow:0 8px 20px rgba(227,29,43,.22)}.btn-secondary{background:#eef2f8;color:#24314b}.btn-dark{background:var(--navy);color:#fff}.btn-ghost{background:#fff;border:1px solid var(--line);color:#58677d}.btn-danger{background:#d51e2b;color:#fff}.btn-warning{background:#f2a20c;color:#fff}.btn-block{width:100%}.btn-lg{padding:13px 20px}.alert{padding:12px 15px;border-radius:11px;margin:12px 0;font-size:13px}.alert.danger{background:#fff0f1;color:#b30e1a;border:1px solid #ffd3d7}.alert.success{background:#ecfbf4;color:#08774b;border:1px solid #c9f0dd}.alert.warning{background:#fff8e8;color:#946400}.alert.info{background:#eef5ff;color:#2455a5}.toast-alert{display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.toast-alert button{border:0;background:none;font-size:20px;color:inherit}.brand-mark{width:42px;height:42px;background:linear-gradient(145deg,#f3303d,var(--red-dark));color:#fff;border-radius:12px;display:grid;place-items:center;font-weight:900;letter-spacing:-2px;box-shadow:0 8px 20px rgba(227,29,43,.28);flex:none}.brand-mark.large{width:55px;height:55px;border-radius:16px;font-size:18px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#eef2ff,#dfe6f8);color:#36486d;display:grid;place-items:center;font-weight:800;flex:none}.avatar.small{width:34px;height:34px}.large-avatar{width:52px;height:52px;font-size:18px}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--muted)}.status-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:#aab3c2}.status-dot.online:before{background:var(--green);box-shadow:0 0 0 4px rgba(22,163,106,.1)}.status-dot.offline:before{background:#9ca3af}

/* Login & installer */
.login-page,.installer-page{min-height:100vh;background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.18fr) minmax(430px,.82fr)}.login-visual,.install-brand{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 20%,#3a1a2a 0,#151d34 42%,#0b1223 100%);color:#fff}.login-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}.visual-content{position:relative;z-index:2;min-height:100vh;padding:7vh 7vw;display:flex;flex-direction:column}.brand-lockup{display:flex;align-items:center;gap:14px}.brand-lockup b{display:block;font-size:15px;letter-spacing:.06em}.brand-lockup span{display:block;color:#99a8c2;font-size:9px;letter-spacing:.19em;margin-top:5px}.hero-copy{margin:auto 0;max-width:650px}.hero-copy h1{font-size:clamp(42px,4.6vw,72px);line-height:1.06;letter-spacing:-.045em;margin:18px 0}.hero-copy p{font-size:17px;line-height:1.8;color:#b6c2d4;max-width:570px}.visual-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.visual-stats b{font-size:16px;display:block}.visual-stats span{display:block;color:#8190a9;font-size:11px;margin-top:6px}.orb{position:absolute;border-radius:50%;filter:blur(2px);animation:float 8s ease-in-out infinite}.orb-one{width:380px;height:380px;background:radial-gradient(circle,rgba(227,29,43,.28),transparent 68%);right:-90px;top:5%}.orb-two{width:300px;height:300px;border:1px solid rgba(255,255,255,.1);right:8%;bottom:5%;animation-delay:-3s}.orb-three{width:140px;height:140px;background:rgba(85,103,210,.13);left:35%;top:35%;animation-delay:-5s}@keyframes float{50%{transform:translateY(-18px) translateX(10px) scale(1.04)}}.login-panel{display:grid;place-items:center;padding:50px;background:linear-gradient(140deg,#fff,#f9fafc)}.login-form-wrap{width:min(420px,100%)}.login-form-wrap h2{font-size:32px;margin:8px 0 10px;letter-spacing:-.03em}.login-form-wrap>p{line-height:1.7;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:19px}.input-icon{position:relative}.input-icon>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9aa5b5}.input-icon input{padding-left:42px;padding-right:54px;height:49px}.eye-btn{position:absolute;right:7px;top:7px;height:35px;border:0;background:#f2f4f8;border-radius:8px;color:#607087;font-size:11px}.login-security{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:12px;color:#718096}.login-security p{margin:0;font-size:11px;line-height:1.65}.login-security b{color:#4e5c71}.mobile-logo{display:none;align-items:center;gap:10px;margin-bottom:30px}.install-shell{min-height:100vh;display:grid;grid-template-columns:.8fr 1.2fr}.install-brand{padding:8vh 6vw;display:flex;flex-direction:column;justify-content:center}.install-brand h1{font-size:50px;line-height:1.1;max-width:520px;margin:20px 0}.install-brand p{color:#b8c3d5;font-size:16px;line-height:1.8;max-width:510px}.install-card{padding:50px 7vw;align-self:center}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:30px;margin:5px 0 20px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 25px}.check-item{padding:9px 11px;border-radius:9px;background:#f2f6f4;font-size:11px;color:#466252}.check-item span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;margin-right:6px}.check-item.bad{background:#fff0f1;color:#a51620}.check-item.bad span{background:var(--red)}.success-state{text-align:center;max-width:520px;margin:auto}.success-icon{width:70px;height:70px;border-radius:50%;background:#eafaf3;color:var(--green);display:grid;place-items:center;font-size:34px;margin:0 auto 20px}.success-state h2{font-size:30px}.success-state p{color:var(--muted);line-height:1.7;margin-bottom:25px}

/* App shell */
.app-body{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:252px;background:#111a2d;color:#d9e0ed;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(10,18,36,.1)}.sidebar-brand{height:74px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand b{display:block;font-size:13px;color:#fff}.sidebar-brand span{display:block;font-size:8px;letter-spacing:.2em;color:#7e8ca5;margin-top:4px}.sidebar-close{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:24px}.nav-list{padding:13px 10px;overflow:auto;flex:1}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;color:#9eaac0;font-size:12px;font-weight:600;margin:2px 0;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(227,29,43,.2),rgba(227,29,43,.08));color:#fff;box-shadow:inset 3px 0 0 var(--red)}.nav-icon{width:22px;text-align:center;font-size:17px;color:#8796ae}.nav-item.active .nav-icon{color:#ff6770}.nav-item em{margin-left:auto;font-style:normal;background:#25314a;color:#aeb9cb;border-radius:20px;padding:2px 7px;font-size:9px}.sidebar-foot{padding:13px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:7px}.user-mini{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.user-mini b{display:block;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini span:not(.avatar){display:block;color:#73819a;font-size:9px;margin-top:3px}.icon-button{border:0;background:#202c43;color:#acb7c8;width:34px;height:34px;border-radius:9px}.main-shell{margin-left:252px;min-height:100vh}.topbar{height:74px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-kicker{display:block;color:#99a4b5;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.topbar-left b{display:block;font-size:12px;margin-top:3px}.menu-button{display:none;border:0;background:#f1f3f7;width:38px;height:38px;border-radius:10px}.topbar-actions{display:flex;align-items:center;gap:14px}.quick-create{background:var(--navy);color:#fff;padding:9px 13px;border-radius:9px;font-size:11px;font-weight:700}.notification-button{width:39px;height:39px;border:1px solid var(--line);background:#fff;border-radius:10px;position:relative}.notification-button i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);right:6px;top:6px;border:2px solid #fff}.topbar-user{display:flex;align-items:center;gap:9px;padding-left:13px;border-left:1px solid var(--line)}.topbar-user b{display:block;font-size:10px}.topbar-user span:not(.avatar){font-size:9px;color:var(--muted)}.content-wrap{padding:27px;max-width:1780px;margin:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{font-size:28px;letter-spacing:-.035em;margin:0 0 6px}.page-header p{margin:0;color:var(--muted);font-size:12px}.page-actions{display:flex;gap:9px;align-items:center}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 4px rgba(20,33,60,.015);padding:20px;margin-bottom:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-header h2{margin:0;font-size:17px}.panel-header a{color:var(--red);font-size:10px;font-weight:700}.form-stack{display:flex;flex-direction:column;gap:15px}.form-grid{display:grid;gap:14px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form-section-title{font-size:13px;font-weight:800;border-bottom:1px solid var(--line);padding-bottom:9px;margin:12px 0 2px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.checkbox-label{flex-direction:row;align-items:center;gap:8px}.checkbox-label input{width:auto}.helper{margin-top:8px}.tip-box{padding:14px;border-radius:12px;background:#fff7ec;border:1px solid #ffe1b8}.tip-box b{font-size:12px}.tip-box p{margin:5px 0 0;color:#826640;font-size:11px;line-height:1.6}

/* Dashboard */
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metric-grid.compact .metric-card{min-height:110px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;min-height:126px;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(20,33,60,.03)}.metric-card:after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;right:-38px;top:-35px;background:#f5f7fb}.metric-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#eef2ff;color:#435a94;font-size:20px;font-weight:800;z-index:1}.metric-card span{font-size:10px;color:var(--muted);font-weight:600}.metric-card b{display:block;font-size:27px;line-height:1;margin:8px 0 7px;letter-spacing:-.04em}.metric-card small{font-size:9px}.metric-card em{margin-left:auto;font-style:normal;font-size:22px;color:#c2c9d4;z-index:1}.metric-card.danger .metric-icon{background:#fff0f1;color:var(--red)}.metric-card.warning .metric-icon{background:#fff8e7;color:#bc7a00}.metric-card.success .metric-icon{background:#ebfaf3;color:var(--green)}.mini-ring,.big-ring{border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--progress)*1%),#edf1f5 0);position:relative;margin-left:auto}.mini-ring{width:54px;height:54px}.mini-ring:after,.big-ring:after{content:'';position:absolute;inset:5px;background:#fff;border-radius:50%}.mini-ring span{z-index:1;font-size:9px;font-weight:800;color:var(--ink)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.work-panel{min-width:0}.focus-panel{background:linear-gradient(155deg,#161f35,#101828);color:#fff}.focus-panel .eyebrow{color:#ff8a91}.focus-panel h2{font-size:20px;margin:5px 0}.focus-score{display:grid;place-items:center;padding:18px 0}.big-ring{width:126px;height:126px;background:conic-gradient(#ff4e59 calc(var(--progress)*1%),#2e384c 0)}.big-ring:after{inset:9px;background:#141d31}.big-ring b,.big-ring span{position:relative;z-index:1;grid-column:1;grid-row:1}.big-ring b{font-size:26px}.big-ring span{font-size:9px;color:#8d9ab0;margin-top:40px}.focus-list{border-top:1px solid rgba(255,255,255,.1);margin-bottom:17px}.focus-list div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;color:#97a5ba}.focus-list b{color:#fff}.team-panel{margin-top:0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.member-card{border:1px solid var(--line);border-radius:13px;padding:14px}.member-head{display:flex;align-items:center;gap:9px}.member-head b{display:block;font-size:11px}.member-head span:not(.avatar){font-size:9px;color:var(--muted)}.member-head em{margin-left:auto;font-style:normal;font-weight:800;color:#e07c00}.member-head em.good{color:var(--green)}.progress{height:6px;background:#edf0f5;border-radius:10px;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#ff6a73);border-radius:10px}.member-stats{display:flex;justify-content:space-between;gap:10px}.member-stats span{font-size:8px;color:var(--muted)}.member-stats b{display:block;font-size:10px;color:var(--ink);margin-top:3px}

/* Tables & tickets */
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:840px}.data-table th{text-align:left;color:#8390a5;text-transform:uppercase;font-size:8px;letter-spacing:.08em;padding:10px;border-bottom:1px solid var(--line);background:#fbfcfd;white-space:nowrap}.data-table td{padding:11px 10px;border-bottom:1px solid #edf0f5;vertical-align:middle;font-size:10px}.data-table tbody tr:hover{background:#fcfdff}.data-table b{font-size:10px}.data-table a:hover{color:var(--red)}.check-col{width:30px}.ticket-id a{font-weight:800;color:#1b2c52;display:block}.ticket-id b{display:block;margin:4px 0}.ticket-table tr.priority-row{box-shadow:inset 3px 0 0 transparent}.ticket-table tr.priority-row.urgent{box-shadow:inset 3px 0 0 var(--red)}.ticket-table tr.priority-row.high{box-shadow:inset 3px 0 0 var(--orange)}.ticket-table tr.sla-breached{background:#fffafb}.type-tag,.priority-tag,.status-tag,.sla-pill{display:inline-flex;align-items:center;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:700;white-space:nowrap;margin:1px}.type-tag{background:#eef3ff;color:#345ca8}.type-tag.type-shop_issue{background:#fff0f1;color:#b4121d}.type-tag.type-return_request{background:#fff4df;color:#a46700}.type-tag.type-aging{background:#f4edff;color:#7137b3}.type-tag.type-complaint{background:#eaf7ff;color:#1b6f9f}.type-tag.type-compensation{background:#eafaf3;color:#0d7850}.priority-tag.urgent{background:#ffe6e8;color:#bd101c}.priority-tag.high{background:#fff2d8;color:#9c6200}.priority-tag.normal{background:#ebf2ff;color:#315fba}.priority-tag.low{background:#f0f2f5;color:#687485}.status-tag.new,.status-tag.submitted{background:#edf2ff;color:#3a5ca4}.status-tag.assigned,.status-tag.reviewed{background:#f2edff;color:#6c40ad}.status-tag.processing{background:#fff2d9;color:#a06100}.status-tag.waiting_partner,.status-tag.waiting_shop{background:#fff7e8;color:#976500}.status-tag.resolved,.status-tag.approved,.status-tag.active{background:#e9f9f2;color:#08774b}.status-tag.closed,.status-tag.paid{background:#e9f1ff;color:#285ca6}.status-tag.cancelled,.status-tag.rejected,.status-tag.inactive{background:#fff0f1;color:#ac1620}.status-tag.large{padding:7px 11px;font-size:9px}.sla-pill.ok{background:#edf9f4;color:#16754f}.sla-pill.warning{background:#fff5e1;color:#a06a00}.sla-pill.danger{background:#fff0f1;color:#b4131f}.row-action{width:28px;height:28px;border-radius:8px;background:#f1f4f8;display:grid;place-items:center;font-size:20px}.filter-panel{padding:13px}.filter-form{display:flex;gap:8px;align-items:center}.filter-form select{width:auto;min-width:130px}.search-wide{min-width:280px;flex:1;position:relative}.search-wide>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:1;color:#9ba5b4}.search-wide input,.search-wide textarea{padding-left:35px;min-height:39px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.list-toolbar b{font-size:13px}.list-toolbar span{font-size:9px;color:var(--muted);margin-left:8px}.legend{display:flex;gap:9px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px}.dot.urgent{background:var(--red)}.dot.high{background:var(--orange)}.dot.normal{background:var(--blue)}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:14px}.pagination span{font-size:9px;color:var(--muted)}.pagination div{display:flex;gap:4px}.pagination a{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-size:10px}.pagination a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.empty-state{text-align:center;padding:45px 20px}.empty-state>div{width:50px;height:50px;background:#edf9f4;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:auto;font-size:22px}.empty-state h3{margin:13px 0 6px}.empty-state p{color:var(--muted);font-size:11px}.ticket-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}.sla-guide{position:sticky;top:94px}.sla-guide h3{margin-top:0}.sla-rules>div{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.type-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:none}.type-dot.red{background:var(--red)}.type-dot.orange{background:var(--orange)}.type-dot.purple{background:var(--purple)}.type-dot.blue{background:var(--blue)}.sla-rules p{margin:0}.sla-rules b{font-size:11px}.sla-rules small{margin-top:4px}.import-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.upload-card{text-align:center;padding:42px}.upload-icon{width:60px;height:60px;border-radius:17px;background:#fff0f1;color:var(--red);display:grid;place-items:center;margin:auto;font-size:25px}.upload-card h2{margin:15px 0 6px}.upload-card>p{color:var(--muted);font-size:11px}.file-drop{border:1.5px dashed #ccd4df;border-radius:13px;padding:22px;margin:20px 0;cursor:pointer}.file-drop input{display:none}.file-drop span{display:block;color:var(--red);font-weight:700}.import-help ol{padding-left:19px;color:#65738a;line-height:2;font-size:11px}

/* Detail & finance */
.ticket-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.ticket-overview{padding:24px}.ticket-title-row{display:flex;justify-content:space-between;gap:20px}.ticket-title-row h2{font-size:22px;margin:13px 0 8px}.ticket-title-row p{font-size:11px;color:#66758b;line-height:1.7}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:13px;margin-top:20px;overflow:hidden}.info-grid>div{padding:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.info-grid>div:nth-child(3n){border-right:0}.info-grid>div:nth-last-child(-n+3){border-bottom:0}.info-grid span{font-size:8px;text-transform:uppercase;color:#8995a8;display:block;margin-bottom:5px}.info-grid b{font-size:11px}.ticket-aside .panel{padding:17px}.sla-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.sla-line span{font-size:9px;color:var(--muted)}.sla-line b{font-size:9px}.zalo-card{border-top:3px solid #0877d1}.zalo-card h3{font-size:14px}.message-source{font-size:10px;background:#f8fafc;margin:10px 0}.compact-form{display:flex;flex-direction:column;gap:9px}.compact-form input,.compact-form select,.compact-form textarea{font-size:10px;padding:9px}.mini-upload{border:1px dashed #cad2df;border-radius:9px;padding:9px}.mini-upload input{border:0;padding:7px 0 0}.related-money>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px}.timeline{padding:4px 0}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding-bottom:18px}.timeline-item:before{content:'';position:absolute;width:1px;background:#e1e6ef;left:6px;top:12px;bottom:0}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--red);z-index:1}.timeline-item b{font-size:10px}.timeline-item small{margin-top:3px}.timeline-item p{margin:8px 0 0;padding:10px;border-radius:9px;background:#f7f9fc;font-size:10px;line-height:1.6}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-bottom:18px}.summary-strip>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.summary-strip span{font-size:9px;color:var(--muted)}.summary-strip b{display:block;font-size:16px;margin:6px 0}.bulk-panel{padding:0;overflow:hidden}.bulk-toolbar{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}.bulk-toolbar span{font-size:10px;font-weight:700;margin-right:auto}.bulk-toolbar select{width:auto}

/* Admin modules */
.user-card-grid,.role-grid,.template-grid,.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.user-card-head{display:flex;align-items:center;gap:11px}.user-card-head h3{margin:0 0 3px;font-size:14px}.user-card-head div span,.user-card-head small{font-size:9px}.user-card-head>.status-dot{margin-left:auto}.target-row{display:flex;justify-content:space-between;margin-top:15px}.target-row span{font-size:9px;color:var(--muted)}.target-row b{display:block;color:var(--ink);margin-top:3px}.money-target{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.money-target>div{padding:9px;background:#f7f9fc;border-radius:9px}.money-target span{font-size:8px;color:var(--muted)}.money-target b{font-size:10px;display:block;margin-top:4px}.role-card{position:relative}.role-level{position:absolute;right:14px;top:14px;background:#f2f5fa;color:#7d899b;padding:4px 8px;border-radius:20px;font-size:8px}.role-card h3{margin:5px 0}.role-card>span{font-size:9px;color:var(--muted)}.permission-preview{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0}.permission-preview em{font-style:normal;font-size:7px;padding:4px 6px;border-radius:12px;background:#f0f3f8;color:#68758a}.permission-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.permission-groups fieldset{border:1px solid var(--line);border-radius:11px;padding:11px}.permission-groups legend{font-size:9px;font-weight:800;color:var(--red)}.permission-groups label{font-size:9px;padding:4px 0}.ranking-list article{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.rank-number{font-size:16px;font-weight:800;color:#a2acba;width:25px}.rank-main{flex:1}.rank-main b{font-size:11px}.rank-main .progress{margin:7px 0 4px}.rank-money{text-align:right}.rank-money span{font-size:8px;color:var(--muted);display:block}.rank-money b{font-size:12px}.notice-card{display:grid;grid-template-columns:38px 1fr;gap:12px}.notice-icon{width:38px;height:38px;border-radius:11px;background:#eef4ff;color:#315ba5;display:grid;place-items:center;font-weight:800}.notice-card.danger .notice-icon{background:#fff0f1;color:var(--red)}.notice-card.warning .notice-icon{background:#fff5df;color:#a56b00}.notice-card.success .notice-icon{background:#eaf9f2;color:var(--green)}.notice-meta{display:flex;justify-content:space-between;color:#9aa4b4;font-size:8px}.notice-card h3{font-size:13px;margin:7px 0}.notice-card p{font-size:10px;line-height:1.65;color:#637087}.template-card pre{white-space:pre-wrap;background:#f7f9fc;border-radius:11px;padding:13px;font-family:inherit;font-size:9px;line-height:1.7;color:#536076}.template-head{display:flex;justify-content:space-between;gap:10px}.template-head h3{font-size:13px}.variable-chips{display:flex;flex-wrap:wrap;gap:6px}.variable-chips button{border:1px solid #dce2eb;background:#f7f9fc;border-radius:20px;padding:5px 8px;font-size:8px;color:#5e6d82}.report-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.bar-report>div{display:grid;grid-template-columns:110px 1fr 45px 60px;gap:8px;align-items:center;margin:12px 0}.bar-report span,.bar-report small{font-size:8px}.bar{height:9px;background:#eef1f5;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#ff6872)}.bar-report b{font-size:9px}.status-report>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.segmented{display:flex;background:#e9edf4;border-radius:10px;padding:3px}.segmented a{padding:7px 11px;border-radius:8px;font-size:9px}.segmented a.active{background:#fff;box-shadow:0 2px 7px rgba(20,30,50,.1);font-weight:700}.admin-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-data-grid .panel{padding:25px}.admin-icon{width:50px;height:50px;border-radius:14px;background:#eaf5ff;color:#3169a4;display:grid;place-items:center;font-size:23px}.warning-card .admin-icon{background:#fff3dd;color:#aa6c00}.danger-card .admin-icon{background:#fff0f1;color:var(--red)}.admin-data-grid h2{font-size:16px}.admin-data-grid p,.admin-data-grid li{font-size:10px;color:#67758a;line-height:1.7}.delete-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.delete-checks label{flex-direction:row;align-items:center}.delete-checks input{width:auto}.settings-form{max-width:850px}.import-inline{display:flex;justify-content:space-between;align-items:center}.import-inline b{font-size:11px;display:block}.import-inline span{font-size:9px;color:var(--muted)}.import-inline form{display:flex;align-items:center;gap:8px}.import-inline input{font-size:9px}

/* Modals & floating */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(7,13,26,.65);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.25);padding:21px;animation:modalIn .2s ease-out}.modal-lg{width:min(760px,100%)}.modal-xl{width:min(1050px,100%)}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}}.modal-card>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-card>header h3{margin:0;font-size:18px}.modal-card>header>button{border:0;background:#f0f2f6;width:32px;height:32px;border-radius:9px;font-size:20px}.modal-card footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:16px;margin-top:17px}.summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.summary-metrics>div{padding:14px;border-radius:12px;background:#f2f6ff}.summary-metrics>div.danger{background:#fff0f1}.summary-metrics>div.warning{background:#fff5e2}.summary-metrics span{font-size:9px;color:var(--muted)}.summary-metrics b{display:block;font-size:24px;margin-top:6px}.announcement-stack{margin-top:14px}.announcement{display:flex;gap:10px;padding:12px;border-radius:11px;background:#f3f6fb;margin:7px 0}.announcement>span{width:25px;height:25px;border-radius:8px;background:#fff;display:grid;place-items:center;font-weight:800}.announcement b{font-size:10px}.announcement p{font-size:9px;color:#657289;margin:4px 0;line-height:1.6}.announcement.danger{background:#fff0f1}.float-nav{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;z-index:40}.float-nav a,.float-nav button{width:38px;height:38px;border-radius:11px;background:var(--navy);color:#fff;border:0;display:grid;place-items:center;box-shadow:0 8px 20px rgba(17,28,53,.25)}.sidebar-backdrop{display:none}

/* Public page */
.public-page{background:#f4f6fa}.public-header{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1050px)/2))}.public-brand{display:flex;align-items:center;gap:11px}.public-brand b{display:block;font-size:12px}.public-brand span{display:block;font-size:8px;color:#8994a4;letter-spacing:.15em;margin-top:4px}.secure-label{font-size:9px;color:#69768a}.public-shell{max-width:1050px;margin:30px auto;padding:0 20px}.public-hero{position:relative;overflow:hidden;background:linear-gradient(140deg,#121c33,#202e4b);color:#fff;border-radius:22px;padding:34px;box-shadow:0 18px 40px rgba(15,25,50,.15)}.public-hero h1{font-size:28px;margin:10px 0}.public-hero p{color:#aebbd0}.public-status{display:inline-flex;margin-top:12px;background:#fff;color:var(--navy);border-radius:20px;padding:7px 12px;font-size:9px;font-weight:800}.public-orb{position:absolute;border-radius:50%}.public-orb.one{width:240px;height:240px;background:radial-gradient(circle,rgba(227,29,43,.34),transparent);right:-30px;top:-80px}.public-orb.two{width:130px;height:130px;border:1px solid rgba(255,255,255,.1);right:22%;bottom:-70px}.public-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:17px}.public-section-head{display:flex;justify-content:space-between}.public-section-head h2{margin:0;font-size:18px}.public-section-head>span{font-size:9px;color:var(--muted)}.public-progress{height:10px;background:#edf0f5;border-radius:12px;overflow:hidden;margin:20px 0 28px}.public-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#ff646f)}.public-steps{display:grid;grid-template-columns:repeat(4,1fr)}.public-steps>div{display:flex;gap:9px;position:relative}.public-steps>div:after{content:'';height:2px;background:#e5e9ef;position:absolute;left:32px;right:0;top:12px}.public-steps>div:last-child:after{display:none}.public-steps i{width:25px;height:25px;border-radius:50%;background:#e9edf3;color:#8290a4;display:grid;place-items:center;font-size:9px;font-style:normal;z-index:1}.public-steps .done i{background:var(--green);color:#fff}.public-steps .active i{background:var(--red);color:#fff;box-shadow:0 0 0 5px rgba(227,29,43,.1)}.public-steps span{font-size:9px;font-weight:700}.public-steps small{font-size:8px;margin-top:4px}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.public-info{display:grid;grid-template-columns:1fr 1fr}.public-info>div{padding:12px 0;border-bottom:1px solid var(--line)}.public-info span{font-size:8px;color:var(--muted);display:block}.public-info b{font-size:10px}.public-timeline>div{display:flex;gap:10px;margin:12px 0}.public-timeline i{width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:4px}.public-timeline p{margin:0}.public-timeline b{font-size:9px}.public-empty{padding:20px;border-radius:12px;background:#f7f9fc;color:var(--muted);font-size:9px}.public-footer{text-align:center;padding:26px}.public-footer b,.public-footer span,.public-footer small{display:block}.public-footer b{color:var(--red)}.public-footer span{font-size:9px;margin:6px}.public-footer small{font-size:8px}.public-error{text-align:center;padding:80px 20px}.public-error>div{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#fff0f1;color:var(--red);font-size:30px;margin:auto}

@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.team-grid,.user-card-grid,.role-grid,.template-grid,.notice-grid{grid-template-columns:repeat(2,1fr)}.filter-form{flex-wrap:wrap}.search-wide{min-width:100%}.admin-data-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.login-shell,.install-shell{grid-template-columns:1fr}.login-visual,.install-brand{display:none}.login-panel{min-height:100vh;padding:30px}.mobile-logo{display:flex}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.sidebar-close{display:block}.sidebar-backdrop{position:fixed;inset:0;background:rgba(8,13,26,.5);z-index:45}.sidebar-backdrop.open{display:block}.main-shell{margin-left:0}.menu-button{display:block}.content-wrap{padding:18px}.topbar{padding:0 15px}.topbar-user div{display:none}.dashboard-grid,.ticket-create-layout,.ticket-detail-grid,.import-grid,.report-grid{grid-template-columns:1fr}.focus-panel,.sla-guide{position:static}.team-grid{grid-template-columns:repeat(2,1fr)}.summary-strip{grid-template-columns:repeat(3,1fr)}.admin-data-grid{grid-template-columns:1fr}.public-grid{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:13px}.page-header{align-items:flex-start;flex-direction:column}.page-actions{width:100%;overflow:auto}.page-actions .btn{flex:1}.metric-grid,.team-grid,.user-card-grid,.role-grid,.template-grid,.notice-grid{grid-template-columns:1fr}.form-grid.cols-2,.form-grid.cols-3,.permission-groups{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.info-grid{grid-template-columns:1fr 1fr}.info-grid>div:nth-child(3n){border-right:1px solid var(--line)}.info-grid>div:nth-child(2n){border-right:0}.info-grid>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.info-grid>div:nth-last-child(-n+2){border-bottom:0}.topbar-left b{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-create{display:none}.filter-form select,.filter-form .btn{width:100%}.summary-strip{grid-template-columns:1fr 1fr}.public-hero{padding:25px}.public-hero h1{font-size:21px}.public-section-head{flex-direction:column;gap:8px}.public-steps{grid-template-columns:1fr;gap:14px}.public-steps>div:after{width:2px;height:25px;left:12px;right:auto;top:25px}.public-info{grid-template-columns:1fr}.public-header{padding:0 15px}.secure-label{display:none}.install-card{padding:30px 20px}.check-grid{grid-template-columns:1fr}.summary-metrics{grid-template-columns:1fr 1fr}.topbar-actions{gap:7px}.ticket-title-row{flex-direction:column}.bulk-toolbar{flex-wrap:wrap}.bulk-toolbar select{width:100%}.import-inline{align-items:flex-start;flex-direction:column;gap:12px}.import-inline form{width:100%;flex-direction:column}.import-inline .btn{width:100%}}

/* Shift planning */
.shift-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.shift-preset{display:flex;align-items:center;gap:15px;border-left:4px solid var(--blue)}.shift-preset.middle{border-color:var(--purple)}.shift-preset.late{border-color:var(--red)}.shift-preset .shift-code{padding:6px 9px;border-radius:20px;background:#edf4ff;color:#315fa8;font-size:8px;font-weight:800;text-transform:uppercase}.shift-preset.middle .shift-code{background:#f3edff;color:#7144ad}.shift-preset.late .shift-code{background:#fff0f1;color:#b31722}.shift-preset>b{font-size:17px}.shift-preset small{margin-left:auto;max-width:180px}.coverage-note{padding:7px 10px;border-radius:20px;background:#eaf9f2;color:#13734f;font-size:8px;font-weight:700}.shift-calendar .data-table th:not(:first-child){text-align:center;min-width:125px}.shift-calendar .data-table th small{margin-top:3px}.shift-cell{text-align:center}.shift-badge,.shift-empty{width:100%;min-height:56px;border:0;border-radius:10px;padding:7px;background:#edf4ff;color:#285b9f;cursor:pointer}.shift-badge.middle{background:#f3edff;color:#7044a8}.shift-badge.late{background:#fff0f1;color:#ae1722}.shift-badge b,.shift-badge span{display:block}.shift-badge b{font-size:9px}.shift-badge span{font-size:7px;margin-top:4px}.shift-empty{background:#f7f9fc;color:#a0a9b7;font-size:16px;border:1px dashed #d5dce6}.duty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.duty-card span{font-size:10px;font-weight:800;color:var(--navy)}.duty-card p{font-size:9px;color:var(--muted);line-height:1.65;margin:7px 0 0}

body.modal-open{overflow:hidden}.client-toast{position:fixed;right:22px;bottom:22px;z-index:180;max-width:min(360px,calc(100vw - 30px));padding:12px 16px;border-radius:12px;background:#132039;color:#fff;font-size:10px;font-weight:700;box-shadow:0 15px 35px rgba(12,22,43,.28);opacity:0;transform:translateY(12px);transition:.22s}.client-toast.show{opacity:1;transform:none}.client-toast.danger{background:#b51925}.client-toast.warning{background:#9b6805}.file-drop[data-filename]:after,.mini-upload[data-filename]:after{content:attr(data-filename);display:block;margin-top:7px;color:var(--green);font-size:9px;font-weight:700}.btn.is-loading{opacity:.72;cursor:wait}.btn.is-loading:before{content:'◌';display:inline-block;margin-right:6px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.shift-preset-grid,.duty-grid{grid-template-columns:1fr}.shift-preset small{margin-left:0}}@media(max-width:640px){.shift-preset{align-items:flex-start;flex-direction:column}.coverage-note{display:none}}

/* Smart order parser, multi-role accounts, and recurring schedules */
.carrier-parser{padding:18px;margin-bottom:22px;border:1px solid #dbe5f3;border-radius:15px;background:linear-gradient(135deg,#f7faff,#fff8f8)}.carrier-parser h3{margin:0 0 5px;font-size:16px}.carrier-parser p{margin:0 0 12px;color:var(--muted);font-size:10px}.carrier-parser textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;background:#fff}.carrier-parser .btn{margin-top:10px}.parser-result{display:inline-block;margin-left:10px;font-size:9px;color:var(--green);font-weight:700}.dimension-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.role-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.role-check-grid label{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafbfd}.schedule-plan-strip{padding:15px 18px}.plan-list{display:flex;gap:10px;overflow:auto}.plan-list>div{min-width:220px;padding:11px;border-radius:11px;background:#f7f9fc;border:1px solid var(--line)}.plan-list b,.plan-list span,.plan-list em{display:block}.plan-list b{font-size:10px}.plan-list span{font-size:9px;margin:5px 0;color:#526178}.plan-list em{font-style:normal;font-size:8px;color:var(--muted)}.shift-badge small{font-size:7px;color:inherit;margin-top:3px}.info-grid .span-3{grid-column:span 3;border-right:0}.page-actions>.segmented{flex:none}
@media(max-width:640px){.role-check-grid{grid-template-columns:1fr}.parser-result{display:block;margin:8px 0 0}.info-grid .span-3{grid-column:span 2}}

/* Two-stream duty schedule and smart ticket entry */
.parser-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.parser-actions .btn{margin-top:0}.remember-note{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-8px 0 20px;padding:10px 12px;border-radius:10px;background:#eef8f4;color:#176c52;font-size:9px}.remember-note button{border:0;background:transparent;color:#176c52;font-weight:800;text-decoration:underline;white-space:nowrap}.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px}.field-with-action button{border:1px solid #ccd8e8;border-radius:9px;background:#edf4ff;color:#275fa6;font-size:18px;font-weight:800}.field-with-action button:hover{background:#dfeaff}.three-shifts .shift-preset.morning{border-color:#1b77d2}.coverage-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.coverage-rules>div{padding:12px 14px;border-radius:12px;border:1px solid #dce4ef;background:#fff}.coverage-rules b,.coverage-rules span{display:block}.coverage-rules b{font-size:10px;color:var(--navy)}.coverage-rules span{margin-top:4px;font-size:8px;color:var(--muted)}.shift-badge.lunch{background:#f3edff;color:#7044a8}.shift-badge.evening{background:#fff0f1;color:#ae1722}.coverage-mini{display:block;margin-top:5px;padding:3px 5px;border-radius:7px;font-size:7px;font-style:normal;font-weight:800}.coverage-mini.ok{background:#e8f7f0;color:#14714e}.coverage-mini.warning{background:#fff0f1;color:#ad1e28}.role-check-grid label small{display:block;margin:3px 0 0;color:var(--muted)}
@media(max-width:900px){.coverage-rules{grid-template-columns:1fr}.remember-note{align-items:flex-start;flex-direction:column}}

/* Required ticket guidance and inline validation */
.required-guide{display:flex;align-items:center;gap:11px;margin:-8px 0 20px;padding:11px 13px;border:1px solid #f3d28a;border-radius:11px;background:#fff9e9;color:#7c5709}.required-guide>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f1ad24;color:#fff;font-size:13px;font-weight:900}.required-guide b,.required-guide small{display:block}.required-guide b{font-size:10px}.required-guide small{margin-top:3px;color:#8a671e}.field-invalid{border-color:#e31d2b!important;box-shadow:0 0 0 3px rgba(227,29,43,.11)!important;background:#fff8f8!important}

/* Ticket permissions, duplicate protection, overdue alerts and form validation */
.field-error{display:block!important;margin-top:6px!important;color:#c51927!important;font-size:8px!important;font-weight:700!important;line-height:1.45}.permission-lock{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:11px 13px;border:1px solid #dce4ef;border-radius:11px;background:#f4f7fb;color:#40516b}.permission-lock>span{font-size:16px}.permission-lock p{margin:0}.permission-lock b,.permission-lock small{display:block}.permission-lock b{font-size:10px;color:var(--navy)}.permission-lock small{margin-top:3px;font-size:8px;line-height:1.5}.locked-field{color:#657188}.locked-field select:disabled{opacity:1;color:#657188;background:#eef1f5;border-color:#d6dce5;cursor:not-allowed}.duplicate-warning{border-top:5px solid var(--red)}.duplicate-summary{display:flex;align-items:center;gap:12px;margin:4px 0 15px;padding:13px;border-radius:12px;background:#fff2f3;color:#9d1d27}.duplicate-summary>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-size:18px;font-weight:900}.duplicate-summary b,.duplicate-summary p{margin:0}.duplicate-summary b{font-size:12px}.duplicate-summary p{margin-top:4px;font-size:9px}.duplicate-actions{display:flex;justify-content:flex-end;gap:9px}.duplicate-actions form{margin:0}.duplicate-table{max-height:290px;margin:10px 0 14px;border:1px solid var(--line);border-radius:10px}.overdue-alert{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:14px;border:1px solid #f0b1b7;border-radius:12px;background:#fff0f1;color:#9e1722}.overdue-alert>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-size:16px;font-weight:900}.overdue-alert b{font-size:11px}.overdue-alert p{margin:4px 0 0;font-size:9px;line-height:1.55}
@media(max-width:640px){.duplicate-actions{flex-direction:column}.duplicate-actions form,.duplicate-actions .btn{width:100%}}

/* 1.4.0: readable operations UI, complaints, evidence and feedback */
.nav-item{font-size:13px}.topbar-user b,.user-mini b{font-size:12px}.topbar-user span:not(.avatar),.user-mini span:not(.avatar){font-size:10px}.page-header p{font-size:13px}.panel-header a{font-size:11px}.data-table th{font-size:10px;padding:12px}.data-table td,.data-table b{font-size:12px}.data-table td{padding:13px 12px}.data-table small{font-size:10px}.type-tag,.priority-tag,.status-tag,.sla-pill{font-size:10px;padding:5px 8px}.info-grid span{font-size:10px}.info-grid b{font-size:13px}.ticket-title-row p,.tip-box p{font-size:12px}.helper,.permission-lock small,.field-error{font-size:10px!important}.parser-result{display:flex;flex-direction:column;gap:4px}.parser-result b{font-size:12px;color:#1e3155}.parser-result span{font-size:11px;color:#68778e}.gmf-ready{margin-top:8px;padding:7px 9px;border-radius:8px;background:#eaf9f2;color:#08774b}.complaint-panel{border-top:4px solid #2563eb}.complaint-case{border:1px solid var(--line);border-radius:14px;padding:17px;margin-top:14px}.complaint-case-head,.public-complaint-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.complaint-case-head b,.public-complaint-head b{display:block;font-size:13px}.complaint-case-head small,.public-complaint-head small{margin-top:5px}.workflow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0}.workflow-steps>div{position:relative;display:flex;align-items:center;gap:8px;color:#9aa4b5;font-size:11px;font-weight:700}.workflow-steps>div:not(:last-child):after{content:'';height:2px;background:#dfe4ec;position:absolute;left:30px;right:8px;top:13px}.workflow-steps i{display:grid;place-items:center;z-index:1;width:27px;height:27px;border-radius:50%;background:#edf0f5;font-style:normal}.workflow-steps .done{color:#08774b}.workflow-steps .done i{background:#dff7eb;color:#08774b}.workflow-steps .done:not(:last-child):after{background:#62c99c}.workflow-steps .failed{color:#b31522}.workflow-steps .failed i{background:#ffe7e9;color:#b31522}.complaint-money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.complaint-money>div{padding:11px;border-radius:10px;background:#f7f9fc}.complaint-money span,.complaint-money b{display:block}.complaint-money span{font-size:10px;color:var(--muted)}.complaint-money b{font-size:13px;margin-top:5px}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0}.evidence-item{min-height:95px;border:1px solid var(--line);border-radius:11px;padding:8px;display:flex;flex-direction:column;justify-content:center;gap:7px;overflow:hidden}.evidence-item img{width:100%;height:110px;object-fit:cover;border-radius:8px}.evidence-item audio{width:100%;height:34px}.evidence-item>span{font-size:22px;text-align:center}.paste-zone{border:1.5px dashed #b9c5d8;border-radius:12px;padding:12px;background:#fafcff}.upload-preview{display:flex;flex-wrap:wrap;gap:6px}.upload-preview span{font-size:10px;padding:5px 8px;background:#edf2f8;border-radius:8px;color:#53637a}.status-tag.proposed{background:#edf2ff;color:#345ca8}.status-tag.sent,.status-tag.reviewing{background:#fff3dd;color:#9a6200}.status-tag.successful{background:#e6f9f0;color:#08774b}.status-tag.failed{background:#ffe9eb;color:#b31522}.feedback-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.feedback-layout>form{position:sticky;top:94px}.feedback-card h3{margin:8px 0 4px;font-size:16px}.feedback-card>p{font-size:13px;line-height:1.7}.feedback-head{display:flex;justify-content:space-between;gap:15px}.feedback-images{display:flex;gap:8px;overflow:auto;margin:12px 0}.feedback-images img{width:130px;height:90px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.admin-response{padding:12px;border-left:4px solid var(--green);background:#f0faf5;border-radius:8px;margin:12px 0}.admin-response p{margin:5px 0 0}.public-complaints{margin-top:18px}.public-complaints>article{padding:17px 0;border-bottom:1px solid var(--line)}.public-complaints>article:last-child{border-bottom:0}.public-workflow{max-width:620px}.public-evidence{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.public-evidence a{font-size:11px;padding:8px 10px;border-radius:9px;background:#eef3fa;color:#315a98}.parser-actions{flex-wrap:wrap}
@media(max-width:1000px){.feedback-layout{grid-template-columns:1fr}.feedback-layout>form{position:static}.evidence-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.workflow-steps,.complaint-money{grid-template-columns:1fr;gap:8px}.workflow-steps>div:after{display:none}.evidence-grid{grid-template-columns:1fr}.complaint-case-head,.public-complaint-head{flex-direction:column}}
.summary-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:640px){.summary-metrics{grid-template-columns:1fr 1fr}}

/* 1.5.0: persistent task queue, financial approvals and money suggestions */
.app-body .main-shell{padding-bottom:72px}.task-dock{position:fixed;z-index:70;left:278px;right:18px;bottom:14px;min-height:54px;display:flex;align-items:center;gap:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:linear-gradient(115deg,#111d34,#1f2f4d);color:#fff;box-shadow:0 16px 40px rgba(13,24,45,.28)}.task-dock.is-top{top:78px;bottom:auto}.task-dock-main{display:flex;align-items:center;gap:10px;min-width:180px;border:0;background:transparent;color:#fff;text-align:left}.task-dock-main b,.task-dock-main small{display:block}.task-dock-main b{font-size:11px}.task-dock-main small{margin-top:2px;color:#aebbd0;font-size:9px}.task-pulse{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#e31d2b;font-weight:900;box-shadow:0 0 0 0 rgba(227,29,43,.45);animation:taskPulse 2.2s infinite}.task-dock-stat{padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}.task-dock-stat span,.task-dock-stat b{display:block}.task-dock-stat span{font-size:8px;color:#aebbd0}.task-dock-stat b{font-size:13px;margin-top:2px}.task-dock-stat.danger b{color:#ff9ca4}.task-dock-target{min-width:210px;margin-left:auto}.task-dock-target>span{display:block;font-size:9px;color:#c7d1df}.task-dock-target>span b{float:right;color:#fff}.task-dock-target>i{display:block;height:6px;margin-top:6px;border-radius:10px;background:rgba(255,255,255,.13);overflow:hidden}.task-dock-target em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef3340,#ff8f57)}.task-dock-expand{width:34px;height:34px;border:0;border-radius:9px;background:rgba(255,255,255,.1);color:#fff}.task-dock-panel{display:none;position:absolute;right:0;bottom:64px;width:min(540px,calc(100vw - 30px));max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);box-shadow:0 20px 50px rgba(8,18,38,.3)}.task-dock.is-top .task-dock-panel{top:64px;bottom:auto}.task-dock.open .task-dock-panel{display:block}.task-dock-panel header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid var(--line)}.task-dock-panel h3{margin:4px 0 0}.task-dock-panel header button{border:0;background:transparent;font-size:20px}.task-dock-items a{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.task-dock-items i{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:8px;background:#edf2f8;font-style:normal}.task-dock-items i.urgent{background:#ffe7e9;color:#b31522}.task-dock-items i.high{background:#fff1d8;color:#986000}.task-dock-items span,.task-dock-items b,.task-dock-items small{display:block}.task-dock-items b{font-size:11px}.task-dock-items small{margin-top:4px;font-size:9px;color:var(--muted)}.task-dock-panel footer{padding:12px 16px;text-align:right}.money-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.money-suggestions button{border:1px solid #ccd8e8;border-radius:15px;background:#f5f8fc;color:#315a92;padding:4px 8px;font-size:8px;font-weight:800}.money-suggestions button:hover{background:#e5effd}.money-readable{display:block!important;margin-top:5px!important;color:#6b7890!important;font-size:8px!important}.financial-toolbar{gap:8px}.financial-toolbar input{min-width:190px}.financial-toolbar select{min-width:180px}@keyframes taskPulse{70%{box-shadow:0 0 0 9px rgba(227,29,43,0)}100%{box-shadow:0 0 0 0 rgba(227,29,43,0)}}
@media(max-width:900px){.task-dock{left:14px}.task-dock-stat{display:none}.task-dock-target{min-width:170px}}
@media(max-width:640px){.app-body .main-shell{padding-bottom:86px}.task-dock{right:8px;left:8px;bottom:8px;gap:8px}.task-dock-main{min-width:0;flex:1}.task-dock-target{min-width:105px}.task-dock-target>span{font-size:8px}.task-dock-main small{display:none}.task-dock-panel{right:0}.financial-toolbar input,.financial-toolbar select{width:100%;min-width:0}.float-nav{bottom:76px}}

/* 1.5.1: optional complaint workflow on any active ticket */
.complaint-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d8e2f0;background:linear-gradient(135deg,#f7faff,#fff)}.complaint-switch.active{border-color:#9bc1ff;background:linear-gradient(135deg,#eef5ff,#f8fbff);box-shadow:inset 4px 0 #2563eb}.complaint-switch-copy{display:flex;align-items:flex-start;gap:13px}.complaint-switch-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#e9f1ff;color:#2563eb;font-size:18px}.complaint-switch h3{margin:4px 0 5px;font-size:15px}.complaint-switch p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.complaint-switch form{flex:0 0 auto}.complaint-locked{display:inline-flex;padding:8px 10px;border-radius:9px;background:#e8eef7;color:#53637a;font-size:10px;font-weight:800}
.complaint-mini-tag{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:8px;background:#e8f1ff;color:#235eb5;font-size:9px;font-weight:800}
@media(max-width:640px){.complaint-switch{align-items:stretch;flex-direction:column}.complaint-switch form,.complaint-switch .btn{width:100%}}

/* 1.5.2: public tracking lookup */
.public-search-card{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:28px;align-items:center;overflow:hidden;padding:26px 28px;border:1px solid #d9e2ee;border-radius:20px;background:linear-gradient(135deg,#fff,#f7faff);box-shadow:0 14px 35px rgba(20,37,67,.08)}.public-search-card.compact{margin-bottom:18px;padding:20px 24px}.public-search-copy h2{margin:6px 0 7px;font-size:20px}.public-search-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.public-search-form label{display:block;margin-bottom:7px;color:#263858;font-size:10px;font-weight:800}.public-search-form>div{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:8px}.public-search-form input{height:46px;padding:0 14px;border:1px solid #cbd6e4;border-radius:11px;background:#fff;color:var(--navy);font-size:13px;font-weight:700;letter-spacing:.02em;outline:0}.public-search-form input:focus{border-color:#2f6fcd;box-shadow:0 0 0 4px rgba(47,111,205,.12)}.public-search-form button{border:0;border-radius:11px;background:linear-gradient(135deg,#db1e2d,#b60f1c);color:#fff;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(196,20,34,.2)}.public-search-form button:hover{filter:brightness(.96)}.public-search-form small{display:block;margin-top:7px;color:#7a8799;font-size:9px}.public-search-alert{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin-top:-10px;padding:10px 12px;border:1px solid #f0b4ba;border-radius:10px;background:#fff1f2;color:#a71723}.public-search-alert span{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;font-weight:900}.public-search-alert p{margin:0;font-size:10px;font-weight:700}.public-lookup-welcome{text-align:center;padding:65px 20px}.public-lookup-welcome>div:first-child{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:18px;background:#eaf2ff;color:#2f68b4;font-size:30px}.public-lookup-welcome h1{margin:18px 0 8px;font-size:24px}.public-lookup-welcome>p{margin:0;color:var(--muted);font-size:11px}.public-lookup-notes{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px}.public-lookup-notes span{padding:8px 11px;border-radius:20px;background:#eaf8f1;color:#13734f;font-size:9px;font-weight:800}
@media(max-width:760px){.public-search-card{grid-template-columns:1fr;gap:18px;padding:22px}.public-search-form>div{grid-template-columns:1fr}.public-search-form button{height:44px}.public-lookup-welcome{padding:45px 10px}.public-lookup-notes{align-items:stretch;flex-direction:column}.public-lookup-notes span{text-align:left}}

/* 1.5.3: non-blocking live corner notifications */
.quick-notification-stack{position:fixed;z-index:90;top:88px;right:18px;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 104px);display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:0 2px 5px;pointer-events:none;scrollbar-width:thin}
.quick-notification{position:relative;overflow:hidden;padding:14px 15px 13px;border:1px solid #dce3ed;border-left:4px solid #4776bf;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 44px rgba(15,29,52,.2);opacity:0;transform:translateX(34px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:auto;backdrop-filter:blur(14px)}
.quick-notification.visible{opacity:1;transform:translateX(0) scale(1)}.quick-notification.leaving{opacity:0;transform:translateX(42px) scale(.97)}
.quick-notification>header{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:10px;align-items:center}.quick-notification>header div{min-width:0}.quick-notification>header small,.quick-notification>header b{display:block}.quick-notification>header small{margin-bottom:3px;color:#75839a;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.quick-notification>header b{overflow:hidden;color:#17233a;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.quick-notification-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf1fb;color:#315f9e;font-size:17px;font-weight:900}.quick-notification-close{width:28px;height:28px;border:0;border-radius:8px;background:#f1f4f8;color:#718096;font-size:18px;line-height:1}.quick-notification-close:hover{background:#e7ebf1;color:#26334a}
.quick-notification>p{max-height:160px;overflow:auto;margin:10px 0 0;color:#526177;font-size:11px;line-height:1.65;white-space:pre-line}.quick-notification>footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:11px}.quick-notification>footer>a{margin-right:auto;color:#245ea9;font-size:10px;font-weight:800}.quick-notification>footer button{border:0;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.notification-snooze{background:#eff2f6;color:#59677b}.notification-ack{background:#17233a;color:#fff}.quick-notification.persistent{border-left-width:5px;background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,251,255,.99))}
.quick-notification.danger,.quick-notification.urgent{border-left-color:#d91f2e}.quick-notification.danger .quick-notification-icon,.quick-notification.urgent .quick-notification-icon{background:#ffe9eb;color:#b91724}.quick-notification.warning,.quick-notification.high{border-left-color:#ee9b12}.quick-notification.warning .quick-notification-icon,.quick-notification.high .quick-notification-icon{background:#fff2db;color:#9d6300}.quick-notification.success{border-left-color:#16a36a}.quick-notification.success .quick-notification-icon{background:#e7f8f0;color:#08774b}
.quick-notification-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#2f6fc4,#6b9de0);transform-origin:left center;animation:quickNotificationTimer 15s linear forwards}@keyframes quickNotificationTimer{to{transform:scaleX(0)}}
@media(max-width:640px){.quick-notification-stack{top:70px;right:8px;left:8px;width:auto}.quick-notification{padding:12px}.quick-notification>header{grid-template-columns:33px minmax(0,1fr) 27px}.quick-notification-icon{width:33px;height:33px}.quick-notification>footer{flex-wrap:wrap}.quick-notification>footer>a{flex:1 0 100%;margin-bottom:2px}}

/* 1.5.4: special-goods operations, SLA controls and customer ratings */
.special-goods-tag,.special-watch-tag{display:inline-flex;align-items:center;width:max-content;margin:3px 4px 0 0;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2}.special-goods-tag{color:#17683c;background:#dff8e9;border:1px solid #aee8c5}.special-watch-tag{color:#9a3f00;background:#fff0d9;border:1px solid #ffc879}.special-goods-row{box-shadow:inset 4px 0 #22a861}.special-goods-choice{padding:12px 14px;border-radius:12px;background:#eefbf3;border:1px solid #bfe9ce;color:#17683c}.type-dot.green{background:#22a861}.task-dock-stat.special{color:#75dca2;text-decoration:none}.task-dock-stat.special b{color:#75dca2}.summary-metrics .special{background:#e9f9ef}.summary-metrics .special b{color:#16834a}
.ticket-order-details{padding:0;overflow:hidden;order:10}.ticket-order-details>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 20px;cursor:pointer;font-weight:800;list-style:none;color:#21314d}.ticket-order-details>summary::-webkit-details-marker{display:none}.ticket-order-details>summary:after{content:'⌄';font-size:20px;color:#65738b}.ticket-order-details[open]>summary:after{transform:rotate(180deg)}.ticket-order-details>summary small{font-weight:500;color:#7a879d}.ticket-order-details-body{padding:0 20px 20px;border-top:1px solid #e8edf4}.ticket-main{display:flex;flex-direction:column}.update-panel{order:1}.handover-panel{order:2}.complaint-switch,.complaint-panel{order:3}.ticket-log-panel{order:4}.stage-chain-panel{order:5}.followup-history{order:6}.sla-card .sla-line.special{margin-inline:-4px;padding:10px 4px;background:#eefbf3;color:#17683c;border-radius:8px}
.sla-settings input[type=number]{min-width:115px}.sla-settings .data-table td:last-child{max-width:260px}.feedback-report{margin-top:20px}.rating-average{display:flex;align-items:center;gap:7px}.rating-average b{font-size:24px}.rating-average span,.rating-value{color:#d88a00}.feedback-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.feedback-metrics>div{padding:16px;border-radius:14px;background:#f5f7fb}.feedback-metrics span{display:block;color:#708096;font-size:12px}.feedback-metrics b{font-size:24px}.rating-distribution{display:grid;gap:8px;max-width:620px;margin:15px 0 22px}.rating-distribution>div{display:grid;grid-template-columns:42px 1fr 40px;align-items:center;gap:10px}.rating-distribution i{height:8px;background:#eef1f6;border-radius:999px;overflow:hidden}.rating-distribution em{display:block;height:100%;background:#f6b51b;border-radius:inherit}
.public-feedback-card{margin-top:20px}.public-feedback-card h2{margin:8px 0 18px}.public-feedback-form fieldset{border:0;padding:0;margin:0 0 18px}.public-feedback-form legend{font-weight:800;margin-bottom:10px}.rating-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rating-picker label{cursor:pointer}.rating-picker input{position:absolute;opacity:0;pointer-events:none}.rating-picker label>span,.rating-picker label>small{display:block;text-align:center;padding:9px 5px;border:1px solid #dce3ed;background:#fff}.rating-picker label>span{border-radius:10px 10px 0 0;color:#a76500;font-weight:900}.rating-picker label>small{padding-top:0;border-top:0;border-radius:0 0 10px 10px;color:#718096;font-size:10px}.rating-picker input:checked~span,.rating-picker input:checked~small{background:#fff7dc;border-color:#f0b429}.public-feedback-fields{display:grid;grid-template-columns:1fr 2fr;gap:14px}.public-feedback-fields label{font-weight:700}.public-feedback-fields input,.public-feedback-fields textarea{display:block;width:100%;margin-top:6px}.public-feedback-form>button{border:0;border-radius:12px;padding:12px 18px;background:#14223c;color:#fff;font-weight:800;cursor:pointer}.public-feedback-form>small{display:block;margin-top:10px;color:#7a879d}.public-feedback-success{padding:16px;border-radius:12px;background:#e9f9ef;color:#17683c;font-weight:800}
@media(max-width:760px){.rating-picker{grid-template-columns:1fr}.rating-picker label{display:grid;grid-template-columns:90px 1fr}.rating-picker label>span{border-radius:9px 0 0 9px}.rating-picker label>small{padding-top:9px;border-top:1px solid #dce3ed;border-left:0;border-radius:0 9px 9px 0}.public-feedback-fields,.feedback-metrics{grid-template-columns:1fr}.ticket-order-details>summary small{display:none}}

/* 1.6.0: SLA theo chặng, bàn giao ca và KPI đánh giá */
.handover-row{box-shadow:inset 4px 0 #7158d9}.handover-tag{display:inline-flex;width:max-content;margin:3px 4px 0 0;padding:4px 8px;border:1px solid #cfc5ff;border-radius:999px;background:#f0edff;color:#5941b6;font-size:11px;font-weight:900}.stage-chain-panel{border-top:4px solid #7158d9}.stage-chain{display:grid;gap:10px}.stage-item{display:grid;grid-template-columns:44px minmax(180px,.9fr) minmax(220px,1.1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e1e5ed;border-radius:13px;background:#fbfcfe}.stage-item.active{border-color:#b8abf1;background:#f7f5ff;box-shadow:inset 3px 0 #7158d9}.stage-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9edf4;color:#33435d;font-weight:900}.stage-item.active .stage-number{background:#7158d9;color:#fff}.stage-person b,.stage-person small,.stage-sla b,.stage-sla small{display:block}.stage-person small,.stage-sla small{margin-top:4px;color:#758198;font-size:10px}.stage-current-badge{padding:5px 8px;border-radius:999px;background:#e9e3ff;color:#5941b6;font-size:9px;font-weight:900}.stage-breach{color:#b31522!important;font-weight:800}.handover-panel{margin-top:14px;padding:15px;border:1px solid #d8d0fb;border-radius:13px;background:linear-gradient(135deg,#faf9ff,#f2efff)}.handover-panel h3{margin:0 0 5px}.handover-panel p{margin:0 0 12px;color:#65738a;font-size:11px}.handover-panel form{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.4fr) auto;gap:10px;align-items:end}.handover-panel label{font-size:10px;font-weight:800}.handover-panel select,.handover-panel textarea{display:block;width:100%;margin-top:6px}.handover-priority{display:flex;align-items:center;gap:8px;margin-top:12px;color:#5941b6;font-size:10px;font-weight:800}.locked-field{position:relative;opacity:.82}.locked-field select{cursor:not-allowed;background:#eef1f5}.field-lock-note{display:block!important;margin-top:6px!important;color:#6d5bb2!important;line-height:1.45}.kpi-rule-editor{border-top:4px solid #7158d9}.kpi-rule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-rule-cards article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e1e5ed;border-radius:12px;background:#fafbfe}.kpi-rule-cards b,.kpi-rule-cards small{display:block}.kpi-rule-cards small{margin-top:4px;color:#738198}.kpi-rule-cards article>div:last-child{display:flex;align-items:center;gap:10px}.capability-score{display:inline-flex;min-width:52px;justify-content:center;padding:6px 9px;border-radius:9px;background:#e9f5ff;color:#1f64a5;font-weight:900}.capability-report .data-table small{display:block;margin-top:4px}.inline-form{display:inline-flex;gap:7px;align-items:center}
.stage-chain>.stage-item{grid-template-columns:44px minmax(180px,1fr) auto}
@media(max-width:900px){.stage-chain>.stage-item{grid-template-columns:38px 1fr}.stage-item>div:nth-child(3){grid-column:2}.handover-panel form{grid-template-columns:1fr}.kpi-rule-cards{grid-template-columns:1fr}}

/* Ticket workspace 1.7: ưu tiên thao tác một màn hình, không che nội dung chính. */
.toast-alert{position:fixed;z-index:175;right:18px;bottom:82px;width:min(390px,calc(100vw - 28px));margin:0;animation:toastSlideIn .22s ease both}
@keyframes toastSlideIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.ticket-order-strip{margin-bottom:12px;padding:10px 13px;border-left:4px solid #315f9e}.ticket-order-primary{display:grid;grid-template-columns:minmax(155px,1.1fr) minmax(120px,.8fr) minmax(145px,1fr) minmax(170px,1.2fr) minmax(90px,.55fr) auto auto;gap:10px;align-items:center}.ticket-order-primary>div{min-width:0;padding-right:9px;border-right:1px solid #e6ebf2}.ticket-order-primary small,.ticket-order-primary b,.ticket-order-primary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-order-primary small{font-size:8px;text-transform:uppercase;letter-spacing:.05em}.ticket-order-primary b{margin-top:2px;color:#1c2b45;font-size:11px}.ticket-order-primary span{margin-top:2px;color:#77849a;font-size:9px}.ticket-order-primary details{position:relative}.ticket-order-primary details>summary{padding:6px 8px;border:1px solid #dbe3ee;border-radius:8px;color:#315f9e;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap;list-style:none}.ticket-order-primary details>summary::-webkit-details-marker{display:none}.order-strip-more{position:absolute;z-index:30;right:0;top:34px;width:min(480px,calc(100vw - 40px));padding:13px;border:1px solid #dce3ed;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(18,34,58,.18)}.order-strip-more p{margin:0 0 8px;color:#59677a;font-size:10px;line-height:1.55}.order-strip-more p:last-child{margin-bottom:0}.ticket-order-tags{display:flex;align-items:center;gap:5px;margin-top:7px;min-height:22px}.followup-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9f3ff;color:#245c9e;font-size:9px;font-weight:800}.followup-chip.late{background:#ffe8ea;color:#b31522}
.compact-ticket-update{padding:14px}.compact-ticket-update .panel-header{margin-bottom:10px}.compact-ticket-update .panel-header h2{font-size:16px}.current-followup-label{align-self:center;padding:5px 8px;border-radius:8px;background:#eef5ff;color:#315f9e;font-weight:700}.compact-update-grid{gap:9px}.compact-update-grid label{gap:4px;font-size:10px}.compact-update-grid input,.compact-update-grid select,.compact-update-grid textarea{padding:8px 10px;border-radius:8px;font-size:11px}.compact-update-grid textarea{line-height:1.45}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .span-4{grid-column:span 4}.status-keep-hint{min-height:14px;color:#7c8798;font-size:8px}.status-keep-hint.changed{color:#1d6e51;font-weight:800}.permission-lock.compact{margin-bottom:9px;padding:8px 10px}.permission-lock.compact p small{margin-top:1px}.next-action-field{position:relative}.quick-time-buttons{display:flex!important;gap:4px;margin-top:1px}.quick-time-buttons button{width:auto;border:1px solid #d5dfec;border-radius:999px;background:#f5f8fc;color:#46617f;padding:4px 8px;font-size:8px;font-weight:800}.quick-time-buttons button.active,.quick-time-buttons button:hover{border-color:#315f9e;background:#315f9e;color:#fff}
.handover-disclosure{padding:0;overflow:visible}.handover-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.handover-disclosure>summary::-webkit-details-marker{display:none}.handover-disclosure>summary span small,.handover-disclosure>summary span b{display:block}.handover-disclosure>summary span small{color:#7158d9;font-size:8px;font-weight:900}.handover-disclosure>summary span b{margin-top:2px;font-size:12px}.handover-disclosure>summary em{color:#6d5bb2;font-size:9px;font-style:normal;font-weight:800}.handover-disclosure>summary:after{content:'⌄';color:#7158d9;font-size:18px}.handover-disclosure[open]>summary:after{transform:rotate(180deg)}.handover-disclosure form{display:block;padding:0 14px 13px;border-top:1px solid #e4dff8}.handover-disclosure .form-grid{margin-top:10px}.handover-inline-note{margin-top:8px;padding:7px 9px;border-radius:8px;background:#f3f0ff;color:#5e4bac;font-size:9px}
.followup-history{padding:0;overflow:hidden}.followup-history>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;list-style:none}.followup-history>summary::-webkit-details-marker{display:none}.followup-history>summary small,.followup-history>summary b{display:block}.followup-history>summary small{color:#315f9e;font-size:8px;font-weight:900}.followup-history>summary b{margin-top:2px;font-size:11px}.followup-history>summary em{color:#718096;font-size:9px;font-style:normal}.followup-history>div{border-top:1px solid #e6ebf2}.followup-history-row{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;padding:8px 13px;border-bottom:1px solid #edf0f5}.followup-history-row:last-child{border-bottom:0}.followup-history-row>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eaf2fc;color:#315f9e}.followup-history-row p{margin:0}.followup-history-row b,.followup-history-row small{display:block}.followup-history-row b{font-size:10px}.followup-history-row small{margin-top:2px;font-size:8px}.followup-history-row.breached>span{background:#ffe8ea;color:#b31522}.followup-history-row.breached small{color:#b31522}
@media(max-width:1120px){.ticket-order-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-order-primary>div:nth-child(3){border-right:0}.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-4{grid-column:span 2}}
@media(max-width:700px){.toast-alert{right:8px;bottom:92px;left:8px;width:auto}.ticket-order-primary{grid-template-columns:1fr 1fr}.ticket-order-primary>div{border-right:0}.ticket-order-primary .status-tag{justify-self:start}.ticket-order-tags{flex-wrap:wrap}.form-grid.cols-4{grid-template-columns:1fr}.form-grid .span-4,.compact-update-grid .span-2{grid-column:span 1}.order-strip-more{right:-45px}.quick-time-buttons button{flex:1}}
@media(max-width:640px){.stage-chain>.stage-item{grid-template-columns:34px 1fr;padding:11px}.kpi-rule-cards article{align-items:flex-start;flex-direction:column}.kpi-rule-cards article>div:last-child{width:100%;justify-content:space-between}}

.tracking-copy,.tracking-copy-inline{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.tracking-copy{display:flex!important;align-items:center;gap:7px;max-width:100%;padding:0}.tracking-copy b{min-width:0}.tracking-copy em{color:#315f9e;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.tracking-copy:hover b,.tracking-copy-inline:hover{color:#245c9e;text-decoration:underline}.tracking-copy-inline{display:block;padding:2px 0;color:#243858;font-size:11px;font-weight:900}.handler-chip{display:inline-flex;align-items:center;gap:5px;max-width:240px;padding:4px 8px;border:1px solid #dfe6ef;border-radius:999px;background:#f8fafc;color:#526178;font-size:9px}.handler-chip small{color:#8390a2;font-size:8px;text-transform:uppercase}.handler-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handler-chip.primary{border-color:#c8d9ef;background:#edf5ff;color:#245c9e}.compact-disclosure{padding:0;overflow:hidden}.compact-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;list-style:none;cursor:pointer}.compact-disclosure>summary::-webkit-details-marker{display:none}.compact-disclosure>summary span small,.compact-disclosure>summary span b{display:block}.compact-disclosure>summary span small{color:#7a879c;font-size:8px;font-weight:900;letter-spacing:.08em}.compact-disclosure>summary span b{margin-top:3px;color:#25344e;font-size:12px}.compact-disclosure>summary em{color:#6d5bb2;font-size:9px;font-style:normal;font-weight:800}.compact-disclosure>summary:after{content:'⌄';color:#6d5bb2;font-size:18px}.compact-disclosure[open]>summary:after{transform:rotate(180deg)}.stage-chain-body{padding:0 14px 14px;border-top:1px solid #edf0f5}.completion-modal{text-align:center}.completion-modal header{text-align:left}.completion-success{display:grid;place-items:center;width:58px;height:58px;margin:4px auto 12px;border-radius:50%;background:#e5f8ed;color:#16834d;font-size:28px;font-weight:900}.completion-modal>p{color:#5f6d82;line-height:1.6}.next-ticket-preview{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:14px 0;padding:14px;border:1px solid #cddcf0;border-radius:12px;background:#f6f9fd;text-align:left}.next-ticket-preview small{color:#315f9e;font-weight:800}.completion-modal footer{justify-content:center}.admin-record-actions{display:flex;gap:6px;align-items:center}.admin-record-actions .btn{padding:6px 9px;font-size:9px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px;border:1px solid #f1c8cc;border-radius:11px;background:#fff8f8}.danger-zone p{margin:0;color:#8f3540;font-size:10px}.danger-zone form{margin:0}
@media(max-width:900px){.handler-chip{max-width:180px}.next-ticket-preview{grid-template-columns:1fr}.ticket-order-tags{flex-wrap:wrap}}

/* 1.10.0: xác nhận cập nhật, nhắc Shopdesk, nhận diện hành trình và thao tác liên tục */

/* 1.11.0: phân tích file, ánh xạ dữ liệu và chia đều chuyên viên */
.import-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.import-summary-grid article{display:flex;flex-direction:column;gap:5px}.import-summary-grid span,.import-summary-grid small{color:var(--muted)}.import-summary-grid b{font-size:25px}.import-control-form{margin-bottom:18px}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:390px;overflow:auto;padding:4px}.mapping-grid label{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1fr);align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.mapping-grid label>span{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.mapping-grid select{min-width:0}.assignee-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}.assignee-check-grid label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--border);border-radius:11px;background:#fff}.priority-distribution{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.import-analysis-table{min-width:1150px}.import-analysis-table td{vertical-align:top}.import-analysis-table td small{display:block;max-width:290px;margin-top:5px;line-height:1.4}.row-edit{margin-top:8px}.row-edit summary{cursor:pointer;color:var(--primary);font-weight:700}.row-edit .compact-form{width:280px;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.row-edit label{display:grid;gap:4px}.row-toggle-form{display:inline}.muted-row{opacity:.55;background:#f1f5f9}.btn-sm{padding:7px 10px;font-size:12px}
@media(max-width:1100px){.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignee-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.import-summary-grid,.mapping-grid,.assignee-check-grid{grid-template-columns:1fr}.mapping-grid label{grid-template-columns:1fr}.import-summary-grid b{font-size:21px}}
.float-nav{top:50%;bottom:auto;transform:translateY(-50%)}.auto-handler-note{display:flex;flex-direction:column;justify-content:center;min-height:69px;padding:8px 10px;border:1px solid #cfe0f4;border-radius:9px;background:#f1f7ff}.auto-handler-note small{color:#60738e;font-size:8px;font-weight:900}.auto-handler-note b{margin:3px 0;color:#245c9e;font-size:11px}.auto-handler-note span{color:#6b7890;font-size:8px;line-height:1.4}.confirm-choice{padding:10px 12px;border:1px solid #dbe4ef;border-radius:10px;background:#f8fafc}.message-sent-choice{border-color:#bfe5d3;background:#effaf5;color:#176a47}.update-confirm-summary{display:grid;gap:9px}.update-confirm-summary article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px;border:1px solid #dce4ef;border-radius:11px;background:#f8fafc}.update-confirm-summary article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff0d9;color:#965d00;font-weight:900}.update-confirm-summary b,.update-confirm-summary small{display:block}.update-confirm-summary small{margin-top:4px;color:#65738a;line-height:1.5}.shop-message-alert{display:flex;flex-direction:column;gap:3px;margin:10px 0;padding:10px;border:1px solid #f0cd8d;border-radius:10px;background:#fff7e8;color:#8d5800}.shop-message-alert.late{border-color:#efb6bc;background:#fff0f1;color:#a51522}.shop-message-alert b{font-size:11px}.shop-message-alert span,.shop-message-alert small{font-size:9px;line-height:1.45}.shop-message-confirm-form{margin-top:8px}.btn-success{background:#12865a;color:#fff}.btn-success:hover{background:#0d704a}@media(max-width:640px){.float-nav{top:50%;right:8px;bottom:auto}.auto-handler-note{grid-column:span 1}}

/* 1.12.0: nhiệm vụ linh hoạt, SLA hậu xử lý và nhập nhanh */
.daily-duty-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #d6dfeb;border-radius:9px;background:#f7f9fc;color:#52637c;font-size:10px;font-weight:800}.daily-duty-chip.active{border-color:#a9dcc7;background:#eaf8f2;color:#13714d}.daily-duty-modal{max-width:620px}.daily-duty-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.daily-duty-option{display:grid;grid-template-columns:40px 1fr;gap:3px 11px;align-items:center;padding:15px;border:1px solid #d8e2ef;border-radius:13px;background:#fff;color:#243653;text-align:left;cursor:pointer}.daily-duty-option:hover{border-color:#7fa9dd;background:#f4f8ff;box-shadow:0 8px 22px rgba(35,82,142,.1)}.daily-duty-option>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eaf2ff;color:#275eaa;font-size:18px;font-weight:900}.daily-duty-option b{font-size:12px}.daily-duty-option small{color:#718096;font-size:9px;line-height:1.45}.daily-work-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px;margin-bottom:16px}.daily-work-current h2{margin:10px 0 6px}.daily-work-active form{margin-top:16px}.live-worker-list{display:grid;gap:8px}.live-worker-list>div{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fafcff}.live-worker-list p{flex:1;margin:0}.live-worker-list b,.live-worker-list small{display:block}.live-worker-list small{margin-top:3px;color:#728096;font-size:9px}.live-worker-list em{color:#718096;font-size:8px;font-style:normal}.live-worker-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.suggestion-chips{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:6px}.suggestion-chips button{border:1px solid #ccdaeb;border-radius:999px;padding:5px 8px;background:#f3f7fc;color:#315f98;font-size:9px;font-weight:700;cursor:pointer}.suggestion-chips button:hover{background:#e4eefb}.ticket-create-disclosure{margin:0 0 13px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;overflow:hidden}.ticket-create-disclosure>summary{padding:12px 14px;background:#f7f9fc;color:#243653;font-size:11px;font-weight:900;cursor:pointer;list-style:none}.ticket-create-disclosure>summary:after{content:'⌄';float:right}.ticket-create-disclosure[open]>summary:after{transform:rotate(180deg)}.ticket-create-disclosure>.form-grid{padding:14px}.workflow-terminal-warning,.workflow-sla-guide{margin:10px 0;padding:11px 12px;border-radius:10px;font-size:10px;line-height:1.5}.workflow-terminal-warning{border:1px solid #f1c3c8;background:#fff3f4;color:#a11a26;font-weight:700}.workflow-sla-guide{display:flex;flex-direction:column;gap:3px;border:1px solid #c9dcf4;background:#f0f6ff;color:#315f98}.workflow-sla-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0;padding:9px 10px;border-radius:9px;background:#eef5ff;color:#375d90;font-size:9px}.workflow-sla-strip b{margin-left:auto}.workflow-sla-strip em{color:#b31522;font-style:normal;font-weight:900}.sla-closed-notice{display:flex;flex-direction:column;gap:3px;margin:10px 0;padding:10px;border-radius:9px;background:#e9f8f0;color:#16704d}.sla-closed-notice small{font-size:9px}.partner-complaint-choice{display:grid;gap:7px;margin:0;padding:10px;border:1px solid #dce5f0;border-radius:10px}.partner-complaint-choice legend{padding:0 5px;color:#263956;font-size:10px;font-weight:900}.partner-complaint-choice label{display:flex;align-items:center;gap:7px;font-size:10px}.next-action-field.is-disabled{opacity:.55}
@media(max-width:850px){.daily-work-grid{grid-template-columns:1fr}.live-worker-list.compact{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.daily-duty-chip{display:none}.daily-duty-options,.live-worker-list.compact{grid-template-columns:1fr}.workflow-sla-strip{align-items:flex-start;flex-direction:column}.workflow-sla-strip b{margin-left:0}}

.workflow-sla-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-6px 0 16px}.workflow-sla-overview>div{padding:11px 13px;border:1px solid #dbe5f2;border-radius:11px;background:#f7faff}.workflow-sla-overview span,.workflow-sla-overview b{display:block}.workflow-sla-overview span{color:#718096;font-size:9px}.workflow-sla-overview b{margin-top:4px;color:#254f88;font-size:14px}@media(max-width:700px){.workflow-sla-overview{grid-template-columns:1fr 1fr}}

.queue-sla-note{margin:-4px 0 12px;padding:9px 12px;border:1px solid #efd39b;border-radius:10px;background:#fff8e9;color:#885900;font-size:10px}

/* 1.13.0: đếm ngược lịch xử lý, KPI ngày và thông báo máy tính/PWA */
.desktop-notification-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #d6dfeb;border-radius:9px;background:#f7f9fc;color:#52637c;font-size:9px;font-weight:800;cursor:pointer}.desktop-notification-button.enabled{border-color:#a9dcc7;background:#eaf8f2;color:#13714d}.desktop-notification-button.blocked{border-color:#efc0c5;background:#fff1f2;color:#a51623}.countdown-clock{display:block;margin-top:4px;color:#315f9e;font-size:9px;font-style:normal;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em}.countdown-clock.is-overdue{color:#bd1421}.task-dock-items .countdown-clock{margin-top:5px}.task-dock-target>small{display:block;margin-top:4px;color:#8fa0b8;font-size:8px}.sla-pill.completed{background:#e7f8f0;color:#08774b}.ticket-table tr.is-terminal{opacity:.78}.ticket-schedule-summary{display:flex;align-items:stretch;gap:10px;padding:12px;margin-bottom:12px;overflow:auto}.ticket-schedule-status{display:grid;grid-template-columns:32px minmax(185px,1fr);gap:9px;align-items:center;min-width:240px;padding:10px;border:1px solid #dce5ef;border-radius:11px;background:#f8fafc}.ticket-schedule-status>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf2ff;color:#2b609e;font-weight:900}.ticket-schedule-status small,.ticket-schedule-status b,.ticket-schedule-status em{display:block}.ticket-schedule-status small{color:#7c899d;font-size:8px;font-weight:900;letter-spacing:.06em}.ticket-schedule-status b{margin:2px 0;color:#263752;font-size:10px}.ticket-schedule-status em{color:#718096;font-size:8px;font-style:normal}.ticket-schedule-status.completed{border-color:#c9e7d8;background:#effaf5}.ticket-schedule-status.completed>span{background:#dff5ea;color:#13734d}.ticket-schedule-status.is-overdue{border-color:#efb9bf;background:#fff3f4}.workflow-sla-strip .countdown-clock{display:inline-block;margin:0}.quick-notification-stack{width:min(460px,calc(100vw - 28px))}.quick-notification.danger,.quick-notification.urgent{border-width:2px;border-left-width:6px;border-color:#e24c58;border-left-color:#c90f1e;background:linear-gradient(135deg,#fff,#fff1f2);box-shadow:0 20px 54px rgba(170,18,31,.28);animation:urgentNotificationPulse 1.6s ease-in-out 2}.quick-notification.danger>header b,.quick-notification.urgent>header b{font-size:13px}.notification-button:has(i:not([hidden])){box-shadow:0 0 0 4px rgba(227,29,43,.12)}@keyframes urgentNotificationPulse{50%{transform:translateX(0) scale(1.015);box-shadow:0 22px 60px rgba(170,18,31,.38)}}
@media(max-width:1050px){.desktop-notification-button span{display:none}.desktop-notification-button{width:36px;padding:0;justify-content:center}.ticket-schedule-summary{flex-wrap:wrap}.ticket-schedule-status{flex:1 1 260px}}
@media(max-width:640px){.desktop-notification-button{display:none}.ticket-schedule-status{min-width:100%}.quick-notification-stack{width:auto}}

/* 1.13.1: bộ lọc ticket gọn, mở rộng theo nhu cầu */
.smart-ticket-filter{display:block}.filter-main-row{display:grid;grid-template-columns:minmax(280px,1fr) 180px 230px auto auto;gap:8px;align-items:center}.smart-ticket-filter .search-wide{min-width:0;width:100%}.smart-ticket-filter .search-wide textarea{resize:none}.smart-ticket-filter .searchable-select{width:100%;min-width:0;flex:none}.advanced-filter-disclosure{margin-top:10px;border-top:1px solid #e5eaf1}.advanced-filter-disclosure>summary{display:flex;align-items:center;gap:8px;width:max-content;padding:10px 2px 0;color:#315f98;font-size:9px;font-weight:900;cursor:pointer;list-style:none}.advanced-filter-disclosure>summary::-webkit-details-marker{display:none}.advanced-filter-disclosure>summary em{padding:4px 7px;border-radius:999px;background:#edf3fb;color:#627692;font-size:8px;font-style:normal;font-weight:700}.advanced-filter-grid{display:grid;grid-template-columns:1.35fr 1.35fr repeat(4,minmax(130px,1fr));gap:10px;align-items:end;padding-top:11px}.advanced-filter-grid>label{gap:5px;color:#6d7b90;font-size:8px;font-weight:900}.advanced-filter-grid select{width:100%;min-width:0}.date-filter-group{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:8px 10px 10px;border:1px solid #dfe6ef;border-radius:10px;background:#f8fafc}.date-filter-group legend{padding:0 5px;color:#41536f;font-size:8px;font-weight:900}.date-filter-group label{gap:4px;color:#738198;font-size:8px}.date-filter-group input{min-width:0;padding:8px;font-size:9px}
@media(max-width:1180px){.filter-main-row{grid-template-columns:minmax(260px,1fr) 180px 220px auto}.filter-main-row>.btn-ghost{grid-column:4}.advanced-filter-grid{grid-template-columns:1fr 1fr 1fr}.date-filter-group{grid-column:span 1}}
@media(max-width:760px){.filter-main-row,.advanced-filter-grid{grid-template-columns:1fr}.filter-main-row>.btn-ghost,.date-filter-group{grid-column:span 1}.filter-main-row .btn,.smart-ticket-filter .searchable-select{width:100%}.advanced-filter-disclosure>summary{width:100%;justify-content:space-between}.date-filter-group{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.date-filter-group{grid-template-columns:1fr}}

/* 1.11.3: chọn shop/trạng thái bằng tìm kiếm cụm từ */
.searchable-select{position:relative;width:100%;min-width:0}.searchable-select:after{content:'⌄';position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#7b8799;pointer-events:none}.searchable-select-input{padding-right:30px}.searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;opacity:0;pointer-events:none}.searchable-select-menu{display:none;position:absolute;z-index:120;top:calc(100% + 5px);left:0;right:0;max-height:260px;overflow:auto;padding:5px;border:1px solid #d8e0eb;border-radius:11px;background:#fff;box-shadow:0 16px 36px rgba(20,34,60,.18)}.searchable-select.open .searchable-select-menu{display:block}.searchable-select-menu button{display:block;width:100%;border:0;border-radius:8px;padding:9px 10px;background:#fff;color:#273650;text-align:left;font-size:11px}.searchable-select-menu button:hover,.searchable-select-menu button.is-active{background:#eef4ff;color:#245b9e}.searchable-select-empty{display:block;padding:11px;color:#7d899a;font-size:10px;text-align:center}.filter-form .searchable-select{width:180px;flex:0 0 180px}.filter-form .searchable-select-customer_id{width:230px;flex-basis:230px}@media(max-width:640px){.filter-form .searchable-select,.filter-form .searchable-select-customer_id{width:100%;flex-basis:100%}}
