.campaign-view{padding:24px;max-width:1600px;margin:auto}.campaign-head,.campaign-title,.campaign-pages,.campaign-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.campaign-head{margin-bottom:18px}.campaign-head h2{margin:2px 0;font-size:28px;color:#073462}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#d88900;font-weight:800}.campaign-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}.campaign-kpis>div,.campaign-card{background:#fff;border:1px solid #dbe4ee;border-radius:12px}.campaign-kpis>div{padding:16px}.campaign-kpis strong{display:block;font-size:24px;color:#073462}.campaign-kpis span{font-size:12px;color:#64748b}.campaign-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}.campaign-card{padding:18px}.campaign-row{width:100%;border:0;border-bottom:1px solid #e5edf5;background:#fff;padding:14px 8px;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.campaign-row.active{background:#edf5ff}.campaign-row span,.campaign-row small{display:block}.campaign-row small{margin-top:4px;color:#64748b}.campaign-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.campaign-form label,.campaign-dialog label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#38516c}.campaign-form input,.campaign-form select,.campaign-form textarea,.campaign-dialog input,.campaign-search input{width:100%;padding:10px;border:1px solid #cbd8e6;border-radius:7px;font:inherit}.campaign-form .wide{grid-column:1/-1}.campaign-actions{margin-top:14px}.campaign-search{display:flex;gap:8px;margin:14px 0}.campaign-search input{max-width:420px}.campaign-pages{margin:10px 0}.campaign-view table{width:100%;border-collapse:collapse}.campaign-view th,.campaign-view td{padding:10px;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:top}.campaign-dialog{width:min(560px,92vw);border:1px solid #ccd7e4;border-radius:12px;padding:24px;color:#16385d}.campaign-dialog .close{float:right}.campaign-dialog .test{display:flex;align-items:center;margin:14px 0}.campaign-dialog .test input{width:auto}@media(max-width:900px){.campaign-layout{grid-template-columns:1fr}.campaign-kpis{grid-template-columns:repeat(2,1fr)}.campaign-form{grid-template-columns:1fr}.campaign-form .wide{grid-column:auto}}
.campaign-template{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:16px;align-items:end;background:#eef5fc;border-left:5px solid #f6a000;border-radius:8px;padding:14px;margin-bottom:16px}.campaign-template label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#073462}.campaign-template select{width:100%;padding:11px;border:1px solid #b9cbe0;border-radius:7px;background:#fff}.campaign-template p{margin:0;color:#58708a}.campaign-image-preview{display:flex;align-items:center;gap:18px;background:#f7f9fc;border:1px solid #dbe4ee;border-radius:8px;padding:12px;color:#64748b}.campaign-image-preview img{width:110px;height:90px;object-fit:contain;background:#fff;border-radius:6px}.campaign-form textarea{line-height:1.55;resize:vertical}@media(max-width:900px){.campaign-template{grid-template-columns:1fr}}
.campaign-audience-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:16px 0;padding:14px;background:#f4f7fb;border:1px solid #d6e0eb;border-radius:9px}.campaign-audience-filters label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#38536f}.campaign-audience-filters label.wide{grid-column:span 2}.campaign-audience-filters input,.campaign-audience-filters select{height:38px;padding:6px 9px;border:1px solid #c8d5e4;border-radius:5px;background:#fff}.campaign-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.campaign-schedule{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid #b9d8c5;border-left:5px solid #15945d;border-radius:9px;background:#f1fbf5}.campaign-schedule label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#244b39}.campaign-schedule input{height:38px;padding:6px 9px;border:1px solid #b8cdbf;border-radius:5px;background:white}.campaign-schedule small{flex-basis:100%;color:#557064}.campaign-include{display:flex;align-items:center;gap:5px;white-space:nowrap}.campaign-excluded{opacity:.48;background:#f1f3f5}.campaign-pages-bottom{margin-top:18px;padding-top:12px;border-top:1px solid #dbe4ee}
.campaign-score{display:inline-flex;min-width:34px;height:26px;align-items:center;justify-content:center;border-radius:13px;font-weight:800}.campaign-score.score-high{background:#d8f5e7;color:#087245}.campaign-score.score-medium{background:#fff0c7;color:#8a5900}.campaign-score.score-low{background:#e8edf3;color:#53677d}
.campaign-head-actions,.social-actions,.social-streams{display:flex;gap:8px;flex-wrap:wrap}.social-studio h4{font-size:19px;color:#073462;margin:18px 0 5px}.social-streams{margin:14px 0}.social-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.social-card,.newspaper-card{border:1px solid #d8e2ed;border-radius:12px;padding:12px;background:#fff;box-shadow:0 3px 12px rgba(7,52,98,.06)}.story-preview{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:9px;background:#073462;color:#fff;margin-bottom:10px}.story-preview:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,35,73,.95))}.story-preview img{width:100%;height:100%;object-fit:cover}.story-preview span,.story-preview strong{position:absolute;z-index:1;left:16px;right:16px}.story-preview span{top:16px;display:inline-block;right:auto;padding:5px 9px;border-radius:12px;background:#f7a600;color:#073462;font-size:11px;font-weight:800}.story-preview strong{bottom:24px;font-size:25px;line-height:1.08;text-shadow:0 2px 5px #000}.social-card label,.newspaper-card label,.portrait-upload{display:grid;gap:5px;font-size:12px;font-weight:700;color:#38516c}.social-card textarea,.newspaper-card textarea,.newspaper-card input{width:100%;box-sizing:border-box;border:1px solid #cbd8e6;border-radius:7px;padding:9px;font:inherit;resize:vertical}.social-actions{margin-top:10px}.social-studio hr{border:0;border-top:1px solid #dbe4ee;margin:28px 0}.newspaper-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.portrait-upload{min-width:300px;padding:12px;background:#fff7df;border:1px solid #f0d486;border-radius:9px}.portrait-upload small{font-weight:400}.newspaper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:16px}.newspaper-card{display:grid;gap:10px}.newspaper-card>img{width:100%;height:160px;object-fit:cover;border-radius:8px}.newspaper-card>small{color:#64748b}@media(max-width:720px){.newspaper-head{align-items:stretch;flex-direction:column}.portrait-upload{min-width:0}.social-grid,.newspaper-grid{grid-template-columns:1fr}}
.story-preview.ready-asset:after{display:none}.social-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:4px 0 10px;color:#073462}.publication-state{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap}.publication-state.planned{background:#fff1bd;color:#835700}.publication-state.published{background:#d8f5e7;color:#087245}.publication-warning{padding:10px 12px;border-left:4px solid #d88900;background:#fff7df;color:#6f5000}.publication-history{margin-top:28px;padding:16px;border:1px solid #d8e2ed;border-radius:12px;background:#f8fbfe}.publication-table{max-height:320px;overflow:auto;background:#fff;border-radius:8px}.publication-table table{min-width:720px}.campaign-publication-modal{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,24,50,.62)}.campaign-publication-modal form{width:min(680px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.campaign-publication-modal header,.campaign-publication-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-publication-modal header h3{margin:0;color:#073462}.campaign-publication-modal header button{border:0;background:#edf2f7;border-radius:8px;font-size:26px;width:38px;height:38px;cursor:pointer}.campaign-publication-modal footer{justify-content:flex-end;margin-top:16px}.publication-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.publication-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#38516c}.publication-form .wide{grid-column:1/-1}.publication-form input,.publication-form select,.publication-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbd8e6;border-radius:7px;font:inherit}@media(max-width:720px){.publication-form{grid-template-columns:1fr}.publication-form .wide{grid-column:auto}}
.instagram-connection{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 18px;padding:14px 16px;border:1px solid #d8e2ed;border-left:5px solid #8b9aab;border-radius:10px;background:#f7f9fc}.instagram-connection.connected{border-left-color:#15945d;background:#f1fbf5}.instagram-connection div{display:grid;gap:3px}.instagram-connection strong{color:#073462}.instagram-connection span{color:#5e7186;font-size:13px}.publication-form label.auto-publish{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;background:#eef5fc}.publication-form label.auto-publish input{width:auto}@media(max-width:720px){.instagram-connection{align-items:stretch;flex-direction:column}}
.publication-timeline-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.publication-timeline-toolbar>div{display:flex;gap:6px}.publication-timeline-toolbar label{display:flex;align-items:center;gap:6px}.publication-timeline-toolbar select{padding:8px;border:1px solid #cbd8e6;border-radius:6px;background:white}.publication-timeline-summary{margin:14px 0 8px;color:#173c62}.publication-timeline{display:flex;overflow-x:auto;gap:10px;padding:4px 2px 14px;scroll-snap-type:x proximity}.publication-day{flex:0 0 195px;min-height:200px;background:#fff;border:1px solid #d8e2ed;border-radius:10px;scroll-snap-align:start;padding:10px;box-sizing:border-box}.publication-day.is-today{border:2px solid #075da8}.publication-day h5{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e1e8ef;font-size:14px;color:#073462}.publication-gap{color:#63768b;font-size:12px;border:1px dashed #cbd8e6;border-radius:6px;padding:16px 8px}.publication-timeline-item{border-left:4px solid #c48b00;background:#fff6d7;border-radius:5px;margin:8px 0;padding:9px;font-size:12px;overflow-wrap:anywhere}.publication-timeline-item.automatic{border-color:#166ac1;background:#e8f2ff}.publication-timeline-item.published{border-color:#17804f;background:#e4f6eb}.publication-timeline-item summary{cursor:pointer}.publication-timeline-item summary>*{display:block;margin-bottom:5px}.publication-timeline-item time{font-weight:800;font-size:14px}.publication-timeline-item strong{font-size:13px}.publication-timeline-item p{white-space:pre-wrap}.publication-state.automatic{background:#e8f2ff;color:#15538b}.publication-all{margin-top:12px}.publication-all>summary{cursor:pointer;padding:8px 0;font-weight:700}.publication-history{min-width:0}.social-studio,.campaign-work{min-width:0}

.motif-schedule{display:grid;gap:5px;margin:10px 0;padding:12px;border-radius:9px;background:#fff4d8;border-left:4px solid #d38b00}.motif-schedule.has-schedule{background:#eaf3ff;border-color:#1764aa}.motif-schedule span,.motif-schedule small{font-size:12px}.publication-day-check{background:#f0f5fb;padding:12px;border-radius:9px;max-height:240px;overflow:auto}.publication-day-check ul{padding-left:20px}.publication-day-check li{margin:8px 0}.publication-day-check small{display:block}.publication-day-check .same-channel{color:#064881;font-weight:600}

.reference-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0}.reference-toolbar span{flex-basis:100%;font-size:13px}.social-card input[data-ref-title]{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd8e3;border-radius:6px}

.campaign-publication-modal form{box-sizing:border-box;min-width:0;max-width:100%}.campaign-publication-modal [data-preview]{min-width:0}
/* Annual series preview stays readable on laptops and can be closed after partial imports. */
.annual-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px;margin:12px 0;background:#edf4fc;border:1px solid #c8d9ed;border-radius:10px}
.annual-modal .annual-panel{box-sizing:border-box;background:white;border-radius:14px;padding:24px;width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 70px #0004}
.annual-panel header [data-close]{position:static;font-size:14px;padding:10px 14px;border:1px solid #c8d9ed;border-radius:7px;background:white;cursor:pointer}
.annual-panel header,.annual-panel footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.annual-panel footer{padding-top:16px;justify-content:flex-end}
.annual-panel [data-status]{padding:12px;background:#edf4fc;border-radius:8px;white-space:pre-wrap}
.annual-list{overflow:auto;min-height:100px;flex:1}
.annual-list table{width:100%;border-collapse:collapse;font-size:14px}
.annual-list th{position:sticky;top:0;background:#003878;color:white;text-align:left}
.annual-list td,.annual-list th{padding:12px;border-bottom:1px solid #dce5ef;vertical-align:top}
.annual-list td:first-child{white-space:nowrap}
