.password-control{display:flex;position:relative;align-items:center}.password-control input{padding-right:52px;width:100%;margin:0}.password-control .icon{position:absolute;right:7px;background:transparent;color:#405774;width:36px;height:36px}.password-control svg{width:22px;height:22px}.nav-task-count{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff0e4;color:#d84400;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700}.nav.active .nav-task-count{background:#ff6000;color:white}.file-control{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0}.file-control input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-control:focus-within{outline:2px solid #ff6000;outline-offset:3px}.file-control [data-file-name]{overflow-wrap:anywhere;color:#536779}.attachment{display:flex;align-items:center;gap:10px}.attachment>span{flex:1;overflow-wrap:anywhere}.attachment .icon{flex-shrink:0}.task-filter-panel{background:white;border:1px solid #e1e9ef;border-radius:13px;padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.task .badge,.compact-task .badge,.task .badges span{font-size:13px;padding:8px 15px}.time small{font-size:12px}.time b{font-size:16px;font-variant-numeric:tabular-nums}.worker-filter{display:flex;gap:8px;flex-wrap:wrap;width:100%;padding-top:10px;border-top:1px solid #e9eef2}.tab.chosen,.period-buttons .active{background:#e0f8e7;border-color:#7cc78d;color:#18713a}.task-running{background:#f1fcf4!important}.lane-head .workload{font-size:12px;line-height:1.7;color:#405774}.lane-head .presence{font-size:12px}.lane-head [data-act=new-task]{background:#ff6200;color:white}.worker-pause{border:0;color:#526780;font-size:11px;background:transparent;cursor:pointer}.task-detail-toggle{background:#29ac53;color:white}.form-row>label{display:flex;flex-direction:column;justify-content:flex-start}.form-row>label input,.form-row>label select{height:44px;margin-top:8px}.date-control{display:flex;align-items:center;position:relative;width:100%;margin-top:8px}.date-control>input[type=text]{width:100%;margin:0;padding-right:48px}.date-control>button{position:absolute;right:4px;background:transparent}.date-control>input[type=hidden]{display:none}.check-grid{display:flex;gap:16px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:8px}.check input{width:auto!important}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.knowledge-card{margin-top:16px}.knowledge-card .outline{float:right}.reminder-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid #e1e8ef}.reminder-row.overdue{border-left:4px solid #e94343;padding-left:15px}.reminder-row.overdue>div>small:first-child{color:#be2734}.reminder-row h3{margin:10px 0}.reminder-row .actions{flex-wrap:wrap;align-content:center}.reminder-audience{display:flex;gap:12px;flex-wrap:wrap}.reminder-audience[hidden]{display:none}.date-control input{min-width:0}#hr-calendar{position:fixed;top:20vh;left:50%;transform:translateX(-50%);width:min(460px,92vw);padding:18px;background:white;border:1px solid #dbe6ef;border-radius:16px;box-shadow:0 20px 80px #12213f55;z-index:9999}.calendar-picker-head{display:flex;gap:6px}.calendar-picker-head button{border:0;background:#eef4f8;border-radius:6px}.calendar-picker-head select{min-width:0;flex:1}.calendar-picker-head input{width:80px}.picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:15px;text-align:center}.picker-grid button{border:0;background:#f0f6fb;padding:11px 4px;border-radius:7px;cursor:pointer}.picker-grid button:hover{background:#ff6600;color:white}#presence-reminder{position:fixed;bottom:25px;right:25px;max-width:450px;background:white;border:2px solid #ff9200;padding:22px;border-radius:16px;box-shadow:0 12px 50px #23334d30;z-index:5000}.leave-month-control{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:16px}.leave-month-control select{width:auto}.period-buttons,.project-mode{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.phase-totals{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.phase-totals>div{background:#f2f8fc;padding:16px;border-radius:12px}.stat-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0}.stat-counts .panel{margin:0}.stat-counts b{font-size:26px;display:block}.month-history{margin:20px 0}.phone-modal-actions{display:flex;justify-content:space-between;gap:15px}.phone-modal-actions>div{margin-left:auto;display:flex;gap:8px}button:disabled{opacity:.4;filter:grayscale(1);cursor:not-allowed}@media(max-width:700px){.reminder-row{flex-direction:column}.time b{font-size:14px}.knowledge-card .outline{float:none;display:block;margin-top:10px}#presence-reminder{left:12px;right:12px;bottom:12px}.phone-modal-actions{flex-wrap:wrap}}

#workday-prompt{position:fixed;z-index:10000;left:50%;top:25vh;transform:translateX(-50%);width:min(550px,94vw);background:white;border:2px solid #ff6900;box-shadow:0 15px 100px #11234377;padding:26px;border-radius:18px} .workers .lane-head{align-items:flex-start}.workers .lane-head>.count{margin-top:4px}.workers .lane-head>.avatar{margin-top:0}.compact-task details summary{background:#20a549;color:white}

.leave-weeks th{min-width:125px}.leave-weeks td{vertical-align:top}.week-leave{display:block;width:100%;border:1px solid transparent;border-radius:8px;padding:9px;font:inherit;font-size:11px;line-height:1.6;margin-bottom:6px;cursor:pointer}.week-leave.green{background:#e0f7e7;color:#19723b}.week-leave.yellow{background:#fff2d5;color:#775200}.week-leave.overlap{border:2px solid #e95358}

.mini-task .badge{font-size:13px;padding:8px 14px}.mini-task [data-card-more]{background:#20a549;color:white}.card-dates dt{font-size:12px}.card-dates dd{font-size:13px}.project-stat{padding:16px 0;border-bottom:1px solid #e4ebf2}.project-stat>summary{cursor:pointer;font-weight:600}.project-stat .table-wrap{margin:16px 0 0 20px}

.leave-layout:has(.leave-weeks){grid-template-columns:1fr}.leave-layout:has(.leave-weeks)>form{max-width:760px;width:100%}.leave-weeks{width:100%}.leave-weeks th{min-width:100px}.date-control input[hidden]{display:none}

#workday-prompt{margin:0}#presence-reminder{margin:0;left:auto;top:auto}#workday-prompt::backdrop,#presence-reminder::backdrop{background:#21345155}

form>.password-control{margin:8px 0 18px} .password-control:focus-within{border-radius:8px} .password-control button:focus-visible{outline:2px solid #ff6000;outline-offset:2px}

.leave-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.reminder-row.upcoming,.reminder-row.due-today{border-left:4px solid;padding-left:15px}.reminder-row.upcoming{border-left-color:#2382d9}.reminder-row.upcoming>div>small:first-child{color:#206cb1}.reminder-row.due-today{border-left-color:#ff8a00}.reminder-row.due-today>div>small:first-child{color:#ad5600}@media(max-width:600px){.leave-summary{grid-template-columns:1fr}}

.picker-grid button.picker-today{background:#ff6600;color:#fff;font-weight:700;box-shadow:0 0 0 2px #ffd7bd}.picker-grid button.picker-today:hover{background:#d94b00}

.project-card[draggable=true]{cursor:grab}.project-card[draggable=true]:active{cursor:grabbing}.project-card.dragging{opacity:.55;outline:2px dashed #ff6600}

.knowledge-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}

.worker-head{align-items:flex-start}.worker-heading{flex:1;min-width:0}.worker-name{display:flex;align-items:center;gap:9px}.worker-name .worker-task-count{margin:0;min-width:30px;height:30px;font-size:16px;font-weight:700;background:#ffeadb;color:#b44000;display:inline-flex;justify-content:center;align-items:center}.worker-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.worker-status .presence{margin:0}.worker-status .offline{color:#866044}.worker-status .worker-pause{padding:2px 4px}.worker-head .icon,[data-card-more]{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.worker-head .icon svg,[data-card-more] svg{display:block;margin:0;width:20px;height:20px}
.rich-card:not(.task-running):not(.card-expanded){padding:12px 14px}.rich-card:not(.task-running):not(.card-expanded)>.brief,.rich-card:not(.task-running):not(.card-expanded)>.card-dates,.rich-card:not(.task-running):not(.card-expanded)>.task-age,.rich-card:not(.task-running):not(.card-expanded)>.mini-controls{display:none}.rich-card:not(.task-running):not(.card-expanded)>h3{margin:6px 0}.rich-card:not(.task-running):not(.card-expanded) .mini-bottom{margin-top:5px}.rich-card:not(.task-running):not(.card-expanded) .mini-bottom .badge{padding:3px 8px;font-size:11px}

.worker-avatar{flex-shrink:0;font-weight:700}.worker-avatar.unassigned-avatar{background:#e6ebf0;color:#516171}

.calendar-day.today>b,.today-legend{background:#ff6600;color:#fff}.calendar-day.today{box-shadow:inset 0 0 0 2px #ff6600}.leave-weeks th.current-week{background:#fff0e3;border-top:3px solid #ff6600}.today-label{display:block;color:#a74300;font-weight:700;margin-top:6px}

.task-filter-section{margin:0 0 18px}.task-filter-section>summary{display:flex;align-items:center;gap:10px;width:max-content;list-style:none;cursor:pointer;background:#fff;border:1px solid #e1e9ef;border-radius:9px;padding:10px 16px;font-weight:600}.task-filter-section>summary::-webkit-details-marker{display:none}.task-filter-section>summary:focus-visible{outline:3px solid #ffcba8;outline-offset:2px}.task-filter-section .filter-toggle::before{content:'+';font-size:21px;color:#ff6000;line-height:1}.task-filter-section[open] .filter-toggle::before{content:'−'}.task-filter-section[open]>summary{margin-bottom:12px}.task-filter-section>.hint{margin-bottom:0}

/* Shared header row keeps all worker task lists aligned, even with wrapped names. */
.kanban.workers{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,1fr);grid-template-rows:auto 1fr;align-items:stretch}
.kanban.workers>.lane{display:grid;grid-row:span 2;grid-template-rows:subgrid;min-width:0;max-width:none;padding:0;gap:0}
.workers .worker-head{margin:0;padding:14px 12px;background:#e3edf8;border-bottom:2px solid #b8cde3;min-height:132px}
.workers .lane>.task-drop{padding:12px 9px;align-self:stretch}
.workers .worker-head .workload{line-height:1.6;margin-top:8px}
@media(max-width:600px){.kanban.workers{grid-auto-columns:minmax(295px,1fr)}}

.task-project-date{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.task-project-date>label{min-width:0}@media(max-width:600px){.task-project-date{grid-template-columns:1fr;gap:0}}

#bell{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:39px;padding:7px;background:transparent}#bell .bell-count{flex-shrink:0}

.task-status-select{width:auto;max-width:170px;padding:5px 22px 5px 7px;font-size:12px;background:#f1f6fc;cursor:pointer}.task-current-time{display:block;margin-top:5px;font-size:10px}
.template-row{display:flex;align-items:flex-start;gap:12px;border:1px solid #d7e3ef;border-radius:10px;background:#f7faff;padding:14px;margin-bottom:12px}.template-fields{flex:1;min-width:0}.template-grip{cursor:grab;padding-top:8px}.template-row.dragging{opacity:.5}.template-list-row,.template-save{display:flex;align-items:center;gap:12px;margin:16px 0}.template-list-row>span{flex:1}.site-footer{text-align:center;padding:25px 16px;margin-top:auto;color:#62718a;font-size:12px}.site-footer strong span{color:#fc4f04}.site-footer a:hover{text-decoration:underline}body{min-height:100vh;display:flex;flex-direction:column}body>#app{width:100%}

.worker-avatar.avatar-tone-0{background:hsl(0 65% 90%);color:hsl(0 65% 27%)}.worker-avatar.avatar-tone-1{background:hsl(138 65% 90%);color:hsl(138 65% 27%)}.worker-avatar.avatar-tone-2{background:hsl(275 65% 90%);color:hsl(275 65% 27%)}.worker-avatar.avatar-tone-3{background:hsl(53 65% 90%);color:hsl(53 65% 27%)}.worker-avatar.avatar-tone-4{background:hsl(190 65% 90%);color:hsl(190 65% 27%)}.worker-avatar.avatar-tone-5{background:hsl(328 65% 90%);color:hsl(328 65% 27%)}.worker-avatar.avatar-tone-6{background:hsl(105 65% 90%);color:hsl(105 65% 27%)}.worker-avatar.avatar-tone-7{background:hsl(243 65% 90%);color:hsl(243 65% 27%)}.worker-avatar.avatar-tone-8{background:hsl(20 65% 90%);color:hsl(20 65% 27%)}.worker-avatar.avatar-tone-9{background:hsl(158 65% 90%);color:hsl(158 65% 27%)}.worker-avatar.avatar-tone-10{background:hsl(295 65% 90%);color:hsl(295 65% 27%)}.worker-avatar.avatar-tone-11{background:hsl(73 65% 90%);color:hsl(73 65% 27%)}