:root{--ink:#171512;--muted:#68645b;--line:#ded8ce;--paper:#f6f2ea;--panel:#fffdf9;--panel-soft:#f1ece2;--accent:#1d6d64;--accent-strong:#124c46;--amber:#9b6a22;--red:#9b312c;--green:#2c6e50;--rose:#c77667;--blue:#547c91;--shadow:0 20px 60px rgba(58,48,33,0.11)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);color-scheme:light}body{margin:0;background:linear-gradient(145deg,rgba(29,109,100,.08),transparent 34%),linear-gradient(315deg,rgba(199,118,103,.08),transparent 28%),var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{min-height:40px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);padding:0 13px;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:active{transform:scale(.98)}.primary{border-color:var(--accent);background:var(--accent);color:white}.login-shell{display:grid;min-height:100dvh;place-items:center;padding:22px}.login-panel{display:grid;grid-gap:20px;gap:20px;width:min(100%,520px);border:1px solid var(--line);border-radius:8px;background:rgba(255,253,249,.94);box-shadow:var(--shadow);padding:26px}.login-brand{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center}.login-brand h1{margin-top:4px;font-size:28px;line-height:1.08}.login-copy{max-width:58ch}.login-form{display:grid;grid-gap:9px;gap:9px}.login-form label{color:var(--ink);font-size:13px;font-weight:700}.login-form input{min-height:48px;width:100%;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);padding:0 13px}.login-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-form button{margin-top:4px}.form-error{color:var(--red);font-size:13px}.login-footnote{display:grid;grid-template-columns:14px 1fr;grid-gap:9px;gap:9px;align-items:start;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px;line-height:1.45}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:grid;grid-template-rows:auto 1fr auto;grid-gap:24px;gap:24px;height:100dvh;border-right:1px solid var(--line);background:rgba(255,253,249,.88);padding:22px 16px}.brand-lockup{display:grid;grid-template-columns:42px 1fr;grid-gap:12px;gap:12px;align-items:center}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:var(--ink);color:white;font-weight:800;letter-spacing:0}.brand-lockup span,.brand-lockup strong{display:block}.brand-lockup span,.guardrail small,.metric-row small,.state-strip small,.tab-card small{color:var(--muted);font-size:12px;line-height:1.45}nav{align-content:start;grid-gap:4px;gap:4px}nav,nav a{display:grid}nav a{grid-template-columns:8px 1fr;grid-gap:10px;gap:10px;align-items:center;border-radius:7px;color:var(--muted);padding:10px 11px;text-decoration:none}nav a.active,nav a:hover{background:var(--panel-soft);color:var(--ink)}.nav-indicator{width:8px;height:8px;border:1px solid;border-radius:50%}nav a.active .nav-indicator{background:var(--accent);border-color:var(--accent)}.guardrail{display:grid;grid-gap:6px;gap:6px;border-top:1px solid var(--line);padding-top:16px}.day-column header span,.eyebrow,.guardrail span,.metric-row span,.mini-row span,.signal-row span,.tab-card span{color:var(--muted);font-size:12px;letter-spacing:0;text-transform:uppercase}.workspace{min-width:0;padding:22px}.command-tabs,.composer-workbench,.content-ops,.lower-grid,.planner-layout,.state-strip,.topbar{max-width:1480px;margin-right:auto;margin-left:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}h1,h2,h3,p{margin:0}h1{font-size:44px;line-height:1}h1,h2{letter-spacing:0}h2{font-size:18px}h3{font-size:14px;line-height:1.26;letter-spacing:0}p{color:var(--muted);line-height:1.5}.top-actions{display:flex;gap:8px}.logout-form{display:contents}.command-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.composer-workbench,.content-ops,.inspector,.panel,.planner-main,.state-strip,.tab-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,253,249,.92);box-shadow:var(--shadow)}.tab-card{display:grid;grid-gap:8px;gap:8px;min-height:96px;padding:14px}.tab-card strong{font-size:26px;line-height:1}.active-tab{border-color:rgba(29,109,100,.4);background:#eef5f1}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:12px;gap:12px}.composer-workbench,.content-ops,.inspector,.panel,.planner-main{min-width:0;padding:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.segmented{display:inline-grid;grid-template-columns:repeat(4,auto);gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:3px}.segmented button{min-height:34px;border:0;background:transparent}.segmented .selected{background:var(--panel);box-shadow:0 1px 10px rgba(58,48,33,.08)}.mini-row,.phone-top,.platform-filter{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.platform-dot{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--panel-soft);color:var(--ink);font-size:11px;font-weight:700}.platform-instagram,.platform-xiaohongshu{background:#f1d7d1}.platform-facebook,.platform-google_business_profile{background:#d8e7ec}.platform-reddit,.platform-x{background:#eadfc9}.platform-chip{display:inline-flex;gap:7px;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);padding:0 10px 0 4px;color:var(--ink);font-size:12px}.platform-chip span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--panel);font-weight:800}.campaign-band{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(29,109,100,.22);border-radius:8px;background:#edf5f1;padding:12px 14px;margin-bottom:12px}.campaign-band small,.campaign-band span{color:var(--muted);font-size:12px}.campaign-band strong{display:block;margin-top:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(126px,1fr));grid-gap:1px;gap:1px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--line)}.day-column{min-height:510px;background:rgba(255,253,249,.9)}.day-column header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:66px;border-bottom:1px solid var(--line);padding:12px}.day-column header strong{display:block;margin-top:4px}.best-time,.count,.pill{display:inline-flex;min-height:24px;align-items:center;border:1px solid;border-radius:999px;padding:0 8px;font-size:11px;white-space:nowrap}.day-stack{display:grid;grid-gap:10px;gap:10px;padding:10px}.calendar-card{display:grid;grid-gap:9px;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px}.post-thumb,.preview-image{position:relative;overflow:hidden;min-height:82px;border-radius:7px;background:linear-gradient(135deg,rgba(29,109,100,.12),transparent 50%),#eee6dc}.cake-silhouette{position:absolute;right:16px;bottom:10px;width:68px;height:42px;border-radius:48% 48% 12px 12px;background:#fff9f0;border:1px solid rgba(23,21,18,.12)}.cake-silhouette:before{content:"";position:absolute;top:-13px;left:15px;width:38px;height:22px;border-radius:50%;background:#d8857a}.cake-silhouette.large{right:34px;bottom:24px;width:142px;height:86px}.cake-silhouette.large:before{top:-25px;left:34px;width:74px;height:42px}.calendar-card-body,.empty-slot{display:grid;grid-gap:7px;gap:7px}.empty-slot{min-height:112px;place-content:center;border:1px dashed #c8c0b4;border-radius:8px;color:var(--muted);text-align:center}.empty-slot small{max-width:18ch;font-size:12px}.inspector{position:-webkit-sticky;position:sticky;top:22px;align-self:start;display:grid;grid-gap:14px;gap:14px}.inspector-header,.lane,.metric-row,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.phone-preview{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#faf7f0;padding:12px}.preview-image{min-height:230px}.preview-copy{display:grid;grid-gap:8px;gap:8px}.preview-copy small{color:var(--accent-strong);line-height:1.5}.approval-checklist{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:14px}.check-row{display:grid;grid-template-columns:14px 1fr;grid-gap:9px;gap:9px;align-items:center;font-size:13px}.check-dot{width:10px;height:10px;border:1px solid var(--amber);border-radius:50%}.check-dot.done{border-color:var(--green);background:var(--green)}.ai-panel,.gate-note{border-radius:8px;padding:12px;font-size:13px;line-height:1.45}.gate-note.ready{background:#edf5f1;color:var(--green)}.gate-note.locked{background:#f5ecdc;color:var(--amber)}.ai-panel{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(84,124,145,.28);background:#eef4f6}.ai-panel span{display:block;color:var(--blue);font-size:12px}.composer-workbench{display:grid;grid-gap:14px;gap:14px;margin-top:12px}.composer-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:12px;gap:12px}.composer-main,.composer-side,.side-block{display:grid;align-content:start;grid-gap:12px;gap:12px;min-width:0}.composer-brief{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid rgba(29,109,100,.2);border-radius:8px;background:#edf5f1;padding:12px}.best-time-row small,.composer-brief span,.manual-pack p,.side-block>span,.variant-head,.variant-row small{color:var(--muted);font-size:12px}.composer-brief strong{display:block;margin:4px 0}.variant-table{display:grid;overflow:auto;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--line)}.variant-head,.variant-row{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(110px,.45fr) minmax(138px,.55fr) minmax(112px,.45fr) minmax(260px,1fr);grid-gap:1px;gap:1px;min-width:960px}.variant-head span,.variant-row>code,.variant-row>div,.variant-row>span{background:rgba(255,253,249,.94);padding:12px}.variant-head span{font-weight:700}.variant-row p{margin-top:8px;font-size:13px}.variant-row small,.variant-row strong{display:block}.variant-row code{overflow-wrap:anywhere;color:var(--accent-strong);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45}.side-block{border:1px solid var(--line);border-radius:8px;background:#faf7f0;padding:12px}.best-time-row{display:grid;grid-gap:7px;gap:7px;border-bottom:1px solid var(--line);padding-bottom:10px}.best-time-row:last-child{border-bottom:0;padding-bottom:0}.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.reason-chip{justify-content:center;min-width:0;min-height:38px;white-space:normal}.manual-pack{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 10px;gap:6px 10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.manual-pack:last-child{border-bottom:0;padding-bottom:0}.manual-pack p{grid-column:1/-1;line-height:1.45}.content-ops{display:grid;grid-gap:14px;gap:14px;margin-top:12px}.ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 420px;grid-gap:12px;gap:12px}.ops-lane{display:grid;align-content:start;grid-gap:10px;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#faf7f0;padding:12px}.lane-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.contract-row span,.lane-title span,.ops-meta span{color:var(--muted);font-size:12px;letter-spacing:0;text-transform:uppercase}.contract-row,.ops-item{display:grid;grid-gap:8px;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.contract-row:last-child,.ops-item:last-child{border-bottom:0;padding-bottom:0}.ops-item strong{font-size:13px;line-height:1.35}.ops-meta{display:flex;flex-wrap:wrap;gap:7px}.ops-meta span{border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:4px 8px;text-transform:none}.contract-row{grid-template-columns:58px minmax(0,1fr);align-items:start}.contract-row code{overflow-wrap:anywhere;color:var(--accent-strong);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.contract-row p{grid-column:1/-1;font-size:13px}.lower-grid{display:grid;grid-template-columns:.9fr 1.25fr .85fr;grid-gap:12px;gap:12px;margin-top:12px}.panel{min-height:284px}.metric-list,.risk-list,.signal-list{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:10px}.metric-row,.risk-row,.signal-row{display:grid;grid-gap:7px;gap:7px;border-bottom:1px solid var(--line);padding:0 0 10px}.metric-row{grid-template-columns:minmax(120px,1fr) auto}.metric-row small{grid-column:1/-1}.risk-row strong,.signal-row strong{font-size:13px}.state-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;margin-top:12px;background:var(--line);padding:0}.state-strip div{display:grid;grid-gap:6px;gap:6px;min-height:92px;background:rgba(255,253,249,.92);padding:14px}.loading-line{width:76%;height:8px;border-radius:999px;background:linear-gradient(90deg,#e6ded2,#f9f4eb,#e6ded2);background-size:200% 100%;animation:loading-shift 1.4s ease-in-out infinite}.tone-good{color:var(--green)}.tone-watch{color:var(--amber)}.tone-blocked{color:var(--red)}.tone-neutral{color:var(--muted)}@keyframes loading-shift{0%{background-position:0 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media (max-width:1180px){.composer-grid,.lower-grid,.ops-grid,.planner-layout{grid-template-columns:1fr}.inspector{position:static}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.command-tabs,.state-strip,nav{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-band,.composer-brief,.toolbar,.topbar{align-items:stretch;flex-direction:column}h1{font-size:34px}}@media (max-width:560px){.sidebar,.workspace{padding:14px}.command-tabs,.segmented,.state-strip,.top-actions,nav{grid-template-columns:1fr}.segmented,.top-actions{display:grid}}