.app{display:block;min-height:100svh}.topbar{height:44px;padding:0 12px;gap:14px;justify-content:flex-start;background:#f9fbf7}.topbar #page-name{font-size:11px;font-weight:500;color:#778774}.top-actions{display:flex;gap:6px;margin-left:auto}.top-actions button{font-size:10px;padding:6px 10px}.main-menu{position:relative}.main-menu>summary{list-style:none;cursor:pointer;font-size:12px;display:flex;gap:10px;align-items:center;padding:7px 9px;border:1px solid #dce5d7;border-radius:7px;background:white}.main-menu>summary::-webkit-details-marker{display:none}.main-menu b{font-size:15px;color:#234c39}.menu-popup{position:absolute;left:0;top:38px;z-index:30;width:230px;background:#fff;border:1px solid #dae4d5;box-shadow:0 12px 40px #183e3329;border-radius:10px;padding:8px}.main-menu nav{display:grid;gap:3px;margin:0}.main-menu nav button{display:flex;justify-content:flex-start;font-size:12px;color:#31563d;padding:11px;border-radius:6px}.main-menu nav button.active,.main-menu nav button:hover{background:#edf3e6;color:#21472e;box-shadow:none}.main-menu nav button b{display:block;margin-left:auto;font-size:10px;background:#e5eddf;color:#6a7d5d}.menu-account{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4eade;margin-top:6px;padding:10px 5px 3px;font-size:10px;color:#74866b}.menu-account button{border:0;font-size:10px;padding:5px}.content{padding:8px 10px}.page-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start}.planner-layout.staff-open{grid-template-columns:minmax(0,1fr) 180px}.planner-layout .staff-panel{display:none}.planner-layout.staff-open .staff-panel{display:block}.planning-panel{border-radius:8px;overflow:visible;min-width:0}.planner-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;padding:7px 9px;border-bottom:1px solid #dfe6d8;min-height:39px;background:#fafbf7;border-radius:8px 8px 0 0}.planner-controls .day-overview{display:contents;margin:0}.planner-controls .selected-date{gap:2px;order:2}.selected-date strong{display:none}.selected-date input{padding:5px;font-size:10px;width:119px}.selected-date button{padding:3px 7px;font-size:15px}.planner-controls .quick-filters{order:5;position:relative;font-size:10px}.quick-filters>summary{cursor:pointer;list-style:none;border:1px solid #dce3d6;border-radius:5px;padding:6px 8px;background:white}.quick-filters .day-counts{position:absolute;top:31px;right:0;z-index:12;width:210px;display:grid;gap:4px;padding:7px;background:white;border:1px solid #dce5d6;border-radius:8px;box-shadow:0 8px 24px #173d3020}.day-counts button{font-size:10px;padding:8px;justify-content:space-between}.planner-controls .panel-head{order:0;display:flex;gap:10px;padding:0;border:0;flex-wrap:nowrap}.team-tabs{gap:2px}.team-tabs button{font-size:10px;padding:5px 7px}.team-tabs .team-book-arrow{padding:5px 4px;font-size:10px}.toggle{padding:2px}.toggle button{padding:4px 7px;font-size:10px}.planner-controls .toolbar{order:1;display:flex;gap:6px;padding:0;border:0;flex-wrap:nowrap}.toolbar-group{gap:3px}.toolbar button,.toolbar select{padding:5px 7px;font-size:10px}.toolbar strong{font-size:10px;margin-left:3px}.toolbar strong .muted{display:none}.planner-controls .filters{order:3;display:flex;gap:5px;padding:0;border:0;background:none;flex-wrap:nowrap;flex:1;min-width:300px}.filters input[type=search]{min-width:80px;width:110px;padding:5px 7px;font-size:10px}.filters select{font-size:10px;padding:5px;max-width:145px}.filters .check{font-size:9px;white-space:nowrap;gap:3px}.filters .button-link{white-space:nowrap;font-size:10px}.filters button#toggle-staff{padding:5px 7px;font-size:10px;white-space:nowrap}.calendar-wrap{max-height:calc(100svh - 151px);min-height:0;border-radius:0;scrollbar-width:thin}.calendar{font-size:10px}.calendar .row-label{width:180px;min-width:180px;max-width:180px;padding:4px 6px;vertical-align:middle}.calendar thead .row-label{padding:6px 9px;font-size:9px}.calendar .row-label small{font-size:8px;margin:3px 0 0}.calendar th.week{font-size:9px;padding:5px 7px}.calendar th.day,.calendar td.daycell{width:80px;min-width:80px}.calendar th.day button{min-height:32px;padding:3px 2px;font-size:8px}.calendar th.day button b{font-size:10px;margin-top:2px}.calendar th.day button i{font-size:6px;top:1px;right:3px}.calendar td.daycell{height:42px;padding:2px 3px;vertical-align:middle}.cell-content{min-height:17px;display:flex;gap:2px;flex-wrap:wrap;align-items:center;justify-content:center}.booking{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;max-width:100%;padding:1px 4px;margin:0;font-size:8px;border-left-width:2px;line-height:15px;min-width:23px;border-radius:4px}.booking.unavailable small{font-size:7px}.add-person,.cell-empty .add-person{padding:0;margin:0;font-size:12px;line-height:16px}.need-stepper{padding:0 1px;margin-top:2px;border-radius:4px;min-height:16px;font-size:8px;justify-content:space-between}.need-stepper button{width:17px;min-width:17px;height:16px;line-height:14px;font-size:12px}.need-stepper>span{gap:2px}.row-title{display:flex;align-items:center;gap:3px;min-height:25px;min-width:0}.calendar .row-label .project-drag{cursor:grab;width:13px;min-width:13px;padding:0;font-size:15px;color:#91a186;text-align:center}.calendar .row-label .row-expand{width:14px;min-width:14px;text-align:center;padding:0;font-size:12px;color:#6c8160}.calendar .row-label .row-name{min-width:0;width:auto;flex:1;font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-weight:600}.row-details{padding:4px 2px 5px 30px}.calendar .row-details button{width:auto;padding:3px 6px;border:1px solid #dfe6d8;border-radius:4px;margin:5px 0 0 4px;font-size:9px}.row-details p{font-size:9px;line-height:1.5;white-space:pre-wrap;margin:6px 0 0;max-height:100px;overflow:auto;color:#708169}.row-details .row-team{margin-top:5px;padding:3px;font-size:9px;max-width:95px}.expanded .cell-content{display:block;min-height:24px}.expanded .booking{display:block;text-align:left;width:100%;padding:4px;margin:2px 0;font-size:9px;white-space:normal;line-height:1.3}.expanded .daycell{vertical-align:top;padding-top:6px}.expanded .absence-chip{font-size:9px}.group-row th{height:24px}.group-row button{padding:5px 9px;font-size:9px;line-height:14px}.group-row .group-book-arrow{padding:4px 8px;font-size:8px}.legend{font-size:8px;padding:6px 9px;gap:12px;min-height:24px}.legend i{width:6px;height:6px}.staff-panel{border-radius:8px}.staff-panel .panel-head{padding:8px 10px}.staff-panel h3{font-size:11px}.staff-selected-date{padding:6px 10px;font-size:9px}.staff-list{display:block;max-height:calc(100svh - 204px);padding:0 5px 5px}.person{width:100%;max-width:none;min-width:0;gap:6px;padding:5px 4px;border:0;border-bottom:1px solid #e9eee3;border-radius:4px}.person .avatar{width:23px;height:23px;font-size:8px;border-radius:5px}.person strong{font-size:9px}.person small{display:none}.person .handle{font-size:11px}.staff-bottom{display:block;padding:7px}.staff-bottom button{padding:6px;font-size:9px}.absence-chip{font-size:8px;padding:2px;margin:0}.drop-before>td,.drop-before>th{box-shadow:inset 0 3px #36794c!important}.drop-after>td,.drop-after>th{box-shadow:inset 0 -3px #36794c!important}.group-drop,.group-drop>th{background:#d2e9c6!important;outline:2px dashed #3b794e;outline-offset:-2px}.project-dragging{opacity:.4}.list-table td{padding:9px 12px}.list-table th{padding:9px 12px}.history-row{padding:12px}.main-menu summary:focus-visible,.quick-filters summary:focus-visible{outline:2px solid #507d49;outline-offset:2px}
@media(min-width:1700px){.calendar .row-label{width:210px;min-width:210px;max-width:210px}.calendar th.day,.calendar td.daycell{width:95px;min-width:95px}}
@media(max-width:950px){.planner-layout.staff-open{grid-template-columns:minmax(0,1fr) 160px}.planner-controls{gap:5px 8px}.calendar-wrap{max-height:calc(100svh - 177px)}.main-menu nav button{font-size:12px;justify-content:flex-start}.main-menu nav button b{display:block}.calendar .row-label{width:160px;min-width:160px;max-width:160px}.staff-list{max-height:calc(100svh - 220px)}}
@media(max-width:620px){.topbar{height:40px;padding:0 7px;gap:8px}.topbar #page-name{display:none}.main-menu>summary{font-size:10px;padding:6px}.main-menu b{font-size:12px}.top-actions{gap:4px}.top-actions button{font-size:9px;padding:5px 7px}#sync{font-size:8px}.content{padding:6px}.planner-controls .panel-head{flex-wrap:wrap;gap:5px}.team-tabs button{font-size:9px;padding:5px}.planner-controls .filters{min-width:100%;flex-wrap:wrap}.planner-layout.staff-open{grid-template-columns:minmax(0,1fr)}.planner-layout.staff-open .staff-panel{grid-row:1}.staff-list{display:flex;max-height:100px;overflow:auto}.person{min-width:125px;max-width:150px}.staff-bottom{display:none}.calendar .row-label{width:140px;min-width:140px;max-width:140px}.calendar td.daycell,.calendar th.day{width:78px;min-width:78px}.calendar-wrap{max-height:calc(100svh - 222px)}.planner-controls .quick-filters{order:2}.legend{gap:8px}.quick-filters .day-counts{right:auto;left:0}}
.project-drag{touch-action:none;user-select:none}.project-drag:active{cursor:grabbing!important}

.already-booked{border-top:1px solid #e1e7da;padding:8px;background:#f4f7ee;font-size:10px}.already-booked summary{cursor:pointer;padding:2px;color:#627554}.already-booked summary b{float:right}.already-booked[open]{max-height:250px;overflow:auto}.already-booked .person{background:transparent}.already-booked .person small{display:block;font-size:8px;margin-top:2px}.leadership-duty{font-size:9px;color:#4e7956;line-height:17px;padding:2px}.expanded .leadership-duty{display:block;font-size:10px}

.need-preview,#period-summary{white-space:pre-line;line-height:1.6}.need-preview:empty{display:none}
