/* Planning surfaces: reference layouts 5, 6 and 7. Keep real dates, states and controls. */
.calendar-display { display:inline-flex; max-width:100%; flex-wrap:wrap; gap:4px; padding:4px; margin:0 0 18px; border:0; border-radius:12px; background:var(--surface-muted); }
.calendar-display button { min-height:42px; padding:9px 25px; font-size:14px; font-weight:500; }
.calendar-display button[aria-pressed="true"] { color:var(--action-ink); background:var(--surface); border-color:color-mix(in srgb,var(--orange) 28%,var(--line)); box-shadow:none; }
.editorial-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:16px; margin:0 0 18px; background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.editorial-toolbar select { flex:1 1 180px; min-width:0; max-width:260px; min-height:44px; font-size:14px; }
.editorial-toolbar .hide-completed { display:flex; align-items:center; gap:8px; margin-right:auto; font-size:12px; color:var(--muted); }
.editorial-toolbar .hide-completed input { width:16px; height:16px; accent-color:var(--action-ink); }
.editorial-toolbar button { font-size:12px; }
.editorial-calendar.card { max-width:100%; padding:0; overflow-x:auto; border-radius:15px; box-shadow:0 6px 24px rgba(30,50,80,.025); }
.editorial-calendar>.card-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; margin:0; border-bottom:1px solid var(--line); }
.editorial-calendar>.card-header .text-button { display:grid; place-items:center; min-width:42px; min-height:42px; padding:0; border:1px solid var(--line); border-radius:10px; color:var(--ink); font-size:21px; }
.editorial-calendar .calendar-title { text-align:center; }
.editorial-calendar .calendar-title h2 { margin:0; font-size:21px; letter-spacing:-.5px; font-weight:600; }
.editorial-calendar .calendar-title p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.editorial-calendar .editorial-weekdays,.editorial-calendar .editorial-week { min-width:770px; }
.editorial-calendar .editorial-weekdays,.editorial-calendar .editorial-week-days { grid-template-columns:repeat(7,minmax(110px,1fr)); }
.editorial-calendar .editorial-weekdays { background:color-mix(in srgb,var(--surface-muted) 50%,var(--surface)); }
.editorial-calendar .editorial-weekdays span { padding:11px 6px; font-size:12px; font-weight:500; letter-spacing:.5px; border-right:1px solid var(--line); }
.editorial-calendar .editorial-week-toggle { min-height:35px; padding:7px 14px; gap:6px; background:var(--surface); font-size:11px; }
.editorial-calendar .week-summary { color:var(--muted); font-size:11px; }
.editorial-calendar .week-current-label { font-size:10px; }
.editorial-calendar .editorial-week.current-week { box-shadow:none; }
.editorial-calendar .editorial-week.current-week .editorial-week-toggle { background:var(--calendar-current); box-shadow:inset 3px 0 var(--orange); }
.editorial-calendar .editorial-day,.editorial-calendar .editorial-week.current-week .editorial-day { min-height:136px; padding:7px; background:var(--surface); }
.editorial-calendar .editorial-day.outside,.editorial-calendar .editorial-week.current-week .editorial-day.outside { background:var(--calendar-outside); }
.editorial-calendar .editorial-day.today { background:color-mix(in srgb,var(--orange) 3%,var(--surface)); }
.editorial-calendar .editorial-day .day-number { width:25px; height:25px; font-size:13px; font-weight:500; }
.editorial-calendar .editorial-day.today .day-number { background:var(--action-ink); color:var(--surface); }
.editorial-calendar .editorial-day .day-add { color:var(--muted); opacity:.5; }
.editorial-calendar .editorial-day .day-add:hover,.editorial-calendar .editorial-day .day-add:focus-visible { opacity:1; border-color:var(--orange); background:var(--calendar-current); }
.editorial-post,.editorial-post.compact { padding:9px 9px 9px 12px; margin-top:7px; border:1px solid transparent; border-radius:8px; background:color-mix(in srgb,var(--stage-accent) 10%,var(--surface)); box-shadow:none; }
.editorial-post::before { width:2px; }
.editorial-post:hover { border-color:var(--stage-accent); box-shadow:0 4px 12px rgba(30,50,80,.06); }
.editorial-post .editorial-client,.editorial-post.compact .editorial-client { font-size:11px; font-weight:500; line-height:1.35; color:var(--muted); }
.editorial-post .editorial-time { font-size:10px; color:var(--muted); }
.editorial-post b,.editorial-post.compact b { margin:4px 0 0; font-size:12px; font-weight:500; line-height:1.4; }
.editorial-post small,.editorial-post.compact small { font-size:10px; }
.editorial-post .editorial-format { margin-top:5px; gap:4px; }
.editorial-post .editorial-format svg { width:14px; height:14px; flex-shrink:0; }
.editorial-post .editorial-stage { padding:2px 5px; font-size:10px; font-weight:500; border-radius:5px; }
.editorial-post .editorial-card-footer { margin-top:6px; }
.editorial-calendar .seasonal-marker { margin:5px 0; font-size:10px; line-height:1.4; white-space:normal; }
.weekly-scoreboard { padding:14px 18px; margin-bottom:18px; background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.weekly-scoreboard .section-label { margin-bottom:10px; }
.weekly-scoreboard .section-label span,.seasonal-month-panel .section-label span { font-size:11px; letter-spacing:.7px; font-weight:500; color:var(--muted); }
.weekly-scoreboard .section-label small,.seasonal-month-panel .section-label small { font-size:11px; color:var(--muted); }
.weekly-scoreboard .scorecard { min-width:160px; padding:10px 14px; border:1px solid var(--line); border-radius:9px; box-shadow:none; }
.weekly-scoreboard .scorecard b { font-size:12px; font-weight:500; }
.weekly-scoreboard .scorecard span,.weekly-scoreboard .scorecard small { font-size:11px; }
.weekly-scoreboard .scoreboard-empty { margin:0; font-size:12px; }
.seasonal-month-panel { margin-top:20px; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.seasonal-month-item { border:1px solid var(--line); border-radius:10px; box-shadow:none; }
.seasonal-month-item b { font-size:12px; font-weight:500; }
.seasonal-month-item span,.seasonal-month-item small,.seasonal-month-empty { font-size:12px; }
.calendar-agenda { padding:20px; }
.agenda-day { margin:0 0 22px; padding:0 0 22px; border-bottom:1px solid var(--line); }
.agenda-day>header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.agenda-day>header h3 { font-size:16px; font-weight:500; text-transform:capitalize; }
.agenda-posts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.agenda-posts .editorial-post { margin:0; padding:14px; }
.agenda-posts .editorial-post b { font-size:14px; }
.agenda-add { display:grid; gap:6px; max-width:260px; margin:0 0 12px; font-size:12px; color:var(--muted); }
.kanban { width:100%; max-width:100%; min-width:0; display:grid; grid-template-columns:repeat(6,minmax(235px,1fr)); align-items:stretch; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; padding:0 0 16px; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.kanban-column { min-width:0; min-height:460px; border:1px solid var(--line); border-top:0; border-radius:14px; background:color-mix(in srgb,var(--stage-accent) 3%,var(--surface)); overflow:hidden; }
.kanban-head { position:relative; display:flex; align-items:center; justify-content:flex-start; gap:9px; min-height:69px; padding:16px 12px; font-size:13px; line-height:1.3; font-weight:600; background:color-mix(in srgb,var(--stage-accent) 10%,var(--surface)); border-radius:0; }
.kanban-head::before { content:""; width:16px; height:19px; flex-shrink:0; border:1.5px solid var(--stage-accent); border-radius:3px; box-shadow:inset 0 -5px color-mix(in srgb,var(--stage-accent) 12%,transparent); }
.kanban-column[data-stage-tone="green"] .kanban-head::before { border-radius:50%; width:19px; height:19px; }
.kanban-head>span { display:grid; place-items:center; margin-left:auto; min-width:26px; height:26px; padding:0 6px; background:var(--surface); color:var(--ink); border:1px solid color-mix(in srgb,var(--stage-accent) 16%,var(--line)); border-radius:50%; font-size:12px; font-weight:400; }
.kanban-body { min-height:385px; gap:11px; padding:10px; }
.kanban-card { border:1px solid var(--line); border-radius:11px; box-shadow:none; }
.kanban-card:hover { transform:none; border-color:color-mix(in srgb,var(--stage-accent) 38%,var(--line)); box-shadow:0 5px 16px rgba(30,50,80,.05); }
.kanban-open { display:block; min-height:122px; padding:15px 14px; color:var(--ink); background:var(--surface); }
.kanban-card b { margin:0 0 7px; font-size:14px; font-weight:500; line-height:1.4; }
.kanban-card small { font-size:12px; line-height:1.5; color:var(--muted); }
.kanban-card .kanban-meta { margin-top:16px; }
.kanban-card .mini-avatar { width:27px; height:27px; font-size:10px; background:var(--surface-muted); color:var(--muted); }
.kanban-card .kanban-meta .status { font-size:11px; font-weight:400; padding:3px 7px; color:var(--muted); background:var(--surface-muted); }
.kanban-card-footer { gap:8px; padding:8px 11px; background:var(--surface); }
.kanban-card-footer .drag-label { font-size:10px; color:var(--muted); }
.kanban-card-footer label { font-size:10px; color:var(--muted); }
.kanban-card-footer select,.kanban-card-footer select:focus { width:105px; max-width:105px; height:30px; padding:3px 5px; font-size:10px; color:var(--ink); background:var(--surface); }
.kanban-empty { padding:30px 10px; color:var(--muted); font-size:12px; }
.kanban-open:focus-visible,.kanban-card-footer select:focus-visible { outline:2px solid var(--orange); outline-offset:-2px; }
@media(min-width:1700px) { .kanban { grid-template-columns:repeat(6,minmax(210px,1fr)); } }
@media(max-width:720px) { .editorial-toolbar { padding:12px; gap:10px; } .editorial-toolbar select { max-width:none; } .calendar-display button { padding:9px 13px; font-size:12px; } .editorial-calendar>.card-header { padding:14px 10px; gap:8px; } .editorial-calendar .calendar-title h2 { font-size:17px; } .editorial-calendar .calendar-title p { font-size:10px; } .weekly-scoreboard,.seasonal-month-panel { padding:15px; } .kanban { grid-template-columns:repeat(6,minmax(260px,1fr)); gap:12px; } .calendar-agenda { padding:14px; } .agenda-posts { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .kanban-card,.editorial-day { transition:none; } }

.reference-week-scroll{overflow-x:auto;max-width:100%}.reference-week-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px}.reference-week-table th,.reference-week-table td{border:1px solid var(--line);vertical-align:top;padding:5px}.reference-week-table th:first-child{width:66px;color:var(--muted);font-weight:400}.reference-week-table thead th{background:var(--field);font-weight:500;text-align:center;padding:8px 4px}.reference-week-table thead button{border:0;background:none;color:var(--ink);font:inherit;width:100%;cursor:pointer}.reference-week-table thead strong{display:block;font-weight:500;margin-top:4px}.reference-week-table tbody th{padding:12px 6px}.reference-week-table td{height:46px}.reference-week-table .calendar-post{margin:2px 0;width:100%;min-width:0}.reference-hour-items{display:flex;flex-direction:column;gap:4px}.reference-week-caption{text-align:left;font-size:11px;color:var(--muted);padding:8px 16px}.editorial-weekdays:empty{display:none}

[data-stage-tone="neutral"]{--stage-accent:#337DE6;--stage-bg:#EDF5FF}[data-stage-tone="cyan"]{--stage-accent:#EB790B;--stage-bg:#FFF3E8}[data-stage-tone="amber"]{--stage-accent:#DF4164;--stage-bg:#FFF0F3}.weekly-scoreboard{padding:12px 16px;margin-bottom:18px}.weekly-scoreboard .scoreboard-clients{gap:8px}.reference-week-table .calendar-post{padding:7px}.reference-week-table .calendar-post-title{font-size:12px}
