.planning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}.planning-grid label,.planning-review label,.planning-meals label{display:flex;flex-direction:column;gap:6px}.planning-wide{grid-column:1/-1}.planning-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:240px;overflow:auto}.planning-people label{display:block}.planning-catalog{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.planning-catalog small,#projectQueue small{display:block;margin-top:6px}.planning-stat,.planning-review,.planning-meals{padding:14px;border:1px solid var(--border,#aeb9c7);border-radius:12px;margin:12px 0}.planning-stat strong,.planning-stat small{display:block}.planning-stat p{margin:8px 0}.planning-overdue{border-color:#b06020!important}#projectQueue .btn{margin:6px 8px 6px 0}#projectsSection table{width:100%}.planning-review .inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:600px){.planning-grid{grid-template-columns:1fr}.planning-review .inline-actions button{flex:1}.planning-catalog>button{width:100%}}

.planning-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:650px;margin:16px 0}.planning-calendar strong{text-align:center}.planning-calendar .btn{padding:8px 4px;min-width:0}.planning-catalog .btn,#projectQueue .btn{display:block;text-align:left}.planning-catalog small{margin-top:6px}

:is(#projectsSection,#projectCalendarSection) .planning-calendar{width:100%;max-width:none;gap:8px;align-items:stretch}
.calendar-weekday{padding:8px;color:var(--muted,#687480)}
.calendar-day{min-height:150px;min-width:0;padding:8px;border:1px solid var(--line,#dce3e1);border-radius:12px;background:var(--surface-solid,#fff)}
.calendar-gap{background:transparent;opacity:.35}.calendar-day.is-today{border-color:#4b8e60;box-shadow:inset 0 0 0 1px #4b8e60}
.calendar-date{display:block;border:0;background:transparent;color:inherit;padding:2px 5px;margin-bottom:6px;font-size:14px;font-weight:700;cursor:pointer}
.calendar-entry{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:9px;margin:5px 0;border:1px solid var(--event-border);border-left:4px solid var(--event-border);border-radius:8px;background:var(--event-bg);color:var(--event-text);cursor:pointer;overflow-wrap:anywhere;font:inherit;font-size:12px;line-height:1.4}
.calendar-entry strong{font-size:13px}.calendar-entry small{font-size:11px;opacity:.85}
.tone-0{--event-bg:#e6f1e9;--event-border:#76a787;--event-text:#285b3b}.tone-1{--event-bg:#e8eff8;--event-border:#7c9fc8;--event-text:#31547f}.tone-2{--event-bg:#f8efdd;--event-border:#c4a76a;--event-text:#775b26}.tone-3{--event-bg:#eee9f4;--event-border:#a394b8;--event-text:#605078}.tone-4{--event-bg:#e4f1f1;--event-border:#76aaa9;--event-text:#336669}.tone-5{--event-bg:#f5eae5;--event-border:#c19b88;--event-text:#80553e}
html[data-theme=dark] .calendar-entry{background:color-mix(in srgb,var(--event-border) 16%,#181d23);color:color-mix(in srgb,var(--event-border) 50%,white)}
.planning-roster{border:1px solid var(--line,#d5ddd8);border-radius:10px;padding:10px 12px;max-width:650px}.planning-roster>summary{cursor:pointer;padding:3px;font-size:14px}.planning-roster>input{margin-top:12px}
#projectPeople{display:block;max-height:280px;overflow-y:auto;overflow-x:hidden;margin-top:8px}#projectPeople h4{margin:12px 0 6px;font-size:13px;color:var(--muted,#687480)}
#projectPeople label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:7px 3px;cursor:pointer}#projectPeople label[hidden]{display:none}#projectPeople input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}#projectPeople small{display:block;color:var(--muted,#687480);font-size:12px}
#projectForm{align-items:start}#projectForm>button{justify-self:start;min-width:130px}
#projectsSection .planning-actions-form{align-items:end;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
#projectsSection .planning-actions-form :is(input,select,.btn){height:40px;min-height:40px;max-height:40px;box-sizing:border-box;margin:0;padding:8px 12px;font-size:14px;line-height:22px}
#projectsSection .planning-actions-form>.btn{align-self:end;width:auto;justify-self:start;white-space:nowrap}
#projectsSection .section-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#projectManagerExport{margin-left:auto}#projectForm small{font-size:12px;font-weight:400;color:var(--muted,#687480)}
@media(max-width:900px){:is(#projectsSection,#projectCalendarSection) .planning-calendar{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.calendar-day{min-height:140px}#projectForm{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#projectForm{grid-template-columns:1fr}#projectManagerExport{margin-left:0}.planning-roster{max-width:100%;box-sizing:border-box}}

#projectsSection .calendar-entry strong{text-align:left}
@media(max-width:600px){
 :is(#projectsSection,#projectCalendarSection) .planning-calendar{display:grid;grid-template-columns:1fr;overflow:visible}
 .calendar-weekday,.calendar-day:not(.has-entries){display:none}
 .calendar-day.has-entries{min-height:0}.calendar-entry{font-size:14px}.calendar-entry strong{font-size:15px}.calendar-entry small{font-size:12px}
 .calendar-date{font-size:16px}
}

:is(#projectsSection,#projectCalendarSection) .calendar-bands{display:block;overflow:visible;margin:10px 0;max-width:none}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.calendar-band-week{grid-template-rows:22px repeat(var(--lanes),24px) 18px;min-height:0;padding:5px 0;border-top:1px solid var(--line,#ddd);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(14.2857% - 1px),var(--line,#ddd) calc(14.2857% - 1px),var(--line,#ddd) 14.2857%)}
.calendar-band{background:var(--event-bg);color:var(--event-text);border:1px solid var(--event-border);border-radius:5px;padding:2px 6px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;cursor:pointer;min-width:0}
.calendar-more{border:0;background:transparent;color:var(--text);font-size:12px;text-align:right;cursor:pointer}.calendar-week .calendar-date{margin:0;padding:0 6px;text-align:left}.calendar-date.is-today{color:#438653;font-weight:900}
html[data-theme=dark] .calendar-band{background:color-mix(in srgb,var(--event-border) 20%,#181d23);color:#edf2ef}
.project-task-plan{display:grid;grid-template-columns:1.2fr 1fr .8fr 1.6fr auto;gap:10px;padding:12px;margin:10px 0;border:1px solid var(--line,#ddd);border-radius:10px;align-items:start}.project-task-plan .btn{align-self:end;height:40px;padding:8px 12px}.task-people{max-height:220px;overflow:auto}.task-people label{display:flex!important;flex-direction:row!important;align-items:center;padding:6px;gap:8px}.task-people label[hidden]{display:none!important}.task-people input[type=checkbox]{width:18px;height:18px;min-height:18px}.task-people h4{font-size:13px;margin:10px 0}.my-project-assignment{padding:12px;border-left:3px solid #76a787;margin:10px 0;background:var(--surface-solid,#fff)}
@media(max-width:760px){.project-task-plan{grid-template-columns:1fr 1fr}.project-task-plan .planning-roster{grid-column:1/-1}.calendar-band{font-size:11px;padding:2px}.calendar-more{font-size:11px}}

#myProjectCalendar .calendar-bands{display:block;max-width:none;width:100%;overflow:visible}

.calendar-band-week{grid-template-rows:18px repeat(var(--lanes),22px) 16px;padding:3px 0;gap:2px}
.calendar-band-week .calendar-band{height:22px;min-height:0;max-height:22px;padding:1px 6px;line-height:18px;box-sizing:border-box}
.calendar-band-week .calendar-date{height:18px;min-height:0;max-height:18px;font-size:12px;line-height:18px}
.calendar-band-week .calendar-more{height:16px;min-height:0;max-height:16px;padding:0 6px;line-height:16px}

.task-staff{display:flex;flex-direction:column;gap:6px;min-width:0}.staff-picker{position:relative}.staff-picker>input{height:40px;min-height:40px;width:100%;box-sizing:border-box}.staff-popover{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;background:var(--surface-solid,#fff);border:1px solid var(--line,#ccc);padding:10px;border-radius:10px;box-shadow:0 8px 24px #0002}.staff-popover[hidden]{display:none}.staff-popover select{width:100%;margin-bottom:8px}.task-error{color:#b44337;font-size:14px;grid-column:1/-1;margin:4px 0}.task-error[hidden]{display:none}[aria-invalid=true]{outline:2px solid #b44337;outline-offset:1px}.calendar-zoom{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin:6px 0}.calendar-zoom button{height:32px;min-height:32px;width:36px;border:1px solid var(--line,#ddd);border-radius:6px;background:var(--surface-solid,#fff);color:var(--text);font-size:20px}.project-task-plan{align-items:start}.project-task-plan>[data-remove]{margin-top:25px;align-self:start}.project-task-plan>label>input{height:40px;min-height:40px;box-sizing:border-box}

.calendar-band-week{grid-template-rows:18px repeat(var(--lanes),var(--calendar-row-height,22px)) 16px}
.calendar-band-week .calendar-band{height:var(--calendar-row-height,22px);max-height:var(--calendar-row-height,22px);font-size:var(--calendar-font,12px);line-height:normal}

.tone-6{--event-bg:#f8e5ed;--event-border:#be7294;--event-text:#7d3051}
.tone-7{--event-bg:#e8e9fa;--event-border:#8282c1;--event-text:#42427f}
.tone-8{--event-bg:#edf3db;--event-border:#9aaf58;--event-text:#506426}
.tone-9{--event-bg:#f9e6dd;--event-border:#d18c6b;--event-text:#853e25}
.tone-10{--event-bg:#e0f1fa;--event-border:#72adc8;--event-text:#28637b}
.tone-11{--event-bg:#f4e5f5;--event-border:#b77fba;--event-text:#7a427d}
.tone-12{--event-bg:#edf0e4;--event-border:#9aab83;--event-text:#51643a}
.tone-13{--event-bg:#f7e4e2;--event-border:#cb8480;--event-text:#823e39}
.tone-14{--event-bg:#e3f1ec;--event-border:#71ac98;--event-text:#2d6655}
.tone-15{--event-bg:#eceaf1;--event-border:#9991b0;--event-text:#59506d}
.planning-catalog .project-catalog-card{background:var(--event-bg);border:1px solid var(--event-border);color:var(--event-text)}
html[data-theme=dark] .project-catalog-card{background:color-mix(in srgb,var(--event-border) 20%,#181d23);color:#edf2ef}
.unified-project-trips #tripCreatePanel{display:none!important}
#projectForm .project-trip-flag span:last-child{display:flex;align-items:center;gap:8px;min-height:40px}#projectForm .project-trip-flag input{width:18px;height:18px;min-height:18px;margin:0}

/* Close the calendar grid, including empty weeks. */
.calendar-band-week{border-left:1px solid var(--line,#ddd);border-right:1px solid var(--line,#ddd)}
.calendar-band-week:last-child{border-bottom:1px solid var(--line,#ddd)}

.segment-derived-field{display:none!important}.shift-place-editor{margin:12px 0}.shift-place-editor select{width:100%;min-width:0}

.company-trip-field[hidden],#planningMeals[hidden]{display:none!important}

.shift-place-editor .planning-wide{position:relative}.shift-place-options{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:240px;overflow:auto;background:white;border:1px solid #ccd4ce;border-radius:10px;box-shadow:0 8px 20px #0002;padding:8px}.shift-place-options[hidden]{display:none}.shift-place-options strong{display:block;padding:8px;color:#68766d;font-size:13px}.shift-place-options button{display:block;width:100%;text-align:left;background:transparent;border:0;padding:10px;color:inherit}.shift-place-options button:hover,.shift-place-options button:focus{background:#e8f1eb}

/* Separate calendar dates from numeric clocks: no native datetime spinner on iOS. */
#eventDialog .shift-place-editor{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
#eventDialog .shift-place-editor>*{min-width:0;max-width:100%;box-sizing:border-box}
#eventDialog .shift-time-pair{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;border:0;padding:0;margin:0;min-width:0}
#eventDialog .shift-time-pair legend{padding:0;margin-bottom:6px;font-size:14px;font-weight:600}
#eventDialog .shift-time-pair label{min-width:0;width:100%;display:block}
#eventDialog .shift-time-pair input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;font-size:16px}
#eventDialog .shift-time-pair input[type=date]{appearance:none;-webkit-appearance:none;display:block}
#eventDialog .shift-time-pair input::-webkit-date-and-time-value{text-align:left;min-width:0}
#eventDialog .shift-time-pair input[data-clock]{text-align:center}
html[data-theme=dark] .shift-place-options{background:#20262e;color:#edf2ef;border-color:#46514c}
html[data-theme=dark] .shift-place-options button:hover,html[data-theme=dark] .shift-place-options button:focus{background:#34453a}
@media(max-width:600px){#eventDialog .shift-place-editor{grid-template-columns:minmax(0,1fr)}#eventDialog .shift-time-pair{grid-template-columns:minmax(0,1fr) 90px}#eventDialog .day-venue-block{min-width:0;max-width:100%;box-sizing:border-box}}

#eventForm .workday-fields>div[hidden]{display:none!important}

/* Workday form: clear surfaces and spacing, shared by desktop and mobile. */
#eventDialog #eventForm{--work-surface:#f5f8fb;--work-input:#fff;--work-border:#d4dee8;--work-accent:#e6eff9;--work-accent-text:#315c85}
html[data-theme="dark"] #eventDialog #eventForm{--work-surface:#202c38;--work-input:#141e28;--work-border:#3a4b5d;--work-accent:#263f56;--work-accent-text:#c1ddf6}
#eventDialog #eventForm>.workday-fields{padding-top:12px;gap:14px}
#eventDialog #eventForm .day-venue-block{padding:16px;border:1px solid var(--work-border)!important;background:var(--work-surface)!important;box-shadow:none;border-radius:16px}
#eventDialog #eventForm .venue-block-head{position:relative;display:flex;justify-content:center;min-height:36px;margin:0 0 14px;padding:0 44px;text-align:center}
#eventDialog #eventForm .venue-block-head>strong{font-size:1rem}
#eventDialog #eventForm .venue-block-head>.icon-btn{position:absolute;right:0;top:0;margin:0}
#eventDialog #eventForm .shift-place-editor{gap:16px;margin-bottom:16px}
#eventDialog #eventForm .shift-time-pair legend{margin-bottom:8px}
#eventDialog #eventForm .altitude-check{margin:0 0 16px;padding:10px 12px;background:transparent!important;border-color:var(--work-border)!important}
#eventDialog #eventForm .task-editor{display:grid;gap:14px}
#eventDialog #eventForm .task-row{padding:14px;gap:12px;border:1px solid var(--work-border)!important;background:transparent!important}
#eventDialog #eventForm .task-row>.field:first-child{padding-right:56px}
#eventDialog #eventForm .task-row .remove-task{right:12px;top:36px;width:40px;height:44px;min-width:40px;background:transparent!important;border:1px solid var(--work-border)!important;border-radius:10px}
#eventDialog #eventForm [data-add-task]{display:block;margin-top:16px;padding:10px 14px;min-height:44px;background:transparent!important;border:1px solid var(--work-border)!important}
#eventDialog #eventForm #addVenueEntryBtn{display:block;width:100%!important;box-sizing:border-box;margin:18px 0 4px;padding:14px;min-height:48px;font-size:1rem;font-weight:650;background:var(--work-accent)!important;color:var(--work-accent-text)!important;border:1px solid var(--work-border)!important;box-shadow:none;border-radius:12px}
#eventDialog #eventForm #addVenueEntryBtn:hover{filter:brightness(1.06)}
#eventDialog #eventForm .day-venue-block input:not([type=checkbox]),#eventDialog #eventForm .day-venue-block select{background:var(--work-input)!important;border-color:var(--work-border)!important}
#eventDialog #eventForm .day-venues-editor{gap:18px}
@media(max-width:600px){#eventDialog #eventForm .day-venue-block{padding:12px}#eventDialog #eventForm .task-row{padding:12px}#eventDialog #eventForm .task-row .remove-task{right:10px;top:34px}}

/* Compact header and aligned task actions. */
#eventDialog #eventForm{gap:0}
#eventDialog #eventForm>.workday-fields{margin-top:0;padding-top:8px}
#eventDialog #eventForm .venue-block-head{min-height:28px;margin-bottom:8px}
#eventDialog #eventForm .day-venue-block{padding-top:10px}
#eventDialog #eventForm .task-row{grid-template-columns:minmax(0,1fr) 44px}
#eventDialog #eventForm .task-row>.field:first-child{grid-column:1;grid-row:1;padding-right:0}
#eventDialog #eventForm .task-row .remove-task{position:static;grid-column:2;grid-row:1;align-self:end;justify-self:stretch;width:44px;height:2.75rem;min-height:36px;margin:0}
#eventDialog #eventForm .taxi-section{padding:12px;border:1px solid var(--work-border)!important;border-radius:14px;background:var(--work-surface)!important;box-sizing:border-box}
#eventDialog #eventForm .taxi-section .section-heading{margin:0 0 12px;gap:12px}
#eventDialog #eventForm .taxi-section h3{margin:0}
#eventDialog #eventForm .taxi-section .context-help-actions{display:flex;align-items:center;gap:12px}
#eventDialog #eventForm #taxiTripsTotal{white-space:nowrap;padding-right:4px}
#eventDialog #eventForm #addTaxiTripBtn{margin-top:10px;border-radius:10px}
#employeeView .own-schedule-actions{display:flex;align-items:stretch;gap:8px;margin:0 0 12px}
#employeeView .own-schedule-actions .btn{margin:0;min-width:0}
#employeeView #openMyScheduleBtn[aria-expanded=true]{background:var(--surface-alt,#e8eff8);border-color:var(--accent,#43658e)}
#employeeView #myProjectCalendar{padding:12px;margin:0 0 12px;border-radius:16px}
#employeeView #myProjectCalendar:not([open]),#employeeView #myProjectCalendar>summary,#myProjectCalendar [hidden]{display:none!important}
#myProjectCalendar .own-schedule-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,180px)) auto;align-items:end;gap:8px;margin:0 0 8px}
#myProjectCalendar .own-schedule-filters label{display:grid;gap:3px;min-width:0;font-size:12px}
#myProjectCalendar .own-schedule-filters :is(input,select){width:100%;min-width:0;max-width:100%;height:38px;padding:6px 8px;box-sizing:border-box;font-size:14px}
#myProjectCalendar .team-day-shortcuts{display:flex;gap:6px}
#myProjectCalendar .team-day-shortcuts .btn{min-height:38px;padding:6px 10px;font-size:13px}
@media(max-width:760px){
 #employeeView .own-schedule-actions .btn{padding:8px 10px;font-size:13px;line-height:1.25}
 #employeeView #myProjectCalendar{padding:10px}
 #myProjectCalendar .own-schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #myProjectCalendar .team-day-shortcuts{grid-column:1/-1;justify-content:flex-end}
 #myProjectCalendar .team-day-shortcuts .btn{min-height:32px;padding:4px 10px}
}
#employeeView .date-filter-controls,#employeeView .date-shortcuts{background:transparent!important;box-shadow:none!important;border:0!important}
#employeeView .date-shortcuts{gap:8px;padding:0}

@media(max-width:700px){
 #monthlySummarySection .table-wrap{overflow:visible}
 #monthlySummarySection table{display:block;min-width:0!important;width:100%}
 #monthlySummarySection thead{display:none}
 #monthlySummarySection tbody,#monthlySummarySection tfoot{display:grid;gap:12px}
 #monthlySummarySection tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;border:1px solid var(--line);border-radius:14px;gap:10px}
 #monthlySummarySection td{display:block;min-width:0;padding:0!important;border:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
 #monthlySummarySection tbody td:first-child{grid-column:1/-1}
 #monthlySummarySection td::before{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
 #monthlySummarySection tbody td:nth-child(2)::before{content:'Город'}
 #monthlySummarySection tbody td:nth-child(3)::before{content:'За работы'}
 #monthlySummarySection tbody td:nth-child(4)::before{content:'Обеденные'}
 #monthlySummarySection tbody td:nth-child(5)::before{content:'Такси'}
 #monthlySummarySection tbody td:nth-child(6)::before{content:'Расходы'}
 #monthlySummarySection tfoot td:nth-child(2)::before{content:'За работы'}
 #monthlySummarySection tfoot td:nth-child(3)::before{content:'Обеденные'}
 #monthlySummarySection tfoot td:nth-child(4)::before{content:'Такси'}
 #monthlySummarySection tfoot td:nth-child(5)::before{content:'Расходы'}
}

.personnel-dialog{width:min(900px,94vw);max-height:90vh;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--card,#fff);color:var(--text);box-sizing:border-box}
.personnel-dialog::backdrop{background:#0008}
.personnel-dialog section,.personnel-form{margin:20px 0;padding-top:16px;border-top:1px solid var(--line)}
.personnel-form h3{grid-column:1/-1}.personnel-form .planning-grid{margin-bottom:16px}.personnel-form label{display:grid;gap:6px}
.personnel-header{display:flex;align-items:center;gap:20px}.personnel-header img{width:100px;height:100px;object-fit:cover;border-radius:16px}
.personnel-history{padding:12px 0;border-bottom:1px solid var(--line)}
.crew-filters,.accreditation-controls{display:flex;align-items:end;gap:16px;margin:16px 0;flex-wrap:wrap}.crew-filters label,.accreditation-controls label{display:grid;gap:6px}.crew-filters input{min-width:240px}
.crew-list{display:grid;gap:0}.crew-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:16px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;width:100%;cursor:pointer}.crew-row:hover{background:var(--soft,#8881)}
.summary-personnel{display:block;white-space:normal;margin-top:8px;font-size:12px;line-height:1.5;color:var(--muted)}
@media(min-width:761px){
 #employeeView .employee-finances{align-items:stretch}
 #employeeView :is(.finance-payable,.finance-item){display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;min-height:136px;margin:0;padding:20px;box-sizing:border-box;border-radius:10px}
 #employeeView :is(.finance-payable,.finance-item)>span{font-size:16px;line-height:1.3}
 #employeeView :is(.finance-payable,.finance-item)>strong{font-size:28px;line-height:1.3;letter-spacing:normal}
 #employeeView .finance-payable>small{margin:0;line-height:1.3}
}
@media(max-width:600px){.personnel-dialog{padding:16px}.personnel-header{align-items:start;gap:12px}.personnel-header img{width:72px;height:72px}.crew-row{grid-template-columns:1fr auto}.crew-row strong{grid-column:1/-1}.crew-filters>*{flex:1;min-width:0}.crew-filters input{min-width:0;width:100%}}

#employeeProfileSummary>button{grid-column:1/-1;width:100%;margin-top:8px}

/* Keep accreditation outside the two-column staff workspace. */
#adminView>.accreditation-controls{padding:12px 16px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);flex:0 0 auto}
#adminView>.accreditation-controls :is(select,a){min-height:40px;font-size:14px}
#projectQueue{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:10px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);align-items:start}
#projectQueue[hidden]{display:none}
#projectQueue>h3{grid-column:1/-1;margin:0 0 4px;font-size:18px}
#projectQueue>.btn{width:100%;height:auto;min-height:72px;margin:0;text-align:left;white-space:normal;padding:12px;line-height:1.45;box-shadow:none;border:1px solid var(--line)}
#projectQueue>.btn small{display:block;margin-top:6px;line-height:1.4}
#monthlySummarySection h2{font-size:max(20px,1.5rem);line-height:1.3}
#monthlySummarySection tbody td{font-size:max(14px,1rem);line-height:1.4}
#monthlySummarySection :is(.summary-person-position,.summary-personnel){font-size:max(13px,.9rem);line-height:1.5}
#monthlySummarySection th{font-size:max(12px,.85rem)}
@media(min-width:1001px){
 #adminView:has(#peopleSection[data-workspace=review]:not(.hidden)){height:auto;min-height:calc(100dvh - 24px)}
 #adminView #peopleSection[data-workspace=review]{grid-template-columns:320px minmax(0,1fr);align-items:start}
 #peopleSection[data-workspace=review]>.admin-panel:first-child{min-height:540px;max-height:calc(100dvh - 180px);overflow-y:auto}
 #peopleSection[data-workspace=review] #employeeAdminList{min-height:180px;flex:1 0 180px;overflow-y:auto}
 #peopleSection[data-workspace=review] #reviewQueueControls{flex-shrink:0}
}

/* Personnel details belong to the selected employee, without another dialog. */
.personnel-inline{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:14px;min-width:0}
.personnel-inline section,.personnel-inline .personnel-form{margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}
.personnel-inline .personnel-form:first-of-type{border-top:0;margin-top:0;padding-top:0}
.personnel-inline input,.personnel-inline select{min-width:0;max-width:100%;font-size:16px}
.personnel-inline [data-status]:empty{display:none}
#peopleSection[data-workspace=directory] #employeeAdminList .employee-row{font-size:15px;line-height:1.45;padding:12px}
#peopleSection[data-workspace=directory] #staffIdentityAvatar{width:104px;height:144px;min-height:144px}
#peopleSection[data-workspace=directory] #adminAvatarPreview{width:104px;height:104px}
@media(min-width:1001px){
 #adminView #peopleSection[data-workspace=directory]{grid-template-columns:320px minmax(0,1fr)}
 #peopleSection[data-workspace=directory] .staff-profile-header{grid-template-columns:104px minmax(0,1fr)}
}
@media(max-width:760px){
 #peopleSection[data-workspace=directory] .staff-profile-header{grid-template-columns:80px minmax(0,1fr)}
 #peopleSection[data-workspace=directory] #staffIdentityAvatar{width:80px;height:80px;min-height:80px}
 #monthlySummarySection tbody td:nth-child(7)::before{content:'Штрафы'}
 #monthlySummarySection tbody td:nth-child(8)::before{content:'Авансы'}
 #monthlySummarySection tfoot td:nth-child(6)::before{content:'Штрафы'}
 #monthlySummarySection tfoot td:nth-child(7)::before{content:'Авансы'}
}

#adminView #peopleSection[data-workspace=directory] #employeeAdminList .employee-row strong{font-size:16px}
#adminView #peopleSection[data-workspace=directory] #employeeAdminList .employee-row span{font-size:14px}

.venue-suggestions{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-solid);padding:4px;z-index:5;min-width:0}.venue-suggestions[hidden]{display:none}.venue-suggestions button{display:block;width:100%;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;padding:10px;font:inherit;overflow-wrap:anywhere}.venue-suggestions button:hover,.venue-suggestions button:focus{background:var(--surface)}

.venue-suggestion-field{position:relative}.venue-suggestions{position:absolute;top:100%;left:0;right:0;z-index:30;box-shadow:0 8px 20px #0002}

/* Personal travel accounting: compact fields and separate, aligned actions. */
#tripPersonalAccounting .planning-grid{align-items:end;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:14px 0;border-bottom:1px solid var(--border);margin:0 0 14px}
#tripPersonalAccounting input{box-sizing:border-box;width:100%;min-width:0;height:44px}
#tripPersonalAccounting .btn{align-self:end;justify-self:start;height:44px;min-height:44px;padding:8px 16px;line-height:1.2;margin:0;width:auto}
#tripPersonalAccounting .trip-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#tripPersonalAccounting .trip-form-actions .btn{margin-left:auto}
#tripPersonalAccounting .trip-accounting-extra{border-top:1px solid var(--border);padding:12px 0}
#tripPersonalAccounting .trip-accounting-extra>summary{cursor:pointer;font-weight:600;padding:8px 0}
#tripPersonalAccounting .trip-plan-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
#tripPersonalAccounting .planning-review>summary{padding:8px 0;line-height:1.5}
@media(max-width:600px){#tripPersonalAccounting .planning-grid{grid-template-columns:1fr}#tripPersonalAccounting .trip-form-actions .btn{width:100%;margin:0}}

#projectQueue strong{display:block;font-size:17px}
#projectReviewDialog .dialog-header h3{margin:6px 0 0;font-size:20px}
.review-day-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.review-day-nav .btn{white-space:normal}
.review-day-nav [aria-pressed="true"]{border-color:var(--accent,#47825c);background:var(--surface-solid,#edf4ef)}

.no-work-check{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px;gap:10px}
.day-venue-block .task-editor[hidden],.day-venue-block .altitude-check[hidden],.day-venue-block [data-add-task][hidden]{display:none!important}

/* Additional event colours: the palette is shared by bands and cards. */
.tone-16{--event-bg:hsl(0.0 57% 89%);--event-border:hsl(0.0 47% 55%);--event-text:hsl(0.0 45% 26%)}
.tone-17{--event-bg:hsl(137.51 69% 92%);--event-border:hsl(137.51 59% 55%);--event-text:hsl(137.51 45% 26%)}
.tone-18{--event-bg:hsl(275.02 45% 86%);--event-border:hsl(275.02 35% 55%);--event-text:hsl(275.02 45% 26%)}
.tone-19{--event-bg:hsl(52.52 57% 89%);--event-border:hsl(52.52 47% 55%);--event-text:hsl(52.52 45% 26%)}
.tone-20{--event-bg:hsl(190.03 69% 92%);--event-border:hsl(190.03 59% 55%);--event-text:hsl(190.03 45% 26%)}
.tone-21{--event-bg:hsl(327.54 45% 86%);--event-border:hsl(327.54 35% 55%);--event-text:hsl(327.54 45% 26%)}
.tone-22{--event-bg:hsl(105.05 57% 89%);--event-border:hsl(105.05 47% 55%);--event-text:hsl(105.05 45% 26%)}
.tone-23{--event-bg:hsl(242.56 69% 92%);--event-border:hsl(242.56 59% 55%);--event-text:hsl(242.56 45% 26%)}
.tone-24{--event-bg:hsl(20.06 45% 86%);--event-border:hsl(20.06 35% 55%);--event-text:hsl(20.06 45% 26%)}
.tone-25{--event-bg:hsl(157.57 57% 89%);--event-border:hsl(157.57 47% 55%);--event-text:hsl(157.57 45% 26%)}
.tone-26{--event-bg:hsl(295.08 69% 92%);--event-border:hsl(295.08 59% 55%);--event-text:hsl(295.08 45% 26%)}
.tone-27{--event-bg:hsl(72.59 45% 86%);--event-border:hsl(72.59 35% 55%);--event-text:hsl(72.59 45% 26%)}
.tone-28{--event-bg:hsl(210.1 57% 89%);--event-border:hsl(210.1 47% 55%);--event-text:hsl(210.1 45% 26%)}
.tone-29{--event-bg:hsl(347.6 69% 92%);--event-border:hsl(347.6 59% 55%);--event-text:hsl(347.6 45% 26%)}
.tone-30{--event-bg:hsl(125.11 45% 86%);--event-border:hsl(125.11 35% 55%);--event-text:hsl(125.11 45% 26%)}
.tone-31{--event-bg:hsl(262.62 57% 89%);--event-border:hsl(262.62 47% 55%);--event-text:hsl(262.62 45% 26%)}
.tone-32{--event-bg:hsl(40.13 69% 92%);--event-border:hsl(40.13 59% 55%);--event-text:hsl(40.13 45% 26%)}
.tone-33{--event-bg:hsl(177.64 45% 86%);--event-border:hsl(177.64 35% 55%);--event-text:hsl(177.64 45% 26%)}
.tone-34{--event-bg:hsl(315.14 57% 89%);--event-border:hsl(315.14 47% 55%);--event-text:hsl(315.14 45% 26%)}
.tone-35{--event-bg:hsl(92.65 69% 92%);--event-border:hsl(92.65 59% 55%);--event-text:hsl(92.65 45% 26%)}
.tone-36{--event-bg:hsl(230.16 45% 86%);--event-border:hsl(230.16 35% 55%);--event-text:hsl(230.16 45% 26%)}
.tone-37{--event-bg:hsl(7.67 57% 89%);--event-border:hsl(7.67 47% 55%);--event-text:hsl(7.67 45% 26%)}
.tone-38{--event-bg:hsl(145.18 69% 92%);--event-border:hsl(145.18 59% 55%);--event-text:hsl(145.18 45% 26%)}
.tone-39{--event-bg:hsl(282.68 45% 86%);--event-border:hsl(282.68 35% 55%);--event-text:hsl(282.68 45% 26%)}
.tone-40{--event-bg:hsl(60.19 57% 89%);--event-border:hsl(60.19 47% 55%);--event-text:hsl(60.19 45% 26%)}
.tone-41{--event-bg:hsl(197.7 69% 92%);--event-border:hsl(197.7 59% 55%);--event-text:hsl(197.7 45% 26%)}
.tone-42{--event-bg:hsl(335.21 45% 86%);--event-border:hsl(335.21 35% 55%);--event-text:hsl(335.21 45% 26%)}
.tone-43{--event-bg:hsl(112.72 57% 89%);--event-border:hsl(112.72 47% 55%);--event-text:hsl(112.72 45% 26%)}
.tone-44{--event-bg:hsl(250.22 69% 92%);--event-border:hsl(250.22 59% 55%);--event-text:hsl(250.22 45% 26%)}
.tone-45{--event-bg:hsl(27.73 45% 86%);--event-border:hsl(27.73 35% 55%);--event-text:hsl(27.73 45% 26%)}
.tone-46{--event-bg:hsl(165.24 57% 89%);--event-border:hsl(165.24 47% 55%);--event-text:hsl(165.24 45% 26%)}
.tone-47{--event-bg:hsl(302.75 69% 92%);--event-border:hsl(302.75 59% 55%);--event-text:hsl(302.75 45% 26%)}
.tone-48{--event-bg:hsl(80.26 45% 86%);--event-border:hsl(80.26 35% 55%);--event-text:hsl(80.26 45% 26%)}
.tone-49{--event-bg:hsl(217.76 57% 89%);--event-border:hsl(217.76 47% 55%);--event-text:hsl(217.76 45% 26%)}
.tone-50{--event-bg:hsl(355.27 69% 92%);--event-border:hsl(355.27 59% 55%);--event-text:hsl(355.27 45% 26%)}
.tone-51{--event-bg:hsl(132.78 45% 86%);--event-border:hsl(132.78 35% 55%);--event-text:hsl(132.78 45% 26%)}
.tone-52{--event-bg:hsl(270.29 57% 89%);--event-border:hsl(270.29 47% 55%);--event-text:hsl(270.29 45% 26%)}
.tone-53{--event-bg:hsl(47.8 69% 92%);--event-border:hsl(47.8 59% 55%);--event-text:hsl(47.8 45% 26%)}
.tone-54{--event-bg:hsl(185.3 45% 86%);--event-border:hsl(185.3 35% 55%);--event-text:hsl(185.3 45% 26%)}
.tone-55{--event-bg:hsl(322.81 57% 89%);--event-border:hsl(322.81 47% 55%);--event-text:hsl(322.81 45% 26%)}
.tone-56{--event-bg:hsl(100.32 69% 92%);--event-border:hsl(100.32 59% 55%);--event-text:hsl(100.32 45% 26%)}
.tone-57{--event-bg:hsl(237.83 45% 86%);--event-border:hsl(237.83 35% 55%);--event-text:hsl(237.83 45% 26%)}
.tone-58{--event-bg:hsl(15.34 57% 89%);--event-border:hsl(15.34 47% 55%);--event-text:hsl(15.34 45% 26%)}
.tone-59{--event-bg:hsl(152.84 69% 92%);--event-border:hsl(152.84 59% 55%);--event-text:hsl(152.84 45% 26%)}
.tone-60{--event-bg:hsl(290.35 45% 86%);--event-border:hsl(290.35 35% 55%);--event-text:hsl(290.35 45% 26%)}
.tone-61{--event-bg:hsl(67.86 57% 89%);--event-border:hsl(67.86 47% 55%);--event-text:hsl(67.86 45% 26%)}
.tone-62{--event-bg:hsl(205.37 69% 92%);--event-border:hsl(205.37 59% 55%);--event-text:hsl(205.37 45% 26%)}
.tone-63{--event-bg:hsl(342.88 45% 86%);--event-border:hsl(342.88 35% 55%);--event-text:hsl(342.88 45% 26%)}

.task-selected-people{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.task-person-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border,#a9bac9);border-radius:8px;background:var(--surface,#edf3f8);color:var(--text,#203247)}.task-person-chip button{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;padding:3px;cursor:pointer}

/* The catalog filter is separate from the event creation form and its draft. */
.project-catalog-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:14px}
.project-catalog-filters .field{width:220px;max-width:100%;margin:0}
.project-catalog-filters+#projectCatalog{margin-top:10px}
.planning-staff-link{display:inline;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer;white-space:normal;min-height:0;box-shadow:none}
.planning-staff-link:hover{text-decoration-style:solid}
#peopleSection[data-workspace="report"] :is(#inlinePersonnel,#staffPayments){display:none!important}
.planning-staff-link:focus-visible,.calendar-project-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.planning-staff-link:disabled{cursor:wait;opacity:.65}
.calendar-entry-links{display:flex;flex-direction:row;align-items:center;gap:3px}
.calendar-project-link{background:transparent;color:inherit;border:0;padding:0;min-width:0;min-height:0;font:inherit;text-align:left;cursor:pointer;box-shadow:none}
.calendar-band.calendar-entry-links .calendar-project-link{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-band.calendar-entry-links .planning-staff-link{flex:0 1 42%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-band .calendar-entry-period{flex:0 0 auto}
.calendar-entry.calendar-entry-links{flex-wrap:wrap}
.calendar-entry.calendar-entry-links .calendar-project-link{font-weight:650}
@media(max-width:760px){.calendar-band .calendar-entry-period,.calendar-band .calendar-entry-separator{display:none}}
@media(max-width:600px){.project-catalog-filters .field{width:100%}}

.project-calendar-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}
.project-calendar-filters .field{flex:0 1 220px;min-width:0;max-width:100%;margin:0}
.project-calendar-filters :is(input,select){width:100%;min-width:0;height:44px;box-sizing:border-box}
@media(max-width:600px){.project-calendar-filters .field{flex:1 1 150px}}
/* Inline review controls must fit both narrow table cells and employee cards. */
.compact-works { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.planning-review fieldset { min-width:0; margin:8px 0; padding:10px; border:1px solid var(--border,#ccd5df); border-radius:10px; }
.planning-review fieldset input[type=number] { width:100%; min-width:0; }
[data-expense-payment-day] { margin-top:8px; font-size:13px; }
#expenseDaySelection { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0; }
#peopleSection[data-workspace="review"] #staffPayments,
#peopleSection[data-workspace="report"] #staffPayments{display:flex!important}
