:root{--bg:#f4f7fb;--card:#fff;--ink:#162033;--muted:#667085;--line:#e5e9f0;--blue:#2457e6;--navy:#0f1d3b;--green:#079455;--red:#d92d20;--amber:#b54708}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.hidden{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}header{height:72px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1240px)/2));gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;color:#aab6cf}.brandmark{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#4f7cff,#1e45be);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 10px 28px #1b46bd33}.brandmark.small{width:38px;height:38px;border-radius:11px}.shell{max-width:1240px;margin:auto;padding:34px 24px 70px}.intro,.log-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.intro h1,.log-head h2{margin:2px 0 5px;font-size:28px;line-height:1.2}.intro p{margin:0;color:var(--muted)}.eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.13em;color:var(--blue)!important}.actions{display:flex;gap:10px;align-items:center}.primary,.ghost{padding:11px 16px;border-radius:10px;font-weight:700}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px #2457e62c}.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}header .ghost{background:#ffffff10;color:#fff;border-color:#ffffff24}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.stats span{color:var(--muted);font-weight:600}.stats strong{font-size:26px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 30px #17366b0a}.page-list{display:grid}.page-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 120px minmax(250px,1.4fr) minmax(220px,1fr);align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.page-row:last-child{border:0}.page-lead{display:flex;align-items:center;gap:12px;min-width:0;position:relative}.page-lead>div{min-width:0}.avatar,.page-logo{width:48px;height:48px;border-radius:15px;flex:0 0 48px}.avatar{display:grid;place-items:center;background:#eaf1fb;color:#153c75;font-weight:800}.page-logo{position:absolute;left:0;top:0;object-fit:cover;background:#eaf1fb}.page-logo[src=""]{display:none}.page-name{font-weight:800}.page-id,.meta{display:block;color:var(--muted);font-size:12px;margin-top:3px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:700;font-size:12px;background:#f2f4f7;color:#475467}.status.success{background:#ecfdf3;color:var(--green)}.status.error,.status.unknown{background:#fef3f2;color:var(--red)}.status.draft{background:#eff4ff;color:var(--blue)}.status.publishing{background:#fff6ed;color:var(--amber)}.draft-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.row-actions{display:flex;gap:8px;justify-content:flex-end}.row-actions button{padding:9px 12px}.empty{text-align:center;padding:38px;color:var(--muted)}.log-head{margin:34px 0 14px}.log-head h2{font-size:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;letter-spacing:.06em;color:var(--muted);background:#fafbfc}td{font-size:13px}.log-content{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 0,#e8efff,transparent 40%),var(--bg)}.login-card{width:min(420px,100%);background:#fff;padding:36px;border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 70px #1b356719}.login-card .brandmark{margin-bottom:24px}.login-card h1{margin:0 0 5px}.login-card p{margin:0 0 26px;color:var(--muted)}label{display:grid;gap:7px;font-weight:700;margin:15px 0}input,textarea{width:100%;padding:11px 12px;border:1px solid #d5dae3;border-radius:9px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2457e618}.login-card .primary{width:100%;margin-top:8px}.error{color:var(--red);display:block;margin-top:10px}dialog{border:0;border-radius:18px;padding:0;width:min(680px,calc(100% - 30px));box-shadow:0 30px 100px #07152c55}dialog::backdrop{background:#07152c99;backdrop-filter:blur(3px)}.modal{padding:25px}.modal>header{height:auto;background:none;color:var(--ink);padding:0}.modal h2{margin:2px 0}.icon{font-size:27px;background:none;color:var(--muted)}.drop{min-height:180px;padding:24px;border:2px dashed #b8c2d2;border-radius:14px;background:#fafbfc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;transition:.18s ease}.drop:hover,.drop.dragging{border-color:var(--blue);background:#eff4ff}.drop input{display:none}.drop strong{font-size:16px}.drop span{font-weight:400;color:var(--muted)}.drop-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e5edff;color:var(--blue);font-size:25px;font-weight:800}.drop .ghost{margin-top:4px}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-top:12px}.file-card{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.file-card img,.video-preview{display:grid;place-items:center;width:100%;height:92px;object-fit:cover;background:#eaf1fb;color:#31588d;font-size:12px;font-weight:700}.file-card>span:not(.video-preview){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 8px 1px;font-size:11px;font-weight:700}.file-card small{display:block;padding:0 8px 7px;color:var(--muted);font-size:10px}.file-chip{padding:7px 10px;background:#f2f4f7;border-radius:8px;font-size:12px}.modal footer{display:flex;gap:9px;margin-top:22px}.modal footer span{flex:1}.danger{color:var(--red)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.grid3{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-list{margin-top:12px}.staff{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}#toast{position:fixed;z-index:20;right:22px;top:22px;max-width:380px}.toast{background:#101828;color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:8px;box-shadow:0 12px 35px #10182844}.toast.bad{background:#b42318}@media(max-width:800px){.shell{padding:24px 14px}.intro,.log-head{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.page-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.grid3,.grid2{grid-template-columns:1fr}header{padding:0 14px}.brand small{display:none}.actions{flex-wrap:wrap}}

/* Mobile app layout */
@media(max-width:700px){
 body{background:#f5f7fb;padding-bottom:env(safe-area-inset-bottom)}
 header{position:sticky;top:0;z-index:15;height:64px;padding:0 16px;background:#10244a;box-shadow:0 2px 14px #10244a22}
 .brand{min-width:0;gap:9px}.brand b{display:block;max-width:158px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.brandmark.small{width:34px;height:34px;border-radius:10px}.brand small{display:none}
 header nav{display:flex;gap:6px}header .ghost{min-width:40px;padding:9px 10px;font-size:0;border-radius:10px}header #settingsBtn{font-size:0}header #settingsBtn::after{content:'⚙';font-size:18px}header #logoutBtn{font-size:0}header #logoutBtn::after{content:'↪';font-size:19px}
 .shell{padding:18px 14px 40px}.intro{gap:16px;margin-bottom:16px}.intro h1{font-size:26px;letter-spacing:-.5px}.intro p:not(.eyebrow){font-size:14px;line-height:1.45}.actions{width:100%;display:grid;grid-template-columns:1fr 1.25fr;gap:9px}.actions button{width:100%;min-height:46px;padding:10px 8px;font-size:13px}
 .stats{gap:8px;margin-bottom:14px}.stats article{min-width:0;display:block;padding:13px 11px;border-radius:13px}.stats span{display:block;font-size:11px;line-height:1.2;min-height:26px}.stats strong{font-size:24px;line-height:1.1}
 .panel{border-radius:15px;box-shadow:0 6px 20px #17366b0a}.page-row{grid-template-columns:1fr;gap:11px;padding:16px}.page-lead{gap:10px}.avatar,.page-logo{width:44px;height:44px;border-radius:13px}.page-name{font-size:15px}.page-id{font-size:11px}.draft-preview{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4;font-size:13px}.row-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.row-actions button{width:100%;min-height:42px}.status{width:max-content}
 .log-head{gap:12px;margin:26px 0 12px}.log-head h2{font-size:20px}.log-head .actions{display:flex;width:100%}.log-head input{flex:1;min-height:42px}.log-head button{min-height:42px}
 .table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}.table-wrap table{display:block;min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 13px}.table-wrap td{display:flex;gap:12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf0f5;text-align:right;font-size:12px}.table-wrap td:last-child{border-bottom:0;display:block;text-align:left}.table-wrap td::before{content:attr(data-label);color:var(--muted);font-weight:700;text-align:left;flex:0 0 74px}.table-wrap td:last-child::before{display:block;margin-bottom:6px}.table-wrap .log-content{max-width:none;white-space:normal;overflow:visible}.post-link{font-size:12px}.table-wrap .meta{font-size:11px}
 dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;border-radius:22px 22px 0 0;max-height:92vh}.modal{max-height:92vh;overflow-y:auto;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}.modal>header{position:sticky;top:-20px;z-index:2;padding:14px 0 12px;background:#fff}.modal h2{font-size:19px}.modal textarea{min-height:180px;font-size:16px}.drop{min-height:155px;padding:18px}.file-list{grid-template-columns:repeat(3,1fr)}.file-card img,.video-preview{height:82px}.modal footer{position:sticky;bottom:-18px;z-index:2;padding:13px 0 calc(5px + env(safe-area-inset-bottom));margin:16px 0 0;background:#fff}.modal footer .primary,.modal footer .ghost{min-height:46px;padding:10px}.modal footer .danger{display:inline-flex;align-items:center;justify-content:center;border-color:#fecdca;background:#fff5f4;color:var(--red)}.grid3,.grid2{gap:10px}.staff{gap:10px}.staff .ghost{padding:8px 10px}
 #toast{right:12px;left:12px;top:76px;max-width:none}.toast{font-size:14px}
}
@media(max-width:380px){.shell{padding-left:11px;padding-right:11px}.stats article{padding:12px 9px}.stats strong{font-size:22px}.actions button{font-size:12px}.file-list{grid-template-columns:repeat(2,1fr)}}

/* Compact app density for phones and tablets */
@media(max-width:900px){
 .shell{padding:14px 12px 28px}.intro{margin-bottom:13px;gap:12px}.intro h1{font-size:23px}.intro p:not(.eyebrow){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px}.eyebrow{margin:0 0 3px}.actions{grid-template-columns:1fr 1fr}.actions button{min-height:42px}
 .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.stats article{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:11px 10px;border-radius:12px}.stats span{min-height:0;font-size:10px;line-height:1.25}.stats strong{font-size:23px}
 .page-row{gap:9px;padding:13px}.page-lead{gap:9px}.avatar,.page-logo{width:42px;height:42px;border-radius:12px}.page-name{font-size:15px}.draft-preview{-webkit-line-clamp:2;font-size:13px}.meta{font-size:11px}.row-actions button{min-height:40px;padding:8px 9px}
 .log-head{margin:20px 0 9px}.log-head h2{font-size:18px}.table-wrap tbody{gap:8px}.table-wrap tr{padding:5px 11px;border-radius:12px}.table-wrap td{padding:7px 0;font-size:12px;line-height:1.35}.table-wrap td::before{flex-basis:68px;font-size:11px}.table-wrap .log-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;text-overflow:ellipsis}.table-wrap td[data-label="Nội dung"]{align-items:flex-start}.table-wrap td[data-label="Nội dung"]::before{flex-shrink:0}.table-wrap td[data-label="Kết quả"]{padding-top:8px}.table-wrap .meta{margin-top:3px}.post-link{margin-top:5px}
 .file-list{grid-template-columns:repeat(4,1fr);gap:7px}.file-card img,.video-preview{height:66px}.file-card>span:not(.video-preview){font-size:10px;padding:5px 6px 0}.file-card small{font-size:9px;padding:0 6px 5px}
}
@media(max-width:430px){.stats article{display:block;min-height:76px}.stats strong{display:block;margin-top:4px}.file-list{grid-template-columns:repeat(3,1fr)}}

@media(max-width:900px){
 .table-wrap tr td:not([data-label="Fanpage"]):not([data-label="Kết quả"]){display:none}
 .table-wrap tr td[data-label="Fanpage"]{display:block;padding:8px 0 4px;text-align:left;border:0}.table-wrap tr td[data-label="Fanpage"]::before{display:none}.table-wrap tr td[data-label="Fanpage"] b{font-size:15px}.table-wrap tr td[data-label="Fanpage"] .page-id{display:none}
 .table-wrap tr td[data-label="Kết quả"]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0 8px;border:0}.table-wrap tr td[data-label="Kết quả"]::before,.table-wrap tr td[data-label="Kết quả"] .meta{display:none}.table-wrap tr td[data-label="Kết quả"] .status{font-size:12px}.table-wrap tr td[data-label="Kết quả"] .post-link{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:9px 12px;border-radius:9px;background:var(--blue);color:#fff;font-size:12px;text-decoration:none;white-space:nowrap}
}

.stats article:nth-child(1){background:linear-gradient(135deg,#e8f1ff,#f8fbff);border-color:#c9dbff}.stats article:nth-child(1) strong{color:#2457e6}.stats article:nth-child(2){background:linear-gradient(135deg,#fff5df,#fffaf0);border-color:#f3d79b}.stats article:nth-child(2) strong{color:#b54708}.stats article:nth-child(3){background:linear-gradient(135deg,#e6f9ef,#f6fdf9);border-color:#bdebd3}.stats article:nth-child(3) strong{color:#079455}
.log-actions{display:flex;align-items:center;gap:10px;margin-top:7px}.delete-log{padding:0;background:transparent;color:var(--red);font-size:12px;font-weight:700}.delete-log:hover{text-decoration:underline}@media(max-width:800px){.table-wrap tr td[data-label="Kết quả"] .log-actions{display:flex;align-items:center;gap:8px}.table-wrap tr td[data-label="Kết quả"] .post-link{margin:0}.table-wrap tr td[data-label="Kết quả"] .delete-log{padding:9px 10px;border:1px solid #fecdca;border-radius:9px;background:#fff5f4;color:var(--red);white-space:nowrap}}

.schedule-trigger{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #c9d7ff;border-radius:10px;background:#eff4ff;color:var(--blue);font-weight:800}.schedule-panel{margin:14px 0;padding:15px;border:1px solid #c9d7ff;border-radius:13px;background:#f7f9ff}.schedule-panel>b,.schedule-panel>span{display:block}.schedule-panel>span{color:var(--muted);font-size:13px;margin-top:3px}.schedule-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px}.schedule-grid label{margin:12px 0 0;font-size:13px}@media(max-width:600px){.schedule-grid{grid-template-columns:1fr 1fr}.schedule-grid label:first-child{grid-column:1/-1}}
.status.scheduled{background:#ecfdf3;color:var(--green)}

.compose-modal>header{align-items:flex-start;gap:16px}.compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.compose-actions .primary,.compose-actions .schedule-trigger{min-height:42px}.schedule-trigger{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #c9d7ff;border-radius:10px;background:#eff4ff;color:var(--blue);font-weight:800}.schedule-modal{width:min(760px,calc(100% - 30px))}.schedule-modal>header p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:14px;font-weight:400}.schedule-calendar{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:20px}.calendar-day{display:flex;min-height:94px;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;transition:.16s}.calendar-day:hover{border-color:var(--blue);background:#f5f8ff}.calendar-day.selected{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 7px 16px #2457e636}.calendar-day small,.calendar-day span{font-size:11px;color:var(--muted)}.calendar-day.selected small,.calendar-day.selected span{color:#dbe7ff}.calendar-day strong{font-size:24px;line-height:1.15;margin:3px 0}.schedule-modal footer{justify-content:flex-end}@media(max-width:600px){.compose-modal>header{align-items:flex-start}.compose-actions{max-width:250px;gap:6px}.compose-actions .primary,.compose-actions .schedule-trigger{padding:9px 10px;font-size:12px}.compose-actions .icon{padding:0 2px}.schedule-calendar{grid-template-columns:repeat(3,1fr);gap:8px}.calendar-day{min-height:82px;padding:9px}.calendar-day strong{font-size:21px}.schedule-modal{width:100%;border-radius:22px 22px 0 0}.schedule-modal .modal{padding:20px 16px}}

.compose-modal{width:min(760px,calc(100% - 30px));padding:0}.compose-header{position:relative;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center!important;min-height:76px!important;padding:0 24px!important;border-bottom:1px solid var(--line)!important}.compose-header h2{grid-column:2;margin:0!important;font-size:28px!important;white-space:nowrap}.compose-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}.compose-actions .primary,.compose-actions .schedule-trigger{min-height:40px;padding:9px 12px}.compose-actions .icon{padding:0 0 0 3px;line-height:1}.compose-modal>.compose-page,.compose-modal>.post-content,.compose-modal>.attach-row,.compose-modal>.file-list,.compose-modal>.error,.compose-modal>footer{margin-left:32px;margin-right:32px}.compose-page{display:flex;align-items:center;gap:13px;margin-top:23px;margin-bottom:11px}.compose-page img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#eaf1fb}.compose-page b{font-size:20px;line-height:1.25}.post-content{display:block;width:calc(100% - 64px);min-height:230px;resize:vertical;padding:13px 0;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:25px;line-height:1.36}.post-content::placeholder{color:#6b7280}.attach-row{min-height:74px!important;padding:12px 16px!important;border:1px solid #d6dae1!important;border-radius:14px!important;background:#fff!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;text-align:left!important}.attach-row:hover,.attach-row.dragging{border-color:var(--blue)!important;background:#f8faff!important}.attach-row strong{font-size:18px!important}.attach-row>span:not(.drop-icon){margin-right:auto;font-size:13px!important;color:var(--muted)!important}.attach-row .drop-icon{display:none!important}.attach-row .attach-button{padding:10px 13px;border:0;border-radius:10px;background:#e8f7ed;color:#079455;font-weight:800;white-space:nowrap}.compose-modal .file-list{margin-top:11px}.compose-modal footer{padding:18px 0 22px;margin-top:8px}.compose-modal label{display:none}@media(max-width:700px){.compose-modal{width:100%;max-height:100vh;border-radius:20px 20px 0 0}.compose-header{grid-template-columns:1fr auto!important;min-height:66px!important;padding:0 16px!important}.compose-header h2{grid-column:1;font-size:22px!important}.compose-actions{grid-column:2;gap:5px}.compose-actions .primary,.compose-actions .schedule-trigger{font-size:11px;padding:8px 9px;min-height:36px}.compose-modal>.compose-page,.compose-modal>.post-content,.compose-modal>.attach-row,.compose-modal>.file-list,.compose-modal>.error,.compose-modal>footer{margin-left:16px;margin-right:16px}.compose-page{margin-top:17px}.compose-page img{width:47px;height:47px}.compose-page b{font-size:17px}.post-content{width:calc(100% - 32px);min-height:185px;font-size:21px}.attach-row{min-height:64px!important;padding:10px 12px!important;gap:8px!important}.attach-row strong{font-size:15px!important}.attach-row>span:not(.drop-icon){display:none}.attach-row .attach-button{font-size:12px;padding:9px}.compose-modal footer{padding-bottom:16px}}

/* Composer v2 */
.compose-header{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:74px!important}.compose-header h2{grid-column:auto!important;flex:1;font-size:27px!important}.compose-actions{grid-column:auto!important;justify-self:auto!important;flex-wrap:nowrap!important}.compose-modal>.post-composer{margin:0 32px}.post-composer{overflow:hidden;border:1px solid #e1e5eb;border-radius:16px;background:#f5f6f8}.post-composer .post-content{width:100%;min-height:260px;margin:0;padding:19px 20px;background:#f5f6f8;border:0!important;border-radius:0!important;font-size:20px;line-height:1.5}.post-composer .post-content:focus{background:#fff;box-shadow:none!important}.post-composer .post-content::placeholder{color:#667085;font-weight:500}.media-tray{display:flex;align-items:center;gap:12px;min-height:136px;padding:14px 16px;background:#fff;border-top:1px solid #e6e9ee}.post-composer .file-list{display:flex;grid-template-columns:none;gap:10px;max-width:calc(100% - 132px);margin:0;overflow-x:auto;padding-bottom:1px}.post-composer .file-card{width:106px;min-width:106px;border-radius:11px}.post-composer .file-card img,.post-composer .video-preview{height:80px}.media-add{display:flex;align-items:center;justify-content:center;flex:0 0 106px;width:106px;height:106px;border:2px dashed #91b6ff;border-radius:13px;background:#f7faff}.media-add input{display:none}.media-add.dragging,.media-add:hover{border-color:var(--blue);background:#edf3ff}.media-add-button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;color:var(--blue);font-weight:800}.media-add-button span{font-size:47px;line-height:.9;font-weight:300}.media-add-button small{font-size:11px;white-space:nowrap}.compose-modal>.file-list{display:none}.compose-modal>.attach-row{display:none}@media(max-width:700px){.compose-header{min-height:64px!important}.compose-header h2{font-size:21px!important}.compose-actions{gap:4px!important}.compose-actions .primary,.compose-actions .schedule-trigger{font-size:11px!important;padding:8px!important}.compose-modal>.post-composer{margin:0 16px}.post-composer .post-content{min-height:210px;padding:15px;font-size:18px}.media-tray{min-height:116px;padding:11px}.media-add{width:88px;height:88px;flex-basis:88px}.media-add-button span{font-size:40px}.post-composer .file-list{max-width:calc(100% - 100px)}.post-composer .file-card{width:88px;min-width:88px}.post-composer .file-card img,.post-composer .video-preview{height:67px}}

/* Compact schedule calendar */
.schedule-modal{width:min(740px,calc(100% - 28px));max-height:min(690px,92vh);padding:18px 20px!important;border-radius:22px!important;background:linear-gradient(145deg,#ffffff,#f7f9ff)}.schedule-modal>header{min-height:auto!important;padding:0 0 13px!important;align-items:flex-start!important}.schedule-modal>header h2{font-size:24px!important;line-height:1.15}.schedule-modal>header .eyebrow{font-size:10px!important;margin-bottom:5px}.schedule-modal>header p:not(.eyebrow){margin:5px 0 0!important;font-size:13px!important;line-height:1.35}.schedule-calendar{grid-template-columns:repeat(6,1fr)!important;gap:8px!important;margin-top:12px!important}.calendar-day{min-height:66px!important;padding:8px 10px!important;border-radius:12px!important;box-shadow:0 3px 8px #17254a08;transform:translateZ(0)}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 9px 18px #2457e322}.calendar-day.selected{box-shadow:0 9px 20px #2457e54d!important}.calendar-day small,.calendar-day span{font-size:10px!important}.calendar-day strong{font-size:24px!important;line-height:1!important;margin:3px 0!important}.schedule-modal footer{position:sticky;bottom:-18px;z-index:2;margin:13px 0 0!important;padding:13px 0 1px!important;background:linear-gradient(180deg,#ffffff00 0,#f8faff 22%,#f8faff 100%);justify-content:flex-end!important}.schedule-modal footer .primary,.schedule-modal footer .ghost{min-height:40px;padding:9px 14px}@media(max-width:600px){.schedule-modal{max-height:92vh;padding:17px 14px!important}.schedule-modal>header h2{font-size:21px!important}.schedule-calendar{grid-template-columns:repeat(5,1fr)!important;gap:6px!important}.calendar-day{min-height:62px!important;padding:7px!important}.calendar-day strong{font-size:21px!important}.calendar-day small{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.schedule-modal footer{bottom:-17px!important}}
.calendar-day{position:relative}.calendar-day em{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--blue);font-style:normal;font-size:12px;font-weight:900}.calendar-day.selected em{background:#dff8eb;color:#079455}
.calendar-day.booked{border-color:#bfe8cf;background:#f0fcf5;color:#087443;box-shadow:none;cursor:not-allowed;opacity:1}.calendar-day.booked small,.calendar-day.booked span{color:#398a61}.calendar-day.booked em{background:#079455;color:#fff}

.calendar-day.booked{cursor:pointer}.calendar-day.booked:hover{transform:translateY(-2px);box-shadow:0 8px 18px #07945528}.calendar-day.booked.selected{border-color:var(--blue);background:var(--blue);color:#fff}.calendar-day.booked.selected small,.calendar-day.booked.selected span{color:#dbe7ff}.calendar-day.booked.selected em{background:#dff8eb;color:#079455}

.calendar-check{position:absolute!important;right:8px!important;top:8px!important;display:grid!important;place-items:center!important;width:22px!important;height:22px!important;border-radius:50%!important;font-style:normal!important;font-size:14px!important;font-weight:900!important;line-height:1!important;z-index:3!important}.calendar-check.saved{background:#079455!important;color:#fff!important;box-shadow:0 2px 6px #07945555}.calendar-check.chosen{background:#fff!important;color:var(--blue)!important;box-shadow:0 2px 6px #2457e655}.calendar-day.booked span:not(.calendar-check){color:#398a61}.calendar-day.booked.selected .calendar-check.saved{background:#dff8eb!important;color:#079455!important}
.expiry{display:inline-flex;width:max-content;margin-top:6px;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:#079455;font-size:11px;font-weight:800}.expiry.warning{background:#fff4e5;color:#b54708}.expiry.expired{background:#fef3f2;color:#d92d20}.expiry.unlimited{background:#f2f4f7;color:#667085}.page-expired{background:#fffafa}.page-admin-modal{width:min(820px,calc(100% - 30px))}.admin-help{margin:5px 0 0;color:var(--muted);font-size:13px}.page-expiry-list{display:grid;gap:9px;margin-top:18px;max-height:60vh;overflow:auto}.expiry-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px 120px 72px;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.expiry-row div{min-width:0}.expiry-row b,.expiry-row small{display:block}.expiry-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expiry-row small{color:var(--muted);font-size:11px}.expiry-current{font-size:12px;font-weight:800;color:var(--muted)}.expiry-row input{padding:9px}.expiry-row button{padding:9px 11px}@media(max-width:650px){.expiry-row{grid-template-columns:1fr 90px}.expiry-row .expiry-current{grid-column:1}.expiry-row input{grid-column:1}.expiry-row button{grid-column:2;grid-row:2}.page-admin-modal{width:100%}}
.schedule-modal footer #deleteSchedule{margin-right:auto;border-color:#fecdca;background:#fff5f4;color:var(--red)}.schedule-modal footer #deleteSchedule:not(:disabled):hover{background:#fee4e2;border-color:#fda29b}.schedule-modal footer #deleteSchedule:disabled{background:#f8fafc;color:#98a2b3;border-color:var(--line)}
.scheduled-post-modal{width:min(650px,calc(100vw - 30px))}.scheduled-preview-card{padding:16px 0;border-bottom:1px solid var(--line)}.scheduled-preview-card:last-child{border-bottom:0}.scheduled-preview-card h3{margin:0 0 8px;font-size:16px}.scheduled-preview-card p{margin:0;white-space:pre-wrap;line-height:1.55}.scheduled-preview-media{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.scheduled-preview-media img,.scheduled-preview-media video{width:112px;height:92px;border-radius:10px;object-fit:cover;background:#edf2f9}.scheduled-post-modal footer{justify-content:flex-end}
.page-lead>.avatar{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;align-self:center!important;overflow:hidden}.page-lead>.page-logo{top:50%!important;left:0!important;z-index:2;transform:translateY(-50%)}@media(max-width:800px){.page-lead>.avatar{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important}.page-lead>.page-logo{width:44px!important;height:44px!important}}@media(max-width:480px){.page-lead>.avatar{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important}.page-lead>.page-logo{width:42px!important;height:42px!important}}
.page-link{color:var(--ink);text-decoration:none;cursor:pointer}.page-link:hover{color:var(--blue);text-decoration:underline}
.file-card{position:relative}.upload-progress{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;min-width:42px;padding:4px 6px;border-radius:999px;background:#2457e6;color:#fff;font-size:12px;font-weight:800;box-shadow:0 3px 10px #17366b55}
@media(max-width:700px){.schedule-modal{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.schedule-modal .modal{padding:18px 14px}.schedule-modal>header p:not(.eyebrow){font-size:12px!important}.schedule-calendar{grid-template-columns:repeat(5,1fr)!important;gap:6px!important}.calendar-day{min-height:61px!important;padding:7px!important}.calendar-day strong{font-size:20px!important}.schedule-modal footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding-top:12px!important}.schedule-modal footer span{display:none}.schedule-modal footer #deleteSchedule,.schedule-modal footer #openScheduledDate{grid-column:1/-1;margin:0;min-height:42px;white-space:nowrap}.schedule-modal footer .ghost,.schedule-modal footer .primary{min-height:42px;padding:9px 10px;font-size:14px}.schedule-modal footer button[value="cancel"]{grid-column:1}.schedule-modal footer #confirmSchedule{grid-column:2}.scheduled-post-modal{width:100%;border-radius:20px 20px 0 0}.scheduled-preview-media img,.scheduled-preview-media video{width:92px;height:78px}}
.schedule-count{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats article:nth-child(4){background:linear-gradient(135deg,#f0eaff,#fbf9ff);border-color:#d9c9ff}.stats article:nth-child(4) strong{color:#6941c6}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Full-screen dashboard: publishing takes two thirds, activity one third. */
.dashboard-shell{width:100%;max-width:none;padding:24px;min-height:calc(100vh - 72px)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start;gap:20px}
.publishing-column,.activity-column{min-width:0}
.activity-column{position:sticky;top:20px;max-height:calc(100vh - 112px);overflow:auto}
.activity-column .log-head{display:block;margin:0 0 12px}
.activity-column .log-head .actions{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:10px}
.activity-column .log-head input,.activity-column .log-head button{min-width:0;height:42px}
.activity-column .table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}
.activity-column table,.activity-column tbody{display:block;min-width:0;width:100%}
.activity-column thead{display:none}
.activity-column tbody{display:grid;gap:9px}
.activity-column tr{display:block;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 18px #17366b0a}
.activity-column td{display:none;border:0;padding:0}
.activity-column td[data-label="Thời gian"],.activity-column td[data-label="Fanpage"],.activity-column td[data-label="Kết quả"]{display:block;text-align:left}
.activity-column td[data-label="Thời gian"]{float:right;color:var(--muted);font-size:11px;margin-left:8px}
.activity-column td[data-label="Thời gian"]::before,.activity-column td[data-label="Fanpage"]::before,.activity-column td[data-label="Kết quả"]::before{display:none}
.activity-column td[data-label="Fanpage"] b{display:block;padding-right:76px;font-size:13px;line-height:1.35}
.activity-column td[data-label="Fanpage"] .page-id{display:none}
.activity-column td[data-label="Kết quả"]{clear:both;padding-top:9px}
.activity-column td[data-label="Kết quả"] .meta{font-size:11px}
.activity-column .log-actions{justify-content:space-between}
.activity-column .empty{background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px 16px}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.activity-column{position:static;max-height:none}.activity-column .log-head{display:flex}.activity-column .log-head .actions{display:flex;margin-top:0}.activity-column tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-shell{padding:14px 12px 28px;min-height:0}.activity-column .log-head{display:block}.activity-column .log-head .actions{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:9px}.activity-column tbody{grid-template-columns:1fr}}

.schedule-time-range{display:flex;align-items:end;gap:10px;margin:14px 0 2px;padding:11px 13px;border:1px solid #d8e2fb;border-radius:12px;background:#f6f8ff}.schedule-time-range label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px;font-weight:800}.schedule-time-range input{min-width:120px;padding:8px 10px;font-size:15px;font-weight:800}.schedule-time-range>span{padding-bottom:9px;color:var(--muted);font-size:12px;font-weight:700}@media(max-width:600px){.schedule-time-range{gap:7px;padding:9px 10px}.schedule-time-range input{min-width:0;padding:8px;font-size:14px}.schedule-time-range>span{padding-bottom:8px}}
.expiry-row-with-time{grid-template-columns:minmax(190px,1fr) 105px 110px 90px 90px 72px}.page-time-field{display:grid;gap:3px;margin:0;color:var(--muted);font-size:10px;font-weight:800}.page-time-field input{min-width:0;padding:8px;font-size:13px;font-weight:800}@media(max-width:850px){.expiry-row-with-time{grid-template-columns:1fr 100px 90px 90px}.expiry-row-with-time .expiry-current{grid-column:1}.expiry-row-with-time>input{grid-column:2}.expiry-row-with-time button{grid-column:4;grid-row:2}.page-time-field{grid-row:2}.page-time-field:nth-of-type(1){grid-column:2}.page-time-field:nth-of-type(2){grid-column:3}}@media(max-width:520px){.expiry-row-with-time{grid-template-columns:1fr 1fr}.expiry-row-with-time .expiry-current{grid-column:1/-1}.expiry-row-with-time>input{grid-column:1}.expiry-row-with-time button{grid-column:2;grid-row:3}.page-time-field{grid-row:2!important}.page-time-field:nth-of-type(1){grid-column:1}.page-time-field:nth-of-type(2){grid-column:2}}


/* Excel bulk import */
.import-modal{width:min(680px,calc(100% - 30px))}.import-modal header p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.import-modal>label{display:grid;gap:7px;margin:18px 0 12px;font-weight:800}.import-modal select,.import-modal input{width:100%}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-grid label{display:grid;gap:7px;font-size:13px;font-weight:800}.import-grid input[type=file]{padding:10px;font-size:12px;background:#f8fafc}.import-note{margin:16px 0 0;padding:11px 12px;border-radius:10px;background:#eff4ff;color:#38517e;font-size:13px;line-height:1.45}.import-modal footer{margin-top:18px}@media(max-width:560px){.import-modal{width:100%;border-radius:20px 20px 0 0}.import-grid{grid-template-columns:1fr}.import-modal footer{position:sticky;bottom:0;padding:14px 0 2px;background:#fff}}

.replace-import{display:flex;align-items:center;gap:8px;margin-top:12px;color:#9b1c1c;font-size:13px;font-weight:800}.replace-import input{width:auto}.import-note b{color:#1d4ed8}

/* Page management */
.page-row{transition:background .18s ease,transform .18s ease}.page-row:hover{background:#fbfcff}.page-row .row-actions{align-items:center}.delete-page{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border:1px solid #fecdca;border-radius:10px;background:#fff5f4;color:#d92d20;font-size:23px;line-height:1;font-weight:500}.delete-page:hover{background:#fee4e2;border-color:#fda29b;transform:translateY(-1px)}@media(max-width:900px){.page-row .row-actions{display:grid;grid-template-columns:1fr 1fr auto}.delete-page{width:42px;height:42px}.page-row{border-radius:0}}

/* Keep publishing and reporting panels from competing for the same width. */
.dashboard-grid{min-width:0}
.publishing-column,.activity-column,.page-row>div{min-width:0}
@media (min-width:1151px) and (max-width:1400px){
  .dashboard-shell{padding:20px 18px}
  .dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}
  .page-row{grid-template-columns:minmax(150px,1.1fr) auto minmax(150px,1fr) auto;gap:11px;padding:15px 16px}
  .page-row .draft-preview{font-size:12px}
  .page-row .row-actions{gap:6px}
  .page-row .row-actions button{padding:9px 10px;font-size:12px}
}
@media (max-width:1150px){
  .dashboard-grid{display:block}
  .activity-column{width:100%;margin-top:24px;position:static;max-height:none;overflow:visible}
}
