@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@700&display=swap');

:root { --ink:#17201c; --muted:#66726b; --paper:#f6f4ef; --panel:#fffefa; --line:#deded4; --lime:#cfed75; --green:#1d5b45; --orange:#e97841; }
* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; } a { color:inherit; }
.topbar { height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 max(5vw,32px); border-bottom:1px solid var(--line); background:#fbfaf6; }.brand { text-decoration:none; font-weight:800; letter-spacing:-.04em; font-size:21px; }.brand span { color:var(--green); font-size:12px; letter-spacing:0; margin-left:10px; }.topbar-note { display:flex; gap:18px; color:var(--muted); font-size:13px; }.topbar-note a { text-decoration:none; }.topbar-note a:hover { color:var(--green); }
main { max-width:1240px; margin:0 auto; padding:54px max(5vw,32px) 80px; }.hero,.detail-hero { display:flex; justify-content:space-between; gap:32px; align-items:flex-start; }.eyebrow { margin:0 0 9px; font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--green); }.hero h1,.detail-hero h1 { margin:0; max-width:750px; font:700 clamp(38px,5vw,68px)/1.02 'Playfair Display',Georgia,serif; letter-spacing:-.045em; }.hero-copy { max-width:560px; font-size:17px; line-height:1.6; color:var(--muted); }.safe-note { min-width:210px; padding:18px; border-radius:12px; background:var(--lime); font-size:13px; line-height:1.45; }.safe-note strong { font-size:14px; }
.summary { display:grid; grid-template-columns:repeat(4,1fr); margin:58px 0 68px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--panel); }.metric { padding:25px 27px; border-right:1px solid var(--line); }.metric:last-child { border:0; }.metric span { display:block; color:var(--muted); font-size:12px; }.metric strong { display:block; margin-top:7px; font-size:27px; letter-spacing:-.05em; }.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:22px; }.section-heading h2,.panel h2 { margin:0; font-size:23px; letter-spacing:-.04em; }.section-heading>span { color:var(--muted); font-size:13px; }
.campaign-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.campaign-card { min-height:255px; display:flex; flex-direction:column; padding:22px; text-decoration:none; background:var(--panel); border:1px solid var(--line); border-radius:14px; transition:.15s ease; }.campaign-card:hover { transform:translateY(-3px); box-shadow:0 10px 22px #1c322112; border-color:#b7c9b4; }.card-top { display:flex; justify-content:space-between; }.status { display:inline-block; padding:5px 9px; border-radius:20px; font-size:11px; font-weight:800; }.status.draft { background:#ecebe6; color:#657068; }.status.uploaded { background:#dff0e7; color:#20603e; }.status.active { background:var(--lime); color:#1d4728; }.status.completed { background:#ebe9e1; color:#72746e; }.city { color:var(--muted); font-size:12px; }.campaign-card h3 { margin:30px 0 8px; font-size:20px; letter-spacing:-.04em; }.date { margin:0; color:var(--muted); font-size:13px; }.card-data { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding-top:24px; font-size:12px; color:var(--muted); }.card-data b { display:block; margin-top:4px; color:var(--ink); font-size:14px; }.card-footer { display:flex; justify-content:space-between; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); color:var(--green); font-size:13px; font-weight:700; }.card-footer span { font-size:18px; line-height:12px; }.empty { padding:48px; text-align:center; background:var(--panel); border:1px dashed var(--line); border-radius:14px; }.empty p { color:var(--muted); }
.back { display:inline-block; margin-bottom:34px; color:var(--green); font-size:13px; font-weight:700; text-decoration:none; }.detail-hero { padding-bottom:38px; border-bottom:1px solid var(--line); }.detail-hero h1 { font-size:clamp(35px,4.5vw,57px); }.detail-hero p:not(.eyebrow) { color:var(--muted); }.detail-status { min-width:185px; text-align:right; }.detail-status strong { display:block; margin-top:20px; font-size:28px; letter-spacing:-.05em; }.detail-status small { color:var(--muted); }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }.panel { padding:23px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }.wide { margin-top:16px; }.panel h2 { margin-bottom:18px; font-size:18px; } dl { margin:0; } dl div { display:flex; justify-content:space-between; gap:24px; padding:12px 0; border-top:1px solid var(--line); font-size:13px; } dt { color:var(--muted); } dd { margin:0; text-align:right; font-weight:700; } dd a { color:var(--green); }.channel-grid,.ads-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.channel-grid>div { padding:17px; border-radius:10px; background:#f2f3ed; }.channel-grid span,.channel-grid small { display:block; color:var(--muted); font-size:12px; }.channel-grid strong { display:block; margin:8px 0 4px; font-size:22px; letter-spacing:-.05em; }.ads-grid { grid-template-columns:repeat(3,1fr); }.ad { min-height:170px; padding:17px; border-radius:10px; background:#f2f3ed; }.ad span { font-size:10px; font-weight:800; letter-spacing:.1em; color:var(--green); }.ad h3 { margin:15px 0 4px; font-size:16px; letter-spacing:-.035em; }.ad h4 { margin:0; color:var(--green); font-size:13px; }.ad p { color:var(--muted); font-size:12px; line-height:1.55; }.checklist { margin:0; padding:0; list-style:none; }.checklist li { padding:12px 0 12px 25px; border-top:1px solid var(--line); position:relative; font-size:13px; }.checklist li:before { content:'○'; position:absolute; left:2px; color:var(--orange); font-size:18px; top:8px; }
@media (max-width:800px) { .topbar-note { display:none; } main { padding-top:34px; }.hero,.detail-hero { flex-direction:column; }.safe-note,.detail-status { width:100%; text-align:left; }.summary { grid-template-columns:repeat(2,1fr); margin:38px 0 45px; }.metric:nth-child(2) { border-right:0; }.metric:nth-child(-n+2) { border-bottom:1px solid var(--line); }.campaign-grid,.ads-grid { grid-template-columns:1fr; }.detail-grid,.channel-grid { grid-template-columns:1fr; }.brand span { display:none; } }

.button { display:inline-block; border:0; cursor:pointer; padding:12px 16px; border-radius:9px; background:var(--green); color:#fff; text-decoration:none; font:700 13px Manrope,Arial,sans-serif; }.button:hover { background:#144532; }.created-note,.form-error { margin:20px 0; padding:14px 17px; border-radius:10px; background:#e6f3d2; color:#275032; font-size:13px; }.form-error { background:#fae5db; color:#823c28; }.recommendations { display:grid; gap:10px; }.recommendation { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px; border:1px solid var(--line); border-left:4px solid #9da59e; border-radius:9px; }.recommendation.critical { border-left-color:#c75b3f; }.recommendation.warning { border-left-color:#e4a03b; }.recommendation.acknowledged { opacity:.58; }.recommendation-level { font-size:10px; font-weight:800; letter-spacing:.08em; color:var(--muted); }.recommendation h3 { margin:5px 0; font-size:15px; letter-spacing:-.03em; }.recommendation p { margin:0; color:var(--muted); font-size:12px; }.recommendation button { border:1px solid var(--line); border-radius:8px; padding:9px 11px; background:#fff; color:var(--green); font:700 12px Manrope,Arial,sans-serif; cursor:pointer; white-space:nowrap; }.acknowledged-label { color:var(--green); font-size:12px; font-weight:700; }.empty-copy { color:var(--muted); font-size:13px; }.form-wrap { max-width:720px; }.form-wrap h1 { margin:0; font:700 clamp(38px,5vw,58px)/1.03 'Playfair Display',Georgia,serif; letter-spacing:-.05em; }.form-wrap>p:not(.eyebrow) { color:var(--muted); }.campaign-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:30px; padding:25px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }.campaign-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }.campaign-form input { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; background:#fff; color:var(--ink); font:14px Manrope,Arial,sans-serif; }.span-2 { grid-column:span 2; }.form-submit { display:flex; align-items:center; gap:14px; }.form-submit span { color:var(--muted); font-size:11px; }
.button.secondary { background:#e7ece2; color:var(--green); }.heading-actions { display:flex; gap:8px; }.live-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding-bottom:35px; border-bottom:1px solid var(--line); }.live-header h1 { margin:0; font:700 clamp(38px,5vw,60px)/1.04 'Playfair Display',Georgia,serif; letter-spacing:-.05em; }.live-header p:not(.eyebrow) { color:var(--muted); font-size:13px; }.live-badge { padding:10px 13px; border-radius:8px; background:var(--lime); color:#285031; font-size:12px; font-weight:800; }.small-status { font-size:16px !important; letter-spacing:-.03em !important; }.live-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; }.live-row { display:grid; grid-template-columns:2fr 1fr 1.5fr 1.5fr; gap:15px; padding:14px 15px; border-top:1px solid var(--line); font-size:12px; align-items:center; }.live-row:first-child { border-top:0; }.live-row-head { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.live-row a { color:var(--green); font-weight:700; }.live-row em { font-style:normal; }.live-row .bad { color:#a6472e; }.live-row .muted { color:var(--muted); }
.history-row { grid-template-columns:2fr 1fr 1fr 1fr; }
.diagnostics { display:grid; gap:10px; }.diagnostic { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px; border-left:4px solid #9da59e; border-radius:8px; background:#f2f3ed; }.diagnostic.critical { border-left-color:#c75b3f; background:#fbebe5; }.diagnostic.warning { border-left-color:#e4a03b; background:#fff4df; }.diagnostic.ok { border-left-color:#559b70; background:#e9f4e5; }.diagnostic span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; }.diagnostic h3 { margin:5px 0; font-size:15px; }.diagnostic p { margin:0; color:var(--muted); font-size:12px; }.diagnostic>strong { max-width:280px; color:var(--green); font-size:12px; text-align:right; }
.archive { margin-top:40px; padding-top:25px; border-top:1px solid var(--line); }.archive summary { cursor:pointer; color:var(--muted); font-size:13px; font-weight:700; }.archive summary span { display:inline-grid; place-items:center; width:20px; height:20px; margin-left:7px; border-radius:50%; background:#e8e9e3; color:var(--ink); font-size:11px; }.archive-list { display:grid; gap:1px; margin-top:15px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }.archive-list a { display:flex; justify-content:space-between; gap:16px; padding:13px 15px; background:var(--panel); text-decoration:none; font-size:13px; }.archive-list a:hover { background:#f0f2e9; }.archive-list span { color:var(--muted); }
.semantic-form { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:12px; align-items:end; }.semantic-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }.semantic-form label span { font-weight:400; }.semantic-form select,.semantic-form input { min-width:0; border:1px solid var(--line); border-radius:8px; padding:11px 12px; background:#fff; color:var(--ink); font:13px Manrope,Arial,sans-serif; }.semantic-form .semantic-file input { padding:8px; }.filter-links { display:flex; gap:12px; font-size:12px; font-weight:700; color:var(--green); }.semantic-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; }.semantic-row { display:grid; grid-template-columns:2fr 1.1fr 1.5fr 1.3fr; gap:16px; padding:14px 15px; border-top:1px solid var(--line); font-size:12px; align-items:start; }.semantic-row:first-child { border-top:0; }.semantic-row strong { display:block; font-size:14px; }.semantic-row small { display:block; margin-top:5px; color:var(--muted); line-height:1.35; }.semantic-head { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.decision-controls { display:grid; gap:8px; }.decision { display:inline-block; width:max-content; padding:4px 7px; border-radius:20px; background:#ecebe6; color:#657068; font-size:10px; font-weight:800; }.decision.approved { background:#dff0e7; color:#20603e; }.decision.rejected { background:#f6e5de; color:#9b4e36; }.decision-controls form { display:flex; gap:6px; }.decision-controls button { border:1px solid var(--line); border-radius:7px; padding:7px 8px; background:#fff; color:var(--green); font:700 11px Manrope,Arial,sans-serif; cursor:pointer; }
.query-sync-form { display:flex; align-items:end; gap:12px; }.query-sync-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }.query-sync-form select { min-width:260px; border:1px solid var(--line); border-radius:8px; padding:11px 12px; background:#fff; color:var(--ink); font:13px Manrope,Arial,sans-serif; }.query-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; }.query-row { display:grid; grid-template-columns:1.45fr 1.5fr 1fr 1.15fr; gap:16px; padding:14px 15px; border-top:1px solid var(--line); font-size:12px; align-items:start; }.query-row:first-child { border-top:0; }.query-row strong,.query-row b { display:block; font-size:13px; }.query-row small { display:block; margin-top:5px; color:var(--muted); line-height:1.35; }.query-head { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.recommendation-tag { display:inline-block; padding:5px 8px; border-radius:20px; background:#eef0ec; color:#536158; font-size:10px; font-weight:800; }.recommendation-tag.add_keyword { background:#dff0e7; color:#20603e; }.recommendation-tag.negative { background:#f6e5de; color:#9b4e36; }.recommendation-tag.check { background:#fff0d6; color:#8d641c; }
.narrow { max-width:680px; }.field-label { display:block; margin-bottom:8px; color:var(--muted); font-size:12px; font-weight:700; }.full-select { width:100%; border:1px solid var(--line); border-radius:8px; padding:12px; background:#fff; color:var(--ink); font:13px Manrope,Arial,sans-serif; }
.auth-panel { margin: 8vh auto; }.auth-panel form { display:grid; gap:12px; }.auth-panel input { box-sizing:border-box; margin-top:7px; }.link-button { border:0; background:none; color:var(--muted); cursor:pointer; font:inherit; padding:0; }
.brief-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:30px; padding:25px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }.brief-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }.brief-form label span { font-weight:400; }.brief-form input,.brief-form textarea { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; background:#fff; color:var(--ink); font:14px Manrope,Arial,sans-serif; }.brief-form textarea { resize:vertical; line-height:1.5; }.brief-offer { margin:0 0 12px; color:var(--green); font:700 25px/1.2 'Playfair Display',Georgia,serif; letter-spacing:-.04em; }.seed-grid { display:flex; flex-wrap:wrap; gap:8px; }.seed-grid span { padding:8px 10px; border-radius:8px; background:#e9f3e3; color:#245138; font-size:12px; font-weight:700; }.negative-seeds span { background:#f7e8e1; color:#854a39; }
.economics-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.economics-card h2 { margin:0; font-size:19px; letter-spacing:-.04em; }.economics-card .card-top { align-items:flex-start; }.economics-card dl { margin-top:15px; }.economics-card dd.bad { color:#a6472e; }.economics-recommendation { min-height:38px; margin:18px 0; padding:12px; border-radius:8px; background:#f2f3ed; color:var(--green); font-size:12px; font-weight:700; }.economics-form { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:15px; border-top:1px solid var(--line); }.economics-form label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }.economics-form input { width:100%; min-width:0; border:1px solid var(--line); border-radius:7px; padding:9px; background:#fff; font:12px Manrope,Arial,sans-serif; }.economics-form button { grid-column:span 3; justify-self:start; }
.change-list { display:grid; gap:16px; }.change-card h2 { margin:0; font-size:20px; letter-spacing:-.04em; }.change-card dl { margin-top:16px; }.change-card .decision { white-space:nowrap; }.change-diff { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); }.change-diff>span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.change-diff pre { margin:10px 0 0; padding:12px; overflow:auto; border-radius:8px; background:#f2f3ed; color:var(--green); font:12px/1.5 Consolas,monospace; }
@media (max-width:800px) { .recommendation,.form-submit,.live-header,.query-sync-form { flex-direction:column; align-items:flex-start; }.heading-actions { flex-wrap:wrap; }.campaign-form,.semantic-form,.brief-form,.economics-grid { grid-template-columns:1fr; }.span-2 { grid-column:auto; }.live-row,.semantic-row,.query-row { grid-template-columns:1fr 1fr; }.live-row-head,.semantic-head,.query-head { display:none; }.query-sync-form select { min-width:0; width:100%; }.economics-form { grid-template-columns:1fr; }.economics-form button { grid-column:auto; } }
