.team-planner-header{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.team-planner-header h1,.team-planner-header h2{margin:0}.team-planner-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.team-planner-controls h2{min-width:200px;text-align:center;font-size:19px}.team-planner-controls .button{min-width:44px;min-height:44px}.team-planner-jump{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px}.team-planner-controls h2::first-letter{text-transform:uppercase}.team-planner-jump input{width:150px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:13px;background:var(--paper)}.team-planner-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted,#4e4e4e)}.team-planner-key>span:last-child{margin-left:12px}.meeting-dot{width:10px;height:10px;border-radius:3px;background:#df7c1b}.team-planner-scroll{overflow:auto;border:1px solid var(--border,#dde1d8);border-radius:12px;background:var(--surface,#fff)}.team-planner-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:900px;gap:0;background:var(--border,#dde1d8)}.team-planner-weekday{text-align:center;padding:14px 5px;background:var(--surface,#fff);font-size:12px;font-weight:700}.team-planner-day{padding:9px;min-height:170px;background:var(--surface,#fff)}.team-planner-day>header{display:flex;align-items:center;gap:6px;margin-bottom:10px;min-height:27px;font-size:12px}.team-planner-day time{display:inline-grid;place-items:center;min-width:27px;height:27px;border-radius:50%;font-weight:700}.team-planner-day.is-today time{background:#ffd817;color:#131313}.team-planner-day.is-today>header>span{font-size:10px;font-weight:700}.team-planner-day.outside-month{background:#f2f3ee}.team-planner-day.outside-month time{color:#6b756d}.team-planner-day-events{display:flex;flex-direction:column;gap:7px}.team-planner-event{appearance:none;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:5px;width:100%;border:1px solid #cedad2;border-radius:7px;padding:9px;text-align:left;color:#1b1b1b;cursor:pointer;overflow:hidden;min-height:64px;font:inherit}.team-planner-event strong{font-size:11px;line-height:1.45;overflow-wrap:anywhere}.team-planner-event-type,.team-planner-event-progress{font-size:9px;line-height:1.4}.team-planner-event-progress{align-self:flex-end}.team-planner-event.is-meeting{background:#fff0d8;border:1px solid #e8a44f;border-left:4px solid #d87515}.team-planner-event.is-meeting .team-planner-event-type{color:#8d4408;font-weight:700}.team-planner-event:hover{filter:brightness(.97);box-shadow:0 2px 5px #21212117}.team-planner-event:focus-visible{outline:3px solid #987500;outline-offset:2px}.team-planner-event.area-card:before{height:3px}.team-planner-scroll:focus-visible{outline:2px solid #987500;outline-offset:3px}.team-planner-grid>.team-planner-weekday,.team-planner-grid>.team-planner-day{box-sizing:border-box;min-width:0;border-right:1px solid var(--border,#dde1d8);border-bottom:1px solid var(--border,#dde1d8)}.team-planner-grid>:nth-child(7n){border-right:0}.team-planner-grid>.team-planner-day:nth-last-child(-n+7){border-bottom:0}@media(max-width:700px){.team-planner-jump{margin-left:0}.team-planner-controls h2{min-width:170px;font-size:17px}.team-planner-day{min-height:145px}}
.planner-key-item{display:inline-flex;align-items:center;gap:6px}.holiday-dot,.birthday-dot{display:inline-block;width:10px;height:10px;border-radius:3px}.holiday-dot{background:#7c7461}.birthday-dot{background:#918974}.team-planner-labels{display:flex;flex-direction:column;gap:6px;margin-bottom:7px}.team-planner-labels:empty{display:none}.team-planner-holiday{padding:7px;border:1px solid #dddad3;border-left:3px solid #7c7461;border-radius:6px;background:#f4f3f0;font-size:10px;line-height:1.4;color:#373737}.team-planner-holiday summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere;min-height:24px}.team-planner-holiday>div{margin-top:8px}.team-planner-holiday p{margin:6px 0}.team-planner-holiday a{display:inline-block;min-height:24px;color:inherit;text-decoration:underline}.team-planner-birthday{border:1px solid #c6b2e5;border-left:3px solid #918974;border-radius:6px;background:#f0e9fc;color:#474747;font:inherit;font-size:10px;text-align:left;padding:8px;min-height:38px;cursor:pointer;overflow-wrap:anywhere}.team-planner-birthday:focus-visible,.team-planner-holiday summary:focus-visible{outline:2px solid #918974;outline-offset:2px}.team-planner-key .planner-key-item:last-child{margin-left:0}.team-planner-jump .date-widget{min-width:180px}
.team-planner-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.team-planner-filters>label{display:flex;flex-direction:column;gap:6px;min-width:180px;max-width:100%;font-size:12px;font-weight:600}.team-planner-filters select{box-sizing:border-box;width:100%;min-height:44px;max-width:320px;border:1px solid var(--line,#dce1d5);border-radius:8px;padding:10px 32px 10px 12px;background-color:var(--paper,#fff);color:inherit;font:inherit;font-weight:400}.team-planner-filters .button{min-height:44px}.team-planner-activity-group{position:relative;overflow:hidden;border:1px solid #cedad2;border-radius:7px;padding:3px 0 0}.team-planner-activity-group.area-card:before{height:3px}.team-planner-activity-group .team-planner-group-row{min-height:44px;margin:0;border:0;border-radius:0;padding:7px 8px;gap:3px;background:transparent;box-shadow:none}.team-planner-activity-group .team-planner-group-row+.team-planner-group-row{border-top:1px solid #7c746126}.team-planner-group-row strong{font-size:11px;line-height:1.35}.team-planner-group-row .team-planner-event-progress{position:absolute;right:7px;top:7px;font-size:9px}.team-planner-group-row .team-planner-event-type{padding-right:30px;font-size:9px;line-height:1.4}.team-planner-group-heading{display:block;box-sizing:border-box;width:100%;margin:0;padding:8px;border:0;border-bottom:1px solid #7c746126;background:transparent;text-align:left;color:inherit;font:inherit;font-size:10px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.team-planner-group-heading:is(button){min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.team-planner-activity-group .team-planner-event:focus-visible,.team-planner-group-heading:focus-visible{outline:2px solid #987500;outline-offset:-3px}.team-planner-group-heading:is(button):hover,.team-planner-activity-group .team-planner-group-row:hover{background:#fff7;filter:none}.team-planner-filters select:focus-visible{outline:2px solid #987500;outline-offset:2px}@media(max-width:700px){.team-planner-filters>label{flex:1 1 180px}.team-planner-filters select{max-width:none;font-size:16px}}
@media(max-width:700px){.team-planner-filters>label{flex-basis:100%}}
.team-planner-holiday-scope{display:block;margin-top:3px;font-size:9px;font-weight:400;line-height:1.4}.team-planner-holiday-sources{margin:6px 0 0;padding-left:15px;overflow-wrap:anywhere}.team-planner-holiday-sources li+li{margin-top:10px}.team-planner-holiday-sources li>strong,.team-planner-holiday-sources li>span{display:block}.team-planner-holiday-time{font-variant-numeric:tabular-nums}

.team-planner{container:team-planner / inline-size}.team-planner-scroll-hint{display:none;align-items:center;gap:8px;margin:0 0 10px;color:var(--muted,#4e4e4e);font-size:12px;line-height:1.5}.team-planner-scroll-hint>span:first-child{font-size:20px;line-height:1}
@container team-planner (width < 902px){.team-planner-scroll-hint{display:flex}}

/* The same events and filters serve three reading densities. */
.team-planner-views{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid #53504a;border-radius:10px;background:#252525}.team-planner-views button{min-height:38px;padding:7px 14px;border:0;border-radius:7px;background:transparent;color:#dedbd3;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.team-planner-views button[aria-pressed=true]{background:#554626;color:#ffe394;box-shadow:inset 0 0 0 1px #a88a3f}.team-planner-views button:focus-visible{outline:2px solid #ffe394;outline-offset:2px}
.team-planner[data-planner-layout=week] .team-planner-grid{min-width:840px}.team-planner[data-planner-layout=list] .team-planner-grid{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:8px;padding:8px;background:#1a1a1a}.team-planner[data-planner-layout=list] .team-planner-day{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:12px;min-height:0;border:1px solid #444;border-radius:10px;background:#252525;padding:12px}.team-planner[data-planner-layout=list] .team-planner-day>header{align-items:start;align-content:start;flex-wrap:wrap;margin:0}.team-planner[data-planner-layout=list] .team-planner-day-events{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start}.team-planner[data-planner-layout=list] .team-planner-labels{grid-column:1;grid-row:2}.team-planner-full-date{display:none}.team-planner[data-planner-layout=list] .team-planner-full-date{display:block;flex:1 1 100%;font-size:.76rem;color:#e7e0d0;line-height:1.4}.team-planner[data-planner-layout=list] .team-planner-scroll-hint{display:none}.team-planner-empty{padding:24px;color:#d1cdc3}.team-planner[data-planner-layout=list] .team-planner-day:nth-last-child(-n+7){border-bottom:1px solid #444}
.team-planner .team-planner-scroll{background:#1a1a1a;border-color:#4a4a4a}.team-planner .team-planner-grid{background:#414141}.team-planner .team-planner-weekday,.team-planner .team-planner-day{background:#252525;color:#eeece7;border-color:#414141}.team-planner .team-planner-day.outside-month{background:#202020}.team-planner .team-planner-day.outside-month time{color:#bbb5a9}.team-planner .team-planner-event{background:#303030;border-color:#5a5a5a;color:#f2f0e9}.team-planner .team-planner-event.is-meeting{background:#4b3522;border-color:#bd7a32;color:#ffe5ba}.team-planner .team-planner-event.is-meeting .team-planner-event-type{color:#ffd08b}.team-planner .team-planner-activity-group{background:#303030;border-color:#5a5a5a;color:#f2f0e9}.team-planner .team-planner-group-heading:is(button):hover,.team-planner .team-planner-activity-group .team-planner-group-row:hover{background:#474236;filter:none}.team-planner .team-planner-holiday{background:#33312d;border-color:#7c7461;color:#efe7d8}.team-planner .team-planner-birthday{background:#3b3149;border-color:#9377ba;color:#f1e6ff}.team-planner .team-planner-event:hover{filter:brightness(1.12)}
@media(max-width:700px){.team-planner[data-planner-layout=list] .team-planner-day{grid-template-columns:minmax(0,1fr)}.team-planner[data-planner-layout=list] .team-planner-day-events,.team-planner[data-planner-layout=list] .team-planner-labels{grid-column:1;grid-row:auto}.team-planner[data-planner-layout=list] .team-planner-day-events{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.team-planner-views button,.team-planner .team-planner-event{transition:none}}

/* The agenda list reads as full-width appointments, with a distinct day rail. */
.team-planner[data-planner-layout=list] .team-planner-grid{gap:14px;padding:14px}
.team-planner[data-planner-layout=list] .team-planner-day{grid-template-columns:minmax(112px,148px) minmax(0,1fr);align-items:start;column-gap:24px;row-gap:12px;padding:20px;min-height:0}
.team-planner[data-planner-layout=list] .team-planner-day>header{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0}
.team-planner[data-planner-layout=list] .team-planner-day time{width:64px;height:64px;border-radius:12px;font-size:2.25rem;line-height:1;font-weight:800}
.team-planner[data-planner-layout=list] .team-planner-day.is-today time{background:#ffd817;color:#151515}
.team-planner[data-planner-layout=list] .team-planner-full-date{font-size:.9rem;font-weight:650;line-height:1.45}
.team-planner[data-planner-layout=list] .team-planner-day-events{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}
.team-planner[data-planner-layout=list] .team-planner-event{box-sizing:border-box;width:100%;min-height:84px;padding:15px 18px;gap:7px}
.team-planner[data-planner-layout=list] .team-planner-event strong{font-size:.94rem;line-height:1.4}
.team-planner[data-planner-layout=list] .team-planner-event-type,.team-planner[data-planner-layout=list] .team-planner-event-progress{font-size:.75rem}
.team-planner[data-planner-layout=list] .team-planner-event-details{display:flex;flex-wrap:wrap;gap:5px 16px;color:#d8d5ce;font-size:.76rem;line-height:1.5}
.team-planner[data-planner-layout=list] .team-planner-activity-group{width:100%}
.team-planner[data-planner-layout=list] .team-planner-activity-group .team-planner-group-row{min-height:76px;padding:12px 16px}
.team-planner[data-planner-layout=list] .team-planner-group-row strong{font-size:.9rem}
.team-planner[data-planner-layout=list] .team-planner-group-heading{padding:12px 16px;font-size:.8rem}
.team-planner[data-planner-layout=list] .team-planner-labels{grid-column:1;grid-row:2}
@media(max-width:700px){.team-planner[data-planner-layout=list] .team-planner-grid{padding:10px;gap:10px}.team-planner[data-planner-layout=list] .team-planner-day{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}.team-planner[data-planner-layout=list] .team-planner-day>header{flex-direction:row;align-items:center;flex-wrap:wrap}.team-planner[data-planner-layout=list] .team-planner-day time{width:52px;height:52px;font-size:1.9rem}.team-planner[data-planner-layout=list] .team-planner-full-date{flex:1 1 150px}.team-planner[data-planner-layout=list] .team-planner-day-events,.team-planner[data-planner-layout=list] .team-planner-labels{grid-column:1;grid-row:auto}}
/* Keep the month navigation balanced even when later dashboard styles load. */
.app-shell .team-planner-heading-row .team-planner-controls{flex:0 1 auto;max-width:100%;min-width:0;margin-left:auto;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.team-planner .team-planner-period{display:grid;grid-template-columns:44px minmax(0,max-content) 44px;align-items:center;gap:6px;min-width:0;max-width:100%}
.app-shell .team-planner .team-planner-period .button{box-sizing:border-box;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;text-align:center}
.app-shell .team-planner .team-planner-period .planner-month-wrap{min-width:0;max-width:100%;text-align:center}
.app-shell .team-planner .team-planner-period .planner-month-title{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:7px 8px;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.2}
.app-shell .team-planner .team-planner-controls [data-planner-today]{box-sizing:border-box;min-height:44px;align-self:center}
@media(max-width:700px){.app-shell .team-planner-heading-row .team-planner-controls{width:100%;margin-left:0;justify-content:flex-start}}
