.dl-bao{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0f172a;color:#fff;padding:8px 12px 8px 16px;border-radius:9999px;box-shadow:0 4px 20px #00000047;font-size:13.5px;font-weight:500;max-width:calc(100vw - 32px);box-sizing:border-box;animation:dl-bao-hien .2s ease-out}@keyframes dl-bao-hien{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.dl-bao-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-bao-xem{min-height:36px;min-width:36px;padding:0 14px;border-radius:9999px;background:#2563eb;color:#fff;font-weight:600;font-size:13px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.dl-bao-xem:hover{background:#1d4ed8}.pcard-price-box-dat.dat-the-tot,.pdetail-unit-box.land.dat-the-tot{background:#dcfce7!important;color:#166534!important}.pcard-price-box-dat.dat-the-xau,.pdetail-unit-box.land.dat-the-xau{background:#fff!important;color:#b91c1c!important;box-shadow:inset 0 0 0 1px #fca5a5!important}.pcard-price-box-dat.dat-the-cb,.pdetail-unit-box.land.dat-the-cb{background:#ffedd5!important;color:#9a3412!important}.pcard-price-box-dat.dat-the-vua,.pdetail-unit-box.land.dat-the-vua{background:#f1f5f9!important;color:#334155!important}.tds-thanh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;min-width:0}.tds-so{font-size:14px;color:var(--ink-secondary, #5B6474);margin-right:auto;font-variant-numeric:tabular-nums}.tds-so b{color:var(--ink, #1F2430)}.tds-xep{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-secondary, #5B6474);min-width:0}.tds-xep select{min-height:36px;max-width:210px;border:1px solid var(--line, #E3E6EC);border-radius:8px;padding:0 8px;background:var(--surface, #fff);color:inherit;font-size:13px}.tds-kieu .view-mode-btn{min-height:36px;min-width:44px}.ds-luoi{display:grid;grid-template-columns:1fr;gap:18px;min-width:0}@media (min-width: 641px){.ds-luoi{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.bang-loc-nc-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:1049;display:block}@media (max-width: 767px){.bang-loc-nc-backdrop{display:none}}.bang-loc-nc-shell{position:fixed;z-index:1050;background:var(--surface, #ffffff);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@media (max-width: 767px){.bang-loc-nc-shell{inset:0;width:100%;height:100%;max-width:100%;animation:bangLocNcSlideUp .22s ease-out}}@media (min-width: 768px){.bang-loc-nc-shell{top:0;right:0;bottom:0;width:360px;max-width:360px;box-shadow:-4px 0 24px #00000026;border-left:1px solid var(--line, #e2e8f0);animation:bangLocNcSlideRight .22s ease-out}}@keyframes bangLocNcSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bangLocNcSlideRight{0%{transform:translate(100%)}to{transform:translate(0)}}.bang-loc-nc-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;min-height:52px;border-bottom:1px solid var(--line, #f1f5f9);background:var(--surface, #ffffff);flex-shrink:0}.bang-loc-nc-back-btn{width:36px;height:36px;min-width:36px;min-height:36px;border:none;background:var(--surface-2, #f1f5f9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:var(--ink, #1e293b);cursor:pointer;transition:all .15s ease;padding:0}.bang-loc-nc-back-btn:hover{background:#fee2e2;color:#dc2626}.bang-loc-nc-title{margin:0;font-size:16px;font-weight:700;color:var(--ink, #1e293b)}.bang-loc-nc-header-spacer{width:36px;min-width:36px;height:36px}.bang-loc-nc-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px 24px;display:flex;flex-direction:column;gap:20px}.bang-loc-nc-part{display:flex;flex-direction:column;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line, #f1f5f9)}.bang-loc-nc-part-title{margin:0 0 4px;font-size:14px;font-weight:800;color:var(--ink, #1e293b);text-transform:uppercase;letter-spacing:.5px}.gan-day-khoi{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line, #f1f5f9)}.gan-day-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.gan-day-ten{font-size:13px;font-weight:700;color:var(--muted, #64748b)}.gan-day-xoa-btn{min-height:36px;padding:4px 10px;font-size:12.5px;font-weight:600;color:var(--muted, #64748b);background:none;border:none;cursor:pointer}.gan-day-hang{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:2px}.gan-day-chip{min-height:44px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:500;white-space:nowrap;border-radius:var(--r-full, 9999px);border:1px solid var(--line, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--ink, #1e293b);cursor:pointer;box-sizing:border-box}.gan-day-chip:hover{border-color:#cbd5e1}.tru-dong{display:flex;flex-direction:column;gap:8px}.tru-dong-ten{font-size:13px;font-weight:700;color:var(--ink, #1e293b)}.tru-chips{display:flex;flex-wrap:wrap;gap:8px}.tru-chip{min-height:44px;padding:6px 14px;font-size:13px;font-weight:500;border-radius:var(--r-full, 9999px);border:1px solid var(--line, #e2e8f0);background:var(--surface, #ffffff);color:var(--ink, #1e293b);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:all .15s ease;box-sizing:border-box;user-select:none}.tru-chip:hover{background:var(--surface-2, #f8fafc);border-color:#cbd5e1}.tru-chip.active{background:#fee2e2;border-color:#ef4444;color:#dc2626;font-weight:700}.tru-chip.mo{opacity:.45}.tru-chip-nhan{line-height:1.2}.tru-chip-so{font-size:10.5px;font-weight:600;color:var(--muted, #64748b);line-height:1.1}.tru-chip.active .tru-chip-so{color:#dc2626}.tru-range-row{display:flex;align-items:center;gap:8px}.tru-range-input{flex:1;min-width:0;height:40px;min-height:40px;padding:6px 10px;font-size:13px;border-radius:8px;border:1px solid var(--line, #e2e8f0);background:var(--surface, #ffffff);color:var(--ink, #1e293b);outline:none;box-sizing:border-box;transition:border-color .15s ease}.tru-range-input:focus{border-color:#ef4444}.tru-range-sep{font-size:13px;color:var(--muted, #94a3b8);font-weight:600}.tru-range-unit{font-size:12.5px;color:var(--muted, #64748b);white-space:nowrap}.tru-khoi{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px solid var(--line, #f1f5f9)}.tru-khoi-header{width:100%;min-height:44px;padding:4px 0;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-sizing:border-box}.tru-khoi-ten{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink, #1e293b)}.tru-khoi-badge{min-width:20px;height:20px;padding:0 5px;border-radius:9999px;background:#ef4444;color:#fff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.tru-khoi-chevron{font-size:18px;color:var(--muted, #94a3b8);font-weight:700;transition:transform .15s ease}.tru-khoi-chevron.mo{transform:rotate(90deg)}.tru-khoi-body{display:flex;flex-direction:column;gap:16px}.bang-loc-nc-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface, #ffffff);border-top:1px solid var(--line, #f1f5f9);flex-shrink:0;box-sizing:border-box}.bang-loc-nc-footer-reset-btn{flex:0 0 auto;height:44px;min-height:44px;padding:0 14px;border:1px solid var(--line, #e2e8f0);border-radius:10px;background:var(--surface, #ffffff);color:#dc2626;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease;box-sizing:border-box}.bang-loc-nc-footer-reset-btn:hover{background:#fee2e2}.bang-loc-nc-submit-btn{flex:1 1 auto;min-width:0;height:44px;min-height:44px;border:none;border-radius:10px;background:var(--primary, #dc2626);color:#fff;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s ease,transform .05s ease;box-sizing:border-box}.bang-loc-nc-submit-btn:hover{opacity:.95}.bang-loc-nc-submit-btn:active{transform:scale(.99)}.tn-lop{position:fixed;inset:0;z-index:2000}.tn-nen{position:absolute;inset:0;background:#0f172a73;animation:fadeIn .15s ease}.tn-hop{position:absolute;top:72px;left:50%;transform:translate(-50%);width:min(640px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 110px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 20px 50px #0f172a38;display:flex;flex-direction:column;overflow:hidden}.tn-dau{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.tn-lui{display:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--surface-2);color:var(--ink);font-size:26px;line-height:1;font-weight:600;flex-shrink:0;cursor:pointer}.tn-o{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1.5px solid var(--primary);border-radius:var(--r);background:var(--surface);box-shadow:0 0 0 3px var(--primary-light)}.tn-o input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink)}.tn-o input::-webkit-search-cancel-button{display:none}.tn-xoa{border:0;background:var(--surface-3);color:var(--muted);width:24px;height:24px;border-radius:50%;font-size:11px;cursor:pointer;flex-shrink:0}.tn-hieu{padding:8px 16px 0;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}.tn-hieu span{font-weight:700;color:var(--info, #3B82F6);background:var(--info-bg, #EFF6FF);padding:1px 8px;border-radius:var(--r-full)}.tn-hieu em{font-style:normal;margin-left:auto}.tn-ds{flex:1;overflow-y:auto;padding:4px 8px 12px;overscroll-behavior:contain}.tn-nhom{display:flex;justify-content:space-between;align-items:center;padding:12px 8px 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tn-xem-het{border:0;background:none;color:var(--primary);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;padding:2px 4px}.tn-dong{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:9px 8px;border-radius:var(--r);cursor:pointer;color:var(--ink);min-height:52px}.tn-dong.tn-chon{background:var(--surface-2)}.tn-ic{width:36px;height:36px;border-radius:9px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.tn-chu{flex:1;min-width:0}.tn-chu b{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-chu small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-phai{font-size:14px;font-weight:800;color:var(--primary);white-space:nowrap}.tn-dong mark{background:#fef3c7;color:inherit;border-radius:3px;padding:0 1px}.tn-tt{font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;margin-left:6px;vertical-align:1px}.tn-tt-ban{background:var(--danger-bg);color:var(--danger)}.tn-tt-coc{background:var(--warning-bg);color:#b45309}.tn-tt-dung{background:var(--surface-3);color:var(--muted)}.tn-gan-day{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px}.tn-gan-day button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-secondary);border-radius:var(--r-full);padding:6px 12px;font-size:13px;cursor:pointer}.tn-goi-y{display:grid;gap:8px;padding:16px 10px;color:var(--muted);font-size:13px}.tn-goi-y b{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;margin-right:6px;font-weight:700}.tn-rong{padding:36px 16px;text-align:center;color:var(--muted);font-size:13.5px;line-height:1.6}.tn-chan{display:flex;gap:14px;padding:8px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--faint)}@media (max-width: 640px){.tn-hop{top:0;left:0;transform:none;width:100%;max-height:none;height:100%;border:0;border-radius:0;box-shadow:none;animation:tnLen .18s ease}.tn-lui{display:flex;align-items:center;justify-content:center}.tn-chan{display:none}.tn-dau{padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top))}}@keyframes tnLen{0%{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tn-hop,.tn-nen{animation:none}}.pdetail-mosaic-badges-top{flex-direction:row-reverse}.pdetail-mosaic-badges-left{justify-content:flex-end}.pdetail-mosaic-close-btn{left:10px!important;right:auto!important}.pdetail-desktop-close-btn{order:-1;margin-right:10px;margin-left:0!important}.kh-sheet-dau,.dc-modal-head{flex-direction:row-reverse;justify-content:flex-end;gap:10px}.crm-modal-close-btn{left:14px;right:auto!important}.pdetail-step-code-row{justify-content:flex-start!important}.pdetail-sticky-thin-bar .pdetail-sticky-close-btn{order:-1;margin-right:8px}.pdetail-sticky-thin-bar{justify-content:flex-start!important}.pdetail-sticky-thin-bar .pdetail-sticky-left{flex:1;min-width:0}.portal-header-inner{justify-content:flex-start;gap:12px}.portal-nav-tabs{flex-shrink:0}.portal-nav-btn{white-space:nowrap;padding:8px 14px}.portal-user-actions{margin-left:auto;flex-shrink:0}.tn-nut{flex:1 1 320px;min-width:0;max-width:440px;height:42px;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface-2);color:var(--muted);font:inherit;font-size:13.5px;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.tn-nut:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.tn-nut-chu{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-nut kbd{font:inherit;font-size:11px;font-weight:700;color:var(--muted);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:0 6px;background:var(--surface)}.tn-av-dt{display:none}@media (max-width: 1180px) and (min-width: 641px){.tn-tk .user-profile-badge>div:nth-child(2){display:none!important}.portal-nav-btn{padding:8px 10px;font-size:13px}.nav-badge-counter{display:none}}@media (max-width: 960px) and (min-width: 641px){.tn-nut-chu{display:none}.tn-nut{flex:0 0 auto}.tn-nut kbd{display:none}}@media (max-width: 640px){.portal-header-inner{gap:10px!important;justify-content:flex-start!important}.tn-nut{flex:1 1 auto;max-width:none;height:40px}.tn-nut kbd{display:none}.tn-av-dt{display:flex;width:38px;height:38px;border-radius:50%;border:0;flex-shrink:0;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);font-weight:800;font-size:15px;cursor:pointer}.mobile-menu-drawer{position:fixed!important;top:0!important;bottom:0;left:0!important;right:auto!important;width:min(84vw,320px);overflow-y:auto;border-bottom:0!important;border-right:1px solid var(--line);padding:max(14px,env(safe-area-inset-top)) 14px 18px!important;animation:tnTraiVao .22s cubic-bezier(.16,1,.3,1)!important}.mobile-menu-drawer:before{content:"Menu";font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 4px 6px}.mobile-menu-user-row{flex-wrap:wrap;gap:8px}}@keyframes tnTraiVao{0%{transform:translate(-100%)}to{transform:none}}.tn-tk{position:relative}.tn-tk .user-profile-badge{cursor:pointer;font:inherit;color:inherit}.tn-tk-mui{font-size:11px;color:var(--muted);margin-left:2px}.tn-tk-nen{position:fixed;inset:0;z-index:60}.tn-tk-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:61;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column}.tn-tk-menu button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.tn-tk-menu button:hover{background:var(--surface-2)}.portal-nav-tabs{flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.portal-nav-tabs::-webkit-scrollbar{display:none}.cai-dai-tren,.cai-dai-duoi,.cai-the,.cai-tam,.cai-nen{--cai-nen: #fffdf8;--cai-chu: #2a2620;--cai-nhat: #6b6558;--cai-vien: #d9d2c0;--cai-nhan: #7a1f2b;--cai-nhan-chu: #ffe9a8;font-family:inherit;box-sizing:border-box}@media (prefers-color-scheme: dark){.cai-dai-tren,.cai-dai-duoi,.cai-the,.cai-tam,.cai-nen{--cai-nen: #1d211a;--cai-chu: #f1eee4;--cai-nhat: #b3ad9c;--cai-vien: #3a4033;--cai-nhan: #e0b04a;--cai-nhan-chu: #24190a}}.cai-dai-tren{position:fixed;top:0;left:0;right:0;z-index:99990;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--cai-nen);color:var(--cai-chu);border-bottom:1px solid var(--cai-vien);font-size:13px;line-height:1.3}.cai-dai-tren span{flex:1;min-width:0}.cai-dai-duoi{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:99991;min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:var(--cai-nhan);color:var(--cai-nhan-chu);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #0000004d}.cai-the{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:99990;display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--cai-nen);color:var(--cai-chu);border:1px solid var(--cai-vien);border-radius:12px;font-size:14px;box-shadow:0 4px 16px #00000040}.cai-the-nut{display:flex;gap:8px;justify-content:flex-end}.cai-nho{min-height:36px;padding:6px 12px;border:0;border-radius:8px;cursor:pointer;background:var(--cai-nhan);color:var(--cai-nhan-chu);font-size:13px;font-weight:700;white-space:nowrap}.cai-nho-nhat{background:transparent;color:var(--cai-nhat);border:1px solid var(--cai-vien);font-weight:500}.cai-x{min-width:36px;min-height:36px;border:0;background:transparent;color:var(--cai-nhat);font-size:16px;cursor:pointer}.cai-nen{position:fixed;inset:0;z-index:99992;background:#00000080}.cai-tam{position:fixed;left:0;right:0;bottom:0;z-index:99993;max-width:520px;margin:0 auto;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--cai-nen);color:var(--cai-chu);border-radius:16px 16px 0 0;font-size:15px;max-height:85vh;overflow-y:auto}.cai-tam-dau{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cai-buoc{margin:0 0 12px;padding-left:22px;line-height:1.5}.cai-buoc li{margin-bottom:6px}.cai-chu{margin:0 0 12px;line-height:1.5}.cai-nut{display:block;width:100%;min-height:44px;margin:4px 0 12px;border:0;border-radius:10px;background:var(--cai-nhan);color:var(--cai-nhan-chu);font-size:15px;font-weight:700;cursor:pointer}.cai-luu-y{margin:0;font-size:12px;line-height:1.45;color:var(--cai-nhat)}.cai-link{display:block;width:100%;margin:10px 0 0;padding:8px;border:0;background:transparent;color:inherit;opacity:.75;font:inherit;font-size:12px;text-align:center;cursor:pointer}:root{--primary: #E53935;--primary-dark: #C62828;--primary-light: #FFEBEE;--primary-border: #FFCDD2;--primary-ink: #B71C1C;--ground: #F4F6F8;--surface: #FFFFFF;--surface-2: #F8F9FA;--surface-3: #EDF0F2;--ink: #1E293B;--ink-secondary: #475569;--muted: #64748B;--faint: #94A3B8;--line: #E2E8F0;--line-strong: #CBD5E1;--success: #10B981;--success-bg: #ECFDF5;--success-border: #A7F3D0;--warning: #F59E0B;--warning-bg: #FFFBEB;--warning-border: #FDE68A;--danger: #EF4444;--danger-bg: #FEF2F2;--danger-border: #FECACA;--info: #3B82F6;--info-bg: #EFF6FF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 8px 10px -6px rgba(0, 0, 0, .06);--r-sm: 6px;--r: 10px;--r-lg: 16px;--r-full: 9999px;--header-h: 68px}:root{--red: #E53935;--red-bg: #FFEBEE;--red-ink: #B71C1C;--green: #16A34A;--green-bg: #DCFCE7;--amber: #D97706;--amber-bg: #FEF3C7;--blue: #2563EB;--blue-bg: #DBEAFE;--violet: #7C3AED;--violet-bg: #EDE9FE;--line-2: #CBD5E1;--ink-2: #475569;--purple: #7C3AED;--purple-bg: #EDE9FE;--purple-border: #C4B5FD}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:14px}.app-container{min-height:100%;display:flex;flex-direction:column}.portal-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.16,1,.3,1)}.portal-header.header-hidden{transform:translateY(-100%)}.mobile-hamburger-btn{display:none;width:38px;height:38px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);font-size:20px;font-weight:700;color:var(--ink);align-items:center;justify-content:center;cursor:pointer}.portal-header-inner{max-width:1440px;margin:0 auto;padding:0 20px;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-block{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer}.brand-logo-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:800;box-shadow:0 2px 6px #e5393559}.brand-text-wrap{display:flex;flex-direction:column}.brand-title{font-size:17px;font-weight:800;color:var(--primary-dark);letter-spacing:-.3px;line-height:1.2}.brand-subtitle{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.portal-nav-tabs{display:flex;align-items:center;gap:6px;background:var(--surface-2);padding:4px;border-radius:var(--r-full);border:1px solid var(--line)}.portal-nav-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--r-full);font-size:13.5px;font-weight:600;color:var(--ink-secondary);transition:all .18s ease;position:relative}.portal-nav-btn:hover{color:var(--ink);background:#00000008}.portal-nav-btn.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #0000001a}.nav-badge-counter{background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:var(--r-full)}.portal-user-actions{display:flex;align-items:center;gap:12px}.user-profile-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);font-size:13px;font-weight:600;color:var(--ink)}.user-avatar-circle{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;font-size:12px;font-weight:700}.btn-signout{padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--muted);border-radius:var(--r);border:1px solid var(--line);background:var(--surface);transition:all .15s ease}.btn-signout:hover{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.btn-login-trigger{padding:8px 18px;font-size:13px;font-weight:700;color:#fff;background:var(--primary);border-radius:var(--r-full);transition:background .15s ease}.btn-login-trigger:hover{background:var(--primary-dark)}.portal-main-content{flex:1;max-width:1440px;width:100%;margin:0 auto;padding:20px}.khotong-container{display:flex;flex-direction:column;gap:16px}.thanh-loc-sticky-rows{display:flex;flex-direction:column;gap:8px;width:100%;position:sticky;top:var(--header-h);z-index:5;background:var(--ground);padding-top:2px;margin-top:-8px;transition:top .25s cubic-bezier(.16,1,.3,1)}body:has(.portal-header.header-hidden) .thanh-loc-sticky-rows{top:0}.thanh-loc-search-row{display:flex;align-items:center;gap:10px;width:100%}.thanh-loc-input-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface-2);padding:6px 12px;border-radius:var(--r);border:1px solid var(--line);min-height:42px}.thanh-loc-search-icon{width:18px;height:18px;stroke:var(--muted);fill:none;flex-shrink:0}.thanh-loc-input{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:none;font-size:14px;color:var(--ink)}.thanh-loc-input::placeholder{color:var(--muted);font-size:13.5px}.thanh-loc-clear-btn{flex-shrink:0;color:var(--muted);font-size:13px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000000d;cursor:pointer;border:none}.thanh-loc-adv-btn{flex-shrink:0;display:flex;align-items:center;gap:6px;min-height:42px;padding:8px 14px;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:all .15s ease}.thanh-loc-adv-btn.active{background:#fef2f2;border-color:#f87171;color:#dc2626}.thanh-loc-chip-row{display:flex;align-items:center;gap:6px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.thanh-loc-chip-row::-webkit-scrollbar{display:none}.thanh-loc-chip{flex-shrink:0;display:flex;align-items:center;min-height:40px;max-width:46vw;padding:0 12px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:all .15s ease}.thanh-loc-chip:hover{border-color:var(--primary)}.thanh-loc-chip.active{background:#fef2f2;border-color:#fca5a5}.thanh-loc-chip-text{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.thanh-loc-chip.active .thanh-loc-chip-text{color:#dc2626}.thanh-loc-quick-row{display:flex;align-items:center;gap:6px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,black calc(100% - 28px),rgba(0,0,0,.35) 100%);mask-image:linear-gradient(to right,#000 calc(100% - 28px),#00000059)}.thanh-loc-quick-row::-webkit-scrollbar{display:none}@media (min-width: 768px){.thanh-loc-quick-row{flex-wrap:wrap;overflow-x:visible;-webkit-mask-image:none;mask-image:none}}.thanh-loc-quick-btn{flex-shrink:0;min-height:36px;padding:6px 12px;border-radius:var(--r-full);font-size:12.5px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;transition:all .15s ease}.thanh-loc-quick-btn.active{background:#b91c1c;border-color:#b91c1c;color:#fff;font-weight:700}.thanh-loc-quick-btn:hover:not(.active){background:var(--surface-2);border-color:#94a3b8}.thanh-loc-meta-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;width:100%;margin-top:4px}.thanh-loc-meta-text{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13.5px;font-weight:700;color:var(--ink)}.thanh-loc-meta-text b{color:var(--ink);font-weight:700}.thanh-loc-loading-tag{color:var(--primary);font-weight:700;margin-left:8px;font-size:12.5px}.thanh-loc-meta-actions{display:flex;align-items:center;gap:8px}.thanh-loc-sort-label{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:500;color:var(--ink-secondary)}.thanh-loc-sort-select{font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;min-height:36px}.thanh-loc-xoa-loc-btn{white-space:nowrap;min-height:36px}.thanh-loc-bar{position:sticky;top:var(--header-h);z-index:5;background:var(--ground);padding:2px 0 4px;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease}body:has(.portal-header.header-hidden) .thanh-loc-bar{top:0}.thanh-loc-bar--an{transform:translateY(-100%);opacity:0;pointer-events:none}.thanh-loc-row-desktop{display:none}.thanh-loc-row-mobile{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.thanh-loc-row-mobile::-webkit-scrollbar{display:none}@media (min-width: 768px){.thanh-loc-row-desktop{display:flex;align-items:center;gap:8px;width:100%;min-height:60px;flex-wrap:nowrap}.thanh-loc-row-mobile{display:none}.thanh-loc-input-wrap--desktop{flex:0 1 320px;min-width:160px}}.thanh-loc-divider{flex-shrink:0;width:1px;align-self:stretch;margin:6px 2px;background:var(--line)}.thanh-loc-nhanh-wrap{position:relative;flex-shrink:0}.thanh-loc-nhanh-chip{white-space:nowrap}.thanh-loc-nhanh-backdrop{position:fixed;inset:0;z-index:19;background:transparent}.thanh-loc-nhanh-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg, 14px);box-shadow:0 10px 30px #0000002e,0 2px 8px #00000014;padding:10px}.thanh-loc-nhanh-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.thanh-loc-nhanh-panel-btn{min-height:38px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.thanh-loc-nhanh-panel-btn.active{background:#b91c1c;border-color:#b91c1c;color:#fff;font-weight:700}.thanh-loc-nhanh-panel-done{width:100%;min-height:38px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.thanh-loc-meta-desktop{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0;white-space:nowrap}.thanh-loc-search-round-btn{flex-shrink:0;width:40px;height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.thanh-loc-adv-btn--mobile{flex-shrink:0}.thanh-loc-chip-row-mobile{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--bong-chip, 0px)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--bong-chip, 0px)),transparent)}.thanh-loc-chip-row-mobile.con-chip-phai{--bong-chip: 28px}.thanh-loc-chip-row-mobile::-webkit-scrollbar{display:none}.thanh-loc-search-expand{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}.thanh-loc-search-expand .thanh-loc-input{flex:1;min-width:0}.thanh-loc-search-close-btn{flex-shrink:0;min-height:36px;padding:6px 4px;border:none;background:transparent;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer}.thanh-loc-nhanh-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.thanh-loc-nhanh-sheet-btn{min-height:44px;padding:6px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.thanh-loc-nhanh-sheet-btn.active{background:var(--primary, #d92d20);border-color:var(--primary, #d92d20);color:#fff;font-weight:700}.thanh-loc-meta-mobile-only{margin-top:4px}@media (min-width: 768px){.thanh-loc-meta-mobile-only{display:none}}.thanh-loc-noi-btn{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:15;min-height:48px;min-width:48px;padding:0 16px;border:none;border-radius:var(--r-full, 999px);background:#b91c1c;color:#fff;font-size:13px;font-weight:700;box-shadow:0 6px 18px #b91c1c66;cursor:pointer}@media (min-width: 768px){.thanh-loc-noi-btn{display:none}}.bang-loc-nho-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:1050;display:flex;align-items:flex-end;justify-content:center}.bang-loc-nho-shell{width:100%;max-width:520px;background:var(--surface, #ffffff);border-radius:20px 20px 0 0;box-shadow:0 -4px 24px #0000002e;display:flex;flex-direction:column;max-height:85vh;box-sizing:border-box;animation:bangLocSlideUp .22s ease-out}@keyframes bangLocSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 768px){.bang-loc-nho-backdrop{display:block;background:#00000040}.bang-loc-nho-shell{border-radius:16px;box-shadow:0 10px 30px #00000038,0 2px 8px #00000014;border:1px solid #cbd5e1;animation:bangLocFadeIn .2s ease-out;display:flex;flex-direction:column}@keyframes bangLocFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}.bang-loc-nho-handle-bar{display:flex;justify-content:center;align-items:center;padding:8px 0 2px;cursor:grab}@media (min-width: 768px){.bang-loc-nho-handle-bar{display:none}}.bang-loc-nho-handle{width:38px;height:4px;border-radius:2px;background:#cbd5e1}.bang-loc-nho-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #f1f5f9}.bang-loc-nho-title{margin:0;font-size:16px;font-weight:700;color:var(--ink, #1e293b)}.bang-loc-nho-close-btn{width:36px;height:36px;min-width:36px;min-height:36px;border:none;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-secondary, #64748b);cursor:pointer;transition:all .15s ease}.bang-loc-nho-close-btn:hover{background:#fee2e2;color:#dc2626}.bang-loc-nho-body{padding:14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.bang-loc-section{display:flex;flex-direction:column;gap:16px}.bang-loc-field-group{display:flex;flex-direction:column;gap:8px}.bang-loc-label-row{display:flex;align-items:center;justify-content:space-between}.bang-loc-label{font-size:13.5px;font-weight:700;color:var(--ink, #1e293b)}.bang-loc-counter{font-size:12px;font-weight:700;color:var(--primary, #d92d20)}.bang-loc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.bang-loc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bang-loc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.bang-loc-grid-tang{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}@media (max-width: 375px){.bang-loc-grid-tang{grid-template-columns:repeat(3,1fr);gap:6px}}.bang-loc-pill-btn{min-height:38px;min-width:36px;font-size:12.5px;font-weight:600;padding:6px 4px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--ink, #1e293b);cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .15s ease;line-height:1.2}.bang-loc-pill-btn:hover:not(.active){background:#f8fafc;border-color:#cbd5e1}.bang-loc-pill-btn.active{background:var(--primary, #d92d20);color:#fff;border-color:var(--primary, #d92d20);font-weight:700}.bang-loc-expand-btn{min-height:36px;width:100%;border:none;background:transparent;color:var(--primary, #d92d20);font-size:12.5px;font-weight:700;cursor:pointer;padding:6px 0;text-align:center;transition:opacity .15s ease}.bang-loc-expand-btn:hover{opacity:.85}.bang-loc-accordion-toggle{min-height:38px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;text-align:left}.bang-loc-accordion-arrow{font-size:11px;color:var(--ink-secondary, #64748b)}.bang-loc-accordion-body{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:8px}.bang-loc-search-input{height:36px;min-height:36px;width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;font-size:16px;box-sizing:border-box;background:#fff;outline:none}.bang-loc-search-input:focus{border-color:var(--primary, #d92d20)}.bang-loc-wards-scroll{max-height:160px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px;padding:2px}.bang-loc-ward-pill{min-height:36px;padding:6px 10px;font-size:12px;font-weight:500;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--ink, #1e293b);cursor:pointer;display:flex;align-items:center}.bang-loc-ward-pill.active{background:var(--primary, #d92d20);color:#fff;border-color:var(--primary, #d92d20);font-weight:700}.bang-loc-empty-hint{font-size:12px;color:var(--ink-secondary, #64748b);text-align:center;padding:8px 0;width:100%}.chon-khu-vuc{display:flex;flex-direction:column;gap:8px}.chon-khu-vuc-the-hang{display:flex;flex-wrap:wrap;gap:6px}.chon-khu-vuc-the{display:flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid var(--primary, #d92d20);border-radius:999px;background:#fef2f2;color:var(--primary, #d92d20);font-size:12.5px;font-weight:700;cursor:pointer}.chon-khu-vuc-the-x{font-size:11px;opacity:.8}.chon-khu-vuc-input{height:40px;min-height:40px;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px;font-size:16px;box-sizing:border-box;background:#fff;outline:none}.chon-khu-vuc-input:focus{border-color:var(--primary, #d92d20)}.chon-khu-vuc-goi-y{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chon-khu-vuc-quan-pill{min-height:36px;padding:6px 12px;font-size:12.5px;font-weight:600;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--ink, #1e293b);cursor:pointer}.chon-khu-vuc-quan-pill.active{background:var(--primary, #d92d20);color:#fff;border-color:var(--primary, #d92d20);font-weight:700}.chon-khu-vuc-xem-them{min-height:36px;padding:6px 10px;border:none;background:transparent;color:var(--primary, #d92d20);font-size:12.5px;font-weight:700;cursor:pointer}.chon-khu-vuc-toan-man{position:fixed;inset:0;z-index:1060;background:var(--surface, #ffffff);display:flex;flex-direction:column}.chon-khu-vuc-toan-man-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.chon-khu-vuc-input-ghim{flex:1;min-width:0}.chon-khu-vuc-dong-btn{width:36px;height:36px;min-width:36px;min-height:36px;border:none;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-secondary, #64748b);cursor:pointer;flex-shrink:0}.chon-khu-vuc-the-hang-toan-man{padding:8px 12px 0;flex-shrink:0}.chon-khu-vuc-danh-sach{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 16px}.chon-khu-vuc-trong{font-size:12.5px;color:var(--ink-secondary, #64748b);text-align:center;padding:16px 0}.chon-khu-vuc-dong{display:flex;align-items:center;min-height:44px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left}button.chon-khu-vuc-dong{padding:8px 4px;border-radius:8px}.chon-khu-vuc-dong.active{background:#fef2f2}.chon-khu-vuc-dong-ten-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 4px;border:none;background:transparent;cursor:pointer;text-align:left}.chon-khu-vuc-dong-ten{font-size:14px;font-weight:600;color:var(--ink, #1e293b);display:flex;flex-direction:column;min-width:0}.chon-khu-vuc-dong-phu{font-size:11.5px;font-weight:500;color:var(--ink-secondary, #64748b)}.chon-khu-vuc-dong-so{font-size:12px;font-weight:600;color:var(--ink-secondary, #64748b);flex-shrink:0;padding-left:8px}.bang-loc-range-inputs{display:flex;align-items:center;gap:8px}.bang-loc-input-box{display:flex;align-items:center;flex:1;min-width:0;min-height:38px;height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;background:#fff;box-sizing:border-box;transition:border-color .15s ease}.bang-loc-input-box.has-value{border:1.5px solid var(--primary, #d92d20);background:#fffbfa}.bang-loc-input-affix{font-size:12px;color:var(--ink-secondary, #64748b);margin-right:6px;font-weight:500}.bang-loc-num-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:16px;font-weight:700;color:var(--ink, #1e293b);padding:0}.bang-loc-input-unit{font-size:12px;color:var(--ink-secondary, #64748b);margin-left:4px;font-weight:600}.bang-loc-range-sep{font-size:14px;color:#94a3b8;font-weight:600}.bang-loc-guide-text{font-size:13px;color:var(--ink-secondary, #64748b);margin:0 0 12px;line-height:1.45}.bang-loc-duong-list{display:flex;flex-direction:column;gap:6px}.bang-loc-duong-btn{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--ink, #1e293b);cursor:pointer;transition:all .15s ease}.bang-loc-duong-btn:hover:not(.selected-deep):not(.selected-light){background:#f8fafc;border-color:#cbd5e1}.bang-loc-duong-btn.selected-deep{background:var(--primary, #d92d20);color:#fff;border-color:var(--primary, #d92d20);font-weight:700}.bang-loc-duong-btn.selected-light{background:#fee4e2;color:#b42318;border-color:#fecdca;font-weight:600}.bang-loc-duong-name{font-size:13.5px;display:flex;align-items:center}.bang-loc-check-mark{font-weight:800;margin-right:4px;color:#b42318}.bang-loc-duong-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.bang-loc-duong-range{font-size:12px;opacity:.85}.bang-loc-duong-count{font-size:11.5px;font-weight:700;color:var(--ink-secondary, #64748b);white-space:nowrap}.bang-loc-duong-btn.selected-deep .bang-loc-duong-count,.bang-loc-duong-btn.selected-light .bang-loc-duong-count{color:inherit;opacity:.85}.bang-loc-nho-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#fff;border-radius:0 0 20px 20px;box-sizing:border-box}@media (min-width: 768px){.bang-loc-nho-footer{border-radius:0 0 16px 16px}}.bang-loc-clear-btn{min-height:42px;min-width:95px;padding:0 12px;font-size:13.5px;font-weight:600;color:var(--ink-secondary, #64748b);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease}.bang-loc-clear-btn:hover{background:#e2e8f0;color:var(--ink, #1e293b)}.bang-loc-apply-btn{min-height:42px;flex:1;padding:0 16px;font-size:14px;font-weight:700;color:#fff;background:var(--primary, #d92d20);border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 6px #d92d204d;transition:all .15s ease}.bang-loc-apply-btn:hover{background:#b42318;box-shadow:0 4px 10px #d92d2066}.search-control-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--surface);padding:12px 16px;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.search-sub-controls-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-input-field-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface-2);padding:8px 12px;border-radius:var(--r);border:1px solid var(--line)}.search-input-field-wrap input{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:none;font-size:14px;color:var(--ink)}.search-input-field-wrap input::placeholder{color:var(--muted)}.search-clear-btn{flex-shrink:0;color:var(--muted);font-size:13px;padding:2px 6px;border-radius:50%;background:#0000000d}.search-input-submit-btn{flex-shrink:0;padding:6px 14px;border-radius:var(--r-full);background:var(--primary);color:#fff;border:none;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s ease;margin-left:2px}.search-input-submit-btn:hover{opacity:.9;transform:scale(1.02)}.view-mode-toggle-group{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:2px;gap:2px}.view-mode-btn{padding:7px 12px;border-radius:var(--r-sm);font-size:12.5px;font-weight:700;color:var(--muted);background:transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.view-mode-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.sort-dropdown-select{padding:10px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-secondary);outline:none;cursor:pointer}.filter-capsule-row-wrap{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:8px}.filter-capsule-scroll-area{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;flex:1 1 auto;min-width:0}.filter-capsule-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;overflow:visible;padding-bottom:6px}.filter-select-capsule{padding:8px 14px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-secondary);cursor:pointer;outline:none;white-space:nowrap;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.filter-select-capsule:hover{border-color:var(--line-strong)}.filter-select-capsule.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary-ink);font-weight:700}.filter-adv-btn{background:var(--surface-2);border-color:var(--line-strong)}.filter-clear-all-btn{padding:8px 14px;border-radius:var(--r-full);border:1px dashed var(--danger-border);background:var(--danger-bg);color:var(--danger);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.filter-clear-all-btn:hover{background:var(--danger);color:#fff}.filter-search-submit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--r-full);border:1.5px solid var(--primary);background:var(--surface);color:var(--primary);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.filter-search-submit-btn:hover{background:var(--primary);color:#fff;box-shadow:0 4px 14px #ff704359;transform:translateY(-1px)}.filter-search-submit-btn.has-pending{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 3px 12px #ff704366;animation:pulseSearchBtn 2s infinite ease-in-out}@keyframes pulseSearchBtn{0%,to{box-shadow:0 3px 12px #ff704366;transform:scale(1)}50%{box-shadow:0 5px 18px #ff7043a6;transform:scale(1.02)}}.btn-search-icon{font-size:13px}.btn-search-text{font-size:13px;font-weight:700}.btn-search-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:#fff;color:var(--primary);font-size:11px;font-weight:800;line-height:1;margin-left:3px;pointer-events:none}.filter-search-submit-btn:not(.has-pending) .btn-search-badge{background:var(--primary-light);color:var(--primary-ink)}.search-input-submit-btn.has-pending{background:var(--primary)!important;color:#fff!important;box-shadow:0 3px 12px #ff704373}.pending-search-floating-bar{display:none}@media (max-width: 640px){.pending-search-floating-bar{display:flex;position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0px));left:12px;right:12px;background:#1e293b;color:#fff;padding:10px 14px;border-radius:var(--r-lg);box-shadow:0 8px 24px #0006;align-items:center;justify-content:space-between;gap:12px;z-index:1050;cursor:pointer;animation:slideUpFloating .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUpFloating{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.floating-bar-left{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.floating-pulse-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:pulseDot 1.5s infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.btn-floating-apply{background:var(--primary);color:#fff;border:none;border-radius:var(--r-full);padding:6px 14px;font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap}}.active-filters-bar{display:flex;align-items:center;gap:10px;background:var(--surface-2);padding:8px 14px;border-radius:var(--r);border:1px solid var(--line);flex-wrap:wrap;animation:fadeInDown .15s ease}.active-filters-label{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap}.active-filters-scroll{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.active-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--surface);border:1px solid var(--primary-border);border-radius:var(--r-full);font-size:12px;font-weight:600;color:var(--primary-ink);box-shadow:var(--shadow-sm);transition:all .15s ease}.active-filter-chip:hover{border-color:var(--primary)}.active-filter-chip .chip-text{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-remove-btn{background:transparent;border:0;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .12s ease}.chip-remove-btn:hover{color:var(--danger);background:var(--danger-bg)}.active-filters-clear-btn{padding:4px 10px;background:transparent;border:1px dashed var(--danger-border);color:var(--danger);font-size:11.5px;font-weight:700;border-radius:var(--r-full);cursor:pointer;white-space:nowrap;transition:all .15s ease}.active-filters-clear-btn:hover{background:var(--danger);color:#fff}.quick-shortcuts-bar{display:flex;align-items:center;gap:6px;width:100%;overflow-x:auto;overflow-y:visible;padding:4px 0 6px;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x}.quick-shortcuts-bar::-webkit-scrollbar{display:none}.quick-shortcut-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--r-full);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-secondary);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s ease;min-height:36px;user-select:none;-webkit-tap-highlight-color:transparent}.quick-shortcut-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.quick-shortcut-chip.active{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700;box-shadow:0 2px 8px #ff704359}.quick-shortcut-chip.chip-hot{border-color:#ef4444;color:#ef4444}.quick-shortcut-chip.chip-hot:hover,.quick-shortcut-chip.chip-hot.active{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 2px 8px #ef444459}.quick-shortcut-chip.chip-drop{border-color:#7c3aed;color:#7c3aed}.quick-shortcut-chip.chip-drop:hover,.quick-shortcut-chip.chip-drop.active{background:#7c3aed;border-color:#7c3aed;color:#fff;box-shadow:0 2px 8px #7c3aed59}.quick-shortcuts-label{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0;padding-right:2px}.multiselect-dropdown-wrap{position:relative;display:inline-block}.ms-btn-icon{font-size:13px}.ms-btn-text{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-arrow-indicator{font-size:9px;opacity:.6;margin-left:2px}.ms-chip-clear-btn{margin-left:4px;padding:1px 5px;border-radius:50%;background:#0000001a;font-size:10px;line-height:1;color:var(--ink)}.ms-chip-clear-btn:hover{background:var(--danger);color:#fff}.multiselect-popover-panel{position:absolute;top:calc(100% + 8px);left:0;width:290px;max-width:90vw;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-xl);z-index:150;display:flex;flex-direction:column;overflow:hidden;animation:fadeInDown .15s ease}.multiselect-popover-panel.align-right{left:auto;right:0}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ms-popover-search-row{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--surface-2)}.ms-search-input{flex:1;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px;font-size:13px;background:var(--surface);outline:none;color:var(--ink)}.ms-search-input:focus{border-color:var(--primary)}.ms-search-clear-btn{font-size:11px;color:var(--muted);padding:3px 6px;border-radius:var(--r-sm);background:#0000000f}.ms-popover-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}.ms-quick-action-btn{font-size:11.5px;font-weight:600;color:var(--primary);background:transparent;padding:3px 6px;cursor:pointer;border-radius:var(--r-sm)}.ms-quick-action-btn:hover{background:var(--primary-light)}.ms-quick-action-btn.text-danger{color:var(--danger)}.ms-quick-action-btn.text-danger:hover{background:var(--danger-bg)}.ms-items-scroll-list{max-height:240px;overflow-y:auto;padding:6px 0;display:flex;flex-direction:column}.ms-item-row{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;user-select:none;transition:background .12s ease}.ms-item-row:hover{background:var(--surface-2)}.ms-item-row.selected{background:var(--primary-light)}.ms-checkbox-input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.ms-item-label-wrap{display:flex;flex-direction:column;min-width:0}.ms-item-main-label{font-size:13px;font-weight:600;color:var(--ink)}.ms-item-sub-label{font-size:11px;color:var(--muted)}.ms-empty-hint{padding:20px;text-align:center;font-size:12.5px;color:var(--muted)}.ms-popover-footer{padding:10px 14px;border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between}.ms-footer-summary{font-size:12px;color:var(--muted)}.ms-footer-summary b{color:var(--primary)}.ms-btn-apply{padding:6px 14px;border-radius:var(--r-sm);background:var(--primary);color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;transition:opacity .15s ease}.ms-btn-apply:hover{opacity:.9}.price-range-popover-panel{width:310px;padding:14px 16px}.price-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.price-popover-close-btn{background:transparent;border:none;font-size:14px;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:var(--r-sm)}.price-popover-close-btn:hover{background:var(--surface-2);color:var(--ink)}.price-popover-inputs-row{display:flex;align-items:center;gap:8px}.price-input-box{flex:1;display:flex;flex-direction:column}.price-input-box label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}.price-number-input{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13.5px;font-weight:600;color:var(--ink);background:var(--surface);outline:none;box-sizing:border-box}.price-number-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.price-input-separator{font-size:14px;color:var(--muted);padding-top:16px}.price-presets-title{font-size:11px;font-weight:700;color:var(--muted);margin-top:14px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.2px}.price-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.price-preset-chip{padding:6px 4px;border-radius:var(--r-sm);font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-secondary);cursor:pointer;text-align:center;transition:all .15s ease}.price-preset-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--surface)}.price-preset-chip.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary-ink);font-weight:700}.price-popover-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.btn-text-clear{background:transparent;border:none;font-size:12.5px;font-weight:600;color:var(--danger);cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);transition:background .15s ease}.btn-text-clear:hover{background:var(--danger-bg)}.listing-meta-summary{display:flex;align-items:center;justify-content:space-between;padding:4px 2px;font-size:13.5px;color:var(--muted)}.listing-meta-summary b{color:var(--ink)}.portal-listing-grid{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 641px){.portal-listing-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}}.pcard{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:14px!important;box-shadow:0 1px 3px #0000000d!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;text-align:left!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;cursor:pointer!important;position:relative!important;box-sizing:border-box!important;flex-shrink:0!important}.pcard:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #00000014!important;border-color:#cbd5e1!important}.pcard-mosaic{margin:8px 8px 0!important;height:186px!important;display:grid!important;grid-template-columns:2fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:3px!important;border-radius:10px!important;overflow:hidden!important;position:relative!important;background:#f1f5f9!important;box-sizing:border-box!important}@media (min-width: 641px){.pcard-mosaic{margin:10px 10px 0!important;height:222px!important;gap:4px!important;border-radius:12px!important}}.pcard-mosaic-main{grid-column:1 / 2!important;grid-row:1 / 3!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#f1f5f9!important;border-radius:10px 4px 4px 10px!important}@media (min-width: 641px){.pcard-mosaic-main{border-radius:12px 5px 5px 12px!important}}.pcard-mosaic-main.pcard-mosaic-single{grid-column:1 / -1!important;grid-row:1 / -1!important;border-radius:10px!important}@media (min-width: 641px){.pcard-mosaic-main.pcard-mosaic-single{border-radius:12px!important}}.pcard-mosaic-sub-full{grid-column:2 / 3!important;grid-row:1 / 3!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#f1f5f9!important;border-radius:4px 10px 10px 4px!important}@media (min-width: 641px){.pcard-mosaic-sub-full{border-radius:5px 12px 12px 5px!important}}.pcard-mosaic-sub-top{grid-column:2 / 3!important;grid-row:1 / 2!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#f1f5f9!important;border-radius:4px 10px 4px 4px!important}@media (min-width: 641px){.pcard-mosaic-sub-top{border-radius:5px 12px 5px 5px!important}}.pcard-mosaic-sub-bottom{grid-column:2 / 3!important;grid-row:2 / 3!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#f1f5f9!important;border-radius:4px 4px 10px!important}@media (min-width: 641px){.pcard-mosaic-sub-bottom{border-radius:5px 5px 12px!important}}.pcard-mosaic-img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.pcard-mosaic-placeholder{grid-column:1 / -1!important;grid-row:1 / -1!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f1f5f9!important;position:relative!important;border-radius:10px!important}@media (min-width: 641px){.pcard-mosaic-placeholder{border-radius:12px!important}}.pcard-placeholder-icon{width:36px!important;height:36px!important;stroke:currentColor!important;fill:none!important;color:#94a3b8!important}.pcard-photo-more-overlay{position:absolute!important;inset:auto 6px 6px auto!important;display:inline-flex!important;align-items:center!important;gap:3px!important;padding:3px 8px!important;border-radius:999px!important;background:#0f172ab8!important;color:#fff!important;font-size:12px!important;font-weight:700!important;line-height:1.3!important;z-index:2!important;pointer-events:none!important;backdrop-filter:none!important}.pcard-overlay-tl{position:absolute!important;top:6px!important;left:6px!important;display:flex!important;flex-direction:column!important;gap:3px!important;align-items:flex-start!important;z-index:3!important;pointer-events:none!important}.pcard-img-badge{font-size:9.5px!important;font-weight:800!important;border-radius:5px!important;padding:2px 6px!important;box-shadow:0 1px 3px #0003!important;white-space:nowrap!important;line-height:1.2!important}@media (min-width: 641px){.pcard-img-badge{font-size:11px!important;padding:3px 8px!important}}.pcard-img-badge.badge-new{background:#10b981!important;color:#fff!important}.pcard-img-badge.badge-drop{background:#ef4444!important;color:#fff!important}.pcard-img-badge.badge-surveyed{background:#059669!important;color:#fff!important}.pcard-overlay-bl{position:absolute!important;bottom:6px!important;left:6px!important;z-index:3!important}.pcard-ht-badge-corner{font-size:10px!important;font-weight:800!important;border-radius:5px!important;padding:2px 6px!important;white-space:nowrap!important;border:1px solid!important;line-height:1.2!important;display:inline-block!important}@media (min-width: 641px){.pcard-ht-badge-corner{font-size:11px!important;padding:3px 8px!important}}.pcard-ht-badge-corner.ht-o_ngay{background:#ecfdf5!important;color:#065f46!important;border-color:#6ee7b7!important}.pcard-ht-badge-corner.ht-sua_so{background:#fefce8!important;color:#854d0e!important;border-color:#fde047!important}.pcard-ht-badge-corner.ht-cai_tao{background:#fff7ed!important;color:#9a3412!important;border-color:#fdba74!important}.pcard-ht-badge-corner.ht-ban_dat{background:#f5f5f4!important;color:#44403c!important;border-color:#d6d3d1!important}.pcard-ht-badge-corner.ht-chua_ro{background:#f1f5f9!important;color:#475569!important;border-color:#cbd5e1!important}.pcard-overlay-br{position:absolute!important;bottom:6px!important;right:6px!important;z-index:3!important}.pcard-badge-status{padding:2px 6px!important;border-radius:4px!important;font-size:9.5px!important;font-weight:700!important;text-transform:uppercase!important;color:#fff!important;line-height:1.2!important;display:inline-block!important;backdrop-filter:blur(4px)!important;background:#64748beb!important}@media (min-width: 641px){.pcard-badge-status{font-size:11px!important;padding:3px 8px!important}}.pcard-badge-status.s-qualified{background:#3b82f6f2!important}.pcard-badge-status.s-unqualified{background:#f59e0bf2!important}.pcard-badge-status.s-waiting_for_sale{background:#3b82f6eb!important}.pcard-badge-status.s-waiting_for_approval{background:#64748beb!important}.pcard-badge-status.s-deposited{background:#8b5cf6eb!important}.pcard-badge-status.s-sold{background:#dc2626eb!important}.pcard-body{padding:10px 12px 8px!important;display:flex!important;flex-direction:column!important;gap:5px!important;flex:1!important;min-width:0!important;box-sizing:border-box!important}@media (min-width: 641px){.pcard-body{padding:12px 14px 10px!important;gap:6px!important}}.pcard-diagioi-row{display:flex!important;align-items:center!important}.pcard-diagioi-text{font-size:12px!important;font-weight:600!important;color:#475569!important;word-break:break-word!important;margin:0!important}@media (min-width: 641px){.pcard-diagioi-text{font-size:13px!important}}.pcard-tags-flex{display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin-top:3px!important;align-items:center!important}@media (min-width: 641px){.pcard-tags-flex{gap:5px!important}}.pcard-tag-pill{font-size:10.5px!important;font-weight:700!important;padding:2px 6px!important;border-radius:6px!important;border:1px solid!important;white-space:nowrap!important;line-height:1.3!important;box-sizing:border-box!important}@media (min-width: 641px){.pcard-tag-pill{font-size:11.5px!important;padding:3px 7px!important;border-radius:7px!important}}.pcard-tag-pill.tag-kieu-thuong{background:#f1f5f9!important;color:#475569!important;border-color:#e2e8f0!important}.pcard-tag-pill.tag-kieu-vang{background:#fef3c7!important;color:#b45309!important;border-color:#fde68a!important}.pcard-tag-pill.tag-kieu-xanh{background:#e0f2fe!important;color:#0369a1!important;border-color:#bae6fd!important}.pcard-tag-pill.tag-kieu-cam{background:#ffedd5!important;color:#c2410c!important;border-color:#fed7aa!important}.pcard-tag-pill.tag-kieu-xanhla{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important}.pcard-tag-pill.pcard-tag-chua-ro{background:#fef3c7!important;color:#92400e!important;border-color:#fcd34d!important}.pcard-footer-v2{background:#f8fafc!important;border-top:1px solid #E2E8F0!important;padding:8px 10px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:center!important;margin-top:auto!important;box-sizing:border-box!important;width:100%!important}@media (min-width: 641px){.pcard-footer-v2{padding:10px 12px!important;gap:10px!important}}.pcard-footer-broker{display:flex!important;flex-direction:column!important;min-width:0!important;gap:2px!important}.pcard-broker-name{font-size:12px!important;font-weight:700!important;color:#1e293b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.25!important}@media (min-width: 641px){.pcard-broker-name{font-size:13px!important}}.pcard-post-date{font-size:10.5px!important;font-weight:500!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2!important}@media (min-width: 641px){.pcard-post-date{font-size:11.5px!important}}.pcard-footer-prices{display:flex!important;flex-direction:column!important;gap:3px!important;align-items:stretch!important;justify-content:center!important;flex-shrink:0!important}.pcard-price-box-nha{font-size:12px!important;font-weight:800!important;background:#fee2e2!important;color:#b91c1c!important;padding:2px 8px!important;border-radius:6px!important;text-align:center!important;white-space:nowrap!important;width:100%!important;box-sizing:border-box!important;line-height:1.25!important}@media (min-width: 641px){.pcard-price-box-nha{font-size:13px!important}}.pcard-price-box-dat{font-size:11px!important;font-weight:800!important;background:#fef3c7!important;color:#92400e!important;padding:1px 8px!important;border-radius:6px!important;text-align:center!important;white-space:nowrap!important;width:100%!important;box-sizing:border-box!important;line-height:1.2!important}@media (min-width: 641px){.pcard-price-box-dat{font-size:12px!important}}.pcard-footer-actions{display:flex!important;align-items:center!important;gap:5px!important;flex-shrink:0!important}@media (min-width: 641px){.pcard-footer-actions{gap:6px!important}}.pcard-action-circle-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;font-size:13px!important;cursor:pointer!important;text-decoration:none!important;padding:0!important;transition:transform .1s ease,background .1s ease!important;border:1px solid var(--line, #E2E8F0)!important;background:var(--surface, #FFFFFF)!important;color:var(--ink, #1E293B)!important}.pcard-action-circle-btn:active{transform:scale(.92)!important}@media (min-width: 641px){.pcard-action-circle-btn{font-size:14px!important}}.pcard-action-circle-btn.btn-call{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#059669!important}.pcard-action-circle-btn.btn-fb{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important}.pcard-action-circle-btn.btn-bookmark{background:#fff!important;border-color:#e2e8f0!important;color:#64748b!important}.pcard-action-circle-btn.btn-bookmark.saved{background:#fef2f2!important;border-color:#fca5a5!important;color:#ef4444!important}.pcard-action-circle-btn.btn-disabled{opacity:.4!important;cursor:not-allowed!important;pointer-events:none!important}.pcard-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;gap:8px}.pcard-title-addr{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.pcard-diagioi-row{display:flex;align-items:center}.pcard-diagioi-text{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-golden-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 6px;background:var(--surface-2);border-radius:var(--r);border:1px solid var(--line)}.spec-cell{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.spec-lbl{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase}.spec-val{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pcard-golden-specs.pcard-specs-2x2{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r);border:1px solid var(--line)}.spec-cell-2x2{display:flex;flex-direction:column;min-width:0;line-height:1.25}.spec-cell-2x2 .spec-lbl{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:2px;letter-spacing:.2px}.spec-cell-2x2 .spec-val{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pcard-mahieu-strip{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:#fff8e1;border-radius:var(--r-sm);border:1px solid #FFE082;gap:6px}.mahieu-text{font-size:11px;font-weight:700;color:#795548;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace}.mahieu-copy-btn{font-size:10.5px;font-weight:700;color:#d84315;background:#fff;border:1px solid #FFCC80;border-radius:var(--r-sm);padding:2px 6px;cursor:pointer;white-space:nowrap}.mahieu-copy-btn:hover{background:#ffe0b2}.pcard-meta-tags-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pcard-mini-tag{font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-secondary);border:1px solid var(--line)}.pcard-mini-tag.highlight{background:var(--primary-light);color:var(--primary);border-color:var(--primary-border);font-weight:700}.pcard-mini-tag.highlight-blue{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.pcard-mini-tag.highlight-gold,.highlight-gold{background:#fff8e1;color:#b78103;border-color:#ffe082;font-weight:700}.pcard-img-overlay-tl{position:absolute;top:6px;left:6px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;z-index:3}.pcard-img-overlay-tr{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:3px;align-items:flex-end;z-index:3}.m-overlay-badge{font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.2px;box-shadow:0 1px 3px #0000004d}.m-overlay-badge.tag-new{background:#10b981;color:#fff}.m-overlay-badge.tag-drop{background:#ef4444;color:#fff}.m-overlay-badge.tag-gold{background:#b78103;color:#fff}.pcard-img-overlay-bl{position:absolute;bottom:6px;left:6px;display:flex;align-items:center;z-index:3}.m-overlay-badge.tag-clean-pt,.m-overlay-badge.tag-clean-pt-sm{background:#059669;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:var(--r-sm);box-shadow:0 1px 3px #0000004d}.m-overlay-badge.tag-status.s-qualified{background:#3b82f6f2;color:#fff}.m-overlay-badge.tag-status.s-unqualified{background:#f59e0bf2;color:#fff}.m-overlay-price{background:#dc2626eb;color:#fff;font-size:11px;font-weight:800;padding:2px 6px;border-radius:var(--r-sm);box-shadow:0 1px 3px #0000004d}.m-overlay-price-land{background:#0f172ad9;color:#fef08a;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--r-sm);box-shadow:0 1px 3px #0000004d}.pcard-m-badges-flex{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pcard-m-broker-phuong{font-size:11px;font-weight:600;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-footer-bar{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:6px}.pcard-broker-info{display:flex;flex-direction:column;min-width:0;flex:1}.pcard-broker-name{font-size:11.5px;font-weight:700;color:var(--ink-secondary);white-space:normal;word-break:break-word;line-height:1.3}.pcard-post-date{font-size:10.5px;color:var(--faint)}.pcard-action-btn-group{display:flex;align-items:center;gap:4px}.btn-action-icon{width:36px;height:36px;border-radius:var(--r);display:grid;place-items:center;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);transition:all .15s ease}.btn-action-icon:hover{transform:scale(1.08)}.btn-action-icon.btn-call{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.btn-action-icon.btn-facebook{background:#e7f3ff;border-color:#bdf;color:#1877f2}.btn-action-icon.btn-facebook:hover{background:#1877f2;color:#fff}.btn-bookmark-quick{padding:6px 10px;border-radius:var(--r);font-size:12px;font-weight:700;background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border);transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.btn-bookmark-quick:hover{background:var(--primary);color:#fff}.btn-bookmark-quick.saved{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.portal-listing-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.plist-table-header{display:grid;grid-template-columns:68px 1.8fr 1.3fr 1fr 1.5fr;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.plist-rows-container{display:flex;flex-direction:column}.plist-item-row{display:grid;grid-template-columns:68px 1.8fr 1.3fr 1fr 1.5fr;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;gap:12px;cursor:pointer;transition:background .12s ease}.plist-item-row:last-child{border-bottom:none}.plist-item-row:hover{background:var(--surface-2)}.plist-thumb-col{position:relative;width:58px;height:58px;border-radius:var(--r);overflow:hidden;background:var(--surface-3)}.plist-thumb-img{width:100%;height:100%;object-fit:cover}.plist-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--faint)}.plist-status-dot{position:absolute;top:4px;left:4px;width:9px;height:9px;border-radius:50%;border:1.5px solid #FFFFFF}.plist-status-dot.s-qualified{background:#10b981}.plist-status-dot.s-unqualified{background:#f59e0b}.plist-status-dot.s-waiting_for_sale{background:#3b82f6}.plist-info-col{display:flex;flex-direction:column;min-width:0;gap:2px}.plist-address-title{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plist-diagioi-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plist-mahieu-line{display:flex;align-items:center;gap:6px;margin-top:2px}.plist-mahieu-text{font-size:11px;font-family:monospace;color:#795548;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff8e1;padding:1px 4px;border-radius:3px}.plist-copy-code-btn{font-size:10px;font-weight:700;color:#d84315;background:transparent;cursor:pointer;padding:1px 4px}.plist-specs-col{display:flex;flex-direction:column;gap:2px}.plist-specs-primary{font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px}.plist-specs-secondary{font-size:11.5px;color:var(--muted);display:flex;gap:8px}.plist-price-col{display:flex;flex-direction:column}.plist-price-val{font-size:16px;font-weight:800;color:var(--primary)}.plist-price-unit{font-size:11.5px;color:var(--muted)}.plist-actions-col{display:flex;align-items:center;justify-content:space-between;gap:8px}.plist-broker-meta{display:flex;flex-direction:column;min-width:0}.plist-broker-name{font-size:11.5px;font-weight:700;color:var(--ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plist-time-ago{font-size:10.5px;color:var(--faint)}.plist-buttons-row{display:flex;align-items:center;gap:4px}@media (max-width: 768px){.plist-table-header{display:none}.plist-item-row{grid-template-columns:56px 1fr;gap:10px;padding:12px}.plist-specs-col,.plist-price-col,.plist-actions-col{grid-column:2 / -1}.plist-actions-col{padding-top:6px;border-top:1px dashed var(--line)}}.khocuatoi-container{display:flex;flex-direction:column;gap:16px}.kanban-wave-alert-bar{background:linear-gradient(135deg,#fff5f5,#ffebee);border:1px solid #FFCDD2;border-radius:var(--r-lg);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow-sm);animation:pulseLight 2s infinite alternate}@keyframes pulseLight{0%{box-shadow:0 0 #e5393500}to{box-shadow:0 0 10px #e5393533}}.wave-alert-content{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#b71c1c}.wave-alert-badge{background:var(--primary);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:var(--r-full)}.kanban-header-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--surface);padding:12px 18px;border-radius:var(--r-lg);border:1px solid var(--line)}.kanban-filter-pills{display:flex;gap:6px;overflow-x:auto}.kanban-pill-btn{padding:7px 14px;border-radius:var(--r-full);font-size:13px;font-weight:600;color:var(--ink-secondary);background:var(--surface-2);border:1px solid var(--line);transition:all .15s ease;white-space:nowrap}.kanban-pill-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.kanban-pill-btn b{font-weight:700;margin-left:4px}.kanban-board-scroll{display:flex;gap:18px;overflow-x:auto;padding-bottom:24px;align-items:flex-start;min-height:600px}.kanban-column{flex:0 0 320px!important;width:320px!important;min-width:320px!important;max-width:320px!important;background:var(--surface-2);border-radius:var(--r-lg);border:1px solid var(--line);display:flex;flex-direction:column;max-height:calc(100vh - 220px);overflow:hidden!important;box-sizing:border-box!important}.kanban-col-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0}.kanban-col-title-group{display:flex;align-items:center;gap:8px}.kanban-col-name{font-size:14.5px;font-weight:700;color:var(--ink)}.kanban-col-counter{background:var(--surface-3);color:var(--ink-secondary);font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:var(--r-full)}.kanban-col-unread-indicator{background:var(--primary);color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:var(--r-full)}.kanban-cards-stack{padding:10px!important;display:flex!important;flex-direction:column!important;gap:10px!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1!important;min-width:0!important;box-sizing:border-box!important}.kanban-empty-col-msg{padding:30px 16px;text-align:center;font-size:13px;color:var(--faint);border:2px dashed var(--line);border-radius:var(--r);margin:8px 0}.kcard{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);padding:0!important;display:flex;flex-direction:column;gap:0!important;box-shadow:var(--shadow-sm);transition:all .15s ease;cursor:grab;position:relative;overflow:hidden!important;width:100%!important;box-sizing:border-box!important;min-width:0!important;flex-shrink:0!important}.kcard:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.kcard.selected{border-color:var(--primary);background:#fff9f9}.kcard img{max-width:100%!important}.kcard.featured{border:2px solid #F59E0B!important;box-shadow:0 0 12px #f59e0b40!important;background:#fffdf5!important}.kbadge-featured{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--r-sm);box-shadow:0 1px 3px #d977064d}.kbadge-sold{background:#fee2e2;color:#dc2626;border:1px solid #FCA5A5;font-size:10px;font-weight:800;padding:2px 6px;border-radius:var(--r-sm)}.kbadge-custom-media{background:#ede9fe;color:#6d28d9;border:1px solid #DDD6FE;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--r-sm)}.btn-star-toggle{background:none;border:none;font-size:15px;cursor:pointer;padding:2px 4px;color:var(--muted);transition:transform .15s ease,color .15s ease}.btn-star-toggle:hover{transform:scale(1.2)}.btn-star-toggle.starred{color:#f59e0b}.kcard-private-note-strip{background:#fffbeb;border-left:3px solid #F59E0B;padding:5px 10px;font-size:11.5px;color:#92400e;margin:2px 8px 4px;border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.35;word-break:break-word}.kcard-bottom-actions{padding:6px 10px 8px!important;border-top:1px solid var(--line)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:var(--surface)!important;gap:4px!important;margin-top:auto!important;box-sizing:border-box!important}.card-order-btns{display:flex;align-items:center;gap:2px}.btn-order-arrow{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s ease}.btn-order-arrow:hover{background:var(--surface-3);color:var(--ink);border-color:var(--line-strong)}.survey-chip-toggle{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:var(--r-full);font-size:10.5px;font-weight:700;cursor:pointer;transition:all .15s ease;border:1px solid transparent;white-space:nowrap;user-select:none}.survey-chip-toggle.untested{background:var(--surface-3);color:var(--muted);border-color:var(--line)}.survey-chip-toggle.known{background:#fef3c7;color:#b45309;border-color:#fcd34d}.survey-chip-toggle.surveyed{background:#d1fae5;color:#047857;border-color:#6ee7b7}.btn-rap-khach-pill{background:var(--primary-light);color:var(--primary-dark);border:1px solid #C7D2FE;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--r-full);cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-rap-khach-pill:hover{background:var(--primary);color:#fff}.kcard-quick-move-select{padding:2px 4px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);font-size:10.5px;font-weight:600;color:var(--muted);outline:none;max-width:90px!important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;cursor:pointer}.kanban-col-auto-badge{background:#e0e7ff;color:#3730a3;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--r-sm)}.kanban-col-actions-right{display:flex;align-items:center;gap:4px}.btn-col-action{background:none;border:none;padding:4px;font-size:12px;color:var(--muted);border-radius:var(--r-sm);cursor:pointer}.btn-col-action:hover{background:var(--surface-2);color:var(--ink)}.btn-col-action.danger:hover{color:var(--danger)}.kanban-add-card-footer{display:flex;gap:6px;padding-top:8px;border-top:1px dashed var(--line);margin-top:4px}.kanban-add-card-footer input{flex:1;padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--line);font-size:12px;background:var(--surface)}.kanban-add-card-footer button{padding:6px 12px;border-radius:var(--r-sm);border:none;background:var(--primary);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.mobile-column-tabs-bar{display:none}@media (max-width: 768px){.mobile-column-tabs-bar{display:flex;gap:6px;overflow-x:auto;padding:8px 0 12px;border-bottom:1px solid var(--line);margin-bottom:12px;-webkit-overflow-scrolling:touch}.mobile-col-tab-item{flex-shrink:0;padding:8px 14px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer}.mobile-col-tab-item.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.mobile-col-tab-item .tab-count-badge{background:#0000001f;padding:1px 6px;border-radius:10px;font-size:11px}.kanban-column.mobile-hidden{display:none!important}.kanban-column{flex:1 1 100%!important;max-height:none!important}.kanban-board-scroll{display:block!important}}.bulk-floating-bar{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:#0f172a;color:#fff;padding:12px 24px;border-radius:var(--r-full);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:16px;z-index:60;animation:slideUpFloat .2s ease}@keyframes slideUpFloat{0%{transform:translate(-50%,30px);opacity:0}to{transform:translate(-50%);opacity:1}}.bulk-count-label{font-size:13.5px;font-weight:600}.bulk-count-label b{color:var(--primary-light)}.bulk-btn-group{display:flex;align-items:center;gap:8px}.bulk-action-btn{padding:6px 14px;border-radius:var(--r-full);font-size:12.5px;font-weight:700;background:#334155;color:#fff;transition:background .15s ease}.bulk-action-btn:hover{background:#475569}.bulk-action-btn.accent{background:var(--primary)}.bulk-action-btn.danger{background:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:#0f172aa6;backdrop-filter:blur(4px);z-index:1200;animation:fadeIn .18s ease}.modal-dialog-shell{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:94%;max-width:900px;max-height:90vh;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);z-index:1201;display:flex;flex-direction:column;overflow:hidden;animation:zoomInModal .22s cubic-bezier(.16,1,.3,1)}@media (max-width: 640px){.modal-dialog-shell{width:100%!important;max-width:100%!important;height:94dvh!important;max-height:94dvh!important;top:auto!important;bottom:0!important;left:0!important;transform:none!important;border-radius:var(--r-lg) var(--r-lg) 0 0!important;animation:slideUpModalSheet .24s cubic-bezier(.16,1,.3,1)!important}}@keyframes slideUpModalSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes zoomInModal{0%{transform:translate(-50%,-46%) scale(.96);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.modal-header-bar{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--surface)}.modal-title-heading{font-size:18px;font-weight:800;color:var(--ink);margin:0}.modal-close-btn{width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;font-size:18px;font-weight:700;transition:all .15s ease}.modal-close-btn:hover{background:var(--danger-bg);color:var(--danger)}.modal-scroll-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.modal-gallery-area{display:flex;flex-direction:column;gap:10px}.gallery-large-view{width:100%;aspect-ratio:16 / 9;max-height:360px;border-radius:var(--r);overflow:hidden;background:#0f172a;position:relative}.gallery-large-img{width:100%;height:100%;object-fit:contain}.gallery-thumbs-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.gallery-thumb-item{width:72px;height:52px;border-radius:var(--r-sm);overflow:hidden;border:2px solid transparent;flex-shrink:0;opacity:.7;cursor:pointer}.gallery-thumb-item.active{border-color:var(--primary);opacity:1}.gallery-thumb-item img{width:100%;height:100%;object-fit:cover}.specs-detail-table{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 768px){.specs-detail-table{grid-template-columns:repeat(3,1fr)}}.spec-detail-box{background:var(--surface-2);padding:10px 14px;border-radius:var(--r);border:1px solid var(--line)}.spec-detail-key{font-size:11.5px;font-weight:600;color:var(--muted)}.spec-detail-val{font-size:14px;font-weight:700;color:var(--ink);margin-top:2px}.broker-contact-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.broker-bio-left{display:flex;align-items:center;gap:12px}.broker-avatar-lg{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800}.broker-name-title{font-size:16px;font-weight:800;color:var(--ink)}.broker-department{font-size:12.5px;color:var(--muted)}.broker-cta-btns{display:flex;gap:8px}.btn-phone-call{padding:8px 16px;border-radius:var(--r-full);background:var(--success);color:#fff;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-zalo-chat{padding:8px 16px;border-radius:var(--r-full);background:#0068ff;color:#fff;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-facebook-chat{padding:8px 16px;border-radius:var(--r-full);background:#1877f2;color:#fff;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:opacity .15s ease,transform .1s ease}.btn-facebook-chat:hover{background:#166fe5;color:#fff}.btn-facebook-chat:active{transform:scale(.97)}.kbadge-metric{padding:2px 7px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:11px;font-weight:700}.modal-footer-cta{padding:14px 20px;border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;gap:12px}.btn-secondary-flat{padding:10px 18px;border-radius:var(--r);border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--ink-secondary)}.btn-primary-solid{padding:10px 22px;border-radius:var(--r);background:var(--primary);color:#fff;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.btn-primary-solid:hover{background:var(--primary-dark)}.portal-toast{position:fixed;top:20px;right:20px;background:#0f172a;color:#fff;padding:12px 20px;border-radius:var(--r);font-size:13.5px;font-weight:600;box-shadow:var(--shadow-xl);z-index:120;animation:slideInToast .2s ease}@keyframes slideInToast{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.pdetail-modal-shell{width:94%;max-width:920px}.pdetail-header-bar{padding:14px 18px;align-items:flex-start}.pdetail-header-left{flex:1;min-width:0;padding-right:12px}.pdetail-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdetail-main-title{font-size:17px;font-weight:800;color:var(--ink);line-height:1.35;user-select:text}.pdetail-code-badge{background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:var(--r-full);user-select:text}.pdetail-header-bar-v3{padding:10px 16px;display:flex;flex-direction:column;align-items:flex-start!important;gap:6px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.pdetail-top-badges-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.pdetail-badges-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.pdetail-code-badge-v3{background:#dc2626;color:#fff;font-weight:900;font-size:11px;padding:2px 8px;border-radius:4px;letter-spacing:.5px;user-select:text;white-space:nowrap}.pdetail-close-btn-v3{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:16px;font-weight:700;transition:all .15s ease}.pdetail-close-btn-v3:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.pdetail-main-title-v3{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.35;width:100%;margin:0;padding:0;text-align:left;word-break:break-word;user-select:text}.pdetail-diagioi-row-v3{font-size:12px;color:var(--muted);font-weight:600;margin:0;width:100%;text-align:left;user-select:text}.field-locked{background-color:#f1f5f9!important;color:#64748b!important;border-color:#cbd5e1!important;cursor:not-allowed!important;user-select:none}.spec-detail-box.locked{opacity:.65!important;background:#f8fafc!important;border:1.5px dashed #CBD5E1!important;cursor:not-allowed!important}.spec-detail-box.locked .spec-detail-key{color:#64748b!important;font-weight:600!important}.spec-detail-box.locked .spec-detail-val{color:#475569!important}.spec-detail-box.editing{background:#fff!important;border:1.5px solid #3B82F6!important;box-shadow:0 1px 3px #3b82f61f!important;transition:border-color .15s ease,box-shadow .15s ease!important}.spec-detail-box.editing:focus-within{border-color:#1d4ed8!important;box-shadow:0 0 0 2px #1d4ed833!important}.spec-detail-box.editing .spec-detail-key{color:#1d4ed8!important;font-weight:700!important}.spec-edit-input,.spec-edit-select{width:100%!important;padding:4px 6px!important;font-size:12px!important;font-weight:700!important;color:#0f172a!important;border:1px solid #CBD5E1!important;border-radius:6px!important;background:#fff!important;outline:none!important;box-sizing:border-box!important;margin-top:2px!important}.spec-edit-input:focus,.spec-edit-select:focus{border-color:#3b82f6!important}.pdetail-survey-sticky-bar{position:sticky;top:60px;z-index:15;background:#fef3c7;border:1px solid #FCD34D;border-radius:12px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;box-shadow:0 4px 6px -1px #f59e0b26;margin-bottom:12px}.pdetail-nhom-pill.canh-bao{font-weight:800;color:#b45309;border-color:#fcd34d;background:#fffbeb}.ks-sticky-bottom{position:sticky;bottom:0;top:auto}.ks-btn-ghost{padding:6px 12px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #CBD5E1;background:#fff;font-weight:700;font-size:12px;cursor:pointer}.ks-khoa-block{background:#f1f5f9;border:1.5px dashed #94A3B8;border-radius:12px;padding:10px 14px;font-weight:700;font-size:12.5px;color:#475569;margin-bottom:12px}.ks-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#eff6ff;border:1px solid #BFDBFE;border-radius:12px;padding:8px 12px;font-size:12px;font-weight:600;color:#1d4ed8;margin-bottom:12px}.ks-buoc-3btn{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.ks-buoc-btn{padding:8px 12px;min-height:36px;border-radius:8px;border:1px solid #CBD5E1;background:#fff;font-weight:700;font-size:12px;cursor:pointer}.ks-buoc-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.ks-chi-o-trong{display:flex;align-items:center;gap:6px;min-height:36px;font-size:12px;font-weight:700;color:#334155;margin-top:10px;cursor:pointer}.ks-xem-toggle{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;background:none;border:none;cursor:pointer;padding:0;text-align:left}.ks-xem-chevron{color:var(--muted);font-weight:700}.ks-xem-card.canh-bao{border-color:#fcd34d}.ks-xem-tomtat{font-size:12px;color:var(--muted);padding:4px 0;min-height:36px;display:flex;align-items:center;cursor:pointer}.ks-xem-ghichu{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}.ks-xem-ghichu-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink)}.ks-xem-ghichu-noidung{font-size:13px;color:var(--ink);margin-top:4px;white-space:pre-wrap}.ks-xem-ghichu-nguoi{font-size:11px;color:var(--muted);margin-top:2px}.ks-xem-trong{font-size:12px;color:var(--muted);padding-top:6px}.ks-xem-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.ks-xem-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.ks-xem-row.lech{background:#fffbeb}.ks-xem-nhan{font-size:12px;color:var(--muted);flex:1 1 40%}.ks-xem-gia-tri{font-size:13px;font-weight:700;color:var(--ink)}.ks-src-tag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--r-full);font-size:10px;font-weight:700}.ks-src-tag.quet{background:var(--surface-3);color:var(--muted)}.ks-src-tag.ks{background:#dbeafe;color:#1d4ed8}.ks-src-tag.lech{background:#ffedd5;color:#c2410c}.ks-sua-list{display:flex;flex-direction:column;gap:8px}.ks-sua-row{display:flex;flex-direction:column;gap:4px}.ks-sua-row.locked{opacity:.72!important}.ks-sua-row.locked .spec-detail-val{pointer-events:none}.spec-detail-box.lech{border:1.5px solid #F59E0B!important;background:#fffbeb!important}.ks-lech-info{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#c2410c;font-weight:600;background:#fff7ed;border-radius:6px;padding:6px 8px}.ks-chot-list{display:flex;gap:6px;flex-wrap:wrap}.ks-chot-btn{padding:4px 8px;min-height:36px;display:inline-flex;align-items:center;border-radius:6px;border:1px solid #F59E0B;background:#fff;color:#b45309;font-weight:700;font-size:11px;cursor:pointer}.ks-hien-trang-doc{display:flex;flex-direction:column;gap:6px;margin-top:2px}.ks-hien-trang-opt{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;min-height:36px;cursor:pointer}.ks-chip-multi{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.ks-chip-opt{padding:6px 10px;min-height:36px;border-radius:var(--r-full);border:1px solid #CBD5E1;background:#fff;font-size:12px;font-weight:600;cursor:pointer}.ks-chip-opt.active{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8;font-weight:700}.btn-delete-card-kanban{background:#fef2f2!important;border:1px solid #FECACA!important;color:#dc2626!important;font-weight:700!important;padding:7px 12px!important;border-radius:var(--r-sm)!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:12.5px!important;transition:all .15s ease!important}.btn-delete-card-kanban:hover{background:#fee2e2!important;border-color:#f87171!important}.btn-star-detail-toggle{background:#fffbeb!important;border:1px solid #FDE68A!important;color:#d97706!important;font-weight:800!important;padding:7px 10px!important;border-radius:var(--r-sm)!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:13px!important}.btn-star-detail-toggle.starred{background:#fef3c7!important;border-color:#f59e0b!important;color:#b45309!important}.pcard-ht-badge,.pdetail-ht-badge{font-size:11px;font-weight:800;padding:2.5px 8px;border-radius:6px;border:1px solid;white-space:nowrap;display:inline-flex;align-items:center}.pcard-m-ht-badge{font-size:9.5px;font-weight:800;padding:1.5px 5px;border-radius:4px;border:1px solid;white-space:nowrap;display:inline-flex;align-items:center}.bg-slate-100{background-color:#f1f5f9}.text-slate-600{color:#475569}.border-slate-300{border-color:#cbd5e1}.pdetail-diagioi-row{font-size:13px;color:var(--muted);font-weight:600;margin-top:3px;user-select:text}.pdetail-scroll-body{position:relative;padding:16px 18px 24px;gap:16px}.pdetail-cert-badge{position:absolute;bottom:10px;left:10px;background:#0f172ad1;backdrop-filter:blur(4px);color:#f59e0b;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-sm);z-index:2;border:1px solid rgba(245,158,11,.35)}.thumb-cert{border:2px solid #F59E0B!important;position:relative}.thumb-cert-indicator{position:absolute;top:2px;right:2px;background:#f59e0b;color:#000;font-size:8.5px;font-weight:800;padding:1px 4px;border-radius:3px;line-height:1.2}.pdetail-price-banner{padding:8px 12px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:6px 12px!important;background:var(--primary-light)!important;margin-bottom:8px!important}.pdetail-price-main-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.pdetail-price-banner .detail-price-main{font-size:20px!important;font-weight:800!important;color:var(--primary)!important;line-height:1.1!important}.pdetail-price-banner .detail-unit-price,.pdetail-price-banner .detail-unit-land-price{font-size:11.5px!important;font-weight:700!important;color:var(--primary-ink)!important}.pdetail-old-price{font-size:.65em;text-decoration:line-through;opacity:.6;font-weight:600;color:var(--muted)}.pdetail-price-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.pdetail-badge-hh{display:inline-flex;align-items:center;background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.32);font-size:10.5px!important;font-weight:700!important;padding:2px 7px!important;border-radius:var(--r-full)}.pdetail-badge-tax{display:inline-flex;align-items:center;background:#3b82f61f;color:#2563eb;border:1px solid rgba(59,130,246,.32);font-size:10.5px!important;font-weight:700!important;padding:2px 7px!important;border-radius:var(--r-full)}.pdetail-broker-panel{padding:6px 12px!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:8px!important;margin-bottom:8px!important}.pdetail-broker-panel .broker-bio-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.pdetail-broker-panel .broker-avatar-lg{width:34px!important;height:34px!important;min-width:34px!important;font-size:13px!important;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;flex-shrink:0}.pdetail-broker-info{display:flex;flex-direction:column;gap:1px;min-width:0}.pdetail-broker-panel .broker-name-title{font-size:13px!important;font-weight:800!important;color:var(--ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdetail-broker-panel .pdetail-broker-phone{font-size:11.5px!important;font-weight:700!important;color:#475569;line-height:1.2;user-select:text;white-space:nowrap}.pdetail-broker-panel .pdetail-broker-phone span{color:var(--primary)}.pdetail-broker-cta-row{display:flex;gap:6px;align-items:center;flex-shrink:0}.pdetail-action-circle-btn{width:32px!important;height:32px!important;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px!important;transition:transform .12s ease,box-shadow .12s ease;flex-shrink:0}.pdetail-action-circle-btn:active{transform:scale(.92)}.pdetail-action-circle-btn.btn-call{background:var(--success, #10B981);color:#fff}.pdetail-action-circle-btn.btn-facebook{background:#1877f2;color:#fff}.pdetail-action-circle-btn.btn-maps{background:#ea4335;color:#fff}.pdetail-action-circle-btn.btn-share{background:#0ea5e9;color:#fff}.pdetail-action-circle-btn.btn-share:hover{background:#0284c7}.pdetail-tabs-bar{display:flex;align-items:center;flex-shrink:0;min-height:46px;background:var(--surface-2);padding:4px;border-radius:var(--r);border:1px solid var(--line);gap:4px;overflow-x:auto}.pdetail-tab-btn{flex:1;min-width:fit-content;display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border:none;background:transparent;font-size:13px;font-weight:700;color:var(--muted);border-radius:var(--r-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:center}.pdetail-tab-btn:hover{color:var(--ink)}.pdetail-tab-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.pdetail-tab-pane{display:flex;flex-direction:column;gap:16px;animation:fadeIn .18s ease}.pdetail-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 640px){.pdetail-highlight-grid{grid-template-columns:repeat(4,1fr)}}.pdetail-highlight-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pdetail-hl-label{font-size:11px;font-weight:600;color:var(--muted)}.pdetail-hl-value{font-size:13.5px;font-weight:800;color:var(--ink);user-select:text}.pdetail-hl-subtag{font-size:11px;font-weight:700;padding:2px 6px;border-radius:var(--r-sm);display:inline-block;width:fit-content;margin-top:2px}.pdetail-hl-subtag.success{background:#10b98126;color:#059669}.pdetail-hl-subtag.warning{background:#ef444426;color:#dc2626}.pdetail-hl-subtag.neutral{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.pdetail-tags-section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:12px}.pdetail-section-title{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:8px}.pdetail-pills-wrap{display:flex;flex-wrap:wrap;gap:6px}.pdetail-pill-tag{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--r-full)}.pdetail-pill-tag.highlight{background:#f59e0b26;color:#b45309;border:1px solid rgba(245,158,11,.3)}.pdetail-pill-tag.business{background:#10b98126;color:#047857;border:1px solid rgba(16,185,129,.3)}.pdetail-pill-tag.neutral{background:var(--surface);color:var(--ink-secondary);border:1px solid var(--line)}.pdetail-desc-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}.pdetail-desc-text{font-size:13.5px;line-height:1.65;color:var(--ink);white-space:pre-line;word-break:break-word;user-select:text;margin-top:8px}.pdetail-desc-empty{font-size:13px;font-style:italic;color:var(--muted);text-align:center;padding:12px 0}.pdetail-cert-section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}.pdetail-cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:8px}.pdetail-cert-item{aspect-ratio:4 / 3;border-radius:var(--r-sm);overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--line)}.pdetail-cert-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.pdetail-cert-item:hover img{transform:scale(1.05)}.pdetail-cert-overlay{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;color:#fff;font-size:11.5px;font-weight:700}.pdetail-cert-item:hover .pdetail-cert-overlay{opacity:1}.pdetail-spec-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.pdetail-card-header{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:10px}.spec-detail-val.highlight{color:var(--primary)}.pdetail-inner-tags-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.pdetail-inner-tags-label{font-size:11.5px;font-weight:700;color:var(--muted)}.pdetail-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pdetail-history-count{font-size:12px;font-weight:600;color:var(--muted)}.pdetail-empty-history{text-align:center;padding:36px 16px;background:var(--surface-2);border-radius:var(--r);border:1px dashed var(--line)}.pdetail-empty-icon{font-size:32px;margin-bottom:8px}.pdetail-empty-text{font-size:14px;font-weight:700;color:var(--ink)}.pdetail-empty-sub{font-size:12.5px;color:var(--muted);margin-top:4px}.pdetail-footer-cta{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--surface);border-top:1px solid var(--line)}.pdetail-footer-actions{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-end}.pdetail-select-col{max-width:140px;font-size:12.5px;height:38px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-weight:600;padding:0 8px}.btn-rap-khach{color:var(--primary)!important;border-color:var(--primary)!important;font-weight:700!important;height:38px;padding:0 14px;display:inline-flex;align-items:center}.btn-save-kanban{height:38px;padding:0 16px}@media (max-width: 640px){.btn-footer-close-pc{display:none!important}.pdetail-footer-cta{padding:10px 12px!important}.pdetail-footer-actions{width:100%!important;justify-content:space-between!important;gap:6px!important}.pdetail-select-col{max-width:110px!important;flex:1!important;font-size:12px!important;padding:0 4px!important}.btn-rap-khach{flex-shrink:0!important;padding:0 10px!important;font-size:12.5px!important}.btn-save-kanban{flex-shrink:0!important;padding:0 12px!important;font-size:12.5px!important}}.portal-pagination-bar{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-top:20px;box-shadow:var(--shadow-sm)}.pagination-stats-text{font-size:13px;color:var(--muted)}.pagination-stats-text b{color:var(--ink);font-weight:700}.pagination-controls-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.pagination-pages-wrap{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.pagination-btn{height:36px;min-width:36px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;user-select:none}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--surface-2)}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:800;box-shadow:0 2px 6px #c6282859}.pagination-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line)}.pagination-nav-btn{padding:0 14px;font-weight:700;background:var(--surface-2)}.pagination-dots{display:inline-flex;align-items:center;justify-content:center;width:24px;color:var(--muted);font-weight:700;user-select:none}.pagination-jump-form{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:2px}.pagination-jump-input{width:54px;height:32px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--r-sm);text-align:center;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--ink);outline:none}.pagination-jump-input:focus{border-color:var(--primary);background:var(--surface)}.pagination-jump-total{font-weight:600;color:var(--ink-secondary)}.pagination-jump-btn{height:36px;padding:0 14px;border-radius:var(--r-sm);background:var(--primary);color:#fff;border:0;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.pagination-jump-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-jump-btn:hover:not(:disabled){opacity:.9}.mobile-page-indicator{display:none}@media (max-width: 600px){.portal-pagination-bar{padding:16px 12px 14px;width:100%}.pagination-controls-row{flex-wrap:nowrap;gap:8px;width:100%;max-width:100%;justify-content:space-between;align-items:center}.pagination-pages-wrap{display:none!important}.mobile-page-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:700;color:var(--ink);padding:0 4px;white-space:nowrap}.pagination-btn{height:38px;min-width:36px;font-size:13px;padding:0 10px;flex-shrink:0}.pagination-nav-btn{padding:0 14px;flex-shrink:0}.pagination-jump-form{font-size:13px;gap:4px;margin-top:6px;justify-content:center;width:100%}.pagination-jump-input{font-size:16px;width:54px;height:36px}.pagination-jump-btn{height:36px;padding:0 12px}}.empty-portal{text-align:center;padding:60px 20px;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line)}.empty-portal svg{width:48px;height:48px;stroke:var(--faint);fill:none;stroke-width:1.5;margin-bottom:12px}.empty-portal h3{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}.empty-portal p{font-size:13.5px;color:var(--muted);max-width:420px;margin:0 auto}.advanced-filter-sheet{max-width:680px}.adv-filter-section{display:flex;flex-direction:column;gap:8px}.adv-filter-title{font-size:13.5px;font-weight:700;color:var(--ink)}.adv-range-inputs-row{display:flex;align-items:center;gap:10px}.adv-number-input{flex:1;padding:10px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);font-size:14px;color:var(--ink);outline:none}.adv-number-input:focus{border-color:var(--primary);background:var(--surface)}.adv-range-separator{color:var(--muted);font-weight:700}.adv-chips-wrap{display:flex;flex-wrap:wrap;gap:8px}.adv-chip-btn{padding:8px 14px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-2);font-size:12.5px;font-weight:600;color:var(--ink-secondary);cursor:pointer;transition:all .15s ease}.adv-chip-btn:hover{border-color:var(--line-strong)}.adv-chip-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.adv-checkbox-toggles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (max-width: 640px){.adv-checkbox-toggles-grid{grid-template-columns:1fr}}.adv-toggle-box{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:all .15s ease}.adv-toggle-box:hover{background:var(--surface);border-color:var(--line-strong)}.adv-toggle-box.checked{background:var(--primary-light);border-color:var(--primary)}.adv-toggle-box input[type=checkbox]{margin-top:3px;width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.adv-toggle-text{display:flex;flex-direction:column;gap:2px}.adv-toggle-text b{font-size:13.5px;color:var(--ink)}.adv-toggle-text span{font-size:11.5px;color:var(--muted)}.detail-mahieu-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff9c4;border:1px solid #FFF176;border-radius:var(--r);gap:10px}.detail-mahieu-content{display:flex;align-items:center;gap:10px;min-width:0}.detail-mahieu-tag{font-size:10px;font-weight:800;padding:3px 6px;border-radius:var(--r-sm);background:#f57f17;color:#fff;white-space:nowrap}.detail-mahieu-value{font-size:13.5px;font-weight:700;font-family:monospace;color:#5d4037;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-copy-code-btn{padding:5px 12px;border-radius:var(--r-sm);background:#fff;border:1px solid #FBC02D;color:#e65100;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.detail-copy-code-btn:hover{background:#fffde7}.detail-price-banner{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 18px;background:var(--primary-light);border-radius:var(--r)}.detail-price-left{display:flex;align-items:baseline;gap:10px}.detail-price-main{font-size:26px;font-weight:800;color:var(--primary)}.detail-unit-price{font-size:13.5px;font-weight:700;color:var(--primary-ink)}.gallery-counter-badge{position:absolute;bottom:10px;right:10px;padding:4px 10px;border-radius:var(--r-full);background:#0f172ab3;color:#fff;font-size:12px;font-weight:600;backdrop-filter:blur(4px)}.detail-copy-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (max-width: 640px){.detail-copy-actions-grid{grid-template-columns:1fr}}.btn-copy-big{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;transition:all .15s ease}.btn-copy-big:hover{border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}.btn-copy-big span{font-size:20px}.btn-copy-big div{display:flex;flex-direction:column}.btn-copy-big b{font-size:13.5px;color:var(--ink)}.btn-copy-big small{font-size:11px;color:var(--muted)}.btn-copy-client{background:#e8f5e9;border-color:#c8e6c9}.btn-copy-client b{color:#2e7d32}.btn-copy-client.done{background:#4caf50;border-color:#388e3c}.btn-copy-client.done b,.btn-copy-client.done small{color:#fff}.btn-copy-raw{background:#fff3e0;border-color:#ffe0b2}.btn-copy-raw b{color:#e65100}.btn-copy-raw.done{background:#ff9800;border-color:#f57c00}.btn-copy-raw.done b,.btn-copy-raw.done small{color:#fff}.detail-column-select{padding:10px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-weight:600;color:var(--ink-secondary)}.lightbox-backdrop{position:fixed;inset:0;background:#000000f2;z-index:250;display:flex;flex-direction:column;align-items:center;justify-content:space-between;animation:fadeIn .18s ease;user-select:none}.lightbox-top-bar{position:absolute;top:16px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:260}.lightbox-download-btn-top{padding:8px 16px;border-radius:var(--r-full);background:#ffffff40;color:#fff;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.4);cursor:pointer;backdrop-filter:blur(8px);transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.lightbox-download-btn-top:hover,.lightbox-download-btn-top.active{background:var(--primary);border-color:var(--primary)}.lightbox-stage-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:60px 16px 120px;touch-action:pan-y}.lightbox-tap-zone{position:absolute;top:0;bottom:0;width:30%;z-index:5;cursor:pointer}.lightbox-tap-left{left:0}.lightbox-tap-right{right:0}.lightbox-arrow-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:46px;height:46px;border-radius:50%;background:#0000008c;color:#fff;border:1.5px solid rgba(255,255,255,.4);font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:all .15s ease}.lightbox-arrow-btn:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-50%) scale(1.08)}.lightbox-arrow-prev{left:16px}.lightbox-arrow-next{right:16px}.lightbox-full-img{max-width:95vw;max-height:75vh;object-fit:contain;border-radius:var(--r);box-shadow:0 8px 32px #000c;z-index:2;transition:transform .15s ease}.lightbox-full-video{background:#000}.lightbox-close-btn{width:42px;height:42px;border-radius:50%;background:#fff3;color:#fff;font-size:22px;display:grid;place-items:center;cursor:pointer;border:0;transition:all .15s ease}.lightbox-close-btn:hover{background:#ffffff59}.lightbox-bottom-panel{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.6) 70%,transparent);padding:12px 16px 20px;display:flex;flex-direction:column;gap:10px;align-items:center;z-index:260}.lightbox-thumbs-strip{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 6px;-webkit-overflow-scrolling:touch}.lightbox-thumb-btn{width:52px;height:40px;border-radius:var(--r-sm);overflow:hidden;border:2px solid transparent;opacity:.55;cursor:pointer;padding:0;flex-shrink:0;transition:all .15s ease;background:#000}.lightbox-thumb-btn.active{border-color:var(--primary);opacity:1;transform:scale(1.08);box-shadow:0 0 10px #c6282899}.lightbox-thumb-btn img{width:100%;height:100%;object-fit:cover}.lightbox-nav-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.lightbox-nav-btn{padding:8px 18px;border-radius:var(--r-full);background:#fff3;color:#fff;font-size:13px;font-weight:700;cursor:pointer;border:0;transition:all .15s ease}.lightbox-nav-btn:hover{background:#ffffff59}.lightbox-download-action-btn{background:var(--primary);border:1px solid var(--primary)}.lightbox-download-action-btn:hover{opacity:.9;background:var(--primary)}.lightbox-counter-text{color:#fff;font-size:13.5px;font-weight:700}.gallery-toolbar{background:#f8fafc;padding:10px 14px;border-radius:12px;border:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.gallery-toolbar-left,.gallery-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-toolbar-count{font-size:12px;color:#64748b;font-weight:600}.gallery-toggle-select-btn,.gallery-select-all-btn{min-height:36px;padding:5px 12px;border-radius:6px;font-size:11px;font-weight:700;border:1px solid #CBD5E1;background:#fff;color:#475569;cursor:pointer}.gallery-toggle-select-btn.active{border-color:#dc2626;background:#fef2f2;color:#dc2626}.gallery-upload-btn{min-height:44px;padding:6px 14px;border-radius:8px;font-size:11px;font-weight:800;border:1px solid #10B981;background:#ecfdf5;color:#059669;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.gallery-upload-btn:disabled{cursor:not-allowed;opacity:.6;background:#e2e8f0}.gallery-upload-queue-line{font-size:11px;color:#b45309;font-weight:600;margin-bottom:10px}.gallery-filter-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.gallery-filter-tab{min-height:36px;padding:5px 12px;border-radius:999px;border:1px solid #E2E8F0;background:#fff;color:#475569;font-size:11.5px;font-weight:700;cursor:pointer}.gallery-filter-tab.active{border-color:var(--primary);background:var(--primary);color:#fff}.gallery-grid-3-6{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (min-width: 900px){.gallery-grid-3-6{grid-template-columns:repeat(6,1fr);gap:10px}}.gallery-thumb-cell{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid #E2E8F0;background:#e2e8f0;touch-action:manipulation;-webkit-touch-callout:none;user-select:none}.pdetail-anh-o{background:#e2e8f0}.gallery-thumb-cell.selected{border:3px solid #DC2626;box-shadow:0 4px 12px #dc262640}.gallery-thumb-img{width:100%;height:100%;object-fit:cover;-webkit-touch-callout:none;user-select:none}.gallery-thumb-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#0000008c;color:#fff;display:grid;place-items:center;font-size:13px;pointer-events:none}.gallery-thumb-checkbox{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:999px;background:#0009;border:2px solid #FFFFFF;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900}.gallery-thumb-checkbox.selected{background:#dc2626}.gallery-thumb-tag{position:absolute;bottom:6px;left:6px;font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-thumb-tag-cert{background:#f59e0be6;color:#000}.gallery-thumb-tag-ks{background:#10b981eb}.gallery-thumb-tag-daidien{inset:6px 6px auto auto;background:#2563ebeb}.gallery-thumb-zoom-btn{position:absolute;bottom:6px;right:6px;width:36px;height:36px;background:#000000b3;color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer}.gallery-upload-progress-wrap{margin-bottom:8px}.gallery-upload-progress-text{font-size:11px;color:#475569;font-weight:700;margin-bottom:4px}.gallery-upload-progress-bar{width:100%;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.gallery-upload-progress-fill{height:100%;background:#10b981;border-radius:999px;transition:width .2s ease}.gallery-select-bar{position:sticky;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid #E2E8F0;box-shadow:0 -3px 12px #00000014;padding:8px 12px;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}.gallery-select-bar-top{display:flex;align-items:center;justify-content:space-between}.gallery-select-count{font-size:13px;font-weight:800;color:#0f172a}.gallery-select-cancel-btn{border:none;background:transparent;color:#dc2626;font-weight:700;font-size:12px;cursor:pointer;padding:6px 8px;min-height:36px;display:inline-flex;align-items:center}.gallery-select-warning{font-size:11px;color:#b45309;font-weight:600;text-align:center}.gallery-select-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;box-sizing:border-box}.gallery-select-btn{min-height:44px;border-radius:8px;font-weight:800;font-size:11.5px;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;border:1px solid #CBD5E1;background:#fff;color:#0f172a;padding:6px 4px;text-align:center}.gallery-select-btn:disabled{opacity:.45;cursor:not-allowed}.gallery-select-btn-danger{border-color:#dc2626;color:#dc2626}@media (min-width: 900px){.gallery-select-actions{display:flex;justify-content:flex-end;gap:10px}.gallery-select-btn{min-width:120px;padding:8px 14px}}.pcard-mahieu-headline-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:3px}.pcard-mahieu-title{margin:0;font-size:14px;font-weight:800;line-height:1.38;color:#1e293b;font-family:inherit;letter-spacing:-.2px;cursor:pointer;word-break:break-word;transition:color .15s ease}@media (min-width: 641px){.pcard-mahieu-title{font-size:15.5px}}.pcard-mahieu-title:hover{color:var(--primary)}.pcard-copy-code-btn{flex-shrink:0;padding:3px 8px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.pcard-copy-code-btn:hover{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary)}.plist-mahieu-headline{display:flex;align-items:center;gap:8px;margin-bottom:2px}.plist-mahieu-title{font-size:14px;font-weight:700;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.quick-filter-shortcuts-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;-ms-overflow-style:none}.quick-filter-shortcuts-bar::-webkit-scrollbar{display:none}.quick-shortcut-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.quick-shortcut-chip:hover{border-color:var(--primary-border);background:var(--surface-2)}.quick-shortcut-chip.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary);font-weight:700;box-shadow:0 0 0 1px var(--primary)}.adv-modal-body{display:flex;flex-direction:column;gap:18px;padding-bottom:80px}.adv-filter-card-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-sm)}.adv-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.adv-card-icon{font-size:18px}.adv-card-title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.adv-sub-section{margin-bottom:12px}.adv-sub-section:last-child{margin-bottom:0}.adv-sub-label{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.adv-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.adv-check-tile{text-align:left;padding:10px 12px;background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all .15s ease}.adv-check-tile:hover{border-color:var(--primary-border)}.adv-check-tile.active{background:var(--primary-bg);border-color:var(--primary)}.adv-check-tile .tile-title{font-size:13.5px;font-weight:700;color:var(--text)}.adv-check-tile.active .tile-title{color:var(--primary)}.adv-check-tile .tile-desc{font-size:11.5px;color:var(--muted);margin-top:2px}.adv-sub-section-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 640px){.adv-sub-section-row{grid-template-columns:1fr}}.adv-sub-col{display:flex;flex-direction:column}.phong-thuy-presets{display:flex;gap:6px}.preset-btn{padding:4px 10px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s ease}.preset-btn:hover{background:var(--primary-bg);color:var(--primary)}.preset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.adv-modal-sticky-footer{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -4px 12px #0000000d;z-index:10}@media (max-width: 640px){.multiselect-backdrop-mobile{position:fixed;inset:0;background:#00000073;z-index:140;animation:fadeIn .15s ease}.multiselect-popover-panel{position:fixed;inset:auto 0 0;width:100%!important;max-width:100vw!important;border-radius:20px 20px 0 0!important;border-bottom:none!important;border-left:none!important;border-right:none!important;max-height:82vh;z-index:150;box-shadow:0 -8px 30px #00000040;animation:slideUpSheet .2s cubic-bezier(.16,1,.3,1)}.multiselect-popover-panel.price-range-popover-panel{padding:18px 20px 28px}.ms-items-scroll-list{max-height:48vh}.pcard-golden-specs.pcard-specs-2x2{gap:4px 8px;padding:6px 8px}.spec-cell-2x2 .spec-lbl{font-size:9.5px}.spec-cell-2x2 .spec-val{font-size:11.5px}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.badge-tk-tag,.plist-badge-tag{font-size:10px;font-weight:800;padding:2px 6px;border-radius:var(--r-sm);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;box-shadow:0 1px 3px #0000001f}.badge-tk-tag.tag-new,.plist-badge-tag.tag-new{background:#10b981;color:#fff}.badge-tk-tag.tag-drop,.plist-badge-tag.tag-drop{background:#ef4444;color:#fff}.plist-badge-tag{position:absolute;bottom:3px;left:3px;font-size:9px;padding:1px 4px}.tag-clean-pt{font-size:11px;font-weight:700;color:#047857;background:#d1fae5;padding:1px 6px;border-radius:var(--r-sm);white-space:nowrap}.pcard-mini-tag.tag-land-price{background:#fef3c7;color:#92400e;border:1px solid #FDE68A;font-weight:700}.plist-price-land{font-size:11px;font-weight:700;color:#b45309;background:#fef3c7;padding:1px 6px;border-radius:var(--r-sm);display:inline-block;margin-top:2px;white-space:nowrap}.detail-unit-land-price{font-size:13px;font-weight:700;color:#b45309}.detail-price-unit-col{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.detail-quick-actions-bar{display:flex;gap:10px;margin:12px 0 16px}@media (max-width: 640px){.detail-quick-actions-bar{flex-direction:column;gap:8px}}.detail-action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--r);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.detail-action-btn.copy-client-btn{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.detail-action-btn.copy-client-btn:hover{background:#c8e6c9}.detail-action-btn.copy-client-btn.done{background:#4caf50;color:#fff;border-color:#388e3c}.detail-action-btn.maps-btn{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.detail-action-btn.maps-btn:hover{background:#bae6fd}.detail-price-history-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}.detail-timeline-list{display:flex;flex-direction:column;position:relative;padding-left:14px;margin-top:8px}.detail-timeline-list:before{content:"";position:absolute;top:8px;bottom:8px;left:4px;width:2px;background:var(--line-strong)}.detail-timeline-item{position:relative;padding-bottom:12px;padding-left:12px}.detail-timeline-item:last-child{padding-bottom:0}.detail-timeline-item .timeline-dot{position:absolute;left:-13px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--primary);border:2px solid var(--surface)}.detail-timeline-item .timeline-content{display:flex;flex-direction:column;gap:3px}.detail-timeline-item .timeline-header{display:flex;align-items:center;gap:8px}.detail-timeline-item .timeline-date{font-size:12px;font-weight:600;color:var(--muted)}.detail-timeline-item .timeline-price-row{display:flex;align-items:baseline;gap:8px}.detail-timeline-item .timeline-price{font-size:14px;font-weight:800;color:var(--ink)}.detail-timeline-item .timeline-diff{font-size:11.5px;font-weight:700}.detail-timeline-item .timeline-diff.drop{color:#16a34a}.detail-timeline-item .timeline-diff.up{color:#dc2626}.detail-timeline-item .timeline-diff.first{color:var(--muted);font-weight:600}.pdetail-history-footnote{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--muted)}.pdetail-history-gia+.ks-hoatdong-box{margin-top:14px}.ks-hoatdong-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}.ks-hoatdong-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.ks-hoatdong-row{display:flex;align-items:flex-start;gap:10px}.ks-hoatdong-avatar{flex:none}.ks-hoatdong-avatar.tk{background:var(--surface-3, #E5E7EB);color:var(--muted)}.ks-hoatdong-content{display:flex;flex-direction:column;gap:2px;min-width:0}.ks-hoatdong-text{font-size:13px;color:var(--ink);word-break:break-word}.ks-hoatdong-time{font-size:11px;color:var(--muted)}.ks-hoatdong-xemthem-btn{width:100%;margin-top:12px;min-height:36px;padding:8px 12px;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--r);color:var(--primary);font-size:12.5px;font-weight:700;cursor:pointer}.plist-mobile-summary-row{display:none}.pcard-mobile-layout{display:none;background:var(--surface);border-radius:var(--r-lg);overflow:hidden}.pcard-desktop-layout{display:flex;flex-direction:column}.pcard.layout-compact .pcard-desktop-layout{display:none!important}.pcard.layout-compact .pcard-mobile-layout,.kcard .pcard-mobile-layout,.kcard-content-layout{display:flex!important;flex-direction:column!important;width:100%!important;box-sizing:border-box!important}.pcard-m-top-row{display:grid!important;grid-template-columns:105px 1fr!important;gap:10px!important;padding:10px!important;box-sizing:border-box!important;width:100%!important}.pcard-m-thumb-wrap{width:105px!important;height:105px!important;max-width:105px!important;max-height:105px!important;border-radius:var(--r)!important;position:relative!important;overflow:hidden!important;background:var(--surface-3)!important;flex-shrink:0!important}.pcard-m-thumb-img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;display:block!important}.pcard-m-location-pill{position:absolute;top:4px;left:4px;background:#000000a6;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;backdrop-filter:blur(4px);max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}.pcard-m-photo-count{position:absolute;bottom:4px;right:4px;background:#000000a6;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;backdrop-filter:blur(4px);z-index:2}.pcard-m-info-col{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;overflow:hidden!important}.pcard-m-title-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:6px!important;width:100%!important}.pcard-m-title{font-size:14px!important;font-weight:800!important;color:var(--ink)!important;line-height:1.38!important;display:block!important;margin:0!important;word-break:break-word!important}.pcard-m-bookmark-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.pcard-m-bookmark-btn.saved{color:var(--primary)}.pcard-m-badges-row,.pcard-m-badges-flex{display:flex!important;flex-wrap:wrap!important;gap:4px!important;align-items:center!important;margin-top:2px!important}.m-badge-tag{font-size:9.5px!important;font-weight:700!important;padding:1px 5px!important;border-radius:var(--r-sm)!important;white-space:nowrap!important}.m-badge-tag.tag-drop{background:#fee2e2;color:#dc2626}.m-badge-tag.tag-new{background:#d1fae5;color:#047857}.m-badge-tag.tag-gold{background:#fef3c7;color:#b45309}.m-badge-tag.tag-sub{background:var(--surface-2);color:var(--ink-secondary);border:1px solid var(--line)}.m-badge-tag.tag-land{background:#fef3c7;color:#b45309;font-weight:800}.m-badge-tag.tag-blue{background:#e0f2fe;color:#0369a1;border:1px solid #BAE6FD}.m-badge-tag.tag-status.s-qualified{background:#dbeafe;color:#1d4ed8}.m-badge-tag.tag-status.s-unqualified{background:#fef3c7;color:#b45309}.pcard-m-broker-box{display:flex!important;align-items:center!important;padding:7px 10px!important;background:var(--surface-2)!important;border-top:1px solid var(--line)!important;width:100%!important;box-sizing:border-box!important}.pcard-m-broker-meta-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;width:100%!important}.pcard-m-broker-left{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;flex:1!important;gap:2px!important}.pcard-m-broker-avatar{width:26px!important;height:26px!important;border-radius:50%!important;background:var(--primary-light)!important;color:var(--primary-ink)!important;border:1px solid var(--primary)!important;font-size:11px!important;font-weight:800!important;display:grid!important;place-items:center!important;flex-shrink:0}.pcard-m-broker-name{font-size:11.5px!important;font-weight:700!important;color:var(--ink)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;line-height:1.3!important}.pcard-m-broker-sub{font-size:10.5px!important;font-weight:500!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;line-height:1.2!important}.pcard-m-action-btns{display:flex!important;align-items:center!important;gap:5px!important;flex-shrink:0!important}.pcard-m-btn-circle{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:13px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;text-decoration:none!important;cursor:pointer!important;flex-shrink:0!important;padding:0!important;box-sizing:border-box!important;transition:transform .1s ease,background .1s ease!important}.pcard-m-btn-circle:active{transform:scale(.92)!important}.pcard-m-btn-circle.btn-call{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#059669!important}.pcard-m-btn-circle.btn-fb{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important}.pcard-m-btn-circle.btn-bookmark{background:var(--surface)!important;border-color:var(--line)!important;color:var(--muted)!important}.pcard-m-btn-circle.btn-bookmark.saved{background:#fef2f2!important;border-color:#fca5a5!important;color:#ef4444!important}.adv-range-inputs-row{display:flex;align-items:center;gap:8px;width:100%}.adv-number-input{flex:1;min-width:0;width:100%;box-sizing:border-box}@media (max-width: 640px){.pcard-desktop-layout{display:none!important}.pcard-mobile-layout{display:flex!important;flex-direction:column!important;width:100%}.desktop-only-nav,.desktop-only-user{display:none!important}.mobile-hamburger-btn{display:flex!important}.mobile-menu-backdrop{position:fixed;inset:0;background:#00000073;z-index:99;animation:fadeIn .15s ease}.mobile-menu-drawer{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 10px 25px #00000026;padding:12px 16px 18px;display:flex;flex-direction:column;gap:8px;z-index:100;animation:slideDownMenu .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDownMenu{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--r);font-size:14.5px;font-weight:700;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);transition:all .15s ease}.mobile-menu-item.active{background:var(--primary-bg);color:var(--primary);border-color:var(--primary-border)}.mobile-menu-divider{height:1px;background:var(--line);margin:4px 0}.mobile-menu-user-row{display:flex;align-items:center;justify-content:space-between;padding:8px 4px}.mobile-menu-login-btn{width:100%;padding:12px;font-size:14px;font-weight:700;text-align:center;border-radius:var(--r)}.portal-header-inner{padding:8px 14px!important;height:52px!important;flex-wrap:nowrap!important;justify-content:space-between!important}.brand-logo-icon{width:32px!important;height:32px!important;font-size:16px!important;border-radius:8px!important}.brand-title{font-size:14.5px!important}.brand-subtitle{display:none!important}.search-control-bar{flex-direction:column!important;gap:8px!important;padding:10px 12px!important}.search-input-field-wrap{width:100%!important}.search-sub-controls-group{display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;flex-wrap:wrap!important}.search-sub-controls-group .filter-adv-btn,.search-sub-controls-group .filter-clear-all-btn{min-height:36px!important;font-size:12.5px!important;padding:6px 12px!important}.search-sub-controls-group .sort-dropdown-select{min-height:36px!important;font-size:12px!important}.filter-capsule-row-wrap{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;margin-bottom:6px!important}.filter-capsule-scroll-area{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none;padding-bottom:4px;gap:8px;flex:1 1 auto!important;min-width:0!important}.filter-capsule-scroll-area::-webkit-scrollbar{display:none}.filter-capsule-bar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none;padding-bottom:4px;margin-bottom:4px;gap:8px}.filter-capsule-bar::-webkit-scrollbar{display:none}.filter-search-submit-btn{flex-shrink:0!important;padding:7px 12px!important;font-size:12px!important;min-height:36px!important}.quick-filter-shortcuts-bar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none;padding-bottom:4px}.quick-filter-shortcuts-bar::-webkit-scrollbar{display:none}.plist-item-row{display:grid!important;grid-template-columns:72px 1fr auto!important;grid-template-areas:"thumb info actions"!important;align-items:center!important;min-height:72px!important;padding:8px 10px!important;gap:10px!important}.plist-thumb-col{grid-area:thumb;width:72px!important;height:72px!important;border-radius:var(--r)!important}.plist-info-col{grid-area:info;min-width:0;gap:2px}.plist-mahieu-title{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plist-diagioi-sub{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plist-mobile-summary-row{display:flex!important;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:2px}.plist-mobile-price{font-weight:800;color:var(--primary);font-size:13px}.plist-mobile-specs{font-size:11.5px;color:var(--ink-secondary);font-weight:600}.plist-mobile-land{font-size:10.5px;color:#b45309;background:#fef3c7;padding:1px 4px;border-radius:var(--r-sm);font-weight:700}.plist-specs-col,.plist-price-col{display:none!important}.plist-actions-col{grid-area:actions;border-top:none!important;padding-top:0!important;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.plist-broker-meta{display:none!important}.plist-buttons-row{display:flex;gap:6px;align-items:center}.plist-buttons-row .btn-action-icon{width:36px;height:36px;font-size:14px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center}.plist-buttons-row .btn-bookmark-quick{min-height:36px;padding:0 10px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.plist-buttons-row .btn-bookmark-quick span{display:none}.modal-footer-cta{flex-direction:column-reverse!important;gap:10px!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important}.modal-footer-cta>div{width:100%!important;justify-content:space-between!important}.modal-footer-cta .btn-secondary-flat{width:100%!important;text-align:center!important}@media (max-width: 380px){.portal-listing-grid{grid-template-columns:1fr!important}}}.pcard-badges-tag-col{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;z-index:2;pointer-events:none}.quick-shortcut-chip.chip-highlight-new{border-color:#10b98166;color:#047857}.quick-shortcut-chip.chip-highlight-new.active{background:#10b981;color:#fff;border-color:#10b981}.quick-shortcut-chip.chip-highlight-drop{border-color:#ef444466;color:#b91c1c}.quick-shortcut-chip.chip-highlight-drop.active{background:#ef4444;color:#fff;border-color:#ef4444}.dc-select-container{position:relative;width:100%}.dc-input-wrap{position:relative;display:flex;align-items:center;width:100%}.dc-search-input{width:100%;padding:9px 36px 9px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);font-size:13.5px;color:var(--ink);outline:none;transition:border-color .15s ease,background .15s ease}.dc-search-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #0a254014}.dc-clear-input-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.dc-clear-input-btn:hover{color:var(--ink)}.dc-selected-tag{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:#0a25400d;border:1px solid rgba(10,37,64,.2);border-radius:var(--r);gap:8px}.dc-tag-info{display:flex;align-items:center;gap:10px;overflow:hidden}.dc-tag-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.dc-tag-text{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dc-tag-name{font-weight:700;font-size:13.5px;color:var(--primary)}.dc-tag-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;background:#e0e7ff;color:#3730a3}.dc-tag-phone{font-size:12px;color:var(--muted)}.dc-tag-remove-btn{background:transparent;border:none;color:var(--danger);font-size:15px;cursor:pointer;padding:4px;line-height:1;display:flex;align-items:center}.dc-tag-remove-btn:hover{color:#991b1b}.dc-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 10px 25px #0000001f;z-index:1000}.dc-no-result{padding:14px;text-align:center;font-size:13px;color:var(--muted)}.dc-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line-light);transition:background .12s ease}.dc-dropdown-item:last-child{border-bottom:none}.dc-dropdown-item:hover{background:var(--surface-2)}.dc-item-avatar{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#334155;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.dc-item-body{flex:1;min-width:0}.dc-item-row-top{display:flex;align-items:center;gap:8px;margin-bottom:2px}.dc-item-name{font-weight:700;font-size:13.5px;color:var(--ink)}.dc-item-phong{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;background:#eff6ff;color:#1d4ed8}.dc-item-row-bot{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.dc-item-role{color:#059669;font-weight:600}.crm-screen-container{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 120px)}.crm-top-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 16px;box-shadow:var(--shadow-sm)}.crm-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:1;min-width:280px}.crm-search-box{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 12px;min-width:260px;flex:1}.crm-search-box input{border:none;background:transparent;outline:none;font-size:14px;color:var(--ink);width:100%}.crm-search-clear{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.crm-temp-filter-group{display:flex;align-items:center;gap:6px;overflow-x:auto}.crm-temp-pill{font-size:12px;font-weight:600;padding:5px 10px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.crm-temp-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-temp-pill.net.active{background:#ef4444;color:#fff;border-color:#ef4444}.crm-temp-pill.warm.active{background:#f59e0b;color:#fff;border-color:#f59e0b}.crm-temp-pill.cold.active{background:#64748b;color:#fff;border-color:#64748b}.crm-toolbar-right{display:flex;align-items:center;gap:10px}.crm-view-mode-switch{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:2px}.crm-view-btn{border:none;background:transparent;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;border-radius:6px;transition:all .15s ease}.crm-view-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.btn-add-customer{background:var(--primary);color:#fff;border:none;border-radius:var(--r-md);padding:8px 16px;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #10b98140;transition:all .15s ease}.btn-add-customer:hover{opacity:.92;transform:translateY(-1px)}.btn-add-customer.large{padding:12px 24px;font-size:15px;margin-top:16px}.crm-kanban-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:16px;align-items:flex-start;min-height:600px}.crm-kanban-column{flex:0 0 310px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 200px);transition:all .2s ease}.crm-kanban-column.collapsed{flex:0 0 54px;overflow:hidden}.crm-kanban-column.collapsed .crm-col-title,.crm-kanban-column.collapsed .crm-col-count,.crm-kanban-column.collapsed .crm-col-cards-list{display:none}.crm-col-header{padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);border-top:3px solid transparent;border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}.crm-col-header-info{display:flex;align-items:center;gap:8px;flex:1}.crm-col-title{font-size:13.5px;font-weight:700;color:var(--ink)}.crm-col-count{font-size:11px;font-weight:700;color:#fff;padding:1px 7px;border-radius:10px}.crm-col-collapse-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;padding:4px}.crm-col-cards-list{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1;min-height:120px}.crm-col-drop-zone{border:2px dashed var(--line);border-radius:var(--r-md);padding:24px 12px;text-align:center;font-size:12px;color:var(--muted)}.crm-draggable-card-wrap{cursor:grab}.crm-draggable-card-wrap:active{cursor:grabbing}.crm-list-view-wrap{display:flex;flex-direction:column;gap:12px}.crm-list-stage-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.crm-list-tab{font-size:13px;font-weight:600;padding:7px 14px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.crm-list-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.crm-list-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.crm-customer-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .15s ease;position:relative}.crm-customer-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.crm-customer-card.is-stale{border-left:3px solid #f59e0b}.crm-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.crm-card-name-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.crm-card-name{font-size:14.5px;font-weight:700;color:var(--ink);margin:0}.crm-temp-badge{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px;border:1px solid transparent}.crm-purpose-badge{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:#f1f5f9;color:#475569}.crm-card-actions-top{position:relative}.crm-card-more-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;padding:2px 6px}.crm-card-dropdown-menu{position:absolute;top:24px;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:20;min-width:140px;display:flex;flex-direction:column;padding:4px 0}.crm-card-dropdown-menu button{border:none;background:transparent;padding:8px 12px;text-align:left;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}.crm-card-dropdown-menu button:hover{background:var(--bg)}.crm-card-phone-budget{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.crm-card-phone-wrap{display:flex;align-items:center;gap:4px}.crm-call-btn{color:#0284c7;text-decoration:none;font-weight:700;display:flex;align-items:center;gap:4px}.crm-copy-phone-btn{border:none;background:transparent;cursor:pointer;font-size:11px;padding:2px;color:var(--muted)}.crm-card-budget{color:#b91c1c;font-size:13px}.crm-sub-budget{font-size:11px;color:var(--muted);font-weight:500}.crm-card-location-road{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.crm-loc-chip,.crm-road-chip,.crm-fengshui-chip{font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;background:#f8fafc;border:1px solid var(--line);color:var(--ink)}.crm-card-note{font-size:12px;color:var(--muted);background:#fffbeb;border:1px dashed #fde68a;border-radius:4px;padding:4px 8px}.crm-card-alerts-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.crm-pulse-group{display:flex;align-items:center;gap:6px}.crm-pulse-chip-new{font-size:10.5px;font-weight:700;background:#dbeafe;color:#1e40af;padding:2px 6px;border-radius:4px;animation:pulseLight 1.5s infinite alternate}.crm-pulse-chip-discount{font-size:10.5px;font-weight:700;background:#fee2e2;color:#b91c1c;padding:2px 6px;border-radius:4px;animation:pulseLight 1.5s infinite alternate}.crm-stale-badge{font-size:10.5px;font-weight:700;background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px}.crm-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px dashed var(--line);margin-top:2px}.crm-card-stage-indicator{font-size:11.5px;font-weight:700}.crm-quick-stage-select{border:1px solid var(--line);border-radius:4px;background:var(--bg);font-size:11px;font-weight:600;color:var(--ink);padding:3px 6px;outline:none}.crm-modal-backdrop{position:fixed;inset:0;background:#0f172aa6;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.crm-modal-sheet{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden}.crm-modal-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.crm-modal-header h3{font-size:17px;font-weight:700;margin:0;color:var(--ink)}.crm-modal-close-btn{border:none;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;padding:4px}.crm-form-scrollable{flex:1 1 auto;min-height:0;padding:16px 20px 48px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px}.crm-form-scrollable::-webkit-scrollbar{width:6px}.crm-form-scrollable::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.crm-form-section{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--surface)}.crm-form-section.highlight-hard{border-color:#fca5a5;background:snow}.crm-form-section.highlight-soft{border-color:#bae6fd;background:#f8fcff}.crm-form-section.highlight-diff-reason{border-color:#fde68a;background:#fffef2}.crm-section-title{font-size:13.5px;font-weight:700;color:var(--ink);margin:0}.crm-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.crm-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.crm-form-group{display:flex;flex-direction:column;gap:5px}.crm-form-group label{font-size:12px;font-weight:600;color:var(--ink)}.crm-form-group input,.crm-form-group select{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px;font-size:13.5px;outline:none;background:var(--surface);color:var(--ink)}.crm-chips-wrap{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto;padding:4px 0}.crm-chips-wrap.small{max-height:110px}.crm-filter-chip{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .1s ease}.crm-filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-form-checkbox-row{font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:8px}.crm-form-features-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:12.5px;font-weight:600;color:var(--ink)}.crm-quick-reasons-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.crm-quick-reason-btn{font-size:11px;padding:3px 8px;border-radius:12px;border:1px dashed #d97706;background:#fffbeb;color:#92400e;cursor:pointer}.crm-modal-footer{padding:14px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:10px}.btn-save-customer{background:var(--primary);color:#fff;border:none;border-radius:var(--r-md);padding:9px 20px;font-size:13.5px;font-weight:700;cursor:pointer}.crm-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface);position:sticky;bottom:0;z-index:10;box-shadow:0 -4px 12px #0000000d;border-bottom-left-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl)}.crm-btn-cancel{padding:10px 20px;border-radius:var(--r-md);border:1.5px solid var(--line-dark);background:#f8fafc;color:#475569;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.crm-btn-cancel:hover:not(:disabled){background:#e2e8f0;color:#1e293b;border-color:#94a3b8}.crm-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.crm-btn-submit{padding:10px 24px;border-radius:var(--r-md);border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13.5px;font-weight:800;letter-spacing:.2px;cursor:pointer;box-shadow:0 2px 8px #2563eb59;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.crm-btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 14px #2563eb73;transform:translateY(-1px)}.crm-btn-submit:active:not(:disabled){transform:translateY(0)}.crm-btn-submit:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;opacity:.7}.crm-detail-modal-sheet{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:900px;height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.crm-toast-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#10b981;color:#fff;padding:6px 16px;border-radius:20px;font-size:12.5px;font-weight:700;box-shadow:var(--shadow-md);z-index:50;animation:fadeIn .2s ease}.crm-detail-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg)}.crm-detail-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crm-detail-title-row h2{font-size:18px;font-weight:700;margin:0;color:var(--ink)}.crm-detail-sub-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:4px;flex-wrap:wrap}.crm-call-link{color:#0284c7;font-weight:700;text-decoration:none}.crm-detail-header-right{display:flex;align-items:center;gap:8px}.crm-quick-stage-select-header{border:1px solid var(--line);border-radius:var(--r-md);padding:6px 10px;font-size:12.5px;font-weight:700;background:var(--surface);color:var(--ink)}.crm-btn-edit-header{border:1px solid var(--line);border-radius:var(--r-md);padding:6px 12px;font-size:12.5px;font-weight:600;background:var(--surface);color:var(--ink);cursor:pointer}.crm-detail-tabs-bar{display:flex;border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto}.crm-tab-btn{border:none;background:transparent;padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:all .15s ease}.crm-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.crm-detail-body,.crm-detail-content-area{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 20px 48px;background:var(--bg)}.crm-detail-body::-webkit-scrollbar,.crm-detail-content-area::-webkit-scrollbar{width:6px}.crm-detail-body::-webkit-scrollbar-thumb,.crm-detail-content-area::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.crm-stream-block{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.crm-stream-header{border-radius:var(--r-md);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crm-stream-header.stream-1{background:#ecfdf5;border:1px solid #a7f3d0}.crm-stream-header.stream-2{background:#f0f9ff;border:1px solid #bae6fd}.crm-stream-tag{font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;background:#10b981;color:#fff}.crm-stream-header.stream-2 .crm-stream-tag{background:#0284c7}.crm-stream-header h4{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.crm-stream-desc{font-size:12px;color:var(--muted)}.crm-properties-grid{display:flex;flex-direction:column;gap:14px;width:100%}.crm-matched-house-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.crm-mhouse-top{display:flex;gap:10px}.crm-mhouse-img{width:80px;height:60px;border-radius:4px;object-fit:cover;flex-shrink:0}.crm-mhouse-img.placeholder{display:grid;place-items:center;background:#f1f5f9;font-size:24px}.crm-mhouse-info{flex:1;min-width:0}.crm-mhouse-price-row{display:flex;align-items:center;gap:6px}.crm-mhouse-price{font-size:14.5px;font-weight:800;color:#b91c1c}.crm-mhouse-title{font-size:12.5px;font-weight:700;color:var(--ink);margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-mhouse-loc{font-size:11px;color:var(--muted)}.crm-mhouse-suggestion-strip{font-size:11.5px;color:#92400e;background:#fffbeb;border:1px dashed #fde68a;border-radius:4px;padding:4px 8px}.crm-mhouse-tags-row{display:flex;flex-wrap:wrap;gap:4px}.crm-tag-met{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:#ecfdf5;color:#047857}.crm-tag-missed{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:#fff7ed;color:#c2410c}.crm-mhouse-actions-row{display:flex;align-items:center;gap:6px;padding-top:6px;border-top:1px dashed var(--line)}.crm-btn-act{flex:1;border:1px solid var(--line);background:var(--bg);border-radius:4px;padding:5px 8px;font-size:11.5px;font-weight:700;color:var(--ink);cursor:pointer;transition:all .1s ease}.crm-btn-act:hover{background:var(--surface);border-color:var(--primary)}.crm-btn-act.like{color:#d97706;border-color:#fde68a;background:#fffbeb}.crm-btn-act.dislike{color:#ef4444;border-color:#fecaca;background:#fef2f2}.crm-timeline-container{display:flex;flex-direction:column;gap:16px;position:relative;padding-left:20px;border-left:2px solid var(--line);margin-left:10px}.crm-timeline-node{position:relative}.crm-timeline-marker{position:absolute;left:-29px;top:0;display:flex;align-items:center;gap:6px}.crm-timeline-dot{width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--primary)}.crm-timeline-ver{font-size:10px;font-weight:700;color:var(--muted)}.crm-timeline-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px}.crm-timeline-header{display:flex;align-items:center;justify-content:space-between}.crm-timeline-time{font-size:12px;color:var(--muted);font-weight:600}.crm-timeline-badge-tag{font-size:11px;font-weight:700}.crm-timeline-reason{font-size:13px;color:var(--ink)}.crm-timeline-diff-box{background:var(--bg);border-radius:4px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;margin-top:4px}.crm-diff-row{font-size:12px;color:var(--ink)}.crm-history-list,.crm-history-grouped-list{display:flex;flex-direction:column;gap:16px}.crm-date-group-section{display:flex;flex-direction:column;gap:10px}.crm-date-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface-hover);border-left:4px solid var(--primary);border-radius:var(--r-sm);margin-bottom:2px}.crm-date-group-badge{font-size:13px;font-weight:700;color:var(--ink)}.crm-date-group-count{font-size:12px;color:var(--muted);font-weight:500}.crm-date-group-items{display:flex;flex-direction:column;gap:12px}.crm-history-item-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:all .15s ease}.crm-history-item-card:hover{border-color:var(--primary-border)}.crm-history-item-card.house-sold{border-color:#fca5a5;background:snow}.crm-history-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.crm-history-status-badge{font-size:11.5px;font-weight:800}.crm-hstatus-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-sm);font-size:11.5px;font-weight:700;background:#f1f5f9;color:#475569}.crm-hstatus-tag.moi{background:#e0f2fe;color:#0369a1}.crm-hstatus-tag.chao{background:#e0e7ff;color:#4338ca}.crm-hstatus-tag.datxem{background:#fef3c7;color:#b45309}.crm-hstatus-tag.thich{background:#dcfce7;color:#15803d}.crm-hstatus-tag.che{background:#fee2e2;color:#b91c1c}.crm-sold-badge{font-size:11px;font-weight:800;color:#dc2626;background:#fee2e2;padding:2px 8px;border-radius:4px;border:1px solid #f87171}.crm-history-time{font-size:11.5px;color:var(--muted)}.crm-history-house-title{margin:0;font-size:14.5px;font-weight:700;color:var(--primary)}.crm-history-house-meta{font-size:12.5px;color:var(--muted);margin-top:2px}.crm-history-feedback{font-size:12.5px;color:#b91c1c;background:#fef2f2;border-left:3px solid #ef4444;padding:6px 10px;border-radius:var(--r-xs)}.crm-history-quick-status-bar{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px dashed var(--line);flex-wrap:wrap}.crm-quick-status-label{font-size:11.5px;color:var(--muted);font-weight:600}.crm-quick-status-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crm-btn-qstatus{padding:4px 10px;border-radius:var(--r-sm);font-size:11.5px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:all .15s ease}.crm-btn-qstatus:hover{background:var(--surface-hover)}.crm-btn-qstatus.active.moi{background:#0284c7;color:#fff;border-color:#0284c7}.crm-btn-qstatus.active.chao{background:#4f46e5;color:#fff;border-color:#4f46e5}.crm-btn-qstatus.active.datxem{background:#d97706;color:#fff;border-color:#d97706}.crm-btn-qstatus.active.thich{background:#16a34a;color:#fff;border-color:#16a34a}.crm-btn-qstatus.active.che{background:#dc2626;color:#fff;border-color:#dc2626}.crm-history-notes-section{display:flex;flex-direction:column;gap:8px;background:var(--bg);padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line)}.crm-hnotes-list{display:flex;flex-direction:column;gap:8px}.crm-hnote-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px}.crm-hnote-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.crm-hnote-time{font-size:11px;color:var(--muted)}.crm-btn-hnote-icon{background:transparent;border:none;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px;opacity:.7}.crm-btn-hnote-icon:hover{opacity:1;background:var(--surface-hover)}.crm-hnote-text{color:var(--ink);line-height:1.4;white-space:pre-wrap;word-break:break-word}.crm-hnote-image-wrap{margin-top:6px;display:flex;align-items:center;gap:8px}.crm-hnote-img-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);cursor:pointer;transition:transform .15s ease}.crm-hnote-img-thumb:hover{transform:scale(1.05);box-shadow:var(--shadow-sm)}.crm-hnote-img-hint{font-size:11px;color:var(--muted)}.crm-note-image-preview-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--r-sm)}.crm-preview-thumb-box{position:relative;width:44px;height:44px}.crm-preview-thumb{width:100%;height:100%;object-fit:cover;border-radius:var(--r-xs)}.crm-btn-remove-preview{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#dc2626;color:#fff;border:none;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.crm-preview-filename{font-size:12px;color:#166534;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-hnote-add-row{display:flex;align-items:center;gap:8px}.crm-hnote-input{flex:1;font-size:12.5px;padding:6px 10px}.crm-btn-upload-photo{padding:6px 10px;font-size:12px;font-weight:600;border:1px dashed var(--primary);background:var(--surface);color:var(--primary);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.crm-btn-upload-photo:hover{background:#f0f9ff}.crm-lightbox-backdrop{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.crm-lightbox-modal{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:10px}.crm-lightbox-close{position:absolute;top:-36px;right:0;background:#ffffff40;border:none;color:#fff;font-size:20px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.crm-lightbox-close:hover{background:#ffffff80}.crm-lightbox-img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r-md);box-shadow:0 10px 30px #0009}.crm-lightbox-caption{display:flex;align-items:center;gap:12px;color:#e2e8f0;font-size:13px}.crm-lightbox-link{color:#38bdf8;text-decoration:underline}.crm-history-actions{display:flex;align-items:center;gap:6px}.crm-btn-action-small{border:1px solid var(--line);background:var(--bg);border-radius:var(--r-sm);padding:5px 10px;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--primary)}.crm-reverse-modal-sheet{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.crm-reverse-house-sub{font-size:12px;color:var(--muted);margin-top:2px}.crm-reverse-modal-body{padding:16px;overflow-y:auto;flex:1}.crm-reverse-count-bar{font-size:13px;color:var(--ink);margin-bottom:12px}.crm-reverse-customer-list{display:flex;flex-direction:column;gap:10px}.crm-reverse-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:6px}.crm-rcard-top{display:flex;align-items:center;justify-content:space-between}.crm-rcard-name-row{display:flex;align-items:center;gap:8px}.crm-rcard-name-row h4{margin:0;font-size:14.5px;font-weight:700}.crm-rcard-stage{font-size:11px;font-weight:700}.crm-rcard-phone{color:#0284c7;font-size:12px;font-weight:700;text-decoration:none}.crm-rcard-reason{font-size:12px;color:var(--ink)}.crm-tag-perfect{font-weight:800;color:#059669}.crm-tag-upsell{font-weight:800;color:#b91c1c}.crm-tag-road{font-weight:800;color:#0284c7}.crm-rcard-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.crm-btn-attach{border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}.crm-btn-attach.primary{background:var(--primary);color:#fff}.crm-btn-attach.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.crm-attached-done{font-size:12px;font-weight:700;color:#059669}.btn-reverse-match{color:#ef4444;font-size:13px;display:flex;align-items:center;justify-content:center}@media (max-width: 640px){.crm-top-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:10px}.crm-toolbar-left,.crm-toolbar-right{width:100%;min-width:unset}.crm-search-box{min-width:unset;width:100%}.crm-view-mode-switch{flex:1;display:flex;justify-content:center}.btn-add-customer{flex:1;text-align:center;padding:8px 12px}.crm-form-grid-2,.crm-form-grid-3{grid-template-columns:1fr;gap:8px}.crm-properties-grid{grid-template-columns:1fr}.crm-detail-modal-sheet,.crm-modal-sheet{max-height:95vh;border-radius:var(--r-lg) var(--r-lg) 0 0;position:fixed;bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}.crm-detail-header{flex-direction:column;align-items:flex-start;gap:8px}.crm-detail-header-right{width:100%;justify-content:space-between}.crm-dropdown-grid-2,.crm-dropdown-grid-3{grid-template-columns:1fr;gap:8px}.crm-full-property-card{flex-direction:column}.crm-card-media-col{width:100%;height:180px;margin:0;border-radius:var(--r-md) var(--r-md) 0 0}.crm-card-actions-hub{width:100%;min-width:unset;border-left:none;border-top:1px solid var(--line);padding:12px}}.crm-compact-sheet{max-width:820px!important}.crm-header-subtext{font-size:12px;color:var(--muted);display:block;margin-top:2px}.crm-dropdown-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.crm-dropdown-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.crm-form-select{width:100%;padding:8px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease;outline:none}.crm-form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff704326}.crm-form-input{width:100%;padding:8px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;transition:border-color .15s ease;outline:none}.crm-form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff704326}.crm-input-suffix-wrap{position:relative;display:flex;align-items:center}.crm-input-suffix{position:absolute;right:12px;font-size:12.5px;font-weight:700;color:var(--muted);pointer-events:none}.crm-optional-tag{font-size:11px;font-weight:400;color:var(--muted)}.crm-field-helper{font-size:11px;color:var(--primary);display:block;margin-top:4px;line-height:1.3}.crm-section-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.crm-section-hint{font-size:11.5px;color:var(--muted)}.crm-pill-tags-wrap{display:flex;flex-wrap:wrap;gap:6px}.crm-pill-tag{padding:5px 12px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-secondary);cursor:pointer;transition:all .15s ease}.crm-pill-tag:hover{border-color:var(--primary);color:var(--primary)}.crm-pill-tag.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary-ink);font-weight:700}.crm-suggestion-banner{padding:10px 14px;border-radius:var(--r);border:1px solid}.crm-private-phone-tag{font-size:12px;font-weight:600;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:var(--r)}.crm-full-property-card{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s cubic-bezier(.16,1,.3,1);margin-bottom:4px;width:100%}.crm-full-property-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-border)}.crm-card-media-col{position:relative;width:210px;min-width:210px;height:155px;aspect-ratio:16 / 10;align-self:flex-start;flex-shrink:0;margin:14px 0 14px 14px;border-radius:var(--r-md);overflow:hidden;background:#0f172a}.crm-card-cover-img{width:100%;height:100%;object-fit:cover;display:block}.crm-card-cover-img.placeholder{display:flex;align-items:center;justify-content:center;font-size:36px;color:#64748b;background:#1e293b}.crm-card-media-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;z-index:2}.crm-card-info-col{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.crm-card-price-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.crm-card-price-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.crm-price-highlight{font-size:19px;font-weight:800;color:var(--danger);letter-spacing:-.3px}.crm-unit-price{font-size:13px;font-weight:600;color:var(--muted)}.crm-unit-price-land{font-size:12.5px;font-weight:600;color:#059669}.crm-card-mahieu-title{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35;margin:2px 0 0;cursor:pointer;transition:color .15s ease}.crm-card-mahieu-title:hover{color:var(--primary)}.crm-card-location-row{font-size:12.5px;color:var(--ink-secondary);display:flex;align-items:center;gap:6px}.crm-card-type-tag{color:var(--muted)}.crm-card-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;padding:8px 12px;background:var(--bg-alt);border-radius:var(--r);margin:4px 0}.crm-spec-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);font-weight:600}.crm-spec-icon{font-size:13px;opacity:.85}.crm-card-suggestion-alert{padding:6px 12px;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:0 var(--r) var(--r) 0;font-size:12px;font-weight:600;color:#1d4ed8;line-height:1.35}.crm-card-tags-wrap{display:flex;flex-wrap:wrap;gap:6px}.crm-card-dauchun-row{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line-light);flex-wrap:wrap}.crm-dc-name{font-size:12px;font-weight:700;color:var(--ink-secondary)}.crm-dc-quick-actions{display:flex;gap:4px}.crm-btn-contact-mini{padding:3px 8px;border-radius:var(--r-full);font-size:11px;font-weight:700;text-decoration:none;transition:all .15s ease}.crm-btn-contact-mini.call{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.crm-btn-contact-mini.fb{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.crm-btn-contact-mini.map{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.crm-card-actions-hub{width:220px;min-width:220px;padding:14px;background:#f8fafc;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:8px;justify-content:center;flex-shrink:0}.crm-btn-view-detail-hub{width:100%;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--primary);background:var(--primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;box-shadow:0 1px 3px #2563eb33}.crm-btn-view-detail-hub:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 3px 8px #2563eb4d}.crm-btn-save-care-hub{width:100%;padding:7px 12px;border-radius:var(--r-md);border:1px dashed #16a34a;background:#f0fdf4;color:#15803d;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.crm-btn-save-care-hub:hover{background:#dcfce7;border-color:#15803d;color:#166534}.crm-care-status-pill-hub{width:100%;padding:6px 12px;border-radius:var(--r-md);background:#e2e8f0;color:#475569;font-size:12px;font-weight:700;text-align:center;border:1px solid #cbd5e1}.crm-hub-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:2px}.crm-btn-hub-status{padding:7px 4px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:11.5px;font-weight:700;cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.crm-btn-hub-status:hover{border-color:var(--line-dark);transform:translateY(-1px)}.crm-btn-hub-status.send:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.crm-btn-hub-status.visit:hover{background:#fffbeb;border-color:#f59e0b;color:#b45309}.crm-btn-hub-status.like:hover{background:#ecfdf5;border-color:#10b981;color:#059669}.crm-btn-hub-status.dislike:hover{background:#fef2f2;border-color:#ef4444;color:#b91c1c}.crm-btn-hub-status.send.active{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 1px 4px #4f46e54d}.crm-btn-hub-status.visit.active{background:#d97706;color:#fff;border-color:#d97706;box-shadow:0 1px 4px #d977064d}.crm-btn-hub-status.like.active{background:#16a34a;color:#fff;border-color:#16a34a;box-shadow:0 1px 4px #16a34a4d}.crm-btn-hub-status.dislike.active{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 1px 4px #dc26264d}.pcard-badge-tag.care-status{background:#0f172a;color:#38bdf8;border:1px solid #38bdf8}.pcard-badge-tag.care-status.moi{background:#0369a1;color:#fff;border-color:#0284c7}.pcard-badge-tag.care-status.da_chao{background:#4338ca;color:#fff;border-color:#4f46e5}.pcard-badge-tag.care-status.da_dat_xem{background:#b45309;color:#fff;border-color:#d97706}.pcard-badge-tag.care-status.khach_thich{background:#15803d;color:#fff;border-color:#16a34a}.pcard-badge-tag.care-status.khach_che{background:#b91c1c;color:#fff;border-color:#dc2626}.crm-criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.crm-criterion-box{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:all .15s ease}.crm-criterion-box:hover{border-color:var(--line-dark)}.crm-criterion-box.has-val{background:#fff;border-color:#cbd5e1}.crm-criterion-box.active{border-color:#2563eb;background:#f0f7ff;box-shadow:0 0 0 1px #2563eb}.crm-criterion-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;border-radius:4px;background:#dbeafe;color:#1d4ed8}.crm-crit-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.crm-crit-label{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-crit-mode-toggle{display:flex;background:var(--bg-alt);padding:2px;border-radius:var(--r-full);gap:2px;flex-shrink:0}.crm-mode-btn{padding:2px 8px;border-radius:var(--r-full);border:none;background:transparent;font-size:10.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s ease;line-height:1.3}.crm-mode-btn.hard.active{background:#fee2e2;color:#b91c1c;box-shadow:0 1px 2px #b91c1c26}.crm-mode-btn.soft.active{background:#f3e8ff;color:#7e22ce;box-shadow:0 1px 2px #7e22ce26}.crm-tab-profile-pane{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.crm-profile-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.crm-profile-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-light)}.crm-profile-card-header h3{margin:0;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.crm-pcard-header-left{display:flex;flex-direction:column;gap:3px}.crm-btn-edit-inline{padding:5px 12px;border-radius:var(--r-full);border:1px solid var(--primary-border);background:var(--primary-light);color:var(--primary-ink);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.crm-btn-edit-inline:hover{background:var(--primary);color:#fff}.crm-profile-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}.crm-pinfo-item{display:flex;flex-direction:column;gap:3px}.crm-pinfo-label{font-size:11.5px;font-weight:600;color:var(--muted)}.crm-pinfo-val{font-size:13.5px;font-weight:600;color:var(--ink)}.crm-pinfo-val.bold{font-size:15px;font-weight:800;color:var(--ink-dark)}.crm-stage-chip{display:inline-block;padding:3px 10px;border-radius:var(--r-full);background:#f1f5f9;color:#334155;font-size:11.5px;font-weight:700}.crm-phone-link{color:#0284c7;text-decoration:none;font-weight:700}.crm-phone-link:hover{text-decoration:underline}.crm-customer-notes-box{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r);padding:10px 14px}.crm-notes-box-title{font-size:12px;font-weight:700;color:#92400e;margin-bottom:4px}.crm-notes-box-content{font-size:13px;color:#78350f;line-height:1.45;white-space:pre-wrap}.crm-profile-finance-row{display:grid;grid-template-columns:1fr 2fr;gap:16px}.crm-pfin-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;display:flex;flex-direction:column;gap:4px}.crm-pfin-label{font-size:12px;font-weight:700;color:var(--muted)}.crm-pfin-val{font-size:20px;font-weight:800;color:var(--danger);letter-spacing:-.5px}.crm-pfin-sub{font-size:12px;color:var(--ink-secondary)}.crm-pfin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.crm-pfin-chip{padding:3px 10px;border-radius:var(--r-full);font-size:12px;font-weight:700}.crm-pfin-chip.phuong{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.crm-pfin-chip.quan{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.crm-pfin-all{font-size:13px;font-weight:600;color:var(--ink-secondary)}.crm-profile-criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.crm-pcrit-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:6px;transition:all .15s ease}.crm-pcrit-box.is-hard{border-color:#fca5a5;background:snow}.crm-pcrit-box.is-soft{border-color:#d8b4fe;background:#faf5ff}.crm-pcrit-box.is-empty{opacity:.65;background:#fafafa}.crm-pcrit-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.crm-pcrit-label{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-badge-hard{font-size:10px;font-weight:800;color:#b91c1c;background:#fee2e2;padding:2px 6px;border-radius:var(--r-full);white-space:nowrap}.crm-badge-soft{font-size:10px;font-weight:800;color:#7e22ce;background:#f3e8ff;padding:2px 6px;border-radius:var(--r-full);white-space:nowrap}.crm-badge-none{font-size:10px;font-weight:600;color:var(--muted);background:#f1f5f9;padding:2px 6px;border-radius:var(--r-full);white-space:nowrap}.crm-pcrit-val{font-size:13px;font-weight:600;color:var(--ink-dark)}.crm-pcrit-empty{font-size:12px;font-weight:400;color:var(--muted);font-style:italic}.crm-profile-cta-row{display:flex;justify-content:center;margin-top:10px}.crm-btn-edit-full{width:100%;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #ff70434d;transition:all .15s ease}.crm-btn-edit-full:hover{background:var(--primary-hover);transform:translateY(-1px)}.crm-history-notes-section{margin:10px 0;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.crm-hnotes-header{display:flex;align-items:center;justify-content:space-between}.crm-hnotes-title{font-size:12px;font-weight:700;color:var(--ink-secondary)}.crm-hnotes-list{display:flex;flex-direction:column;gap:6px}.crm-hnote-item{background:var(--surface);border:1px solid var(--line-light);border-radius:var(--r);padding:8px 10px;display:flex;flex-direction:column;gap:4px}.crm-hnote-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.crm-hnote-time{font-size:11px;font-weight:600;color:var(--muted)}.crm-hnote-actions{display:flex;gap:4px}.crm-btn-hnote-icon{background:transparent;border:none;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:var(--r);transition:background .15s ease;line-height:1}.crm-btn-hnote-icon:hover{background:var(--bg-alt)}.crm-btn-hnote-icon.delete:hover{background:#fee2e2}.crm-hnote-text{font-size:12.5px;color:var(--ink);line-height:1.4;white-space:pre-wrap}.crm-hnote-edit-box{display:flex;flex-direction:column;gap:6px}.crm-hnote-edit-input{font-size:12.5px!important;resize:vertical}.crm-hnote-edit-btns{display:flex;justify-content:flex-end;gap:6px}.crm-btn-hnote{padding:4px 10px;border-radius:var(--r);font-size:11.5px;font-weight:700;cursor:pointer;border:1px solid var(--line)}.crm-btn-hnote.save{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-btn-hnote.cancel{background:var(--surface);color:var(--ink-secondary)}.crm-hnote-add-row{display:flex;gap:6px;margin-top:4px}.crm-hnote-input{flex:1;font-size:12px!important;padding:6px 10px!important}.crm-btn-add-note{padding:6px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--primary-ink);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s ease}.crm-btn-add-note:hover{background:var(--primary-light);border-color:var(--primary)}@media (max-width: 640px){.crm-full-property-card{flex-direction:column!important;width:100%!important;border-radius:var(--r)!important}.crm-card-media-col{width:100%!important;min-width:0!important;max-width:100%!important;height:175px!important}.crm-card-info-col{width:100%!important;min-width:0!important;padding:10px 12px!important}.crm-card-price-header{flex-wrap:wrap!important;gap:6px!important}.crm-card-price-main{gap:6px!important}.crm-price-highlight{font-size:16px!important}.crm-card-specs-grid{grid-template-columns:1fr 1fr!important;gap:6px!important;padding:6px 8px!important}.crm-card-bottom-bar{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding-top:8px!important}.crm-dauchun-compact{width:100%!important;justify-content:space-between!important}.crm-card-actions-hub{width:100%!important;min-width:0!important;border-left:none!important;border-top:1px solid var(--line)!important;padding:10px 12px!important}.crm-btn-view-detail-hub{min-height:40px!important;font-size:13px!important}.crm-btn-save-care-hub,.crm-care-status-pill-hub{min-height:38px!important;font-size:12px!important}.crm-hub-status-grid{grid-template-columns:repeat(4,1fr)!important;width:100%!important;gap:4px!important}.crm-btn-hub-status{padding:8px 2px!important;font-size:11px!important;text-align:center!important;justify-content:center!important;min-height:38px!important}.crm-detail-header.crm-header-compact{padding:8px 12px!important;gap:6px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}.crm-detail-header.crm-header-compact .crm-detail-header-left{flex:1!important;min-width:0!important}.crm-detail-header.crm-header-compact .crm-detail-title-row{flex-wrap:nowrap!important;gap:6px!important;align-items:center!important}.crm-detail-header.crm-header-compact .crm-detail-title-row h2{font-size:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:140px!important}.crm-detail-header.crm-header-compact .crm-temp-badge{font-size:10.5px!important;padding:2px 6px!important}.crm-detail-header.crm-header-compact .crm-purpose-badge{display:none!important}.crm-detail-header.crm-header-compact .crm-btn-toggle-compact-header{font-size:10.5px!important;padding:2px 6px!important}.crm-detail-header.crm-header-compact .crm-detail-header-right{width:auto!important;gap:6px!important}.crm-detail-header.crm-header-compact .crm-stage-select-header,.crm-detail-header.crm-header-compact .crm-btn-edit-header{display:none!important}.crm-detail-header.crm-header-compact .crm-modal-close-btn{width:28px!important;height:28px!important;font-size:14px!important}.crm-detail-tabs-nav{padding:4px 6px!important;gap:4px!important}.crm-detail-tabs-nav .crm-tab-btn{padding:8px 10px!important;font-size:12px!important}.crm-profile-info-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.crm-profile-finance-row,.crm-profile-criteria-grid,.crm-criteria-grid{grid-template-columns:1fr!important;gap:8px!important}.crm-hnote-add-row{flex-wrap:wrap!important;gap:6px!important}.crm-hnote-input{width:100%!important;flex:1 1 100%!important}.crm-btn-upload-photo,.crm-btn-add-note{flex:1!important;text-align:center!important;padding:8px 6px!important}}.crm-dropdown-container{position:relative;width:100%}.crm-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left;transition:all .15s ease;min-height:42px}.crm-dropdown-trigger:hover{border-color:var(--primary)}.crm-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.crm-dropdown-trigger-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;display:flex;align-items:center;gap:6px}.crm-dropdown-trigger-badge{background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:12px;margin-left:8px}.crm-dropdown-arrow{margin-left:8px;font-size:10px;color:var(--muted);transition:transform .2s ease}.crm-dropdown-trigger.open .crm-dropdown-arrow{transform:rotate(180deg)}.crm-dropdown-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xl);z-index:120;max-height:320px;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .15s ease}.crm-dropdown-search-box{padding:8px 10px;border-bottom:1px solid var(--line);background:var(--bg)}.crm-dropdown-search-input{width:100%;padding:8px 12px;font-size:13px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);outline:none;box-sizing:border-box}.crm-dropdown-search-input:focus{border-color:var(--primary)}.crm-dropdown-actions-row{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:12px;background:var(--bg);border-bottom:1px solid var(--line)}.crm-dropdown-action-btn{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:2px 4px}.crm-dropdown-action-btn:hover{text-decoration:underline}.crm-dropdown-items-list{flex:1 1 auto;overflow-y:auto;max-height:220px;padding:4px 0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.crm-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13px;cursor:pointer;transition:background .1s ease;user-select:none}.crm-dropdown-item:hover{background:#0000000a}.crm-dropdown-item.selected{background:#2563eb14;font-weight:600;color:var(--primary)}.crm-dropdown-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.crm-dropdown-item-label{flex:1;display:flex;align-items:center;justify-content:space-between}.crm-dropdown-item-sub{font-size:11.5px;color:var(--muted);font-weight:400}.crm-dropdown-empty{padding:16px;text-align:center;color:var(--muted);font-size:12.5px}.crm-selected-tags-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:120px;overflow-y:auto}.crm-tag-pill{display:inline-flex;align-items:center;gap:5px;background:#2563eb14;color:var(--primary);border:1px solid rgba(37,99,235,.2);border-radius:16px;padding:3px 9px;font-size:12px;font-weight:600}.crm-tag-pill-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;padding:0 2px;display:inline-flex;align-items:center}.crm-tag-pill-remove:hover{color:#e11d48}.crm-strategy-section{margin-bottom:24px}.crm-strategy-banner{border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #00000008}.crm-strategy-banner-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.crm-strategy-tag{font-size:11px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:10px;letter-spacing:.5px}.crm-strategy-title{margin:0;font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:6px}.crm-strategy-script{margin:0;font-size:12.5px;line-height:1.5;border-left:3px solid currentColor;padding-left:10px;opacity:.95}.crm-strategy-banner.theme-tuxay{background:#f0fdf4;border-color:#86efac}.crm-strategy-banner.theme-tuxay .crm-strategy-tag{background:#dcfce7;color:#15803d}.crm-strategy-banner.theme-tuxay .crm-strategy-title{color:#15803d}.crm-strategy-banner.theme-tuxay .crm-strategy-script{color:#166534}.crm-strategy-banner.theme-nangtaichinh{background:#fef2f2;border-color:#fca5a5}.crm-strategy-banner.theme-nangtaichinh .crm-strategy-tag{background:#fee2e2;color:#b91c1c}.crm-strategy-banner.theme-nangtaichinh .crm-strategy-title{color:#b91c1c}.crm-strategy-banner.theme-nangtaichinh .crm-strategy-script{color:#991b1b}.crm-strategy-banner.theme-doikhuvuc{background:#f0f9ff;border-color:#bae6fd}.crm-strategy-banner.theme-doikhuvuc .crm-strategy-tag{background:#e0f2fe;color:#0369a1}.crm-strategy-banner.theme-doikhuvuc .crm-strategy-title{color:#0369a1}.crm-strategy-banner.theme-doikhuvuc .crm-strategy-script{color:#075985}.crm-strategy-banner.theme-matpho{background:#fff7ed;border-color:#fdba74}.crm-strategy-banner.theme-matpho .crm-strategy-tag{background:#ffedd5;color:#c2410c}.crm-strategy-banner.theme-matpho .crm-strategy-title{color:#c2410c}.crm-strategy-banner.theme-matpho .crm-strategy-script{color:#9a3412}.crm-strategy-banner.theme-noilongduong{background:#faf5ff;border-color:#e9d5ff}.crm-strategy-banner.theme-noilongduong .crm-strategy-tag{background:#f3e8ff;color:#7e22ce}.crm-strategy-banner.theme-noilongduong .crm-strategy-title{color:#7e22ce}.crm-strategy-banner.theme-noilongduong .crm-strategy-script{color:#6b21a8}.crm-strategy-banner.theme-nhacudecor{background:#fefce8;border-color:#fde047}.crm-strategy-banner.theme-nhacudecor .crm-strategy-tag{background:#fef9c3;color:#a16207}.crm-strategy-banner.theme-nhacudecor .crm-strategy-title{color:#a16207}.crm-strategy-banner.theme-nhacudecor .crm-strategy-script{color:#854d0e}.crm-strategy-action-bar{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.crm-btn-apply-strategy{background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:var(--r-md);font-size:12px;font-weight:700;cursor:pointer;color:var(--ink);transition:all .15s ease;display:inline-flex;align-items:center;gap:5px}.crm-btn-apply-strategy:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-strategy-mission-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:var(--r-md);padding:10px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.crm-mission-toggle-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;width:100%}.crm-strategy-mission-icon{font-size:18px;line-height:1}.crm-mission-toggle-header h5{margin:0;font-size:13px;font-weight:800;color:#1e293b}.crm-btn-accordion-toggle{background:transparent;border:none;font-size:11.5px;font-weight:700;color:var(--primary);cursor:pointer}.crm-strategy-mission-text{padding-top:6px;border-top:1px dashed #e2e8f0}.crm-strategy-mission-text p{margin:0;font-size:12.5px;color:#64748b;line-height:1.5}.crm-btn-toggle-compact-header{font-size:11px;padding:3px 8px;border-radius:var(--r-full);background:var(--surface-hover);border:1px solid var(--line);color:var(--ink-secondary);font-weight:600;cursor:pointer;transition:all .15s ease}.crm-btn-toggle-compact-header:hover{background:var(--primary-light);color:var(--primary-ink);border-color:var(--primary-border)}.login-standalone-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a)}.login-standalone-inner{width:100%;max-width:440px;margin:0 auto}.login-card-box{background:#fff;border-radius:var(--r-xl, 18px);padding:32px 28px;box-shadow:0 20px 40px -15px #00000073;border:1px solid rgba(255,255,255,.15)}.login-brand-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-brand-logo{width:48px;height:48px;border-radius:50%;object-fit:contain;display:block;box-shadow:0 8px 16px -4px #03145866}.login-brand-title{font-size:20px;font-weight:800;color:#0f172a;letter-spacing:-.3px}.login-brand-sub{font-size:12px;color:#64748b;font-weight:600}.login-heading-wrap{margin-bottom:22px}.login-heading-wrap h2{font-size:20px;font-weight:800;color:#0f172a;margin:0 0 6px}.login-heading-wrap p{font-size:13px;color:#64748b;line-height:1.5;margin:0}.login-error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:var(--r);font-size:13px;font-weight:600;margin-bottom:16px}.login-input-group{margin-bottom:16px}.login-input-group label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px}.login-input-group input{width:100%;padding:12px 14px;border-radius:var(--r);border:1.5px solid #cbd5e1;font-size:14.5px;color:#0f172a;background:#f8fafc;transition:all .2s ease;box-sizing:border-box}.login-input-group input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.login-submit-btn{width:100%;padding:13px;border-radius:var(--r);background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:15px;font-weight:700;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 8px 16px -4px #2563eb59;margin-top:6px}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 20px -4px #2563eb73}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-security-notice{margin-top:20px;padding:10px 12px;background:#f1f5f9;border-radius:var(--r);font-size:11.5px;color:#64748b;line-height:1.5;border-left:3px solid #64748b}.login-usage-notice{margin-top:10px;font-size:11.5px;color:#64748b;text-align:center;line-height:1.45}.dashboard-container{max-width:1280px;margin:0 auto;padding:20px 16px 40px}.dash-hero-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:var(--r-lg, 16px);padding:24px;color:#fff;margin-bottom:24px;box-shadow:0 10px 25px -5px #0f172a4d;position:relative;overflow:hidden}.dash-hero-card:after{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(37,99,235,.25) 0%,transparent 70%);pointer-events:none}.dash-hero-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;position:relative;z-index:2}.dash-hero-left{display:flex;align-items:center;gap:16px}.dash-avatar-large{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;box-shadow:0 8px 16px -4px #3b82f666;flex-shrink:0}.dash-hero-info h2{font-size:20px;font-weight:800;margin:0 0 6px;color:#fff}.dash-hero-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-role-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:#ffffff26;color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.dash-role-badge.admin{background:#ef444433;color:#fca5a5;border-color:#ef44444d}.dash-role-badge.manager{background:#f59e0b33;color:#fcd34d;border-color:#f59e0b4d}.dash-territory-tag{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.dash-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dash-section-header h3{font-size:16px;font-weight:800;color:var(--ink);margin:0;display:flex;align-items:center;gap:8px}.dash-section-subtitle{font-size:12px;color:var(--muted);font-weight:600}.dash-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}@media (max-width: 900px){.dash-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dash-metrics-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dash-metrics-grid .metric-number{font-size:20px}}.dash-metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.dash-metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.dash-metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dash-metric-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px}.dash-metric-value{font-size:24px;font-weight:900;color:var(--ink);line-height:1.1;margin-bottom:4px}.dash-metric-label{font-size:12.5px;font-weight:700;color:var(--ink-secondary)}.dash-metric-hint{font-size:11.5px;color:var(--muted);margin-top:4px}.dash-smart-matching-demo{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:var(--r-lg);padding:18px 20px;margin-bottom:24px;box-shadow:0 6px 16px -3px #22c55e26}.dash-matching-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.dash-matching-title-wrap{display:flex;align-items:center;gap:8px}.dash-matching-title{font-size:15px;font-weight:800;color:#166534;margin:0}.dash-matching-badge-beta{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--r-full);background:#15803d;color:#fff;text-transform:uppercase}.dash-matching-card-body{background:#fff;border-radius:var(--r-md);padding:14px 16px;border:1px solid #bbf7d0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.dash-matching-prop-col{flex:1;min-width:220px}.dash-matching-prop-title{font-size:14px;font-weight:800;color:#0f172a;margin-bottom:4px}.dash-matching-prop-desc{font-size:12.5px;color:#475569;line-height:1.4}.dash-matching-divider-arrow{font-size:20px;color:#16a34a;font-weight:800;padding:0 4px}.dash-matching-client-col{flex:1;min-width:220px}.dash-matching-client-title{font-size:14px;font-weight:800;color:#0f172a;margin-bottom:4px}.dash-matching-client-demand{font-size:12.5px;color:#475569}.dash-matching-actions-col{display:flex;align-items:center;gap:8px}.dash-tasks-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 768px){.dash-tasks-grid{grid-template-columns:1fr}}.dash-task-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.dash-task-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-hover);margin-bottom:8px;transition:background .15s ease}.dash-task-item:last-child{margin-bottom:0}.dash-task-item:hover{background:var(--primary-light);border-color:var(--primary-border)}.dash-launchpad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}@media (max-width: 768px){.dash-launchpad-grid{grid-template-columns:repeat(2,1fr)}}.dash-launch-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;text-align:center;cursor:pointer;transition:all .15s ease}.dash-launch-card:hover{border-color:var(--primary);background:var(--surface-hover);transform:translateY(-2px)}.dash-launch-icon{font-size:24px;margin-bottom:6px}.dash-launch-text{font-size:13px;font-weight:700;color:var(--ink)}.dash-hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dash-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;box-shadow:0 8px 16px -4px #3b82f666;flex-shrink:0}.dash-greeting-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.dash-greeting{font-size:13.5px;font-weight:600;color:#ffffffb8}.dash-user-name{font-size:20px;font-weight:800;color:#fff;margin:0}.dash-role-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.dash-dept-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:#ffffff1f;color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.dash-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#86efac}.online-pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:dash-pulse-dot 2s infinite}@keyframes dash-pulse-dot{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.dash-territory-bar{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);position:relative;z-index:2}.dash-territory-title{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#ffffffad}.dash-territory-icon{font-size:14px}.dash-territory-content{display:flex;flex-wrap:wrap;gap:8px}.territory-tag-all,.territory-tag-district{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.territory-tag-none{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:#f59e0b33;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.metric-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--surface-hover, #f1f5f9)}.metric-pill{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:var(--r-full);background:#2563eb1f;color:var(--primary);white-space:nowrap}.metric-pill.pill-danger{background:#ef44441f;color:#dc2626}.metric-pill.pill-success{background:#22c55e1f;color:#16a34a}.metric-pill.pill-hot{background:#ec48991f;color:#db2777}.metric-number{font-size:24px;font-weight:900;color:var(--ink);line-height:1.1;margin-bottom:4px}.metric-label{font-size:12.5px;font-weight:700;color:var(--ink-secondary)}.metric-action{font-size:11.5px;font-weight:700;color:var(--primary);margin-top:8px}.card-new .metric-icon{background:#f973161f}.card-drop .metric-icon{background:#ef44441f}.card-match .metric-icon{background:#22c55e1f}.card-crm .metric-icon{background:#ec48991f}.dash-start-card{margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}.dash-start-card .section-heading{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 10px}.dash-start-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-start-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}.dash-start-item:hover{border-color:var(--primary)}.dash-start-item.done{color:var(--muted);text-decoration:line-through}.dash-start-tick{flex:0 0 24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}.dash-start-item.done .dash-start-tick{background:#22c55e}.dash-start-text{min-width:0;overflow-wrap:anywhere}.dash-admin-hub{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg, 16px);padding:22px;margin-top:28px;box-shadow:0 4px 16px #0000000a}.admin-hub-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.admin-summary-pills{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.summary-pill{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:9999px;border:1px solid var(--line);background:var(--surface-2, #f8fafc);color:var(--ink-secondary, #475569)}.summary-pill.total{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.summary-pill.active{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.summary-pill.locked{background:#fef2f2;color:#991b1b;border-color:#fecaca}.summary-pill.dept{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.btn-create-user-trigger{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:var(--r, 8px);padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 10px #2563eb40;transition:all .15s ease;white-space:nowrap}.btn-create-user-trigger:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2563eb59}.admin-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.admin-search-wrap{flex:1;min-width:240px;position:relative;display:flex;align-items:center}.admin-search-input{width:100%;padding:9px 34px 9px 12px;font-size:13px;border:1px solid var(--line, #cbd5e1);border-radius:var(--r, 8px);background:var(--surface, #ffffff);color:var(--ink, #0f172a);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.admin-search-input:focus{border-color:var(--primary, #2563eb);box-shadow:0 0 0 2px #2563eb26}.admin-search-clear-btn{position:absolute;right:8px;background:transparent;border:none;color:var(--muted, #94a3b8);font-size:14px;cursor:pointer;padding:4px;display:grid;place-items:center;border-radius:4px}.admin-search-clear-btn:hover{color:var(--danger, #ef4444)}.admin-scope-toggle-group{display:inline-flex;border:1px solid var(--line, #cbd5e1);border-radius:var(--r, 8px);overflow:hidden;background:var(--surface-2, #f8fafc)}.scope-toggle-btn{padding:8px 12px;font-size:12.5px;font-weight:700;border:none;background:transparent;color:var(--muted, #64748b);cursor:pointer;transition:all .15s ease;white-space:nowrap}.scope-toggle-btn.active{background:var(--primary, #2563eb);color:#fff}.admin-filter-select{padding:8px 12px;font-size:12.5px;font-weight:600;border:1px solid var(--line, #cbd5e1);border-radius:var(--r, 8px);background:var(--surface, #ffffff);color:var(--ink, #0f172a);outline:none;cursor:pointer;height:38px}.admin-filter-select:focus{border-color:var(--primary, #2563eb)}.admin-table-container{overflow-x:auto;border:1px solid var(--line, #e2e8f0);border-radius:var(--r, 10px);background:var(--surface, #ffffff);margin-bottom:14px}.admin-users-table{width:100%;border-collapse:collapse;font-size:13px;min-width:780px}.admin-users-table th{background:#f8fafc;padding:11px 14px;text-align:left;font-weight:800;color:#475569;border-bottom:1px solid #e2e8f0;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.admin-users-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle}.admin-users-table tr:hover td{background:#f8fafc}.admin-users-table tr.row-locked td{background:snow;opacity:.85}.user-avatar-mini{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:#64748b;flex-shrink:0}.user-avatar-mini.role-admin{background:linear-gradient(135deg,#ef4444,#b91c1c)}.user-avatar-mini.role-truong_phong{background:linear-gradient(135deg,#f59e0b,#d97706)}.user-avatar-mini.role-tro_ly{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.user-avatar-mini.role-nhan_vien{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.user-avatar-mini.role-cong_tac_vien{background:linear-gradient(135deg,#10b981,#047857)}.tag-self-badge{font-size:10px;font-weight:800;padding:1px 5px;border-radius:4px;background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.user-dept-tag{font-size:12px;font-weight:600;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#334155;display:inline-block}.user-territory-chips{display:flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:240px}.badge-scope-district{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;white-space:nowrap}.badge-scope-all{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:9999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.badge-scope-more{font-size:10.5px;font-weight:800;padding:2px 5px;border-radius:4px;background:#f1f5f9;color:#475569;cursor:help}.user-activity-cell{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;white-space:nowrap}.activity-device-icon{font-size:14px}.activity-text{font-weight:500}.admin-users-table .dash-role-badge,.admin-role-badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:9999px;display:inline-flex;align-items:center;gap:4px;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap}.admin-users-table .dash-role-badge.role-admin,.admin-role-badge.role-admin{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.admin-users-table .dash-role-badge.role-truong_phong,.admin-role-badge.role-truong_phong{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.admin-users-table .dash-role-badge.role-tro_ly,.admin-role-badge.role-tro_ly{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.admin-users-table .dash-role-badge.role-nhan_vien,.admin-role-badge.role-nhan_vien{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.admin-users-table .dash-role-badge.role-cong_tac_vien,.admin-role-badge.role-cong_tac_vien{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.active-pulse-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98140;display:inline-block;animation:pulseGreen 2s infinite}@keyframes pulseGreen{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.admin-switch-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;transition:opacity .15s ease}.admin-switch-toggle .switch-track{width:36px;height:20px;border-radius:10px;background:#cbd5e1;position:relative;transition:background-color .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.admin-switch-toggle .switch-thumb{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.4,0,.2,1)}.admin-switch-toggle.is-active .switch-track{background:#10b981}.admin-switch-toggle.is-active .switch-thumb{transform:translate(16px)}.admin-switch-toggle.is-locked .switch-track{background:#ef4444}.admin-switch-toggle.is-locked .switch-thumb{transform:translate(0)}.admin-switch-toggle .switch-label{font-size:12px;font-weight:700;white-space:nowrap}.admin-switch-toggle.is-active .switch-label{color:#059669}.admin-switch-toggle.is-locked .switch-label{color:#dc2626}.admin-actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px}.btn-admin-action{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:700;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid #cbd5e1;background:#fff;color:#334155}.btn-admin-action:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.btn-admin-action.btn-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.btn-admin-action .btn-icon{font-size:13px;line-height:1}.admin-modal-backdrop{position:fixed;inset:0;z-index:9999;background:#0f172aa6;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:adminFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes adminFadeIn{0%{opacity:0}to{opacity:1}}.admin-modal-shell{background:#fff;border-radius:16px;width:100%;max-width:620px;max-height:calc(92vh - 32px);display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000f;animation:adminZoomIn .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.admin-modal-shell.delete-dialog{max-width:480px}@keyframes adminZoomIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-modal-header{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.admin-modal-header.delete-header{background:#fff5f5;border-bottom-color:#fee2e2}.admin-modal-title-wrap{display:flex;align-items:center;gap:12px}.admin-modal-icon{width:40px;height:40px;border-radius:10px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-size:20px;flex-shrink:0;border:1px solid #bfdbfe}.admin-modal-icon.delete-icon{background:#fef2f2;color:#dc2626;border-color:#fecaca}.admin-modal-title{margin:0;font-size:16.5px;font-weight:800;color:#0f172a;letter-spacing:-.2px}.admin-modal-subtitle{margin:2px 0 0;font-size:12px;color:#64748b;font-weight:500}.admin-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#94a3b8;font-size:18px;cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.admin-modal-close:hover{background:#e2e8f0;color:#0f172a}.admin-modal-body{padding:22px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.admin-modal-footer{padding:14px 24px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.admin-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 640px){.admin-form-row-2{grid-template-columns:1fr}}.admin-form-group{display:flex;flex-direction:column;gap:6px}.admin-form-label{font-size:12.5px;font-weight:700;color:#334155;display:flex;align-items:center;gap:4px}.admin-form-label .required{color:#ef4444}.admin-form-input,.admin-form-select{width:100%;height:40px;padding:0 12px;border-radius:8px;border:1.5px solid #cbd5e1;background:#fff;color:#0f172a;font-size:13.5px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.admin-form-input:focus,.admin-form-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.admin-form-input:disabled,.admin-form-select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.admin-permission-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;border:1.5px solid #e2e8f0;background:#f8fafc;cursor:pointer;transition:all .15s ease;user-select:none}.admin-permission-card:hover{border-color:#93c5fd;background:#f0f7ff}.admin-permission-card.active{border-color:#3b82f6;background:#eff6ff}.permission-card-left{display:flex;align-items:center;gap:12px}.permission-card-icon{font-size:24px}.permission-card-title{font-size:13.5px;font-weight:700;color:#0f172a}.permission-card-desc{font-size:12px;color:#64748b;margin-top:2px}.permission-card-switch{width:42px;height:24px;border-radius:12px;background:#cbd5e1;position:relative;transition:background .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.permission-card-switch.active{background:#2563eb}.permission-card-switch .switch-thumb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.4,0,.2,1)}.permission-card-switch.active .switch-thumb{transform:translate(18px)}.admin-district-box{border:1.5px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:10px}.district-box-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.district-box-title{font-size:13px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px}.district-count-pill{font-size:11px;font-weight:800;padding:2px 8px;border-radius:9999px;background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.district-header-actions{display:flex;align-items:center;gap:6px}.btn-district-action{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .15s ease}.btn-district-action:hover{background:#f1f5f9;border-color:#94a3b8}.admin-cluster-strip{background:#fff;border:1px solid #edf2f7;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cluster-strip-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.cluster-chips-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.btn-cluster-chip{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:9999px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer;transition:all .15s ease}.btn-cluster-chip:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.btn-cluster-chip.active{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 2px 6px #2563eb40}.district-chips-cloud{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow-y:auto;padding:4px 2px}.district-interactive-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);border:1.5px solid #cbd5e1;background:#fff;color:#334155;user-select:none}.district-interactive-chip:hover{border-color:#93c5fd;background:#f0f7ff}.district-interactive-chip.selected{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:800;box-shadow:0 1px 3px #2563eb26}.district-interactive-chip .chip-indicator{width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font-size:10px;font-weight:900}.district-interactive-chip.selected .chip-indicator{background:#2563eb;color:#fff}.district-interactive-chip:not(.selected) .chip-indicator{background:#f1f5f9;color:#94a3b8}.btn-admin-modal-cancel{padding:9px 18px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.btn-admin-modal-cancel:hover{background:#f1f5f9;color:#0f172a}.btn-admin-modal-save{padding:9px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-admin-modal-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.btn-admin-modal-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-admin-modal-danger{padding:9px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #ef444440;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-admin-modal-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn-admin-modal-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-delete-tip-box{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#92400e;line-height:1.55}.admin-delete-tip-box .tip-icon{font-size:18px;flex-shrink:0;margin-top:1px}.admin-loading-spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.kickout-modal-dialog{animation:zoomInModal .22s cubic-bezier(.16,1,.3,1)}.transfer-customer-dialog{width:92%;max-width:520px}.pdetail-desc-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:14px 16px;margin-bottom:14px;box-shadow:0 1px 3px #00000008}.pdetail-desc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #f1f5f9}.pdetail-desc-title{font-size:13.5px;font-weight:800;color:#0f172a}.pdetail-desc-dates{font-size:11.5px;font-weight:600;color:#64748b;background:#f8fafc;padding:3px 8px;border-radius:6px;border:1px solid #e2e8f0}.pdetail-desc-firstline{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:8px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.pdetail-desc-rest{font-size:13.5px;color:#334155;line-height:1.65;white-space:pre-wrap;word-break:break-word;user-select:text}.pdetail-desc-empty{font-size:13px;font-style:italic;color:#94a3b8;text-align:center;padding:12px 0}.pdetail-personal-notes-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px #00000008}.pdetail-notes-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.pdetail-notes-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdetail-notes-title{font-size:13.5px;font-weight:800;color:#0f172a}.pdetail-private-badge{font-size:11px;font-weight:700;color:#475569;background:#f1f5f9;padding:3px 8px;border-radius:6px;border:1px solid #e2e8f0;display:inline-flex;align-items:center;gap:3px}.pdetail-notes-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-add-note{background:#fff;color:#0f172a;border:1.5px solid #cbd5e1;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;transition:all .15s ease}.btn-add-note:hover{background:#f8fafc;border-color:#94a3b8}.btn-ai-compose{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 4px #6366f140;transition:all .15s ease}.btn-ai-compose:hover{transform:translateY(-1px);box-shadow:0 4px 8px #6366f159}.btn-custom-compose{background:#fff;color:#0369a1;border:1.5px solid #7dd3fc;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.btn-custom-compose:hover{background:#f0f9ff;border-color:#38bdf8}.pdetail-notes-filter-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:2px 0}.btn-filter-note{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.btn-filter-note:hover{background:#f1f5f9;color:#334155}.btn-filter-note.active{background:#0f172a;color:#fff;border-color:#0f172a;font-weight:700}.pdetail-note-form{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.pdetail-note-form.is-ai-tin{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f;background:#faf5ff}.ai-note-notice{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;padding:6px 10px;border-radius:6px}.note-form-textarea{width:100%;padding:10px 12px;font-size:13px;line-height:1.6;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box}.note-form-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.note-form-textarea.is-ai-textarea{border-color:#a78bfa}.note-form-textarea.is-ai-textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.note-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.btn-cancel-note{padding:6px 14px;font-size:12px;font-weight:600;color:#64748b;background:transparent;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.btn-save-note{padding:6px 18px;font-size:12.5px;font-weight:700;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #2563eb40;transition:all .15s ease}.btn-save-note:hover{background:#1d4ed8}.btn-save-note:disabled,.btn-cancel-note:disabled{opacity:.6;cursor:not-allowed}.pdetail-note-versions-list{display:flex;flex-direction:column;gap:10px}.pdetail-notes-empty{font-size:12.5px;color:#64748b;text-align:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1;line-height:1.5}.pdetail-note-version-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.pdetail-note-version-card.note-card-ai{border-left:3px solid #8b5cf6}.note-version-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid #edf2f7}.note-version-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.note-type-badge{font-size:11px;font-weight:800;padding:2px 8px;border-radius:4px}.note-type-badge.ai{background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe}.note-type-badge.custom{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.note-type-badge.note{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.note-version-date{font-size:11.5px;color:#64748b;font-weight:500}.note-version-actions{display:flex;align-items:center;gap:6px}.btn-edit-version,.btn-delete-version{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#334155;transition:all .15s ease}.btn-edit-version:hover{background:#f1f5f9;border-color:#94a3b8}.btn-delete-version{color:#dc2626;border-color:#fecaca}.btn-delete-version:hover{background:#fee2e2;border-color:#fca5a5}.note-version-full-content{font-size:13px;line-height:1.6;color:#1e293b;white-space:pre-wrap;word-break:break-word;user-select:text;background:#fff;padding:10px 12px;border-radius:8px;border:1px solid #edf2f7}.btn-view-more-notes{width:100%;padding:8px 12px;font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;border:1px dashed #bfdbfe;border-radius:8px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-view-more-notes:hover{background:#dbeafe;border-color:#93c5fd}.share-modal-backdrop{z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;background:#0f172ab3!important}.share-sheet-shell{background:var(--surface);border-radius:16px;width:100%;max-width:360px;padding:18px;box-shadow:var(--shadow-xl);border:1px solid var(--line);animation:zoomInModal .2s cubic-bezier(.16,1,.3,1);margin:auto;position:relative;z-index:2001!important}.share-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.share-sheet-title{font-size:15px;font-weight:800;color:var(--ink)}.share-sheet-close{background:transparent;border:none;font-size:16px;font-weight:700;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:4px}.share-sheet-close:hover{background:#fee2e2;color:#dc2626}.share-sheet-body{padding-top:14px}.share-sheet-hint{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.4}.share-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.share-app-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;transition:all .15s ease}.share-app-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000f;border-color:#cbd5e1}.share-app-zalo:hover,.share-app-fb:hover{background:#eff6ff;border-color:#93c5fd}.share-app-messenger:hover{background:#fdf2f8;border-color:#fbcfe8}.share-app-telegram:hover{background:#f0fdfa;border-color:#99f6e4}.share-app-viber:hover{background:#faf5ff;border-color:#e9d5ff}.share-app-system:hover{background:#f1f5f9;border-color:#94a3b8}.share-app-icon{font-size:24px;line-height:1}.share-app-label{font-size:11.5px;font-weight:700;color:#1e293b}.pcard.pcard-nhom-chua-ro{border:1.5px dashed #F59E0B!important}.m-overlay-badge.tag-drop,.badge-tk-tag.tag-drop{background:#ea580c!important;color:#fff!important}.m-badge-tag.tag-chua-ro,.pcard-mini-tag.tag-chua-ro,.pcard-tag-chua-ro{background:#fef3c7!important;color:#92400e!important;border:1px solid #FCD34D!important;font-weight:700!important}.btn-bo-sung-sm{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;color:#1d4ed8;border:1px solid #93C5FD;border-radius:6px;font-size:11px;font-weight:700;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all .15s ease;min-height:36px}.btn-bo-sung-sm:hover{background:#dbeafe;color:#1e40af}.pcard-nhom1-divider{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin:16px 0 8px;padding:10px 14px;background:#fffbeb;border:1px dashed #FCD34D;border-radius:8px;width:100%;box-sizing:border-box}.pcard-nhom1-divider-line{flex:1;height:1px;background:#fde68a}.pcard-nhom1-divider-text{font-size:13px;font-weight:700;color:#b45309;text-align:center}.plist-nhom1-divider{margin:12px 0 6px}.thanh-gap-container{margin-top:24px;width:100%}.thanh-gap-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#f8fafc;border:1.5px dashed #94A3B8;border-radius:10px;font-size:13.5px;font-weight:700;color:#334155;cursor:pointer;transition:all .2s ease;text-align:center;box-sizing:border-box;min-height:44px}.thanh-gap-btn:hover{background:#f1f5f9;border-color:#64748b;color:#0f172a}.thanh-gap-btn.open{background:#f1f5f9;border-color:#3b82f6;color:#1d4ed8}.thanh-gap-icon{font-size:11px;color:inherit}.thanh-gap-content{margin-top:14px}.thanh-gap-loading,.thanh-gap-empty{padding:24px;text-align:center;color:var(--ink-secondary);font-size:13.5px;background:var(--surface-2);border-radius:8px}.gap-pagination-bar{background:#f8fafc;border-radius:10px;padding:12px 16px;border:1px solid #E2E8F0}.dautrang-container{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.pdetail-sticky-container{position:sticky;top:-16px;left:0;right:0;z-index:50;background:#fff;margin-left:-18px;margin-right:-18px;box-shadow:0 2px 8px #0000000f}.pdetail-sticky-thin-bar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:4px 16px;gap:10px;border-bottom:1px solid #E2E8F0;background:#fff;box-sizing:border-box}.pdetail-sticky-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.pdetail-sticky-thumb{width:44px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0}.pdetail-sticky-thumb-placeholder{width:44px;height:44px;border-radius:6px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.pdetail-sticky-info{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}.pdetail-sticky-title{font-size:13px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.pdetail-sticky-price-row{display:flex;align-items:center;gap:4px;font-size:11.5px}.pdetail-sticky-price{font-weight:900;color:#dc2626}.pdetail-sticky-unit{color:#64748b;font-weight:600;font-size:11px}.pdetail-sticky-close-btn{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;border:none;background:#f1f5f9;color:#475569;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.pdetail-sticky-close-btn:hover{background:#fee2e2;color:#dc2626}.pdetail-tabs-bar{display:flex;align-items:center;width:100%;background:#fff;border-bottom:1px solid #E2E8F0;box-sizing:border-box}.pdetail-tab-btn{flex:1;min-height:42px;padding:8px 4px;border:none;background:transparent;font-size:12px;font-weight:700;color:#64748b;cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;text-align:center;transition:all .15s ease;box-sizing:border-box}.pdetail-tab-btn:hover{color:#0f172a}.pdetail-tab-btn.active{color:#dc2626;border-bottom-color:#dc2626}.pdetail-nhom-pills-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8fafc;border-bottom:1px solid #E2E8F0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pdetail-nhom-pills-bar::-webkit-scrollbar{display:none}.pdetail-nhom-pill{padding:5px 11px;border-radius:9999px;border:1px solid #CBD5E1;background:#fff;color:#334155;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;transition:all .15s ease;box-sizing:border-box}.pdetail-nhom-pill:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.pdetail-banner-ngung-ban{background:#fef2f2;border:1.5px solid #FCA5A5;color:#991b1b;padding:10px 14px;border-radius:10px;font-size:12.5px;font-weight:800;margin-bottom:14px;line-height:1.45;box-sizing:border-box}.pdetail-dautrang-main{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;box-sizing:border-box;width:100%}.pdetail-mosaic-wrap{position:relative;width:100%;border-radius:14px;overflow:hidden;background:#0f172a;box-shadow:0 4px 16px #0000001f;box-sizing:border-box}.pdetail-mosaic-hero{position:relative;width:100%;aspect-ratio:16/9;cursor:pointer;overflow:hidden;background:#1e293b}.pdetail-mosaic-hero-img{width:100%;height:100%;object-fit:cover;display:block}.pdetail-mosaic-hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:#94a3b8}.pdetail-mosaic-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000073,#0000 40%,#000000a6);pointer-events:none}.pdetail-mosaic-badges-top{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}.pdetail-mosaic-badges-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pdetail-mosaic-badge-status{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;color:#fff;letter-spacing:.3px}.pdetail-mosaic-badge-status.moi{background:#16a34a}.pdetail-mosaic-badge-status.chuan{background:#2563eb}.pdetail-mosaic-close-btn{pointer-events:auto;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:#0009;color:#fff;border:1.5px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s ease}.pdetail-mosaic-close-btn:hover{background:#dc2626e6;border-color:#fff}.pdetail-mosaic-badges-bottom{position:absolute;bottom:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:5;pointer-events:none}.pdetail-mosaic-badge-ht{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;border:1px solid;backdrop-filter:blur(4px)}.pdetail-mosaic-badge-count{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#000000b3;color:#fff;backdrop-filter:blur(4px);white-space:nowrap}.pdetail-thumbs-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;background:#0f172a;box-sizing:border-box}.pdetail-thumb-item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:4px;cursor:pointer;border:none;padding:0;background:#1e293b}.pdetail-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}.pdetail-thumb-more{position:absolute;inset:0;background:#000000bf;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.pdetail-info-block{display:flex;flex-direction:column;gap:8px;min-width:0;width:100%;box-sizing:border-box}.pdetail-step-code-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pdetail-step-code-left{display:flex;align-items:center;gap:8px}.pdetail-step-badge{font-size:11px;font-weight:800;padding:2.5px 8px;border-radius:6px;background:#e0f2fe;color:#0284c7;border:1px solid #BAE6FD}.pdetail-code-label{font-size:11.5px;font-weight:800;color:#64748b;font-family:monospace}.pdetail-mahieu-title{font-size:16px;font-weight:800;color:#0f172a;line-height:1.35;word-break:break-word;user-select:text;margin:0}.pdetail-phuong-row{font-size:12.5px;color:#475569;font-weight:600;display:flex;align-items:center;gap:4px;user-select:text}.pdetail-price-main-box{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:2px}.pdetail-price-big{font-size:22px;font-weight:900;color:#dc2626;letter-spacing:-.5px}.pdetail-price-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pdetail-unit-box{font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#334155;border:1px solid #E2E8F0}.pdetail-unit-box.land{background:#fef3c7;color:#b45309;border-color:#fde68a}.pdetail-dauchau-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px dashed #E2E8F0;font-size:12px;margin-top:2px}.pdetail-dauchau-left{color:#64748b;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}.pdetail-dauchau-actions{display:flex;align-items:center;gap:8px}.pdetail-btn-map{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:6px;border:1px solid #CBD5E1;background:#f8fafc;color:#2563eb;font-weight:700;font-size:11.5px;text-decoration:none;min-height:36px;box-sizing:border-box;transition:all .15s ease}.pdetail-btn-map:hover{background:#eff6ff;border-color:#93c5fd}.pdetail-desktop-close-btn{display:none;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;border:none;background:#f1f5f9;color:#475569;font-size:16px;font-weight:700;cursor:pointer;align-items:center;justify-content:center;transition:all .15s ease}.pdetail-desktop-close-btn:hover{background:#fee2e2;color:#dc2626}@media (min-width: 641px){.pdetail-dautrang-main{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}.pdetail-mosaic-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:6px;height:290px}.pdetail-mosaic-hero{height:100%;margin-bottom:0;border-radius:8px;overflow:hidden}.pdetail-mosaic-hero-img{height:100%;width:100%;object-fit:cover}.pdetail-thumbs-strip{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:100%;overflow:hidden}.pdetail-thumb-item{height:100%;width:100%;border-radius:6px;overflow:hidden}.pdetail-thumb-item img{height:100%;width:100%;object-fit:cover}.mobile-only{display:none!important}.pdetail-desktop-close-btn{display:flex}.pdetail-mosaic-close-btn{display:none!important}}@media (max-width: 640px){.desktop-only,.pdetail-desktop-close-btn{display:none!important}}.chantrang-chitiet-shell{position:sticky;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid #E2E8F0;box-shadow:0 -3px 12px #00000014;padding:8px 12px;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}.chantrang-sub-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:4px;border-bottom:1px dashed #F1F5F9}.chantrang-sub-btn{background:transparent;border:none;font-size:13px;font-weight:700;cursor:pointer;padding:6px 12px;border-radius:6px;min-height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;user-select:none}.chantrang-sub-star{color:#64748b}.chantrang-sub-star:hover{background:#fef3c7;color:#d97706}.chantrang-sub-star.active{color:#d97706;background:#fef3c7}.chantrang-sub-delete{color:#dc2626}.chantrang-sub-delete:hover{background:#fee2e2}.chantrang-sub-sep{color:#cbd5e1;font-size:14px;font-weight:700}.chantrang-main-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;box-sizing:border-box}.chantrang-btn{min-height:44px;border-radius:8px;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;border:1px solid transparent;text-decoration:none;padding:8px 6px;text-align:center;box-sizing:border-box;transition:opacity .15s ease,transform .1s ease;user-select:none}.chantrang-btn:active{transform:scale(.98)}.chantrang-btn-close-pc{display:none;background:#f1f5f9;color:#475569;border-color:#cbd5e1}.chantrang-btn-close-pc:hover{background:#e2e8f0;color:#0f172a}.chantrang-btn-call{background:#16a34a;color:#fff}.chantrang-btn-fb{background:#1877f2;color:#fff}.chantrang-btn-rap{background:#f59e0b;color:#fff}.chantrang-btn-save{background:#dc2626;color:#fff}.chantrang-btn-col{background:#f8fafc;color:#0f172a;border-color:#cbd5e1;font-weight:700;min-width:0}.chantrang-col-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chantrang-btn-disabled{opacity:.45!important;cursor:not-allowed!important;pointer-events:none!important}@media (min-width: 641px){.chantrang-btn-close-pc{display:inline-flex}.chantrang-main-actions{display:flex;justify-content:flex-end;gap:10px}.chantrang-btn{min-width:105px;padding:8px 14px}}.bang-chon-cot-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bang-chon-cot-shell{background:#fff;width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:16px;box-sizing:border-box;max-height:85vh;display:flex;flex-direction:column;gap:12px;box-shadow:0 -4px 20px #0003}@media (min-width: 641px){.bang-chon-cot-overlay{align-items:center}.bang-chon-cot-shell{border-radius:16px}}.bang-chon-cot-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E2E8F0;padding-bottom:10px}.bang-chon-cot-title{font-size:14px;font-weight:900;color:#0f172a;text-transform:uppercase;letter-spacing:.5px}.bang-chon-cot-close{background:transparent;border:none;font-size:18px;color:#64748b;cursor:pointer;padding:4px;min-height:36px;min-width:36px;display:flex;align-items:center;justify-content:center}.bang-chon-cot-close:hover{color:#dc2626}.bang-chon-cot-body{overflow-y:auto;display:flex;flex-direction:column;gap:10px}.bang-chon-cot-hint{font-size:12.5px;color:#64748b;margin:0}.bang-chon-cot-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.bang-chon-cot-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1.5px solid #E2E8F0;background:#fff;cursor:pointer;transition:all .15s ease;min-height:40px;box-sizing:border-box}.bang-chon-cot-item:hover{background:#f8fafc;border-color:#cbd5e1}.bang-chon-cot-item.selected{border-color:#dc2626;background:#fef2f2}.bang-chon-cot-radio{accent-color:#DC2626;width:18px;height:18px;cursor:pointer}.bang-chon-cot-name{font-size:13.5px;font-weight:700;color:#0f172a;flex:1}.bang-chon-cot-recent-tag{font-size:10.5px;font-weight:800;background:#fef3c7;color:#b45309;padding:2px 6px;border-radius:4px;border:1px solid #FDE68A}.bang-chon-cot-new-row{display:flex;align-items:center;gap:8px;margin-top:6px}.bang-chon-cot-new-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid #CBD5E1;font-size:12.5px;font-weight:600;outline:none;min-height:38px;box-sizing:border-box}.bang-chon-cot-new-input:focus{border-color:#dc2626}.bang-chon-cot-new-btn{padding:8px 14px;border-radius:8px;border:none;background:#0f172a;color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;min-height:38px;box-sizing:border-box;white-space:nowrap}.bang-chon-cot-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #E2E8F0}.bang-chon-cot-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid #CBD5E1;background:#fff;color:#475569;font-weight:700;font-size:13px;cursor:pointer;min-height:40px;box-sizing:border-box}.bang-chon-cot-btn-confirm,.bang-chon-cot-confirm-btn{padding:8px 20px;border-radius:8px;border:none;background:#dc2626;color:#fff;font-weight:800;font-size:13px;cursor:pointer;min-height:40px;box-sizing:border-box}.bang-chon-cot-close-btn{background:transparent;border:none;font-size:18px;color:#64748b;cursor:pointer;padding:4px;min-height:36px;min-width:36px;display:flex;align-items:center;justify-content:center}.bang-chon-cot-close-btn:hover{color:#dc2626}.bang-chon-cot-subtitle{font-size:12.5px;color:#64748b;margin:3px 0 0;font-weight:500}.bang-chon-cot-error{background:#fef2f2;color:#dc2626;border:1px solid #FCA5A5;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600}.bang-chon-cot-item-radio{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:2px solid #CBD5E1;box-sizing:border-box}.bang-chon-cot-item.selected .bang-chon-cot-item-radio{border-color:#dc2626}.bang-chon-cot-dot{width:8px;height:8px;border-radius:50%;background:transparent}.bang-chon-cot-dot.active{background:#dc2626}.bang-chon-cot-item-name{font-size:13.5px;font-weight:700;color:#0f172a;flex:1}.bang-chon-cot-item-count{font-size:12px;font-weight:600;color:#64748b}.bang-chon-cot-empty{padding:16px;text-align:center;color:#64748b;font-size:13px;font-style:italic}.bang-chon-cot-create-section{padding-top:6px}.bang-chon-cot-toggle-create-btn{background:none;border:1px dashed #CBD5E1;border-radius:8px;width:100%;padding:8px;color:#475569;font-size:13px;font-weight:700;cursor:pointer;min-height:38px;box-sizing:border-box}.bang-chon-cot-toggle-create-btn:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.bang-chon-cot-create-form{display:flex;flex-direction:column;gap:8px;background:#f8fafc;padding:10px;border-radius:8px;border:1px solid #E2E8F0}.bang-chon-cot-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid #CBD5E1;font-size:13px;outline:none;box-sizing:border-box}.bang-chon-cot-input:focus{border-color:#dc2626}.bang-chon-cot-create-actions{display:flex;justify-content:flex-end;gap:8px}.bang-chon-cot-cancel-create-btn{background:#fff;border:1px solid #CBD5E1;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#475569;cursor:pointer}.bang-chon-cot-submit-create-btn{background:#0f172a;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.pcard-ht-badge-corner.the3-ht-moi_xay{background:#ecfdf5!important;color:#065f46!important;border-color:#6ee7b7!important}.pcard-ht-badge-corner.the3-ht-sua_nhieu{background:#fff7ed!important;color:#9a3412!important;border-color:#fdba74!important}.the3-gia-hang-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}.the3-gia-tong{font-size:17px!important;font-weight:800!important;color:#0f172a!important;line-height:1.2!important}.pcard-price-box-nha.the3-gia-box,.pcard-price-box-dat.the3-gia-box{width:auto!important}.the3-gia-pn{margin-left:auto!important;color:#64748b!important;font-size:11px!important;font-weight:600!important;white-space:nowrap!important}.pcard-footer-v2.the3-footer-v2{grid-template-columns:minmax(0,1fr) auto!important}.the3-dong-treo-lau{font-weight:800!important;color:#c2410c!important}.pcard-tags-flex.the3-tags-gon{max-height:44px!important;overflow:hidden!important}@media (min-width: 641px){.pcard-tags-flex.the3-tags-gon{max-height:54px!important}}.pcard-tag-pill.the3-tag-gon{display:inline-block!important;max-width:60%!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important}.pcard-tag-pill.the3-tag-canh-bao{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.pcard-tag-pill.the3-tag-chua-ro{background:transparent!important;color:#64748b!important;border:1px dashed #94A3B8!important}.the3-tag-duoi{color:#c2410c!important;font-weight:800!important;margin-left:1px!important}.the3-card-cq{container-type:inline-size!important}@container (max-width: 260px){.the3-gia-dat{display:none!important}}@container (max-width: 200px){.the3-gia-pn{display:none!important}}.tt-page{max-width:820px;margin:0 auto;padding:16px;box-sizing:border-box}.tt-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.tt-select{flex:1 1 160px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600}.tt-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}.tt-tab-btn{padding:9px 14px;border:none;background:none;color:var(--muted);font-weight:700;font-size:13.5px;cursor:pointer;border-bottom:2px solid transparent}.tt-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tt-tab-placeholder{padding:32px 12px;text-align:center;color:var(--muted);font-weight:600}.tt-empty{padding:24px 12px;text-align:center;color:var(--muted);font-weight:600}.tt-tru-block{border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:14px;background:var(--surface)}.tt-tru-ten{font-weight:800;font-size:14.5px;color:var(--ink);margin-bottom:10px}.tt-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0}.tt-row-label{flex:0 0 120px;max-width:120px;font-size:12.5px;font-weight:600;color:var(--ink-secondary);overflow-wrap:break-word}.tt-bar-track{flex:1 1 100px;min-width:60px;height:10px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.tt-bar-fill{height:100%;border-radius:var(--r-full);background:var(--primary)}.tt-row-stat{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}.tt-row-gop{flex:1 1 100%;font-size:11px;color:var(--faint)}.tt-baihoc-box{margin-top:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--warning-bg);border:1px solid var(--warning-border);font-size:12.5px;color:var(--ink-secondary);display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.tt-baihoc-label{font-weight:800;color:var(--warning);text-transform:uppercase;font-size:10.5px;letter-spacing:.03em}.tt-footer{margin-top:8px;text-align:center;font-size:11.5px;color:var(--faint)}.tt-o4{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.tt-o4-item{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--surface);min-width:0}.tt-o4-nhan{font-size:12px;font-weight:600;color:var(--muted);overflow-wrap:break-word}.tt-o4-so{font-size:20px;font-weight:800;color:var(--ink);margin-top:2px}.tt-o4-doi{font-size:11.5px;font-weight:700;margin-top:4px}.tt-o4-doi-len{color:var(--success, #16a34a)}.tt-o4-doi-xuong{color:var(--danger, #dc2626)}.tt-o4-doi-ngang{color:var(--muted)}.tt-bang-cd{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:12px}.tt-bang-cd th,.tt-bang-cd td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:break-word}.tt-bang-cd th{color:var(--muted);font-weight:700;font-size:11px}.tt-svg{width:100%;height:auto;max-width:100%;margin-bottom:14px}.tt-line-tp{stroke:var(--primary);stroke-width:2}.tt-line-khu{stroke:var(--warning, #d97706);stroke-width:2}.tt-svg-label{font-size:6px;fill:var(--muted)}.tt-bar-ban{fill:var(--primary)}.tt-bar-moi{fill:var(--surface-3)}.tt-boicanh-item{padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-secondary)}.tt-boicanh-tieude{font-weight:700;color:var(--ink);margin-bottom:2px}.tt-o4-item-chon{border-color:var(--primary);border-width:2px}.tt-chip-hang{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:var(--r-full);font-size:11px;font-weight:700}.tt-chip-hang-it{background:var(--surface-3);color:var(--muted)}.tt-chip-hang-vua{background:var(--warning-bg);color:var(--warning)}.tt-chip-hang-nhieu{background:var(--success-bg, #dcfce7);color:var(--success, #16a34a)}.tt-table-scroll{width:100%;overflow-x:auto;margin-bottom:14px}.tt-bang-sosanh{width:100%;min-width:480px;border-collapse:collapse;font-size:12px}.tt-bang-sosanh th,.tt-bang-sosanh td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:break-word;white-space:nowrap}.tt-bang-sosanh th{color:var(--muted);font-weight:700;font-size:11px;cursor:pointer}.tt-row-click{cursor:pointer}.tt-row-active{background:var(--surface-3)}.tt-luoi-wrap{width:100%;overflow-x:auto;margin-bottom:14px}.tt-bang-luoi{border-collapse:collapse;font-size:11px;min-width:480px}.tt-bang-luoi th,.tt-bang-luoi td{padding:6px;border:1px solid var(--line);text-align:center;vertical-align:middle}.tt-bang-luoi th{color:var(--muted);font-weight:700;white-space:nowrap}.tt-bang-luoi td:first-child{text-align:left;font-weight:700;color:var(--ink-secondary);white-space:nowrap}.tt-o-luoi{border:none;background:none;padding:2px;font-size:10.5px;color:var(--ink);cursor:pointer;width:100%}.tt-o-luoi-trong{color:var(--faint)}.tt-ocan-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.tt-ocan-box{width:100%;max-width:480px;max-height:80vh;overflow-y:auto;background:var(--surface);border-radius:var(--r) var(--r) 0 0;padding:14px;box-sizing:border-box}.tt-ocan-header{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:10px}.tt-ocan-dong{border:none;background:var(--surface-3);border-radius:var(--r-sm);padding:6px 12px;font-weight:700;min-height:36px}.tt-ocan-row{display:block;width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);background:none;padding:10px 0;font-size:12.5px;color:var(--ink);cursor:pointer}.tt-ocan-nhan{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:var(--r-full);margin-bottom:3px}.tt-ocan-nhan-dang_rao{background:var(--success-bg, #dcfce7);color:var(--success, #16a34a)}.tt-ocan-nhan-da_ban{background:var(--surface-3);color:var(--muted)}.tt-ky-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tt-ky-chip{padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink-secondary);font-size:12.5px;font-weight:700;cursor:pointer}.tt-ky-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.tt-pheu-tong-nho{text-align:center;font-size:13px;font-weight:700;color:var(--ink);margin-top:10px}@media (max-width: 420px){.tt-page{padding:12px}.tt-row-label{flex:0 0 90px;max-width:90px}.tt-o4{grid-template-columns:1fr}.tt-bang-cd,.tt-bang-sosanh{font-size:11px}}.dai-cua-toi{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 12px 8px;font-size:12px;color:#475569;border-top:1px solid #E2E8F0;box-sizing:border-box}.dai-cua-toi-hang{font-weight:700;white-space:nowrap}.dai-cua-toi-hang-may{color:#7c3aed}.dai-cua-toi-anh,.dai-cua-toi-tin{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.dai-cua-toi-chip{background:#f1f5f9;border-radius:999px;padding:2px 8px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dai-cua-toi-loi{color:#dc2626;font-size:11px}.dai-cua-toi button{min-height:36px;padding:2px 10px;border-radius:6px;border:1px solid #CBD5E1;background:#fff;color:#1d4ed8;font-size:12px;cursor:pointer}.dai-cua-toi-giu-tay-wrap{display:flex;flex-direction:column;gap:4px;width:100%}.dai-cua-toi-giu-tay{width:100%;min-height:72px;margin-top:4px;padding:8px;font-size:12px;color:#1e293b;border:1px solid #CBD5E1;border-radius:6px;background:#f8fafc;resize:vertical;box-sizing:border-box}.kb-wrap{display:flex;flex-direction:column;min-height:60vh}.kb-topbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 4px}.kb-chip-cot{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;padding:8px 4px;background:#fff;border-bottom:1px solid #E2E8F0;-webkit-overflow-scrolling:touch}.kb-chip{flex:0 0 auto;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #CBD5E1;background:#f8fafc;color:#334155;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer}.kb-chip.kb-chip-active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.kb-cols{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex:1}.kb-col{flex:0 0 100%;scroll-snap-align:start;min-width:0;border-right:1px solid #E2E8F0;display:flex;flex-direction:column}@media (min-width: 900px){.kb-col{flex:0 0 360px}}.kb-col-head{padding:8px 10px;font-size:13px;font-weight:700;color:#1e293b;border-bottom:1px solid #E2E8F0;cursor:pointer}.kb-col-head-top{display:flex;align-items:center;gap:6px}.kb-col-head-ten{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-col-head-dong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#64748b;font-size:12px}.kb-col-head-more{margin-top:6px;font-size:11.5px;font-weight:500;color:#475569;line-height:1.5}.kb-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.kb-dot-xam{background:#94a3b8}.kb-dot-xanh{background:#16a34a}.kb-dot-cam{background:#ea580c}.kb-bang{display:flex;flex-direction:column;gap:10px;padding:10px;overflow-y:auto}.kb-xem-them{min-height:36px;margin:4px auto;padding:6px 16px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;color:#1d4ed8;font-weight:700;font-size:12.5px;cursor:pointer}.kb-trong,.kb-dang-tai{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 16px;color:#64748b;font-weight:600;text-align:center}.kb-btn{min-height:36px;padding:7px 14px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;color:#1d4ed8;font-weight:700;font-size:12.5px;cursor:pointer}.kb-ngoai-dia-ban{padding:16px 10px;color:#94a3b8;font-size:12.5px;text-align:center}.kb-col-tools{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #E2E8F0}.kb-kieu-xem{flex:1;min-width:0;min-height:36px;padding:6px 8px;border-radius:8px;border:1px solid #CBD5E1;background:#fff;color:#334155;font-size:12.5px;font-weight:600}.kb-btn-nho{flex:0 0 auto;padding:7px 10px;font-size:12px}.kb-the-wrap{position:relative}.kb-the-menu-btn{position:absolute;top:6px;right:6px;z-index:3;min-width:36px;min-height:36px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;color:#1e293b;font-size:16px;font-weight:700;line-height:1;cursor:pointer}.kb-the-menu{position:absolute;top:44px;right:6px;z-index:4;display:flex;flex-direction:column;min-width:160px;padding:4px;border-radius:10px;border:1px solid #CBD5E1;background:#fff;box-shadow:0 4px 16px #0f172a2e}.kb-the-menu-item{min-height:36px;padding:7px 10px;border:none;background:none;color:#1e293b;font-size:13px;font-weight:600;text-align:left;cursor:pointer;border-radius:6px}.kb-the-menu-item:hover{background:#f1f5f9}.kb-col-head-ngan-tools{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.kb-col-head-an{margin-top:4px;font-size:11.5px;font-weight:600;color:#b45309}.kb-the-menu-nhom{display:flex;flex-direction:column;border-top:1px solid #E2E8F0;margin-top:2px;padding-top:2px}.kb-the-menu-de{padding:6px 10px 2px;font-size:11.5px;font-weight:700;color:#64748b}.kb-the-menu-item-con{padding-left:18px}.kb-ngan-an-wrap{position:relative}.kb-ngan-an-list{position:absolute;top:44px;right:0;z-index:6;display:flex;flex-direction:column;gap:4px;min-width:200px;max-width:calc(100vw - 24px);padding:8px;border-radius:10px;border:1px solid #CBD5E1;background:#fff;box-shadow:0 4px 16px #0f172a2e}.kb-ngan-an-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.kb-ngan-an-ten{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:#1e293b}.kb-topbar{flex-wrap:wrap}.kb-the-menu{max-height:60vh;overflow-y:auto}.kb-dinh{position:sticky;top:var(--header-h);z-index:20;background:#e8edf3;border-bottom:1px solid #CBD5E1;box-shadow:0 3px 8px #0f172a1f;transition:top .25s cubic-bezier(.16,1,.3,1)}body.header-an .kb-dinh{top:0}.kb-dinh .kb-chip-cot{position:static;background:#dce3ec;border-bottom:1px solid #CBD5E1}.kb-heads{display:flex;overflow:hidden;touch-action:pan-y}.kb-head-o{flex:0 0 100%;min-width:0;background:#e8edf3;border-right:1px solid #E2E8F0}@media (min-width: 900px){.kb-head-o{flex:0 0 360px}}.kb-head-o .kb-col-head{cursor:default;border-bottom:0}.kb-head-o .kb-col-head-top{cursor:pointer}.kb-head-o .kb-col-head-ten{font-weight:800;color:#0f172a}.kb-head-o .kb-col-head-more{max-height:30vh;overflow:auto}@media (max-width: 640px){.portal-main-content.kb-tran{padding:0}.kb-bang{padding:8px 6px}.kb-col,.kb-head-o{border-right:0}.kb-topbar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.kb-topbar::-webkit-scrollbar{display:none}.kb-topbar .kb-btn{flex:0 0 auto;white-space:nowrap}}.kb-hh-hang{display:flex;align-items:center;gap:5px;margin-top:4px;overflow-x:auto;scrollbar-width:none}.kb-hh-hang::-webkit-scrollbar{display:none}.kb-hh-nhan{flex:0 0 auto;font-size:11px;font-weight:700;color:#64748b}.kb-hh{flex:0 0 auto;min-height:36px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;border:4px solid transparent;background-clip:padding-box;cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--kb-hh-vien, #CBD5E1)}.kb-hh-moi{background:#ecfdf5;color:#047857;--kb-hh-vien: #A7F3D0}.kb-hh-giam{background:#fff7ed;color:#c2410c;--kb-hh-vien: #FED7AA}.kb-hh-chot{background:#f5f3ff;color:#6d28d9;--kb-hh-vien: #DDD6FE}.kb-hh.kb-hh-0{background:#f1f5f9;color:#8a97a8;--kb-hh-vien: #D5DCE5;font-weight:600;cursor:default;opacity:.7}.kb-hh-moi.kb-hh-dang{background:#047857;color:#fff}.kb-hh-giam.kb-hh-dang{background:#c2410c;color:#fff}.kb-hh-chot.kb-hh-dang{background:#6d28d9;color:#fff}.kb-chip{display:inline-flex;align-items:center;gap:6px}.kb-chip-so{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e53935;color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}.kb-chip-active .kb-chip-so{background:#fff;color:#1d4ed8}.kb-dang-loc{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#f1f5f9;font-size:12.5px;font-weight:600;color:#334155}.kb-dang-loc button{min-height:36px;padding:4px 10px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;font-weight:700;font-size:12px;color:#1d4ed8;cursor:pointer}.kb-vc-nen{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:flex-end;justify-content:center}.kb-vc-hop{background:#fff;width:100%;max-width:520px;max-height:88vh;box-sizing:border-box;border-radius:16px 16px 0 0;padding:14px;display:flex;flex-direction:column}.kb-vc-dau{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.kb-vc-dau b{font-size:15px;color:#0f172a}.kb-vc-dau span{flex:1;min-width:0;font-size:12.5px;color:#475569}.kb-vc-ds{overflow-y:auto;display:flex;flex-direction:column;gap:8px}.kb-vc-cho{text-align:center;font-size:12.5px;color:#64748b;padding:8px}@media (min-width: 900px){.kb-vc-nen{align-items:center}.kb-vc-hop{border-radius:16px}}.bcg-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:flex-end;justify-content:center}.bcg-shell{background:#fff;width:100%;max-width:520px;border-radius:16px 16px 0 0;padding:14px;box-sizing:border-box;max-height:88vh;display:flex;flex-direction:column;gap:10px;box-shadow:0 -4px 20px #0003;overflow:hidden}@media (min-width: 641px){.bcg-overlay{align-items:center}.bcg-shell{border-radius:16px}}.bcg-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E2E8F0;padding-bottom:8px}.bcg-title{font-size:14px;font-weight:900;color:#0f172a;margin:0}.bcg-close{background:transparent;border:none;font-size:18px;color:#64748b;cursor:pointer;min-height:36px;min-width:36px}.bcg-loi{background:#fef2f2;color:#dc2626;border:1px solid #FCA5A5;padding:8px 10px;border-radius:6px;font-size:12.5px}.bcg-dang-tai,.bcg-trong{padding:24px 10px;text-align:center;color:#64748b;font-weight:600}.bcg-chon-quan{display:flex;flex-direction:column;gap:8px}.bcg-chon-quan-hint{font-size:12.5px;color:#475569;font-weight:600}.bcg-body{overflow-y:auto;display:flex;flex-direction:column;gap:10px;min-width:0}.bcg-dang-gop{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE;padding:8px 10px;border-radius:6px;font-size:12.5px;font-weight:600}.bcg-khoi-list{display:flex;flex-direction:column;gap:10px}.bcg-khoi-ten{font-size:12.5px;font-weight:800;color:#334155;margin-bottom:4px}.bcg-o-list{display:flex;flex-direction:column;gap:6px}.bcg-o{display:flex;align-items:center;gap:6px;min-width:0}.bcg-o-btn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border-radius:8px;border:1.5px solid #E2E8F0;background:#fff;cursor:pointer;text-align:left;box-sizing:border-box}.bcg-o-chon .bcg-o-btn{border-color:#16a34a;background:#f0fdf4}.bcg-o-chong .bcg-o-btn{border-color:#fca5a5}.bcg-o-dau{flex:0 0 auto;font-weight:900;color:#1d4ed8}.bcg-o-chon .bcg-o-dau{color:#16a34a}.bcg-o-ten{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:700;color:#0f172a}.bcg-o-so{flex:0 0 auto;font-size:11.5px;color:#64748b;font-weight:600}.bcg-o-canh-bao{flex:0 0 100%;font-size:11px;color:#dc2626}.bcg-o-gop{flex:0 0 auto;min-height:36px;padding:6px 10px;border-radius:8px;border:1px solid #CBD5E1;background:#fff;color:#475569;font-size:11.5px;font-weight:700;cursor:pointer}.bcg-dang-dung{border-top:1px solid #E2E8F0;padding-top:8px;display:flex;flex-direction:column;gap:6px}.bcg-dang-dung-ten{font-size:12.5px;font-weight:800;color:#334155}.bcg-dang-dung-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.bcg-dang-dung-ten-cot{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:#1e293b}.bcg-dang-dung-nut{flex:0 0 auto;display:flex;gap:4px}.bcg-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #E2E8F0;padding-top:10px}.bcg-thanh-day{flex:1;min-width:0;font-size:12px;font-weight:700;color:#475569}.bcg-xong{flex:0 0 auto;min-height:40px;padding:8px 20px;border-radius:8px;border:none;background:#dc2626;color:#fff;font-weight:800;font-size:13px;cursor:pointer}.bcg-xong:disabled{background:#fca5a5;cursor:not-allowed}@media (max-width: 400px){.bcg-shell{padding:10px;gap:8px}.bcg-o-ten{font-size:12px}}.bdct-shell{display:flex;flex-direction:column;gap:12px;margin:18px 0;padding:16px;border-radius:14px;background:#fff;border:1px solid #E2E8F0;min-width:0}.bdct-dang-tai,.bdct-trong{color:var(--muted, #64748B);font-weight:600;font-size:13px;padding:10px 0}.bdct-o-so{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.bdct-o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid #E2E8F0;background:#f8fafc;cursor:pointer}.bdct-o-active{border-color:#2563eb;background:#eff6ff}.bdct-o-so-value{font-size:18px;font-weight:800;color:#0f172a}.bdct-o-ten{font-size:12px;font-weight:600;color:#475569}.bdct-tabs{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.bdct-tab{min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #E2E8F0;background:#fff;color:#475569;font-weight:700;font-size:12.5px;cursor:pointer}.bdct-tab-active{background:#0f172a;border-color:#0f172a;color:#fff}.bdct-danh-sach{display:flex;flex-direction:column;gap:10px;min-width:0}.bdct-the-wrap{display:flex;flex-direction:column;gap:6px;min-width:0;border-bottom:1px dashed #E2E8F0;padding-bottom:10px}.bdct-dai-su-kien{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#334155}.bdct-cham-moi{width:8px;height:8px;border-radius:50%;background:#dc2626;flex:0 0 auto}.bdct-hop-khach{display:flex;align-items:center;width:100%;min-height:36px;box-sizing:border-box;margin-top:4px;padding:6px 10px;border:none;border-radius:8px;background:#f3e8ff;color:#7c3aed;font-size:12.5px;font-weight:700;text-align:left;white-space:normal;word-break:break-word;cursor:pointer}.bdct-the-hanh-dong{display:flex;flex-wrap:wrap;gap:6px;position:relative}.bdct-btn{min-height:36px;padding:6px 12px;border-radius:8px;border:1px solid #E2E8F0;background:#fff;color:#334155;font-weight:700;font-size:12.5px;cursor:pointer}.bdct-chon-ngan-wrap{position:relative}.bdct-chon-ngan-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:160px;max-width:85vw;padding:8px;border-radius:10px;border:1px solid #E2E8F0;background:#fff;box-shadow:0 8px 24px #0f172a1f}.bdct-chon-ngan-item{min-height:36px;padding:6px 10px;border-radius:6px;border:none;background:#f8fafc;color:#0f172a;font-weight:600;font-size:12.5px;text-align:left;cursor:pointer}.bdct-chon-ngan-trong{font-size:12px;color:var(--muted, #64748B);padding:4px 6px}.bdct-chon-ngan-huy{min-height:32px;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:#64748b;font-weight:600;font-size:12px;cursor:pointer}.bdct-xem-tat-ca{align-self:flex-start;min-height:36px;padding:6px 14px;border-radius:8px;border:1px solid #E2E8F0;background:#fff;color:#2563eb;font-weight:700;font-size:12.5px;cursor:pointer}.bdct-bang-tuan{display:flex;flex-direction:column;gap:8px;min-width:0;padding-top:10px;border-top:1px solid #E2E8F0}.bdct-bang-tuan-tieu-de{font-size:14px;font-weight:800;color:#0f172a;margin:0}.bdct-bang-tuan-cuon{overflow-x:auto;max-width:100%}.bdct-bang-tuan-table{border-collapse:collapse;width:100%;min-width:480px;font-size:12.5px}.bdct-bang-tuan-table th,.bdct-bang-tuan-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #F1F5F9;white-space:nowrap}.bdct-ra-tuan-xong{align-self:flex-end}@media (max-width: 400px){.bdct-shell{padding:10px;gap:10px}.bdct-o-so{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bdct-o{padding:6px 8px}.bdct-o-so-value{font-size:16px}}.bdct-o-so{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 400px){.bdct-o-so{grid-template-columns:repeat(2,minmax(0,1fr))}}.bdct-so-do{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:10px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;vertical-align:middle}.chantrang-ngan-wrap{position:relative}.chantrang-ngan-menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:160px;max-width:85vw;padding:8px;border-radius:10px;border:1px solid #E2E8F0;background:#fff;box-shadow:0 -8px 24px #0f172a24}.chantrang-ngan-item{min-height:36px;padding:6px 10px;border-radius:6px;border:none;background:#f8fafc;color:#0f172a;font-weight:600;font-size:12.5px;text-align:left;cursor:pointer}.chantrang-ngan-huy{min-height:32px;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:#64748b;font-size:12px;cursor:pointer}.pdetail-visao-may-xep{margin:10px 14px 0;padding:8px 12px;border-radius:10px;background:#f5f3ff;border:1px solid #DDD6FE;font-size:12.5px;color:#4c1d95}.pdetail-visao-khong-biet{margin-top:4px;font-size:11.5px;color:#6d28d9}.kb-gio-du-lieu{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 12px;font-size:12px;color:#64748b}.kb-gio-du-lieu:empty{display:none}.kb-dang-cap-nhat{padding:1px 8px;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:600}.kb-wrap button:disabled{opacity:.5;cursor:not-allowed}.kb-yen{display:none;font-size:11px;font-weight:700;color:#64748b}.kb-co-nen{position:fixed;inset:0;z-index:59}.kb-co-noi{position:fixed;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60}.kb-co-btn{min-height:44px;padding:6px 14px;border-radius:999px;background:#0f172a;color:#fff;border:0;box-shadow:0 6px 16px #0f172a59;opacity:.92;font-size:12.5px;font-weight:800;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer}.kb-co-ic{font-size:11px;letter-spacing:-1px;opacity:.85}.kb-co-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:61;width:230px;background:#fff;border:1px solid #CBD5E1;border-radius:12px;box-shadow:0 10px 24px #0f172a38;padding:6px}.kb-co-muc{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 10px;border-radius:8px;text-align:left;min-height:44px;border:0;background:transparent;cursor:pointer}.kb-co-muc b{font-size:13.5px;color:#0f172a}.kb-co-muc span{font-size:11.5px;color:#64748b}.kb-co-muc.on{background:#eff6ff}.kb-co-muc.on b{color:#1d4ed8}@media (max-width: 899px){.kb-wrap .kb-cols .kb-col{padding-bottom:72px}}.kb-co-hai .kb-col,.kb-co-hai .kb-head-o{flex-basis:50%;border-right:1px solid #CBD5E1}.kb-co-hai .kb-col-head{padding:6px 8px 7px}.kb-co-hai .kb-col-head-ten{font-size:12.5px}.kb-co-hai .kb-col-head-dong,.kb-co-hai .kb-hh-nhan,.kb-co-hai .kb-hh-0{display:none}.kb-co-hai .kb-hh-hang{gap:3px;margin-top:4px}.kb-co-hai .kb-hh{min-height:24px;padding:1px 6px;font-size:11px;border-width:0}.kb-co-hai .kb-yen{display:inline}.kb-co-hai .kb-the-menu-btn{display:none}.kb-co-hai .kb-the-wrap button,.kb-co-hai .kb-the-wrap a{pointer-events:none}.rck-nen{position:fixed;inset:0;background:#0f172aa6;z-index:1300;display:flex;align-items:flex-end;justify-content:center}.rck-hop{background:var(--surface);width:100%;max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.rck-dau{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border, #e5e7eb)}.rck-dau h3{margin:0;font-size:16px;min-width:0;overflow-wrap:anywhere}.rck-dong{min-width:40px;min-height:40px;border:0;background:transparent;font-size:18px;cursor:pointer}.rck-bao{padding:8px 14px;background:#ecfdf5;color:#065f46;font-size:14px;overflow-wrap:anywhere}.rck-tim{margin:10px 14px 0;min-height:40px;padding:0 10px;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:16px;box-sizing:border-box;width:calc(100% - 28px)}.rck-ds{overflow-y:auto;padding:8px 14px 14px}.rck-trong{padding:24px 0;text-align:center;color:var(--muted, #6b7280)}.rck-dong-khach{display:flex;align-items:stretch;gap:6px;margin-top:8px}.rck-dong-khach.da{opacity:.55}.rck-chon{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:6px 10px;border:1px solid var(--border, #d1d5db);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.rck-chon:disabled{cursor:not-allowed}.rck-ten{font-weight:600;overflow-wrap:anywhere}.rck-phu{font-size:12px;color:var(--muted, #6b7280)}.rck-hop-nhan{font-size:12px;background:#dbeafe;color:#1e40af;border-radius:999px;padding:1px 8px}.rck-tt{margin-left:auto;font-size:13px;font-weight:600}.rck-ho-so{min-width:36px;min-height:44px;padding:0 8px;border:0;background:transparent;color:#2563eb;font-size:13px;cursor:pointer}@media (min-width: 768px){.rck-nen{align-items:center}.rck-hop{max-width:520px;border-radius:14px}}.chon-khu-vuc-tab-hang{display:flex;gap:6px;padding:0 12px 8px}.chon-khu-vuc-tab{flex:1;min-height:40px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--ink, #1e293b);font-size:13.5px;font-weight:600;cursor:pointer}.chon-khu-vuc-tab.active{background:var(--primary, #d92d20);border-color:var(--primary, #d92d20);color:#fff;font-weight:700}.chon-khu-vuc-nhom{border-bottom:1px solid #f1f5f9;padding-bottom:4px}.chon-khu-vuc-nhom-ten{position:sticky;top:0;background:#f8fafc;padding:6px 4px;font-size:11.5px;font-weight:700;color:var(--ink-secondary, #64748b);text-transform:uppercase;letter-spacing:.02em}.bcg-header-phai,.bcg-chon-quan-nut{display:flex;align-items:center;gap:8px}.tt-chon-khu-wrap{flex:1 1 240px;min-width:0}.tt-khu-tieude-box{background:var(--surface-2, #f8fafc);border:1px solid var(--line, #e2e8f0);border-radius:var(--r-sm, 6px);padding:10px 12px;margin-bottom:14px}.tt-khu-tieude-dong1{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}.tt-khu-ten-chinh{font-size:15px;font-weight:700;color:var(--ink, #0f172a)}.tt-khu-quancu-phu{font-size:12px;color:var(--muted, #64748b)}.tt-khu-tongquan{font-size:13px;color:var(--ink-secondary, #334155)}.tt-so-sanh-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tt-congtac-loai{display:inline-flex;border:1px solid var(--line, #cbd5e1);border-radius:var(--r-sm, 6px);overflow:hidden;background:var(--surface, #ffffff)}.tt-loai-btn{padding:6px 12px;font-size:12px;font-weight:600;border:none;background:none;color:var(--muted, #64748b);cursor:pointer;min-height:36px;touch-action:manipulation}.tt-loai-btn.active{background:var(--primary, #d92d20);color:#fff}.tt-row-ten{font-weight:600;color:var(--ink, #0f172a)}.tt-row-phu{font-size:11px;color:var(--muted, #64748b);margin-top:1px}.tt-badge-mau{font-size:11px;font-weight:600;color:var(--warning, #b45309)}.kb-chip{max-width:260px;overflow:hidden;text-overflow:ellipsis}.kb-col-head-ten,.kanban-col-name{max-width:100%;overflow:hidden;text-overflow:ellipsis}.kb-head-o .kbh{padding:6px 10px 4px;cursor:pointer;border-bottom:1px solid #D5DCE5;font-size:13px}.kbh-h1{display:flex;align-items:flex-start;gap:6px;min-width:0}.kbh-h1 .kb-dot{flex:0 0 auto;margin-top:6px}.kb-head-o .kbh-ten{flex:1;min-width:0;max-width:none;font-size:14px;font-weight:800;color:#0f172a;line-height:1.3;padding-top:1px;white-space:normal;overflow:visible;text-overflow:clip}.kbh-ten>span{white-space:nowrap}.kbh-ten>span:only-child{white-space:normal;overflow-wrap:anywhere}.kbh-so{flex:0 0 auto;margin-top:1px;font-size:12.5px;font-weight:700;color:#334155;background:#fff;border:1px solid #D5DCE5;border-radius:999px;padding:1px 8px}.kbh-mui{flex:0 0 auto;margin-top:3px;width:12px;text-align:center;color:#64748b;font-size:11px}.kbh-h2{display:flex;align-items:center;gap:8px;min-height:36px}.kbh-dat{flex:0 1 auto;min-width:0;font-size:12.5px;font-weight:500;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbh-dat b{color:#0f172a;font-weight:800}.kbh-dat small{font-size:11px;color:#64748b}.kbh-dat-phu{color:#64748b}.kbh-hh{margin-left:auto;display:flex;align-items:center;gap:2px;flex:0 0 auto}.kbh-72{font-size:10.5px;font-weight:700;color:#94a3b8;margin-right:2px}.kbh-yen{font-size:11.5px;font-weight:600;color:#94a3b8}.kbh-hhb.kb-hh{min-height:36px;padding:0 8px;font-size:11.5px;border-width:5px}.kbh-so2,.kbh-ngan{display:none}.kbh-more{margin:2px 0 6px;padding-top:6px;border-top:1px dashed #CBD5E1;font-size:12px;font-weight:500;color:#475569;line-height:1.55;cursor:default}.kbh-ten-du{font-weight:700;color:#0f172a;margin-bottom:2px}.kbh-nut{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.kb-heads{align-items:stretch}.kb-co-hai .kbh{padding:5px 6px 3px}.kb-co-hai .kbh-ten{font-size:12.5px}.kb-co-hai .kbh-h1 .kbh-so{display:none}.kb-co-hai .kbh-so2{display:inline}.kb-co-hai .kbh-h2{flex-wrap:wrap;gap:0 6px;min-height:0}.kb-co-hai .kbh-dat{font-size:11.5px;width:100%}.kb-co-hai .kbh-dat small{display:none}.kb-co-hai .kbh-hh{margin-left:0;width:100%}.kb-co-hai .kbh-hhb.kb-hh{padding:0 6px;font-size:11px}.kb-co-hai .kbh-dai{display:none}.kb-co-hai .kbh-ngan{display:inline}.sc-nen{position:fixed;inset:0;z-index:1050;background:#0009;display:flex;align-items:flex-end;justify-content:center}.sc-nen.sc-trong-bang{position:absolute}.sc-hop{background:#fff;width:100%;max-width:560px;max-height:88vh;max-height:88dvh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;box-sizing:border-box}@media (min-width: 768px){.sc-nen{align-items:center}.sc-hop{border-radius:16px}}.sc-dau{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px;font-size:16px;color:#0f172a}.sc-chu{padding:0 12px 8px;font-size:12.5px;color:#475569}.sc-than{flex:1;overflow-y:auto;padding:0 12px 12px}.sc-nhom{margin-bottom:12px}.sc-nhom-ten{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin:6px 0}.sc-xep{border:1px solid #CBD5E1;background:#fff;border-radius:8px;font:inherit;font-size:12.5px;font-weight:700;color:#1d4ed8;text-transform:none;letter-spacing:0;padding:6px 10px;min-height:36px;cursor:pointer}.sc-ds{display:flex;flex-direction:column;gap:6px}.sc-hang{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:4px 6px 4px 0;position:relative}.sc-hang.dang-keo{z-index:2;box-shadow:0 8px 20px #0f172a33;border-color:#2563eb;background:#eff6ff}.sc-keo{width:40px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#94a3b8;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;flex-shrink:0}.sc-so{width:18px;font-weight:800;color:#94a3b8;font-size:12.5px;flex-shrink:0}.sc-ten{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:#0f172a;display:flex;flex-direction:column}.sc-ten small{font-size:12px;font-weight:500;color:#64748b}.sc-nut{display:flex;gap:4px;flex-shrink:0}.sc-nut button{width:36px;height:36px;border:1px solid #CBD5E1;background:#fff;border-radius:8px;font-size:15px;color:#334155;cursor:pointer}.sc-nut button:disabled{opacity:.35;cursor:default}.sc-ghi{font-size:12px;color:#64748b;padding:4px 2px}.sc-chan{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #E2E8F0}.sc-huy{border:1.5px solid #CBD5E1;background:#fff;border-radius:10px;font:inherit;font-size:14px;font-weight:600;color:#334155;padding:0 14px;min-height:44px;cursor:pointer}.sc-chan .bcg-xong{min-height:44px}.chon-khu-vuc-dong-tick{width:18px;height:18px;min-width:18px;min-height:18px;border-radius:4px;border:1.5px solid #CBD5E1;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;margin-right:10px;flex-shrink:0;box-sizing:border-box;background:#fff}.chon-khu-vuc-dong.active .chon-khu-vuc-dong-tick{border-color:var(--primary, #E53935);background:var(--primary, #E53935);color:#fff}.chon-khu-vuc-dong .chon-khu-vuc-dong-ten{flex:1}.chon-khu-vuc-xong{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;background:var(--primary, #E53935);color:#fff;font-size:14px;font-weight:700;border:none;cursor:pointer;box-sizing:border-box;touch-action:manipulation;position:sticky;bottom:0;z-index:10}.chon-khu-vuc-xong:active{background:var(--primary-dark, #C62828)}.ccg-shell{position:relative;background:#fff;width:100%;max-width:560px;height:92vh;height:92dvh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}@media (min-width: 768px){.ccg-shell{border-radius:16px;height:86vh}}.ccg-dau{padding:12px 12px 0;border-bottom:1px solid #E2E8F0;background:#f8fafc;flex-shrink:0}.ccg-tieu-de{display:flex;align-items:center;justify-content:space-between}.ccg-tieu-de h3{margin:0;font-size:17px;color:#0f172a}.ccg-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0 8px;scrollbar-width:none}.ccg-tabs::-webkit-scrollbar{display:none}.ccg-tab{display:inline-flex;align-items:center;flex-shrink:0;border-radius:999px;border:1.5px solid #CBD5E1;background:#fff}.ccg-tab>button{border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:#334155;padding:8px 12px;min-height:38px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.ccg-tab.on{background:#0f172a;border-color:#0f172a}.ccg-tab.on>button{color:#fff}.ccg-tab-so{background:#2563eb;color:#fff;border-radius:999px;font-size:11.5px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}.ccg-tab-x{border:0;background:none;color:#94a3b8;font-size:13px;padding:0 10px 0 0;min-height:38px;cursor:pointer}.ccg-tab-them{border-style:dashed;border-color:#2563eb;color:#2563eb;font:inherit;font-size:14px;font-weight:700;padding:8px 12px;min-height:38px;cursor:pointer;background:#eff6ff}.ccg-tieu{display:flex;gap:6px;overflow-x:auto;padding:0 0 10px;align-items:center;scrollbar-width:none}.ccg-tieu::-webkit-scrollbar{display:none}.ccg-tieu-nhan{font-size:12px;color:#64748b;flex-shrink:0}.ccg-tieu-chip{flex-shrink:0;border:1px solid #CBD5E1;background:#fff;border-radius:8px;font:inherit;font-size:13px;color:#334155;padding:6px 10px;min-height:36px;display:inline-flex;gap:5px;align-items:center;cursor:pointer}.ccg-tieu-chip.on{border-color:#2563eb;background:#dbeafe;color:#1e3a8a;font-weight:700}.ccg-tieu-chip b{background:#2563eb;color:#fff;border-radius:999px;font-size:11px;padding:0 5px;min-width:16px}.ccg-than{flex:1;overflow-y:auto;padding:10px 12px 16px;-webkit-overflow-scrolling:touch}.ccg-huong-dan{font-size:12.5px;color:#475569;background:#f1f5f9;border-radius:8px;padding:8px 10px;margin-bottom:10px;line-height:1.45}.ccg-trong{padding:28px 8px;text-align:center;color:#64748b;font-size:14px}.ccg-thang{display:flex;flex-direction:column}.ccg-hang{display:flex;gap:10px;align-items:stretch;padding:6px 0;border-top:1px solid #F1F5F9}.ccg-hang-wrap:first-child .ccg-hang{border-top:0}.ccg-gia{width:70px;flex-shrink:0;font-weight:800;font-size:14px;color:#0f172a;padding-top:12px}.ccg-o-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.ccg-o{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid #E2E8F0;background:#fff;border-radius:10px;padding:8px 10px;min-height:48px;font:inherit;cursor:pointer;box-sizing:border-box}.ccg-o-dau{width:22px;height:22px;border-radius:6px;border:2px solid #CBD5E1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800}.ccg-o-giua{display:flex;flex-direction:column;min-width:0;flex:1}.ccg-o-loc{font-size:14px;font-weight:600;color:#0f172a}.ccg-o-phu{font-size:12.5px;color:#64748b;margin-top:1px}.ccg-o.on{border-color:#2563eb;background:#eff6ff}.ccg-o.on .ccg-o-dau{background:#2563eb;border-color:#2563eb}.ccg-o.trung{background:#fffbeb;border-color:#fde68a;border-style:dashed}.ccg-o.trung .ccg-o-loc{color:#92400e}.ccg-o-phu-trung{color:#b45309}.ccg-o.gop.on{border-color:#7c3aed;background:#f5f3ff}.ccg-o.gop.on .ccg-o-dau{background:#7c3aed;border-color:#7c3aed}.ccg-o.vua{animation:ccg-loe 1.2s ease-out}@keyframes ccg-loe{0%{box-shadow:0 0 #7c3aed8c}to{box-shadow:0 0 0 10px #7c3aed00}}.ccg-o-nut{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.ccg-tach,.ccg-bo{font:inherit;font-size:13px;font-weight:700;border-radius:8px;padding:0 12px;min-height:36px;background:#fff;cursor:pointer}.ccg-tach{color:#7c3aed;border:1px solid #C4B5FD}.ccg-bo{color:#475569;border:1px solid #CBD5E1}.ccg-gop{display:flex;align-items:center;gap:6px;width:calc(100% - 80px);margin:-2px 0 2px 80px;border:1px dashed #A78BFA;background:#faf5ff;color:#5b21b6;border-radius:999px;padding:4px 12px;font:inherit;font-size:12.5px;text-align:left;cursor:pointer;min-height:40px;box-sizing:border-box}.ccg-gop-icon{font-size:14px;font-weight:800}.ccg-gop-so{margin-left:auto;font-size:12px;color:#7c3aed}.ccg-bao{position:absolute;left:12px;right:12px;bottom:92px;background:#0f172a;color:#fff;border-radius:10px;padding:10px 12px;font-size:13.5px;z-index:5;box-shadow:0 6px 18px #00000040}.ccg-hoi{border-top:1px solid #FDE68A;background:#fffbeb;padding:10px 12px;font-size:13.5px;color:#78350f;flex-shrink:0}.ccg-hoi-nut{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.ccg-chan{flex-shrink:0;border-top:1px solid #E2E8F0;background:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px}.ccg-chan-chu{flex:1;min-width:0;font-size:13.5px;color:#334155}.ccg-thay{display:block;font-size:12px;color:#2563eb}.ccg-chan-nut{display:flex;gap:8px;flex-shrink:0}.ccg-nut-phu{border:1.5px solid #CBD5E1;background:#fff;border-radius:10px;font:inherit;font-size:14px;font-weight:600;color:#334155;padding:0 12px;min-height:44px;cursor:pointer}.ccg-chan .bcg-xong{min-height:44px;min-width:76px}.ccg-lop{position:absolute;inset:0;background:#fff;z-index:10;display:flex;flex-direction:column;padding:12px;gap:10px;overflow-y:auto;box-sizing:border-box}.ccg-lop-dau{display:flex;align-items:center;justify-content:space-between;font-size:16px;color:#0f172a}.ccg-lop-chu{font-size:13px;color:#475569}.ccg-luu-y{font-size:12.5px;color:#78350f;background:#fffbeb;border:1px solid #FDE68A;border-radius:8px;padding:8px 10px;margin-bottom:8px;line-height:1.45}.ccg-o:focus-visible,.ccg-gop:focus-visible,.ccg-tab>button:focus-visible{outline:2px solid #2563EB;outline-offset:2px}.ccg-nut-phu:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion: reduce){.ccg-o.vua{animation:none}}.ccg-o.gop{cursor:default}.dash-crawler-alert{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;line-height:1.4;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box;word-break:break-word;cursor:default;user-select:none}.dash-crawler-alert .dash-crawler-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-crawler-alert .dash-crawler-text{flex:1;min-width:0}.dash-crawler-alert.alert-on{background:#f0fdf4;border:1px solid #BBF7D0;color:#166534;font-size:12px;padding:6px 10px}.dash-crawler-alert.alert-on .dash-crawler-dot{background:#22c55e}.dash-crawler-alert.alert-vang{background:#fffbeb;border:1px solid #FDE68A;color:#92400e}.dash-crawler-alert.alert-vang .dash-crawler-dot{background:#f59e0b}.dash-crawler-alert.alert-do{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;font-weight:600}.dash-crawler-alert.alert-do .dash-crawler-dot{background:#ef4444}.bdct-danh-sach.ds-luoi{display:grid;flex-direction:initial;grid-template-columns:1fr;gap:18px;min-width:0}@media (min-width: 641px){.bdct-danh-sach.ds-luoi{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.kb-topbar .tds-kieu{flex:0 0 auto}.c3 .ccg-dau{padding-bottom:8px}.c3-khung{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0}.c3-khung-nhan{font-size:13px;font-weight:700;color:#0f172a}.c3-sel{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#64748b}.c3-sel select{font:inherit;font-size:14px;font-weight:700;color:#0f172a;background:#fff;border:1.5px solid #CBD5E1;border-radius:10px;padding:0 8px;min-height:38px}.c3-khung-chu{font-size:12px;color:#94a3b8;margin-left:auto}.c3-than{padding-top:8px}.c3-huong{font-size:12.5px;color:#475569;line-height:1.45;padding:0 2px 8px}.c3-huong em{font-style:normal;font-weight:700}.c3-trong{font-size:13.5px;color:#64748b;padding:24px 8px;text-align:center}.c3-ds{display:flex;flex-direction:column;gap:6px}.c3-hang{display:flex;flex-direction:column;gap:4px}.c3-hang.con{padding-left:14px;position:relative}.c3-hang.con:before{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:2px;border-radius:2px;background:#c7d2fe}.c3-o{position:relative;display:flex;flex-direction:column;align-items:stretch;border:1.5px solid #E2E8F0;background:#fff;border-radius:12px;overflow:hidden}.c3-o.on{border-color:#2563eb;background:#eff6ff}.c3-hang.gop .c3-o.on{border-color:#7c3aed;background:#f5f3ff}.c3-o-chon{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;font:inherit;padding:9px 10px 2px;cursor:pointer;min-height:48px}.c3-duoi{display:flex;align-items:center;gap:10px;padding:0 8px 6px 42px}.c3-dau{width:22px;height:22px;border-radius:6px;border:2px solid #CBD5E1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800}.c3-o.on .c3-dau{background:#2563eb;border-color:#2563eb}.c3-hang.gop .c3-o.on .c3-dau{background:#7c3aed;border-color:#7c3aed}.c3-o.m-qua .c3-o-chon{cursor:not-allowed}.c3-o.m-qua .c3-dau{border-style:dashed}.c3-giua{display:flex;flex-direction:column;min-width:0;flex:1;gap:3px}.c3-ten{font-size:14.5px;font-weight:700;color:#0f172a;line-height:1.3}.c3-dd{font-style:normal;font-weight:600;font-size:11px;color:#2563eb;background:#dbeafe;border-radius:999px;padding:1px 7px;white-space:nowrap}.c3-so{font-size:12.5px;color:#475569;display:flex;gap:4px 6px;align-items:baseline;flex-wrap:wrap}.c3-so b{color:#0f172a}.c3-muc{font-style:normal;font-weight:700;font-size:11.5px;border-radius:999px;padding:1px 7px}.c3-muc.m-cam{color:#92400e;background:#fef3c7}.c3-muc.m-do{color:#991b1b;background:#fee2e2}.c3-muc.m-qua{color:#fff;background:#dc2626}.c3-muc.m-it{color:#475569;background:#f1f5f9}.c3-muc.m-tudong{color:#5b21b6;background:#ede9fe}.c3-thanh{position:relative;flex:1;height:5px;border-radius:3px;background:#f1f5f9;overflow:visible}.c3-thanh>span{display:block;height:100%;border-radius:3px;background:#22c55e}.c3-o.m-it .c3-thanh>span{background:#94a3b8}.c3-o.m-cam .c3-thanh>span{background:#f59e0b}.c3-o.m-do .c3-thanh>span,.c3-o.m-qua .c3-thanh>span{background:#ef4444}.c3-thanh>i{position:absolute;top:-2px;width:1.5px;height:9px;background:#94a3b8}.c3-nut{display:flex;justify-content:flex-end;gap:6px;flex-shrink:0;min-height:36px}.c3-nho{border:1.5px solid #CBD5E1;background:#fff;border-radius:8px;font:inherit;font-size:12.5px;font-weight:700;color:#334155;padding:0 10px;min-height:36px;cursor:pointer;white-space:nowrap}.c3-nhom-dau{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:#4338ca;font-weight:700;padding:4px 0 2px}.c3-nhom-dau .c3-nho{min-height:36px;font-size:12px}.c3-nho.noi{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.c3-nho.mo{background:#0f172a;border-color:#0f172a;color:#fff}.c3-menu{display:flex;flex-direction:column;gap:4px;margin:0 0 2px 20px;padding:6px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0}.c3-menu-trong{font-size:12.5px;color:#64748b;padding:6px}.c3-cach{display:flex;flex-direction:column;gap:3px;text-align:left;border:1.5px solid #E2E8F0;background:#fff;border-radius:9px;font:inherit;padding:8px 10px;min-height:44px;cursor:pointer}.c3-cach:active{background:#eff6ff}.c3-cach>b{font-size:13.5px;color:#0f172a}.c3-cach>span{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:#475569}.c3-cach em{font-style:normal}.c3-cach em b{font-weight:800;color:#166534}.c3-cach em.m-it b{color:#64748b}.c3-cach em.m-cam b{color:#b45309}.c3-cach em.m-do b,.c3-cach em.m-qua b{color:#b91c1c}.c3-chu-thich{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:#64748b;padding:10px 2px 0}.c3-chu-thich i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px;background:#22c55e}.c3-chu-thich i.m-cam{background:#f59e0b}.c3-chu-thich i.m-do{background:#ef4444}.c3-chu-thich i.m-qua{background:#991b1b}.c3-ngoai{margin-top:12px;font-size:12.5px;color:#475569;background:#f8fafc;border:1px dashed #CBD5E1;border-radius:10px;padding:8px 10px;line-height:1.45}.c3-ngoai b{display:block;color:#334155;margin-bottom:2px}.c3-loi{margin:0 12px 6px}.ccg-bao{position:absolute;left:12px;right:12px;bottom:84px;background:#0f172a;color:#fff;font-size:13px;border-radius:10px;padding:9px 12px;text-align:center;z-index:5}@media (max-width: 380px){.c3-ten{font-size:14px}.c3-nho{padding:0 8px;font-size:12px}}.tt-chu-giai-dat{font-size:12px;color:var(--text-muted, #6b7280);margin:6px 0 12px;line-height:1.4}.tt-o-luoi-phu{font-size:11px;color:var(--text-muted, #6b7280)}.tt-quy-it-mau td{color:var(--text-muted, #6b7280)}.kbh-nhuong-dau{font-size:10px;font-weight:700;color:#7c3aed;margin-left:2px}.kbh-nhuong{font-size:12px;color:#5b21b6;background:#f5f3ff;border-radius:6px;padding:4px 6px;line-height:1.4}.c3-nhuong{font-size:12px;color:#5b21b6;line-height:1.35}@media (max-width: 899px){.portal-main-content.tran-man{padding:0}.portal-main-content.tran-man>.dashboard-container,.portal-main-content.tran-man>.khotong-container,.portal-main-content.tran-man>.tt-page,.portal-main-content.tran-man>.nhansu-container{padding:10px 10px 40px;max-width:100%}}.gallery-thumb-chuanbi{position:absolute;right:6px;top:6px;min-width:24px;height:24px;padding:0 4px;border-radius:999px;background:#0f172ab8;color:#fff;font-size:13px;line-height:24px;text-align:center;z-index:3;pointer-events:none}.gallery-thumb-chuanbi.loi{background:#dc2626}.tg-than{padding:18px!important;display:grid;gap:12px}.tg-dau{display:flex;align-items:center;justify-content:space-between;gap:8px}.tg-dau h3{margin:0;font-size:17px;font-weight:800;color:var(--ink)}.tg-gi{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px;color:var(--ink-secondary)}.tg-khoi{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.tg-hang{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--muted)}.tg-hang b{color:var(--ink);text-align:right;overflow-wrap:anywhere}.tg-hang b.tg-bat{color:var(--success)}.tg-hang b.tg-tat{color:var(--muted)}.tg-nut{display:flex;gap:8px;flex-wrap:wrap}.tg-nut .tg-luu{flex:1 1 160px}.tg-luu{min-height:44px;padding:0 16px;border:0;border-radius:var(--r);background:var(--primary);color:#fff;font-weight:800;font-size:14.5px;cursor:pointer}.tg-luu:disabled,.tg-nut-phu:disabled{opacity:.6;cursor:not-allowed}.tg-dong{width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink);font-size:16px;cursor:pointer}.tg-loi{font-size:13px;color:var(--danger);font-weight:600}.tg-nut-phu{min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--danger);font-weight:700;cursor:pointer}.tg-mo{font-size:13px;color:var(--muted)}.tg-ma{font:800 34px/1.1 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-align:center;color:var(--ink);padding:10px;background:var(--surface);border:1.5px dashed var(--primary-border);border-radius:var(--r);user-select:all}.tg-buoc{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px;color:var(--ink)}.kh-btn-theo-doi{opacity:.55}.kh-btn-theo-doi.on{opacity:1;background:var(--warning-bg);border-radius:10px}.kh-theo-doi-dau{font-size:.9em}.tg-ns{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.tg-ns-nhan{font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--success-bg);color:var(--success)}.tg-ns-nhan.tat{background:var(--surface-3);color:var(--muted)}.tg-ns-nhan.loi{background:var(--danger-bg);color:var(--danger)}.tg-ns-nhan.chua{background:transparent;color:var(--faint);font-weight:600;padding-left:0}.tg-ns-ngat{border:0;background:none;color:var(--danger);font-size:11.5px;font-weight:700;cursor:pointer;padding:2px 4px}.dc-wrap{width:100%;min-height:calc(100vh - 65px);background:var(--bg-ground, #F4F6F8);display:flex;flex-direction:column;position:relative;overflow-x:hidden}.dc-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface, #FFFFFF);border-bottom:1px solid var(--line, #E2E8F0);overflow-x:auto;-webkit-overflow-scrolling:touch}.dc-chips{display:flex;align-items:center;gap:6px;flex-shrink:0}.dc-chip{min-height:36px;padding:6px 12px;border-radius:18px;border:1px solid var(--line, #E2E8F0);background:var(--surface, #FFFFFF);color:var(--ink, #1E293B);font-size:12.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;user-select:none}.dc-chip:hover{background:var(--surface-2, #F8FAFC)}.dc-chip-active{border-color:var(--primary, #C62828);color:var(--primary, #C62828);font-weight:700;background:var(--primary-bg, #FFEBEE)}.dc-chip-so{font-size:11px;font-weight:700;opacity:.85}.dc-sp{flex:1;min-width:8px}.dc-btn{min-height:36px;padding:6px 12px;border-radius:8px;border:1px solid var(--line, #E2E8F0);background:var(--surface, #FFFFFF);color:var(--ink, #1E293B);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.dc-btn:disabled{opacity:.45;cursor:not-allowed}.dc-btn-pri{background:var(--primary, #C62828);color:#fff;border-color:var(--primary, #C62828)}.dc-btn-sap{flex-shrink:0}.dc-chip-cot{display:flex;gap:6px;padding:6px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--surface, #FFFFFF);border-bottom:1px solid var(--line, #E2E8F0)}.dc-chip-cot-item{min-height:36px;padding:4px 10px;border-radius:14px;border:1px solid var(--line, #CBD5E1);background:var(--surface-2, #F1F5F9);color:var(--ink, #1E293B);font-size:12px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;flex-shrink:0}.dc-chip-cot-active{background:var(--ink, #1E293B);color:#fff;border-color:var(--ink, #1E293B);font-weight:700}.dc-chip-cot-so{font-size:11px;opacity:.8}.dc-loading{padding:40px 16px;text-align:center;color:var(--muted, #64748B);font-weight:600;font-size:14px}.dc-trong{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:340px}.dc-trong-icon{font-size:44px;margin-bottom:12px}.dc-trong-text{font-size:15px;font-weight:700;color:var(--ink, #1E293B);margin-bottom:16px}.dc-btn-them-trong{min-height:40px;padding:8px 20px;font-size:14px;box-shadow:0 2px 8px #c6282840}.dc-board{display:flex;gap:12px;padding:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;align-items:flex-start;flex:1}.dc-kcol{width:320px;min-width:290px;max-width:350px;background:var(--surface-2, #EDF1F5);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.dc-kh{padding:4px 6px}.dc-kh-ten{font-size:13.5px;font-weight:700;color:var(--ink, #1E293B);line-height:1.3}.dc-kh-so{font-size:11.5px;color:var(--muted, #64748B);display:block;margin-top:2px}.dc-col-cards{display:flex;flex-direction:column;gap:8px}.dc-card-item{position:relative}.dc-badge-overlay{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.dc-tag{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:800;line-height:1.2}.dc-tag-tl{background:#fff;color:var(--primary, #C62828);border:1px solid rgba(198,40,40,.25);box-shadow:0 1px 3px #0000001a}.dc-tag-trung{background:#dc2626;color:#fff;font-weight:800;cursor:pointer}.dc-btn-xem-them{min-height:36px;padding:8px;border-radius:8px;border:1px dashed var(--line-strong, #CBD5E1);background:var(--surface, #FFFFFF);color:var(--ink-secondary, #475569);font-size:12.5px;font-weight:600;cursor:pointer;text-align:center;width:100%}.dc-card-empty{padding:24px 12px;text-align:center;color:var(--muted, #64748B);font-size:12.5px;background:#ffffffa6;border-radius:8px}.dc-fab{position:fixed;right:18px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;min-height:44px;padding:10px 18px;border-radius:24px;border:none;background:var(--primary, #C62828);color:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 14px #c6282859;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dc-modal-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.dc-modal-box{width:100%;max-width:380px;background:#fff;border-radius:14px;box-shadow:0 10px 25px #00000040;overflow:hidden;display:flex;flex-direction:column}.dc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line, #E2E8F0)}.dc-modal-head b{font-size:15px;font-weight:700;color:var(--ink, #1E293B)}.dc-modal-close{width:36px;height:36px;border-radius:8px;border:none;background:transparent;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted, #64748B)}.dc-modal-body{padding:24px 16px}.dc-modal-notice{text-align:center}.dc-notice-icon{font-size:34px;display:block;margin-bottom:8px}.dc-modal-foot{padding:12px 16px;background:var(--surface-2, #F8FAFC);display:flex;justify-content:flex-end;border-top:1px solid var(--line, #E2E8F0)}@media (max-width: 480px){.dc-kcol{width:calc(100vw - 44px);min-width:280px;max-width:340px}}.dc-form-box{max-width:540px;max-height:90vh}.dc-btn-back{width:36px;height:36px;border-radius:8px;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.dc-form-body{padding:14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;display:flex;flex-direction:column;gap:12px}.dc-grp{background:#fff;border-radius:10px;padding:12px;border:1px solid var(--line, #E2E8F0)}.dc-grp-title{margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--ink, #1E293B)}.dc-grp-title i{font-style:normal;font-weight:400;color:var(--muted, #64748B);font-size:11.5px}.dc-f{margin-bottom:10px}.dc-f:last-child{margin-bottom:0}.dc-f label{display:block;font-size:12px;font-weight:600;color:var(--ink-secondary, #475569);margin-bottom:4px}.dc-f label em{color:var(--primary, #C62828);font-style:normal}.dc-in{width:100%;border:1px solid var(--line-strong, #CBD5E1);border-radius:8px;padding:8px 10px;min-height:38px;background:#fff;color:var(--ink, #1E293B);font-size:13px;box-sizing:border-box}.dc-in:focus{outline:none;border-color:var(--primary, #C62828);box-shadow:0 0 0 2px #c6282826}.dc-in-err{border-color:#dc2626!important;background:#fef2f2!important}.dc-err-msg{color:#dc2626;font-size:11.5px;font-weight:600;margin-top:3px}.dc-row{display:flex;gap:8px}.dc-row>.dc-f{flex:1;min-width:0;margin-bottom:0}.dc-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}@media (max-width: 480px){.dc-grid4{grid-template-columns:repeat(2,1fr)}}.dc-seg{display:flex;flex-wrap:wrap;gap:5px}.dc-seg-btn{font-size:12px;padding:6px 10px;border-radius:16px;border:1px solid var(--line, #CBD5E1);background:#fff;color:var(--ink, #1E293B);cursor:pointer;min-height:36px;display:inline-flex;align-items:center}.dc-seg-btn.on{background:var(--primary, #C62828);color:#fff;border-color:var(--primary, #C62828);font-weight:700}.dc-preview-box{background:#fff8e1;border:1px dashed #D97706;border-radius:8px;padding:8px 10px;margin-top:10px}.dc-preview-lbl{display:block;font-size:11px;color:#78350f}.dc-preview-val{display:block;font-size:13.5px;font-weight:700;color:var(--ink, #1E293B);margin-top:2px}.dc-preview-sub{display:block;font-size:11.5px;color:var(--muted, #64748B);margin-top:2px}.dc-accordion{border-radius:10px;overflow:hidden;border:1px solid var(--line, #E2E8F0);background:#fff;padding:0}.dc-accordion-btn{width:100%;padding:10px 12px;background:var(--surface-2, #F8FAFC);border:none;text-align:left;cursor:pointer;min-height:42px;display:flex;flex-direction:column;justify-content:center}.dc-accordion-btn span{font-size:13px;font-weight:700;color:var(--ink, #1E293B)}.dc-accordion-btn small{font-size:11.5px;color:var(--muted, #64748B);margin-top:2px}.dc-accordion-content{padding:12px;border-top:1px solid var(--line, #E2E8F0);display:flex;flex-direction:column;gap:10px}.dc-textarea{min-height:70px;resize:vertical}.dc-btn-upload{min-height:38px;padding:8px 12px;border-radius:8px;border:1px dashed var(--line-strong, #CBD5E1);background:var(--surface-2, #F1F5F9);color:var(--ink, #1E293B);font-size:12.5px;font-weight:600;cursor:pointer;width:100%}.dc-media-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dc-media-item{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line, #CBD5E1)}.dc-media-thumb{width:100%;height:100%;object-fit:cover}.dc-media-video-tag{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1e293b;color:#fff;font-size:11px}.dc-media-del-btn{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;background:#000000a6;color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:0}.dc-alert{padding:8px 12px;border-radius:8px;font-size:12.5px}.dc-alert-error{background:#fef2f2;border:1px solid #FCA5A5;color:#991b1b}.dc-alert-success{background:#f0fdf4;border:1px solid #86EFAC;color:#166534}.dc-warn-box{background:#fef3c7;border:1px solid #FCD34D;border-radius:10px;padding:10px;font-size:12.5px}.dc-warn-title{margin-bottom:8px;font-size:13px;color:#92400e}.dc-mini-card{background:#fff;border-radius:8px;padding:8px 10px;border:1px solid #E2E8F0;margin-bottom:8px}.dc-mini-top{font-size:12px;margin-bottom:2px}.dc-mini-tt{color:#16a34a;font-weight:700}.dc-mini-addr{font-weight:700;font-size:12.5px;color:var(--ink, #1E293B)}.dc-mini-spec{font-size:12px;color:var(--ink-secondary, #475569);margin-top:2px}.dc-mini-sub{font-size:11px;color:var(--muted, #64748B);margin-top:2px}.dc-mini-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.dc-btn-save-tk{min-height:36px;font-size:12px;padding:6px 10px;background:#fef3c7;border:1px solid #F59E0B;color:#92400e;font-weight:600;border-radius:6px;cursor:pointer}.dc-warn-foot{margin-top:8px}.dc-btn-override{width:100%;text-align:center;font-size:12.5px}.dc-modal-trung{max-width:440px}.dc-trung-desc{font-size:13px;margin-bottom:10px;color:var(--ink, #1E293B)}.dc-trung-explain{font-size:12px;color:var(--ink-secondary, #475569);line-height:1.5;margin-top:10px;background:var(--surface-2, #F8FAFC);padding:8px 10px;border-radius:6px}.dc-modal-foot-split{display:flex;gap:8px;justify-content:space-between}.dc-btn-gop{min-height:38px;padding:8px 14px;background:var(--primary, #C62828);color:#fff;border-color:var(--primary, #C62828);font-weight:700}.dc-btn-giu{min-height:38px;padding:8px 14px}.dc-dautrang-tu-tao{display:flex;gap:6px;align-items:center;margin:6px 12px 0}.dc-tag-tu-tao-badge{background:var(--primary, #C62828);color:#fff;padding:3px 8px;border-radius:4px;font-weight:800;font-size:11px}.dc-tag-tinh-trang-badge{background:#fef3c7;color:#92400e;border:1px solid #FCD34D;padding:3px 8px;border-radius:4px;font-weight:700;font-size:11px}.dc-priv-card{background:#f1f5f9;border:1px solid var(--line, #E2E8F0);border-radius:8px;padding:10px 12px;margin:10px 0;font-size:12.5px}.dc-priv-title{color:var(--ink, #1E293B)}.dc-priv-sub{font-size:11px;color:var(--muted, #64748B);margin-top:2px}.dc-priv-note{font-size:12px;color:#334155;margin-top:4px;font-style:italic}.dc-hist-card{background:#fffbeb;border:1px solid #FDE68A;border-radius:8px;padding:8px 12px;margin:10px 0;font-size:12px;color:#78350f;line-height:1.5}.dc-sheet-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:10001;display:flex;align-items:flex-end}.dc-sheet{width:100%;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -6px 20px #00000040;padding:16px 16px 24px;max-height:80vh;overflow-y:auto;box-sizing:border-box}.dc-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dc-sheet-head b{font-size:15px;color:var(--ink, #1E293B)}.dc-sheet-list{display:flex;flex-direction:column;gap:8px}.dc-sheet-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--line-strong, #CBD5E1);background:#fff;font-size:14px;min-height:44px;cursor:pointer;width:100%;text-align:left}.dc-sheet-opt.on{border-color:var(--primary, #C62828);background:#fef2f2;font-weight:700}.dc-opt-icon{font-size:16px}.dc-opt-name{flex:1}.dc-opt-check{font-size:12px;color:var(--primary, #C62828);font-weight:700}.dc-tag-tk{background:#2563eb;color:#fff;font-weight:800}.dc-chantrang-tk-note{text-align:center;font-size:11px;color:var(--muted, #64748B);background:#0a25400a;padding:4px 8px;border-bottom:1px solid rgba(10,37,64,.08);line-height:1.3}.chantrang-main-actions.dc-ct3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}@media (min-width: 768px){.chantrang-main-actions.dc-ct3{display:flex;justify-content:flex-end;gap:10px}}.dc-chantrang-btn-luu{min-height:36px}.dc-goi-y-cot{margin:6px 6px 10px;padding:8px 10px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;display:flex;flex-direction:column;gap:6px}.dc-goi-y-cot-text{font-size:12px;font-weight:600;color:#1e40af;line-height:1.3}.dc-btn-tao-cot{align-self:flex-start;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:11.5px;font-weight:700;padding:6px 12px;min-height:36px;cursor:pointer;transition:background .15s ease}.dc-btn-tao-cot:hover{background:#1d4ed8}.dc-search-bar{padding:8px 12px;background:var(--bg-card, #FFFFFF);border-bottom:1px solid var(--line, #E2E8F0)}.dc-search-wrap{position:relative;display:flex;align-items:center;width:100%}.dc-search-icon{position:absolute;left:10px;font-size:14px;color:var(--muted, #64748B);pointer-events:none}.dc-search-input{width:100%;min-height:38px;padding:8px 36px 8px 32px;font-size:13.5px;color:var(--ink, #1E293B);background:var(--bg-surface, #F8FAFC);border:1px solid var(--line-strong, #CBD5E1);border-radius:20px;outline:none;box-sizing:border-box}.dc-search-input:focus{border-color:var(--primary, #C62828);background:#fff;box-shadow:0 0 0 2px #c628281f}.dc-search-clear{position:absolute;right:6px;width:36px;height:36px;border:none;background:transparent;color:var(--muted, #64748B);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.dc-search-clear:hover{color:var(--ink, #1E293B);background:#0000000d}.dc-btn-che-do{min-height:36px;padding:6px 12px;font-size:12.5px;font-weight:600;border:1px solid var(--line-strong, #CBD5E1);background:#fff;color:var(--ink, #1E293B);border-radius:8px;cursor:pointer;white-space:nowrap}.dc-btn-che-do:hover{background:var(--bg-surface, #F8FAFC)}.dc-kh-dong{display:block;line-height:1.25}.dc-co-noi{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}.dc-ds-wrap{display:flex;flex-direction:column;width:100%;background:var(--bg-surface, #F8FAFC);min-height:calc(100vh - 120px)}.dc-ds-loading{padding:40px 16px;text-align:center;color:var(--muted, #64748B);font-size:14px}.dc-ds-filters{background:#fff;border-bottom:1px solid var(--line, #E2E8F0);padding:8px 12px;display:flex;flex-direction:column;gap:8px}.dc-ds-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dc-ds-filter-row-split{justify-content:space-between}.dc-ds-filter-label{font-size:12px;font-weight:700;color:var(--muted, #64748B);min-width:44px;flex-shrink:0}.dc-ds-chips-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.dc-ds-chips-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dc-ds-chip{min-height:36px;padding:6px 12px;border-radius:18px;font-size:12.5px;font-weight:500;border:1px solid var(--line, #E2E8F0);background:#fff;color:var(--ink-secondary, #475569);cursor:pointer;transition:all .15s ease;white-space:nowrap}.dc-ds-chip:hover{border-color:var(--primary, #C62828);color:var(--primary, #C62828)}.dc-ds-chip-active{background:#fef2f2;border-color:var(--primary, #C62828);color:var(--primary, #C62828);font-weight:700}.dc-ds-sort-box{display:flex;align-items:center;gap:6px;flex-shrink:0}.dc-ds-select{min-height:36px;padding:4px 8px;border-radius:6px;border:1px solid var(--line-strong, #CBD5E1);font-size:12.5px;font-weight:600;color:var(--ink, #1E293B);background:#fff;cursor:pointer}.dc-ds-bar-info{padding:8px 12px;font-size:12.5px;color:var(--muted, #64748B);border-bottom:1px solid var(--line, #E2E8F0);background:#fff}.dc-ds-search-summary b,.dc-ds-count-summary b{color:var(--ink, #1E293B)}.dc-ds-list{display:flex;flex-direction:column}.dc-ds-empty{padding:40px 16px;text-align:center;color:var(--muted, #64748B);font-size:13.5px}.dc-ds-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;min-height:44px;border-bottom:1px solid var(--line, #E2E8F0);background:#fff;cursor:pointer;transition:background .15s ease;box-sizing:border-box}.dc-ds-row:hover{background:#f1f5f9}.dc-ds-row-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dc-ds-row-title{font-size:13.5px;font-weight:700;color:var(--ink, #1E293B);line-height:1.3;word-break:break-word}.dc-ds-row-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted, #64748B);flex-wrap:wrap}.dc-ds-diagioi{color:var(--ink-secondary, #475569);font-weight:500}.dc-ds-diagioi-empty{font-style:italic}.dc-ds-macan{color:var(--muted, #64748B)}.dc-ds-row-badges{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dc-ds-pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:14px 12px 28px;flex-wrap:wrap}.dc-ds-page-btn{min-width:36px;min-height:36px;padding:4px 8px;border-radius:6px;border:1px solid var(--line, #E2E8F0);background:#fff;color:var(--ink, #1E293B);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dc-ds-page-btn:hover:not(:disabled){border-color:var(--primary, #C62828);color:var(--primary, #C62828)}.dc-ds-page-btn:disabled{opacity:.4;cursor:not-allowed}.dc-ds-page-btn-active{background:var(--primary, #C62828);border-color:var(--primary, #C62828);color:#fff}.dc-ds-page-btn-active:hover{background:#b71c1c!important;color:#fff!important}.dc-ds-page-ellipsis{padding:0 4px;color:var(--muted, #64748B);font-size:13px}.dc-tag-tt{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px}.dc-tag-tt-qualified,.dc-tag-tt-dang_ban{background:#dcfce7;color:#166534}.dc-tag-tt-deposited,.dc-tag-tt-da_coc{background:#fef3c7;color:#92400e}.dc-tag-tt-pause_sale,.dc-tag-tt-tam_dung{background:#f1f5f9;color:#475569}.dc-tag-tt-sold,.dc-tag-tt-da_ban{background:#fee2e2;color:#991b1b}.dc-tag-coc{background:#fef3c7;color:#92400e}.thanh-loc-tt-wrap{position:relative;flex-shrink:0}.thanh-loc-tt-chip{white-space:nowrap}.thanh-loc-tt-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:260px;background:var(--surface, #ffffff);border:1px solid var(--line, #e2e8f0);border-radius:var(--r-lg, 14px);box-shadow:0 10px 30px #0000002e,0 2px 8px #00000014;padding:12px}.thanh-loc-tt-panel-header{margin-bottom:10px}.thanh-loc-tt-panel-title{font-size:13px;font-weight:700;color:var(--ink, #0f172a)}.thanh-loc-tt-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.thanh-loc-tt-panel-btn{min-height:38px;padding:6px 8px;border-radius:8px;border:1px solid var(--line, #cbd5e1);background:var(--surface-2, #f8fafc);color:var(--ink-secondary, #475569);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.thanh-loc-tt-panel-btn:hover{background:var(--surface-3, #f1f5f9)}.thanh-loc-tt-panel-btn.active{background:var(--primary, #b91c1c);border-color:var(--primary, #b91c1c);color:#fff;font-weight:700}.thanh-loc-tt-panel-footer{display:flex;align-items:center;gap:8px}.thanh-loc-tt-reset-btn{flex:1;min-height:36px;border:1px solid var(--line, #cbd5e1);border-radius:8px;background:transparent;color:var(--ink-secondary, #64748b);font-size:12px;font-weight:600;cursor:pointer}.thanh-loc-tt-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}.thanh-loc-tt-sheet-btn{min-height:44px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line, #cbd5e1);background:var(--surface-2, #f8fafc);color:var(--ink-secondary, #334155);font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:all .15s ease}.thanh-loc-tt-sheet-btn:active{transform:scale(.98)}.thanh-loc-tt-sheet-btn.active{background:var(--primary, #b91c1c);border-color:var(--primary, #b91c1c);color:#fff;font-weight:700}.kho-tong-extra-sold-section{background:var(--surface, #ffffff);border:1px solid var(--line, #e2e8f0);border-radius:var(--r-lg, 12px);padding:16px;margin-bottom:20px}.kho-tong-extra-sold-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed var(--line, #e2e8f0)}.kho-tong-extra-sold-title{font-size:15px;font-weight:700;color:#991b1b}.kho-tong-extra-sold-hint{font-size:12.5px;color:var(--ink-muted, #64748b)}.kho-tong-extra-sold-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media (min-width: 1200px){.dashboard-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(5,max-content) 1fr;column-gap:24px;align-items:start}.dashboard-container>*{grid-column:1}.dashboard-container>.dash-start-card{grid-column:1 / -1}.dashboard-container>.bdct-shell{grid-column:2;grid-row:1 / span 6;min-width:0}.tt-page{max-width:1280px;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);grid-template-rows:repeat(3,max-content) 1fr;column-gap:24px;align-items:start}.tt-page>*{grid-column:2;grid-row:span 4;min-width:0}.tt-page>.tt-filters{grid-column:1;grid-row:1}.tt-page>.tt-khu-tieude-box{grid-column:1;grid-row:2}.tt-page>.tt-tabs{grid-column:1;grid-row:3}.tt-page>.tt-tabs{flex-direction:column;border-bottom:0}}.ks-src-tag.may{font-weight:800}.ks-src-tag.may.so{background:#dbeafe;color:#2563eb}.ks-src-tag.may.anh{background:#ede9fe;color:#7c3aed}.ks-tk-ghi{font-size:12px;color:#64748b;padding:2px 12px 6px}.ks-pl-canh-bao{background:#fef2f2;color:#991b1b;border-radius:8px;padding:6px 10px;margin-top:6px;font-size:13px;font-weight:600;overflow-wrap:anywhere}.ks-pl-xam{color:#64748b;font-size:12px;margin-top:4px;overflow-wrap:anywhere}.lhw-o{display:grid;gap:4px;font-size:13px;color:var(--muted)}.lhw-o input{min-height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:15px;width:100%;box-sizing:border-box}.lhw-tick{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--ink);font-weight:600}.lhw-tick input{width:22px;height:22px}.lhw-nhac{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r);background:var(--warning-bg);color:var(--ink);font-size:13.5px;font-weight:600}.lhw-nhac button{min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}.lhw-cong{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.lhw-cong b{display:block;font-size:14px;color:var(--ink)}.lhw-cong small{color:var(--muted);font-size:12.5px}.lhw-cong button{flex:none;min-width:52px;min-height:36px;border:0;border-radius:18px;background:var(--line-strong);color:#fff;font-weight:800;cursor:pointer}.lhw-cong button[aria-pressed=true]{background:var(--success)}.tkct-muc{display:grid;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.tkct-muc h4{margin:0;font-size:14.5px;color:var(--ink)}.tkct-anh{grid-template-columns:96px 1fr;align-items:center;gap:14px;border-top:0}.tkct-vong{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;font-size:38px;font-weight:800}.tkct-vong img{width:100%;height:100%;object-fit:cover;display:block}.tkct-anh-phai{display:grid;gap:6px;justify-items:start;min-width:0}.tkct-nut{min-height:40px;padding:0 16px}.tkct-dl-dong{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);min-width:0}.tkct-dl-nhan{font-size:12.5px;color:var(--muted);font-weight:700}.tkct-dl-url{font-size:13px;word-break:break-all;color:var(--ink)}.tkct-dl-nut{display:flex;gap:8px}.tkct-dl-nut button,.tkct-dl-nut a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-weight:700;font-size:13.5px;text-decoration:none;cursor:pointer}.tkct-tele{min-height:44px;width:100%;text-align:left;padding:0 12px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;font-size:14.5px;cursor:pointer}.tkct-hop .modal-scroll-body{max-height:90vh;overflow-y:auto}.user-avatar-circle{overflow:hidden}.user-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.tn-av-dt .user-avatar-img{width:100%;height:100%}
