*,: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:#fff;flex-direction:column;flex-shrink:0;width:236px;min-height:100vh;padding:24px 16px;display:flex}.sidebar-logo{align-self:flex-start;width:auto;height:32px;margin:0 0 28px}.sidebar-links{gap:4px;display:grid}.sidebar-link,.sidebar-lead{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-lead{color:#99a6b6;cursor:not-allowed;margin-top:8px}.sidebar-lead-lock{margin-left:auto}.sidebar-lead-note{color:#99a6b6;margin:0 0 0 40px;font-size:12px}.sidebar-settings{margin-top:auto;margin-bottom:8px}.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}.overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.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}.no-margin{margin-bottom:0}.page-date{color:#6a7787;white-space:nowrap;font-size:14px}.overview-side{align-content:start;gap:20px;display:grid}.upcoming-list,.job-history{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}.upcoming-day{color:#6a7787;font-variant-numeric:tabular-nums;flex-shrink:0;width:62px;font-size:13px}.upcoming-title{color:#0d141d;flex:1;min-width:160px;font-weight:700;text-decoration:none}.upcoming-title:hover{color:#1e5cab}.stat-card{gap:2px;display:grid}.stat-row{color:inherit;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;text-decoration:none;display:flex}.stat-row-link:hover .stat-value{color:#1e5cab}.stat-label{color:#4b5664;font-size:15px}.stat-value{color:#1a447b;font-variant-numeric:tabular-nums;font-family:UTM Bebas,sans-serif;font-size:30px;line-height:1}.stat-note{color:#6a7787;margin:6px 0 0;font-size:13.5px}.empty-state{color:#6a7787;margin:0;padding:4px 0 2px}.job-running{color:#e09a2d;margin:0 0 12px;font-weight:700}.job-history{color:#4b5664;gap:6px;font-size:14px}.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:360px;max-width: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,.brief-field{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,.brief-field:focus{outline-offset:1px;outline:3px solid #1e5cab4d}.field-compact{width:auto;font-size:14px}.field-disabled{color:#6a7787;background:#f6f8fb}.field-grow{flex:1;min-width:200px}.form-card,.content-panel,.detail-section,.editor-panel,.table-card{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}.button-primary,.button-secondary,.button-danger,.button-lime,.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-lime{color:#0d141d;background:#aad037}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.button-lime: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}.channel-badge-instagram{color:#0d141d;background:#aad037}.status-badge-draft{color:#6a7787;background:#eef1f6}.status-badge-review{color:#e09a2d;background:#fbf0d8}.status-badge-approved{color:#4e9a35;background:#eaf4e2}.status-badge-published{color:#1e5cab;background:#eef4fb}.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 .align-right{text-align:right}.cell-date{color:#6a7787;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.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-warning{color:#8a5a10;background:#fbf0d8;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:14px}.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}.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}.brief-form{max-width:820px}.icon-button{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.calendar-card{background:#fff;border-radius:12px;padding:20px}.calendar-message{margin:0 0 16px}.plan-create-card{margin-bottom:16px}.plan-create-card h2,.plans-list-panel h2{margin:0;font-size:20px}.plan-month-field{max-width:220px}.plans-list{gap:10px;margin-top:16px;display:grid}.plan-card{background:#f6f8fb;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.plan-card h3{text-transform:none;font-family:Averta,system-ui,sans-serif;font-size:16px}.plan-card p{margin:4px 0 0;font-size:13px}.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 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}.reports-actions{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-bottom:20px;display:grid}.report-form{gap:16px}.report-form h2,.report-refresh-card h2,.settings-panel h2{margin:0;font-size:20px}.report-refresh-card{align-content:space-between}.reports-list{gap:24px;display:grid}.report-group h2{margin:0 0 10px;font-size:22px}.report-cards{gap:10px;display:grid}.report-card{color:#0d141d;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;display:flex}.report-card:hover{background:#eef4fb}.report-card h3{text-transform:none;font-family:Averta,system-ui,sans-serif;font-size:16px}.report-card p{color:#6a7787;margin:4px 0 0;font-size:14px}.report-card-link{color:#1e5cab;white-space:nowrap;font-size:14px;font-weight:700}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-label{color:#6a7787;margin:0 0 8px;font-weight:700}.metrics-source{color:#6a7787;margin-top:16px}.settings-panel{margin-bottom:16px}.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}@media (max-width:720px){.content-table th,.content-table td{white-space:nowrap}.sidebar{width:196px}.dashboard-main{padding:24px 20px}.reports-actions,.metrics-grid{grid-template-columns:1fr}.report-card{flex-direction:column;align-items:flex-start}.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}.job-history li{flex-wrap:wrap;align-items:baseline;gap:10px;padding:6px 0;display:flex}.job-name{color:#0d141d;flex:1;min-width:120px}.job-error-detail{flex-basis:100%;font-size:13px}.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}.calendar-card .fc-toolbar-title{text-transform:capitalize;font-size:19px;font-weight:700}.calendar-card .fc-button{color:#4b5664;box-shadow:none;background:#fff;border:1px solid #cad3df;border-radius:8px;font-size:14px;font-weight:700}.calendar-card .fc-button:hover:not(:disabled){color:#1e5cab;background:#f6f8fb;border-color:#99a6b6}.calendar-card .fc-button:disabled{color:#99a6b6;opacity:1;background:#f6f8fb;border-color:#e0e6ee}.calendar-card .fc-col-header-cell{background:#f6f8fb;padding:10px 0;font-size:13px;font-weight:700}.calendar-card .fc-col-header-cell-cushion{color:#4b5664;text-decoration:none}.calendar-card .fc-daygrid-day-number{color:#4b5664;font-size:13px;text-decoration:none}.calendar-card .fc-day-other .fc-daygrid-day-number{color:#cad3df}.calendar-card .fc-day-today{background:#fbf6e8!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:#eef1f6}.calendar-card .fc-theme-standard .fc-scrollgrid{border-color:#e0e6ee}.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}
