.rail-nav{min-height:0;overflow-y:auto;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}.rail-item{flex:0 0 68px}
.auth-mode-button{min-height:38px;border:0;background:transparent;color:var(--accent-dark);font-size:12px;font-weight:800;text-align:center}.auth-mode-button:hover{text-decoration:underline}.activation-code-input{text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}.auth-form label small{display:block;margin-top:6px;line-height:1.45}.form-message.success{background:#eaf4ee;color:#347351}
.demo-badge{margin-left:18px;padding:6px 9px;border:1px solid #efd18c;border-radius:4px;background:#fff4d9;color:#8a6119;font-size:9px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.top-actions{position:relative}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;width:min(380px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 100px));overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 20px 48px rgba(24,36,48,.18);z-index:60}.notification-popover>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line)}.notification-popover>header strong{display:block;margin-top:3px;font-size:13px}.notification-popover>header .icon-btn{width:32px;height:32px}.notification-list{max-height:430px;overflow-y:auto}.notification-item{width:100%;border:0;border-top:1px solid #edf0ef;background:#fff;padding:13px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:10px;align-items:center;text-align:left}.notification-item:first-child{border-top:0}.notification-item:hover{background:#f7f8f7}.notification-item>span:nth-child(2){min-width:0}.notification-item strong{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.notification-item small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4;overflow-wrap:anywhere}.notification-item>svg{width:15px;color:#8a969d}.notification-icon{width:34px;height:34px;border-radius:5px;display:grid;place-items:center;background:#edf1f2;color:#64727a}.notification-icon svg{width:17px}.notification-icon.danger{background:#fff0ee;color:var(--danger)}.notification-icon.warning{background:#fff5df;color:#9b6718}.notification-empty{min-height:150px;display:grid;place-content:center;justify-items:center;color:var(--muted);text-align:center;padding:24px}.notification-empty svg{width:26px}.notification-empty p{margin:10px 0 0;font-size:10px}
.metric>.metric-icon{display:grid;place-items:center;margin-top:0;color:var(--accent)}.metric>.metric-icon.blue{color:var(--blue)}.metric>.metric-icon.gold{color:#a56e18}.metric>.metric-icon.green{color:var(--green)}.metric>.metric-icon svg{display:block;width:20px;height:20px;margin:0}.metric>span:nth-child(2){min-width:0;margin-top:0}.metric>span:nth-child(2)>span{margin-top:6px}
.task-card{position:relative;overflow:visible}.task-card-menu{width:28px;height:28px;margin:-7px -7px 0 auto;padding:0;display:grid;place-items:center;border-radius:4px}.task-card-menu:hover,.task-card-menu[aria-expanded="true"]{background:#eef1f0;color:var(--ink)}.task-card-menu svg{width:17px;height:17px}.task-context-menu{position:absolute;z-index:12;top:38px;right:9px;width:172px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 30px rgba(19,34,45,.16)}.task-context-menu button{width:100%;min-height:35px;padding:0 9px;display:flex;align-items:center;gap:9px;border:0;border-radius:4px;background:transparent;text-align:left;font-size:11px;font-weight:700}.task-context-menu button:hover{background:#f2f4f3}.task-context-menu button.danger{color:var(--danger)}.task-context-menu svg{width:15px;height:15px;flex:none}.task-card-meta .task-assignees-mini{display:flex;align-items:center;gap:0}.task-card-meta .mini-avatar{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;padding:0;line-height:1;text-align:center}.task-assignees-mini .mini-avatar:first-child{margin-left:0}
.task-card-type{display:block;margin:7px 0 2px;color:#687982;font-size:9px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.task-card-type+h3{margin-top:3px}
.task-card-dates{display:grid;gap:3px;margin:-4px 0 10px}.task-card-dates span{display:flex;align-items:center;gap:5px;color:#849198;font-size:8px;font-weight:700;line-height:1.35}.task-card-dates svg{width:12px;height:12px;flex:none}
.waiting-note{margin-top:9px;padding:7px;border-radius:4px;background:#eef2f3;color:#61717a;font-size:9px}
.my-task-copy{min-width:0}.task-card-flags{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.running-task-indicator{min-height:25px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;font-weight:800;white-space:nowrap}.running-task-indicator svg{width:13px;height:13px}.my-task-row.task-running{border-color:#ef8d83;background:#fff8f6;box-shadow:inset 4px 0 0 var(--accent),0 8px 20px rgba(239,98,83,.12)}.my-task-row.task-running .task-status-icon{background:var(--accent);color:#fff}.my-task-row.task-running h3{color:#9f372e}
.task-filter-wrap{position:relative}.task-filter-wrap>.btn.active,.task-filter-wrap>.btn[aria-expanded="true"]{border-color:#9daaad;background:#eef1f0}.filter-count{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:#fff;font-size:8px}.task-filter-popover{position:absolute;z-index:25;top:calc(100% + 8px);right:0;width:350px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 18px 42px rgba(19,34,45,.16)}.task-filter-popover>header{height:49px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.task-filter-popover>header strong{font-size:12px}.task-filter-popover .icon-btn{width:30px;height:30px}.task-filter-fields{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-filter-fields label{font-size:10px}.task-filter-fields select{min-height:38px;padding:8px 10px;font-size:10px}.task-filter-popover>footer{padding:11px 13px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.task-filter-popover>footer svg{width:14px}
.steel-page-head{align-items:center}.steel-project-picker{width:min(330px,100%);font-size:11px}
.steel-workbench{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:var(--shadow)}.steel-workbench>header{min-height:70px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.steel-workbench h2{font-size:16px;margin:4px 0 0}
.steel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.service-state{font-size:9px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eef1f2;color:#66747c}.service-state.online{background:#e8f4ec;color:#397653}.service-state.offline{background:#fff0ee;color:#a94139}.service-state.pending{background:#fff5df;color:#9a691d}.service-state.local{background:#e9eff7;color:#426b9e}
.workshop-version-badge{min-height:27px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #cbd5d8;border-radius:4px;background:#fff;color:#334a54;font-size:9px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.workshop-version-badge.is-development{border-color:#e5ca84;background:#fff7df;color:#855f19}
.steel-frame-wrap{position:relative;height:calc(100vh - 330px);min-height:520px;background:#f4f5f3}.steel-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff}.steel-frame-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;justify-items:center;padding:30px;background:#f4f5f3;color:var(--muted)}.steel-frame-placeholder svg{width:42px;height:42px;color:#95a0a5}.steel-frame-placeholder h3{font-size:16px;color:var(--ink);margin:14px 0 5px}.steel-frame-placeholder p{font-size:11px;margin:0}
.steel-actions .is-loading svg{animation:steel-reload-spin .8s linear infinite}.steel-workbench.is-fullscreen{position:fixed;inset:0;z-index:150;border:0;border-radius:0;display:flex;flex-direction:column}.steel-workbench.is-fullscreen>header{flex:0 0 auto}.steel-workbench.is-fullscreen .steel-frame-wrap{flex:1 1 auto;height:auto;min-height:0}.steel-fullscreen-open{overflow:hidden}@keyframes steel-reload-spin{to{transform:rotate(360deg)}}
.catalog-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.catalog-stats>div{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px;display:grid;grid-template-columns:35px 1fr;column-gap:10px;align-items:center}.catalog-stats>div>span{grid-row:1/3;width:35px;height:35px;display:grid;place-items:center;background:#eef2f0;color:#46675a;border-radius:5px}.catalog-stats strong{font-size:19px;line-height:1}.catalog-stats small{font-size:9px;color:var(--muted)}
.catalog-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.catalog-search{margin-left:auto;width:min(300px,100%)}.catalog-panel{padding:0;overflow:hidden}.catalog-table{overflow-x:auto}
.catalog-row{display:grid;grid-template-columns:70px 150px 180px minmax(260px,1fr) 42px;gap:12px;align-items:center;min-width:790px;padding:10px 14px;border-top:1px solid #edf0ef;font-size:10px}.catalog-row:first-child{border-top:0}.catalog-row strong,.catalog-row span{overflow-wrap:anywhere}.catalog-row b{font-size:9px;color:var(--muted)}.catalog-header-row{background:#f5f6f4;color:#7b888f;font-size:8px;font-weight:800;text-transform:uppercase}.inventory-table .catalog-row{grid-template-columns:110px minmax(250px,1fr) 170px 130px 42px}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reference-grid section{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.reference-grid section:nth-child(2n){border-right:0}.reference-grid section header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.reference-grid section header strong{font-size:12px}.reference-grid section header span{font-size:9px;background:#eef1ef;border-radius:999px;padding:4px 7px}
.reference-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:41px;border-top:1px solid #edf0ef;font-size:10px}.reference-row span{overflow-wrap:anywhere}.reference-row .icon-btn,.catalog-row .icon-btn{width:30px;height:30px}.reference-row svg,.catalog-row svg{width:14px}
.catalog-task-table .catalog-row{grid-template-columns:70px 145px 165px minmax(240px,1fr) 72px 42px}.catalog-subtype-table .catalog-row{grid-template-columns:70px minmax(180px,.8fr) minmax(260px,1.2fr) 80px 42px}.inventory-table .catalog-row{grid-template-columns:110px minmax(220px,1fr) 150px 155px 120px 72px 42px}.catalog-state{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#e9f3ed;color:#347351;font-size:8px;font-weight:800}.catalog-state.inactive{background:#eff1f2;color:#68757e}.catalog-inactive{opacity:.62;background:#fafafa}.catalog-fixed-note{margin:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #dce5e1;border-radius:6px;background:#f5f8f6;color:#45675a}.catalog-fixed-note>svg{width:18px;flex:none}.catalog-fixed-note span{display:grid;gap:2px}.catalog-fixed-note strong{font-size:10px}.catalog-fixed-note small{font-size:8px;color:var(--muted)}.reference-row{min-height:46px}.reference-row>span{display:grid;gap:2px}.reference-row small{font-size:7px;color:var(--muted)}.catalog-edit-modal{width:min(840px,100%)}.catalog-detail-fields{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fafbfa}.catalog-common-fields .toggle-row{align-self:end;min-height:64px}
.person-head>span:nth-child(2){min-width:0;flex:1}.person-actions{display:flex!important;flex:none!important;gap:6px}.person-actions .icon-btn{width:34px;height:34px}.person-actions svg,.person-edit svg{width:15px}.person-actions .icon-btn:disabled{cursor:not-allowed;opacity:.35}.person-edit{flex:none;width:34px;height:34px}.person-inactive{opacity:.68;background:#f7f8f7}.toggle-row{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:6px;padding:12px}.toggle-row input{width:18px;min-height:18px;margin:2px 0 0;flex:none}.toggle-row span{display:grid;gap:3px}.toggle-row strong{font-size:11px}.toggle-row small{line-height:1.4}.activation-result{padding:16px;border:1px solid #efd79f;border-radius:6px;background:#fff8e8;text-align:center}.activation-result>strong{display:block;margin:8px 0 6px;font-size:24px;letter-spacing:.08em;overflow-wrap:anywhere}.activation-result>p{margin:0;color:#74613b;font-size:10px}.confirm-content{padding:24px;display:grid;gap:16px;text-align:center}.confirm-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#fff0ee;color:var(--danger)}.confirm-icon.activation-reset-icon{background:#fff4d9;color:#93661c}.confirm-icon svg{width:28px;height:28px}.confirm-content p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.work-clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.time-category-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0}.time-category-strip span{min-width:0;padding:9px 5px;border:1px solid var(--line);border-radius:5px;background:#f7f8f7}.time-category-strip b{display:block;font-size:11px;overflow-wrap:anywhere}.time-category-strip small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.status-pill.paused{background:#fff5df;color:#966419}.manager-time-admin{display:grid;gap:18px;margin-top:18px;min-width:0}.manager-time-admin>*{min-width:0}.time-report-panel{width:100%;max-width:100%;min-width:0;overflow:hidden}.time-report-panel .panel-head,.time-report-toolbar{width:100%;max-width:100%;min-width:0}.time-report-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.time-report-toolbar input{width:190px;min-height:39px}.time-report-table{width:100%;max-width:100%;min-width:0;overflow-x:auto}.time-report-row{display:grid;grid-template-columns:minmax(170px,1.3fr) repeat(8,minmax(105px,1fr));gap:10px;align-items:center;width:max-content;min-width:1080px;padding:11px 8px;border-top:1px solid #edf0ef;font-size:10px}.time-report-row>span{overflow-wrap:anywhere}.time-report-row strong{display:block;font-size:11px}.time-report-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.time-report-head{border-top:0;background:#f5f6f4;color:#6f7d85;font-size:8px;font-weight:800;text-transform:uppercase}.time-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact-form{display:grid;gap:10px}.compact-form label{font-size:10px}.compact-list{display:grid;margin-top:14px}.compact-list-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf0ef}.compact-list-row strong{display:block;font-size:10px;overflow-wrap:anywhere}.compact-list-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px;overflow-wrap:anywhere}.compact-list-row .icon-btn{width:32px;height:32px}.compact-list-row svg{width:14px}
@media(max-width:1100px){.catalog-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.steel-page-head{align-items:stretch}.steel-project-picker{width:100%}.steel-workbench>header{align-items:flex-start;flex-direction:column}.steel-actions{width:100%}.steel-actions .btn{flex:1}.steel-frame-wrap{height:70vh;min-height:480px}.catalog-stats{grid-template-columns:1fr 1fr}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-tabs{width:100%;overflow-x:auto}.catalog-tabs button{flex:1}.catalog-search{width:100%;margin:0}.reference-grid{grid-template-columns:1fr}.reference-grid section{border-right:0}.catalog-row{min-width:720px}.time-admin-grid{grid-template-columns:1fr}.time-report-panel .panel-head{align-items:flex-start;flex-direction:column}.time-report-panel .panel-head .btn{width:100%}.time-report-toolbar{align-items:stretch;flex-direction:column}.time-report-toolbar .segmented,.time-report-toolbar input{width:100%}.time-report-toolbar .segmented button{flex:1}}
@media(max-width:390px){.catalog-stats{grid-template-columns:1fr}.steel-actions .service-state{width:100%}.steel-actions .btn{font-size:10px;padding:0 8px}.confirm-actions,.work-clock-actions{grid-template-columns:1fr}.time-category-strip{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{gap:14px;padding-left:14px;padding-right:14px}.mobile-menu{flex:none;margin-right:2px}.breadcrumb{min-width:0}.breadcrumb strong{overflow-wrap:anywhere}.clock-ring strong{font-size:22px}}
@media(max-width:760px){.top-actions>#notification-button{display:inline-grid}.notification-popover{position:fixed;top:72px;right:12px;left:12px;width:auto;max-height:calc(100vh - 84px)}}
@media(max-width:760px){#project-archive-btn{flex:0 0 42px;padding:0}#project-archive-btn span{display:none}}
@media(max-width:760px){.task-filter-wrap{margin-left:auto}.task-filter-popover{position:fixed;top:128px;right:12px;left:12px;width:auto}.task-filter-fields{grid-template-columns:1fr}}
@media(max-width:760px){.my-task-row{grid-template-columns:44px minmax(0,1fr)}.task-card-flags{grid-column:2;justify-content:flex-start}.my-task-row.task-running{padding-left:16px}}

.btn:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.modal-medium{width:min(680px,100%)}.workflow-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:22px;padding:3px 8px;border-radius:999px;font-size:8px;font-weight:800;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.workflow-pill.review{background:#fff1d7;color:#916019}.workflow-pill.blockage{background:#ffe8e5;color:#a43b33}.task-card.task-review-pending{border-color:#e8c677}.task-card.task-blockage-active{border-color:#e4968f;box-shadow:inset 3px 0 0 var(--danger)}.worker-task-actions{grid-column:2/-1;display:flex;align-items:center;gap:8px;padding-top:11px;border-top:1px solid #edf0ef}.worker-task-actions .btn{min-height:36px}.btn-complete-report{background:#e8f3ec;border-color:#bcd8c6;color:#2e714e}.btn-complete-report:hover:not(:disabled){background:#dcece2}.btn-blockage-report{background:#fff3e4;border-color:#edcf9d;color:#8b5c18}.btn-blockage-report:hover:not(:disabled){background:#ffead0}.focus-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workflow-banner{margin:14px 0;padding:11px 12px;border-radius:5px;font-size:10px;font-weight:700}.workflow-banner.review{background:#fff4dc;color:#875b1b}.workflow-banner.blockage{display:grid;gap:4px;background:#fff0ee;color:#9d3c34}.workflow-banner.blockage span{font-weight:500}.task-report-summary{padding:14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:5px;background:#f8f9f8}.task-report-summary strong{display:block;font-size:13px;overflow-wrap:anywhere}.task-report-summary p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.workflow-review-box{margin:20px;padding:16px;border:1px solid #ead5a8;border-radius:6px;background:#fffaf0}.workflow-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.workflow-timeline{padding:4px 20px 22px}.workflow-event{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:15px 0;border-top:1px solid #edf0ef}.workflow-event:first-child{border-top:0}.workflow-event-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3ef;color:#347351}.workflow-event-icon svg{width:16px;height:16px}.workflow-event.blockage_reported .workflow-event-icon,.workflow-event.completion_rejected .workflow-event-icon{background:#fff0ee;color:var(--danger)}.workflow-event.completion_reported .workflow-event-icon{background:#fff4dc;color:#95631c}.workflow-event strong{display:block;font-size:11px}.workflow-event p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.workflow-event blockquote{margin:8px 0 0;padding:9px 10px;border-left:3px solid #d8dedd;background:#f7f8f7;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.task-card-approve{width:100%;min-height:34px;margin-top:11px;border:1px solid #e6bd5e;border-radius:5px;background:#f7d97d;color:#513c0b;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800}.task-card-approve:hover{background:#f3ce5d;box-shadow:0 6px 16px rgba(182,133,25,.2)}.task-card-approve svg{width:15px;height:15px}.btn-task-history{background:#f4f6f5;border-color:#dce2df;color:#53636b}.focus-report-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.completion-cta-pressed{animation:completion-cta-glow .7s ease-out;pointer-events:none}.completion-success-burst{position:fixed;z-index:200;left:50%;top:50%;transform:translate(-50%,-50%);min-width:190px;padding:24px 28px;border:1px solid #e5bf5e;border-radius:8px;background:#fff9df;box-shadow:0 22px 60px rgba(128,91,9,.24);display:grid;justify-items:center;gap:10px;color:#5f470e;animation:completion-success-in .42s cubic-bezier(.2,.8,.2,1) both}.completion-success-burst span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f5d268;box-shadow:0 0 0 0 rgba(245,210,104,.6);animation:completion-success-ring .8s ease-out .15s}.completion-success-burst svg{width:29px;height:29px;stroke-width:3}.completion-success-burst strong{font-size:14px}.completion-success-burst.leaving{animation:completion-success-out .3s ease-in forwards}@keyframes completion-cta-glow{0%{background:#e8f3ec;box-shadow:0 0 0 0 rgba(245,199,72,0);transform:scale(1)}35%{background:#f8d96d;border-color:#e6b731;box-shadow:0 0 0 7px rgba(245,199,72,.28),0 0 24px rgba(245,199,72,.5);transform:scale(1.025)}100%{background:#fff2bd;box-shadow:0 0 0 14px rgba(245,199,72,0);transform:scale(1)}}@keyframes completion-success-in{from{opacity:0;transform:translate(-50%,-46%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes completion-success-ring{0%{transform:scale(.72);box-shadow:0 0 0 0 rgba(245,210,104,.65)}60%{transform:scale(1.08);box-shadow:0 0 0 13px rgba(245,210,104,0)}100%{transform:scale(1)}}@keyframes completion-success-out{to{opacity:0;transform:translate(-50%,-54%) scale(.94)}}
@media(max-width:760px){.worker-task-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.worker-task-actions .btn,.focus-report-actions .btn{min-width:0;padding:7px 8px;white-space:normal;line-height:1.25}.workflow-review-box{margin:16px}.workflow-review-actions{display:grid;grid-template-columns:1fr}.workflow-timeline{padding:2px 16px 18px}}
@media(max-width:760px){.worker-task-actions .btn-task-history{grid-column:1/-1}.focus-report-actions{grid-template-columns:1fr 1fr}.focus-report-actions .btn-task-history{grid-column:1/-1}.completion-success-burst{min-width:170px;padding:20px 24px}}
@media(prefers-reduced-motion:reduce){.completion-cta-pressed,.completion-success-burst,.completion-success-burst span,.completion-success-burst.leaving{animation-duration:.01ms;animation-iteration-count:1}}
.workflow-pill.returned{background:#ffe8e5;color:#a43b33}.workflow-banner.returned{background:#fff0ee;color:#943d35}
.my-task-layout{display:block}.my-task-list{width:100%}.worker-task-actions{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto}.btn-task-timer{background:#edf3fb;border-color:#c7d7ea;color:#315f91}.btn-task-timer:hover:not(:disabled){background:#e1ecf8}.btn-task-timer.running{background:#3e8b62;border-color:#3e8b62;color:#fff;box-shadow:0 6px 16px rgba(62,139,98,.2)}.worker-task-tools{display:flex;align-items:center;gap:6px}.worker-task-tools .icon-btn{width:36px;height:36px}.worker-task-tools svg{width:16px;height:16px}.my-task-row.task-running{position:relative;border-color:#72b18e;background:#eff9f3;box-shadow:inset 5px 0 0 #3e8b62,0 8px 24px rgba(62,139,98,.14)}.my-task-row.task-running .task-status-icon{background:#3e8b62;color:#fff}.my-task-row.task-running h3{color:#286b49}.my-task-row.task-running .running-task-indicator{background:#3e8b62}.my-task-row.task-running:after{content:"";position:absolute;top:13px;right:13px;width:8px;height:8px;border-radius:50%;background:#3e8b62;box-shadow:0 0 0 0 rgba(62,139,98,.45);animation:running-task-pulse 1.8s ease-out infinite}@keyframes running-task-pulse{70%{box-shadow:0 0 0 8px rgba(62,139,98,0)}100%{box-shadow:0 0 0 0 rgba(62,139,98,0)}}
@media(max-width:900px){.worker-task-actions{grid-template-columns:1fr 1fr}.worker-task-tools{grid-column:1/-1}}
@media(max-width:760px){.worker-task-actions .btn-task-history{grid-column:auto}.worker-task-tools{justify-content:flex-end}.my-task-row.task-running:after{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.my-task-row.task-running:after{animation:none}}
.time-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-detail-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:12px;margin-bottom:14px}.time-detail-toolbar label{font-size:10px}.time-detail-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.time-detail-summary span{min-width:0;padding:12px;border:1px solid var(--line);border-radius:5px;background:#f7f8f7}.time-detail-summary small{display:block;color:var(--muted);font-size:7px;font-weight:800}.time-detail-summary strong{display:block;margin-top:5px;font-size:13px;overflow-wrap:anywhere}.time-detail-table{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.time-detail-row{display:grid;grid-template-columns:90px 140px repeat(8,88px) minmax(280px,1fr);gap:9px;align-items:center;min-width:1300px;padding:10px 12px;border-top:1px solid #edf0ef;font-size:9px}.time-detail-row:first-child{border-top:0}.time-detail-row>span{min-width:0;overflow-wrap:anywhere}.time-detail-row strong{display:block;font-size:10px}.time-detail-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.time-detail-row.muted{color:#9aa4a8;background:#fafbfa}.time-detail-head{background:#f2f4f3;color:#6e7b82;font-size:7px;font-weight:800;text-transform:uppercase;position:sticky;top:0}.daily-status{display:inline-flex;max-width:100%;padding:4px 6px;border-radius:4px;background:#edf2ef;color:#486558;font-size:8px;line-height:1.3}.daily-tasks{line-height:1.45}.shifted-days-panel .shifted-day-form{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;align-items:end}.shifted-days-panel .compact-list{max-width:760px}
.phase-head-button{width:100%;min-height:28px;padding:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;text-align:left;color:inherit}.phase-head-button:hover strong{text-decoration:underline;text-underline-offset:3px}.phase-head-button span{margin-left:auto;background:#fff;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:9px;font-weight:800}.status-matrix-view{min-width:0}.status-matrix-shell{display:grid;gap:10px}.status-matrix-toolbar,.status-matrix-empty>header{min-height:52px;padding:10px 12px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.status-matrix-toolbar>span{display:grid;gap:2px}.status-matrix-toolbar small{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.status-matrix-toolbar strong{font-size:13px}.status-matrix-toolbar>b{margin-left:auto;min-width:28px;min-height:28px;padding:6px 9px;border-radius:999px;background:#eef1f0;color:#53636b;font-size:9px;display:grid;place-items:center}.status-matrix-board{position:relative;isolation:isolate;min-height:560px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;scrollbar-color:#aeb5b7 transparent}.status-matrix-grid{position:relative;display:grid;grid-template-columns:170px repeat(var(--matrix-columns),190px);min-width:100%}.status-matrix-corner,.status-matrix-type-head,.status-matrix-subtype-head{position:sticky;z-index:6;min-height:48px;padding:10px;border-right:1px solid #e4e8e6;border-bottom:1px solid #e4e8e6;background:#f4f6f5;color:#5f6e75;font-size:8px;font-weight:800;text-transform:uppercase}.status-matrix-corner{left:0;top:0;z-index:9}.status-matrix-type-head{top:0;display:flex;align-items:center;overflow-wrap:anywhere;line-height:1.3}.status-matrix-subtype-head{left:0;z-index:7;min-height:110px;display:flex;flex-direction:column;justify-content:center;gap:4px;text-transform:none;color:var(--ink)}.status-matrix-subtype-head strong{font-size:10px;line-height:1.35;overflow-wrap:anywhere}.status-matrix-subtype-head small{color:var(--muted);font-size:8px;line-height:1.35}.status-matrix-cell{position:relative;min-height:110px;padding:8px;border-right:1px solid #edf0ef;border-bottom:1px solid #edf0ef;background:#fff}.status-matrix-cell.drag-over,.status-matrix-subtype-head.drag-over{outline:2px solid var(--accent);outline-offset:-2px;background:#fff6f4}.status-matrix-task-card{position:relative;z-index:4;width:100%;min-height:66px;height:auto;margin-bottom:7px}.status-matrix-board.dependency-linking .dependency-handle-input{border-color:#87a5c8;background:#f4f8fd;color:#537fc1}.status-matrix-board.dependency-linking .dependency-handle-input.dependency-target{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 5px rgba(239,98,83,.16);transform:translateY(-50%) scale(1.15)}.status-matrix-empty{display:grid;gap:10px}
@media(max-width:760px){.status-matrix-toolbar,.status-matrix-empty>header{align-items:stretch;flex-direction:column}.status-matrix-toolbar .btn,.status-matrix-empty .btn{width:100%}.status-matrix-toolbar>b{margin-left:0;width:max-content}.status-matrix-board{min-height:470px}.status-matrix-grid{grid-template-columns:135px repeat(var(--matrix-columns),170px)}.status-matrix-corner,.status-matrix-type-head{min-height:44px}.status-matrix-subtype-head,.status-matrix-cell{min-height:116px}.status-matrix-subtype-head{padding:8px}.status-matrix-task-card{min-height:70px}}
.status-flow-board{min-height:640px;background-color:#fbfbfa;background-image:radial-gradient(#cfd5d2 1px,transparent 1px);background-size:18px 18px;border-color:#d5dbd8}.status-flow-canvas{position:relative;min-width:100%;min-height:100%}.status-flow-type{position:absolute;z-index:4;min-height:44px;padding:9px 8px;display:grid;place-items:center;border:1px solid #aeb8b7;border-radius:2px;background:#fff;color:#27343b;text-align:center;font-size:8px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;box-shadow:0 1px 0 rgba(19,34,45,.04)}.status-flow-lane{position:absolute;z-index:1;left:0;right:0;border-top:1px solid rgba(116,128,132,.18)}.status-flow-lane:last-of-type{border-bottom:1px solid rgba(116,128,132,.18)}.status-flow-lane>span{position:sticky;left:16px;top:8px;width:122px;min-height:52px;padding:8px 9px;display:flex;flex-direction:column;justify-content:center;gap:4px;background:rgba(255,255,255,.88);border:1px solid #d9dfdc;border-radius:3px;color:#1f2d34}.status-flow-lane strong{font-size:9px;line-height:1.25;overflow-wrap:anywhere}.status-flow-lane small{color:#68777e;font-size:7px;line-height:1.3}.status-flow-lane.drag-over>span{border-color:var(--accent);background:#fff6f4;box-shadow:0 0 0 3px rgba(239,98,83,.12)}.status-flow-node{position:absolute;z-index:5;padding:12px 8px 10px;display:grid;align-content:center;gap:3px;border:1px solid #96a2a2;border-left-width:1px;border-radius:2px;background:#fff;color:#182832;text-align:center;box-shadow:0 1px 0 rgba(19,34,45,.05);cursor:pointer;touch-action:none}.status-flow-node[draggable=true]{cursor:grab}.status-flow-node.dragging{opacity:.42}.status-flow-node b{color:#728087;font-size:7px}.status-flow-node small{color:#7f8b90;font-size:7px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-flow-node strong{font-size:8px;line-height:1.25;overflow-wrap:anywhere}.status-flow-node.progress{border-color:#537fc1;border-left-width:3px}.status-flow-node.waiting{border-color:#e9ad47;border-left-width:3px;background:#fffdf7}.status-flow-node.done{border-color:#4f9b73;border-left-width:3px;background:#fbfefc}.status-flow-node.blocked{border-color:#d64e47;border-left-width:3px;background:#fffafa}.status-flow-handle-input,.status-flow-handle-output{top:50%;width:13px;height:24px;min-height:0;transform:translateY(-50%);border-radius:7px}.status-flow-handle-input{left:-8px;right:auto}.status-flow-handle-output{left:auto;right:-8px}.status-flow-handle-input:hover,.status-flow-handle-input.active,.status-flow-handle-output:hover,.status-flow-handle-output.active{transform:translateY(-50%) scale(1.08)}.status-flow-board.dependency-linking .status-flow-handle-input.dependency-target{transform:translateY(-50%) scale(1.15)}.status-flow-board .compact-dependency-line{stroke:#5f6d72;stroke-width:1.25;opacity:.78}.status-flow-board .compact-dependency-draft{stroke-width:1.7}
@media(max-width:760px){.status-flow-board{min-height:560px}.status-flow-type{min-height:40px;font-size:7px}.status-flow-lane>span{width:108px;left:10px}.status-flow-node{padding:11px 7px 9px}.status-flow-node strong{font-size:7px}}
.status-flow-node.progress{height:auto;margin-top:0;overflow:visible}
.status-flow-content{position:relative;transform-origin:0 0}.status-flow-zoom{display:flex;align-items:center;gap:4px;margin-left:6px;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.status-flow-zoom button{height:30px;min-width:44px;border:0;border-left:1px solid var(--line);background:#fff;font-size:9px;font-weight:800}.status-flow-zoom button:first-child{border-left:0}.status-flow-zoom button.active{background:#192432;color:#fff}.status-flow-node{overflow:visible}.status-flow-progress{position:relative;height:12px;margin-top:4px;border:1px solid #d9dfdc;border-radius:999px;background:#f2f4f3;overflow:hidden}.status-flow-progress i{position:absolute;inset:0 auto 0 0;width:var(--task-progress,0%);border-radius:999px;background:#9aa8ad}.status-flow-progress.done i{background:#4f9b73}.status-flow-progress.reported i{background:#e9ad47}.status-flow-progress.partial i{background:#537fc1}.status-flow-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;color:#26343b;font-size:6px;font-weight:800;line-height:1}.status-flow-progress.empty span{color:#7e8b91}.status-flow-lane>span{width:132px}.status-flow-lane>span strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.status-flow-board .status-flow-lane{z-index:1}.status-flow-board .status-flow-node{z-index:6}.status-flow-board .dependency-handle{z-index:7}.status-flow-board .compact-dependency-line{opacity:.56}
.status-flow-board .compact-dependency-layer{z-index:1;pointer-events:none}.status-flow-board .status-flow-canvas{position:relative;z-index:2}.status-flow-board .status-flow-content{position:relative;z-index:2}.status-flow-board .status-flow-handle-input,.status-flow-board .status-flow-handle-output{left:50%;right:auto;width:24px;height:13px;transform:translateX(-50%);border-radius:7px}.status-flow-board .status-flow-handle-input{top:-8px}.status-flow-board .status-flow-handle-output{top:auto;bottom:-8px}.status-flow-board .status-flow-handle-input:hover,.status-flow-board .status-flow-handle-input.active,.status-flow-board .status-flow-handle-output:hover,.status-flow-board .status-flow-handle-output.active{transform:translateX(-50%) scale(1.08)}.status-flow-board.dependency-linking .status-flow-handle-input.dependency-target{transform:translateX(-50%) scale(1.15)}
.task-general-description-status{min-height:54px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:6px;background:#f8faf9}.task-general-description-status>span{display:grid;gap:3px}.task-general-description-status small{color:var(--muted);font-size:8px;font-weight:800}.task-general-description-status strong{color:#7a878d;font-size:11px}.task-general-description-status strong.uploaded{color:#347351}.task-general-description-link{padding:0;border:0;background:transparent;color:#426b8b;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.task-general-description-text{max-height:min(62vh,620px);margin:0 18px;padding:16px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#f8faf9;color:var(--ink);font-size:11px;line-height:1.65;white-space:pre-wrap}.task-focus-general-description{margin:12px 0;padding:14px;border-left:3px solid #537fc1;background:#f4f8fb}.task-focus-general-description small{color:#62747d;font-size:8px;font-weight:800}.task-focus-general-description p{margin:8px 0 0;white-space:pre-wrap;line-height:1.6}

/* 14:30 utáni munkaidő módok */
.after-shift-content{padding:22px;display:grid;gap:10px}.after-shift-content>p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.55}.after-shift-option{width:100%;min-height:76px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:12px;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;text-align:left}.after-shift-option:hover{border-color:#b8c1c2;background:#fafbfa}.after-shift-option>span{width:42px;height:42px;border-radius:6px;display:grid;place-items:center}.after-shift-option>span svg{width:21px}.after-shift-option>strong{font-size:13px;min-width:0}.after-shift-option small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:600;line-height:1.45}.after-shift-option>svg{width:17px;color:var(--muted)}.close-work>span{background:#fff0ee;color:var(--danger)}.travel-work>span{background:#fff4d9;color:#976619}.overtime-work>span{background:#eaf2f8;color:#426b8b}.after-shift-active-label{width:max-content;max-width:100%;margin:10px auto 4px;padding:6px 10px;border-radius:999px;display:flex;align-items:center;gap:6px;background:#fff4d9;color:#8b601c;font-size:9px;font-weight:800}.after-shift-active-label svg{width:15px;height:15px}.work-clock.after-shift-overtime .after-shift-active-label{background:#eaf2f8;color:#426b8b}.work-clock.after-shift-travel .clock-ring{background:conic-gradient(#e9ad47 var(--clock-progress,0%),#e9edeb 0)}.work-clock.after-shift-overtime .clock-ring{background:conic-gradient(#537fc1 var(--clock-progress,0%),#e9edeb 0)}
.time-category-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.time-report-row{grid-template-columns:minmax(170px,1.3fr) repeat(9,minmax(105px,1fr));min-width:1195px}.time-detail-summary{grid-template-columns:repeat(7,minmax(0,1fr))}.time-detail-row{grid-template-columns:90px 140px repeat(9,88px) minmax(280px,1fr);min-width:1395px}
@media(max-width:760px){.after-shift-content{padding:16px}.after-shift-option{min-height:72px}.time-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.time-detail-summary{grid-template-columns:repeat(3,1fr)}.shifted-days-panel .shifted-day-form{grid-template-columns:1fr 1fr}.shifted-days-panel .shifted-day-form .btn{grid-column:1/-1}}
@media(max-width:760px){.time-detail-panel .panel-head{align-items:stretch}.time-detail-actions{display:grid;grid-template-columns:1fr}.time-detail-toolbar{grid-template-columns:1fr}.time-detail-summary{grid-template-columns:1fr 1fr}.shifted-days-panel .shifted-day-form{grid-template-columns:1fr}.shifted-days-panel .shifted-day-form .btn{grid-column:auto}}
@media(max-width:760px){.demo-badge{margin-left:8px;padding:5px 7px;font-size:8px}}

/* Távollét- és betegszabadság-kezelés */
.leave-panel-head{align-items:flex-start}.leave-filters{flex:none}.leave-row>span:nth-child(2){display:grid;gap:5px}.leave-row-conflict{background:#fffaf0}.leave-conflict-note{display:inline-flex;align-items:center;gap:5px;color:#9b6414!important;font-weight:800;line-height:1.35}.leave-conflict-note svg{width:13px;height:13px;flex:none}.absence-type-badge{display:inline-flex;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#eef1f1;color:#53636c;font-size:8px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.absence-type-badge.annual_leave{background:#e9f3ed;color:#347351}.absence-type-badge.sick_leave{background:#fff0ee;color:#a94139}.sick-leave-summary{width:100%;margin-top:16px;padding:12px;border:1px solid #f0d4d1;border-radius:6px;background:#fff7f6;display:flex;align-items:center;gap:10px;text-align:left;color:#9d433d}.sick-leave-summary svg{width:20px;flex:none}.sick-leave-summary span{display:grid;gap:3px}.sick-leave-summary strong{font-size:11px}.sick-leave-summary small{color:#806b69;font-size:8px;line-height:1.4}.absence-type-fields{display:grid;gap:12px}.absence-type-table .catalog-row{grid-template-columns:minmax(180px,1.2fr) minmax(140px,1fr) minmax(120px,.8fr) 90px 34px}.time-report-row{grid-template-columns:minmax(170px,1.3fr) repeat(10,minmax(105px,1fr));min-width:1300px}.time-detail-summary{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:760px){.leave-panel-head{align-items:stretch;flex-direction:column}.leave-filters{width:100%;overflow-x:auto}.leave-filters button{flex:1}.leave-row{grid-template-columns:1fr}.leave-row>span:last-child{display:flex;gap:6px}.leave-row>span:last-child .btn{flex:1}.absence-type-table .catalog-row{min-width:720px}.time-detail-summary{grid-template-columns:1fr 1fr}}

.dependency-task-type{display:block;width:max-content;max-width:100%;margin:0 0 6px;padding:3px 6px;border-radius:4px;background:#eaf2f8;color:#426b8b;font-size:8px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}

.task-card-top{min-width:0;align-items:center}.task-card-creator{min-width:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:#8a969c;font-size:7px;font-weight:700;line-height:1}.task-card-creator>span{min-width:0;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-creator svg{width:11px;height:11px;flex:none}.task-card-top .task-card-menu{margin-left:2px;flex:none}
.task-log-badge{min-width:0;display:inline-flex;align-items:center;gap:5px;flex:none;color:#829096;font-size:7px;font-weight:800;line-height:1;white-space:nowrap}.task-log-badge i{width:6px;height:6px;flex:none;border-radius:50%;background:#aeb8bb;box-shadow:0 0 0 2px rgba(135,148,153,.1)}.task-log-badge.logged{color:#397556}.task-log-badge.logged i{background:#4f9b73;box-shadow:0 0 0 2px rgba(79,155,115,.12)}.task-log-badge.compact{margin-left:auto}.task-log-badge.compact>span{display:none}.task-card-top>.task-card-code+.task-log-badge{margin-left:auto}.manager-task-main .task-log-badge{flex:none}.worker-task-summary .task-log-badge{min-height:22px;padding:0 7px;border:1px solid #e2e7e5;border-radius:999px;background:#f7f9f8}.worker-task-summary .task-log-badge.logged{border-color:#d4e6db;background:#f1f8f4}
.dependency-fieldset{min-width:0;padding:16px!important}.dependency-fieldset legend{padding:0 6px;font-size:12px;font-weight:800}.dependency-intro{margin:0 0 12px;color:var(--muted);font-size:10px;line-height:1.45}.dependency-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:252px;overflow:auto;padding:2px}.dependency-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:11px!important;min-width:0;padding:12px!important;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.dependency-option:hover{border-color:#91a4aa;background:#f8faf9}.dependency-option:has(input:checked){border-color:#4b8b6c;background:#f0f8f4;box-shadow:inset 3px 0 0 #4b8b6c}.dependency-option input[type="checkbox"]{appearance:auto!important;position:static!important;display:block!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;transform:none!important;flex:0 0 18px}.dependency-copy{display:block;min-width:0;flex:1}.dependency-heading{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.dependency-code{color:#66777e;font-size:8px;font-weight:800;letter-spacing:0}.dependency-status{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#edf1f2;color:#617078;font-size:8px;font-weight:800;line-height:1}.dependency-status.done{background:#e4f2e9;color:#347251}.dependency-option strong{display:block;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.dependency-option small{display:block;margin-top:5px;font-size:9px;color:var(--muted);line-height:1.35}.dependency-option.disabled{cursor:not-allowed;background:#f4f5f4;color:#8b969b}.dependency-option.disabled .dependency-status{background:#eceeed;color:#7d898e}.dependency-option.disabled:hover{border-color:var(--line)}.dependency-empty{grid-column:1/-1;margin:0;padding:14px;color:var(--muted);font-size:11px;text-align:center}.field-help{margin:10px 2px 0;color:var(--muted);font-size:9px;line-height:1.4}@media(max-width:760px){.dependency-picker{grid-template-columns:1fr}.dependency-option{padding:11px!important}}
.notification-item.unread{background:#fff8f6;box-shadow:inset 3px 0 0 var(--accent)}
.btn-task-timer.running{background:#fff3f1!important;border-color:#e2a59f!important;color:#a5443c!important;box-shadow:none!important}.btn-task-timer.running:hover:not(:disabled){background:#ffe9e6!important}
.attendance-row > span:first-child {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.settings-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

.settings-action .btn {
  pointer-events: auto;
}

.settings-action .btn:disabled {
  cursor: wait;
  opacity: 0.65;
}

.settings-action .btn .lucide-loader-circle {
  animation: document-spin 0.8s linear infinite;
}

.settings-action b[data-state="error"] {
  color: var(--danger);
}

.settings-action b[data-state="pending"] {
  color: #9b6414;
}

.document-browser {
  display: grid;
  gap: 20px;
}

.document-head-actions {
  display: flex;
  gap: 8px;
}

.document-source-tabs {
  width: max-content;
  margin-bottom: 16px;
}

.document-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
  gap: 24px;
  align-items: end;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.document-library-filters {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(220px, 1fr);
  gap: 12px;
  align-items: end;
}

.document-search {
  align-self: end;
}

.document-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  margin-bottom: 4px;
}

.document-summary > div {
  min-width: 0;
  padding: 15px 18px;
  border-left: 1px solid var(--line);
}

.document-summary > div:first-child {
  border-left: 0;
}

.document-summary strong,
.document-summary span {
  display: block;
}

.document-summary strong {
  font-size: 18px;
}

.document-summary span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.document-list {
  min-height: 160px;
}

.document-workspace {
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(360px, 1.05fr);
  gap: 16px;
  align-items: start;
  padding-top: 12px;
}

.document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 39px 39px;
  gap: 10px;
  align-items: center;
  min-height: 72px;
  border-bottom: 1px solid var(--line);
}

.document-row:last-child {
  border-bottom: 0;
}

.document-row.is-archived {
  opacity: 0.62;
}

.document-row.is-selected {
  background: #f1f6f3;
  box-shadow: inset 3px 0 0 var(--green);
}

.document-row-main {
  min-width: 0;
  min-height: 71px;
  display: grid;
  grid-template-columns: 40px minmax(180px, 1fr) minmax(180px, 0.8fr) 22px;
  gap: 12px;
  align-items: center;
  padding: 10px 8px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.document-row-main:hover {
  background: #f7f8f7;
}

.document-row-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #edf2f0;
  color: #3f6f5b;
}

.document-row-copy,
.document-row-file {
  min-width: 0;
}

.document-row-copy strong,
.document-row-copy small,
.document-row-file strong,
.document-row-file small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.document-row-copy strong,
.document-row-file strong {
  font-size: 11px;
  white-space: nowrap;
}

.document-row-copy small,
.document-row-file small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.document-upload-progress {
  height: 5px;
  overflow: hidden;
  border-radius: 3px;
  background: #e8ecea;
}

.document-upload-progress span {
  display: block;
  width: 38%;
  height: 100%;
  background: var(--green);
  animation: document-upload-progress 1.1s ease-in-out infinite alternate;
}

.document-upload-pickers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.document-upload-zone {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 78px;
  padding: 14px;
  border: 1px dashed #cfd8d4;
  border-radius: 6px;
  background: #f8faf9;
}

.document-upload-zone:hover {
  border-color: #7f958b;
  background: #f2f7f5;
}

.document-upload-zone > svg {
  width: 24px;
  flex: none;
  color: #4d806b;
}

.document-upload-zone strong,
.document-upload-zone small {
  display: block;
}

.document-upload-zone small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.35;
}

.document-upload-zone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.document-preview {
  position: sticky;
  top: 106px;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.document-preview-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.document-preview-head strong,
.document-preview-head small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-preview-head strong {
  font-size: 12px;
}

.document-preview-head small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.document-preview-stage {
  min-height: 420px;
  height: min(58vh, 620px);
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f8f7;
  overflow: hidden;
}

.document-preview-frame,
.document-preview-image {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #fff;
}

.document-preview-image {
  object-fit: contain;
}

.document-preview-empty,
.document-preview-load {
  width: 100%;
  height: 100%;
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 22px;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-align: center;
}

.document-preview-load {
  cursor: pointer;
}

.document-preview-load:hover {
  background: #eff4f1;
}

.document-preview-empty svg,
.document-preview-load svg {
  width: 32px;
  height: 32px;
  color: #6f857b;
}

.document-preview-empty strong,
.document-preview-load strong {
  color: var(--ink);
  font-size: 13px;
}

.document-preview-empty span,
.document-preview-load span {
  max-width: 320px;
  overflow-wrap: anywhere;
  font-size: 10px;
}

.document-preview-empty.error strong,
.document-preview-empty.error svg {
  color: var(--danger);
}

.document-preview-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
}

.document-preview-meta div {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
}

.document-preview-meta dt,
.document-preview-meta dd {
  margin: 0;
}

.document-preview-meta dt {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.document-preview-meta dd {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 10px;
  font-weight: 700;
}

.document-preview-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

@keyframes document-upload-progress {
  from { transform: translateX(-20%); }
  to { transform: translateX(210%); }
}

.document-detail-body {
  display: grid;
  gap: 22px;
  padding: 22px;
}

.document-detail-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.document-detail-meta > div {
  min-width: 0;
  padding: 13px;
  border-left: 1px solid var(--line);
}

.document-detail-meta > div:first-child {
  border-left: 0;
}

.document-detail-meta small,
.document-detail-meta strong {
  display: block;
}

.document-detail-meta small {
  color: var(--muted);
  font-size: 8px;
}

.document-detail-meta strong {
  margin-top: 4px;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.document-detail-meta > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 13px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
}

.document-version-list {
  border-top: 1px solid var(--line);
}

.document-version-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 39px;
  gap: 11px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.document-version-row strong,
.document-version-row small {
  display: block;
}

.document-version-row strong {
  font-size: 11px;
  overflow-wrap: anywhere;
}

.document-version-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

#document-version-form {
  padding: 0;
}

.document-location {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.document-location span {
  min-width: 0;
}

.document-location small,
.document-location strong {
  display: block;
}

.document-location small {
  color: var(--muted);
  font-size: 9px;
}

.document-location strong {
  margin-top: 3px;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.folder-item {
  width: 100%;
  color: inherit;
  background: #fff;
  text-align: left;
  text-decoration: none;
}

button.folder-item {
  cursor: pointer;
}

button.folder-item:hover,
.document-file:hover {
  border-color: #b9c4c3;
  background: #f8f9f8;
}

.document-loading {
  grid-column: 1 / -1;
  min-height: 140px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
}

.document-loading svg {
  animation: document-spin 0.8s linear infinite;
}

@keyframes document-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
  .breadcrumb {
    min-width: 0;
  }

  .breadcrumb strong {
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .settings-list > div {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .settings-action {
    grid-column: 2;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .document-toolbar {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .document-head-actions {
    width: 100%;
  }

  .document-head-actions .btn {
    flex: 1;
  }

  .document-source-tabs {
    width: 100%;
  }

  .document-source-tabs button {
    flex: 1;
    justify-content: center;
  }

  .document-library-filters {
    grid-template-columns: 1fr;
  }

  .document-summary {
    grid-template-columns: 1fr;
  }

  .document-summary > div,
  .document-summary > div:first-child {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .document-summary > div:first-child {
    border-top: 0;
  }

  .document-workspace {
    grid-template-columns: 1fr;
  }

  .document-preview {
    position: static;
  }

  .document-preview-stage {
    min-height: 320px;
    height: 50vh;
  }

  .document-upload-pickers {
    grid-template-columns: 1fr;
  }

  .document-row {
    grid-template-columns: minmax(0, 1fr) 39px;
  }

  .document-row > .icon-btn[data-document-open] {
    display: none;
  }

  .document-row-main {
    grid-template-columns: 40px minmax(0, 1fr) 20px;
  }

  .document-row-file {
    display: none;
  }

  .document-detail-meta {
    grid-template-columns: 1fr 1fr;
  }

  .document-detail-meta > div,
  .document-detail-meta > div:first-child {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .document-detail-meta > div:nth-child(-n+2) {
    border-top: 0;
  }

  .document-detail-meta > div:nth-child(even) {
    border-left: 1px solid var(--line);
  }
}

@media (max-width: 390px) {
  .breadcrumb strong {
    max-width: 86px;
  }
}

.quantity-pill{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#f0f1ed;color:#56636a;font-size:9px;font-weight:800;white-space:nowrap}
.worker-task-actions{display:grid;grid-template-columns:1fr;gap:10px}
.task-quantity-control{display:grid;grid-template-columns:auto minmax(64px,90px) auto 36px;align-items:center;gap:7px;min-height:40px}
.task-quantity-control label{font-size:10px;color:var(--muted)}
.task-quantity-control input{min-height:36px;padding:7px 9px}
.task-quantity-control .icon-btn{width:36px;height:36px}
.worker-task-timer-row,.worker-task-report-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.worker-task-timer-row .btn{min-width:0;min-height:72px;padding:12px 14px;font-size:12px;white-space:normal;line-height:1.25}
.worker-task-timer-row .btn:only-child{grid-column:1/-1}
.worker-task-report-row .btn{min-width:0;min-height:44px;padding:9px 12px;white-space:normal;line-height:1.25}
.btn-task-pause{background:#fff5df;border-color:#e8c97f;color:#855d16}
.btn-task-pause.paused{background:#eaf4ee;border-color:#bdd8c7;color:#2f714e}
.btn-task-stop{background:#fff0ee;border-color:#efbdb8;color:var(--danger)}
.my-task-row.task-paused{border-color:#e7c878;box-shadow:inset 4px 0 0 #e7b846}
.running-task-indicator.paused{background:#fff3d8;color:#8b611d}
.focus-timer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.workflow-template-modal{width:min(920px,100%)}
.project-actions{flex-wrap:wrap;justify-content:flex-end}
.manager-task-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 210px auto;gap:10px;align-items:end;margin-bottom:16px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px}
.manager-task-search input{min-height:42px}.manager-task-control{gap:4px}.manager-task-control>span{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.manager-task-control select{min-height:42px;padding-top:8px;padding-bottom:8px}.manager-task-total{align-self:center;padding:0 6px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
.manager-task-group{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.manager-task-group+ .manager-task-group{margin-top:10px}.manager-task-group>summary{height:46px;padding:0 14px;display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;background:#f7f8f7}.manager-task-group>summary::-webkit-details-marker{display:none}.manager-task-group>summary span{font-size:11px;font-weight:800}.manager-task-group>summary b{min-width:23px;height:23px;margin-left:auto;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:9px}.manager-task-group>summary svg{width:15px;transition:transform .18s}.manager-task-group:not([open])>summary svg{transform:rotate(-90deg)}
.manager-task-row{min-height:90px;padding:12px 14px;display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(105px,.65fr) minmax(150px,.9fr) 105px minmax(280px,auto) 18px;gap:14px;align-items:center;border-top:1px solid #edf0ef;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}.manager-task-row:hover{background:#fbfcfb}.manager-task-row.timer-running{background:#f5fbf7;box-shadow:inset 4px 0 0 var(--green)}.manager-task-row.timer-paused{background:#fffaf1;box-shadow:inset 4px 0 0 var(--gold)}.manager-task-row>svg{width:17px;color:#9aa5aa}.manager-task-main{min-width:0}.manager-task-main>span{display:flex;align-items:center;gap:8px;min-width:0}.manager-task-main b{color:#829097;font-size:8px}.manager-task-main em{min-width:0;color:#62747e;font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-task-main h3{margin:5px 0 3px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.manager-task-main small{display:block;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-task-cell{min-width:0}.manager-task-cell small{display:block;margin-bottom:4px;color:#8a969d;font-size:7px;letter-spacing:.07em}.manager-task-cell strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-task-flags{display:grid;justify-items:end;gap:7px}.manager-task-badges,.manager-task-timer-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.manager-task-timer-actions .btn{min-height:30px;padding:0 9px;font-size:8px;box-shadow:none}.manager-task-timer-actions .btn svg{width:13px;height:13px}.manager-task-timer-start{border-color:#bcd8c8;background:#edf7f1;color:#2f7650}.manager-task-timer-start:hover{background:#dfeee5}.manager-task-timer-pause{border-color:#ead49f;background:#fff7e4;color:#86611f}.manager-task-timer-pause.paused{border-color:#bdd0ea;background:#eef4fb;color:#3d6697}.manager-task-timer-stop{border-color:#efc5c1;background:#fff5f4;color:#a94139}.manager-task-complete{border-color:#bcd8c8;background:#fff;color:#2f7650}.manager-task-complete:hover{background:#edf7f1}.manager-task-complete:disabled{border-color:#dfe4e2;background:#f3f5f4;color:#87949a}.manager-task-running-state{margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 6px;border-radius:4px;background:#e3f2e9;color:#317451;font-size:7px;font-weight:800}.manager-task-running-state.paused{background:#fff0c9;color:#86611f}.manager-task-running-state svg{width:11px;height:11px}.manager-task-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800}.manager-task-status.done{background:#e7f2eb;color:#347351}.manager-task-status.blocked{background:#ffe9e6;color:#a43b33}.manager-task-status.progress{background:#e9f0fa;color:#3d6697}.manager-task-status.open{background:#eef1f1;color:#64747c}
.compact-sort{display:flex;align-items:center;gap:7px;margin-left:2px}.compact-sort>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.compact-sort select{width:170px;min-height:37px;padding:7px 30px 7px 10px;font-size:10px}
.phase-board.compact-phase-board{grid-auto-columns:210px;gap:7px}.compact-phase-board .phase-column{min-height:440px;padding:7px}.compact-phase-board .phase-head{padding:3px 2px 8px}.compact-phase-board .phase-head strong{font-size:9px}.compact-phase-board .phase-add{height:29px;font-size:8px}.compact-task-card{height:62px;margin-bottom:5px;padding:8px 9px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-left:3px solid #a7b1b5;box-shadow:none}.compact-task-card>div{display:flex;align-items:center;gap:7px;min-width:0}.compact-task-card b{flex:none;color:#74838b;font-size:7px}.compact-task-card span{min-width:0;color:#78878e;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-task-card time{flex:none;color:#89959a;font-size:6px;font-weight:700;white-space:nowrap}.compact-task-card>strong{font-size:9px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-task-card.done{border-left-color:#4f9b73;background:#f7fbf8}.compact-task-card.blocked{border-left-color:#d64e47;background:#fff8f7}.compact-task-card.progress{border-left-color:#537fc1}.compact-task-card.waiting{border-left-color:#e9ad47;background:#fffaf1}.compact-task-card.dragging{opacity:.38}
.phase-board.compact-phase-board{grid-auto-columns:178px}
.compact-phase-board{position:relative;isolation:isolate}.compact-phase-board .phase-column{position:relative}.compact-phase-board .phase-head,.compact-phase-board .phase-add,.compact-task-card{position:relative;z-index:3}.compact-task-card{padding-left:14px;padding-right:14px;touch-action:none}.dependency-handle{position:absolute;z-index:5;top:50%;width:15px;height:28px;min-height:0;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:1px solid #9eabad;border-radius:8px;background:#fff;color:#718087;box-shadow:0 2px 5px rgba(24,37,45,.1);cursor:crosshair;touch-action:none}.dependency-handle span{width:5px;height:5px;border-radius:50%;background:currentColor}.dependency-handle-input{left:-8px}.dependency-handle-output{right:-8px}.dependency-handle:hover,.dependency-handle.active{border-color:var(--accent);background:#fff0ed;color:var(--accent);transform:translateY(-50%) scale(1.08)}.compact-phase-board.dependency-linking .dependency-handle-input{border-color:#87a5c8;background:#f4f8fd;color:#537fc1}.compact-phase-board.dependency-linking .dependency-handle-input.dependency-target{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 5px rgba(239,98,83,.16);transform:translateY(-50%) scale(1.15)}.compact-dependency-layer{position:absolute;z-index:2;left:0;top:0;overflow:visible;pointer-events:none}.compact-dependency-line{fill:none;stroke:#819198;stroke-width:1.4;stroke-linecap:round;opacity:.62}.compact-dependency-layer marker path{fill:#819198}.compact-dependency-draft{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 4}.dependency-linking-active,.dependency-linking-active *{cursor:crosshair!important;user-select:none}
.workflow-step-editor{display:grid;gap:12px}
.workflow-step-row{border:1px solid var(--line);border-radius:6px;padding:14px;background:#fafbfa;display:grid;gap:12px}
.workflow-step-row>header{position:static;padding:0;border:0;background:transparent;display:flex;justify-content:flex-start;gap:9px}
.workflow-step-row>header>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--nav);color:#fff;font-size:10px;font-weight:800}
.workflow-step-row>header>strong{font-size:12px}
.workflow-step-row>header>.icon-btn{margin-left:auto;width:32px;height:32px}
.workflow-editor-toolbar{display:flex;align-items:center;gap:12px}
.workflow-editor-toolbar small{color:var(--muted);font-size:10px}
.workflow-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.workflow-category-groups{display:grid;gap:20px}.workflow-category-group{min-width:0}.workflow-category-group>header{min-height:38px;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.workflow-category-group>header>span{width:28px;height:28px;border-radius:5px;background:#eef2f0;color:#50636b;display:grid;place-items:center}.workflow-category-group>header svg{width:15px;height:15px}.workflow-category-group>header strong{font-size:12px}.workflow-category-group>header b{margin-left:auto;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#f1f3f2;display:grid;place-items:center;font-size:9px;color:var(--muted)}.workflow-description-field{grid-column:1/-1}
.catalog-delete{margin-right:auto}.catalog-delete svg{width:16px;height:16px}
.push-settings-action{gap:10px}.push-preference{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:#f7f8f7;cursor:pointer}.push-preference input{width:17px;min-height:17px;margin:0;flex:none}.push-preference span{font-size:9px;font-weight:800;white-space:nowrap}.push-settings-row>svg{color:#537fc1}
.assignee-option>span{min-width:0;display:flex;align-items:baseline;gap:7px}
.assignee-option>span strong{min-width:0;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.assignee-option>span small{flex:none;color:var(--muted);font-size:8px;font-weight:600;line-height:1.3}
.workflow-template-card{border:1px solid var(--line);border-radius:6px;background:#fff;padding:15px}
.workflow-template-card>div{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:10px}
.workflow-template-icon{width:38px;height:38px;border-radius:6px;display:grid;place-items:center;background:#eef3f0;color:var(--green)}
.workflow-template-icon svg{width:19px}
.workflow-template-card strong,.workflow-template-card small{display:block;overflow-wrap:anywhere}
.workflow-template-card>div strong{font-size:12px}.workflow-template-card>div small{font-size:9px;color:var(--muted);margin-top:3px}
.workflow-template-card ol{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:0}
.workflow-template-card li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:9px 0;border-top:1px solid #edf0ef;align-items:center}
.workflow-template-card li>b,.workflow-insert-preview b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef1f0;font-size:9px}
.workflow-template-card li strong{font-size:10px}.workflow-template-card li small{font-size:8px;color:var(--muted);margin-top:2px}
.workflow-insert-preview{border:1px solid var(--line);border-radius:6px;padding:8px 13px}
.workflow-insert-preview>div{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf0ef}
.workflow-insert-preview>div:first-child{border-top:0}
.workflow-insert-preview strong,.workflow-insert-preview small{display:block}.workflow-insert-preview strong{font-size:11px}.workflow-insert-preview small{font-size:9px;color:var(--muted);margin-top:2px}.workflow-insert-preview svg{width:15px;color:var(--muted)}

@media(max-width:760px){
  .compact-sort{order:3;width:100%;justify-content:space-between}.compact-sort select{width:min(210px,62%)}.phase-board.compact-phase-board{grid-auto-columns:68vw}.compact-task-card{height:66px}
  .manager-task-toolbar{grid-template-columns:1fr 1fr}.manager-task-search,.manager-task-total{grid-column:1/-1}.manager-task-total{padding:2px 0}.manager-task-row{grid-template-columns:minmax(0,1fr) 18px;padding:13px}.manager-task-cell{display:none}.manager-task-flags{grid-column:1;justify-items:start}.manager-task-badges,.manager-task-timer-actions{justify-content:flex-start}.manager-task-row>svg{grid-column:2;grid-row:1/3}.manager-task-main small{white-space:normal}.manager-task-running-state{margin-left:0}
  .project-actions .btn{flex:1 1 calc(50% - 8px)}
  #workflow-insert-form .modal-actions{display:grid;grid-template-columns:1fr 1fr}
  #workflow-insert-form .modal-actions>span{display:none}
  #workflow-manage-from-insert{grid-column:1/-1}
  .worker-task-actions{grid-template-columns:1fr}
  .task-quantity-control{grid-template-columns:1fr 82px auto 36px}
  .worker-task-timer-row,.worker-task-report-row{grid-template-columns:1fr 1fr}
  .workflow-step-row .form-grid.two{grid-template-columns:1fr}
  .workflow-editor-toolbar{align-items:flex-start;flex-direction:column}
  .workflow-template-grid{grid-template-columns:1fr}
  .push-settings-action{align-items:stretch}.push-preference{justify-content:space-between;width:100%}
}

.attendance-row > span:first-child strong,
.attendance-row > span:first-child small {
  display: block;
  line-height: 1.25;
}

.clock-ring strong {
  max-width: 140px;
  font-size: 21px;
  line-height: 1.1;
  letter-spacing: 0;
  white-space: nowrap;
}

.task-modal .modal-actions {
  flex-wrap: wrap;
}

.list-task-title{display:grid;gap:3px;min-width:0}.list-task-title strong{overflow-wrap:anywhere}.list-task-title small{color:var(--muted);font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.compact-task-card{height:76px}.compact-task-card .compact-task-dates{width:100%;justify-content:space-between;gap:5px}.compact-task-card .compact-task-dates time{min-width:0;font-size:5.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.worker-task-dates{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4;overflow-wrap:anywhere}
.manager-task-row{min-height:86px}.manager-task-dates{display:flex;gap:10px;margin-top:5px;color:#849198;font-size:7px;font-weight:700;line-height:1.3;flex-wrap:wrap}.manager-task-dates time{white-space:nowrap}

.overview-project-panel{margin-bottom:18px}.overview-task-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.overview-task-panel{min-width:0;padding:18px;grid-column:span 2}.overview-task-panel.approval-panel,.overview-task-panel.comments-panel{grid-column:span 1}.overview-task-panel .panel-head{align-items:flex-start;margin-bottom:8px}.overview-task-panel .panel-head h2{font-size:15px}.overview-task-panel.approval-panel .panel-head,.overview-task-panel.comments-panel .panel-head{align-items:stretch;flex-direction:column;gap:9px}.overview-task-panel.approval-panel .overview-panel-count{align-self:flex-start}.overview-task-panel.comments-panel .overview-range-switch{width:100%}.overview-task-panel.comments-panel .overview-range-switch button{flex:1;padding-inline:5px}.overview-range-switch{flex:none;padding:3px;border:1px solid #dfe4e2;background:#f1f3f2;gap:3px}.overview-range-switch button{height:30px;padding:0 10px;border:0!important;border-radius:4px;background:transparent;color:#6e7c83;font-size:9px;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.overview-range-switch button:hover:not(.active){background:#fff;color:var(--ink)}.overview-range-switch button.active{background:var(--accent);color:#fff;box-shadow:0 3px 8px rgba(239,98,83,.24)}.overview-task-list{display:grid}.overview-task-item{width:100%;min-width:0;padding:12px 2px;display:grid;grid-template-columns:32px minmax(0,1fr) auto 16px;gap:10px;align-items:center;border:0;border-top:1px solid #edf0ef;background:transparent;text-align:left}.overview-task-item:first-child{border-top:0}.overview-task-item:hover{background:#f7f9f8}.overview-task-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#edf3fb;color:#537fc1}.overview-task-icon svg{width:15px;height:15px}.overview-task-item.completed .overview-task-icon{background:#e9f3ed;color:#347351}.overview-task-item.overdue .overview-task-icon{background:#fff0ee;color:var(--danger)}.overview-task-item.running .overview-task-icon{background:#edf3fb;color:#426f9f}.overview-task-item.feedback-pending .overview-task-icon{background:#fff1d7;color:#916019}.overview-task-item.feedback-working .overview-task-icon{background:#e8eff8;color:#426b9e}.overview-task-item.feedback-waiting .overview-task-icon{background:#fff1d7;color:#916019}.overview-task-item.feedback-completed .overview-task-icon{background:#e9f3ed;color:#347351}.overview-task-item.overview-comment-item .overview-task-icon{background:#edf0f8;color:#566899}.overview-task-copy{min-width:0}.overview-task-copy>span{display:flex;align-items:center;gap:6px;min-width:0}.overview-task-copy b{color:#7b898f;font-size:7px}.overview-task-copy em{min-width:0;color:#738189;font-size:7px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-task-copy strong{display:block;margin:3px 0;color:var(--ink);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.overview-task-copy small{display:block;color:var(--muted);font-size:8px;line-height:1.4;overflow-wrap:anywhere}.overview-task-trailing{max-width:88px;padding:4px 6px;border-radius:4px;background:#eef1f1;color:#5f6f77;font-size:7px;font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}.overview-task-item.completed .overview-task-trailing,.overview-task-item.feedback-completed .overview-task-trailing{background:#e9f3ed;color:#347351}.overview-task-item.overdue .overview-task-trailing{background:#fff0ee;color:#a94139}.overview-task-item.feedback-pending .overview-task-trailing,.overview-task-item.feedback-waiting .overview-task-trailing{background:#fff1d7;color:#916019}.overview-task-item.feedback-working .overview-task-trailing{background:#e8eff8;color:#426b9e}.overview-task-item>svg{width:15px;color:#9aa5aa}.overview-task-panel.approval-panel .overview-approval-item{grid-template-columns:minmax(0,1fr)}.overview-task-panel.approval-panel .overview-quick-approve{margin:0 0 10px 42px;width:max-content}.overview-task-panel.approval-panel .overview-task-item,.overview-task-panel.comments-panel .overview-task-item{grid-template-columns:28px minmax(0,1fr) 14px;gap:8px}.overview-task-panel.approval-panel .overview-task-icon,.overview-task-panel.comments-panel .overview-task-icon{width:28px;height:28px}.overview-task-panel.approval-panel .overview-task-item>svg,.overview-task-panel.comments-panel .overview-task-item>svg{grid-column:3}
.overview-summary-metrics{margin-top:18px}.overview-project-panel-bottom{margin-bottom:0}
@media(max-width:1200px){.overview-task-grid{grid-template-columns:1fr 1fr}.overview-task-panel,.overview-task-panel.approval-panel,.overview-task-panel.comments-panel{grid-column:auto}.overview-task-grid .attention-panel{grid-column:auto}.overview-task-panel.approval-panel .panel-head{align-items:flex-start;flex-direction:row}.overview-task-panel.approval-panel .overview-approval-item{grid-template-columns:minmax(0,1fr) auto}.overview-task-panel.approval-panel .overview-quick-approve{margin:0;width:auto}.overview-task-panel.approval-panel .overview-task-item,.overview-task-panel.comments-panel .overview-task-item{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px}.overview-task-panel.approval-panel .overview-task-icon,.overview-task-panel.comments-panel .overview-task-icon{width:31px;height:31px}}
@media(max-width:760px){.overview-project-panel{margin-bottom:10px}.overview-task-grid{grid-template-columns:1fr;gap:10px}.overview-task-grid .attention-panel{grid-column:auto}.overview-task-panel .panel-head{align-items:flex-start;flex-direction:row}.overview-task-panel.completed-panel .panel-head,.overview-task-panel.comments-panel .panel-head{align-items:stretch;flex-direction:column}.overview-panel-count{align-self:flex-start;flex:none}.overview-range-switch{width:100%}.overview-range-switch button{flex:1}.overview-task-item{grid-template-columns:32px minmax(0,1fr) 16px}.overview-task-trailing{grid-column:2;grid-row:2;width:max-content;max-width:100%;text-align:left}.overview-task-item>svg{grid-column:3;grid-row:1/3}}

.overview-panel-count{min-width:29px;height:29px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:#fff1d7;color:#916019;font-size:10px;font-weight:900}.overview-panel-count.danger{background:#ffe8e5;color:#a43b33}.overview-panel-count.feedback{background:#e8eff8;color:#426b9e}.overview-approval-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-top:1px solid #edf0ef}.overview-approval-item:first-child{border-top:0}.overview-approval-item .overview-task-item{border-top:0}.overview-task-item.approval .overview-task-icon{background:#fff1d7;color:#916019}.overview-quick-approve{height:34px;padding:0 10px;border:1px solid #e5bd5f;border-radius:5px;background:#f8dc86;color:#59410c;display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:900;white-space:nowrap}.overview-quick-approve:hover{background:#f3ce5d}.overview-quick-approve svg{width:14px}.overview-attendance-list{display:grid}.overview-attendance-item{min-height:58px;padding:10px 2px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid #edf0ef}.overview-attendance-item:first-child{border-top:0}.overview-attendance-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe8e5;color:#a43b33;font-size:8px;font-weight:900}.overview-attendance-item strong{display:block;font-size:10px}.overview-attendance-item small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.overview-attendance-item>b{padding:5px 7px;border-radius:4px;background:#ffe8e5;color:#a43b33;display:inline-flex;align-items:center;gap:5px;font-size:7px}.overview-attendance-item>b svg{width:12px}.attendance-row{padding:10px 8px;border-radius:5px}.attendance-row+.attendance-row{margin-top:3px}.attendance-row.attendance-leave{border-top-color:transparent;background:#fff5dc}.attendance-row.attendance-missing{border-top-color:transparent;background:#fff0ee}.attendance-status.leave{background:#f7d97d;color:#654b0d}.attendance-status.missing{background:#d05a51;color:#fff}.attendance-status.offday{background:#eef1f1;color:#68757d}.attendance-status.closed{background:#e9f3ed;color:#347351}

@media(max-width:760px){html,body,.app,.workspace{max-width:100%;overflow-x:hidden}.view{width:100%;max-width:100%}.overview-panel-count{align-self:flex-start}.overview-approval-item{grid-template-columns:minmax(0,1fr)}.overview-quick-approve{margin:0 0 10px 42px;width:max-content}.overview-attendance-item{grid-template-columns:34px minmax(0,1fr)}.overview-attendance-item>b{grid-column:2;width:max-content;max-width:100%}.attendance-row{padding:10px}.attendance-row.attendance-missing,.attendance-row.attendance-leave{grid-template-columns:minmax(130px,1fr) auto}.attendance-row.attendance-missing>*:nth-child(2),.attendance-row.attendance-missing>*:nth-child(3),.attendance-row.attendance-leave>*:nth-child(2),.attendance-row.attendance-leave>*:nth-child(3){display:none}}

.overview-panel-count.attendance{background:#edf3f1;color:#315f55}
.overview-attendance-item .overview-attendance-avatar,.overview-attendance-item>b{background:#eef1f1;color:#68757d}
.overview-attendance-item>b{white-space:nowrap}
.overview-attendance-item.attendance-present .overview-attendance-avatar,.overview-attendance-item.attendance-present>b{background:#e9f3ed;color:#347351}
.overview-attendance-item.attendance-paused,.overview-attendance-item.attendance-closed{margin-top:3px;padding-inline:8px;border-top-color:transparent;border-radius:5px}
.overview-attendance-item.attendance-paused{background:#f3f7fb}
.overview-attendance-item.attendance-closed{background:#f0f6f6}
.overview-attendance-item.attendance-paused .overview-attendance-avatar,.overview-attendance-item.attendance-paused>b{background:#dfeaf6;color:#365f8c}
.overview-attendance-item.attendance-closed .overview-attendance-avatar,.overview-attendance-item.attendance-closed>b{background:#dfeeed;color:#28655f}

/* The approval and comment panels share the middle dashboard column. */
.overview-task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-task-panel,.overview-task-panel.approval-panel,.overview-task-panel.comments-panel{grid-column:auto}
.overview-task-split-column{min-width:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}
.overview-task-split-column>.overview-task-panel{min-height:0}
.overview-task-panel.approval-panel .panel-head,.overview-task-panel.comments-panel .panel-head{align-items:flex-start;flex-direction:row;gap:20px}
.overview-task-panel.approval-panel .overview-panel-count{align-self:auto}
.overview-task-panel.comments-panel .overview-range-switch{width:auto}
.overview-task-panel.comments-panel .overview-range-switch button{flex:none;padding-inline:10px}
.overview-task-panel.approval-panel .overview-approval-item{grid-template-columns:minmax(0,1fr) auto}
.overview-task-panel.approval-panel .overview-quick-approve{margin:0;width:auto}
.overview-task-panel.approval-panel .overview-task-item,.overview-task-panel.comments-panel .overview-task-item{grid-template-columns:32px minmax(0,1fr) auto 16px;gap:10px}
.overview-task-panel.approval-panel .overview-task-icon,.overview-task-panel.comments-panel .overview-task-icon{width:31px;height:31px}
.overview-task-panel.approval-panel .overview-task-item>svg,.overview-task-panel.comments-panel .overview-task-item>svg{grid-column:auto}
@media(max-width:1200px){.overview-task-grid{grid-template-columns:1fr 1fr}.overview-task-split-column{grid-template-rows:auto;align-self:start}}
@media(max-width:760px){.overview-task-grid{grid-template-columns:1fr}.overview-task-split-column{gap:10px}.overview-task-panel.comments-panel .panel-head{align-items:stretch;flex-direction:column}.overview-task-panel.comments-panel .overview-range-switch{width:100%}.overview-task-panel.comments-panel .overview-range-switch button{flex:1}.overview-task-panel.approval-panel .overview-approval-item{grid-template-columns:minmax(0,1fr)}.overview-task-panel.approval-panel .overview-quick-approve{margin:0 0 10px 42px;width:max-content}.overview-task-panel.approval-panel .overview-task-item,.overview-task-panel.comments-panel .overview-task-item{grid-template-columns:32px minmax(0,1fr) 16px}.overview-task-panel.approval-panel .overview-task-item>svg,.overview-task-panel.comments-panel .overview-task-item>svg{grid-column:3;grid-row:1/3}}
.overview-attendance-item.attendance-leave .overview-attendance-avatar,.overview-attendance-item.attendance-leave>b{background:#fff3cf;color:#765611}
.overview-attendance-item.attendance-leave.absence-sick_leave .overview-attendance-avatar,.overview-attendance-item.attendance-leave.absence-sick_leave>b{background:#f3e9f0;color:#7a4d70}
.overview-attendance-item.attendance-missing .overview-attendance-avatar,.overview-attendance-item.attendance-missing>b{background:#ffe8e5;color:#a43b33}

.phase-add-top {
  margin-bottom: 8px;
}

#task-save-next {
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}

.task-resource-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.task-resource-badges span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  gap: 5px;
  padding: 5px 7px;
  border: 1px solid #dbe2df;
  border-radius: 5px;
  background: #f3f6f4;
  color: #425159;
  font-size: 9px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.task-resource-badges svg {
  width: 12px;
  height: 12px;
  flex: none;
}

.task-resource-badges b {
  flex: none;
}

.project-information {
  margin-top: 16px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.project-information summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

.project-information summary::-webkit-details-marker {
  display: none;
}

.project-information summary small,
.project-information summary strong {
  display: block;
}

.project-information summary small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.project-information summary strong {
  margin-top: 3px;
  font-size: 13px;
}

.project-information summary svg {
  width: 17px;
  transition: transform .18s ease;
}

.project-information[open] summary {
  margin-bottom: 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.project-information[open] summary svg {
  transform: rotate(180deg);
}

.project-information dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.project-information dl > div {
  min-width: 0;
  padding: 0 16px;
  border-left: 1px solid var(--line);
}

.project-information dl > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.project-information .project-info-location {
  grid-column: span 2;
  margin-top: 14px;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
  border-left: 0;
}

.project-information .project-info-description {
  grid-column: 1 / -1;
  margin-top: 14px;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
  border-left: 0;
}

.project-information .project-info-description dd {
  max-width: 920px;
  font-weight: 500;
  line-height: 1.55;
  white-space: pre-wrap;
}

.project-information .project-info-contacts {
  grid-column: span 3;
}

.project-contact-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 9px;
}

.project-contact-card {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #f7f9f8;
}

.project-contact-card strong,
.project-contact-card small {
  display: block;
}

.project-contact-card small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.project-contact-card span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 7px;
  font-size: 11px;
}

.project-information dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.project-information dd {
  min-width: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.project-information a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--ink);
}

.project-information a svg {
  width: 13px;
  flex: none;
}

.project-info-empty {
  color: var(--muted);
  font-weight: 500;
}

.project-modal-dialog {
  width: min(860px, 100%);
  max-height: min(920px, calc(100vh - 32px));
  overflow-y: auto;
}

.project-wizard-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
  align-items: center;
  padding: 0 2px 14px;
}

.project-wizard-steps button {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: default;
}

.project-wizard-steps button:first-child { cursor: pointer; }
.project-wizard-steps button span {
  display: grid;
  width: 30px;
  height: 30px;
  flex: none;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  font-size: 12px;
}

.project-wizard-steps button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-wizard-steps > i { height: 1px; background: var(--line); }
.project-wizard-steps button.is-active { color: var(--ink); }
.project-wizard-steps button.is-active span { border-color: var(--ink); background: var(--ink); color: #fff; }
.project-wizard-steps button.is-complete span { border-color: #3f9d70; background: #e5f5ec; color: #267450; }
.project-wizard-panel { display: grid; gap: 14px; }

.project-customer-selector {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.project-customer-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 10px 0 14px;
  padding: 12px;
  border-left: 3px solid #3f9d70;
  background: #f1f7f4;
}

.project-customer-summary strong,
.project-customer-summary small { display: block; }
.project-customer-summary small { margin-top: 3px; color: var(--muted); }
.project-customer-summary dl { display: flex; gap: 20px; margin: 0; }
.project-customer-summary dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.project-customer-summary dd { margin: 2px 0 0; font-weight: 700; }

.project-new-customer,
.project-contacts-editor,
.project-upload-section,
.project-items-section {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.project-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 13px;
}

.project-section-heading h3 { margin: 3px 0 0; font-size: 17px; }
.project-section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.project-new-customer .wide { grid-column: 1 / -1; }

.project-contact-list { display: grid; gap: 9px; }
.project-contact-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) 40px; gap: 8px; align-items: start; }
.project-contact-row > span { padding-top: 13px; color: var(--muted); font-size: 12px; font-weight: 800; text-align: center; }
.project-contact-row .icon-btn { width: 40px; height: 40px; margin-top: 3px; }
.project-contact-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.project-contact-fields label { min-width: 0; font-size: 10px; }
.project-contact-fields input { width: 100%; }

.project-storage-status {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid #d9e0df;
  border-radius: 6px;
  background: #f5f7f6;
}

.project-storage-status > svg { width: 22px; color: var(--muted); }
.project-storage-status strong,
.project-storage-status small { display: block; }
.project-storage-status small { margin-top: 2px; color: var(--muted); }
.project-storage-status > span { font-size: 12px; font-weight: 800; }
.project-storage-status[data-status="ready"] { border-color: #b8ddc9; background: #edf8f2; }
.project-storage-status[data-status="ready"] > span { color: #267450; }
.project-storage-status[data-status="failed"] { border-color: #efc1bc; background: #fff1ef; }
.project-storage-status[data-status="failed"] > span { color: #bd4b42; }

.project-upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.project-upload-zone {
  display: flex;
  min-height: 106px;
  align-items: center;
  gap: 13px;
  padding: 15px;
  border: 1px dashed #9baaaa;
  border-radius: 6px;
  background: #f7f9f8;
  cursor: pointer;
}
.project-upload-zone:hover { border-color: var(--ink); background: #f0f5f3; }
.project-upload-zone > svg { width: 25px; flex: none; }
.project-upload-zone strong,
.project-upload-zone small { display: block; }
.project-upload-zone small { margin-top: 5px; color: var(--muted); line-height: 1.35; }
.project-upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.project-upload-selection { display: grid; gap: 6px; margin-top: 10px; }
.project-upload-selection > div { display: grid; grid-template-columns: 85px auto minmax(0, 1fr); gap: 10px; align-items: baseline; font-size: 12px; }
.project-upload-selection small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }

.project-item-entry { display: grid; grid-template-columns: minmax(0, 1fr) 46px; gap: 8px; }
.project-item-entry .icon-btn { width: 46px; height: 46px; }
.project-item-list { display: grid; gap: 7px; margin-top: 10px; }
.project-item-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) 40px; gap: 8px; align-items: center; }
.project-item-row > span { color: var(--muted); font-size: 12px; font-weight: 800; text-align: center; }
.project-item-row label { min-width: 0; }
.project-item-row input { width: 100%; }
.project-item-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.project-item-row .icon-btn { width: 40px; height: 40px; }
.project-items-empty { display: flex; align-items: center; gap: 9px; min-height: 54px; color: var(--muted); font-size: 12px; }
.project-items-empty svg { width: 18px; }

.project-location-field {
  grid-column: 1 / -1;
}

.project-template-picker {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(290px, 1.4fr);
  gap: 16px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f5f7f6;
}

.project-template-picker strong {
  display: block;
  margin-top: 4px;
  font-size: 12px;
}

.project-template-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 7px;
  align-items: center;
}

.project-template-controls select,
.project-template-controls .btn,
.project-template-controls .icon-btn {
  min-height: 39px;
}

.project-template-save {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.project-template-save input {
  width: 17px;
  min-height: 17px;
  margin: 1px 0 0;
  flex: none;
}

.project-template-save strong,
.project-template-save small {
  display: block;
}

@media (max-width: 760px) {
  .project-information dl {
    grid-template-columns: 1fr 1fr;
    gap: 14px 0;
  }

  .project-information dl > div:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .project-template-picker {
    grid-template-columns: 1fr;
  }

  .project-modal-dialog { max-height: calc(100vh - 12px); }
  .project-wizard-steps { grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); }
  .project-wizard-steps button strong { font-size: 11px; white-space: normal; }
  .project-customer-selector,
  .project-customer-summary,
  .project-contact-fields,
  .project-upload-grid { grid-template-columns: 1fr; }
  .project-information .project-info-contacts,
  .project-information .project-info-location { grid-column: 1 / -1; }
  .project-customer-selector .btn { width: 100%; }
  .project-customer-summary dl { justify-content: space-between; }
  .project-upload-zone { min-height: 94px; }
  .project-upload-selection > div { grid-template-columns: 70px auto; }
  .project-upload-selection small { grid-column: 1 / -1; }
  .project-new-customer .wide { grid-column: auto; }

  .project-template-controls {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .project-template-controls .btn {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .task-modal .modal-actions > span {
    display: none;
  }

  .task-modal .modal-actions .btn {
    flex: 1 1 140px;
  }
}

.just-created {
  position: relative;
  z-index: 4;
  animation: created-item-reveal 2.1s ease-out both;
}

@keyframes created-item-reveal {
  0% {
    border-color: #e4aa32;
    background-color: #fff7d9;
    box-shadow: 0 0 0 0 rgba(228, 170, 50, .34);
    transform: translateY(5px);
  }
  22% {
    box-shadow: 0 0 0 6px rgba(228, 170, 50, .18);
    transform: translateY(0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(228, 170, 50, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .just-created {
    animation: none;
    outline: 2px solid #e4aa32;
    outline-offset: 2px;
  }
}

/* Structured project view */
.structured-task-view {
  min-width: 0;
}

.structured-toolbar {
  display: flex;
  align-items: end;
  gap: 9px;
  margin-bottom: 12px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.structured-toolbar label {
  display: grid;
  grid-template-columns: auto 190px;
  align-items: center;
  gap: 9px;
}

.structured-toolbar label > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.structured-toolbar select {
  min-height: 38px;
  padding-block: 8px;
}

.structured-summary {
  margin-right: auto;
  padding-bottom: 11px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.structured-phases {
  display: grid;
  gap: 9px;
}

.structured-group-directory {
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.structured-group-directory > header {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid #edf0ef;
  background: #fafbfa;
}

.structured-group-directory > header > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.structured-group-directory > header > span > span {
  display: grid;
  gap: 2px;
}

.structured-group-directory > header svg {
  width: 16px;
  color: #73838a;
}

.structured-group-directory > header strong {
  font-size: 11px;
}

.structured-group-directory > header small {
  display: block;
  color: var(--muted);
  font-size: 9px;
}

.structured-group-directory > header b {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9eeec;
  color: #65767d;
  font-size: 9px;
}

.structured-group-directory > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 7px;
  padding: 9px;
}

.structured-group-directory > div > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 4px;
  color: var(--muted);
  font-size: 10px;
}

.structured-directory-item {
  min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px 34px;
  align-items: center;
  gap: 8px;
  border: 1px solid #e0e5e3;
  border-radius: 5px;
  background: #fff;
  padding: 5px;
  text-align: left;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.structured-directory-item:hover {
  border-color: #b9c4c1;
  background: #f8faf9;
}

.structured-directory-item.active {
  border-color: #78928a;
  background: #eef4f1;
  box-shadow: inset 3px 0 0 #4e8b70;
}

.structured-directory-item.drag-over {
  border-color: var(--accent);
  background: #fff1ee;
  box-shadow: inset 0 0 0 1px var(--accent);
}

.structured-directory-select {
  min-width: 0;
  align-self: stretch;
  display: grid;
  gap: 4px;
  border: 0;
  background: transparent;
  padding: 4px 6px;
  text-align: left;
}

.structured-directory-select > span {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.structured-directory-item svg {
  width: 14px;
  flex: none;
  color: #74858b;
}

.structured-directory-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}

.structured-directory-item small {
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}

.structured-directory-item .icon-btn {
  width: 34px;
  height: 34px;
  background: transparent;
}

.structured-phase {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce2e0;
  border-radius: 6px;
  background: #f4f6f5;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.structured-phase.drag-over {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}

.structured-phase-head {
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto 38px;
  align-items: center;
  gap: 12px;
  padding: 7px 10px;
  background: #edf1ef;
}

.structured-phase-head > button:first-child,
.structured-group-head > button:first-child {
  min-width: 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  color: var(--ink);
  text-align: left;
}

.structured-phase-head > button:first-child svg,
.structured-group-head > button:first-child svg {
  width: 15px;
  flex: none;
  transition: transform .16s ease;
}

.structured-phase.collapsed .structured-phase-head > button:first-child svg,
.structured-group.collapsed .structured-group-head > button:first-child svg {
  transform: rotate(-90deg);
}

.structured-phase-head > button:first-child span {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.structured-phase-head > button:first-child b {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  font-size: 9px;
}

.structured-phase-head > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.structured-phase-head .icon-btn,
.structured-group-head .icon-btn {
  width: 34px;
  height: 34px;
  background: transparent;
}

.structured-phase-body {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.structured-group {
  overflow: hidden;
  border: 1px solid #e0e5e3;
  border-radius: 5px;
  background: #fff;
}

.structured-group-head {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto 34px;
  align-items: center;
  gap: 10px;
  padding: 5px 9px;
  border-bottom: 1px solid #edf0ef;
  background: #fafbfa;
}

.structured-group.collapsed .structured-group-head {
  border-bottom: 0;
}

.structured-group-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}

.structured-group-head button:first-child span {
  min-width: 22px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #e9eeec;
  color: #66767d;
  font-size: 8px;
  font-weight: 800;
}

.structured-group-head > small {
  color: var(--muted);
  font-size: 9px;
}

.structured-group-body {
  display: grid;
}

.structured-task-row {
  min-width: 0;
  min-height: 58px;
  display: grid;
  grid-template-columns: 86px minmax(220px, 1.6fr) minmax(150px, .8fr) 105px 90px 24px;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-top: 1px solid #edf0ef;
  background: #fff;
  cursor: pointer;
}

.structured-task-row:first-child {
  border-top: 0;
}

.structured-task-row:hover {
  background: #f8faf9;
}

.structured-task-row[draggable="true"] {
  cursor: grab;
}

.structured-task-row.dragging {
  opacity: .45;
}

.structured-task-code {
  color: #6e7f86;
  font-size: 9px;
  font-weight: 800;
}

.structured-task-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.structured-task-main small {
  overflow: hidden;
  color: #7b8b92;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.structured-task-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}

.structured-task-assignees,
.structured-task-due {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  color: #64747b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
}

.structured-task-assignees svg,
.structured-task-due svg,
.structured-row-grip svg {
  width: 14px;
  flex: none;
}

.structured-task-due.overdue {
  color: #a94139;
  font-weight: 800;
}

.structured-status {
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf1f2;
  color: #64747b;
  font-size: 8px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.structured-status.done { background: #e7f3eb; color: #347351; }
.structured-status.waiting { background: #fff3df; color: #90631d; }
.structured-status.progress { background: #eaf2f8; color: #426b8b; }
.structured-status.assigned { background: #eef0f6; color: #565f82; }

.structured-row-grip {
  color: #9aa6aa;
}

.structured-phase-empty {
  min-height: 52px;
  display: grid;
  place-items: center;
  border: 1px dashed #ccd4d1;
  border-radius: 5px;
  color: var(--muted);
  font-size: 9px;
}

@media (max-width: 1040px) {
  .project-view-switcher {
    max-width: 100%;
    overflow-x: auto;
  }

  .structured-task-row {
    grid-template-columns: 72px minmax(190px, 1fr) minmax(120px, .65fr) 90px 82px 18px;
    gap: 8px;
  }
}

@media (max-width: 760px) {
  .structured-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .structured-toolbar label {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .structured-summary {
    width: 100%;
    padding: 0;
  }

  .structured-group-directory > div {
    grid-template-columns: 1fr;
  }

  .structured-directory-item {
    grid-template-columns: minmax(0, 1fr) 34px 34px;
  }

  .structured-group-directory > header > span > span small {
    max-width: 245px;
    line-height: 1.35;
  }

  .structured-phase-head {
    grid-template-columns: minmax(0, 1fr) auto 36px;
    gap: 7px;
  }

  .structured-phase-head > span {
    display: none;
  }

  .structured-group-head {
    grid-template-columns: minmax(0, 1fr) 34px;
  }

  .structured-group-head > small {
    display: none;
  }

  .structured-task-row {
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 7px 9px;
    padding: 10px;
  }

  .structured-task-main {
    grid-column: 2 / 4;
  }

  .structured-task-assignees {
    grid-column: 2 / 3;
  }

  .structured-task-due {
    grid-column: 2 / 3;
  }

  .structured-status {
    grid-column: 3;
    grid-row: 2;
  }

  .structured-row-grip {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
  }
}

.task-view-modal {
  width: min(900px, calc(100vw - 36px));
  max-height: min(92vh, 980px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.task-view-modal > header { flex: none; }
.task-view-modal > header #task-view-title { margin-top: 4px; color: #5f7078; font-size: 15px; font-weight: 750; line-height: 1.3; }
.task-view-content { overflow-y: auto; padding: 0 30px 28px; }

.task-view-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  align-items: start;
  padding: 26px 0 24px;
  border-bottom: 1px solid var(--line);
}

.task-view-hero > div:first-child,
.task-view-hero > h3,
.task-view-hero > p { grid-column: 1; min-width: 0; }
.task-view-hero > div:first-child { display: flex; align-items: center; gap: 9px; }
.task-view-code { font-size: 11px; font-weight: 900; color: var(--muted); text-transform: uppercase; }
.task-view-hero h3 { margin: 13px 0 4px; font-size: 24px; line-height: 1.25; overflow-wrap: anywhere; }
.task-view-hero p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.task-view-hero p strong { color: var(--ink); }
.task-view-actions { position: static; grid-column: 2; grid-row: 1 / 4; justify-self: end; display: grid; justify-items: end; align-content: center; gap: 8px; }
.task-view-execution-actions,
.task-view-admin-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.task-view-execution-actions { padding: 7px; border: 1px solid #dfe7e3; border-radius: 6px; background: #f5f8f6; }
.task-view-actions .btn { min-height: 42px; white-space: nowrap; flex: none; }
.task-view-actions .btn-feedback-request:disabled { white-space: normal; }

.task-view-section { padding: 25px 0; border-bottom: 1px solid var(--line); }
.task-view-section:last-child { border-bottom: 0; }
.task-view-section-title { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.task-view-section-title > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 6px; background: #eef2f0; color: #426256; flex: none; }
.task-view-section-title > span svg { width: 18px; height: 18px; }
.task-view-section-title small { display: block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.task-view-section-title h3 { margin: 2px 0 0; font-size: 16px; }

.task-view-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
.task-view-detail { min-width: 0; padding: 13px 0; border-bottom: 1px solid #edf0ef; }
.task-view-detail.wide { grid-column: 1 / -1; }
.task-view-detail small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.task-view-detail strong { display: block; min-width: 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.task-view-detail a { display: inline-flex; align-items: center; gap: 6px; color: #315f9a; text-decoration: none; }
.task-view-detail a:hover { text-decoration: underline; }
.task-view-detail a svg { width: 14px; height: 14px; flex: none; }

.task-view-copy { display: grid; gap: 18px; }
.task-view-copy > div { padding-left: 14px; border-left: 3px solid #d9e1de; }
.task-view-copy > div.safety { border-left-color: #e1a33c; }
.task-view-copy small { color: var(--muted); font-size: 9px; font-weight: 900; }
.task-view-copy p { margin: 7px 0 0; font-size: 13px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }

.task-view-dependencies { display: grid; gap: 8px; }
.task-view-dependencies > div { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid #edf0ef; }
.task-view-dependencies b { font-size: 10px; color: var(--muted); }
.task-view-dependencies span { min-width: 0; }
.task-view-dependencies span small,
.task-view-dependencies span strong { display: block; overflow-wrap: anywhere; }
.task-view-dependencies span small { margin-bottom: 3px; color: var(--muted); font-size: 9px; }
.task-view-dependencies span strong { font-size: 12px; }
.task-view-dependencies em { padding: 5px 8px; border-radius: 5px; background: #edf1f0; color: var(--muted); font-size: 9px; font-style: normal; font-weight: 900; }
.task-view-dependencies em.done { background: #e4f2e9; color: #397556; }

.task-document-panel.compact { display: grid; gap: 9px; min-width: 0; }
.task-document-heading { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.task-document-heading > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; background: #edf2f0; color: #426256; }
.task-document-heading svg { width: 14px; height: 14px; }
.task-document-heading strong { min-width: 0; font-size: 12px; }
.task-document-heading b { min-width: 24px; padding: 4px 6px; border-radius: 5px; background: #edf2f0; color: #426256; font-size: 9px; text-align: center; }
.task-document-list { display: grid; gap: 7px; min-width: 0; }
.task-document-row { width: 100%; min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #dfe6e3; border-radius: 6px; background: #fbfcfb; color: var(--ink); text-align: left; cursor: pointer; }
.task-document-row:hover { border-color: #9db5aa; background: #f3f7f5; }
.task-document-row:focus-visible { outline: 2px solid #4d806b; outline-offset: 2px; }
.task-document-row:disabled { cursor: default; opacity: .65; }
.task-document-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #eaf0ee; color: #315f56; }
.task-document-icon svg { width: 18px; height: 18px; }
.task-document-copy { min-width: 0; }
.task-document-copy strong,
.task-document-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-document-copy strong { font-size: 11px; }
.task-document-copy small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.task-document-action { display: grid; justify-items: center; gap: 2px; min-width: 52px; color: #426256; }
.task-document-action svg { width: 16px; height: 16px; }
.task-document-action small { font-size: 7px; font-weight: 900; }
.task-document-state { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border: 1px dashed #d7e0dc; border-radius: 6px; color: var(--muted); font-size: 9px; text-align: center; }
.task-document-state svg { width: 16px; height: 16px; flex: none; }
.task-document-state .lucide-loader-circle { animation: task-document-spin .8s linear infinite; }
@keyframes task-document-spin { to { transform: rotate(360deg); } }
.task-document-state.error { border-color: #efc5bd; background: #fff5f2; color: #a94f42; }
.workstation-task .task-document-panel { margin-top: 13px; padding-top: 13px; border-top: 1px solid #edf0ef; }

.task-view-activity-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; border-bottom: 1px solid var(--line); }
.task-view-activity-grid > .task-view-section { min-width: 0; border-bottom: 0; }
.task-feedback-rounds { display: grid; gap: 8px; }
.task-feedback-round { padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: #fbfcfb; }
.task-feedback-round > header { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.task-feedback-round > header > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #eef2f7; color: #537fc1; }
.task-feedback-round > header > span svg { width: 13px; height: 13px; }
.task-feedback-round > header strong,
.task-feedback-round > header small { display: block; }
.task-feedback-round > header strong { font-size: 12px; }
.task-feedback-round > header small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.task-feedback-round > header > b { padding: 4px 6px; border-radius: 4px; font-size: 8px; }
.task-feedback-round > header > b.waiting { background: #fff0d9; color: #94651f; }
.task-feedback-round > header > b.complete { background: #e4f2e9; color: #397556; }
.task-feedback-round > p { margin: 8px 0 0; padding: 7px 9px; border-left: 2px solid #cfd9e5; background: #f3f6f9; font-size: 10px; line-height: 1.4; }
.task-feedback-responses { display: grid; gap: 5px; margin-top: 8px; }
.task-feedback-response { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 6px 7px; background: #fff; border: 1px solid #e6eae8; border-radius: 4px; }
.task-feedback-response > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #e8f1ec; color: #3f7b59; }
.task-feedback-response.waiting > span { background: #fff0d9; color: #94651f; }
.task-feedback-response.working > span { background: #e8eff8; color: #426b9e; }
.task-feedback-response svg { width: 12px; height: 12px; }
.task-feedback-response strong,
.task-feedback-response p { display: block; margin: 0; font-size: 11px; }
.task-feedback-response p { margin-top: 2px; color: var(--muted); }
.task-feedback-response time { color: var(--muted); font-size: 9px; }
.task-feedback-empty { padding: 8px; color: var(--muted); font-size: 10px; text-align: center; }

.task-time-log-heading { align-items: center; }
.task-time-log-heading > b { margin-left: auto; display: grid; justify-items: end; gap: 2px; font-size: 17px; }
.task-time-log-heading > b small { font-size: 8px; }
.task-time-log-rows { display: grid; gap: 7px; }
.task-time-log-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-width: 0; padding: 9px 10px; border: 1px solid #e2e8e5; border-radius: 6px; background: #fbfcfb; }
.task-time-log-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #173f48; color: #fff; font-size: 9px; font-weight: 900; }
.task-time-log-person { min-width: 0; }
.task-time-log-person strong,
.task-time-log-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-time-log-person strong { font-size: 11px; }
.task-time-log-person small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.task-time-log-total { font-size: 13px; white-space: nowrap; }
.task-time-log-editor { grid-column: 2 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; padding-top: 7px; border-top: 1px solid #edf0ef; }
.task-time-log-editor > span { color: var(--muted); font-size: 9px; font-weight: 800; }
.task-time-log-editor > div { display: grid; grid-template-columns: minmax(58px, 1fr) auto 30px; align-items: center; min-width: 0; height: 32px; border: 1px solid #dce3e0; border-radius: 5px; background: #fff; overflow: hidden; }
.task-time-log-editor input { width: 100%; min-width: 0; height: 30px; padding: 0 8px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11px; font-weight: 800; }
.task-time-log-editor em { padding-right: 7px; color: var(--muted); font-size: 9px; font-style: normal; }
.task-time-log-editor .icon-btn { width: 30px; height: 30px; min-height: 30px; border: 0; border-left: 1px solid #e3e8e6; border-radius: 0; background: #eef5f1; color: #397556; }
.task-time-log-editor .icon-btn:hover { transform: none; background: #e2efe8; }
.task-time-log-editor .icon-btn svg { width: 14px; height: 14px; }

@media (max-width: 700px) {
  .task-view-modal { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .task-view-content { padding: 0 18px 22px; }
  .task-view-hero { display: block; padding-top: 20px; }
  .task-view-hero p { padding-right: 0; }
  .task-view-actions { position: static; margin-top: 18px; display: grid; justify-items: stretch; }
  .task-view-execution-actions,
  .task-view-admin-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-view-actions .btn { width: 100%; min-width: 0; white-space: normal; }
  .task-view-grid { grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .task-view-dependencies > div { grid-template-columns: 72px minmax(0, 1fr); }
  .task-view-dependencies em { grid-column: 2; }
  .task-view-activity-grid { grid-template-columns: 1fr; gap: 0; border-bottom: 0; }
  .task-view-activity-grid > .task-view-section { border-bottom: 1px solid var(--line); }
  .task-feedback-round > header { grid-template-columns: 26px minmax(0, 1fr); }
  .task-feedback-round > header > b { grid-column: 2; justify-self: start; }
  .task-feedback-response { grid-template-columns: 24px minmax(0, 1fr); }
  .task-feedback-response time { grid-column: 2; }
}

@media (max-width: 430px) {
  .task-view-execution-actions,
  .task-view-admin-actions { grid-template-columns: 1fr; }
  .task-view-grid { grid-template-columns: 1fr; }
  .task-view-detail.wide { grid-column: auto; }
}

/* HR and payroll workspace */
.hr-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}
.hr-admin-head h2{margin:4px 0;font-size:20px}.hr-admin-head p{margin:0;color:var(--muted);font-size:10px}
.hr-admin-tabs{width:max-content;max-width:100%;overflow-x:auto}.hr-admin-panel{display:grid;gap:18px}
.hr-exception-list,.hr-absence-list{display:grid}
.hr-exception-row{display:grid;grid-template-columns:34px minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0ef}
.hr-exception-row:first-child,.hr-absence-row:first-child{border-top:0}.exception-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:5px;background:#fff5df;color:#9a671a}
.exception-icon svg{width:16px}.hr-exception-row strong,.hr-absence-row strong{display:block;font-size:11px}.hr-exception-row small,.hr-absence-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.hr-exception-row>b{font-size:10px;color:#9a671a}
.hr-correction-list{display:grid}.hr-correction-row{display:grid;grid-template-columns:30px minmax(190px,.8fr) minmax(240px,1.2fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0ef}.hr-correction-row:first-child{border-top:0}.hr-correction-row>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:5px;background:#edf2ef;color:#4b6c5b}.hr-correction-row svg{width:15px}.hr-correction-row strong{display:block;font-size:10px}.hr-correction-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.hr-correction-row p{margin:0;font-size:10px;line-height:1.4}
.hr-absence-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) minmax(160px,.8fr) 110px 40px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0ef}.hr-absence-row>.icon-btn{width:34px;height:34px}
.payroll-close-controls{display:grid;grid-template-columns:220px minmax(180px,1fr) auto;gap:14px;align-items:end}.payroll-close-controls>div{display:flex;align-items:center;gap:9px;min-height:44px}.payroll-close-controls>div small{color:var(--muted)}
.time-detail-row.has-actions{grid-template-columns:90px 140px repeat(9,88px) minmax(280px,1fr) 48px;min-width:1452px}.time-detail-row.has-actions .icon-btn{width:32px;height:32px}.time-detail-row.has-actions .icon-btn svg{width:14px}
@media(max-width:760px){.hr-admin-head{padding:15px}.hr-admin-head p{max-width:280px}.hr-admin-tabs{width:100%}.hr-admin-tabs button{flex:0 0 auto}.hr-exception-row{grid-template-columns:32px 1fr auto}.hr-exception-row>b{grid-column:2}.hr-exception-row .btn{grid-column:3;grid-row:1/3}.hr-correction-row{grid-template-columns:30px 1fr}.hr-correction-row p{grid-column:2}.hr-absence-row{grid-template-columns:1fr auto}.hr-absence-row>span:nth-child(2),.hr-absence-row>span:nth-child(3){grid-column:1}.hr-absence-row>.status-pill,.hr-absence-row>.icon-btn{grid-column:2}.payroll-close-controls{grid-template-columns:1fr}.payroll-close-controls .btn{width:100%}}

.hr-employee-issues{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden;margin-top:8px}.hr-employee-issues:first-child{margin-top:0}.hr-employee-issues summary{min-height:62px;padding:10px 13px;display:grid;grid-template-columns:38px minmax(160px,1fr) auto 28px;gap:11px;align-items:center;cursor:pointer;list-style:none}.hr-employee-issues summary::-webkit-details-marker{display:none}.hr-employee-issues summary:hover{background:#f8f9f8}.hr-employee-issues summary .avatar{width:38px;height:38px}.hr-employee-issues summary strong{display:block;font-size:11px}.hr-employee-issues summary small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.hr-employee-issues summary>b{padding:5px 9px;border-radius:999px;background:#fff1dc;color:#94631a;font-size:9px;white-space:nowrap}.accordion-chevron{width:28px;height:28px;display:grid;place-items:center;color:var(--muted);transition:transform .18s ease}.accordion-chevron svg{width:16px}.hr-employee-issues[open] .accordion-chevron{transform:rotate(180deg)}.hr-employee-issue-list{padding:0 13px 6px;border-top:1px solid var(--line);background:#fbfcfb}.hr-employee-issue-list .hr-exception-row{grid-template-columns:34px minmax(180px,1fr) auto}.daily-status.absence-annual_leave{background:#e9f3ed;color:#347351}.daily-status.absence-sick_leave{background:#fff0ee;color:#a94139}.daily-status.absence-other{background:#fff5df;color:#966419}
@media(max-width:760px){.hr-employee-issues summary{grid-template-columns:36px minmax(120px,1fr) auto 24px;padding:9px}.hr-employee-issues summary .avatar{width:36px;height:36px}.hr-employee-issues summary>b{padding:4px 7px}.hr-employee-issue-list{padding:0 9px 5px}.hr-employee-issue-list .hr-exception-row{grid-template-columns:30px minmax(0,1fr) auto}.hr-employee-issue-list .hr-exception-row .btn{grid-column:3;grid-row:auto}}

/* Workshop tablets */
.workstation-admin-panel,.pda-management-panel{margin:18px 0}.pda-station-builder{display:grid;grid-template-columns:minmax(240px,520px) auto;gap:12px;align-items:end;padding:18px 20px;border-top:1px solid var(--line);background:#f8faf9}.pda-station-builder label{display:grid;gap:6px;font-size:10px;font-weight:800}.pda-station-builder .btn{min-height:44px}.pda-station-list{display:grid;padding:0 20px}.pda-station-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #e5e9e7}.pda-station-row>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#e9eff7;color:#426b9e}.pda-station-row svg{width:16px}.pda-station-row strong,.pda-station-row small{display:block}.pda-station-row strong{font-size:11px}.pda-station-row small{margin-top:3px;color:var(--muted);font-size:9px}.pda-station-row>b{font-size:9px;color:var(--green);text-align:right}.workstation-activation-builder{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:18px 20px;border-top:1px solid var(--line)}.workstation-activation-builder label{display:grid;gap:6px;font-size:10px;font-weight:800}.workstation-activation-builder .btn{min-height:44px}.workstation-code-result{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 20px 16px;padding:14px 16px;border:1px solid #e6cd87;border-radius:6px;background:#fff8df}.workstation-code-result strong,.workstation-code-result small{display:block}.workstation-code-result strong{margin:5px 0;font-size:23px;letter-spacing:.08em}.workstation-code-result small{color:#796435;font-size:9px}.workstation-device-list{display:grid;padding:0 20px 18px}.workstation-device-row{display:grid;grid-template-columns:34px minmax(170px,1fr) minmax(170px,1fr) 120px 40px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0ef}.workstation-device-row>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#eaf1ef;color:#315f56}.workstation-device-row svg{width:16px}.workstation-device-row strong,.workstation-device-row small{display:block}.workstation-device-row strong{font-size:11px}.workstation-device-row small{margin-top:3px;color:var(--muted);font-size:9px}.workstation-device-row>b{font-size:9px;color:var(--green)}.workstation-device-row>b.revoked{color:var(--danger)}.workstation-empty{padding:16px;color:var(--muted);font-size:11px;text-align:center}

.workstation-app{min-height:100dvh;background:#eef1ef;color:#102f39}.workstation-topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,54px);background:#103c45;color:#fff}.workstation-brand{display:flex;align-items:center;gap:13px;min-width:0}.workstation-brand>span{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:6px;background:rgba(255,255,255,.08);font-size:15px;font-weight:900}.workstation-brand div{min-width:0}.workstation-brand small,.workstation-brand strong{display:block}.workstation-brand small{margin-bottom:3px;color:#a9c4c7;font-size:9px;font-weight:800}.workstation-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.workstation-top-actions{display:flex;gap:8px}.workstation-top-actions .icon-btn{color:#fff;background:rgba(255,255,255,.1)}.workstation-content{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:32px 0 50px}.workstation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.workstation-heading h1{margin:5px 0;font-size:28px}.workstation-heading p{margin:0;color:#6c8085;font-size:10px}.workstation-live{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:5px;background:#dff0e5;color:#32704e;font-size:9px;font-weight:900}.workstation-live svg{width:14px}.workstation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.workstation-metric{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:16px;border:1px solid #dce2df;border-radius:7px;background:#fff}.workstation-metric>span{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;background:#edf2f0;color:#315f56}.workstation-metric svg{width:19px}.workstation-metric strong,.workstation-metric small{display:block}.workstation-metric strong{font-size:22px}.workstation-metric small{margin-top:2px;color:#73878b;font-size:9px}.workstation-project-list{display:grid;gap:14px}.workstation-project{border:1px solid #dce2df;border-radius:7px;background:#fff;overflow:hidden}.workstation-project>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;background:#f7f8f7;border-bottom:1px solid #e3e7e5}.workstation-project>header strong,.workstation-project>header small{display:block}.workstation-project>header strong{font-size:16px}.workstation-project>header small{margin-top:4px;color:#73878b;font-size:9px}.workstation-project>header b{padding:6px 9px;border-radius:5px;background:#e5ecea;color:#315f56;font-size:9px}.workstation-task{padding:16px 19px;border-top:1px solid #edf0ef}.workstation-task:first-of-type{border-top:0}.workstation-task-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.workstation-task-head strong,.workstation-task-head small{display:block}.workstation-task-head strong{font-size:13px}.workstation-task-head small{margin-top:4px;color:#73878b;font-size:9px}.workstation-task-head>span:last-child{padding:6px 8px;border-radius:5px;background:#fff1d6;color:#8f641d;font-size:9px;font-weight:900}.workstation-items{display:grid;gap:7px;margin-top:12px}.workstation-item{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(110px,.6fr) 92px;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e4e8e6;border-radius:6px;background:#fbfcfb}.workstation-item>span:first-child{color:#718489;font-size:9px;font-weight:900}.workstation-item strong,.workstation-item small{display:block}.workstation-item strong{font-size:11px}.workstation-item small{margin-top:2px;color:#7b8e91;font-size:8px}.workstation-item>b{font-size:10px}.workstation-item>em{justify-self:end;padding:5px 7px;border-radius:5px;background:#e8efed;color:#315f56;font-size:8px;font-style:normal;font-weight:900}.workstation-no-items{margin:11px 0 0;color:#7b8e91;font-size:10px}.workstation-board-empty{padding:44px 20px;border:1px solid #dce2df;border-radius:7px;background:#fff;text-align:center}.workstation-board-empty svg{width:32px;color:#839599}.workstation-board-empty strong,.workstation-board-empty small{display:block}.workstation-board-empty strong{margin:10px 0 4px}.workstation-board-empty small{color:#7b8e91}

@media(max-width:760px){.pda-station-builder{grid-template-columns:1fr;padding:15px}.pda-station-list{padding:0 15px}.pda-station-row{grid-template-columns:34px minmax(0,1fr) auto}.workstation-activation-builder{grid-template-columns:1fr;padding:15px}.workstation-code-result{align-items:stretch;flex-direction:column;margin:0 15px 14px}.workstation-code-result .btn{width:100%}.workstation-device-list{padding:0 15px 15px}.workstation-device-row{grid-template-columns:34px minmax(0,1fr) auto}.workstation-device-row>span:nth-child(3){grid-column:2}.workstation-device-row>b{grid-column:2}.workstation-device-row>.icon-btn{grid-column:3;grid-row:1/4}.workstation-topbar{height:72px;padding:0 14px}.workstation-content{width:calc(100% - 24px);padding:22px 0 34px}.workstation-heading h1{font-size:22px}.workstation-live{display:none}.workstation-summary{grid-template-columns:1fr 1fr;margin:18px 0}.workstation-summary .workstation-metric:last-child{grid-column:1/-1}.workstation-project>header,.workstation-task{padding:14px}.workstation-item{grid-template-columns:38px minmax(0,1fr) auto}.workstation-item>span:nth-child(3){grid-column:2}.workstation-item>em{grid-column:3;grid-row:1/3}.workstation-brand strong{font-size:15px}}

/* Dedicated local workshop shell */
.workshop-shell{background:#e9edeb}
.workshop-shell .app{grid-template-columns:244px minmax(0,1fr)}
.workshop-shell .workspace{grid-column:2}
.workshop-rail{position:fixed;inset:0 auto 0 0;width:244px;z-index:32;display:flex;flex-direction:column;background:#101b25;color:#dce3e5;border-right:1px solid rgba(255,255,255,.08)}
.workshop-rail-brand{height:84px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.workshop-rail-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;background:var(--accent);color:#fff;font-size:14px;font-weight:900}
.workshop-rail-brand small,.workshop-rail-brand strong{display:block}.workshop-rail-brand small{color:#93a3ab;font-size:8px;font-weight:900;letter-spacing:.12em}.workshop-rail-brand strong{margin-top:3px;color:#fff;font-size:18px}
.workshop-version-label{display:block;margin-top:3px;color:#8fa1a9;font-size:8px;font-weight:800;font-variant-numeric:tabular-nums}.workshop-version-label.is-development{color:#d3ac56}.workshop-topbar-context small b{font:inherit;color:#4e6f64;font-variant-numeric:tabular-nums}
.workshop-runtime{display:flex;align-items:center;gap:11px;margin:18px 14px 10px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:6px;background:#172631}
.workshop-runtime>svg{width:18px;color:#7eb397}.workshop-runtime small,.workshop-runtime strong{display:block}.workshop-runtime small{color:#81939c;font-size:8px;font-weight:900}.workshop-runtime strong{margin-top:3px;color:#dfe7e8;font-size:11px}
.workshop-process-nav{display:grid;gap:4px;padding:18px 12px}.workshop-process-nav>small{padding:0 10px 8px;color:#71838c;font-size:8px;font-weight:900;letter-spacing:.12em}
.workshop-process-nav button{position:relative;width:100%;height:48px;display:flex;align-items:center;gap:11px;padding:0 13px;border:0;border-radius:5px;background:transparent;color:#aebbc0;text-align:left;font-size:11px;font-weight:750}
.workshop-process-nav button:hover{background:#192b37;color:#fff}.workshop-process-nav button.active{background:#213744;color:#fff}.workshop-process-nav button.active:before{position:absolute;inset:9px auto 9px 0;width:3px;border-radius:0 3px 3px 0;content:"";background:var(--accent)}
.workshop-process-nav button svg{width:18px;flex:none}
.workshop-rail-status{display:grid;grid-template-columns:9px 1fr;align-items:center;gap:10px;margin:auto 18px 20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.workshop-rail-status>span{width:9px;height:9px;border-radius:50%;background:#d6a348;box-shadow:0 0 0 4px rgba(214,163,72,.1)}.workshop-rail-status.online>span{background:#62b482;box-shadow:0 0 0 4px rgba(98,180,130,.1)}.workshop-rail-status.offline>span{background:#d86559;box-shadow:0 0 0 4px rgba(216,101,89,.1)}
.workshop-rail-status strong,.workshop-rail-status small{display:block}.workshop-rail-status strong{color:#e7edee;font-size:10px}.workshop-rail-status small{margin-top:2px;color:#82949c;font-size:8px}
.workshop-shell .topbar{height:84px;padding:0 22px;background:#fff;border-bottom-color:#dce2df}
.workshop-topbar-context{display:flex;align-items:center;gap:12px}.workshop-topbar-context>span{width:40px;height:40px;display:grid;place-items:center;border-radius:6px;background:#e8eeeb;color:#315f56}.workshop-topbar-context>span svg{width:19px}.workshop-topbar-context small,.workshop-topbar-context strong{display:block}.workshop-topbar-context small{color:#74858d;font-size:8px;font-weight:900;letter-spacing:.12em}.workshop-topbar-context strong{margin-top:3px;font-size:13px}
.workshop-webapp-link{text-decoration:none}.workshop-shell .notification-popover{display:none!important}
.workshop-shell .view{padding:18px;min-height:calc(100vh - 84px)}.workshop-shell .steel-page-head{margin-bottom:16px}.workshop-shell .steel-page-head h1{font-size:24px}.workshop-shell .steel-frame-wrap{height:calc(100vh - 286px);min-height:470px}
.steel-workbench.is-launcher .steel-frame-wrap{height:410px;min-height:360px}.steel-workbench.is-launcher .steel-frame-wrap iframe{display:none}
.steel-launch-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px}.steel-frame-placeholder .steel-launch-local{min-width:210px}.steel-frame-placeholder>small{margin-top:10px;color:#89969c;font-size:9px}
@media(max-width:560px){.steel-launch-actions{width:min(100%,300px);flex-direction:column}.steel-launch-actions .btn{width:100%}}

@media(max-width:980px){
  .workshop-shell .app{grid-template-columns:82px minmax(0,1fr)}
  .workshop-shell .workspace{grid-column:2}
  .workshop-rail{width:82px}
  .workshop-rail-brand{justify-content:center;padding:0}.workshop-rail-brand>div,.workshop-runtime span,.workshop-process-nav button span,.workshop-process-nav>small,.workshop-rail-status div{display:none}
  .workshop-runtime{justify-content:center;margin:14px 10px;padding:11px}
  .workshop-process-nav{padding:12px 8px}.workshop-process-nav button{justify-content:center;padding:0}
  .workshop-rail-status{display:flex;justify-content:center;margin:auto 12px 20px}
}
@media(max-width:700px){
  .workshop-shell .app{display:block}
  .workshop-shell .workspace{width:100%}
  .workshop-rail{position:sticky;inset:0;width:100%;height:58px;display:block}
  .workshop-rail-brand,.workshop-runtime,.workshop-rail-status{display:none}
  .workshop-process-nav{height:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0}
  .workshop-process-nav button{height:58px;flex-direction:column;justify-content:center;gap:3px;border-radius:0;font-size:8px}
  .workshop-process-nav button span{display:block}.workshop-process-nav button.active:before{inset:auto 12px 0;height:3px;width:auto;border-radius:3px 3px 0 0}
  .workshop-shell .topbar{height:68px;padding:0 12px}.workshop-topbar-context>span{display:none}.workshop-topbar-context strong{font-size:11px}
  .workshop-webapp-link span{display:none}.workshop-webapp-link{width:40px;padding:0}
  .workshop-shell .view{padding:12px;min-height:calc(100vh - 126px)}
  .workshop-shell .steel-frame-wrap{height:calc(100vh - 365px);min-height:460px}
}

/* Manager task timeline */
.task-timeline-panel{display:grid;gap:20px;min-width:0}.task-timeline-head{align-items:flex-start;margin-bottom:0}.task-timeline-head p{max-width:620px;margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.task-timeline-calendar{max-width:980px;border:1px solid var(--line);border-radius:7px;background:#fafbfa;overflow:hidden}.task-timeline-calendar>header{height:58px;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);background:#fff}.task-timeline-calendar>header strong{text-align:center;font-size:15px;text-transform:capitalize}.task-timeline-calendar>header .icon-btn{width:36px;height:36px}.task-timeline-weekdays,.task-timeline-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.task-timeline-weekdays{padding:10px 12px 4px;color:var(--muted);font-size:8px;font-weight:900;text-align:center;text-transform:uppercase}.task-timeline-days{gap:6px;padding:6px 12px 12px}.task-timeline-day,.task-timeline-day-spacer{aspect-ratio:1.28;min-height:68px}.task-timeline-day{position:relative;display:grid;grid-template-rows:auto 1fr auto;align-items:start;padding:9px;border:1px solid #e1e6e3;border-radius:6px;background:#fff;text-align:left;transition:border-color .15s,background .15s}.task-timeline-day:hover{border-color:#9aaba4;background:#f7faf8}.task-timeline-day.weekend{background:#f4f5f3}.task-timeline-day.today:after{position:absolute;inset:5px 5px auto auto;width:5px;height:5px;border-radius:50%;background:var(--accent);content:""}.task-timeline-day.selected{border-color:#173f48;background:#173f48;color:#fff;box-shadow:0 0 0 2px rgba(23,63,72,.12)}.task-timeline-day b{font-size:13px}.task-timeline-day>span{display:flex;align-items:center;align-self:center;gap:5px}.task-timeline-day>span i{width:7px;height:7px;border-radius:2px}.task-timeline-day>span i.logged{background:#537fc1}.task-timeline-day>span i.completed{background:#4f9b73}.task-timeline-day.selected>span i{box-shadow:0 0 0 1px rgba(255,255,255,.55)}.task-timeline-day small{min-height:11px;color:var(--muted);font-size:8px;font-weight:800}.task-timeline-day.selected small{color:#d6e2df}
.task-timeline-detail{display:grid;gap:12px;padding-top:4px}.task-timeline-detail>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.task-timeline-detail h3{margin:4px 0 0;font-size:18px;text-transform:capitalize}.task-timeline-summary{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap}.task-timeline-summary span{min-width:88px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#f7f8f7}.task-timeline-summary b,.task-timeline-summary small{display:block}.task-timeline-summary b{font-size:12px}.task-timeline-summary small{margin-top:2px;color:var(--muted);font-size:7px;font-weight:800}
.task-timeline-list{display:grid;gap:8px}.task-timeline-row{width:100%;display:grid;grid-template-columns:38px minmax(220px,1fr) minmax(280px,.9fr) 28px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:left}.task-timeline-row:hover{border-color:#b8c4bf;background:#fbfcfb}.task-timeline-row:disabled{cursor:default;opacity:.72}.task-timeline-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#173f48;color:#fff;font-size:9px;font-weight:900}.task-timeline-main{min-width:0}.task-timeline-person{display:flex;align-items:center;gap:8px;min-width:0}.task-timeline-person>strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-timeline-person em{flex:none;padding:3px 6px;border-radius:999px;background:#edf3fb;color:#456e9f;font-size:7px;font-style:normal;font-weight:900}.task-timeline-person em.done{background:#e7f3eb;color:#347351}.task-timeline-person em.returned{background:#fff0ee;color:#a94139}.task-timeline-person em.reported{background:#fff5df;color:#936419}.task-timeline-task{display:flex;align-items:baseline;gap:8px;min-width:0;margin-top:5px}.task-timeline-task b{flex:none;color:#49656d;font-size:9px}.task-timeline-task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.task-timeline-main>small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.task-timeline-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.task-timeline-meta>span{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;min-width:0}.task-timeline-meta svg{grid-row:1/3;width:16px;color:#6f8287}.task-timeline-meta b,.task-timeline-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-timeline-meta b{font-size:9px}.task-timeline-meta small{color:var(--muted);font-size:7px}.task-timeline-open{display:grid;place-items:center;color:#7d8c91}.task-timeline-open svg{width:16px}
@media(max-width:900px){.task-timeline-row{grid-template-columns:38px minmax(0,1fr) 28px}.task-timeline-meta{grid-column:2;grid-template-columns:1fr 1fr}.task-timeline-open{grid-column:3;grid-row:1/3}.task-timeline-detail>header{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.task-timeline-panel{gap:15px}.task-timeline-head{align-items:stretch;flex-direction:column}.task-timeline-head .btn{width:100%}.task-timeline-calendar{margin:0 -4px}.task-timeline-calendar>header{height:52px;padding:0 9px}.task-timeline-weekdays{padding:8px 6px 3px}.task-timeline-days{gap:3px;padding:4px 6px 8px}.task-timeline-day,.task-timeline-day-spacer{aspect-ratio:.86;min-height:58px}.task-timeline-day{padding:6px}.task-timeline-day b{font-size:11px}.task-timeline-day small{font-size:7px}.task-timeline-summary{display:grid;grid-template-columns:1fr 1fr;width:100%}.task-timeline-summary span{min-width:0}.task-timeline-row{grid-template-columns:34px minmax(0,1fr) 22px;gap:9px;padding:10px}.task-timeline-avatar{width:34px;height:34px}.task-timeline-meta{grid-template-columns:1fr;gap:6px}.task-timeline-task{display:grid;gap:2px}.task-timeline-task strong{white-space:normal}.task-timeline-person{align-items:flex-start;flex-direction:column;gap:4px}.task-timeline-person>strong{white-space:normal}.task-timeline-open{align-self:center}}

.senior-task-modal{width:min(620px,100%)}.senior-task-modal>header h2{max-width:460px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.senior-task-content{display:grid;gap:14px}.senior-task-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:6px;background:#173f48;color:#fff}.senior-task-identity span{font-size:11px;font-weight:900}.senior-task-identity small{color:#c9d8d5;font-size:8px;font-weight:800}.senior-task-section{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#fff}.senior-task-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.senior-task-section-head h3{margin:3px 0 0;font-size:16px}.senior-task-section-head>strong{color:#6b7c82;font-size:9px}.senior-task-section-head>strong small,.senior-task-section-head>strong b{display:block;text-align:right}.senior-task-section-head>strong small{font-size:7px}.senior-task-section-head>strong b{margin-top:2px;color:#173f48;font-size:15px}.senior-task-search{height:44px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid #dce3e0;border-radius:6px;background:#f9faf9}.senior-task-search svg{width:18px;color:#73868c}.senior-task-search input{height:40px;padding:0;border:0;outline:0;background:transparent}.senior-task-assignees{max-height:310px;display:grid;gap:6px;overflow:auto;overscroll-behavior:contain}.senior-assignee-option{min-height:54px;display:grid;grid-template-columns:36px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e0e6e3;border-radius:6px;background:#fbfcfb;cursor:pointer}.senior-assignee-option.selected{border-color:#7ba78d;background:#edf6f1}.senior-assignee-option input{position:absolute;opacity:0;pointer-events:none}.senior-assignee-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#173f48;color:#fff;font-size:9px;font-weight:900}.senior-assignee-option>span:nth-of-type(2){min-width:0}.senior-assignee-option strong,.senior-assignee-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.senior-assignee-option strong{font-size:11px}.senior-assignee-option small{margin-top:2px;color:var(--muted);font-size:8px}.senior-assignee-option>i{width:26px;height:26px;display:grid;place-items:center;border:1px solid #d5ddda;border-radius:50%;background:#fff;color:transparent}.senior-assignee-option.selected>i{border-color:#3e8b62;background:#3e8b62;color:#fff}.senior-assignee-option>i svg{width:14px}.senior-task-log form{display:grid;gap:10px}.senior-task-log-list{display:grid;gap:6px;padding-top:3px}.senior-task-log-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #e5e9e7;border-radius:6px;background:#fafbfa}.senior-task-log-row strong,.senior-task-log-row small{display:block}.senior-task-log-row strong{font-size:10px}.senior-task-log-row small{margin-top:2px;color:var(--muted);font-size:8px}.senior-task-log-row>b{font-size:11px}.senior-task-log-empty{margin:0;padding:12px;color:var(--muted);font-size:9px;text-align:center}
@media(max-width:760px){#senior-task-modal{padding:0;align-items:flex-end}.senior-task-modal{max-height:94dvh;border-radius:8px 8px 0 0}.senior-task-modal>header{position:sticky;top:0;z-index:3;background:#fff}.senior-task-modal>header h2{max-width:270px;font-size:16px}.senior-task-content{padding-bottom:max(8px,env(safe-area-inset-bottom))}.senior-task-section{padding:12px}.senior-task-assignees{max-height:34dvh}.senior-assignee-option{min-height:58px}.senior-task-section .btn{min-height:48px}.senior-task-log .form-grid.two{grid-template-columns:1fr 1fr}}

/* SolidWorks work package provisioning */
.task-work-package-field{padding:13px 14px;border:1px solid #dce4e1;border-radius:6px;background:#f7faf8}.task-work-package-field>input{background:#fff}.task-work-package-field>input[readonly]{border-color:#dce4e1;background:#eef2f0;color:#53656b;cursor:not-allowed}.work-package-help{display:block;line-height:1.45}.work-package-help.ready{color:#347351}.work-package-help.failed{color:#b5483f}.work-package-help.pending_folder,.work-package-help.pending_solidworks{color:#8a651f}
@media(max-width:760px){.task-work-package-field{padding:12px}.task-work-package-field>input{min-height:48px}}

/* Task progress, Jira-style subtasks and NAS PDF attachment picker */
.task-subtask-row input,.senior-assignee-option input{width:1px!important;height:1px!important;margin:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.task-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin:10px 0 0;--task-progress:0%}.task-progress>span{height:4px;overflow:hidden;border-radius:3px;background:#e5ebe8}.task-progress>span>i{display:block;width:var(--task-progress);height:100%;border-radius:inherit;background:#5a8f77;transition:width .2s ease}.task-progress small{color:#708187;font-size:8px;font-weight:800;white-space:nowrap}.task-progress.done>span>i{background:#3f9667}.task-progress.reported>span>i{background:#d19a38}.task-progress.compact{margin-top:8px}.worker-task-card>.task-progress{margin:0 16px 12px}.worker-task-card>.task-progress>span{height:5px}.worker-task-card>.task-progress small{font-size:9px}
.task-subtasks{display:grid;gap:10px;padding:22px 0;border-bottom:1px solid var(--line)}.task-subtasks>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.task-subtasks>header small{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}.task-subtasks>header h3{margin:3px 0 0;font-size:16px}.task-subtasks>header b{min-width:42px;padding:5px 8px;border-radius:5px;background:#edf2f0;color:#426256;font-size:9px;text-align:center}.task-subtasks.compact{padding:0;border-bottom:0}.task-subtasks.compact>header h3{font-size:13px}.task-subtask-list{display:grid;gap:6px}.task-subtask-row{min-height:40px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;padding:7px 9px;border:1px solid #dfe6e3;border-radius:6px;background:#fbfcfb;cursor:pointer}.task-subtask-row input{position:absolute;opacity:0;pointer-events:none}.task-subtask-row>span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #b9c6c1;border-radius:4px;background:#fff;color:#fff}.task-subtask-row>span svg{width:14px}.task-subtask-row strong{min-width:0;font-size:10px;line-height:1.35}.task-subtask-row.completed{border-color:#d6e4dc;background:#f3f8f5}.task-subtask-row.completed>span{border-color:#478965;background:#478965}.task-subtask-row.completed strong{color:#71817b;text-decoration:line-through}.task-subtask-row:focus-within{outline:2px solid #50846e;outline-offset:1px}.task-subtask-empty{margin:0;padding:10px;border:1px dashed #d8e0dd;border-radius:6px;color:var(--muted);font-size:9px;text-align:center}.task-subtask-add{height:42px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:0 10px;border:1px solid #ccd9d4;border-radius:6px;background:#fff}.task-subtask-add>span{display:grid;place-items:center;color:#477562}.task-subtask-add svg{width:15px}.task-subtask-add input{height:38px;padding:0;border:0;outline:0;background:transparent;font-size:10px}.task-subtask-add:focus-within{border-color:#50846e;box-shadow:0 0 0 2px rgba(80,132,110,.12)}
.task-document-title{justify-content:flex-start}.task-document-title>button{margin-left:auto;min-height:38px;padding:0 12px}.task-document-title>button svg{width:15px}.task-document-picker-modal{width:min(720px,100%)}.task-document-picker-body{display:grid;gap:14px}.task-document-folder{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #dbe4e0;border-radius:7px;background:#f5f8f6}.task-document-folder>span{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:#173f48;color:#fff}.task-document-folder>span svg{width:19px}.task-document-folder small,.task-document-folder strong{display:block}.task-document-folder small{color:var(--muted);font-size:8px;font-weight:900}.task-document-folder strong{margin-top:3px;font-size:12px}.task-document-picker-list{max-height:56vh;display:grid;gap:7px;overflow:auto;overscroll-behavior:contain}.task-document-picker-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid #dfe6e3;border-radius:6px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.task-document-picker-row:hover{border-color:#8ead9f;background:#f5f9f7}.task-document-picker-row>span:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:#edf2f0;color:#426256}.task-document-picker-row>span:nth-child(2){min-width:0}.task-document-picker-row strong,.task-document-picker-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-document-picker-row strong{font-size:11px}.task-document-picker-row small{margin-top:3px;color:var(--muted);font-size:8px}.task-document-picker-row>b{color:#3d725b;font-size:9px}.task-document-picker-row.attached{background:#f3f8f5}.task-document-picker-row:disabled{cursor:default;opacity:.78}.task-document-picker-row>b svg{width:13px;vertical-align:-2px}.task-document-picker-empty{min-height:170px;display:grid;place-items:center;align-content:center;gap:7px;padding:24px;border:1px dashed #d5dfdb;border-radius:7px;color:var(--muted);text-align:center}.task-document-picker-empty svg{width:28px}.task-document-picker-empty strong{color:var(--ink);font-size:12px}.task-document-picker-empty span{font-size:9px}.task-quantity-control>span{color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}
@media(max-width:760px){.task-progress small{font-size:8px}.worker-task-card>.task-progress{margin:0 12px 10px}.task-subtasks{padding:16px 0}.task-subtask-row{min-height:46px}.task-subtask-row strong{font-size:11px}.task-subtask-add{height:46px}.task-subtask-add input{height:42px;font-size:11px}.task-document-title{align-items:flex-start;flex-wrap:wrap}.task-document-title>button{width:100%;margin-left:47px}.task-document-picker-modal{max-height:92dvh}.task-document-folder{grid-template-columns:38px minmax(0,1fr)}.task-document-folder>button{grid-column:1/-1;width:100%;min-height:46px}.task-document-picker-list{max-height:58dvh}.task-document-picker-row{grid-template-columns:34px minmax(0,1fr);padding:9px}.task-document-picker-row>span:first-child{width:34px;height:34px}.task-document-picker-row>b{grid-column:2;justify-self:start}.task-document-picker-row strong{font-size:10px}.task-document-picker-row small{white-space:normal;line-height:1.35}}

/* Prominent, explicit subtask creation control. */
.task-subtask-add {
  height: auto;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  padding: 10px 12px;
}

.task-subtask-add input {
  min-width: 0;
  background: transparent;
}

.task-subtask-add button {
  width: auto;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #c7d5cf;
  border-radius: 5px;
  background: #edf5f0;
  color: #315f49;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.task-subtask-add button:hover {
  border-color: #8eaa9e;
  background: #e2efe7;
}

@media (max-width: 760px) {
  .task-subtask-add {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: 10px;
  }

  .task-subtask-add > span {
    display: none;
  }

  .task-subtask-add button {
    min-height: 44px;
  }
}

/* Bözsi task-time mode switch */
.bozsi-control{display:grid;grid-template-columns:auto minmax(230px,1fr);align-items:center;gap:12px;padding:12px;border:1px solid #d8e1dd;border-radius:7px;background:#f7f9f8}.bozsi-control-heading{min-width:112px}.bozsi-control-heading span,.bozsi-control-heading strong{display:block}.bozsi-control-heading span{color:#71828a;font-size:8px;font-weight:900;letter-spacing:.1em}.bozsi-control-heading strong{margin-top:3px;font-size:11px}.bozsi-control>small{grid-column:1/-1;color:#8b712f;font-size:8px;font-weight:700}.bozsi-switch{position:relative;isolation:isolate;min-height:58px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:4px;border:1px solid #bfcac6;border-radius:7px;background:#dfe5e2;color:#486068;cursor:pointer;overflow:hidden;box-shadow:inset 0 2px 5px rgba(16,47,57,.12)}.bozsi-switch:before{position:absolute;z-index:-1;inset:4px 50% 4px 4px;border-radius:5px;background:#173f48;box-shadow:0 2px 5px rgba(16,47,57,.2);content:"";transition:transform .2s ease}.bozsi-control.is-overhead .bozsi-switch:before{transform:translateX(calc(100% + 4px))}.bozsi-option{display:grid;place-items:center;min-width:0;padding:0 10px;font-size:11px;font-weight:900;transition:color .2s ease,transform .2s ease}.bozsi-control.is-action .bozsi-option.action,.bozsi-control.is-overhead .bozsi-option.overhead{color:#fff;transform:translateY(1px)}.bozsi-switch:focus-visible{outline:3px solid rgba(53,125,172,.28);outline-offset:2px}.bozsi-switch:disabled{cursor:not-allowed;opacity:.58}.worker-task-actions>.bozsi-control,.task-view-execution-actions>.bozsi-control,.focus-actions>.bozsi-control{grid-column:1/-1;width:100%}.manager-task-timer-actions>.bozsi-control{grid-column:1/-1}.bozsi-control.is-compact{grid-template-columns:1fr;gap:7px;padding:8px}.bozsi-control.is-compact .bozsi-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.bozsi-control.is-compact .bozsi-control-heading strong{margin:0;font-size:9px}.bozsi-control.is-compact .bozsi-switch{min-height:42px}.bozsi-control.is-compact .bozsi-option{font-size:8px}
.bozsi-confirm-content{display:grid;gap:16px;padding:18px}.bozsi-animation-stage{height:clamp(180px,33dvh,320px);display:grid;place-items:center;border:1px dashed #b8c6c1;border-radius:7px;background:#eef2f0;color:#779087;overflow:hidden}.bozsi-animation-stage svg{width:42px;height:42px;opacity:.42}.bozsi-confirm-content>p{max-width:520px;margin:0 auto;color:#334c54;font-size:12px;font-weight:650;line-height:1.65;text-align:center;white-space:pre-line}.bozsi-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bozsi-confirm-actions .btn{min-width:0}
.task-pause-content{display:grid;gap:16px;padding:18px}.task-pause-summary{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}.task-pause-summary>span{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;background:#fff3dc;color:#8a651f}.task-pause-summary>span svg{width:20px}.task-pause-summary small,.task-pause-summary strong{display:block}.task-pause-summary small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}.task-pause-summary strong{margin-top:3px;font-size:12px;line-height:1.35}.task-progress-capture{display:grid;gap:9px;padding:13px;border:1px solid #dbe3df;border-radius:7px;background:#f7f9f8}.task-progress-capture-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-progress-capture-heading strong{font-size:11px}.task-progress-capture-heading small{padding:3px 6px;border-radius:4px;background:#e8eeeb;color:#66766f;font-size:8px;font-weight:800}.task-progress-capture label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.task-progress-capture input{min-width:0;background:#fff}.task-progress-capture label>span{color:#52666d;font-size:10px;font-weight:800;white-space:nowrap}.task-progress-capture p{margin:0;color:var(--muted);font-size:8px;line-height:1.45}.task-pause-content>.bozsi-confirm-actions{margin-top:2px}
@media(max-width:760px){.bozsi-control{grid-template-columns:1fr;gap:8px;padding:10px}.bozsi-control-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.bozsi-control-heading strong{margin:0}.bozsi-switch{min-height:62px}.bozsi-option{font-size:10px}.bozsi-confirm-modal,.task-pause-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.bozsi-confirm-content,.task-pause-content{padding:14px}.bozsi-animation-stage{height:30dvh;min-height:170px}.bozsi-confirm-content>p{font-size:11px}.task-progress-capture input{min-height:48px;font-size:16px}.manager-task-timer-actions>.bozsi-control{min-width:210px}}
@media(max-width:390px){.bozsi-confirm-actions{grid-template-columns:1fr}.bozsi-switch{min-height:58px}.bozsi-option{padding:0 6px;font-size:9px}}

/* Additive task quantity reporting and approver correction */
.task-quantity-block{grid-column:1/-1;display:grid;gap:9px;padding:12px;border:1px solid #dbe3df;border-radius:7px;background:#f7f9f8}.task-quantity-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-quantity-status>span small,.task-quantity-status>span strong{display:block}.task-quantity-status>span small{color:#72828a;font-size:8px;font-weight:900;letter-spacing:.08em}.task-quantity-status>span strong{margin-top:3px;font-size:15px}.task-quantity-status>.icon-btn{width:34px;height:34px;color:#46675a}.task-quantity-status>.icon-btn svg{width:15px}.task-quantity-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,92px) auto 38px;align-items:center;gap:8px}.task-quantity-add label{font-size:10px}.task-quantity-add input{min-width:0;min-height:38px;padding:8px 10px;background:#fff}.task-quantity-add>span{color:#586b72;font-size:10px;font-weight:800}.task-quantity-add>.icon-btn{width:38px;height:38px;background:#173f48;color:#fff}.task-quantity-add>.icon-btn:hover{background:#24515b}.task-quantity-add>.icon-btn:disabled{background:#dce3e0;color:#8b9994;cursor:not-allowed}.task-quantity-remaining{color:#75868c;font-size:8px}.task-quantity-edit-content{display:grid;gap:16px;padding:18px}.task-quantity-edit-content>label{font-size:11px}.task-quantity-edit-content .field-help{display:block;color:var(--muted);font-size:8px;font-weight:600;line-height:1.45}.task-quantity-edit-content>.bozsi-confirm-actions{margin-top:2px}
@media(max-width:760px){.task-quantity-block{padding:11px}.task-quantity-add{grid-template-columns:minmax(0,1fr) 76px auto 42px}.task-quantity-add input{min-height:44px;font-size:16px}.task-quantity-add>.icon-btn{width:42px;height:42px}.task-quantity-edit-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.task-quantity-edit-content{padding:14px}}
@media(max-width:390px){.task-quantity-add{grid-template-columns:minmax(0,1fr) 68px 18px 40px;gap:6px}.task-quantity-add label{font-size:9px}.task-quantity-add>.icon-btn{width:40px;height:40px}}

/* My tasks: clear card boundaries and newest-first scanning rhythm */
#view-my-tasks .my-task-list {
  gap: 18px;
}

#view-my-tasks .worker-task-card {
  border-color: #b8c3c0;
  box-shadow: 0 7px 18px rgba(31, 48, 55, .09);
}

#view-my-tasks .worker-task-card:hover {
  border-color: #879892;
  box-shadow: 0 9px 22px rgba(31, 48, 55, .13);
}

#view-my-tasks .worker-task-summary {
  border-bottom: 1px solid #d8dfdc;
  background: #fafbfa;
}

#view-my-tasks .worker-task-panel {
  min-height: 72px;
  background: #fff;
}

@media(max-width:760px) {
  #view-my-tasks .my-task-list {
    gap: 16px;
  }

  #view-my-tasks .worker-task-card {
    border-width: 1px;
    box-shadow: 0 5px 14px rgba(31, 48, 55, .1);
  }
}

/* My tasks: clearer hierarchy and compact responsive controls. */
#view-my-tasks .worker-task-summary {
  grid-template-columns: 46px minmax(0, 1fr) minmax(190px, auto);
  align-items: start;
  gap: 14px;
  padding: 17px 18px 14px;
}

#view-my-tasks .worker-task-summary .task-status-icon {
  width: 46px;
  height: 46px;
  margin-top: 2px;
}

.worker-task-kicker,
.worker-task-primary-meta,
.task-state-flags,
.task-detail-flags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.worker-task-kicker {
  gap: 6px;
  margin-bottom: 5px;
}

.worker-task-kicker span {
  color: #74858d;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.worker-task-kicker span + span::before {
  margin-right: 6px;
  color: #bdc6c2;
  content: "•";
}

#view-my-tasks .worker-task-summary .my-task-copy h3 {
  margin: 0 0 7px;
  font-size: 15px;
  line-height: 1.3;
}

.worker-task-primary-meta {
  gap: 7px 14px;
  color: #5f7078;
}

.worker-task-primary-meta span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 700;
}

.worker-task-primary-meta span:first-child {
  overflow-wrap: anywhere;
}

.worker-task-primary-meta svg {
  width: 13px;
  height: 13px;
  flex: none;
}

.worker-task-primary-meta .overdue {
  color: #a63d36;
}

.worker-task-dates {
  display: block;
  margin-top: 7px;
  color: #93a0a5;
  font-size: 8px;
}

#view-my-tasks .worker-task-summary .task-card-flags {
  display: grid;
  justify-items: end;
  gap: 7px;
}

.task-state-flags,
.task-detail-flags {
  justify-content: flex-end;
  gap: 6px;
}

.worker-task-overview-progress {
  padding: 0 18px 13px;
  background: #fafbfa;
}

.worker-task-overview-progress .task-progress {
  margin: 0;
}

.worker-task-overview-progress .task-progress > span {
  height: 4px;
}

.worker-task-overview-progress .task-progress small {
  min-width: 88px;
  color: #596b73;
  font-size: 8px;
  font-weight: 800;
  text-align: right;
}

.worker-task-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.worker-task-tabs button svg {
  width: 15px;
  height: 15px;
  flex: none;
}

.worker-task-tabs .tab-label-short {
  display: none;
}

.worker-task-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 11px;
}

.worker-task-action-group {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid #dce4e1;
  border-radius: 7px;
  background: #f8faf9;
}

.worker-task-action-group.quantity,
.worker-task-actions > .bozsi-control {
  grid-column: 1 / -1;
}

.worker-task-action-group > header {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}

.worker-task-action-group > header > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #e8efec;
  color: #45675a;
}

.worker-task-action-group > header svg {
  width: 16px;
  height: 16px;
}

.worker-task-action-group > header small,
.worker-task-action-group > header strong {
  display: block;
}

.worker-task-action-group > header small {
  color: #7c8b91;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
}

.worker-task-action-group > header strong {
  margin-top: 2px;
  font-size: 11px;
}

.worker-task-action-group .worker-task-timer-row,
.worker-task-action-group .worker-task-report-row {
  grid-template-columns: 1fr;
}

.worker-task-action-group .worker-task-timer-row .btn {
  min-height: 52px;
}

.worker-task-action-group .worker-task-report-row .btn {
  min-height: 44px;
}

.worker-task-action-group .btn-complete-report {
  order: -1;
}

.worker-task-action-group .task-quantity-block {
  padding: 0;
  border: 0;
  background: transparent;
}

.feedback-request-banner {
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  padding: 11px 12px;
  border-color: #e8b6b1;
  background: #fff7f5;
}

.feedback-request-banner .btn {
  grid-column: auto;
  min-height: 38px;
  padding-inline: 12px;
  box-shadow: none;
}

.task-feedback-requested {
  border-color: #d98c85;
  box-shadow: inset 3px 0 0 #d64e47, 0 7px 18px rgba(31, 48, 55, .09);
}

@media (max-width: 760px) {
  #view-my-tasks .worker-task-summary {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 14px 13px 10px;
  }

  #view-my-tasks .worker-task-summary .task-status-icon {
    width: 38px;
    height: 38px;
  }

  #view-my-tasks .worker-task-summary .task-card-flags {
    grid-column: 1 / -1;
    justify-items: start;
    width: 100%;
    padding-top: 8px;
    border-top: 1px solid #e4e9e7;
  }

  .task-state-flags,
  .task-detail-flags {
    justify-content: flex-start;
  }

  #view-my-tasks .worker-task-summary .my-task-copy h3 {
    font-size: 13px;
  }

  .worker-task-primary-meta {
    display: grid;
    gap: 4px;
  }

  .worker-task-dates {
    display: none;
  }

  .worker-task-overview-progress {
    padding: 0 13px 10px;
  }

  .worker-task-tabs button {
    min-height: 54px;
    flex-direction: column;
    gap: 3px;
    padding: 6px 2px;
    font-size: 8px;
  }

  .worker-task-tabs button svg {
    width: 17px;
    height: 17px;
  }

  .worker-task-tabs .tab-label-long {
    display: none;
  }

  .worker-task-tabs .tab-label-short {
    display: inline;
  }

  .worker-task-actions {
    grid-template-columns: 1fr;
  }

  .worker-task-action-group,
  .worker-task-action-group.quantity {
    grid-column: 1;
    padding: 11px;
  }

  .feedback-request-banner {
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
  }

  .feedback-request-banner .btn {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
  }
}

/* Closed worktime is consistently blue in overview and attendance details. */
.attendance-status.closed {
  background: #dbeafe;
  color: #245ca6;
}

.overview-attendance-item.attendance-closed {
  background: #edf4fc;
}

.overview-attendance-item.attendance-closed .overview-attendance-avatar,
.overview-attendance-item.attendance-closed > b {
  background: #dbeafe;
  color: #245ca6;
}
