.calendar-view-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.calendar-mode-buttons{display:flex;gap:6px}.month-calendar{display:grid;gap:8px;align-items:stretch}.month-weekday{text-align:center;padding:10px;background:#17364b;border-radius:5px;font-weight:600}.month-day{background:#102536;border:1px solid #294456;border-radius:8px;padding:8px;min-width:0;min-height:150px}.month-day>header{display:flex;justify-content:space-between;gap:5px;font-size:13px;margin-bottom:8px}.month-day>header small{font-size:10px;color:var(--muted)}.month-person h3{font-size:11px;margin:12px 0 5px;overflow-wrap:anywhere}.month-calendar .slot{width:100%;display:flex;flex-direction:column;margin:4px 0;min-height:0;flex:none}.month-calendar .slot .time{font-size:11px;justify-content:flex-start;padding:5px 7px;border:0}.month-calendar .slot .details{padding:6px 7px}.month-calendar .slot strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}.month-calendar .slot small{font-size:10px}.month-add{width:100%;margin-top:8px;border-style:dashed}.month-empty{font-size:11px;color:var(--muted);margin:14px 0}.month-today{outline:2px solid var(--yellow);outline-offset:-2px}.month-holiday{border-color:#bc7781}.month-outside{opacity:.3;background:#12202b;border-radius:6px}.month-heading{text-transform:capitalize;font-size:21px}.month-picker{font-size:11px}.month-picker input{margin-top:3px}.history-undo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.history-undo small{color:var(--muted);font-size:11px}.list-period-actions{display:flex;gap:8px;margin-bottom:12px}
@media(max-width:700px){.month-calendar{grid-template-columns:minmax(0,1fr)!important}.month-outside,.month-weekday{display:none}.month-day{min-height:0;padding:12px}.month-day>header{font-size:17px}.month-calendar .slot{display:grid;grid-template-columns:32% 68%;margin:8px 0}.month-calendar .slot .time{font-size:13px;justify-content:center}.month-calendar .slot strong{font-size:15px}.month-calendar .slot small{font-size:12px}.month-person h3{font-size:14px}.month-toolbar .filters{display:grid;grid-template-columns:1fr 1fr}.month-toolbar .filters>.check{grid-column:1/-1}.month-toolbar .filters select{width:100%}.month-toolbar input,.month-toolbar select{font-size:16px}.calendar-view-controls label{font-size:12px}}

/* Month timeline */
.month-calendar-wrap{max-width:100%;overflow:auto;border:1px solid #294456;border-radius:8px}
.month-calendar.month-timeline{display:grid;gap:0;align-items:stretch;width:100%}
.month-timeline>div{min-width:0;box-sizing:border-box}
.month-week-group{background:#21485e;border-left:2px solid #63869a;text-align:center;font-size:12px;font-weight:700;padding:9px 0;overflow:hidden}
.month-corner{position:sticky;left:0;z-index:2;background:#17364b;padding:9px;font-size:12px;font-weight:700}
.month-timeline .month-day{min-height:0;border:0;border-radius:0;padding:7px 1px;background:#17364b;text-align:center;display:flex;flex-direction:column;gap:3px;font-size:10px;border-bottom:1px solid #426174}
.month-date-heading strong{font-size:13px}.month-holiday-dot{font-size:8px;color:#ff8e9a}
.month-person-label{position:sticky;left:0;z-index:1;background:#172e40;border-bottom:1px solid #365064;padding:12px 8px;overflow:hidden}
.month-person-label strong{font-size:12px;display:block;overflow-wrap:anywhere}.month-person-label small{font-size:10px;color:var(--muted);display:block;margin-top:5px}
.month-person-day{padding:4px 2px;background:#102536;border-right:1px solid #294456;border-bottom:1px solid #365064;min-height:90px}
.month-timeline .month-week-start{border-left:2px solid #63869a}.month-timeline .month-weekend{background:#1c3040}.month-timeline .month-unavailable{background:repeating-linear-gradient(135deg,#152431,#152431 5px,#1c2c39 5px,#1c2c39 10px)}
.month-timeline .month-today{outline:2px solid var(--yellow);outline-offset:-2px}.month-timeline .month-holiday{box-shadow:inset 0 3px #bc7781}
.month-timeline .slot{display:flex!important;flex-direction:column;gap:0;width:100%;min-width:0;margin:0 0 4px;padding:0;min-height:40px;border-radius:3px;overflow:hidden}
.month-timeline .slot .time{width:100%;padding:3px 1px;justify-content:center;font-size:8px;white-space:nowrap;line-height:1.2;min-width:0;overflow:hidden}
.month-timeline .slot .time-label{overflow:hidden;text-overflow:clip;white-space:nowrap}.month-timeline .slot .agreed-clock{width:9px;height:9px;flex-shrink:0}
.month-timeline .slot.agreed .time{border:1px solid #ff3434}.month-timeline .slot .details{width:100%;padding:3px 2px;min-width:0;overflow:hidden}
.month-timeline .slot .details strong{display:block;font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.month-timeline .slot .details>*:not(strong){display:none}.month-timeline .month-add{width:100%;margin:0;padding:1px;min-height:22px;border:1px dashed #426174;background:transparent;color:#a3bbca;border-radius:3px;font-size:14px;cursor:pointer}
@media(max-width:1100px){.month-calendar.month-timeline{min-width:1100px;grid-template-columns:150px repeat(var(--month-days,31),minmax(0,1fr))!important}.month-calendar-wrap{overscroll-behavior-x:contain}.month-toolbar .filters{display:flex;flex-wrap:wrap}.month-timeline .month-day{display:flex}}

/* Compact shared controls for desktop week/month; mobile agenda keeps its own navigation. */
.calendar-workspace-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 14px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:12px;min-width:0}.calendar-workspace-controls .calendar-view-controls,.calendar-workspace-controls>.toolbar{display:contents}.calendar-workspace-controls .week-nav{gap:8px;flex-wrap:wrap}.calendar-workspace-controls .week-title{min-width:145px}.calendar-workspace-controls .filters{display:flex;width:auto;flex-wrap:wrap;gap:10px;align-items:center}.calendar-workspace-controls .filters label{display:flex;align-items:center;gap:7px;font-size:12px}.calendar-workspace-controls .filters select{max-width:240px;min-width:150px}.calendar-workspace-controls .bulk-toolbar,.calendar-workspace-controls .calendar-action-row{flex:1 1 auto;width:auto;margin:0;gap:8px;padding:0;border:0}.calendar-workspace-controls .calendar-weekend-right{margin-left:auto}.personal-absence-card .personal-absence-period{font-size:11px;line-height:1.45;color:var(--muted);margin:-3px 0 10px;overflow-wrap:anywhere}
@media(max-width:700px){#content>.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}#content>.stats.with-unplanned .unplanned-count{grid-column:1/-1}#content>.stats .stat{padding:12px;min-height:78px}#content>.stats .stat strong{font-size:25px}#content>.stats .stat span{font-size:11px}.calendar-workspace-controls{padding:10px;gap:10px}.calendar-workspace-controls .filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-workspace-controls .filters label{display:flex;align-items:stretch;flex-direction:column;min-width:0}.calendar-workspace-controls .filters select{width:100%;min-width:0;max-width:100%}.calendar-workspace-controls .week-nav{width:100%}}
.mobile-days button.active{background:var(--panel);color:var(--text);border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}.mobile-days button.is-today,.mobile-days button.is-today.active{background:var(--yellow);color:#10212f;border-color:var(--yellow)}.mobile-days button.is-today.active{outline:2px solid var(--yellow);outline-offset:2px}.mobile-days button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

.calendar-subscription-options{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.calendar-subscription-link{display:block;margin:16px 0}.calendar-subscription-link input{width:100%;font-size:12px}.calendar-subscription-notice{border:1px solid #786835;background:#302c1d;padding:12px;border-radius:6px}.calendar-subscription-guide{font-size:13px;line-height:1.6}.personal-absence-options{flex-wrap:wrap}

/* Match the month period label to the original week navigation. */
.month-toolbar .week-title strong{text-transform:capitalize}.calendar-go-period{white-space:nowrap}.mobile-week-nav{flex-wrap:wrap}.mobile-week-nav .calendar-go-period{flex:0 0 auto}@media(max-width:700px){.mobile-week-nav .calendar-go-period{margin-left:auto}.calendar-workspace-controls .month-toolbar .week-nav{gap:8px}}

.month-timeline button.month-week-group{min-width:0;border-top:0;border-right:0;border-bottom:0;border-radius:0;color:var(--text);cursor:pointer}.month-timeline button.month-week-group:hover{background:#305e77}.month-timeline button.month-week-group:focus-visible{outline:2px solid var(--yellow);outline-offset:-3px}
/* Keep compact navigation; group view choices and place staff filters at the right. */
.calendar-compact-layout .calendar-mode-buttons{align-items:center;flex-wrap:wrap;gap:6px}.calendar-weekend-choice{display:flex;align-items:center;gap:6px;margin:0 4px 0 6px;white-space:nowrap;font-size:12px}.calendar-weekend-choice input{margin:0}.calendar-compact-layout .week-nav{order:1}.calendar-compact-layout .bulk-toolbar,.calendar-compact-layout .calendar-action-row{order:2;flex:0 1 auto}.calendar-compact-layout .filters{order:3;margin-left:auto}.calendar-compact-layout .filters select{min-width:140px;max-width:180px}@media(max-width:700px){.calendar-compact-layout .filters{margin-left:0;width:100%}.calendar-compact-layout .filters select{min-width:0;max-width:100%}.calendar-view-controls .calendar-mode-buttons{align-items:center;flex-wrap:wrap}}

.save-calendar-view{align-self:flex-end;white-space:nowrap}.mobile-filters .save-calendar-view{min-height:42px}

/* Ugeplan: reuse the production plan's compact heading, framed controls and grid spacing. */
.weekplan-workspace>.topbar{margin-bottom:16px;gap:16px;align-items:center}.weekplan-workspace>.topbar .eyebrow,.weekplan-workspace>.topbar .pill.demo{display:none}.weekplan-workspace>.topbar h1{font-size:28px;margin:0 0 4px}.weekplan-workspace>.topbar p{font-size:13px;margin:0}.weekplan-workspace>.topbar .actions{gap:8px}.weekplan-workspace #content>.stats{gap:10px;margin-bottom:14px}.weekplan-workspace #content>.stats .stat{padding:12px 16px;min-height:72px}.weekplan-workspace #content>.stats .stat strong{font-size:27px}
.calendar-workspace-controls.calendar-operations-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;padding:15px;border-radius:10px;align-items:center;margin-bottom:16px}.calendar-operations-layout>.week-nav{order:0;min-width:0;display:flex;gap:8px;flex-wrap:wrap}.calendar-operations-layout>.week-nav .week-title{min-width:175px;text-align:center}.calendar-operations-layout>.week-nav button{min-height:40px}.calendar-operations-layout>.filters{order:0;margin:0;justify-content:flex-end;align-items:center;gap:10px}.calendar-operations-layout>.filters select{min-height:40px;min-width:140px;max-width:180px;margin:0}.calendar-operations-layout>.filters label{font-size:12px}.calendar-operations-layout .save-calendar-view{align-self:center;min-height:40px}.calendar-secondary-controls{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;flex-wrap:wrap}.calendar-secondary-controls>.calendar-mode-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.calendar-secondary-controls>.bulk-toolbar,.calendar-secondary-controls>.calendar-action-row{order:0;margin:0;padding:0;border:0;flex:0 1 auto;gap:8px}.calendar-operations-layout.calendar-month-layout .week-title strong{text-transform:capitalize}
.weekplan-workspace .calendar-wrap{border-radius:10px;padding:7px;background:var(--bg)}.weekplan-workspace .admin-calendar{gap:6px}.weekplan-workspace .admin-calendar>.cal-head{border-radius:6px;min-height:45px}.weekplan-workspace .admin-calendar>.cell,.weekplan-workspace .admin-calendar>.person{border-radius:6px}
@media(max-width:1000px){.calendar-workspace-controls.calendar-operations-layout{grid-template-columns:minmax(0,1fr)}.calendar-operations-layout>.filters{width:100%;justify-content:flex-end;display:flex}.calendar-operations-layout>.week-nav{width:100%}}@media(max-width:700px){.weekplan-workspace>.topbar{align-items:stretch}.weekplan-workspace>.topbar .actions{justify-content:flex-start}.calendar-workspace-controls.calendar-operations-layout{padding:10px;gap:10px}.calendar-operations-layout>.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-operations-layout>.filters select{min-width:0;max-width:100%;width:100%}.calendar-operations-layout>.filters>.save-calendar-view{grid-column:1/-1;justify-self:start}.calendar-secondary-controls{gap:10px}.weekplan-workspace #content>.stats .stat{padding:10px;min-height:68px}}

/* Same period selector and navigation proportions as Produktionsplan. */
.calendar-operations-layout>.week-nav>.calendar-period-picker{flex:0 1 auto}.calendar-operations-layout>.week-nav>button,.calendar-operations-layout>.week-nav .touch-week-title{min-height:58px}.calendar-operations-layout>.week-nav>button{min-width:54px;font-size:20px;padding:8px 16px}.calendar-operations-layout>.week-nav>button[data-action=today],.calendar-operations-layout>.week-nav>button[data-action=month-today]{font-size:14px}.calendar-period-picker .touch-week-title{min-width:210px;cursor:pointer}.calendar-period-picker .touch-week-title strong{text-transform:none}.calendar-month-layout .calendar-period-picker .touch-week-title strong{text-transform:capitalize}html[data-theme=light] .calendar-period-picker .touch-week-title span{color:var(--muted)}
@media(max-width:700px){.mobile-week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mobile-week-nav>.calendar-period-picker{flex:1;min-width:0}.mobile-week-nav .touch-week-title{min-width:0;width:100%;min-height:58px}.mobile-week-nav>.small{min-height:58px;min-width:44px;font-size:20px}.mobile-week-nav>[data-action=today]{flex-basis:100%;font-size:14px}.calendar-operations-layout>.week-nav>.calendar-period-picker{flex:1;min-width:0}.calendar-period-picker .touch-week-title{min-width:0;width:100%}}

/* Week-plan summaries use the same vector line weight as Production/Metro. */
.weekplan-workspace .stats .stat .stat-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;background:transparent}
.weekplan-workspace .stat-icon .weekplan-icon{display:block;width:40px;height:40px;flex:none}
.weekplan-workspace .stat[data-action="stat-filter:all"] .stat-icon{color:var(--cyan)}
.weekplan-workspace .stat[data-action="stat-filter:planned"] .stat-icon{color:#59c995}
.weekplan-workspace .stat[data-action="stat-filter:absent"] .stat-icon{color:#ed6b79}
.weekplan-workspace .stat[data-action="stat-filter:empty"] .stat-icon{color:var(--yellow)}
.weekplan-workspace .stat.unplanned-count .stat-icon{color:#9db9d2}
@media(max-width:700px){.weekplan-workspace .stat-icon .weekplan-icon{width:28px;height:28px}.weekplan-workspace .stats .stat{gap:6px}.weekplan-workspace .stats .stat>div{min-width:0}.weekplan-workspace .stats .stat>div>span{overflow-wrap:anywhere}}
.calendar-secondary-controls>.calendar-action-row,.calendar-secondary-controls>.bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap}
