.fr-calendar {min-width:0}
.fr-calendar-bar,.fr-period,.fr-cal-caption,.fr-agenda-row {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.fr-calendar-bar {position:static;background:none;padding:0;border:0}
.fr-calendar-bar h1 {font-size:1.35rem;margin:0 .5rem 0 0}
.fr-calendar-bar .folder-tabs {width:auto;max-width:100%;overflow:auto}
.fr-period input,.fr-calendar-bar select {width:auto;max-width:100%;min-height:42px}
.fr-calendar-bar .primary {margin-left:auto}
.fr-cal-caption {justify-content:space-between;margin:1rem 0 .55rem;color:var(--muted);font-size:.85rem}
.fr-calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e4d8cf;border:1px solid #e4d8cf;border-radius:12px;overflow:hidden}
.fr-weekday,.fr-cal-day {background:white;padding:.45rem;min-width:0}
.fr-weekday {background:#faf5ef;font-size:.8rem}
.fr-cal-day {min-height:6.8rem}
.fr-cal-day.outside {background:#faf8f6}
.fr-cal-day.outside .fr-day-number {color:#82776f}
.fr-cal-day .fr-day-number,.fr-calendar .fr-more {background:transparent;border:0;min-height:28px;padding:3px 6px;font-size:.8rem}
.fr-cal-day.today .fr-day-number {border-radius:1rem;color:white;background:var(--accent)}
.fr-calendar .fr-event {display:block;width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;min-height:24px;padding:3px 6px;border:1px solid #e9b78d;border-left:3px solid #bf672e;border-radius:5px;margin:3px 0;background:#fff1e2;color:#6e360f;font-size:.77rem}
.fr-calendar .fr-event.forecast {border-style:dashed;background:#fff9e7;color:#68530d}
.fr-calendar .fr-event.running {border-color:#72ae8e;background:#e5f4eb;color:#21583b}
.fr-calendar .fr-event.call {border-color:#83abc9;background:#edf6fc;color:#174c71}
.fr-calendar .fr-event.appointment {border-color:#ac93c0;background:#f6effb;color:#5b3372}
.fr-calendar .fr-event.finished,.fr-calendar .fr-event.hold {border-color:#aea49f;background:#f3f0ef;color:#4b4440}
.fr-calendar .fr-event[aria-pressed=true] {outline:2px solid currentColor;outline-offset:-2px}
.fr-calendar .card {margin:1rem 0}
.fr-agenda-row {padding:.5rem 0;border-bottom:1px solid var(--border)}
.fr-agenda-row .fr-event,.fr-scope .fr-event {width:auto;max-width:100%}
.fr-scope {display:grid;gap:.4rem;justify-items:start;padding:.8rem 0;border-top:1px solid var(--border)}
.fr-scope p {margin:0}
.fr-calendar summary {cursor:pointer;font-weight:700}
.fr-schedule-editor {width:min(32rem,94vw);max-height:88dvh;padding:1.3rem;border:1px solid var(--border);border-radius:14px;color:inherit}
.fr-schedule-editor::backdrop {background:#37271d70}
.fr-schedule-editor [data-times] {display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.fr-schedule-editor [data-times] small {grid-column:1/-1}
.fr-schedule-editor [hidden] {display:none}
.fr-schedule-editor [role=alert]:empty {display:none}
@media(max-width:700px){
 .fr-calendar-bar {gap:.4rem}
 .fr-calendar-bar h1 {width:100%}
 .fr-calendar-bar .folder-tabs {width:100%}
 .fr-calendar-bar .folder-tabs button {padding:.45rem .55rem;flex:1}
 .fr-cal-day {padding:2px;min-height:4.3rem}
 .fr-weekday {padding:.3rem .15rem;font-size:.68rem}
 .fr-calendar .fr-event {font-size:.68rem;padding:3px}
 .fr-calendar-bar select {flex:1;min-width:0}
}
.fr-scope-track {width:100%;background:#faf6f2;border-radius:6px;overflow:hidden} .fr-scope-track .fr-event {width:100%}
.fr-cal-day {cursor:pointer}
.fr-cal-day:hover,.fr-cal-day:focus-within {background:#fff5ed}
.fr-date-actions {position:fixed;inset:auto;margin:0;width:min(224px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:8px;border:1px solid var(--border);border-radius:12px;color:var(--ink);background:#fff;box-shadow:0 10px 28px #50301e30}
.fr-date-actions::backdrop {background:transparent}
.fr-date-actions strong {display:block;padding:6px 10px;font-size:.82rem;color:var(--muted)}
.fr-date-actions button {display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;border:0;background:transparent;text-align:left;border-radius:6px}
.fr-date-actions button:hover,.fr-date-actions button:focus-visible {background:#fbede2;color:var(--accent)}
.fr-date-actions svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.fr-calendar .scope-card {padding:0;overflow:hidden}
.scope-card h2,.scope-card>p,.scope-legend {margin:12px 16px}
.scope-card>p,.scope-legend {font-size:.82rem}
.scope-legend {display:flex;flex-wrap:wrap;gap:12px;font-weight:650}
.scope-legend span:nth-child(1){color:#287558}.scope-legend span:nth-child(2){color:#896013}.scope-legend span:nth-child(3){color:#a44627}.scope-legend span:nth-child(4){color:#116c80}
.scope-scroll {overflow:auto}
.scope-chart {--label:clamp(185px,24vw,330px);--row:48px;min-width:650px}
.scope-head,.scope-summary,.scope-step {display:grid;grid-template-columns:var(--label) minmax(0,1fr);align-items:stretch}
.scope-head {background:#faf5ef;border-block:1px solid var(--border);font-size:.82rem}
.scope-label {position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3px 12px;background:#fff;border-right:1px solid var(--border);text-align:left}
.scope-head .scope-label,.scope-summary .scope-label {background:#fcf4ec}
.scope-summary .scope-label strong,.scope-label small,.scope-step strong,.scope-step button {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scope-label small {font-size:.7rem;font-weight:400;color:var(--muted)}
.scope-ticks {position:relative;height:32px}
.scope-ticks span {position:absolute;top:7px;padding-left:4px}
.scope-group {position:relative;border-bottom:1px solid var(--border)}
.fr-calendar .scope-summary {position:relative;display:grid;width:100%;height:var(--row);border:0;border-radius:0;padding:0;background:#fffaf5;color:var(--ink);text-align:left}
.scope-summary:hover .scope-label {background:#f8e6d9}
.scope-summary b {display:inline-block;color:var(--accent);transition:transform .25s}
.scope-group[data-expanded=true] .scope-summary b {transform:rotate(90deg)}
.scope-steps {display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s ease}
.scope-group[data-expanded=true] .scope-steps {grid-template-rows:1fr}
.scope-clip {min-height:0;overflow:clip}
.scope-step {box-sizing:border-box;height:var(--row);border-top:1px solid var(--border)}
.scope-step .scope-label {padding-left:25px;font-size:.82rem}
.scope-step button {text-align:left;padding:0;min-height:0;background:none;border:0;color:var(--accent)}
.scope-foot {position:relative;z-index:1;background:white;border-top:1px solid var(--border);padding:8px 12px;font-size:.8rem}
.scope-foot button {min-height:30px;margin-left:6px}
.scope-marks {position:absolute;pointer-events:none;inset:0 0 0 var(--label);overflow:hidden;background:repeating-linear-gradient(to right,#c6a89533 0 1px,transparent 1px calc(100% / var(--days)))}
.scope-marks::before {content:'';position:absolute;left:var(--today);height:100%;border-left:1px solid #b95c38}
.scope-baseline {align-self:center;border-top:1px solid #c8a996}
.scope-mark {position:absolute;left:var(--left);width:var(--span);height:8px;border-radius:4px;background:#be6744;top:calc(var(--row)/2 - 5px + var(--stack)*2px);transition:top .36s ease,height .36s ease}
.scope-mark.point {width:9px;height:9px;transform:translateX(-50%);border-radius:50%}
.scope-mark.saved {background:#287558}.scope-mark.running {background:#167186}.scope-mark.forecast {background:#b57c1b}.scope-mark.forecast.point {transform:translateX(-50%) rotate(45deg);border-radius:1px}
.scope-group[data-expanded=true] .scope-mark {top:calc(var(--row)/2 + var(--step)*var(--row) - 5px)}
@media(max-width:680px){.scope-chart {--label:162px;min-width:590px}}
@media(prefers-reduced-motion:reduce){.scope-steps,.scope-mark,.scope-summary b {transition:none}}
.scope-zoom {display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:6px 12px;border-top:1px solid var(--border)}
.scope-zoom small {margin-right:auto;color:var(--muted)}
.scope-zoom button {min-height:34px;padding:4px 12px}
.scope-scroll {touch-action:pan-x pan-y}
.scope-chart {min-width:100%;--label:clamp(135px,24vw,330px)}
.scope-ticks {overflow:hidden}
.scope-ticks span {white-space:nowrap}
.scope-marks {background:repeating-linear-gradient(to right,#c6a89533 0 1px,transparent 1px var(--grid-step,36px))}
.fr-period[hidden]{display:none}

.fr-calendar-bar .fr-cal-tools, .fr-org-filter summary, .fr-cal-tools button, .fr-card-actions {
  display:flex;align-items:center;gap:8px
}
.fr-cal-tools {margin-left:auto;flex-wrap:wrap}
.fr-cal-tools svg,.fr-org-filter svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fr-cal-tools button[aria-pressed=true],.fr-org-filter[open] summary {color:var(--accent);background:#fcefe5}
.fr-org-filter {position:relative}
.fr-org-filter summary {padding:0 12px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:white;font-size:.84rem}
.fr-org-filter summary::-webkit-details-marker {display:none}
.fr-org-filter summary small {background:#faf1ea;padding:2px 5px;border-radius:5px}
.fr-filter-menu {position:absolute;z-index:8;top:calc(100% + 4px);left:0;width:min(310px,85vw);max-height:50vh;overflow:auto;padding:12px;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #38282026}
.fr-filter-menu>div {display:flex;align-items:center;gap:5px}
.fr-filter-menu strong {margin-right:auto}
.fr-filter-menu label {display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--border);cursor:pointer}
.fr-filter-menu input {width:18px;height:18px;accent-color:var(--accent)}
.fr-follow-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.fr-follow-grid article {min-width:0;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:14px;overflow-wrap:anywhere}
.fr-follow-grid h3 {margin:0 0 6px}
.fr-follow-grid section {border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:.87rem}
.fr-follow-grid p {margin:5px 0 10px}
.fr-follow-grid summary,.fr-follow-grid a {color:var(--accent)}
.fr-follow-grid [data-contact] div {margin:8px 0;line-height:1.6}
.fr-card-actions {flex-wrap:wrap;margin-top:10px}
.fr-follow-item {margin-top:6px}
@media(max-width:700px){.fr-cal-tools{margin-left:0}.fr-calendar-bar .fr-org-filter{width:100%}.fr-org-filter summary{width:fit-content}}
@media print {body:has(.fr-calendar) :is(#sidebar,.project-quick-tools,.fr-calendar-bar,.fr-card-actions,.fr-date-actions){display:none!important}.fr-follow-grid article{break-inside:avoid}}
