:root{color-scheme:light;--bg:#f7f7f4;--panel:#ffffff;--ink:#171717;--muted:#666a73;--line:#deded8;--accent:#146c63;--accent-strong:#0b4c46;--danger:#a1362f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.shell{min-height:100dvh}.topbar{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;padding:16px 28px}.brand{font-weight:800;letter-spacing:.02em}.nav{display:flex;flex-wrap:wrap;gap:12px}.button,.nav a,button{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;gap:8px;padding:10px 13px;text-decoration:none}.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.layout{display:grid;grid-gap:24px;gap:24px;grid-template-columns:260px 1fr;padding:24px}.card,.panel,.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:8px}.sidebar{display:flex;flex-direction:column;gap:6px;padding:14px}.sidebar a{border-radius:7px;color:var(--muted);padding:10px;text-decoration:none}.sidebar a:hover{background:#eef3f2;color:var(--accent-strong)}.main{display:grid;grid-gap:18px;gap:18px}.panel{padding:22px}.grid{grid-gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid,.grid-2{display:grid;gap:14px}.grid-2{grid-gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:16px}.workflow-form{gap:16px}.workflow-shell{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 320px}.workflow-shell.editor-mode{grid-template-columns:minmax(0,1fr)}.workflow-main{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:16px}.workflow-step-head,.workflow-step-subhead{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.workflow-step-head h2,.workflow-step-subhead h3{font-size:17px;margin:0}.workflow-step{display:grid;grid-gap:14px;gap:14px}.steps{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto;padding-bottom:2px}.step{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;min-height:76px;padding:10px;text-align:left}.step.active{background:var(--accent);border-color:var(--accent);color:#fff}.step.done{background:#e4f4ec;border-color:#b5d9c6}.step.invalid{border-color:var(--danger);box-shadow:0 0 0 2px rgba(161,54,47,.16)}.step.invalid,.step.invalid.active{background:#fff7f6;color:var(--danger)}.step small{font-size:11px;font-weight:800;opacity:.72;text-transform:uppercase}.step span{font-size:14px;font-weight:800}.step em{font-size:12px;font-style:normal;opacity:.72}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.workflow-toast{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 36px rgba(21,35,38,.18);max-width:min(420px,calc(100vw - 32px));padding:12px 14px;position:fixed;right:20px;top:82px;z-index:60}.workflow-toast.danger{border-color:var(--danger);color:var(--danger)}.side-summary{display:grid;grid-gap:12px;gap:12px}.workflow-shell.editor-mode .side-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-block{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.summary-block h3{font-size:15px;margin:0 0 8px}.summary-block p{margin:0}.caption,.caption-preview{white-space:pre-wrap}.media-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.media-card{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:0;gap:0;grid-template-rows:130px auto;min-height:190px;overflow:hidden;padding:0;position:relative;text-align:left}.media-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(20,108,99,.18)}.media-card img{height:100%;object-fit:cover;width:100%}.media-card .check{align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;height:26px;justify-content:center;position:absolute;right:9px;top:9px;width:26px}.media-card.selected .check{background:var(--accent);border-color:var(--accent);color:#fff}.media-copy{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:11px}.media-copy span,.media-copy strong{font-size:12px}.media-placeholder{align-items:center;background:#eef3f2;color:var(--muted);display:flex;justify-content:center;min-height:130px;padding:16px;text-align:center}.template-placeholder{background:#f8faf9;border:1px dashed var(--line);border-radius:8px;padding:14px}.template-config-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) minmax(220px,.8fr)}.template-config-grid fieldset{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;margin:0;padding:12px}.template-config-grid fieldset legend{color:var(--muted);font-size:12px;font-weight:800;padding:0 6px}.konva-editor-shell{align-items:stretch;display:grid;grid-gap:14px;gap:14px;grid-template-columns:210px minmax(560px,1fr);min-width:0}.editor-topbar{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-column:1/-1;grid-template-columns:1fr;padding-bottom:12px}.editor-statusbar,.editor-tabs{display:flex;flex-wrap:wrap;gap:8px}.editor-statusbar{align-items:center;justify-content:flex-start}.editor-statusbar button{min-height:36px;padding:8px 12px}.editor-page-hint{color:var(--muted);font-size:13px;grid-column:1/-1;margin:0}.tool-panel{background:#fafaf9;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;align-content:start;padding:12px;min-width:0}.tool-panel h3{font-size:14px;margin:0}.canvas-tabs{display:flex;flex-wrap:wrap;gap:8px}.canvas-tabs button{flex:1 1 64px}.tool-divider{border-top:1px solid var(--line);height:1px}.layer-list{display:grid;grid-gap:7px;gap:7px}.layer-item{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;font-size:12px;justify-content:space-between;padding:9px;text-align:left}.layer-item.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.12)}.canvas-wrap{align-items:start;background:linear-gradient(45deg,rgba(229,221,210,.8) 25%,transparent 0),linear-gradient(-45deg,rgba(229,221,210,.8) 25%,transparent 0),linear-gradient(45deg,transparent 75%,rgba(229,221,210,.8) 0),linear-gradient(-45deg,transparent 75%,rgba(229,221,210,.8) 0);background-color:#f7f4ef;background-position:0 0,0 14px,14px -14px,-14px 0;background-size:28px 28px;border:1px solid var(--line);border-radius:8px;display:grid;justify-content:center;min-height:625px;min-width:0;overflow:auto;padding:0}.konva-stage{background:#fff;border-radius:10px;box-shadow:0 18px 44px rgba(21,20,18,.2);overflow:hidden}.preview-workbench{align-items:flex-start;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(280px,1fr) 280px}.active-preview{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.editor-stage{overflow:hidden}.post-top{display:flex;gap:10px;padding:12px}.avatar,.post-top{align-items:center}.avatar{background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:800;height:30px;justify-content:center;width:30px}.render{background:#eee;display:block;object-fit:cover;width:100%}.active-render{max-height:560px}.preview-feed{aspect-ratio:4/5}.range-control{display:grid;grid-gap:7px;gap:7px;margin:0}.range-control input{width:100%}.toggle-row{align-items:center;display:flex;gap:8px}.template-readout{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;font-size:12px;grid-gap:6px;gap:6px;padding:10px}.template-readout span{color:var(--muted)}.active-preview .caption{color:#2d2924;font-size:13px;line-height:1.45;max-height:160px;overflow:auto;padding:12px}.checklist{display:grid;grid-gap:9px;gap:9px;list-style:none;margin:12px 0 0;padding:0}.checklist li{background:#f8faf9;border:1px solid var(--line);border-radius:8px;padding:10px}.listing-grid-shell{height:min(720px,calc(100dvh - 250px));min-height:420px;width:100%}.grid-link{color:var(--accent-strong);font-weight:700;text-decoration:none}.grid-link:hover{text-decoration:underline}.grid-thumb{aspect-ratio:4/3;border:1px solid var(--line);border-radius:6px;display:block;height:48px;margin-top:7px;object-fit:cover;width:64px}.muted{color:var(--muted)}.metric{font-size:28px;font-weight:800}.metric-card{color:inherit;display:block;text-decoration:none}.metric-card:focus-visible,.metric-card:hover{border-color:var(--accent)}.provider-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.provider-action,.provider-cell{align-items:center;display:inline-flex;gap:8px}.provider-mark{align-items:center;background:#111827;border-radius:6px;color:#fff;display:inline-flex;font-size:11px;font-weight:800;height:26px;justify-content:center;letter-spacing:0;min-width:30px;padding:0 6px}.provider-mark.instagram_standalone{background:#b42363}.provider-mark.tiktok{background:#0f172a}.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.table-actions a,.table-actions button{border-radius:6px;font-size:12px;line-height:1.1;min-height:30px;padding:6px 8px}.table-actions p{flex-basis:100%;margin:0}.post-link-cell{color:inherit;font-weight:700;text-decoration:none}.post-link-cell:focus-visible,.post-link-cell:hover{color:var(--accent)}.object-types-cell,.post-links-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px;height:100%}.post-links-cell .provider-cell{border:1px solid var(--line);border-radius:7px;padding:5px 7px}.campaign-inventory-grid{min-height:430px}.media-preview-cell{align-items:center;display:flex;gap:7px;height:100%}.media-preview-thumb{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:6px;display:inline-flex;height:52px;justify-content:center;overflow:hidden;width:52px}.media-preview-thumb img{height:100%;object-fit:cover;width:100%}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 9px;text-transform:uppercase}.status.ok{background:#e4f4ec;color:#14633e}.status.warn{background:#fff4d8;color:#7a4d00}.status.danger{background:#fde8e6;color:var(--danger)}form{grid-gap:12px;gap:12px}form,label{display:grid}label{grid-gap:6px;gap:6px;font-weight:650}input,select,textarea{border:1px solid var(--line);border-radius:8px;font:inherit;padding:11px 12px}textarea{min-height:120px}@media (max-width:860px){.layout{grid-template-columns:1fr;padding:14px}.topbar{align-items:flex-start;flex-direction:column}.grid-2,.konva-editor-shell,.preview-workbench,.template-config-grid,.workflow-shell,.workflow-shell.editor-mode,.workflow-shell.editor-mode .side-summary{grid-template-columns:1fr}.steps{grid-template-columns:repeat(5,150px)}}