*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-weight:var(--weight-regular);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--text-strong);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-transform:uppercase;margin:0 0 var(--space-4)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4,h5,h6{font-family:var(--font-body);font-weight:var(--weight-bold);color:var(--text-strong);line-height:var(--leading-snug);margin:0 0 var(--space-3)}h4{font-size:var(--text-md)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}p{margin:0 0 var(--space-4);text-wrap:pretty}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}strong,b{font-weight:var(--weight-bold);color:var(--text-strong)}small{font-size:var(--text-sm)}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}hr{border:none;border-top:var(--border-width) solid var(--border-subtle);margin:var(--space-6) 0}::selection{background:color-mix(in srgb, var(--blue-500) 22%, transparent)}img{max-width:100%;display:block}.vichem-eyebrow{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-primary)}
:root{--vichem-blue:#1e5cab;--vichem-blue-dark:#1a447b;--vichem-green:#aad037;--vichem-green-olive:#8aab3e;--blue-50:#eef4fb;--blue-100:#d8e6f5;--blue-200:#aecbea;--blue-300:#7ba8da;--blue-400:#4a82c6;--blue-500:#1e5cab;--blue-600:#1a4f95;--blue-700:#1a447b;--blue-800:#163760;--blue-900:#122a49;--green-50:#f6faea;--green-100:#eaf4cb;--green-200:#d9ec9d;--green-300:#c4e16b;--green-400:#aad037;--green-500:#8aab3e;--green-600:#6f8a32;--green-700:#566a28;--green-800:#3f4d1f;--green-900:#2b3516;--gray-0:#fff;--gray-50:#f6f8fb;--gray-100:#eef1f6;--gray-200:#e0e6ee;--gray-300:#cad3df;--gray-400:#99a6b6;--gray-500:#6a7787;--gray-600:#4b5664;--gray-700:#353e4a;--gray-800:#222a34;--gray-900:#131a23;--ink:#0d141d;--success:#4e9a35;--success-bg:#eaf4e2;--warning:#e09a2d;--warning-bg:#fbf0d8;--danger:#d24545;--danger-bg:#fbe6e6;--info:var(--blue-500);--info-bg:var(--blue-50);--gradient-brand:linear-gradient(120deg, #1a447b 0%, #1e5cab 100%);--gradient-fresh:linear-gradient(120deg, #1e5cab 0%, #8aab3e 100%);--color-primary:var(--blue-500);--color-primary-hover:var(--blue-600);--color-primary-active:var(--blue-700);--color-primary-contrast:#fff;--color-accent:var(--green-400);--color-accent-hover:var(--green-500);--color-accent-contrast:var(--blue-900);--text-accent:var(--green-700);--text-strong:var(--ink);--text-body:var(--gray-700);--text-muted:var(--gray-500);--text-faint:var(--gray-400);--text-on-brand:#fff;--text-link:var(--blue-500);--surface-page:var(--gray-50);--surface-card:#fff;--surface-sunken:var(--gray-100);--surface-brand:var(--blue-500);--surface-brand-dark:var(--blue-700);--surface-inverse:var(--ink);--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-strong:var(--gray-400);--border-brand:var(--blue-500);--focus-ring:color-mix(in srgb, var(--blue-500) 45%, transparent)}
:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-12:6rem;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--border-width:1px;--border-width-strong:2px;--shadow-xs:0 1px 2px #122a490f;--shadow-sm:0 1px 3px #122a4914, 0 1px 2px #122a490d;--shadow-md:0 4px 12px #122a491a;--shadow-lg:0 12px 28px #122a4924;--shadow-xl:0 24px 48px #122a492e;--shadow-focus:0 0 0 3px var(--focus-ring);--container-sm:640px;--container-md:880px;--container-lg:1140px;--container-xl:1320px;--header-height:72px;--bp-mobile:599px;--bp-tablet:600px;--bp-laptop:900px;--bp-desktop:1280px;--img-seo-thumb-w:1200px;--img-seo-thumb-h:732px;--img-seo-inline-w:1000px;--img-seo-inline-h:700px;--img-social-w:1000px;--img-social-h:1000px;--img-zalo-cover-w:640px;--img-zalo-cover-h:340px;--z-base:0;--z-sticky:50;--z-dropdown:100;--z-overlay:200;--z-modal:300;--z-toast:400;--z-tooltip:500;--opacity-disabled:.5;--opacity-muted:.72;--opacity-overlay:.55;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.45, 0, .25, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s}
:root{--font-display:"UTM Bebas", "Bebas Neue", "Oswald", sans-serif;--font-body:"Averta", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Menlo", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4rem;--text-5xl:5.5rem;--weight-regular:400;--weight-bold:700;--leading-tight:1.04;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-display:.01em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.12em;--font-heading:var(--font-display);--font-text:var(--font-body)}
@font-face{font-family:Averta;src:url(/fonts/Averta-Regular.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Averta;src:url(/fonts/Averta-Bold.otf)format("opentype");font-weight:700;font-display:swap}@font-face{font-family:UTM Bebas;src:url(/fonts/UTM-Bebas.ttf)format("truetype");font-weight:400;font-display:swap}html,body{color:#0d141d;background:#f6f8fb;margin:0;padding:0;font-family:Averta,system-ui,sans-serif;line-height:1.5}h1{text-transform:uppercase;letter-spacing:.012em;overflow-wrap:break-word;margin:0;padding-block-start:.04em;font-family:UTM Bebas,Oswald,sans-serif;font-weight:400;line-height:1.12}h2,h3,h4,h5,h6{letter-spacing:-.005em;text-transform:none;margin:0;font-family:Averta,system-ui,sans-serif;font-weight:700;line-height:1.35}*{box-sizing:border-box}a{color:#1e5cab}button,input{font:inherit}button{color:#fff;cursor:pointer;background:#1e5cab;border:0;border-radius:8px;padding:10px 16px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.65}.dashboard-shell{min-height:100vh;display:flex}.dashboard-main{flex:1;min-width:0;max-width:1180px;padding:32px 36px 64px}.sidebar{background:var(--surface-card);flex-direction:column;flex-shrink:0;width:236px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{align-self:flex-start;width:auto;height:32px;margin:0 0 28px}.sidebar-links{gap:4px;display:grid}.sidebar-link{color:#4b5664;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:9px 12px;font-size:15px;text-decoration:none;display:flex}.sidebar-link:hover{background:#f6f8fb;text-decoration:none}.sidebar-link.is-active{color:#1e5cab;background:#eef4fb;font-weight:700}.sidebar-bottom{gap:4px;margin-top:auto;margin-bottom:56px;display:grid}.sidebar-tro-ly{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}.sidebar-link:focus-visible,.bottom-bar-link:focus-visible,.bottom-bar-more:focus-visible,.bottom-bar-menu-link:focus-visible{outline:2px solid var(--blue-500);outline-offset:-2px}.sidebar-count,.bottom-bar-count{background:var(--warning-bg);min-width:20px;color:var(--gray-800);text-align:center;border-radius:999px;padding:0 6px;font-size:12px;font-weight:700;line-height:20px;display:inline-block}.sidebar-count{margin-left:auto}.bottom-bar{display:none}.bottom-bar-menu{background:var(--surface-card);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);padding:6px;display:grid;position:fixed;bottom:64px;right:8px}.bottom-bar-menu-link{border-radius:var(--radius-md);min-height:44px;color:var(--text-strong);align-items:center;gap:10px;padding:0 12px;font-size:15px;text-decoration:none;display:flex}.bottom-bar-menu-link:hover{background:var(--surface-sunken);text-decoration:none}.bottom-bar-menu-link.is-active{color:var(--blue-500);font-weight:700}.page-header{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header>div:first-child{flex:1}.page-header h1{color:#122a49;font-size:32px}.page-header p{color:#6a7787;margin:6px 0 0;font-size:15px}.page-header-actions{gap:8px;display:flex}.dashboard-card{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:22px 24px}.dashboard-card h2{color:#122a49;letter-spacing:-.005em;margin-bottom:14px;font-size:15px}.muted{color:#6a7787}.page-date{color:#6a7787;white-space:nowrap;font-size:14px}.upcoming-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.upcoming-list li{border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 10px 10px 0;display:flex}.upcoming-list li:hover{background:#f6f8fb;margin-left:-10px;padding-left:10px}.empty-state{color:#6a7787;margin:0;padding:4px 0 2px}.job-error,.login-error{color:#d24545}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border-radius:12px;width:min(360px,100%);padding:32px}.login-logo{height:40px;margin-bottom:24px}.login-card h1{margin-bottom:16px;font-size:24px}.login-card label{color:#0d141d;margin-bottom:8px;font-weight:700;display:block}.login-card input{color:#0d141d;border:1px solid #cad3df;border-radius:8px;width:100%;padding:10px 12px}.login-card input:focus{outline-offset:1px;outline:3px solid #1e5cab73}.login-error{margin:12px 0 0}.login-card button{width:100%;margin-top:20px}.content-toolbar,.content-actions,.content-meta,.content-tabs{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.content-toolbar{margin-bottom:16px}.content-actions{justify-content:flex-end}.content-meta{color:#6a7787;margin-bottom:16px}.content-tabs{margin-bottom:16px}.field,.editor-raw{color:#0d141d;width:100%;font:inherit;background:#fff;border:1px solid #cad3df;border-radius:8px;padding:9px 11px;font-size:15px}.field:focus,.editor-raw:focus{outline-offset:1px;outline:3px solid #1e5cab4d}.field-compact{width:auto;font-size:14px}.field-disabled{color:#6a7787;background:#f6f8fb}.form-card,.content-panel,.detail-section,.editor-panel{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:22px 24px}.form-card{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.form-label{gap:5px;display:grid}.form-label>span:first-child{font-size:14px;font-weight:700}.form-hint{color:#6a7787;font-size:13px}.form-label textarea{resize:vertical;min-height:90px}.social-upload-card{margin-bottom:18px}.social-channel-options{flex-wrap:wrap;gap:10px;display:flex}.social-channel-option{cursor:pointer;border:1px solid #cad3df;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.social-channel-option.is-selected{color:#1e5cab;background:#eef4fb;border-color:#1e5cab}.social-dropzone{color:#4b5664;text-align:center;border:2px dashed #cad3df;border-radius:10px;justify-items:center;gap:8px;padding:30px;display:grid}.social-dropzone.is-disabled{opacity:.58}.social-dropzone p,.social-file-list{margin:0}.social-file-list{color:#4b5664;overflow-wrap:anywhere;font-size:14px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.button-primary,.button-secondary,.button-danger,.tab-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:15px;font-weight:700}.button-primary{color:#fff;background:#1e5cab}.button-secondary{color:#4b5664;background:#fff;border-color:#cad3df}.button-danger{color:#fff;background:#d24545}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.tab-button:disabled{cursor:not-allowed;opacity:.65}.tab-button{color:#4b5664;background:#fff;border-color:#cad3df}.tab-button.is-active{color:#1e5cab;background:#eef4fb;border-color:#1e5cab}.channel-badge,.status-badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.channel-badge-website{color:#fff;background:#1a447b}.channel-badge-facebook{color:#fff;background:#1e5cab}.channel-badge-linkedin{color:#fff;background:#4a82c6}.channel-badge-zalo-oa{color:#122a49;background:#7ba8da}.status-badge-draft{color:#6a7787;background:#eef1f6}.status-badge-approved{color:#1e5cab;background:#eef4fb}.status-badge-published{color:#4e9a35;background:#eaf4e2}.content-table-wrap{overflow-x:auto}.content-table{border-collapse:collapse;width:100%}.content-table th{color:#6a7787;text-align:left;padding:4px 10px 14px;font-size:13px;font-weight:700}.content-table td{vertical-align:middle;border-top:1px solid #eef1f6;padding:13px 10px}.content-table tbody tr:hover{background:#f6f8fb}.content-table td a{color:#0d141d;font-weight:700;text-decoration:none}.content-table td a:hover{color:#1e5cab}.editor-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.editor-toggle{color:#4b5664;font:inherit;cursor:pointer;background:#fff;border:1px solid #cad3df;border-radius:8px;padding:6px 12px;font-size:14px}.editor-toggle.is-active{color:#1e5cab;background:#eef4fb;font-weight:700}.editor-raw{resize:vertical;min-height:480px;font-family:ui-monospace,Consolas,monospace;line-height:1.6}.editor-surface{background:#fff;border:1px solid #cad3df;border-radius:8px;min-height:480px;padding:16px}.editor-surface .ProseMirror{outline:none;max-width:68ch;min-height:360px;font-size:15.5px;line-height:1.65}.editor-surface .ProseMirror p{margin:0 0 14px}.editor-surface .ProseMirror h1,.editor-surface .ProseMirror h2,.editor-surface .ProseMirror h3{text-transform:none;margin:22px 0 10px;font-family:Averta,system-ui,sans-serif;font-weight:700;line-height:1.3}.editor-surface .ProseMirror h1{font-size:21px}.editor-surface .ProseMirror h2{font-size:18px}.editor-surface .ProseMirror h3{font-size:16px}.editor-surface .ProseMirror>:first-child{margin-top:0}.editor-surface .ProseMirror ul,.editor-surface .ProseMirror ol{margin:0 0 14px;padding-left:24px}.editor-surface .ProseMirror table{max-width:none}.detail-section{margin-top:16px}.detail-section h2{margin:0 0 12px;font-size:18px}.detail-section textarea{resize:vertical;min-height:80px}.notice{color:#8a5a10;background:#fbf0d8;border-radius:8px;padding:16px}.notice-loi{color:#9b1c1c;background:#fde8e8}.error-notice{color:#d24545;background:#fbe6e6;border-radius:8px;padding:12px}.success-text{color:#4e9a35}.muted-text{color:#6a7787}.empty-text{color:#99a6b6}.job-log-view{color:#e0e6ee;white-space:pre-wrap;background:#131a23;border-radius:8px;max-height:340px;margin:10px 0 0;padding:12px;font-size:12.5px;overflow:auto}.icon-button{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.calendar-card{background:var(--surface-card);border-radius:12px;padding:20px}.plan-create-card{margin-bottom:16px}.plan-create-card h2{margin:0;font-size:20px}.plan-create-card .content-toolbar{align-items:flex-end}.empty-state{text-align:center;background:#fff;border-radius:12px;padding:32px}.empty-state h2{margin-bottom:8px;font-size:22px}.empty-state p{margin:0 0 20px}.markdown-body{line-height:1.7}.markdown-body code{overflow-wrap:anywhere}.markdown-body pre{overflow-x:auto}.markdown-body h2{margin-top:28px}.markdown-body h3{margin-top:20px}.markdown-body ul,.markdown-body ol{padding-left:24px}.report-body table{border-collapse:collapse;width:100%;margin:16px 0;display:block;overflow-x:auto}.report-body th,.report-body td{text-align:left;border:1px solid #e0e6ee;padding:8px 12px}.report-body tbody tr:nth-child(2n){background:#f6f8fb}.report-body h2{margin-top:28px}.report-body h3{margin-top:20px}.report-form{gap:16px}.report-form h2,.settings-panel h2{margin:0;font-size:20px}.report-tab{gap:var(--space-5);margin-top:var(--space-5);display:grid}.report-tab-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.report-tab-head h2{font-size:var(--text-xl);margin:0}.report-tab-period{margin:var(--space-1) 0 0;color:var(--text-muted)}.report-tab-actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.report-select{gap:var(--space-1);min-width:0;display:grid}.report-select span{color:var(--text-muted);font-size:var(--text-sm)}.report-collapse{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card)}.report-collapse summary{cursor:pointer;font-weight:var(--weight-bold)}.report-collapse[open] summary{margin-bottom:var(--space-4)}.bao-cao-thang-dau{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.bao-cao-thang-khung{width:100%;overflow:hidden}.bao-cao-thang-xem{transform-origin:0 0;background:#fff;border:0;width:794px;display:block}.bao-cao-thang-kq{gap:var(--space-2);min-width:0;display:grid}.bao-cao-thang-kq h3{font-size:var(--text-md);margin:0}.bao-cao-thang-kq ol{padding-left:var(--space-5);margin:0}.bao-cao-thang-kq-dau{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.bao-cao-thang-o{gap:var(--space-1);display:grid}.bao-cao-thang-nut{gap:var(--space-3);display:flex}.bao-cao-thang-pdf{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.report-lead-kenh{gap:var(--space-3);display:grid}.report-lead-kenh h3{margin:0}.settings-panel{margin-bottom:16px}.ket-noi-dau{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ket-noi-danh-sach{margin:var(--space-3) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.ket-noi-muc{gap:var(--space-1);padding:var(--space-3);border:var(--border-width) solid var(--gray-300);border-radius:var(--radius-xs);justify-items:start;display:grid}.ket-noi-ten{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ket-noi-chi-tiet{color:var(--gray-800);overflow-wrap:anywhere;margin:0}.ket-noi-han{color:var(--gray-700);font-size:var(--text-sm);margin:0}.ket-noi-han-canh-bao{color:var(--gray-800);font-weight:var(--weight-bold);border-left:4px solid var(--warning);padding-left:var(--space-3)}.settings-list{gap:0;margin-top:16px;display:grid}.settings-row{grid-template-columns:150px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.settings-row>span{color:#6a7787;font-weight:700}.settings-row code{overflow-wrap:anywhere}.sync-action{margin-top:16px}.sync-action p{margin:12px 0 0}.settings-note{margin-top:16px}.cron-list{flex-direction:column;gap:12px;display:flex}.cron-row{border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.cron-row-bat{border-left:3px solid #16a34a}.cron-main{flex:320px}.cron-title{align-items:center;gap:10px;display:flex}.cron-badge{color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:12px}.cron-badge-bat{color:#15803d;background:#dcfce7}.cron-meta{color:#475569;margin:6px 0 0;font-size:13px}.cron-log{color:#475569;white-space:pre-wrap;background:#f8fafc;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:12px;overflow-x:auto}.cron-canhbao{color:#c2410c;align-items:flex-start;gap:6px;margin:8px 0 0;font-size:13px;display:flex}.cron-actions{flex-wrap:wrap;gap:8px;display:flex}.cron-lich{border-top:1px solid #e2e8f0;flex-wrap:wrap;flex:100%;gap:12px;padding-top:12px;display:flex}.cron-ket-qua{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere}.cron-ket-qua-loi{color:var(--gray-800);font-weight:var(--weight-bold);background:var(--danger-bg);border-left:4px solid var(--danger);padding:var(--space-1) var(--space-3)}.cron-ket-qua-can-xu-ly{color:var(--gray-800);font-weight:var(--weight-bold);background:var(--warning-bg);border-left:4px solid var(--warning);padding:var(--space-1) var(--space-3)}.cron-ket-qua-thanh-cong{color:var(--green-800)}.cron-log-chi-tiet{margin-top:var(--space-2);font-size:var(--text-sm)}.cron-log-chi-tiet summary{cursor:pointer;color:var(--text-muted);font-weight:var(--weight-bold)}.sao-luu-gia-tri{overflow-wrap:anywhere}.sao-luu-canh-bao{color:var(--gray-800);border-left:4px solid var(--warning);padding-left:var(--space-3);overflow-wrap:anywhere}@media (max-width:720px){.content-table th,.content-table td{white-space:nowrap}.sidebar{width:196px}.dashboard-main{padding:24px 20px}.settings-row{grid-template-columns:1fr;gap:4px}.page-header{flex-direction:column}}.editor-surface .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:12px 0;overflow:hidden}.editor-surface .ProseMirror th,.editor-surface .ProseMirror td{text-align:left;vertical-align:top;border:1px solid #e0e6ee;padding:8px 12px}.editor-surface .ProseMirror th{background:#f6f8fb;font-weight:700}.editor-surface .ProseMirror tbody tr:nth-child(2n) td{background:#f6f8fb}.editor-surface .ProseMirror .selectedCell:after{pointer-events:none;content:"";background:#1e5cab1f;position:absolute;inset:0}.page-header .page-path{color:#99a6b6;word-break:break-all;margin:6px 0 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px}.lead-toolbar{align-items:end}.lead-form{margin-bottom:16px}.lead-form-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lead-form-heading h2{margin:0;font-size:20px}.lead-form-wide{grid-column:1/-1}.lead-ds{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.lead-ds-muc{gap:var(--space-1);min-width:0;padding:var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-strong);text-decoration:none;display:grid}.lead-ds-muc:hover{border-color:var(--border-strong)}.lead-ds-muc:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.lead-ds-muc.is-active{border-color:var(--info);background:var(--info-bg)}.lead-ds-ten{font-weight:var(--weight-bold);overflow-wrap:anywhere}.lead-ds-phu{color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.lead-chi-tiet-khung,.lead-chi-tiet{gap:var(--space-4);min-width:0;display:grid}.lead-chi-tiet h2{font-size:var(--text-lg);overflow-wrap:anywhere;margin:0}.lead-chi-tiet-nut{justify-content:flex-start}.lead-da-chuyen{color:var(--text-muted);font-size:var(--text-sm);margin:0}.lead-thong-tin{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.lead-thong-tin>div{min-width:0}.lead-thong-tin dt{color:var(--text-muted);font-size:var(--text-sm)}.lead-thong-tin dd{color:var(--text-strong);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.lead-thong-tin-rong{grid-column:1/-1}.calendar-card .fc-toolbar-title{text-transform:capitalize;font-size:19px;font-weight:700}.calendar-card .fc-button{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-body);box-shadow:none;border-radius:8px;font-size:14px;font-weight:700}.calendar-card .fc-button:hover:not(:disabled){background:var(--surface-page);border-color:var(--border-strong);color:var(--color-primary)}.calendar-card .fc-button:disabled{background:var(--surface-page);border-color:var(--border-subtle);color:var(--text-faint);opacity:1}.calendar-card .fc-col-header-cell{background:var(--surface-page);padding:10px 0;font-size:13px;font-weight:700}.calendar-card .fc-col-header-cell-cushion{color:var(--text-body);text-decoration:none}.calendar-card .fc-daygrid-day-number{color:var(--text-body);font-size:13px;text-decoration:none}.calendar-card .fc-day-other .fc-daygrid-day-number{color:var(--gray-300)}.calendar-card .fc-day-today{background:var(--warning-bg)!important}.calendar-card .fc-daygrid-event{border-radius:6px;padding:3px 7px;font-size:12.5px;font-weight:700}.calendar-card .fc-theme-standard td,.calendar-card .fc-theme-standard th{border-color:var(--gray-100)}.calendar-card .fc-theme-standard .fc-scrollgrid{border-color:var(--border-subtle)}.calendar-card{--fc-event-bg-color:var(--surface-card);--fc-event-border-color:var(--border-default);--fc-event-text-color:var(--text-strong)}.calendar-card .fc-daygrid-event{cursor:pointer;min-width:0}.calendar-card .fc-daygrid-event:hover{border-color:var(--border-strong)}.lich-thang,.lich-danh-sach{gap:var(--space-4);min-width:0;display:grid}.lich-su-kien{align-items:center;gap:var(--space-1);width:100%;min-width:0;display:flex}.lich-su-kien-tieu-de{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.lich-cham-ds{flex:none;gap:3px;display:inline-flex}.lich-su-kien-goi{flex-direction:column;align-items:stretch;gap:3px}.lich-cham{box-sizing:border-box;border:var(--border-width-strong) solid;border-radius:var(--radius-xs);width:18px;height:18px;font-size:var(--text-xs);font-weight:var(--weight-bold);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.lich-cham-chua-co{border-color:var(--border-strong);background:var(--surface-card);color:var(--text-muted)}.lich-cham-dang-chay{border-color:var(--gray-400);background:var(--gray-200);color:var(--gray-800)}.lich-cham-draft{border-color:var(--warning);background:var(--warning-bg);color:var(--gray-800)}.lich-cham-approved{border-color:var(--blue-400);background:var(--info-bg);color:var(--blue-700)}.lich-cham-published{border-color:var(--success);background:var(--success-bg);color:var(--green-800)}.lich-cham-loi{border-color:var(--danger);background:var(--danger-bg);color:var(--gray-800)}.lich-chu-giai{gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);display:grid}.lich-chu-giai-ds{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lich-chu-giai-ds li{align-items:center;gap:var(--space-2);display:inline-flex}.lich-chu-giai-kenh{margin:0}.lich-loc{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lich-loc .field{width:auto;min-width:0}.lich-loc-tim{flex:220px}.lich-bang{border-collapse:collapse;width:100%}.lich-bang th{padding:var(--space-1) var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:left}.lich-bang td{padding:var(--space-3) var(--space-2);border-top:var(--border-width) solid var(--border-subtle);vertical-align:middle}.lich-bang-ngay{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.lich-bang-tieu-de a{color:var(--text-strong);font-weight:var(--weight-bold);text-decoration:none}.lich-bang-tieu-de a:hover{color:var(--color-primary)}.lich-bang-kenh{white-space:nowrap}.lich-bang-kenh .lich-cham{margin-right:var(--space-1)}.lich-bang-nhan{color:var(--text-body);font-size:var(--text-sm)}.lich-bang-trong{color:var(--text-faint)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:0 0 20px;padding:0;list-style:none;display:grid}.image-item{background:#f6f8fb;border:1px solid #e0e6ee;border-radius:10px;gap:8px;padding:12px;display:grid}.image-thumb{background:#fff;border-radius:6px;width:100%;height:auto;display:block}.image-meta{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.image-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.image-form{gap:14px;max-width:640px;display:grid}.image-form textarea{resize:vertical;min-height:72px}.image-job{margin-top:4px}.image-message{margin-left:12px;font-size:14px}.button-small{padding:6px 12px;font-size:13.5px}@media (max-width:640px){.report-tab{grid-template-columns:minmax(0,1fr)}.report-body{overflow-wrap:anywhere}.ket-noi-dau{flex-direction:column;align-items:stretch}.dashboard-shell{flex-direction:column;padding-bottom:64px}.dashboard-main{max-width:100%;padding:16px 16px 64px}.dashboard-shell .hoat-dong{z-index:calc(var(--z-sticky) + 1)}.thanh-duyet-nut{padding-right:140px}.sidebar{display:none}.bottom-bar{z-index:calc(var(--z-sticky) + 1);background:var(--surface-card);border-top:var(--border-width) solid var(--border-subtle);height:64px;box-shadow:var(--shadow-sm);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-bar-link,.bottom-bar-more{min-width:0;min-height:64px;color:var(--text-muted);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 2px;font-size:11px;line-height:1.2;text-decoration:none;display:flex;position:relative}.bottom-bar-link.is-active,.bottom-bar-more.is-active{color:var(--blue-500);box-shadow:inset 0 -3px 0 var(--blue-500)}.bottom-bar-count{line-height:18px;position:absolute;top:4px;left:calc(50% + 6px)}.form-grid,.settings-row{grid-template-columns:1fr}.cron-main{flex:100%;min-width:0}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.page-header h1{font-size:24px;line-height:1.25}.page-header-actions{flex-wrap:wrap;width:100%}.content-toolbar{flex-direction:column;align-items:stretch}.content-toolbar>*{width:100%}.button-primary,.button-secondary,.field{min-height:44px}.content-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.report-tab-actions{flex-direction:column;align-items:stretch;width:100%}.report-tab-actions>*{width:100%}.report-collapse summary{align-items:center;min-height:44px;display:flex}.content-panel h2,.markdown-body h2{font-size:19px;line-height:1.3}.content-panel h3,.markdown-body h3{font-size:16px;line-height:1.35}.dashboard-card,.content-panel,.form-card{min-width:0}.lead-thong-tin{grid-template-columns:minmax(0,1fr)}.lead-co-chon .lead-toolbar{display:none}.lead-chuyen-sales,.lead-chi-tiet,.lead-form{min-width:0}.lead-chuyen-sales .field,.lead-form .field{width:100%;min-width:0}.lead-chuyen-sales-chan button{flex:100%}.lead-chi-tiet-nut,.lead-form .content-actions{flex-wrap:wrap}.mail-xem-truoc{white-space:pre-wrap;overflow-wrap:anywhere}.calendar-card{padding:var(--space-2);overflow-x:auto}.lich-bang thead{display:none}.lich-bang,.lich-bang tbody,.lich-bang tr,.lich-bang td{width:100%;display:block}.lich-bang tr{margin-bottom:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card)}.lich-bang td{padding:var(--space-1) 0;border-top:0}.lich-bang td.lich-bang-kenh{width:auto;margin-right:var(--space-3);display:inline-block}.lich-bang-kenh:before{content:attr(data-nhan) ": ";color:var(--text-muted);font-size:var(--text-xs)}.lich-loc .field{flex:100%}.lich-loc-tim{flex-basis:100%}}.lead-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lead-messages{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.lead-messages li{border-left:3px solid #e2e8f0;align-items:baseline;gap:12px;padding-left:12px;display:flex}.lead-message-time{color:#64748b;white-space:nowrap;font-size:13px}.lead-message-body{white-space:pre-wrap}.lead-chuyen-sales{gap:var(--space-3);min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);display:grid}.lead-chuyen-sales h3{font-size:var(--text-md);margin:0}.lead-chuyen-sales .muted-text{margin:var(--space-1) 0 0}.lead-chuyen-sales-than{gap:var(--space-3);min-width:0;display:grid}.lead-chuyen-sales-chan{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.quet-lead{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.quet-lead-nhan{color:#475569;font-size:14px}.quet-lead-ngay{color:#475569;align-items:center;gap:6px;margin-left:8px;font-size:14px;display:flex}.quet-lead-ngay .field{width:auto}.canh-bao-thieu{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:13px}.field-thieu{background:#fef2f2;border-color:#dc2626}.field-thieu:focus{outline-color:#dc262659}.mail-xem-truoc{white-space:pre-wrap;background:#f8fafc;border:1px solid #e0e6ee;border-radius:8px;margin:12px 0 0;padding:14px 16px;font-family:inherit;font-size:14px;overflow-x:auto}.dan-chat{min-width:0}.dan-chat h2{font-size:var(--text-lg);margin:0}.dan-chat-trung{gap:8px;display:grid}.dan-chat-trung-muc{align-items:flex-start;gap:8px;display:flex}.dan-chat-link{color:#1e5cab;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.dan-chat-link:disabled{cursor:not-allowed;opacity:.65}.anh-dinh-kem{margin-top:14px}.anh-o-dan{color:#6a7787;text-align:center;cursor:text;background:#f8fafc;border:1px dashed #cad3df;border-radius:8px;padding:16px;font-size:14px}.anh-o-dan:focus{background:#fff;border-color:#1e5cab;outline:2px solid #1e5cab73}.anh-hang{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.anh-luoi{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.anh-luoi li{background:#fff;border:1px solid #e0e6ee;border-radius:6px;width:96px;height:96px;position:relative;overflow:hidden}.anh-luoi img{object-fit:cover;width:100%;height:100%}.anh-luoi button{color:#fff;cursor:pointer;background:#0d141db3;border:0;border-radius:50%;width:24px;height:24px;padding:0;font-size:12px;position:absolute;top:4px;right:4px}.content-seo-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.content-seo-main{min-width:0}.seo-panel{background:#fff;border:1px solid #e0e6ee;border-radius:12px;gap:14px;max-height:calc(100vh - 32px);padding:18px 20px;display:grid;position:sticky;top:16px;overflow-y:auto}.seo-panel-head{justify-content:space-between;align-items:center;display:flex}.seo-panel-head h2{margin:0;font-size:18px}.seo-badge{border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.seo-badge.is-ok{color:#3d7a2a;background:#e8f4e2}.seo-badge.is-warn{color:#8a5a10;background:#fbf0d8}.seo-serp{background:#fafbfd;border:1px solid #e0e6ee;border-radius:8px;padding:12px 14px;font-family:Arial,sans-serif}.seo-serp-url{color:#4d5156;overflow-wrap:anywhere;font-size:13px}.seo-serp-title{color:#1a0dab;margin:2px 0 4px;font-size:18px;line-height:1.3}.seo-serp-desc{color:#4d5156;font-size:13px;line-height:1.5}.seo-count.is-warn{color:#b3261e;font-weight:700}.seo-url{overflow-wrap:anywhere}.seo-alt{gap:3px;display:grid}.seo-alt-file{color:#6a7787;overflow-wrap:anywhere;font-size:12px}.seo-checks{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.seo-checks li{gap:8px;display:flex}.seo-checks li>span{border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:grid}.seo-checks .is-ok>span{color:#3d7a2a;background:#e8f4e2}.seo-checks .is-warn>span{color:#8a5a10;background:#fbf0d8}@media (max-width:1100px){.content-seo-layout{grid-template-columns:1fr}.seo-panel{max-height:none;position:static}}.translation-box{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.translation-label{color:#6a7787;font-size:14px}.lang-pill{color:#1e5cab;border:1px solid #cad3df;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700;text-decoration:none}a.lang-pill:hover{background:#eef4fb}.lang-pill.is-current{color:#fff;background:#1e5cab;border-color:#1e5cab}.lang-pill.is-missing{color:#9aa6b4;border-style:dashed}.translation-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:6px;display:inline-flex}.translation-actions .button-secondary{padding:5px 12px;font-size:14px}.lang-pill-inline{vertical-align:middle;margin-left:8px}.agent-card{color:inherit;text-decoration:none;display:block}.agent-card:hover{border-color:#1e5cab}.agent-card h2{margin:0 0 6px}.agent-than-editor{resize:vertical;box-sizing:border-box;width:100%;min-height:28rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5}.ky-steps{gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ky-step{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);background:var(--surface-sunken);color:var(--text-muted)}.ky-step.done{background:var(--success-bg);color:var(--text-strong)}.ky-step.now{background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--weight-bold)}.ky-doc{max-width:860px}.ky-gop-y{max-width:860px;margin-top:16px}.ky-gop-y-nut{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.ky-nhat-ky h2{margin:14px 0 6px;font-size:15px}.bang-chu-de{margin:8px 0 16px;overflow-x:auto}.kho-tu-khoa-nguon{margin:8px 0 16px;padding-left:18px}.kho-tu-khoa-loi{color:var(--text-muted)}.kho-tu-khoa-nhom h3{margin:16px 0 4px;font-size:15px}.kho-tu-khoa-nhom h4{color:var(--text-muted);margin:8px 0 4px;font-size:13px}.kho-tu-khoa-ds{overflow-wrap:anywhere;margin:0 0 6px;padding-left:18px}.kho-tu-khoa-ds li{margin-bottom:3px}.kho-tu-khoa-them summary{cursor:pointer;color:var(--text-muted);margin:4px 0}.kho-tu-khoa-dung{color:var(--text-body)}.bang-chu-de td{vertical-align:top}.bang-chu-de table{table-layout:fixed;width:100%;min-width:960px}.bang-chu-de th:first-child{width:13%}.bang-chu-de th:nth-child(2){width:28%}.bang-chu-de th:nth-child(3),.bang-chu-de th:nth-child(4){width:13%}.bang-chu-de th:nth-child(5){width:11%}.bang-chu-de th:nth-child(7){width:15%}.bang-chu-de td input.field,.bang-chu-de td select.field{width:100%;min-width:0}.bang-chu-de-ly-do{font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere}.bang-chu-de-nut{gap:var(--space-1);flex-direction:column;display:flex}.bang-chu-de-nut button{white-space:nowrap}.bang-chu-de-phu{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.bang-chu-de-tach td{background:var(--surface-sunken);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-muted)}.bang-chu-de-du-phong td{color:var(--text-muted)}.ke-hoach-thang{align-items:center;gap:var(--space-2);display:inline-flex}.ke-hoach-thang-nhan{font-weight:var(--weight-bold);white-space:nowrap;text-align:center;min-width:9ch}.ke-hoach-the-luoi{gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.ke-hoach-the{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);align-content:start;display:grid}.ke-hoach-the h3{font-size:var(--text-lg);margin:0}.ke-hoach-the p{margin:0}.ke-hoach-the-nganh{font-size:var(--text-xs);color:var(--text-muted)}.ke-hoach-the-diem{font-size:var(--text-sm);color:var(--text-strong)}.ke-hoach-the-diem strong{font-size:var(--text-2xl)}.thanh-duyet{z-index:var(--z-sticky);gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-top:var(--border-width) solid var(--border-default);background:var(--surface-card);box-shadow:var(--shadow-md);display:grid;position:sticky;bottom:0}.thanh-duyet-goi-y{font-size:var(--text-sm);color:var(--text-muted);margin:0}.thanh-duyet-nut{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}@media (max-width:640px){.thanh-duyet{bottom:64px}}.goi-card{background:#fff;border:1px solid #e0e6ee;border-radius:8px;align-content:start;gap:12px;padding:16px;display:grid}.goi-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.goi-card h2{margin:0;font-size:16px}.goi-thongtin{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px;display:grid}.goi-thongtin dt{color:#6a7787}.goi-thongtin dd{overflow-wrap:anywhere;margin:0}.goi-hanh-dong{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.doi-thu-ds{margin:0 0 12px;padding:0;list-style:none}.doi-thu-dong{border-bottom:1px solid var(--border-default);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.doi-thu-chon{white-space:nowrap;align-items:center;gap:6px;display:flex}.doi-thu-thong-tin{overflow-wrap:anywhere;flex:1;min-width:0}.doi-thu-thong-tin p{margin:2px 0}.doi-thu-ten{font-weight:600}.doi-thu-them{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px;display:flex}.doi-thu-o{flex-direction:column;flex:180px;gap:4px;min-width:0;display:flex}.doi-thu-o input{box-sizing:border-box;width:100%}@media (max-width:640px){.doi-thu-dong{flex-wrap:wrap}.doi-thu-thong-tin{flex-basis:100%}.doi-thu-them button{width:100%}}.ui-tabs{gap:var(--space-1);min-width:0;max-width:100%;box-shadow:inset 0 calc(var(--border-width) * -1) 0 var(--border-subtle);display:flex;position:relative;overflow-x:auto}.ui-tabs-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width-strong) solid transparent;color:var(--text-body);font-weight:var(--weight-bold);white-space:nowrap;text-decoration:none;display:inline-flex}.ui-tabs-link:hover{color:var(--text-strong)}.ui-tabs-link.is-active{color:var(--text-strong);border-bottom-color:var(--border-brand)}.ui-tabs-link:focus-visible{outline:2px solid var(--blue-500);outline-offset:-2px}.ui-tabs-count{min-width:1.5em;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-body);font-size:var(--text-xs);text-align:center;line-height:1.5}.ui-tabs-link.is-active .ui-tabs-count{background:var(--blue-500);color:var(--text-on-brand)}.ui-list-detail{gap:var(--space-5);grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;display:grid}.ui-list-detail-list,.ui-list-detail-detail{min-width:0}.ui-list-detail-empty{padding:var(--space-6);border:var(--border-width) dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-body);text-align:center}.ui-list-detail-back{display:none}.ui-list-detail-back:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}@media (max-width:720px){.ui-list-detail{grid-template-columns:minmax(0,1fr)}.ui-list-detail-detail{display:none}.ui-list-detail.has-selection .ui-list-detail-detail{display:block}.ui-list-detail.has-selection .ui-list-detail-list{display:none}.ui-list-detail-back{align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);color:var(--text-link);font-weight:var(--weight-bold);text-decoration:none;display:inline-flex}}.ui-badge{padding:2px var(--space-2);border:var(--border-width) solid;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-snug);white-space:nowrap;align-items:center;display:inline-flex}.ui-badge-neutral{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.ui-badge-info{background:var(--info-bg);color:var(--blue-700);border-color:var(--blue-200)}.ui-badge-success{background:var(--success-bg);color:var(--green-800);border-color:var(--green-300)}.ui-badge-warning{background:var(--warning-bg);color:var(--gray-800);border-color:var(--warning)}.ui-badge-danger{background:var(--danger-bg);color:var(--gray-800);border-color:var(--danger)}.ui-empty{padding:var(--space-6);border:var(--border-width) dashed var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);text-align:center}.ui-empty p{color:var(--text-body);margin:0}.ui-empty-action{margin-top:var(--space-4)}.ui-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:4px solid;display:flex}.ui-notice-main{gap:var(--space-1);flex:1;min-width:0;display:grid}.ui-notice-title{font-weight:var(--weight-bold);margin:0}.ui-notice-body{font-size:var(--text-sm)}.ui-notice-body p{margin:0}.ui-notice-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ui-notice a{color:inherit;font-weight:var(--weight-bold);text-decoration:underline}.ui-notice a:focus-visible,.ui-notice-close:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.ui-notice-close{padding:var(--space-1);border-radius:var(--radius-xs);color:inherit;cursor:pointer;background:0 0;border:0;flex:none;display:inline-flex}.ui-notice-info{background:var(--info-bg);color:var(--blue-700);border-left-color:var(--blue-500)}.ui-notice-success{background:var(--success-bg);color:var(--green-800);border-left-color:var(--success)}.ui-notice-warning{background:var(--warning-bg);color:var(--gray-800);border-left-color:var(--warning)}.ui-notice-danger{background:var(--danger-bg);color:var(--gray-800);border-left-color:var(--danger)}.ui-dialog{width:min(440px,100vw - 32px);padding:var(--space-5) var(--space-6);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-xl)}.ui-dialog::backdrop{background:color-mix(in srgb, var(--surface-inverse) 45%, transparent)}.ui-dialog h2{margin:0 0 var(--space-2);font-size:var(--text-md);color:var(--text-strong)}.ui-dialog-message{font-size:var(--text-sm);white-space:pre-line;margin:0}.ui-dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.ui-dialog-actions button:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.ui-spin{margin-right:var(--space-2);vertical-align:-2px;animation:.9s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spin{animation:none}}.hoat-dong{z-index:var(--z-sticky);width:204px;position:fixed;bottom:16px;left:16px}.hoat-dong-nut{align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-body);font-size:var(--text-sm);box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex}.hoat-dong-nut:focus-visible,.hoat-dong-muc a:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.hoat-dong-panel{bottom:calc(100% + var(--space-2));width:min(340px,100vw - 32px);max-height:60vh;padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-lg);position:absolute;left:0;overflow:auto}.hoat-dong-panel .empty-state{margin:0}.hoat-dong-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.hoat-dong-muc{gap:var(--space-1) var(--space-2);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.hoat-dong-ten{min-width:0;color:var(--text-strong)}.hoat-dong-muc a{color:var(--text-link);font-size:var(--text-xs);grid-column:1/-1;justify-self:start}.thong-bao-goc{z-index:var(--z-toast);gap:var(--space-2);width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}@media (max-width:720px){.hoat-dong{width:164px}}@media (max-width:640px){.hoat-dong{width:auto;bottom:72px;left:auto;right:12px}.hoat-dong-panel{left:auto;right:0}.thong-bao-goc{bottom:124px;right:12px}}.hom-nay{gap:var(--space-5);display:grid}.hom-nay-khoi h2{margin:0 0 var(--space-3);font-size:var(--text-md);color:var(--text-strong)}.hom-nay-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.hom-nay-muted{color:var(--text-muted);font-size:var(--text-sm);margin:0}.hom-nay-viec,.hom-nay-dang{align-items:center;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--border-subtle);flex-wrap:wrap;display:flex}.hom-nay-viec-noi{align-items:flex-start;gap:var(--space-3);flex:220px;min-width:0;display:flex}.hom-nay-viec-noi p{margin:0}.hom-nay-viec-tieu-de{color:var(--text-strong);font-weight:var(--weight-bold)}.hom-nay-gio{min-width:3.5em;color:var(--text-strong);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.hom-nay-kenh{color:var(--text-muted);font-size:var(--text-sm)}.hom-nay-tieu-de{min-width:0;color:var(--text-link);flex:180px}.hom-nay-trang-thai{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.hom-nay-trang-thai a{color:var(--text-link);font-size:var(--text-xs)}.hom-nay-bay{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.hom-nay-ngay{gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-1);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card);text-align:center;flex-direction:column;display:flex}.hom-nay-thu{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.hom-nay-so{color:var(--text-body);font-size:var(--text-xs);white-space:nowrap}.hom-nay-trong{color:var(--text-faint)}.hom-nay-dau{border-radius:var(--radius-xs);min-height:24px;display:block}.hom-nay-dau:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.hom-nay-dau-neutral{background:var(--gray-400)}.hom-nay-dau-info{background:var(--info)}.hom-nay-dau-success{background:var(--success)}.hom-nay-dau-warning{background:var(--warning)}.hom-nay-dau-danger{background:var(--danger)}.hom-nay-chu-giai{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.hom-nay-chu-giai li{align-items:center;gap:var(--space-2);display:inline-flex}.hom-nay-chu-giai .hom-nay-dau{width:12px;min-height:12px;display:inline-block}.goi-trang .ui-list-detail-empty{text-align:left;border:0;padding:0}.goi-dau{z-index:var(--z-sticky);gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-3);background:var(--surface-card);border-bottom:var(--border-width) solid var(--border-default);display:grid;position:sticky;top:0}.goi-dau-hang{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.goi-dau-tieu-de{-webkit-line-clamp:2;min-width:0;font-size:var(--text-md);line-height:var(--leading-snug);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.goi-dau-thong-tin{align-items:center;gap:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.goi-dau a:focus-visible,.goi-phan-link:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.goi-phan-ds{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.goi-phan-link{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-strong);grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.goi-phan-link.is-active{border-color:var(--info);background:var(--info-bg)}@media (min-width:721px){.goi-phan-link.is-mac-dinh{border-color:var(--info);background:var(--info-bg)}}.goi-phan-ten{min-width:0;font-weight:var(--weight-bold)}.goi-phan-gio{color:var(--text-muted);font-size:var(--text-xs)}.goi-phan-link .ui-badge{grid-column:1/-1;justify-self:start}.goi-chi-tiet{gap:var(--space-4);min-width:0;display:grid}.goi-bai-mxh{gap:var(--space-3);max-width:560px;padding:var(--space-4);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);display:grid}.goi-bai-mxh-dau{align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);display:flex}.goi-bai-mxh-noi{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-body)}.goi-bai-mxh-anh{border-radius:var(--radius-md);width:100%;height:auto}.goi-carousel{gap:var(--space-2);scroll-snap-type:x mandatory;min-width:0;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.goi-carousel-o{aspect-ratio:1;border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);cursor:zoom-in;scroll-snap-align:start;flex:0 0 160px;width:160px;padding:0;overflow:hidden}.goi-carousel-o img{object-fit:cover;width:100%;height:100%;display:block}.goi-carousel-o:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.goi-slide-hop{width:min(1200px,100vw - 32px);padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-xl)}.goi-slide-hop::backdrop{background:color-mix(in srgb, var(--surface-inverse) 45%, transparent)}.goi-slide-dong{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.goi-slide-anh{object-fit:contain;border-radius:var(--radius-md);width:100%;height:auto;max-height:calc(100vh - 120px);display:block}@media (max-width:720px){.goi-carousel-o{flex-basis:120px;width:120px}}.goi-hop-ngay{gap:var(--space-1);margin-top:var(--space-3);font-size:var(--text-sm);display:grid}.goi-anh-bai{padding:var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card)}.goi-anh-bai summary{cursor:pointer;font-weight:var(--weight-bold)}.goi-anh-bai summary:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}@media (max-width:720px){.goi-dau{padding:var(--space-2) 0}.goi-dau-tieu-de{font-size:var(--text-base)}}.dashboard-shell{--tro-ly-rong:clamp(320px, 30vw, 400px)}.tro-ly-dong:focus-visible,.tro-ly-panel button:focus-visible,.tro-ly-panel textarea:focus-visible,.tro-ly-panel summary:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.tro-ly-panel{z-index:var(--z-sticky);width:var(--tro-ly-rong);background:var(--surface-card);border-left:var(--border-width) solid var(--border-subtle);min-height:0;box-shadow:var(--shadow-lg);color:var(--text-body);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.tro-ly-panel[hidden]{display:none}.tro-ly-dau{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);display:grid}.tro-ly-dau-hang{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.tro-ly-tieu-de{font-size:var(--text-md);white-space:nowrap;margin:0}.tro-ly-dau-nut{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tro-ly-dau-nut .tro-ly-nut-phu{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.tro-ly-dong{padding:var(--space-1);color:var(--text-body);cursor:pointer;background:0 0;border:0;display:inline-flex}.tro-ly-danh-sach{max-height:40vh;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);overflow-y:auto}.tro-ly-danh-sach ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.tro-ly-danh-sach button{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.tro-ly-danh-sach button:hover{background:var(--surface-sunken)}.tro-ly-than{align-content:start;gap:var(--space-3);min-height:0;padding:var(--space-4);flex:1;display:grid;overflow-y:auto}.tro-ly-luot{gap:var(--space-2);display:grid}.tro-ly-cau-hoi{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--blue-500);color:var(--text-on-brand);white-space:pre-wrap;overflow-wrap:anywhere;justify-self:end}.tro-ly-hoat-dong{gap:var(--space-1);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.tro-ly-hoat-dong li{padding-left:var(--space-2);border-left:2px solid var(--border-subtle)}.tro-ly-hoat-dong-dong{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.tro-ly-noi-dung{gap:var(--space-2);display:grid}.tro-ly-tra-loi{overflow-wrap:anywhere}.tro-ly-tra-loi>:last-child{margin-bottom:0}.tro-ly-tra-loi table{max-width:100%;display:block;overflow-x:auto}.tro-ly-luot pre{max-height:240px;margin:var(--space-1) 0 0;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.tro-ly-muted{color:var(--text-muted);font-size:var(--text-sm);margin:0}.tro-ly-thay-doi{gap:var(--space-2);padding-top:var(--space-2);border-top:var(--border-width) solid var(--border-subtle);display:grid}.tro-ly-tep-ds{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.tro-ly-tep{gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);display:grid}.tro-ly-tep-dau{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.tro-ly-tep ul{padding-left:var(--space-4);margin:0}.tro-ly-xac-nhan ul{padding-left:var(--space-4);font-size:var(--text-sm);margin:0}.tro-ly-xac-nhan-nut{gap:var(--space-2);flex-wrap:wrap;display:flex}.tro-ly-so-sanh{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.tro-ly-so-sanh p{margin:0 0 var(--space-1)}.tro-ly-so-sanh pre{max-height:240px;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-xs);white-space:pre;margin:0;overflow:auto}.tro-ly-soan{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--border-width) solid var(--border-subtle);display:grid}.tro-ly-soan label{font-size:var(--text-sm);font-weight:var(--weight-bold)}.tro-ly-soan textarea{width:100%;min-height:72px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-body);font:inherit;resize:vertical}.tro-ly-soan textarea:disabled{opacity:var(--opacity-muted)}.tro-ly-soan-nut{justify-content:flex-end;gap:var(--space-2);display:flex}.tro-ly-khac{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tro-ly-khac .tro-ly-muted{flex:1;min-width:0}@media (min-width:641px) and (max-width:1199px){.tro-ly-panel{box-shadow:var(--shadow-lg)}}@media (min-width:1200px){.dashboard-shell.has-tro-ly .dashboard-main{margin-right:var(--tro-ly-rong)}.dashboard-shell.has-tro-ly .page-header{flex-wrap:wrap}.dashboard-shell.has-tro-ly .page-header>div:first-child{min-width:260px}}@media (max-width:640px){.tro-ly-panel{width:auto;z-index:var(--z-modal);top:0;left:0}}
