.histogram-crm-detail-overlay{top:var(--app-navbar-height);z-index:90;background:#02061773;justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.histogram-crm-detail-panel{box-sizing:border-box;color:#0f172a;background:#fff;width:min(432px,92vw);height:100%;max-height:100%;padding:14px;overflow:auto;box-shadow:-8px 0 24px #0f172a1f}.histogram-crm-detail-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.histogram-crm-detail-top h2{flex:1;min-width:0;margin:0;font-size:17px;line-height:1.25}.histogram-crm-detail-top-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.histogram-crm-detail-close{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:32px;height:32px;font-size:20px;line-height:1}.histogram-crm-detail-subtitle{color:#64748b;margin-bottom:8px;font-size:12px}.histogram-crm-detail-stages{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.histogram-crm-stage-pill{color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 8px;font-size:10px}.histogram-crm-stage-pill-active{color:#1e3a8a;background:#dbeafe;font-weight:700}.histogram-crm-detail-stack,.histogram-crm-detail-split,.histogram-crm-detail-left,.histogram-crm-detail-right{flex-direction:column;gap:10px;display:flex}.histogram-crm-info-box{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;padding:10px}.histogram-crm-info-box.is-minimized{padding-bottom:8px}.histogram-crm-info-box h4{color:#0f172a;margin:0 0 8px;font-size:13px}.histogram-crm-info-box-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:8px;margin:0 0 8px;padding:0;display:flex}.histogram-crm-info-box.is-minimized .histogram-crm-info-box-toggle{margin-bottom:0}.histogram-crm-info-box-toggle-label{color:#0f172a;flex:1;min-width:0;font-size:13px;font-weight:700}.histogram-crm-info-box-toggle-icon{color:#64748b;flex-shrink:0;font-size:16px;font-weight:700;line-height:1}.histogram-crm-info-box-toggle:hover .histogram-crm-info-box-toggle-label,.histogram-crm-info-box-toggle:focus-visible .histogram-crm-info-box-toggle-label{color:#1d4ed8}.histogram-crm-info-box-toggle:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #93c5fd}.histogram-crm-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.histogram-crm-detail-grid>div{min-width:0}.histogram-crm-detail-grid>div strong{color:#475569;margin-bottom:2px;font-size:11px;display:block}.histogram-crm-detail-grid>div span,.histogram-crm-detail-grid>div div{color:#0f172a;font-size:12px}.histogram-crm-detail-color{border-radius:3px;flex-shrink:0;width:12px;height:12px;margin-top:4px}.histogram-crm-detail-heading{align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.histogram-crm-allocation-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.histogram-crm-allocation-slot{margin:0}.histogram-crm-allocation-grid{gap:8px 14px}.histogram-crm-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;padding-left:0;font-size:12px;list-style:none;display:grid}.histogram-crm-capacity-list{grid-template-columns:1fr;max-height:280px;overflow:auto}@media (width<=768px){.histogram-crm-detail-panel{width:min(432px,100%)}}.histogram-task-editor-overlay{pointer-events:none;background:0 0;justify-content:flex-start;align-items:flex-start}.histogram-task-editor-panel{pointer-events:auto;border-radius:10px;flex-direction:column;width:min(864px,100vw - 48px);min-width:520px;max-width:calc(100vw - 16px);height:min(52vh,420px);min-height:280px;max-height:calc(100vh - 16px);padding:0;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 48px #0f172a38}.histogram-task-editor-resize-handle{z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute}.histogram-task-editor-resize-handle.is-n,.histogram-task-editor-resize-handle.is-s{cursor:ns-resize;height:6px;left:10px;right:10px}.histogram-task-editor-resize-handle.is-n{top:0}.histogram-task-editor-resize-handle.is-s{bottom:0}.histogram-task-editor-resize-handle.is-e,.histogram-task-editor-resize-handle.is-w{cursor:ew-resize;width:6px;top:10px;bottom:10px}.histogram-task-editor-resize-handle.is-e{right:0}.histogram-task-editor-resize-handle.is-w{left:0}.histogram-task-editor-resize-handle.is-ne,.histogram-task-editor-resize-handle.is-nw,.histogram-task-editor-resize-handle.is-se,.histogram-task-editor-resize-handle.is-sw{width:14px;height:14px}.histogram-task-editor-resize-handle.is-ne{cursor:nesw-resize;top:0;right:0}.histogram-task-editor-resize-handle.is-nw{cursor:nwse-resize;top:0;left:0}.histogram-task-editor-resize-handle.is-se{cursor:nwse-resize;bottom:0;right:0}.histogram-task-editor-resize-handle.is-sw{cursor:nesw-resize;bottom:0;left:0}.histogram-task-editor-resize-handle.is-se:after{content:"";opacity:.85;pointer-events:none;border-bottom:2px solid #94a3b8;border-right:2px solid #94a3b8;border-radius:1px;width:10px;height:10px;position:absolute;bottom:3px;right:3px}.histogram-task-editor-panel:hover .histogram-task-editor-resize-handle.is-se:after,body.histogram-panel-resizing .histogram-task-editor-resize-handle.is-se:after{border-color:#64748b}body.histogram-panel-resizing{cursor:inherit;-webkit-user-select:none;user-select:none}body.histogram-panel-resizing iframe{pointer-events:none}.histogram-task-editor-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 14px;display:flex}.histogram-task-editor-top{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding-right:10px;display:flex}.histogram-task-editor-top .histogram-task-editor-drag-handle{border-bottom:none;padding-right:0}.histogram-task-editor-drag-handle:active{cursor:grabbing}.histogram-task-editor-drag-grip{color:#94a3b8;letter-spacing:-2px;font-size:14px;line-height:1}.histogram-task-editor-panel-title{color:#0f172a;flex:1;min-width:0;margin:0;font-size:15px;font-weight:700}.histogram-task-editor-top-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.histogram-task-editor-autosave-status{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:.75rem}.histogram-task-editor-autosave-status.is-pending,.histogram-task-editor-autosave-status.is-saving{color:#b45309;background:#fffbeb}.histogram-task-editor-autosave-status.is-saved{color:#047857;background:#ecfdf5}.histogram-task-editor-autosave-status.is-error{color:#b91c1c;background:#fef2f2}.histogram-task-editor-subtitle{background:#fff;border-bottom:1px solid #e2e8f0;align-items:flex-start;gap:8px;margin:0;padding:8px 14px;display:flex}.histogram-task-editor-subtitle .histogram-crm-detail-color{margin-top:2px}.histogram-task-editor-error{margin:8px 14px 0}.histogram-task-editor-loading{margin:0;padding:16px 14px}.histogram-task-editor-grid-wrap{flex:1;min-height:0;padding:0 8px 8px;overflow:hidden}.histogram-task-editor-scroll{max-height:100%;overflow:auto}.histogram-task-editor-table{min-width:max-content}.histogram-panel-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 2px;font-size:10px;font-weight:700}.histogram-panel-eyebrow.histogram-panel-title{letter-spacing:.04em;color:#0f172a;text-align:left;margin:0 0 6px;font-size:18px;font-weight:800}.histogram-employee-detail-heading-block{text-align:left;flex:1;min-width:0}.histogram-employee-detail-panel .histogram-employee-name{color:#475569;text-align:left;margin:0;font-size:13px;font-weight:600;line-height:1.3}:root{--color-text:#1f2937;--color-muted:#6b7280;--color-border:#e5e7eb;--color-bg:#f3f4f6;--color-surface:#fff;--color-surface-muted:#f9fafb;--color-primary:#525252;--color-primary-hover:#404040;--color-primary-text:#374151;--color-primary-soft:#f5f5f5;--color-primary-muted:#e5e5e5;--color-primary-border:#d4d4d4;--color-primary-accent:#737373;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-soft:#fef2f2;--color-success:#047857;--color-success-soft:#ecfdf5;--color-info-bg:#f5f5f5;--color-info-text:#525252;--color-info-border:#d4d4d4;--btn-action-blue:#2563eb;--btn-action-blue-hover:#1d4ed8;--btn-action-blue-soft:#eff6ff;--btn-action-green:#16a34a;--btn-action-green-hover:#15803d;--btn-action-green-soft:#f0fdf4;--btn-action-red:#dc2626;--btn-action-red-hover:#b91c1c;--btn-action-red-soft:#fef2f2;--btn-height:32px;--btn-padding-x:14px;--btn-font-size:13px;--btn-radius:8px;--btn-height-compact:var(--btn-height);--btn-height-sm:var(--btn-height);--btn-height-xs:var(--btn-height);--btn-padding-x-compact:var(--btn-padding-x);--btn-padding-x-sm:var(--btn-padding-x);--btn-padding-x-xs:var(--btn-padding-x);--btn-font-size-compact:var(--btn-font-size);--btn-font-size-sm:var(--btn-font-size);--btn-font-size-xs:var(--btn-font-size);--btn-radius-compact:var(--btn-radius);--btn-radius-xs:var(--btn-radius);--radius-md:10px;--radius-lg:16px;--shadow-card:0 10px 30px #0000000f;--shadow-focus:0 0 0 3px #52525238;--app-navbar-height:64px;color:var(--color-text);background:var(--color-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(180deg, #e5e7eb 0%, var(--color-surface-muted) 45%);min-height:100vh;margin:0;overflow-x:clip}body.nav-menu-open{overflow:hidden}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{text-align:left}.app-shell{flex-direction:column;width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:clip}.navbar{--navbar-bg:#2d2d2d;--navbar-border:#1a1a1a;--navbar-text:#f5f5f5;--navbar-text-muted:#a3a3a3;--navbar-hover-bg:#ffffff1a;--navbar-active-bg:#ffffff29;--navbar-control-bg:#404040;--navbar-control-border:#525252;z-index:100;background:var(--navbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--navbar-border);position:sticky;top:0;box-shadow:0 4px 20px #0003}.navbar-inner{flex-wrap:wrap;align-items:center;gap:16px;width:100%;min-height:64px;margin:0;padding:0 24px;display:flex}.navbar-collapse{display:contents}.navbar-brand{color:var(--navbar-text,#0f172a);flex-shrink:0;align-items:center;gap:12px;display:flex}.navbar-brand:hover{color:#fff}.navbar-logo{object-fit:contain;border-radius:8px;flex-shrink:0;width:auto;max-width:120px;height:44px;display:block}.navbar-brand-text{flex-direction:column;line-height:1.1;display:flex}.navbar-brand-text strong{font-size:16px}.navbar-brand-text small{color:var(--navbar-text-muted,#64748b);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.navbar-links{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.navbar-admin-group{align-items:center;gap:2px;display:inline-flex}.navbar-brief-link{border:1px solid var(--navbar-control-border,#94a3b8);width:22px;height:22px;color:var(--navbar-text,#475569);background:var(--navbar-control-bg,#f3f4f6);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.navbar-brief-link:hover{background:var(--navbar-hover-bg,var(--color-primary-soft));color:#fff;border-color:#d4d4d4}.navbar-brief-link.is-disabled{opacity:.45;cursor:not-allowed}.navbar-brief-icon{font-family:Georgia,Times New Roman,serif;font-size:12px;font-style:italic;font-weight:700;line-height:1;display:block}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:var(--navbar-text,#475569);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 14px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.nav-dropdown-trigger:hover,.nav-dropdown.is-open .nav-dropdown-trigger{background:var(--navbar-hover-bg,var(--color-primary-soft));color:var(--navbar-text,var(--color-primary-hover))}.nav-dropdown-trigger.active{background:var(--navbar-active-bg,var(--color-primary-muted));color:#fff}.nav-dropdown-chevron{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.nav-dropdown.is-open .nav-dropdown-chevron{transform:rotate(-135deg)translateY(2px)}.nav-dropdown-panel{z-index:120;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:220px;padding:8px;animation:.18s nav-dropdown-in;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 32px #0f172a1f}@keyframes nav-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{color:#334155;border-radius:8px;padding:10px 12px;font-weight:500;display:block}.nav-dropdown-item:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.nav-dropdown-item.active{background:var(--color-primary);color:#fff}.nav-dropdown-item.disabled{opacity:.45;cursor:not-allowed;align-items:center;gap:8px;display:flex}.navbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.user-profile-menu{position:relative}.user-profile-trigger{border:1px solid var(--navbar-control-border,#e2e8f0);background:var(--navbar-control-bg,#fff);color:var(--navbar-text,#334155);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.user-profile-trigger:hover,.user-profile-menu.is-open .user-profile-trigger{background:#525252;border-color:#737373;box-shadow:0 2px 8px #0003}.user-profile-trigger-avatar,.user-profile-avatar{color:#f8fafc;letter-spacing:.02em;background:#334155;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.user-profile-trigger-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.user-profile-trigger-chevron{border-right:2px solid var(--navbar-text-muted,#64748b);border-bottom:2px solid var(--navbar-text-muted,#64748b);width:7px;height:7px;transition:transform .2s;transform:rotate(45deg)translateY(-1px)}.user-profile-menu.is-open .user-profile-trigger-chevron{transform:rotate(-135deg)translateY(1px)}.user-profile-panel{color:#e2e8f0;z-index:140;background:#1e293b;border-radius:14px;width:min(300px,100vw - 24px);padding:16px;animation:.18s nav-dropdown-in;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #0f172a47}.user-profile-panel-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.user-profile-panel-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.user-profile-panel-heading strong{color:#f8fafc;font-size:18px;font-weight:700;line-height:1.2}.user-profile-login{color:#94a3b8;font-size:12px}.user-profile-fields{gap:10px;margin-bottom:14px;display:grid}.user-profile-field{gap:4px;display:grid}.user-profile-field-label{color:#cbd5e1;font-size:11px;font-weight:600}.user-profile-input,.user-profile-upload-btn{color:#f8fafc;background:#0f172a;border:1px solid #475569;border-radius:8px;width:100%;min-height:34px;padding:6px 10px;font-size:13px}.user-profile-upload-btn{cursor:not-allowed;opacity:.7;text-align:left}.user-profile-meta{border-top:1px solid #334155;gap:8px;margin:0 0 14px;padding-top:12px;display:grid}.user-profile-meta-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.user-profile-meta-row dt{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:10px;font-weight:700}.user-profile-meta-row dd{color:#f8fafc;text-align:right;margin:0;font-size:13px;font-weight:600}.user-profile-logout-btn{color:#fff;cursor:pointer;background:#7f1d1d;border:none;border-radius:10px;width:100%;min-height:38px;font-size:14px;font-weight:700;transition:background .15s}.user-profile-logout-btn:hover{background:#991b1b}.navbar-user{background:var(--navbar-control-bg,#d1d5db);color:var(--navbar-text,#334155);border-radius:999px;padding:8px 12px;font-size:14px;font-weight:500}.navbar-toggle{border:1px solid var(--navbar-control-border,#d1d5db);background:var(--navbar-control-bg,#f3f4f6);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;margin-left:auto;padding:8px;display:none}.navbar-toggle span{background:var(--navbar-text,#334155);border-radius:999px;height:2px;transition:transform .2s,opacity .2s;display:block}.navbar-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle.is-open span:nth-child(2){opacity:0}.navbar-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.app-main{width:100%;min-width:0;max-width:none;margin:0;padding:24px}.page-heading,.inline-form{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-main section{gap:20px;display:grid}.page-heading{flex-direction:column;align-items:flex-start}.page-heading-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:20px;width:100%}.page-heading-copy{min-width:0}.page-heading-title-row{align-items:center;gap:8px;min-width:0;display:flex}.page-heading-title-row h2{margin:0}.page-heading-title-addon{flex-shrink:0;align-items:center;display:inline-flex}.page-description{color:var(--color-muted);max-width:640px;margin:6px 0 0}.page-header{gap:8px;display:grid}.page-header-compact{gap:0}.page-header-actions{flex-shrink:0}.breadcrumbs ol{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#94a3b8;margin-left:6px}.breadcrumbs a{color:var(--color-muted);font-weight:500}.breadcrumbs a:hover{color:var(--color-primary)}.breadcrumbs span[aria-current=page]{color:var(--color-text);font-weight:600}.page-heading h2,.auth-card h1{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0 0 4px;font-size:12px}.muted{color:#64748b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-temporarily-hidden{display:none!important}.btn-sm{height:var(--btn-height-sm);min-height:var(--btn-height-sm);padding:0 var(--btn-padding-x-sm);font-size:var(--btn-font-size-sm);white-space:nowrap;justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn-compact{height:var(--btn-height-compact);min-height:var(--btn-height-compact);padding:0 var(--btn-padding-x-compact);font-size:var(--btn-font-size-compact);border-radius:var(--btn-radius-compact);white-space:nowrap;justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn-compact:hover:not(:disabled){transform:none}.btn-xs{height:var(--btn-height-xs);min-height:var(--btn-height-xs);padding:0 var(--btn-padding-x-xs);font-size:var(--btn-font-size-xs);border-radius:var(--btn-radius-xs);white-space:nowrap;justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn-xs:hover:not(:disabled){transform:none}.app-toolbar-actions,.page-header-actions,.allocation-toolbar-actions,.access-permissions-toolbar-actions,.email-notifications-toolbar-actions,.roles-toolbar-actions,.availability-toolbar-actions,.pde-header-actions,.pde-controls-toolbar,.histogram-filter-actions,.admin-toolbar-actions,.histogram-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.app-toolbar-actions .btn,.page-header-actions .btn,.allocation-toolbar-actions .btn,.access-permissions-toolbar-actions .btn,.email-notifications-toolbar-actions .btn,.roles-toolbar-actions .btn,.availability-toolbar-actions .btn,.pde-header-actions .btn,.pde-controls-toolbar .btn,.histogram-filter-actions .btn,.admin-toolbar-actions .btn,.histogram-toolbar-actions .btn,.modal-actions .btn{flex:none;width:auto;min-width:0}.stat-card,.card,.table-card,.auth-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:16px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{padding:20px}.stat-card p{color:#64748b;margin:0 0 8px}.stat-card strong{font-size:32px}.stat-card-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}.stat-card-link:hover{border-color:var(--color-primary-border);transform:translateY(-2px);box-shadow:0 16px 36px #00000014}.stat-card-link:focus-visible{box-shadow:var(--shadow-focus);outline:none}.stat-card-link strong{color:var(--color-primary)}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(120px,148px));gap:12px;width:fit-content;max-width:100%}.dashboard-stat-grid .stat-card{border-radius:12px;padding:12px 14px}.dashboard-stat-grid .stat-card p{margin:0 0 4px;font-size:12px}.dashboard-stat-grid .stat-card strong{font-size:22px;line-height:1.1}.empty-state{text-align:center;color:var(--color-muted);padding:40px 24px}.empty-state-icon{color:#94a3b8;border:2px dashed #cbd5e1;border-radius:999px;place-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:20px;display:grid}.empty-state h3{color:var(--color-text);margin:0 0 8px;font-size:18px}.empty-state p{margin:0 0 16px;max-width:420px;margin-inline:auto}.toast-stack{z-index:200;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:80px;left:50%;right:auto;transform:translate(-50%)}.toast{border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;animation:.25s toast-in;display:flex;box-shadow:0 12px 28px #0f172a24}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--color-success-soft);color:var(--color-success);border-color:#a7f3d0}.toast-error{background:var(--color-danger-soft);color:var(--color-danger);border-color:#fecaca}.toast-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.toast-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:20px;line-height:1}.toast-dismiss:hover{opacity:1}.nav-soon-badge{color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.card,.table-card{padding:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full-width{grid-column:1/-1}label{gap:8px;font-weight:600;display:grid}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px}select:not(.task-employee-select):not(.project-task-table select):not(.create-project-task-table select){field-sizing:content;width:auto;max-width:100%}label:has(>select:not(.task-employee-select):not(.project-task-table select):not(.create-project-task-table select)){width:fit-content;max-width:100%}label>select:not(.task-employee-select):not(.project-task-table select):not(.create-project-task-table select),.form-grid select,.inline-form select{width:auto;max-width:100%}.inline-form label{flex:1}.btn{height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:var(--btn-font-size);white-space:nowrap;border-radius:var(--btn-radius);cursor:pointer;background:var(--color-surface);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;line-height:1;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{color:var(--btn-action-blue);border-color:var(--btn-action-blue);background:var(--color-surface)}.btn-secondary:hover:not(:disabled){color:var(--btn-action-blue-hover);border-color:var(--btn-action-blue-hover);background:var(--btn-action-blue-soft)}.btn-save,.btn-primary{color:var(--btn-action-green);border-color:var(--btn-action-green);background:var(--color-surface)}.btn-save:hover:not(:disabled),.btn-primary:hover:not(:disabled){color:var(--btn-action-green-hover);border-color:var(--btn-action-green-hover);background:var(--btn-action-green-soft)}.btn-danger{color:var(--btn-action-red);border-color:var(--btn-action-red);background:var(--color-surface)}.btn-danger:hover:not(:disabled){color:var(--btn-action-red-hover);border-color:var(--btn-action-red-hover);background:var(--btn-action-red-soft)}label input,label select,label textarea,.form-grid input,.form-grid select,.inline-form input,.allocation-oap-input,.allocation-name-input{transition:border-color .15s,box-shadow .15s}label input:focus-visible,label select:focus-visible,label textarea:focus-visible,.form-grid input:focus-visible,.form-grid select:focus-visible,.inline-form input:focus-visible,.allocation-oap-input:focus-visible,.allocation-name-input:focus-visible{border-color:var(--color-primary-border);box-shadow:var(--shadow-focus);outline:none}.table-card{overflow-x:auto}table:not(.project-task-table):not(.availability-table):not(.allocation-table):not(.histogram-grid-table):not(.create-project-task-table){border-collapse:collapse;width:100%}.availability-table{width:max-content}.allocation-table{border-collapse:separate;border-spacing:0}th:not(.project-task-table th):not(.availability-table th):not(.allocation-table th),td:not(.project-task-table td):not(.availability-table td):not(.allocation-table td){text-align:left;border-bottom:1px solid #e2e8f0;padding:12px 8px}.color-swatch{border:1px solid #cbd5e1;border-radius:999px;width:20px;height:20px;display:inline-block}input[type=color]{cursor:pointer;appearance:none;box-sizing:border-box;vertical-align:middle;background-color:#fff;border:1px solid #cbd5e1;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;overflow:hidden;border-radius:50%!important}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}input[type=color]::-moz-color-swatch{border:none;border-radius:50%}.alert{border-radius:var(--radius-md);padding:12px 14px}.alert[role=alert],.alert-error,.alert-success,.alert-info{scroll-margin-top:80px}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.alert-info{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-border)}.alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.histogram-algorithm-rerun-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.histogram-algorithm-rerun-banner a{color:inherit;font-weight:600;text-decoration:underline}.histogram-bar-filter-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.trainings-gap-notify-stack{align-items:center;gap:8px;margin-bottom:6px;display:flex}.trainings-gap-notify{flex-shrink:0;position:relative}.trainings-gap-notify-bell{color:#334155;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.trainings-gap-notify-bell:hover,.trainings-gap-notify.is-open .trainings-gap-notify-bell{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.trainings-gap-notify-bell-icon{display:block}.trainings-gap-notify-badge{color:#fff;text-align:center;background:#4f46e5;border-radius:999px;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;line-height:15px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px #fff}.trainings-gap-notify-panel{z-index:80;flex-direction:column;gap:8px;width:min(380px,100vw - 24px);padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0f172a29}.trainings-gap-notify-panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainings-gap-notify-panel-head strong{color:#0f172a;font-size:12px}.trainings-gap-notify-banner{color:#312e81;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;flex-wrap:nowrap;flex:0 auto;align-items:center;gap:6px;width:fit-content;min-width:0;max-width:100%;padding:3px 8px;display:inline-flex}@media (width<=900px){.trainings-gap-notify-stack{flex-wrap:wrap}.trainings-page--gaps .trainings-overview-stat{flex-direction:column;align-items:flex-start;gap:0}}.trainings-gap-notify-banner-icon{color:#4338ca;background:#e0e7ff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.trainings-gap-notify-banner-copy{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin:0;font-size:11px;line-height:1.25;overflow:hidden}.trainings-gap-notify-banner-actions,.trainings-gap-notify-banner__actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.trainings-gap-notify-banner-actions .btn,.trainings-gap-notify-banner__actions .btn{min-height:22px;padding:1px 7px;font-size:11px;line-height:1.2}.trainings-gap-notify-cards{gap:8px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.trainings-gap-notify-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.trainings-gap-notify-card-avatar{color:#5b21b6;background:#ddd6fe;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:inline-flex}.trainings-gap-notify-card-body{flex:1;min-width:0}.trainings-gap-notify-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainings-gap-notify-card-top strong{color:#0f172a;font-size:13px}.trainings-gap-notify-card-badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.trainings-gap-notify-card-meta{color:#64748b;margin:2px 0 0;font-size:11px}.trainings-gap-notify-panel-count{color:#c2410c;background:#fff7ed;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.trainings-gap-notify-panel-copy{color:#475569;margin:0;font-size:12px;line-height:1.45}.trainings-gap-notify-banner__names{color:#0f172a;font-weight:600}.trainings-gap-notify-banner__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.histogram-task-detail{flex-direction:column;gap:14px;display:flex}.histogram-task-detail-heading{align-items:flex-start;gap:10px;display:flex}.histogram-task-detail-color{border-radius:3px;flex-shrink:0;width:12px;height:12px;margin-top:4px}.histogram-task-detail-heading strong{color:#111827;font-size:15px;display:block}.histogram-task-detail-heading p{color:#64748b;margin:4px 0 0;font-size:13px}.histogram-task-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.histogram-task-detail-grid>div{min-width:0}.histogram-task-detail-grid dt{color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin:0 0 2px;font-size:11px;font-weight:600}.histogram-task-detail-grid dd{color:#111827;margin:0;font-size:13px}.histogram-task-detail-assignees h4{color:#475569;margin:0 0 8px;font-size:12px}.histogram-task-detail-assignees ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.histogram-task-detail-assignees li{color:#64748b;justify-content:space-between;gap:12px;font-size:12px;display:flex}.histogram-task-detail-assignees strong{color:#111827;font-weight:600}.section-title{margin:0;font-size:18px}.project-picker{gap:12px;min-width:0;display:grid}.pde-toolbar{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:8px 12px;min-width:0;display:grid}.pde-toolbar-primary{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;display:flex}.pde-toolbar-primary .btn{white-space:nowrap;flex:none}.pde-toolbar .project-picker-toolbar{grid-area:2/1/auto/-1}.pde-page .project-picker.card{padding:10px 12px}.pde-page .pde-toolbar{gap:8px}.pde-page .pde-toolbar label{color:#64748b;gap:3px;font-size:11px;font-weight:600}.pde-page .pde-toolbar select{height:var(--btn-height);min-height:var(--btn-height);border-radius:var(--btn-radius);padding:2px 8px;font-size:12px}.pde-page .pde-toolbar .btn:hover:not(:disabled){transform:none}.pde-page .pde-toolbar .project-picker-toolbar{gap:6px 8px}.pde-page .pde-toolbar .project-picker-toolbar .project-select-field,.pde-page .pde-toolbar .project-picker-toolbar .copy-type-field{flex:0 auto;width:auto;min-width:108px;max-width:none}.pde-page .pde-toolbar .copy-type-field{gap:3px;min-width:108px}.pde-page .pde-toolbar .project-color-label,.pde-page .pde-toolbar .copy-type-label{color:#64748b;font-size:11px;font-weight:600}.pde-page .pde-toolbar .project-color-field{gap:6px;padding-bottom:0}.pde-page .pde-toolbar .project-color-input{border-radius:6px;width:28px;min-width:28px;height:28px;min-height:28px;padding:1px}.pde-page{width:100%;min-width:0;max-width:100%;position:relative}.pde-page .card,.pde-page .project-task-panel{min-width:0;max-width:100%}.pde-page .project-picker-toolbar{flex-flow:wrap;align-items:flex-end;gap:8px 10px;display:flex}.pde-page .project-picker-toolbar .project-select-field,.pde-page .project-picker-toolbar .copy-type-field{flex:0 auto;width:auto;min-width:108px;max-width:none}.pde-page .project-picker-toolbar .project-color-field{justify-self:start}.pde-page .project-picker-toolbar .btn{justify-self:start;width:auto;max-width:100%}.pde-page .project-meta{flex-wrap:wrap;gap:6px 12px;font-size:12px}.pde-page .project-task-panel{min-width:0;max-width:100%}.pde-page .project-task-panel>*{min-width:0}.pde-page .project-task-scroll,.pde-page .pde-table-shell{max-height:min(70vh,520px)}.pde-page .project-task-toolbar{flex-wrap:wrap;align-items:center}.pde-page .project-task-toolbar .btn{white-space:nowrap;flex:0 auto}.pde-page .page-description{max-width:100%}.project-picker-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.project-picker-toolbar{align-items:flex-end;gap:10px}.pde-page .project-picker-row.project-picker-toolbar{flex-direction:row}.project-picker-toolbar .project-select-field,.project-picker-toolbar .copy-type-field{flex:0 220px;min-width:180px}.project-picker-toolbar .project-color-field{flex:none;align-self:flex-end;padding-bottom:2px}.project-picker-toolbar .btn{white-space:nowrap;flex:none;align-self:flex-end}.project-picker-controls{align-items:flex-end}.project-picker-controls .project-select-field{flex:0 240px}.project-picker-controls .project-color-field{flex:none;padding-bottom:2px}.project-picker-actions{align-items:center}.project-color-input{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:40px;height:36px;padding:2px}.project-color-input:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}.project-select-field{flex:0 auto;width:auto;min-width:180px;max-width:100%}.copy-type-field{flex-direction:column;flex:0 auto;gap:6px;width:auto;min-width:180px;max-width:100%;display:flex}.copy-type-label{color:#475569;font-size:13px;font-weight:600}.modal-overlay{z-index:200;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-overlay:has(.modal-card-fullscreen){padding:6px}@keyframes algorithm-running-spin{to{transform:rotate(360deg)}}.algorithm-running-overlay{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.algorithm-running-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:min(100%,360px);padding:28px 24px;box-shadow:0 16px 40px #0f172a2e}.algorithm-running-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.9s linear infinite algorithm-running-spin}.algorithm-running-title{color:#0f172a;margin:0 0 8px;font-size:1.125rem;font-weight:600}.algorithm-running-message{color:#64748b;margin:0;font-size:.875rem;line-height:1.5}.algorithm-running-progress{margin-top:20px}.algorithm-running-progress-label{color:#475569;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.75rem;font-weight:600;display:flex}.algorithm-running-progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.algorithm-running-progress-fill{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:999px;height:100%;transition:width .35s}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-card-wide{width:min(100%,920px)}.modal-card-xwide{width:min(100%,1180px);max-height:calc(100vh - 24px)}.modal-card-fullscreen{flex-direction:column;width:calc(100vw - 12px);max-width:none;height:calc(100vh - 12px);max-height:calc(100vh - 12px);display:flex;overflow:hidden}.modal-card-fullscreen .modal-header{flex-shrink:0}.modal-card-fullscreen .modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-card-wide:has(.activity-log-modal){width:min(100%,1080px)}.modal-card-wide:has(.algorithm-review-modal){width:min(100%,1200px)}.modal-card-wide:has(.create-project-modal){flex-direction:column;width:min(100%,920px);height:auto;max-height:calc(100vh - 20px);display:flex;overflow:hidden}.modal-card-wide:has(.create-project-modal--imported){height:calc(100vh - 20px)}.sheet-import-bar{border-bottom:1px solid #e2e8f0;grid-template-columns:1fr 180px auto;align-items:end;gap:12px;margin-bottom:16px;padding-bottom:16px;display:grid}.modal-card-wide:has(.create-project-modal) .modal-header{flex-shrink:0;padding:8px 12px}.modal-card-wide:has(.create-project-modal) .modal-header h3{font-size:15px;font-weight:700}.modal-card-wide:has(.create-project-modal) .modal-body{flex-direction:column;flex:0 auto;min-height:0;padding:8px 12px 10px;display:flex;overflow:visible}.modal-card-wide:has(.create-project-modal--imported) .modal-body{flex:1;overflow:hidden}.create-project-modal{flex-direction:column;flex:0 auto;gap:6px;min-height:0;display:flex;overflow:visible}.create-project-modal--imported{flex:1;overflow:hidden}.create-project-modal .sheet-import-bar,.create-project-modal .create-project-top-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;grid-template-columns:minmax(0,1fr) minmax(120px,150px) auto;align-items:end;gap:6px;margin-bottom:0;padding:6px 8px}.create-project-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.create-project-modal .create-project-top-actions .btn-compact{height:26px;min-height:26px;padding:0 10px;font-size:11px}.create-project-meta-grid{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;grid-template-columns:minmax(0,1.5fr) minmax(0,.95fr) minmax(84px,.85fr) minmax(84px,.85fr) 52px;align-items:end;gap:6px;margin-bottom:0;padding:6px 8px;display:grid}.create-project-modal .sheet-import-bar label,.create-project-modal .create-project-top-bar label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;gap:3px;font-size:10px;font-weight:700}.create-project-modal .sheet-import-bar input,.create-project-modal .create-project-top-bar input{border-radius:5px;height:26px;padding:2px 6px;font-size:11px}.create-project-modal .create-project-top-actions .btn{height:26px;padding:0 10px;font-size:11px}.create-project-modal .form-grid{margin-bottom:0}.create-project-meta-grid label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;gap:3px;width:auto;min-width:0;font-size:10px;font-weight:700}.create-project-meta-grid input:not([type=color]),.create-project-meta-grid select{border-radius:5px;height:26px;padding:2px 6px;font-size:11px}.create-project-meta-grid input,.create-project-meta-grid select,.create-project-meta-grid .display-date-input{width:100%;min-width:0}.create-project-meta-grid .display-date-input-btn{border-radius:5px;width:100%;min-width:0;height:26px;padding:2px 5px;font-size:10px}.create-project-tasks{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;flex:none;display:flex;overflow:hidden}.create-project-modal--imported .create-project-tasks{flex:1;min-height:0}.create-project-tasks-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:0;padding:2px 6px;display:flex}.create-project-tasks-header h4{text-transform:uppercase;letter-spacing:.04em;color:#475569;margin:0;font-size:10px;font-weight:700}.create-project-tasks-header .btn-sm{height:22px;padding:0 7px;font-size:10px}.create-project-tasks-scroll{border:none;border-radius:0;flex:none;overflow:hidden visible}.create-project-modal--imported .create-project-tasks-scroll{flex:1;min-height:0;overflow-y:auto}.create-project-task-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:11px}.create-project-task-table th,.create-project-task-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:1px 4px;line-height:1.1;overflow:hidden}.create-project-task-table th:first-child{width:30%}.create-project-task-table th:nth-child(2),.create-project-task-table th:nth-child(3),.create-project-task-table th:nth-child(4){width:7%}.create-project-task-table th:nth-child(5),.create-project-task-table th:nth-child(6){width:15%}.create-project-task-table th:nth-child(7){width:78px}.create-project-task-table input[readonly]{color:#94a3b8;background:#f1f5f9}.create-project-task-table th{z-index:1;text-transform:uppercase;letter-spacing:.03em;color:#64748b;background:#fafbfc;padding:3px 4px;font-size:9px;font-weight:700;line-height:1.1;position:sticky;top:0}.create-project-task-table td{white-space:nowrap}.create-project-task-table input,.create-project-task-table select{border-radius:4px;width:100%;min-width:0;height:20px;padding:0 4px;font-size:11px}.create-project-task-table .create-project-task-date{width:100%;min-width:0;display:block}.create-project-task-table .create-project-task-date .display-date-input-btn{border-radius:4px;width:100%;height:20px;padding:0 4px;font-size:10px}.create-project-task-actions{white-space:nowrap;justify-content:flex-end;gap:2px;display:flex}.create-project-modal .availability-row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:2px;width:100%;display:flex}.create-project-modal .availability-action-btn{border-radius:3px;flex:none;padding:2px 3px}.create-project-modal .availability-action-btn svg{width:12px;height:12px;display:block}.create-project-modal .availability-action-btn:disabled{opacity:.45;cursor:not-allowed}.create-project-modal .modal-actions{border-top:1px solid #e2e8f0;flex-shrink:0;margin-top:0;padding-top:4px}.create-project-modal .modal-actions .btn{height:28px;padding:0 12px;font-size:12px}.update-hours-import{margin-bottom:16px}.update-hours-rows{border:1px solid #e2e8f0;border-radius:10px;gap:8px;max-height:320px;margin-bottom:16px;padding:12px;display:grid;overflow:auto}.update-hours-rows-header,.update-hours-row{grid-template-columns:1fr 120px;align-items:center;gap:12px;display:grid}.update-hours-rows-header{color:#475569;border-bottom:1px solid #e2e8f0;padding-bottom:4px;font-size:12px;font-weight:700}@media (width<=1024px){.sheet-import-bar{grid-template-columns:1fr}.modal-card-wide:has(.create-project-modal){height:auto;max-height:calc(100dvh - 12px)}.modal-card-wide:has(.create-project-modal--imported){height:calc(100dvh - 12px)}}.modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:min(100%,560px);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 48px #0f172a2e}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-header h3{margin:0;font-size:20px}.modal-close{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;width:36px;height:36px;font-size:24px;line-height:1}.modal-body{padding:24px}.modal-form{gap:16px;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.duplicate-project-hint{margin-top:6px;font-size:12px;line-height:1.4;display:block}.duplicate-project-intro{margin:0 0 16px}.duplicate-project-form{flex-direction:column;gap:14px;display:flex}.duplicate-project-form label.duplicate-project-field{color:#374151;gap:6px;width:100%;font-size:13px;font-weight:600;display:grid}.duplicate-project-form label.duplicate-project-field input{width:100%}.duplicate-project-destination{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0;padding:12px 14px}.duplicate-project-destination legend{letter-spacing:.04em;text-transform:uppercase;color:#64748b;padding:0 4px;font-size:12px;font-weight:700}.duplicate-project-destination-options{flex-direction:column;align-items:stretch;gap:10px;display:flex}.duplicate-project-form label.duplicate-project-destination-option{color:#374151;cursor:pointer;align-items:flex-start;gap:10px;width:100%;min-width:0;font-size:13px;font-weight:500;display:flex}.duplicate-project-destination-option input[type=radio]{background:0 0;border:none;flex:0 0 16px;width:16px;min-width:16px;height:16px;margin:2px 0 0;padding:0}.duplicate-project-destination-option>span{text-align:left;flex:1;gap:2px;min-width:0;display:grid}.duplicate-project-destination-detail{color:#64748b;font-size:12px;font-weight:600}.duplicate-project-meta-grid{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(72px,.65fr) minmax(52px,auto) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px 12px;padding:12px 14px;display:grid}.duplicate-project-meta-grid--no-color{grid-template-columns:minmax(72px,.65fr) minmax(0,1fr) minmax(0,1fr)}.duplicate-project-meta-field{color:#64748b;gap:6px;width:auto;min-width:0;font-size:12px;font-weight:600;display:grid}.duplicate-project-meta-field input:not([type=color]),.duplicate-project-meta-field .display-date-input{border-radius:8px;width:100%;min-width:0;height:36px;padding:6px 10px;font-size:13px}.duplicate-project-meta-field--color{justify-items:center}.duplicate-project-meta-field--color input[type=color]{border-radius:8px;width:36px;height:36px;padding:2px}.duplicate-project-actions{margin-top:4px}@media (width<=640px){.duplicate-project-meta-grid,.duplicate-project-meta-grid--no-color{grid-template-columns:1fr 1fr}.duplicate-project-meta-grid .duplicate-project-meta-field:nth-child(3),.duplicate-project-meta-grid .duplicate-project-meta-field:nth-child(4),.duplicate-project-meta-grid--no-color .duplicate-project-meta-field:nth-child(2),.duplicate-project-meta-grid--no-color .duplicate-project-meta-field:nth-child(3){grid-column:1/-1}}.project-meta{color:#475569;flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.project-color-field{cursor:pointer;align-items:center;gap:8px;margin:0;display:inline-flex}.project-color-label{color:#475569;white-space:nowrap;font-size:14px}.project-task-panel{gap:8px;display:grid}.project-task-bulk-hint{border:1px solid var(--color-info-border);background:var(--color-info-bg);color:var(--color-info-text);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.project-task-table tbody tr.project-task-row-selected{background:#f0f9ff}.project-task-table tbody tr.project-task-row-selected:nth-child(2n){background:#e8f4ff}.project-task-table tbody tr.project-task-row-selected .sticky-col,.project-task-table tbody tr.project-task-row-selected .sticky-col-task-frozen,.project-task-table tbody tr.project-task-row-selected .sticky-col-task-name{background:#f0f9ff}.project-task-table tbody tr.project-task-row-selected:nth-child(2n) .sticky-col,.project-task-table tbody tr.project-task-row-selected:nth-child(2n) .sticky-col-task-frozen,.project-task-table tbody tr.project-task-row-selected:nth-child(2n) .sticky-col-task-name{background:#e8f4ff}.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan){background:#fff}.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan):nth-child(2n){background:#fcfdfe}.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan) .sticky-col,.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan) .sticky-col-task-frozen,.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan) .sticky-col-task-name{background:#fff}.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan):nth-child(2n) .sticky-col,.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan):nth-child(2n) .sticky-col-task-frozen,.pde-page:not(.dl-page) .project-task-table tbody tr:not(.project-task-row-no-plan):nth-child(2n) .sticky-col-task-name{background:#fcfdfe}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan{color:#6b7280;background:#e8eaed}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n){background:#dde1e6}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan input:not([type=checkbox]),.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan select,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .task-col-input,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .task-algorithm-display,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .task-employee-select,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn{color:#6b7280;background:0 0;border-color:#cbd5e1}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn:hover{background:0 0;border-color:#94a3b8}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-frozen,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-name{color:#4b5563;background:#cfd4db}.project-task-toolbar{flex-wrap:wrap;gap:8px;display:flex}.project-task-scroll,.pde-table-shell{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-width:0;max-width:100%;max-height:min(70vh,520px);display:block;position:relative;overflow:auto;box-shadow:0 4px 16px #0f172a0a}.project-task-table{table-layout:auto;border-collapse:separate;border-spacing:0;--pde-section-header-height:24px;--pde-sticky-select-width:28px;--pde-sticky-task-width:108px;--pde-section-gap:12px;width:max-content;font-size:11px;display:table}.project-task-table thead th{z-index:2;background:var(--color-primary-muted);border-bottom-width:0;position:sticky}.project-task-table thead tr:last-child>*{border-bottom-width:1px}.project-task-table thead tr:first-child th.section-header{color:#fff;background:#525252}.project-task-table thead tr:first-child th.sticky-col:not(.select-col):not(.section-header-frozen){background:#fff;left:0}.project-task-table thead tr:first-child th.section-header-frozen{left:var(--pde-sticky-select-width);z-index:6;width:var(--pde-sticky-task-width);min-width:var(--pde-sticky-task-width);max-width:var(--pde-sticky-task-width);color:#fff;background:#525252;position:sticky;box-shadow:2px 0 4px -2px #0000001f}.project-task-table thead tr:first-child th.section-header-frozen.section-header-minimized{background:#737373}.project-task-table thead tr:nth-child(2) th{top:var(--pde-section-header-height);color:#374151;z-index:2;background:#e5e5e5;height:20px;padding:1px 2px;font-size:10px;font-weight:600}.project-task-table thead th.project-task-field-header{cursor:default}.project-task-select-all{cursor:pointer;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.project-task-select-all input[type=checkbox]{margin:0}.project-task-table thead tr:first-child th.select-col-header{z-index:8;width:var(--pde-sticky-select-width);min-width:var(--pde-sticky-select-width);max-width:var(--pde-sticky-select-width);text-align:center;padding:2px 1px;left:0;overflow:hidden}.select-col-header-label{width:100%;height:100%;display:block}.project-task-table thead tr:nth-child(2) th.select-col-checkbox-header{z-index:7;width:var(--pde-sticky-select-width);min-width:var(--pde-sticky-select-width);max-width:var(--pde-sticky-select-width);text-align:center;vertical-align:middle;background:#e5e5e5;padding:1px;left:0}.project-task-table thead tr:first-child th{z-index:3;min-height:var(--pde-section-header-height);height:var(--pde-section-header-height);top:0}.project-task-table thead .sticky-col.select-col{z-index:7}.project-task-table thead tr:nth-child(2) th.sticky-col-task-frozen,.project-task-table thead tr:nth-child(2) th.sticky-col-task-name{left:var(--pde-sticky-select-width);z-index:5;width:var(--pde-sticky-task-width);min-width:var(--pde-sticky-task-width);max-width:var(--pde-sticky-task-width);background:#e5e5e5;box-shadow:2px 0 4px -2px #00000014}.project-task-table thead{display:table-header-group}.project-task-table tbody{display:table-row-group}.project-task-table tr{display:table-row}.project-task-table th,.project-task-table td{vertical-align:middle;white-space:nowrap;border:1px solid #e2e8f0;border-width:0 1px 1px 0;padding:1px 3px;line-height:1.15;display:table-cell}.project-task-table tr>:first-child{border-left-width:1px}.project-task-table thead tr:first-child>*{border-top-width:1px}.project-task-table .section-header{color:#fff;text-align:center;cursor:default;-webkit-user-select:none;user-select:none;background:#525252;height:22px;padding:2px 4px;font-size:10px;font-weight:600}.project-task-table .section-header:hover{background:#404040}.project-task-table .section-header-minimized{background:#737373}.project-task-table th.section-boundary-start,.project-task-table td.section-boundary-start{border-left:var(--pde-section-gap) solid #e2e8f0;padding-left:4px}.project-task-table thead tr:first-child th.section-boundary-start.section-header{border-left-color:#cbd5e1}.project-task-table .section-task-minimized.col-wide .task-col-input{text-overflow:ellipsis;max-width:5ch;overflow:hidden}.project-task-table tbody tr{height:24px}.project-task-table tbody tr:nth-child(2n){background:#fcfdfe}.project-task-table input,.project-task-table select,.task-employee-select,.project-task-table .task-col-input{box-sizing:border-box;text-align:left;border-radius:3px;min-width:0;max-width:100%;height:20px;padding:0 2px;font-size:10px}.project-task-table input[type=checkbox]{width:13px;min-width:13px;height:13px;margin:0;padding:0}.project-task-done-all{cursor:pointer;justify-content:center;align-items:center;gap:4px;margin:0;display:inline-flex}.project-task-table .pde-field-invalid,.project-task-table .task-col-input.pde-field-invalid,.project-task-table .task-date-input.pde-field-invalid,.project-task-table .task-readonly-date.pde-field-invalid{box-shadow:inset 0 0 0 1px #ef444426;border:2px solid #ef4444!important}.project-task-table .col-check{text-align:center;width:20px;padding:0 1px}.project-task-table .col-num{width:1%}.project-task-table .col-num .task-col-input,.project-task-table .col-num input{width:4ch}.project-task-table .col-num .task-num-display{text-align:center;box-sizing:border-box;width:4ch;display:inline-block}.pde-page:not(.dl-page) .project-task-table th.col-num,.pde-page:not(.dl-page) .project-task-table td.col-num,.pde-page:not(.dl-page) .project-task-table th.col-decimal,.pde-page:not(.dl-page) .project-task-table td.col-decimal,.pde-page:not(.dl-page) .project-task-table th.col-priority,.pde-page:not(.dl-page) .project-task-table td.col-priority{text-align:center}.pde-page:not(.dl-page) .project-task-table .col-num .task-col-input,.pde-page:not(.dl-page) .project-task-table .col-num input,.pde-page:not(.dl-page) .project-task-table .col-decimal .task-col-input,.pde-page:not(.dl-page) .project-task-table .col-decimal input,.pde-page:not(.dl-page) .project-task-table .col-num .task-readonly-value,.pde-page:not(.dl-page) .project-task-table .col-decimal .task-readonly-value,.pde-page:not(.dl-page) .project-task-table .col-num .task-algorithm-display,.pde-page:not(.dl-page) .project-task-table .col-num .task-num-display,.pde-page:not(.dl-page) .project-task-table .col-decimal .task-algorithm-display{text-align:center;font-variant-numeric:tabular-nums}.project-task-table .col-decimal .task-col-input,.project-task-table .col-decimal input{width:5ch;min-width:5ch}.project-task-table .col-priority{padding-left:1px;padding-right:1px}.project-task-table th.col-field-pp,.project-task-table td.col-field-pp{box-sizing:border-box;width:62px;min-width:62px;max-width:62px;overflow:hidden}.project-task-table th.col-field-rap,.project-task-table td.col-field-rap{box-sizing:border-box;width:38px;min-width:38px;max-width:38px;overflow:hidden}.project-task-table th.col-field-pri,.project-task-table td.col-field-pri{box-sizing:border-box;width:45px;min-width:45px;max-width:45px}.project-task-table .col-field-pp .pde-priority-field{width:45px;min-width:45px;max-width:45px;margin-right:0}.project-task-table .col-field-pp .pde-priority-field__input,.project-task-table .col-field-pri .pde-priority-field,.project-task-table .col-field-pri .pde-priority-field__input{font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;width:45px;min-width:45px;max-width:45px;font-size:10px}.project-task-table .col-field-rap .pde-priority-field,.project-task-table .col-field-rap .pde-priority-field__input{font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;width:35px;min-width:35px;max-width:35px;font-size:10px}.pde-priority-field{vertical-align:middle;align-items:stretch;width:48px;min-width:48px;max-width:48px;display:inline-flex}.pde-priority-field__input{color:#111827;font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;width:48px;min-width:48px;max-width:48px;height:20px;padding:0 4px;font-size:10px;font-weight:500;line-height:1.25}.pde-priority-field__input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 1px #16a34a}.pde-priority-field--computed .pde-priority-field__input,.pde-priority-field--readonly .pde-priority-field__input{color:#1e293b;cursor:default;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-color:#cbd5e1;font-weight:600}.pde-priority-field--disabled .pde-priority-field__input{opacity:.6;cursor:not-allowed}.project-task-table .col-select{width:1%}.project-task-table .col-select select{width:4.5ch}.project-task-table .col-confidence{width:58px;min-width:58px;max-width:58px;padding-left:2px;padding-right:2px}.project-task-table .col-confidence select{text-align:center;text-align-last:center;width:54px;min-width:54px;max-width:none;padding:0 14px 0 2px;font-size:9px}.project-task-table .col-date{width:1%;min-width:104px;max-width:none;padding-left:2px;padding-right:2px}.project-task-table .col-date .task-date-input,.project-task-table .col-date .display-date-input{width:100%;min-width:0;max-width:none}.project-task-table .col-date .display-date-input-btn{white-space:nowrap;text-overflow:clip;width:100%;min-width:0;max-width:none;min-height:20px;padding:0 4px;font-size:10px;line-height:1.15;overflow:visible}.project-task-table .col-algorithm{width:118px;min-width:118px;max-width:118px}.project-task-table .col-algorithm .task-algorithm-display,.project-task-table .col-algorithm .task-employee-select{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:114px;overflow:hidden}.project-task-table .col-algorithm .task-algorithm-display{box-sizing:border-box;color:#475569;cursor:default;background:#f1f5f9;border:1px solid #e2e8f0;height:20px;padding:0 2px;font-size:10px;line-height:18px;display:block}.project-task-table .col-override{width:132px;min-width:132px;max-width:132px}.project-task-table .col-override .task-employee-select{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;min-width:0;max-width:128px;padding-right:14px;overflow:hidden}.project-task-table .col-employee{width:132px;min-width:132px;max-width:132px}.task-employee-select{width:100%;min-width:0;max-width:128px}.task-employee-select:disabled{color:#475569;cursor:not-allowed;background:#f1f5f9}.project-task-table .col-wide{width:auto;max-width:16ch}.project-task-table .col-wide .task-col-input{width:100%;min-width:5ch;max-width:16ch}.project-task-table .col-wide .task-name-select{width:100%;min-width:0;max-width:none;padding:0 18px 0 4px;font-size:10px}.project-task-table .col-text{width:1%}.project-task-table .col-text .task-col-input{width:6ch}.project-task-table .sticky-col{z-index:3;background:#fff;position:sticky;left:0;box-shadow:1px 0 #e2e8f0}.project-task-table .sticky-col.select-col{width:var(--pde-sticky-select-width);min-width:var(--pde-sticky-select-width);max-width:var(--pde-sticky-select-width);left:0}.project-task-table .sticky-col-task-frozen,.project-task-table .sticky-col-task-name{left:var(--pde-sticky-select-width);z-index:2;width:var(--pde-sticky-task-width);min-width:var(--pde-sticky-task-width);max-width:var(--pde-sticky-task-width);overflow:hidden;box-shadow:2px 0 4px -2px #0000001f}.project-task-table tbody tr:nth-child(2n) .sticky-col,.project-task-table tbody tr:nth-child(2n) .sticky-col-task-frozen,.project-task-table tbody tr:nth-child(2n) .sticky-col-task-name{background:#fcfdfe}.dl-page .project-task-table tbody tr{color:#111827;background:#fff}.dl-page .project-task-table tbody tr:nth-child(2n){background:#f8fafc}.dl-page .project-task-table tbody tr .sticky-col,.dl-page .project-task-table tbody tr .sticky-col-task-frozen,.dl-page .project-task-table tbody tr .sticky-col-task-name{color:#111827;background:#fff}.dl-page .project-task-table tbody tr:nth-child(2n) .sticky-col,.dl-page .project-task-table tbody tr:nth-child(2n) .sticky-col-task-frozen,.dl-page .project-task-table tbody tr:nth-child(2n) .sticky-col-task-name{background:#f8fafc}.dl-page .project-task-table tbody tr.project-task-row-no-plan{color:#4b5563;background:#c4c9d0}.dl-page .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n){background:#b4bac2}.dl-page .project-task-table tbody tr.project-task-row-no-plan input:not([type=checkbox]),.dl-page .project-task-table tbody tr.project-task-row-no-plan select,.dl-page .project-task-table tbody tr.project-task-row-no-plan .task-col-input,.dl-page .project-task-table tbody tr.project-task-row-no-plan .task-algorithm-display,.dl-page .project-task-table tbody tr.project-task-row-no-plan .task-employee-select,.dl-page .project-task-table tbody tr.project-task-row-no-plan .task-readonly-date,.dl-page .project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn{color:#4b5563;background:0 0;border-color:#9ca3af}.dl-page .project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn:hover{background:0 0;border-color:#6b7280}.dl-page .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected,.dl-page .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td,.dl-page .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col,.dl-page .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-frozen,.dl-page .project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-name{color:#374151;background:#a8adb6}.dl-page .project-task-table tbody tr.project-task-row-no-plan .sticky-col,.dl-page .project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-frozen,.dl-page .project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-name{color:#4b5563;background:#c4c9d0}.dl-page .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td,.dl-page .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col,.dl-page .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-frozen,.dl-page .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-name{background:#b4bac2}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .sticky-col,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-frozen,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-name{color:#6b7280;background:#e8eaed}.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-frozen,.pde-page:not(.dl-page) .project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-name{background:#dde1e6}.project-task-table .actions-col{text-align:center;vertical-align:middle;width:28px;min-width:28px;padding:1px}.project-task-table .select-col input[type=checkbox]{vertical-align:middle;margin:0}.auth-page,.page-center,.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;width:min(100%,22rem);margin:0 auto;padding:0 16px}.login-container{padding:24px 16px 20px}.login-logo{text-align:center}.login-logo img{width:52%;max-width:160px;height:auto;margin:0 auto;display:block}.login-form{flex-direction:column;gap:12px;display:flex}.login-heading{text-align:center;margin-top:8px;margin-bottom:16px}.login-heading h1{color:var(--color-text);margin:0 0 8px;font-size:1.5rem;font-weight:400}.login-heading p{color:var(--color-text);margin:0;font-size:1rem}.login-fields{flex-direction:column;gap:22px;display:flex}.login-field{position:relative}.login-field input{box-sizing:border-box;width:100%;color:var(--color-text);background:0 0;border:1px solid #d1d5db;border-radius:4px;padding:10px 10px 4px;font-size:.95rem}.login-field input:focus{border-color:#2563eb;outline:none}.login-field label{color:#1d4ed8;pointer-events:none;background:#fff;padding:0 4px;font-size:.85rem;font-weight:700;transition:top .15s,transform .15s,color .15s,font-weight .15s;position:absolute;top:7px;left:8px}.login-field input:focus+label,.login-field input:not(:placeholder-shown)+label{color:#2563eb;font-weight:400;top:0;transform:translateY(-50%)}.login-error{color:#ef4444;margin:4px 0 0;font-size:.875rem}.login-submit{color:#00a2e8;cursor:pointer;background:#fff;border:1px solid #00a2e8;border-radius:4px;align-self:flex-end;width:28%;min-width:72px;margin-top:8px;padding:6px 10px;font-size:.95rem;transition:background .15s,color .15s}.login-submit:hover:not(:disabled){color:#fff;background:#00a2e8}.login-submit:disabled{opacity:.5;cursor:not-allowed}.auth-card{gap:16px;width:min(100%,420px);padding:28px;display:grid}.auth-footer{text-align:center;margin:0}.auth-brand{align-items:center;gap:14px;display:flex}.auth-submit{width:100%}.password-field{gap:8px;display:flex}.password-field input{flex:1}.password-toggle{flex-shrink:0}.dashboard-quick-links{gap:12px;width:fit-content;max-width:100%;display:grid}.quick-link-grid{grid-template-columns:repeat(5,178px);gap:10px;display:grid}.quick-link-card{border:1px solid var(--color-border);width:178px;color:inherit;background:#f8fafc;border-radius:12px;gap:4px;padding:10px 12px;transition:background .15s,border-color .15s,transform .15s;display:grid}.quick-link-card strong{color:var(--color-text);font-size:13px;font-weight:600;line-height:1.3}.quick-link-card:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border);transform:translateY(-1px)}.quick-link-card span{color:var(--color-muted);font-size:13px}@media (width<=940px){.quick-link-grid{grid-template-columns:repeat(2,178px)}}@media (width<=400px){.quick-link-grid{grid-template-columns:178px}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#e2e8f0 0%,#f1f5f9 45%,#e2e8f0 90%) 0 0/200% 100%;border-radius:8px;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-text{border-radius:6px;height:14px}.skeleton-circle{border-radius:999px}.skeleton-page{gap:20px;display:grid}.skeleton-heading--actions{flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%}.skeleton-heading-copy{gap:10px;width:min(100%,420px);display:grid}.skeleton-title{width:220px;height:28px}.skeleton-subtitle{width:320px;max-width:100%;height:16px}.skeleton-heading-actions{flex-wrap:wrap;gap:10px;display:flex}.skeleton-btn{width:112px;height:var(--btn-height)}.skeleton-btn--primary{width:128px}.skeleton-stat-card{gap:12px;display:grid}.skeleton-stat-label{width:90px;height:14px}.skeleton-stat-value{width:64px;height:34px}.skeleton-filter-bar{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.skeleton-filter-field{flex:160px;gap:8px;min-width:160px;display:grid}.skeleton-label{width:72px;height:12px}.skeleton-input{width:100%;min-width:140px;height:40px}.skeleton-input--wide{min-width:240px}.skeleton-filter-actions{flex-wrap:wrap;gap:10px;display:flex}.skeleton-table-card{padding:0;overflow:hidden}.skeleton-table-head,.skeleton-table-row{border-bottom:1px solid #e2e8f0;gap:16px;padding:14px 16px;display:grid}.skeleton-table-head{background:#f8fafc}.skeleton-th{height:14px}.skeleton-td{height:16px}.skeleton-form-grid{align-items:end}.skeleton-form-field{gap:8px;display:grid}.skeleton-form-submit{width:140px}.skeleton-inline-form{align-items:center;gap:12px;display:flex}.skeleton-histogram-chart{gap:8px;min-height:280px;padding:12px;display:grid;overflow:hidden}.skeleton-histogram-chart--inline{min-height:200px}.skeleton-histogram-header,.skeleton-histogram-row{align-items:stretch;gap:12px;display:flex}.skeleton-histogram-label{flex-shrink:0;width:168px;min-width:168px;height:32px}.skeleton-histogram-days{flex:1;gap:8px;display:flex;overflow:hidden}.skeleton-histogram-day{flex-shrink:0;width:58px;min-width:58px;height:32px}.skeleton-histogram-name{flex-shrink:0;width:168px;min-width:168px;height:54px}.skeleton-histogram-lane{background:#f8fafc;border-radius:8px;flex:1;align-items:center;min-height:72px;padding:12px;display:flex}.skeleton-histogram-bar{border-radius:8px;height:28px}.skeleton-task-grid{gap:16px;padding:16px;display:grid;overflow:hidden}.skeleton-task-toolbar{flex-wrap:wrap;gap:10px;display:flex}.skeleton-task-columns{-webkit-overflow-scrolling:touch;flex-flow:row;gap:12px;display:flex;overflow:auto hidden}.skeleton-task-column{flex:none;gap:8px;min-width:140px;display:grid}.skeleton-task-column-head{height:32px}.skeleton-task-cell{height:18px}.skeleton-project-picker{gap:16px;display:grid}.skeleton-availability-toolbar,.skeleton-allocation-toolbar,.skeleton-trainings-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.skeleton-trainings-toolbar{align-items:flex-end;gap:8px 10px;margin-bottom:4px}.skeleton-trainings-toolbar-field{gap:4px;min-width:108px;display:grid}.skeleton-trainings-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;padding:4px 8px;display:grid}.skeleton-trainings-overview-stat .skeleton-stat-label{width:100%;max-width:120px;height:10px}.skeleton-trainings-overview-stat .skeleton-stat-value{width:72px;height:18px}.skeleton-trainings-title{width:120px;height:22px}.skeleton-trainings-view-toggle{width:196px}.skeleton-trainings-legend{flex-direction:column;gap:6px;margin-bottom:4px;padding:4px 6px;display:flex}.skeleton-trainings-legend-capacity,.skeleton-trainings-legend-sessions{flex-wrap:wrap;gap:6px;display:flex}.skeleton-trainings-legend-chip{border-radius:999px;width:72px;height:14px}.skeleton-trainings-legend-session{border-radius:999px;width:132px;height:22px}.skeleton-page.trainings-page--gaps{gap:4px}.skeleton-page.trainings-page--gaps .trainings-gap-panel.card{padding:6px 8px 8px}.skeleton-page.trainings-page--gaps .skeleton-histogram-chart--inline{margin-top:0}.app-main:has(.skeleton-page.trainings-page--gaps){padding:6px 8px 8px}.skeleton-roles-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;display:grid}.skeleton-roles-list{gap:10px;padding:16px;display:grid}.skeleton-role-item{height:42px}.skeleton-roles-editor{gap:16px;padding:16px;display:grid}.skeleton-navbar{background:#2d2d2d;border-bottom:1px solid #1a1a1a;align-items:center;gap:16px;min-height:64px;padding:0 24px;display:flex}.skeleton-navbar-brand{flex-shrink:0;width:148px;height:40px}.skeleton-navbar-links{flex:1;gap:8px;min-width:0;display:flex}.skeleton-navbar-link{width:112px;height:36px}.skeleton-navbar-user{flex-shrink:0;width:120px;height:36px}@media (prefers-reduced-motion:reduce){.skeleton{background:#e2e8f0;animation:none}.nav-dropdown-panel,.nav-dropdown-chevron{transition:none;animation:none;transform:none}}@media (width<=1024px){.skeleton-roles-layout{grid-template-columns:1fr}.skeleton-heading--actions,.skeleton-histogram-header,.skeleton-histogram-row{flex-direction:column}.skeleton-histogram-label,.skeleton-histogram-name{width:100%;min-width:0}.form-grid{grid-template-columns:1fr}.inline-form{flex-direction:column;align-items:stretch}.navbar-inner{align-items:center;gap:0;padding:12px 16px}.navbar-toggle{flex-shrink:0;display:flex}.navbar-collapse{overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;width:100%;max-height:calc(100vh - 64px);display:none;overflow-y:auto}.navbar-collapse.is-open{display:flex}.navbar-links{border-top:1px solid var(--navbar-control-border,#d1d5db);flex-direction:column;flex:none;align-items:stretch;gap:4px;width:100%;margin-top:12px;padding:12px 0 0}.nav-dropdown{width:100%}.navbar-admin-group{justify-content:space-between;width:100%}.navbar-admin-group .nav-dropdown{flex:1;min-width:0}.nav-dropdown-trigger{text-align:left;justify-content:space-between;width:100%}.nav-dropdown-panel{width:100%;min-width:0;box-shadow:none;background:0 0;border:none;margin-top:4px;padding:0 0 8px 12px;animation:.18s nav-dropdown-in-mobile;position:static}@keyframes nav-dropdown-in-mobile{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{color:var(--navbar-text,#f5f5f5);padding:12px}.nav-dropdown-item:hover{background:var(--navbar-hover-bg,#ffffff1a);color:#fff}.nav-dropdown-item.active{background:var(--navbar-active-bg,#ffffff29);color:#fff}.nav-dropdown-item.disabled{color:var(--navbar-text-muted,#a3a3a3);opacity:.7}.navbar-actions{border-top:1px solid var(--navbar-control-border,#e2e8f0);flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-left:0;padding:12px 0}.user-profile-menu{width:100%}.user-profile-trigger{justify-content:flex-start;width:100%}.user-profile-panel{width:100%;box-shadow:none;margin-top:8px;position:static}.navbar-user{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.navbar-actions .btn{width:100%}.app-main{padding:16px}.page-heading h2{font-size:1.35rem}.page-heading-row{flex-direction:column}.page-header-actions,.allocation-toolbar-actions,.access-permissions-toolbar-actions,.email-notifications-toolbar-actions,.roles-toolbar-actions,.availability-toolbar-actions,.histogram-filter-actions,.admin-toolbar-actions,.histogram-toolbar-actions{justify-content:flex-start;width:100%}.pde-page .pde-header-actions,.pde-page .pde-controls-toolbar,.pde-page .pde-controls-toolbar-row{justify-content:flex-end;align-items:flex-end}.pde-page .pde-controls-toolbar-row--danger{justify-content:space-between;align-items:flex-start}.pde-page .pde-danger-toolbar-actions{justify-content:flex-end;margin-left:auto}.resource-histogram-page .histogram-toolbar-actions{justify-content:flex-end;width:auto}.toast-stack{width:min(360px,100vw - 32px);inset:72px auto auto 50%;transform:translate(-50%)}.project-picker-row:not(.project-picker-toolbar):not(.pde-controls){flex-direction:column;align-items:stretch}.pde-page .project-picker-toolbar{flex-flow:wrap}.pde-toolbar-primary{grid-column:1/-1;justify-content:flex-end;justify-self:stretch}.pde-page .project-picker-toolbar .project-select-field,.pde-page .project-picker-toolbar .copy-type-field{flex:120px;min-width:110px;max-width:none}.pde-page .project-task-scroll,.pde-page .pde-table-shell{-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:100%;min-height:120px;max-height:none;overflow:auto}.pde-page .project-task-table{width:max-content;min-width:100%;display:table}.project-select-field,.copy-type-field{width:100%;min-width:0}.project-picker-row:not(.project-picker-toolbar) .btn{flex:none;width:auto}.operatives-allocation-page{--allocation-viewport-offset:52px;--allocation-table-width:100%}.operatives-allocation-page .allocation-toolbar{flex-direction:column;align-items:stretch}.operatives-allocation-page .allocation-toolbar-filters{justify-content:flex-start}.operatives-allocation-page .allocation-toolbar-actions{justify-content:flex-end;width:100%;margin-left:0}.operatives-allocation-page .allocation-table-scroller{flex:1;min-height:0;max-height:none;overflow:auto}.user-availability-page .availability-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.user-availability-page .availability-toolbar-filters{width:100%}.user-availability-page .availability-toolbar-filters label{flex:140px;width:auto;min-width:0;max-width:none}.user-availability-page .availability-toolbar-filters label:first-child{flex:160px;max-width:200px}.user-availability-page .availability-toolbar-filters label:nth-child(2),.user-availability-page .availability-toolbar-filters label:nth-child(3),.user-availability-page .availability-toolbar-filters label:nth-child(4){flex:calc(50% - 8px);width:auto;max-width:none}.user-availability-page .availability-toolbar-actions{justify-content:flex-start;width:100%}.user-availability-page .availability-toolbar .btn{flex:none;width:auto}.availability-total{text-align:left;flex:100px;align-items:flex-start;width:auto}.histogram-toolbar-card{gap:10px;padding:10px}.histogram-toolbar-row{align-items:flex-end}.histogram-toolbar-filters{flex-wrap:wrap;flex:auto;gap:10px;width:auto;min-width:0}.histogram-toolbar-actions{flex:none;justify-content:flex-end;width:auto}.resource-histogram-page .histogram-toolbar-field:not(.histogram-toolbar-field-date),.resource-histogram-page .histogram-toolbar-field-date{flex:148px;width:auto;min-width:132px}.resource-histogram-page .histogram-toolbar-field select,.resource-histogram-page .histogram-toolbar-field .display-date-input,.resource-histogram-page .histogram-toolbar-field .histogram-date-input{width:100%;max-width:none}.histogram-project-legend--embedded,.resource-histogram-page .histogram-project-legend--embedded{max-width:100%}.histogram-project-legend-item{max-width:100px}.histogram-toolbar{align-items:stretch}.histogram-toolbar-btn{flex:none;min-width:0}.histogram-filters{grid-template-columns:1fr}.histogram-filter-actions{justify-content:flex-start;width:100%}.resource-histogram-combined{--histogram-label-width:112px}.resource-histogram-chart-wrap .histogram-sync-scroll-top:not(.histogram-fixed-header-timeline){height:22px;min-height:22px;max-height:22px}.histogram-sync-scroll-main,.resource-histogram-combined-scroll{max-height:min(100dvh - 240px,560px)}.resource-histogram-page .histogram-sync-scroll-main,.resource-histogram-page .resource-histogram-combined-scroll{max-height:none}.histogram-mini-legend{bottom:8px;right:8px}.resource-gantt-label-col{width:120px;min-width:120px;padding:8px;font-size:12px}.resource-histogram-name strong{font-size:12px}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar-actions{justify-content:flex-start;width:100%}.modal-overlay{align-items:flex-end;padding:12px}.modal-card{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:calc(100vh - 24px)}.modal-actions{justify-content:flex-end}}@media (width<=480px){.pde-page .page-heading h2{font-size:16px}.pde-page .project-picker-toolbar .project-select-field,.pde-page .project-picker-toolbar .copy-type-field{flex:100%;max-width:100%}.pde-page .project-task-toolbar .btn{flex:none;width:auto}.app-main:has(.pde-page){padding:8px}.navbar-brand-text strong{font-size:14px}.navbar-logo{max-width:108px;height:40px}.stat-card strong{font-size:26px}.display-date-input-btn{font-size:13px}.resource-histogram-page{gap:12px}.histogram-toolbar-field,.resource-histogram-page .histogram-toolbar-field-date{flex:100%;width:100%;min-width:0}.resource-histogram-combined{--histogram-label-width:96px}.histogram-toolbar-row{flex-direction:column;align-items:stretch}.histogram-toolbar-actions{justify-content:flex-start;width:100%}.histogram-toolbar-btn{padding:0 8px;font-size:11px}.histogram-sync-scroll-main,.resource-histogram-combined-scroll{max-height:min(100dvh - 280px,480px)}.resource-histogram-page .histogram-sync-scroll-main,.resource-histogram-page .resource-histogram-combined-scroll{max-height:none}.histogram-project-legend-item{max-width:96px}}.admin-toolbar{flex-direction:row;align-items:flex-start}.admin-table-wrap table input,.admin-table-wrap table select{width:auto;min-width:0;max-width:100%}.access-permissions-page,.roles-page,.email-notifications-page{gap:10px;width:fit-content;min-width:0;max-width:100%;display:grid}.access-permissions-page .page-header,.roles-page .page-header,.email-notifications-page .page-header,.access-permissions-page>.alert,.roles-page>.alert,.email-notifications-page>.alert,.access-permissions-page .table-card,.roles-page .table-card,.roles-page .card,.email-notifications-page .card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.access-permissions-page .page-heading-row,.roles-page .page-heading-row,.email-notifications-page .page-heading-row{flex-wrap:wrap;align-items:flex-start;gap:10px;width:100%}.access-permissions-page .page-heading-copy,.roles-page .page-heading-copy,.email-notifications-page .page-heading-copy{flex:160px;min-width:0}.access-permissions-page .page-header-actions,.roles-page .page-header-actions,.email-notifications-page .page-header-actions{flex-wrap:wrap;flex:0 auto;gap:8px}:is(.app-main:has(.access-permissions-page),.app-main:has(.roles-page),.app-main:has(.email-notifications-page)){padding:10px 12px 14px}.access-permissions-page{--access-permissions-table-width:920px;max-width:min(var(--access-permissions-table-width), 100%)}.roles-page{--roles-list-table-width:292px;--roles-editor-width:420px;max-width:min(var(--roles-editor-width), 100%)}.email-notifications-page{--email-notifications-content-width:540px;max-width:min(var(--email-notifications-content-width), 100%)}.access-permissions-header{gap:0}.access-permissions-page .page-heading h2{font-size:20px;line-height:1.2}.access-permissions-description{color:var(--color-muted);margin:4px 0 0;font-size:12px}.access-permissions-toolbar{gap:10px;width:100%}.access-permissions-toolbar-actions{justify-content:flex-end}.access-permissions-table-wrap{-webkit-overflow-scrolling:touch;width:fit-content;max-width:100%;padding:8px 10px;overflow-x:auto}.access-permissions-table{width:var(--access-permissions-table-width);table-layout:fixed;min-width:0;max-width:100%;font-size:12px}.access-permissions-table th:first-child,.access-permissions-table td:first-child,.access-permissions-table th:nth-child(2),.access-permissions-table td:nth-child(2){width:100px}.access-permissions-table th:nth-child(3),.access-permissions-table td:nth-child(3){width:120px}.access-permissions-table th:nth-child(4),.access-permissions-table td:nth-child(4){width:220px}.access-permissions-table th:nth-child(5),.access-permissions-table td:nth-child(5){width:140px}.access-permissions-table th:nth-child(6),.access-permissions-table td:nth-child(6){width:50px}.access-permissions-table th:nth-child(7),.access-permissions-table td:nth-child(7){width:130px}.access-permissions-table th:nth-child(8),.access-permissions-table td:nth-child(8){width:60px}.access-permissions-table th,.access-permissions-table td{vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:4px 5px;overflow:hidden}.access-permissions-table td:nth-child(6),.access-permissions-table td:nth-child(8){text-align:center;white-space:normal}.access-permissions-table th{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600}.access-permissions-table input,.access-permissions-table select{box-sizing:border-box;border-radius:6px;width:100%;min-width:0;max-width:100%;height:26px;min-height:26px;padding:2px 6px;font-size:11px}.access-permissions-table td:first-child input,.access-permissions-table td:nth-child(2) input{max-width:100%}.email-notifications-header{gap:0}.email-notifications-page .page-heading h2{font-size:18px;line-height:1.2}.email-notifications-description{color:var(--color-muted);margin:4px 0 0;font-size:12px}.email-notifications-toolbar{gap:10px;width:100%}.email-notifications-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.email-notifications-settings{box-sizing:border-box;gap:10px;width:100%;min-width:0;padding:10px 12px;display:grid}.email-notifications-toggle-span{grid-column:1/-1}.email-notifications-settings-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.email-notifications-from-field{flex-direction:column;gap:6px;min-width:0;display:flex}.email-notifications-from-label{flex-direction:column;gap:4px;display:flex}.email-notifications-from-label strong{font-size:12px}.email-notifications-from-label .muted{font-size:11px;line-height:1.4}.email-notifications-from-input{width:100%}.email-notifications-test-field{flex-direction:column;gap:6px;min-width:0;display:flex}.email-notifications-test-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.email-notifications-test-input{flex:140px;min-width:0;max-width:100%}.email-notifications-toggle{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.email-notifications-toggle input{flex-shrink:0;width:14px;height:14px;margin-top:3px}.email-notifications-toggle strong{margin-bottom:4px;display:block}.email-notifications-toggle .muted{font-size:12px;line-height:1.45;display:block}.email-notifications-rules-section{gap:10px;display:grid}.email-notifications-rules-heading{color:#1f2937;margin:0;font-size:15px;font-weight:600}.email-notifications-rules-list{gap:10px;display:grid}.email-notifications-empty{flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.email-notifications-empty p{color:#64748b;margin:0;font-size:13px}.email-rule-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:10px;min-width:0;padding:10px 12px;display:grid}.email-rule-card-header{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.email-rule-name-field{flex:160px;gap:4px;min-width:0;display:grid}.email-rule-name-input{width:100%;font-weight:500}.email-rule-remove-btn{border-style:solid;flex-shrink:0}.email-rule-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.email-rule-condition,.email-rule-recipients,.email-rule-delivery{gap:6px;display:grid}.email-rule-condition-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.email-rule-case-select{width:100%;min-width:0;max-width:100%}.email-rule-threshold{align-items:center;gap:4px;display:inline-flex}.email-rule-threshold-input{text-align:right;width:72px}.email-rule-threshold-suffix{color:#475569;font-size:13px;font-weight:600}.email-rule-delivery-options{flex-wrap:wrap;gap:6px 8px;display:flex}.email-rule-delivery-option{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:5px 8px;font-size:11px;display:inline-flex}.email-rule-delivery-option input[type=checkbox]{flex-shrink:0;width:14px;height:14px;margin:0}.email-rule-delivery-hint{margin:0;font-size:11px;line-height:1.4}.email-notifications-input,.email-notifications-select{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:auto;min-width:0;max-width:100%;height:28px;min-height:28px;padding:2px 8px;font-size:12px}.email-notifications-input-narrow{max-width:88px}.email-recipient-picker{gap:6px;min-width:0;display:grid}.email-recipient-empty{margin:0;font-size:11px}.email-recipient-chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.email-recipient-chip{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:4px;max-width:min(100%,220px);padding:2px 6px;font-size:11px;line-height:1.3;display:inline-flex}.email-recipient-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.email-recipient-chip-remove{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:14px;line-height:1;display:inline-flex}.email-recipient-chip-remove:hover{color:#1e3a8a;background:#dbeafe}.email-recipient-select{width:100%}.access-permissions-table td:nth-child(4) input,.access-permissions-table td:nth-child(5) input{max-width:100%}.access-permissions-table td:nth-child(6){text-align:center}.access-permissions-table td:nth-child(6) input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;margin:0}.access-permissions-table td:nth-child(7) select{max-width:100%}.access-permissions-table td:nth-child(8){text-align:center}.access-permissions-table .btn-sm:hover:not(:disabled){transform:none}.activity-log-page{gap:12px;display:grid}.activity-log-page .page-heading h2{font-size:20px;line-height:1.2}.activity-log-description{color:var(--color-muted);margin:4px 0 0;font-size:12px}.activity-log-toolbar{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.activity-log-filters{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px 10px;display:flex}.activity-log-filter{color:#64748b;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-size:11px;font-weight:600;display:inline-flex}.activity-log-filter select{border-radius:6px;min-width:150px;height:32px;padding:4px 8px;font-size:12px}.activity-log-filter .activity-log-date-input{min-width:118px}.activity-log-filter .activity-log-date-input .display-date-input-btn{border-radius:6px;min-width:118px;height:32px;padding:4px 8px;font-size:12px}.activity-log-table-card{overflow:auto}.activity-log-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.activity-log-table{table-layout:auto;border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.activity-log-modal .activity-log-table{min-width:0}.activity-log-modal .activity-log-table th:nth-child(4),.activity-log-modal .activity-log-table td.activity-log-summary{min-width:18rem}.activity-log-modal .activity-log-summary-text{white-space:normal}.algorithm-review-modal .activity-log-table{min-width:0}.algorithm-review-modal .activity-log-table th:nth-child(4),.algorithm-review-modal .activity-log-table td.activity-log-summary{word-break:normal;overflow-wrap:anywhere;width:auto;min-width:18rem}.algorithm-review-modal .activity-log-table:not(:has(.algorithm-review-project-cell)) th:nth-child(3){min-width:18rem}.activity-log-table th,.activity-log-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 10px}.activity-log-table th:first-child,.activity-log-table td.activity-log-when,.activity-log-table th:nth-child(2),.activity-log-table td.activity-log-user,.activity-log-table th:nth-child(3),.activity-log-table td:nth-child(3){white-space:nowrap;width:1%}.activity-log-table th:nth-child(4),.activity-log-table td.activity-log-summary{word-break:normal;overflow-wrap:anywhere;width:auto;min-width:12rem}.activity-log-table th:nth-child(5),.activity-log-table td.activity-log-details-cell{white-space:nowrap;text-align:right;width:1%}.activity-log-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-surface-muted);font-size:11px}.activity-log-action{background:var(--color-surface-muted);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.activity-log-summary-text{word-break:normal;overflow-wrap:anywhere;line-height:1.4;display:block}.activity-log-details-toggle{appearance:none;cursor:pointer;color:var(--color-primary);text-align:right;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.activity-log-details-toggle:hover{text-decoration:underline}.activity-log-details-toggle.is-open{color:#0f172a}.activity-log-details-row td{border-bottom:1px solid var(--color-border);background:#f8fafc;padding:0 10px 12px}.activity-log-change-body{background:var(--color-surface-muted);border:1px solid var(--color-border);box-sizing:border-box;border-radius:8px;width:100%;max-height:min(560px,70vh);margin-top:0;padding:12px 14px;overflow:auto}.activity-log-change-group+.activity-log-change-group{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.activity-log-change-group-title{color:#111827;margin:0 0 8px;font-size:12px;font-weight:700}.activity-log-simple-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.activity-log-simple-list li{border:1px solid var(--color-border);background:#fff;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1.35}.activity-log-task-list{flex-direction:column;gap:8px;display:flex}.activity-log-task-item{border:1px solid var(--color-border);background:#fff;border-radius:6px;padding:8px 10px}.activity-log-task-name{color:#111827;margin-bottom:6px;font-size:12px;font-weight:600;line-height:1.35}.activity-log-task-fields{flex-direction:column;gap:4px;display:flex}.activity-log-field-change{grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);align-items:start;gap:10px;font-size:11px;line-height:1.35;display:grid}.activity-log-field-name{color:#475569;padding-top:6px;font-weight:600}.activity-log-field-before-after{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.activity-log-value-block{border:1px solid var(--color-border);border-radius:6px;min-width:0;padding:6px 8px}.activity-log-value-block--before{background:#fffbeb;border-color:#fcd34d}.activity-log-value-block--after{background:#f0fdf4;border-color:#86efac}.activity-log-value-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:2px;font-size:9px;font-weight:700;display:block}.activity-log-value-text{color:#111827;word-break:break-word;font-weight:500;display:block}.activity-log-pagination{align-items:center;gap:12px;display:flex}.activity-log-back-link{margin:0}.roles-header{gap:0}.roles-page .page-heading h2{font-size:18px;line-height:1.2}.roles-description{color:var(--color-muted);margin:4px 0 0;font-size:12px}.roles-toolbar{gap:10px;width:100%}.roles-toolbar-actions{justify-content:flex-end}.roles-table-wrap{-webkit-overflow-scrolling:touch;width:fit-content;max-width:100%;padding:10px 12px;overflow-x:auto}.roles-table,.roles-permissions-table{table-layout:fixed;min-width:0;font-size:12px}.roles-table{width:var(--roles-list-table-width);max-width:100%}.roles-permissions-table{width:100%;max-width:var(--roles-editor-width)}.roles-table th:first-child,.roles-table td:first-child{text-overflow:ellipsis;white-space:nowrap;width:168px;overflow:hidden}.roles-table th:nth-child(2),.roles-table td:nth-child(2){width:124px}.roles-permissions-table th:first-child,.roles-permissions-table td:first-child{text-overflow:ellipsis;white-space:nowrap;width:180px;overflow:hidden}.roles-permissions-table th:nth-child(2),.roles-permissions-table td:nth-child(2){width:140px}.roles-table td:first-child{color:#1f2937;font-weight:500}.roles-table th,.roles-table td,.roles-permissions-table th,.roles-permissions-table td{vertical-align:middle;padding:6px 8px}.roles-table th,.roles-permissions-table th{color:#64748b;white-space:nowrap;background:#f8fafc;font-size:11px;font-weight:600}.roles-table .admin-row-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px}.roles-table td.admin-row-actions{vertical-align:middle;display:table-cell}.roles-table td.admin-row-actions .btn-sm{flex-shrink:0}.roles-table .btn-sm,.roles-permissions-table .btn-sm{box-shadow:none;border-style:solid}.roles-table .btn-sm:hover:not(:disabled),.roles-permissions-table .btn-sm:hover:not(:disabled){transform:none}.roles-role-editor{width:fit-content;max-width:min(var(--roles-editor-width), 100%);border-radius:10px;gap:10px;min-width:0;padding:10px 12px}.roles-name-field{color:#64748b;gap:4px;max-width:240px;font-size:11px;font-weight:600}.roles-name-field input{border-radius:6px;height:28px;min-height:28px;padding:2px 8px;font-size:12px}.roles-inline-form{gap:8px}.roles-inline-form input{border-radius:6px;width:auto;min-width:140px;max-width:200px;height:28px;min-height:28px;padding:2px 8px;font-size:12px}.roles-permissions-table select{border-radius:6px;width:100%;min-width:0;max-width:100%;height:26px;min-height:26px;padding:2px 6px;font-size:11px}.roles-permissions-table td:nth-child(3){text-align:center;width:88px}@media (width<=1024px){.access-permissions-page,.roles-page,.email-notifications-page{width:100%;max-width:100%}.access-permissions-page .page-heading-row.access-permissions-toolbar,.roles-page .page-heading-row.roles-toolbar,.email-notifications-page .page-heading-row.email-notifications-toolbar,.operatives-allocation-page .page-header-compact .page-heading-row{flex-direction:column;align-items:stretch;gap:10px}.email-notifications-settings-grid{grid-template-columns:1fr}.roles-inline-form{flex-direction:column;align-items:stretch}.roles-inline-form input,.roles-inline-form .btn-sm{width:100%;min-width:0;max-width:none}}.admin-row-actions{gap:8px;display:flex}.admin-role-editor{gap:16px;display:grid}.admin-inline-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.text-center{text-align:center}.resource-histogram-page{flex-direction:column;gap:6px;width:100%;min-width:0;max-width:100%;display:flex;position:relative}.resource-histogram-chart-wrap{width:100%;min-width:0;max-width:100%;position:relative}.resource-histogram-chart-wrap.is-refreshing .resource-histogram-combined{opacity:.96}.histogram-chart-refresh-overlay{pointer-events:none;z-index:30;background:#ffffff59;place-items:center;display:grid;position:absolute;inset:0}.histogram-chart-refresh-spinner{border:3px solid #d4d4d8;border-top-color:#52525b;border-radius:50%;width:28px;height:28px;animation:.75s linear infinite histogram-chart-spin}@keyframes histogram-chart-spin{to{transform:rotate(360deg)}}.histogram-toolbar-card{flex-direction:column;gap:8px;min-width:0;padding:8px 10px;display:flex}.histogram-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 12px;width:100%;min-width:0;display:flex}.histogram-toolbar-filters{flex-wrap:wrap;flex:auto;align-items:flex-end;gap:10px;min-width:0;display:flex}.histogram-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:flex-end;gap:8px 10px;width:auto;display:flex}.histogram-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:10px 12px;display:flex}.resource-histogram-page .histogram-toolbar-filters label.histogram-toolbar-field{color:#64748b;flex-direction:column;flex:none;gap:4px;width:auto;min-width:0;max-width:none;margin:0;font-size:11px;font-weight:600;display:flex}.resource-histogram-page .histogram-toolbar-field>span{line-height:1.2}.resource-histogram-page .histogram-toolbar-field:not(.histogram-toolbar-field-date){width:min(100%,168px);min-width:132px}.resource-histogram-page .histogram-toolbar-field-date{flex:none;width:min(100%,168px);min-width:152px}.resource-histogram-page .histogram-toolbar-field select{width:100%;min-width:0;max-width:none;height:var(--btn-height);min-height:var(--btn-height);border-radius:var(--btn-radius);box-sizing:border-box;field-sizing:normal;background:#fff;border:1px solid #cbd5e1;padding:2px 8px;font-size:12px}.resource-histogram-page .histogram-toolbar-field .histogram-date-input,.resource-histogram-page .histogram-toolbar-field .display-date-input{width:100%;min-width:0;max-width:none;display:block}.resource-histogram-page .histogram-toolbar-field .display-date-input-btn{width:100%;height:var(--btn-height);min-height:var(--btn-height);font-size:12px;line-height:calc(var(--btn-height) - 8px);border-radius:var(--btn-radius);box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #cbd5e1;padding:2px 8px;overflow:hidden}.histogram-toolbar-filter-actions{flex:none;align-items:flex-end;gap:8px;display:flex}.histogram-toolbar-btn{height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);border-radius:var(--btn-radius);color:#4b5563;font:inherit;font-size:var(--btn-font-size);white-space:nowrap;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.histogram-toolbar-btn:hover:not(:disabled){color:#374151;background:#e5e7eb;border-color:#d1d5db}.histogram-toolbar-btn.is-active{color:#111827;background:#fff;border-color:#9ca3af}.histogram-toolbar-btn.is-active:hover:not(:disabled){background:#f9fafb;border-color:#6b7280}.histogram-toolbar-btn:disabled{opacity:.55;cursor:not-allowed}.histogram-toolbar-btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.histogram-toolbar-btn-primary:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#1d4ed8}.histogram-view-options{flex:none;position:relative}.histogram-view-options-trigger{gap:6px}.histogram-view-options-badge{color:#fff;background:#16a34a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.histogram-view-options-menu{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:2px;min-width:240px;max-width:min(320px,100vw - 24px);padding:6px;display:flex;box-shadow:0 10px 24px #0f172a1f}.histogram-view-options-item{color:#1f2937;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:flex-start;gap:8px;margin:0;padding:6px 8px;font-size:12px;font-weight:500;line-height:1.35;display:flex}.histogram-view-options-item>span{flex:auto;min-width:0}.histogram-view-options-item:hover{background:#f8fafc}.histogram-view-options-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:14px;height:14px;margin:2px 0 0}.histogram-toolbar-btn-icon{width:var(--btn-height);min-width:var(--btn-height);justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.histogram-toolbar-icon{display:block}.histogram-toolbar-badge{color:#fff;text-align:center;background:#16a34a;border-radius:999px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-5px}.histogram-edit-log-empty{margin:0}.histogram-edit-log-list{flex-direction:column;gap:10px;max-height:min(60vh,520px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.histogram-edit-log-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.histogram-edit-log-item.is-undone{opacity:.65;background:#f4f4f5}.histogram-edit-log-item-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.histogram-edit-log-item-head strong{color:#111827;font-size:13px}.histogram-edit-log-item-head time{color:#64748b;white-space:nowrap;font-size:11px}.histogram-edit-log-item p{color:#475569;margin:0;font-size:12px}.histogram-edit-log-undone-tag{color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#e5e7eb;border-radius:999px;margin-top:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.algorithm-skipped-intro{color:#475569;margin:0 0 12px;font-size:13px}.algorithm-skipped-table-wrap{border:1px solid #e2e8f0;border-radius:8px;max-height:min(420px,60vh);margin-bottom:16px;overflow:auto}.algorithm-skipped-table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px}.algorithm-skipped-table th,.algorithm-skipped-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:8px 10px}.algorithm-skipped-table th{text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;font-size:11px;position:sticky;top:0}.algorithm-skipped-table tbody tr:last-child td{border-bottom:0}.algorithm-review-modal .activity-log-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.algorithm-review-modal .activity-log-filter .project-color-select{min-width:220px;max-width:360px}.algorithm-review-modal .activity-log-filter .project-color-select-trigger{height:32px;min-height:32px}.algorithm-review-clear-filter{align-self:flex-end;margin-bottom:6px}.algorithm-review-modal .algorithm-review-table th:first-child,.algorithm-review-modal .algorithm-review-project-cell{white-space:normal;vertical-align:top;min-width:14rem}.algorithm-review-modal .algorithm-review-task-cell{white-space:nowrap;width:1%;font-weight:600}.algorithm-review-modal .algorithm-review-pri-cell{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;width:1%}:is(.algorithm-review-modal .algorithm-review-table th:nth-child(3),.algorithm-review-modal .algorithm-review-table:not(:has(.algorithm-review-project-cell)) th:nth-child(2)){white-space:nowrap;text-align:right;width:1%}.algorithm-review-project-label{align-items:flex-start;gap:8px;line-height:1.35;display:inline-flex}.algorithm-review-project-swatch{border:1px solid #0f172a2e;border-radius:3px;flex-shrink:0;width:12px;height:12px;margin-top:2px}.algorithm-review-breakdown-list li strong{font-weight:700}.histogram-collision-empty{margin:0}.histogram-collision-modal{flex-direction:column;gap:18px;display:flex}.histogram-collision-summary{color:#475569;margin:0;font-size:13px}.histogram-collision-section h4{color:#111827;margin:0 0 8px;font-size:14px}.histogram-collision-table-wrap{border:1px solid #e5e7eb;border-radius:8px;max-height:min(42vh,360px);overflow:auto}.histogram-collision-table{border-collapse:collapse;width:100%;font-size:12px}.histogram-collision-table th,.histogram-collision-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:8px 10px}.histogram-collision-table th{z-index:1;color:#475569;white-space:nowrap;background:#f8fafc;font-size:11px;font-weight:700;position:sticky;top:0}.histogram-collision-table tbody tr:last-child td{border-bottom:none}.histogram-collision-swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.histogram-collision-team{color:#64748b;margin-top:2px;font-size:10px;font-weight:500;display:block}.histogram-collision-nrm{color:#64748b;font-weight:500}.histogram-collision-capacity{color:#64748b;font-size:11px}.histogram-mini-legend{z-index:20;position:absolute;bottom:12px;right:12px}.histogram-mini-legend-toggle{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 4px 14px #0f172a1f}.histogram-mini-legend-toggle:hover{border-color:#94a3b8}.histogram-mini-legend-toggle-icon{flex-direction:column;gap:2px;display:inline-flex}.histogram-mini-legend-toggle-icon span{background:#374151;border-radius:999px;width:12px;height:2px;display:block}.histogram-mini-legend-panel{width:min(var(--histogram-mini-legend-width,480px), calc(100vw - 24px));flex-direction:column;max-height:min(360px,50vh);padding:0;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 28px #0f172a2e}.histogram-mini-legend-panel-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.histogram-mini-legend-table-head,.histogram-mini-legend-row{grid-template-columns:44px minmax(0,1fr) 52px;align-items:center;gap:10px;display:grid}.histogram-mini-legend-table-head{color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;padding:6px 12px;font-size:10px;font-weight:700}.histogram-mini-legend-table-head span:last-child,.histogram-mini-legend-pp{text-align:right}.histogram-mini-legend-list{max-height:220px;padding:4px 12px 10px;overflow:auto}.histogram-mini-legend-row{padding:5px 0}button.histogram-mini-legend-row{width:100%;text-align:inherit;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0}button.histogram-mini-legend-row.is-clickable:hover{background:#f1f5f9}button.histogram-mini-legend-row.is-selected,.histogram-mini-legend-row.is-selected{background:#eff6ff}button.histogram-mini-legend-row.is-selected:hover{background:#dbeafe}.histogram-mini-legend-row.is-complete{opacity:.55}.histogram-mini-legend-swatch{box-sizing:border-box;border:1px solid #0f172a38;border-radius:999px;flex-shrink:0;justify-self:center;width:18px;height:18px}.histogram-mini-legend-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.histogram-mini-legend-pp{color:#1e3a8a;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.resource-histogram-chart-wrap .histogram-sync-scroll-main,.resource-histogram-chart-wrap .resource-histogram-combined-scroll,.resource-histogram-chart-wrap .histogram-timeline-scroll,.trainings-chart-wrap .histogram-sync-scroll-main{padding-bottom:12px}.resource-histogram-chart-wrap .histogram-sync-scroll,.trainings-chart-wrap .histogram-sync-scroll{width:100%;max-width:100%}.resource-histogram-chart-wrap .histogram-sync-scroll-main,.trainings-chart-wrap .histogram-sync-scroll-main{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;width:100%;max-width:100%;overflow:auto}.resource-histogram-chart-wrap .histogram-sync-scroll-top:not(.histogram-fixed-header-timeline){border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);touch-action:pan-x;border-radius:8px 8px 0 0;width:100%;max-width:100%;height:18px;min-height:18px;max-height:18px;overflow:auto hidden}.resource-histogram-chart-wrap .histogram-sync-scroll-top-inner{height:1px}.histogram-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:16px;display:grid}.histogram-filter-actions{flex-wrap:wrap;gap:12px;display:flex}.btn-toggle-active{color:var(--btn-action-blue-hover);border-color:var(--btn-action-blue-hover);background:var(--btn-action-blue-soft)}.btn-toggle-active:hover:not(:disabled){color:var(--btn-action-blue-hover);border-color:var(--btn-action-blue-hover);background:#dbeafe}.resource-hours-cell.over-capacity{color:#b91c1c;font-weight:700;box-shadow:inset 0 0 0 2px #dc2626}.resource-ava-timeline-row{background:#f0fdf4}.resource-histogram-ava-label{color:#047857;background:#ecfdf5}.resource-ava-cell.has-hours{color:#065f46;font-weight:600}.resource-gantt,.histogram-grid,.gantt-empty{padding:0;overflow:hidden}.resource-histogram-combined{--histogram-row-height:24px;--histogram-header-height:42px;--histogram-header-month-height:20px;--histogram-header-day-height:22px;--histogram-team-row-height:28px;--histogram-label-width:158px;--histogram-day-width:56px;--histogram-weekend-day-width:24px;--histogram-grid-line:#e4e4e7;--histogram-day-separator:#94a3b8;--histogram-day-separator-width:1px;--histogram-weekend-bg:#ececec;--histogram-header-bg:#f4f4f5;--histogram-team-bg:gray;--histogram-flag-size:27px;--histogram-day-split-line:#d4d4d8;--histogram-day-partitions:4;--histogram-legend-max-width:100%;--histogram-mini-legend-width:480px;box-shadow:none;border-radius:8px;padding:0;overflow:hidden}.resource-histogram-chart-wrap .resource-histogram-combined.card{border:1px solid var(--histogram-grid-line);border-radius:0 0 8px 8px;width:100%;max-width:100%}.resource-histogram-combined-scroll,.histogram-sync-scroll-main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(65vh,720px);position:relative;overflow:auto}.histogram-sync-scroll{flex-direction:column;width:100%;max-width:100%;display:flex}.histogram-sync-scroll--fixed-header .histogram-fixed-header-row{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0;align-items:stretch;display:flex}.histogram-sync-scroll--fixed-header .histogram-fixed-header-label{z-index:31;background:var(--histogram-header-bg,#f4f4f5);height:var(--histogram-header-height);min-height:var(--histogram-header-height);text-align:left;color:#111827;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:2px;font-size:11px;font-weight:700;display:flex}.histogram-sync-scroll--fixed-header .histogram-fixed-header-label small{color:#64748b;font-size:9px;font-weight:400}.histogram-sync-scroll--fixed-header .histogram-fixed-header-timeline{min-width:0;height:auto;min-height:var(--histogram-header-height);border-bottom:none;border-radius:0;flex:auto;width:auto;max-height:none;margin-left:0}.histogram-sync-scroll--fixed-header .histogram-fixed-header-timeline-inner{min-width:min-content}.histogram-top-scrollbar-row{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0;align-items:stretch;display:flex}.histogram-top-scrollbar-spacer{border-right:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0}.histogram-top-scrollbar-strip{touch-action:pan-x;border-bottom:none;border-radius:8px 8px 0 0;flex:auto;min-width:0;height:16px;min-height:16px;max-height:16px;overflow:auto hidden}.histogram-top-scrollbar-strip .histogram-sync-scroll-top-inner{height:1px}.histogram-sync-scroll--top-strip .histogram-fixed-header-timeline{scrollbar-width:none;overflow-x:hidden}.histogram-sync-scroll--top-strip .histogram-fixed-header-timeline::-webkit-scrollbar{display:none}.histogram-bottom-scrollbar-row{border-top:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0;align-items:stretch;display:flex}.histogram-bottom-scrollbar-spacer{border-right:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0}.histogram-bottom-scrollbar-strip{touch-action:pan-x;flex:auto;min-width:0;height:16px;min-height:16px;max-height:16px;overflow:auto hidden}.histogram-bottom-scrollbar-strip .histogram-sync-scroll-top-inner{height:1px}.histogram-sync-scroll--bottom-strip .histogram-sync-scroll-main{overflow:scroll auto}.histogram-sync-scroll--bottom-strip .histogram-sync-scroll-main::-webkit-scrollbar:horizontal{height:0;display:none}.histogram-sync-scroll-top{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0;overflow:auto hidden}.histogram-sync-scroll--split .histogram-split-top{min-height:var(--histogram-header-height,42px);border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);flex-shrink:0;align-items:stretch;display:flex}.histogram-sync-scroll--split .histogram-frozen-corner{box-sizing:border-box;border-right:1px solid var(--histogram-grid-line,#e4e4e7);background:var(--histogram-header-bg,#f4f4f5);z-index:2;flex-shrink:0;align-items:stretch;display:flex;box-shadow:2px 0 4px -2px #00000014}.histogram-sync-scroll--split .histogram-frozen-corner .histogram-frozen-header-label{border-bottom:none;flex:auto;width:100%}.histogram-sync-scroll--split .histogram-split-top-scroll{border-bottom:none;border-radius:0;flex:auto;min-width:0}.histogram-sync-scroll--split .histogram-split-main{flex:auto;min-height:0;overflow:hidden auto}.histogram-sync-scroll--split .histogram-split-body{align-items:flex-start;min-width:min-content;display:flex}.histogram-sync-scroll--split .histogram-frozen-labels{box-sizing:border-box;border-right:1px solid var(--histogram-grid-line,#e4e4e7);z-index:2;background:#fff;flex-shrink:0;box-shadow:2px 0 4px -2px #00000014}.histogram-sync-scroll--split .histogram-frozen-labels-inner{flex-direction:column;display:flex}.histogram-sync-scroll--split .histogram-frozen-header-spacer{box-sizing:border-box;background:var(--histogram-header-bg,#f4f4f5);border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);flex-shrink:0}.histogram-sync-scroll--split .histogram-frozen-header-label{height:var(--histogram-header-height);min-height:var(--histogram-header-height);color:#111827;background:var(--histogram-header-bg,#f4f4f5);border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);box-sizing:border-box;justify-content:flex-start;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:flex}.histogram-sync-scroll--split .histogram-frozen-team-label{border-bottom:1px solid #6b7280;flex:none;width:100%;min-width:0;max-width:none;position:static}.histogram-sync-scroll--split .histogram-frozen-team-block{flex-direction:column;display:flex}.histogram-sync-scroll--split .resource-histogram-resource-block--label-only{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);display:block}.histogram-sync-scroll--split .resource-histogram-resource-block--label-only .resource-histogram-name-col{width:100%;min-width:0;max-width:none;position:static}.histogram-sync-scroll--split .resource-histogram-resource-block--timeline-only{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);display:block}.histogram-sync-scroll--split .resource-histogram-header--timeline-only{z-index:12;position:sticky;top:0}.histogram-sync-scroll--split .histogram-timeline-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-width:0;position:relative;overflow:auto visible}.histogram-sync-scroll--split .histogram-timeline-grid{min-width:min-content}.resource-gantt-bar-label-vertical .resource-gantt-bar-label{writing-mode:vertical-rl;text-orientation:mixed;padding:1px 0;font-size:9px;line-height:1}.resource-histogram-combined-scroll{-webkit-overflow-scrolling:touch;max-height:min(65vh,720px);overflow:auto}.resource-histogram-combined .resource-gantt-label-col{z-index:30;width:var(--histogram-label-width,186px);min-width:var(--histogram-label-width,186px);max-width:var(--histogram-label-width,186px);border-right:1px solid var(--histogram-grid-line,#e4e4e7);box-sizing:border-box;background:#fff;flex-shrink:0;padding:0 10px;position:sticky;left:0;box-shadow:2px 0 4px -2px #00000014}.resource-histogram-combined .resource-histogram-header{z-index:12;background:var(--histogram-header-bg,#f4f4f5);border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);position:sticky;top:0}.resource-histogram-combined .resource-histogram-header .resource-gantt-label-col{z-index:31;background:var(--histogram-header-bg,#f4f4f5);height:var(--histogram-header-height);min-height:var(--histogram-header-height);text-align:left;color:#111827;justify-content:flex-start;align-items:center;font-size:11px;font-weight:700;display:flex}.resource-histogram-combined .resource-histogram-header .resource-gantt-label-col small{font-size:9px}.resource-histogram-combined .resource-gantt-label-col small{font-size:10px}.resource-histogram-combined .resource-histogram-name-col{text-align:left;height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);z-index:30;border-bottom:1px solid var(--histogram-grid-line,#cbd5e1);box-sizing:border-box;background:#fff;justify-content:flex-start;align-self:stretch;align-items:center;padding:0 10px;display:flex;position:sticky;left:0}.resource-histogram-combined .resource-histogram-name{box-sizing:border-box;text-align:left;background:#fff;border-bottom:none;flex:1;justify-content:flex-start;align-items:center;width:100%;min-width:0;height:100%;min-height:0;max-height:none;padding:0;display:flex}.resource-histogram-combined .resource-histogram-operative-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;width:auto;min-width:0;font-size:11px;font-weight:500;line-height:1.1;display:block;overflow:hidden}.resource-histogram-combined .resource-histogram-free-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-left:auto;box-shadow:0 0 0 1px #ffffffd9}.resource-histogram-combined .resource-histogram-resource-block{height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);align-items:stretch;display:flex;overflow:visible}.resource-histogram-combined .resource-histogram-team-row{height:var(--histogram-team-row-height,30px);min-height:var(--histogram-team-row-height,30px);max-height:var(--histogram-team-row-height,30px);background:var(--histogram-team-bg,gray);border-bottom:1px solid #6b7280;flex-shrink:0;align-items:stretch;display:flex}.resource-histogram-combined .resource-histogram-team-row .resource-histogram-team-label{z-index:30;flex:0 0 var(--histogram-label-width,186px);width:var(--histogram-label-width,186px);min-width:var(--histogram-label-width,186px);max-width:var(--histogram-label-width,186px);height:100%;min-height:var(--histogram-team-row-height,30px);background:var(--histogram-team-bg,gray);color:#111827;white-space:nowrap;text-overflow:ellipsis;text-align:left;box-sizing:border-box;border-right:1px solid #6b7280;justify-content:flex-start;align-self:stretch;align-items:center;padding:0 10px;font-size:12px;font-weight:700;line-height:1.1;display:flex;position:sticky;left:0;overflow:hidden;box-shadow:2px 0 4px -2px #0000001f}.resource-histogram-combined .resource-histogram-team-name{text-overflow:ellipsis;text-align:left;width:100%;min-width:0;display:block;overflow:hidden}.resource-histogram-combined .resource-histogram-timeline-header{height:var(--histogram-header-height,42px);min-height:var(--histogram-header-height,42px);flex-direction:column;flex-shrink:0;display:flex}.resource-histogram-combined .resource-histogram-header-months{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7);flex-shrink:0;display:flex}.resource-histogram-combined .resource-histogram-header-month{color:#374151;border-right:1px solid var(--histogram-grid-line,#e4e4e7);box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;line-height:1.1;display:flex;overflow:hidden}.resource-histogram-combined .resource-histogram-header-month.is-shade-0{color:#1f2937;background:#c4c4c4}.resource-histogram-combined .resource-histogram-header-month.is-shade-1{color:#374151;background:#e8e8e8}.resource-histogram-combined .resource-histogram-header-days{flex-shrink:0;display:flex}.resource-histogram-combined .resource-histogram-timeline-block{display:block;overflow:visible}.resource-histogram-combined .resource-gantt-timeline-row{height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);flex:none;line-height:0;position:relative;overflow:visible}.resource-histogram-combined .resource-gantt-grid-cell{height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);border-right:var(--histogram-day-separator-width,1px) solid var(--histogram-day-separator,#94a3b8);border-bottom:1px solid var(--histogram-grid-line,#cbd5e1);box-sizing:border-box;background:#fff;position:relative}.resource-gantt-day-split{pointer-events:none;z-index:1;position:absolute;inset:0}.resource-gantt-day-split-line{background:var(--histogram-day-split-line,#d4d4d8);width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.resource-gantt-day-split-overlay{pointer-events:none;z-index:4;display:flex;position:absolute;inset:0}.resource-gantt-day-split-overlay-col{flex:none;height:100%;position:relative}.resource-gantt-day-split-overlay .resource-gantt-day-split-line{background:#0f172a47}.resource-histogram-combined .resource-gantt-day{position:relative}.resource-histogram-combined .resource-gantt-grid-cell.has-day-split .resource-gantt-day-split-line,.resource-histogram-combined .resource-histogram-team-day.has-day-split .resource-gantt-day-split-line{background:var(--histogram-day-split-line,#d4d4d8)}.resource-histogram-combined .resource-histogram-team-timeline{background:var(--histogram-team-bg,gray);flex:none;align-self:stretch;min-height:100%;display:flex}.resource-histogram-team-day{box-sizing:border-box;border-bottom:1px solid #0000001f;border-right:1px solid #0000001f;flex:none;height:100%;position:relative}.resource-histogram-combined .resource-histogram-team-day.has-day-split .resource-gantt-day-split-line{background:#0000002e}.resource-histogram-combined .resource-gantt-grid-cell>:not(.resource-gantt-day-split):not(.resource-gantt-holiday-chip):not(.resource-gantt-inline-ava),.resource-histogram-combined .resource-gantt-day>:not(.resource-gantt-day-split){z-index:1;position:relative}.resource-histogram-combined .resource-gantt-bar{z-index:2}.resource-histogram-combined .resource-histogram-flag,.resource-gantt-holiday-chip,.resource-gantt-inline-ava{z-index:6}.resource-histogram-combined .resource-histogram-training-bars{z-index:5}.resource-histogram-combined .resource-gantt-day-split-overlay{z-index:4}.resource-histogram-combined .resource-gantt-grid-cell.weekend{background:var(--histogram-weekend-bg,#ececec)}.resource-histogram-combined .resource-gantt-day-capacity{display:none}.resource-histogram-combined .resource-histogram-name strong{font-size:11px;line-height:1}.resource-histogram-combined .resource-histogram-team{color:#64748b;text-transform:none;letter-spacing:0;font-size:9px;font-weight:600;line-height:1.15}.resource-histogram-combined .resource-histogram-hours-label{padding:0 10px;font-size:10px}.resource-histogram-combined .resource-gantt-day{height:var(--histogram-header-day-height,22px);min-height:var(--histogram-header-day-height,22px);color:#525252;border-right:1px solid var(--histogram-grid-line,#e4e4e7);box-sizing:border-box;background:#fff;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:600;line-height:1.1;display:flex}.resource-histogram-combined .resource-gantt-day.weekend{background:var(--histogram-weekend-bg,#ececec);color:#737373}.resource-histogram-combined .resource-gantt-day.is-today{color:#166534;background:#dcfce7}.resource-histogram-combined .resource-gantt-day.is-today.weekend{color:#14532d;background:#d1fae5}.histogram-today-line{z-index:25;pointer-events:none;background:#16a34a;width:2px;display:none;position:absolute;top:0}.resource-histogram-combined .resource-gantt-grid-cell.is-today:after,.resource-histogram-combined .resource-histogram-team-day.is-today:after{content:"";z-index:6;pointer-events:none;background:#16a34a;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.resource-histogram-combined .resource-gantt-day.is-today:after{content:"";z-index:1;pointer-events:none;background:#16a34a;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.resource-histogram-flag{width:var(--histogram-flag-size,16px);height:var(--histogram-flag-size,16px);z-index:12;pointer-events:none;box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.resource-histogram-flag-label{letter-spacing:-.03em;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #0f172a59;max-width:100%;padding:0 2px;font-size:8px;font-weight:800;line-height:1.05;overflow:hidden}.resource-histogram-flag-start{clip-path:polygon(25% 0%,75% 0%,100% 25%,100% 75%,75% 100%,25% 100%,0% 75%,0% 25%);border:2px solid #16a34a}.resource-histogram-flag-end{border:2px solid #0f172a;border-radius:50%}.histogram-project-legend{--histogram-legend-scale:.75;--histogram-legend-item-max-width:120px;padding:calc(8px * var(--histogram-legend-scale)) calc(10px * var(--histogram-legend-scale));width:100%;min-width:0;max-width:100%;display:block}.histogram-project-legend--embedded{width:100%;max-width:100%;padding:calc(8px * var(--histogram-legend-scale)) 0 0;margin-top:calc(2px * var(--histogram-legend-scale));box-shadow:none;background:0 0;border-top:1px solid #e2e8f0}.resource-histogram-page .histogram-project-legend,.resource-histogram-page .histogram-project-legend--embedded{max-width:100%}.histogram-project-legend-row{align-items:center;gap:calc(10px * var(--histogram-legend-scale));width:100%;min-width:0;display:flex}.histogram-project-legend-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex:1;min-width:0;overflow:auto hidden}.histogram-project-legend-scroll::-webkit-scrollbar{height:6px}.histogram-project-legend-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.histogram-project-legend-scroll-inner{align-items:center;gap:calc(14px * var(--histogram-legend-scale));width:max-content;min-width:min(100%, max-content);padding-bottom:calc(2px * var(--histogram-legend-scale));flex-wrap:nowrap;display:flex}.histogram-project-legend-empty p,.histogram-project-legend-empty-inline{color:#64748b;white-space:nowrap;margin:0;font-size:12px}.histogram-project-legend-title{color:#0f172a;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.histogram-project-legend-list{align-items:center;gap:calc(12px * var(--histogram-legend-scale));flex-wrap:nowrap;margin:0;padding:0;list-style:none;display:flex}.histogram-project-legend-item{max-width:var(--histogram-legend-item-max-width,120px);flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.histogram-project-legend-item.is-complete .histogram-project-legend-name{color:#64748b}.histogram-project-legend-dot{box-sizing:border-box;border:1px solid #0f172a24;border-radius:50%;flex-shrink:0;width:16px;height:16px}.histogram-project-legend-pp{color:#1e3a8a;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.histogram-project-legend-swatch{box-sizing:border-box;flex-shrink:0;width:16px;height:16px}.histogram-project-legend-swatch-start{clip-path:polygon(25% 0%,75% 0%,100% 25%,100% 75%,75% 100%,25% 100%,0% 75%,0% 25%);border:2px solid #16a34a}.histogram-project-legend-swatch-end{border:2px solid #0f172a;border-radius:50%}.histogram-project-legend-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.histogram-project-legend-key{align-items:center;gap:calc(10px * var(--histogram-legend-scale));width:100%;margin-left:0;margin-top:calc(6px * var(--histogram-legend-scale));padding-left:0;padding-top:calc(6px * var(--histogram-legend-scale));border-top:1px solid #e2e8f0;border-left:none;flex-wrap:nowrap;flex-shrink:0;display:flex}.histogram-project-legend-key-item{align-items:center;gap:calc(6px * var(--histogram-legend-scale));font-size:calc(11px * var(--histogram-legend-scale));color:#64748b;white-space:nowrap;display:inline-flex}.histogram-project-legend-key-item strong{color:#334155;font-weight:600}.histogram-project-legend-key-summary{color:#64748b;font-weight:400}.histogram-project-legend-key-flag{width:calc(12px * var(--histogram-legend-scale));height:calc(12px * var(--histogram-legend-scale));box-sizing:border-box;background:#cbd5e1;flex-shrink:0}.histogram-project-legend-key-flag-start{border-radius:calc(2px * var(--histogram-legend-scale));border:2px solid #16a34a}.histogram-project-legend-key-flag-end{border:2px solid #0f172a;border-radius:50%}.histogram-project-legend-key-swatch{width:calc(24px * var(--histogram-legend-scale));height:calc(10px * var(--histogram-legend-scale));border-radius:calc(3px * var(--histogram-legend-scale));box-sizing:border-box;flex-shrink:0}.histogram-project-legend-key-swatch-filled{background:linear-gradient(90deg,#3b82f6 0% 62%,#e2e8f0 62% 100%);border:1px solid #94a3b8}.histogram-project-legend-key-swatch-empty{background:#f8fafc;border:1px dashed #94a3b8}.histogram-project-legend-key-swatch-allocation{background:linear-gradient(90deg,#3b82f6 0% 33%,#22c55e 33% 66%,#f59e0b 66% 100%);border:1px solid #94a3b8}.histogram-project-legend-key-swatch-gap{background:#bbf7d0;border:1px solid #86efac}.histogram-project-legend-key-swatch-holiday{color:#334155;font-size:calc(8px * var(--histogram-legend-scale));border-radius:calc(3px * var(--histogram-legend-scale));width:calc(16px * var(--histogram-legend-scale));height:calc(14px * var(--histogram-legend-scale));background:#b9acac;border:1px solid #a89a9a;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex}.histogram-project-legend-key-swatch-day-split{background:#fff;border:1px solid #cbd5e1;position:relative;overflow:hidden}.histogram-project-legend-key-swatch-day-split:before,.histogram-project-legend-key-swatch-day-split:after{content:"";background:#94a3b8;width:1px;position:absolute;top:0;bottom:0}.histogram-project-legend-key-swatch-day-split:before{left:33.33%}.histogram-project-legend-key-swatch-day-split:after{left:66.66%}.histogram-project-legend-key-swatch-training{box-sizing:border-box;background:#000;border:3px solid #ff0;border-radius:3px}.histogram-project-legend-key-swatch-due-soon{box-sizing:border-box;background:#93c5fd;border:3px dashed #dc2626;border-radius:3px}.histogram-project-legend-key-swatch-overdue{box-sizing:border-box;background:#93c5fd;border:3px solid #dc2626;border-radius:3px}.histogram-reading-guide{--histogram-legend-scale:1;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;font-size:12px;display:flex}.histogram-reading-guide-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.histogram-reading-guide .histogram-project-legend-key-flag{width:12px;height:12px}.histogram-reading-guide .histogram-project-legend-key-flag-start{background:#dcfce7;border:2px solid #16a34a;border-radius:2px}.histogram-reading-guide .histogram-project-legend-key-flag-end{background:#e2e8f0;border:2px solid #0f172a;border-radius:50%}.histogram-reading-guide .histogram-project-legend-key-swatch{border-radius:3px;flex-shrink:0;width:22px;height:12px}.histogram-reading-guide .histogram-project-legend-key-swatch-holiday{color:#334155;background:#b9acac;border-color:#a89a9a;width:16px;height:14px;font-size:9px}.histogram-reading-guide .histogram-project-legend-key-swatch-training{background:#000;border:2px solid #ff0}.histogram-reading-guide .histogram-project-legend-key-swatch-due-soon{background:#93c5fd;border:2px dashed #dc2626}.histogram-reading-guide .histogram-project-legend-key-swatch-overdue{background:#93c5fd;border:2px solid #dc2626}.histogram-reading-guide-summary{color:#94a3b8;font-weight:400}.histogram-page-reading-guide{margin-top:8px}.histogram-reading-guide-item strong{color:#334155;font-weight:600}.histogram-reading-guide-page{margin-bottom:8px}.project-task-field-header[title]{cursor:help}.project-task-field-header-label{justify-content:center;align-items:center;gap:2px;width:100%;display:inline-flex}.pde-legends-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}.pde-priority-legend{padding:12px 14px}.pde-priority-legend-title{color:#0f172a;margin-bottom:8px;font-size:13px;font-weight:700}.pde-priority-legend-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pde-priority-legend-item{color:#475569;grid-template-columns:42px 1fr;gap:8px;font-size:12px;display:grid}.pde-priority-legend-item strong{color:#1e3a8a}.pde-priority-legend-note{margin:8px 0 0;font-size:11px}.project-priority-warning-modal{flex-direction:column;gap:14px;display:flex}.project-priority-warning-intro{color:#475569;margin:0;font-size:13px}.project-priority-warning-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-priority-warning-item{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.project-priority-warning-item.is-replaces{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.project-priority-warning-item strong{text-transform:uppercase;letter-spacing:.03em;font-size:12px}.dl-weekly-confirm-modal{flex-direction:column;gap:14px;display:flex}.dl-weekly-confirm-intro{color:#475569;margin:0;font-size:13px;line-height:1.5}.dl-weekly-confirm-loading,.dl-weekly-confirm-empty{margin:0;font-size:13px}.dl-weekly-confirm-list{flex-direction:column;gap:8px;max-height:min(50vh,360px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dl-weekly-confirm-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background-color .15s;display:flex}.dl-weekly-confirm-item:hover{background:#f8fafc;border-color:#94a3b8}.dl-weekly-confirm-color{border:1px solid #0f172a1f;border-radius:3px;flex-shrink:0;width:14px;height:14px}.dl-weekly-confirm-details{flex-direction:column;gap:2px;min-width:0;display:flex}.dl-weekly-confirm-details strong{color:#0f172a;font-size:13px}.dl-weekly-confirm-details span{color:#64748b;font-size:12px}.pde-field-source-legend-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;display:flex}.pde-field-source-legend{color:#475569;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:12px;display:flex}.project-task-bulk-hint--legend{white-space:nowrap;flex-shrink:0;margin-left:auto}.pde-field-source-legend-item{align-items:center;gap:6px;display:inline-flex}.pde-field-source-swatch{box-sizing:border-box;border:2px solid #0000;border-radius:3px;flex-shrink:0;width:16px;height:16px}.pde-field-source-legend-item--calculated .pde-field-source-swatch{background:#93c5fd;border-color:#2563eb}.pde-field-source-legend-item--auto .pde-field-source-swatch{background:#f1f5f9;border-color:#cbd5e1}.pde-field-source-swatch--dl-locked{box-shadow:none;background:#fff;border-color:#dc2626}.pde-field-source-swatch--inactive{opacity:1;background:#dde1e6;border-color:#94a3b8}.project-task-table td.pde-field-source--manual,.project-task-table th.pde-field-source--manual{background-color:#fff}.project-task-table td.pde-field-source--calculated,.project-task-table th.pde-field-source--calculated{background-color:#dbeafe}.project-task-table td.pde-field-source--auto,.project-task-table th.pde-field-source--auto{background-color:#f8fafc}.project-task-table tbody tr:nth-child(2n) td.pde-field-source--manual{background-color:#fafafa}.project-task-table tbody tr:nth-child(2n) td.pde-field-source--calculated{background-color:#bfdbfe}.project-task-table tbody tr:nth-child(2n) td.pde-field-source--auto{background-color:#f1f5f9}.project-task-table .pde-field-source--auto .task-col-input,.project-task-table .pde-field-source--auto .task-algorithm-display,.project-task-table .pde-field-source--auto .task-readonly-date,.project-task-table .pde-field-source--auto input[readonly],.project-task-table .pde-field-source--auto input:disabled{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.project-task-table .pde-field-source--calculated .task-col-input,.project-task-table .pde-field-source--calculated .pde-priority-field--computed .pde-priority-field__input{color:#1e40af;background:#bfdbfe;border-color:#93c5fd}.project-task-table tbody tr.project-task-row-no-plan td,.project-task-table tbody tr.project-task-row-no-plan td.pde-field-source--manual,.project-task-table tbody tr.project-task-row-no-plan td.pde-field-source--calculated,.project-task-table tbody tr.project-task-row-no-plan td.pde-field-source--auto{color:#6b7280;background-color:#e8eaed}.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td,.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td.pde-field-source--manual,.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td.pde-field-source--calculated,.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) td.pde-field-source--auto{background-color:#dde1e6}.project-task-table tbody tr.project-task-row-no-plan .sticky-col,.project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-frozen,.project-task-table tbody tr.project-task-row-no-plan .sticky-col-task-name{color:#6b7280;background:#e8eaed}.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col,.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-frozen,.project-task-table tbody tr.project-task-row-no-plan:nth-child(2n) .sticky-col-task-name{background:#dde1e6}.project-task-table tbody tr.project-task-row-no-plan input:not([type=checkbox]),.project-task-table tbody tr.project-task-row-no-plan select,.project-task-table tbody tr.project-task-row-no-plan .task-col-input,.project-task-table tbody tr.project-task-row-no-plan .task-algorithm-display,.project-task-table tbody tr.project-task-row-no-plan .task-employee-select,.project-task-table tbody tr.project-task-row-no-plan .task-readonly-date,.project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--auto .task-col-input,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--auto .task-algorithm-display,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--auto .task-readonly-date,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--auto input[readonly],.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--auto input:disabled,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated .task-col-input,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated .pde-priority-field--computed .pde-priority-field__input,.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated input[readonly],.project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated input:disabled,.project-task-table tbody tr.project-task-row-no-plan .pde-priority-field--computed .pde-priority-field__input,.project-task-table tbody tr.project-task-row-no-plan .pde-priority-field--readonly .pde-priority-field__input{color:#6b7280;background:0 0;border-color:#cbd5e1}.project-task-table tbody tr.project-task-row-no-plan .display-date-input-btn:hover{background:0 0;border-color:#94a3b8}.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td.pde-field-source--manual,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td.pde-field-source--calculated,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected td.pde-field-source--auto,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-frozen,.project-task-table tbody tr.project-task-row-no-plan.project-task-row-selected .sticky-col-task-name{color:#4b5563;background:#cfd4db}.pde-page:not(.dl-page) .project-task-table .dl-field-locked,.pde-page:not(.dl-page) .project-task-table input.dl-field-locked,.pde-page:not(.dl-page) .project-task-table select.dl-field-locked,.pde-page:not(.dl-page) .project-task-table .task-employee-select.dl-field-locked,.pde-page:not(.dl-page) .project-task-table .task-readonly-date.dl-field-locked,.pde-page:not(.dl-page) .project-task-table input[type=checkbox].dl-field-locked{cursor:not-allowed}.pde-page:not(.dl-page) .project-task-table td.dl-field-locked-cell{cursor:help;box-shadow:inset 0 0 0 2px #dc2626}@media (width<=900px){.pde-legends-row{grid-template-columns:1fr}}.resource-gantt-grid-cell.has-capacity-band{overflow:visible}.resource-gantt-day-capacity{z-index:5;pointer-events:auto;border-radius:2px;height:3px;display:flex;position:absolute;bottom:0;left:2px;right:2px;overflow:hidden}.resource-gantt-day-capacity-segment{flex:none;min-width:2px;height:100%;display:block}.resource-gantt-day-capacity-segment-empty{box-sizing:border-box;background:#f8fafc;border-top:1px dashed #94a3b8}.resource-gantt-day-capacity-segment-filled,.resource-gantt-day-capacity-segment-allocation{opacity:.92}.resource-histogram-combined .resource-hours-cell{font-size:9px}.resource-histogram-combined-grid{min-width:100%}.resource-histogram-header,.resource-histogram-resource-block{display:flex}.resource-histogram-team-row{height:var(--histogram-team-row-height,30px);min-height:var(--histogram-team-row-height,30px);max-height:var(--histogram-team-row-height,30px);border-bottom:1px solid #6b7280;align-items:stretch;display:flex}.resource-histogram-team-block{flex-direction:column;display:flex}.resource-histogram-team-label{color:#111827;z-index:5;white-space:nowrap;text-overflow:ellipsis;text-align:left;box-sizing:border-box;justify-content:flex-start;align-self:stretch;align-items:center;height:auto;min-height:100%;font-size:12px;font-weight:700;line-height:1.1;display:flex;overflow:hidden;box-shadow:2px 0 4px -2px #00000014;background:var(--histogram-team-bg,gray)!important;padding:0 10px!important}.resource-histogram-team-timeline{background:var(--histogram-team-bg,gray);flex-shrink:0;height:100%;min-height:0}.resource-histogram-header-label{text-align:left;justify-content:flex-start}.resource-histogram-header-label small{color:#64748b;font-weight:400}.resource-histogram-name{box-sizing:border-box;height:var(--histogram-row-height,18px);min-height:var(--histogram-row-height,18px);max-height:var(--histogram-row-height,18px);text-align:left;background:#fff;justify-content:flex-start;align-items:center;padding:0 10px;display:flex}button.resource-histogram-name-btn{width:100%;font:inherit;color:inherit;cursor:pointer;border:0;margin:0}button.resource-histogram-name-btn:hover,button.resource-histogram-name-btn:focus-visible{background:#f8fafc}button.resource-histogram-name-btn:focus-visible{outline-offset:-2px;outline:2px solid #93c5fd}.histogram-employee-detail-empty{color:#64748b;margin:0;font-size:12px}.histogram-employee-detail-projects{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.histogram-employee-detail-project-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.histogram-employee-detail-project-head strong{color:#0f172a;flex:1;min-width:0;font-size:13px}.histogram-employee-detail-pri{letter-spacing:.02em;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.4}.histogram-employee-detail-pri.is-inline{vertical-align:middle;margin-left:8px}.histogram-employee-detail-tasks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.histogram-employee-detail-task{text-align:left;cursor:pointer;width:100%;font:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.histogram-employee-detail-task:hover:not(:disabled),.histogram-employee-detail-task:focus-visible:not(:disabled){background:#f8fbff;border-color:#93c5fd}.histogram-employee-detail-task:disabled{cursor:default}.histogram-employee-detail-task-name{color:#0f172a;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:12px;font-weight:600;display:flex}.histogram-employee-detail-task-meta{color:#64748b;font-size:11px;line-height:1.35}.resource-histogram-operative-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.resource-histogram-team{color:#64748b;font-size:10px;font-weight:600;line-height:1.15}.resource-histogram-hours-label{color:#64748b;background:#f1f5f9;border-top:1px solid #e2e8f0;align-items:center;padding:0 12px;font-size:11px;font-weight:600;display:flex}.resource-histogram-timeline-block{flex-direction:column;flex-shrink:0;display:flex}.resource-histogram-timeline-header{display:flex}.resource-hours-timeline-row{background:#fff;border-top:1px solid #e2e8f0;display:flex}.resource-hours-cell{color:var(--color-primary-text);border-right:1px solid #f1f5f9;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.resource-hours-cell.has-hours{border-right:1px solid var(--color-primary-muted)}.resource-histogram-combined .resource-gantt-day.weekend,.resource-gantt-day.weekend{background:var(--histogram-weekend-bg,#ececec);color:#737373}.resource-histogram-combined .resource-gantt-grid-cell.weekend,.resource-gantt-grid-cell.weekend{background:var(--histogram-weekend-bg,#ececec)}.gantt-empty{padding:24px}.resource-gantt-scroll,.histogram-grid-scroll{overflow:auto}.resource-gantt-grid{min-width:100%}.resource-gantt-header,.resource-gantt-row{border-bottom:1px solid #e2e8f0;display:flex}.resource-gantt-label-col{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;gap:4px;width:220px;min-width:220px;padding:12px;display:flex}.resource-gantt-label-col small{color:#64748b}.resource-gantt-timeline-header,.resource-gantt-timeline-row{display:flex;position:relative}.resource-gantt-day{text-align:center;color:#475569;white-space:nowrap;background:#f1f5f9;border-right:1px solid #e2e8f0;flex:none;padding:8px 4px;font-size:10px;font-weight:600;line-height:1.25}.display-date-input{min-width:130px;display:inline-block;position:relative}.display-date-input-btn{color:#0f172a;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:14px}.display-date-input-btn:hover{border-color:#94a3b8}.display-date-input-native{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.display-date-calendar{z-index:80;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:260px;padding:10px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #0f172a29}.display-date-calendar-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.display-date-calendar-head strong{color:#0f172a;font-size:13px}.display-date-calendar-nav{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1}.display-date-calendar-nav:hover{background:#eef2ff;border-color:#c7d2fe}.display-date-calendar-weekdays,.display-date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.display-date-calendar-weekdays{margin-bottom:4px}.display-date-calendar-weekdays span{text-align:center;color:#94a3b8;padding:2px 0;font-size:10px;font-weight:600}.display-date-calendar-day{color:#0f172a;height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px}.display-date-calendar-day:hover:not(:disabled){background:#eef2ff}.display-date-calendar-day.is-outside{color:#cbd5e1}.display-date-calendar-day.is-selected{color:#fff;background:#4f46e5;font-weight:600}.display-date-calendar-day.is-selected:hover:not(:disabled){background:#4338ca}.display-date-calendar-day.is-disabled,.display-date-calendar-day:disabled{color:#cbd5e1;cursor:not-allowed;background:0 0;text-decoration:line-through}.task-date-input{width:max-content;min-width:0}.task-date-input .display-date-input-btn{white-space:nowrap;border-radius:3px;min-height:20px;padding:0 2px;font-size:10px;line-height:1.15}.project-task-table .task-readonly-date{text-overflow:clip;white-space:nowrap;max-width:none;font-size:10px;display:block;overflow:visible}.resource-gantt-grid-cell{border-right:1px solid #f1f5f9;flex:none;position:relative}.resource-histogram-combined .resource-gantt-grid-cell.has-inline-ava{background:#ecfdf5}.resource-histogram-combined .resource-gantt-grid-cell .resource-gantt-inline-ava{height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);z-index:5;justify-content:center;align-items:center;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.resource-gantt-holiday-chip{color:#475569;pointer-events:none;z-index:1;box-sizing:border-box;background:#b9acac;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.resource-histogram-combined .resource-gantt-grid-cell .resource-gantt-holiday-chip{height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);z-index:5;font-size:9px;position:absolute;inset:0}.resource-histogram-combined .resource-gantt-grid-cell.has-holiday{background:#f3efef}.resource-gantt-inline-ava{color:#047857;pointer-events:none;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;inset:0}.resource-gantt-bar{color:#fff;z-index:2;cursor:pointer;text-align:left;height:28px;font:inherit;border:none;border-radius:8px;align-items:center;padding:0 8px;display:flex;position:absolute;top:10px;overflow:hidden;box-shadow:0 2px 8px #0f172a1f}.resource-gantt-bar:hover{z-index:3;box-shadow:0 0 0 2px #ffffffd9,0 4px 12px #0f172a33}.resource-gantt-bar.is-filter-active{z-index:4;box-shadow:0 0 0 2px #0f172a,0 4px 12px #0f172a40}.resource-gantt-bar.done{opacity:.65}.resource-histogram-training-bars{pointer-events:none;z-index:11;position:absolute;inset:0}.resource-histogram-training-bar{box-sizing:border-box;pointer-events:auto;cursor:pointer;color:#ff0;min-width:12px;font:inherit;text-align:left;background:#000;border:3px solid #ff0;border-radius:4px;align-items:center;padding:0 6px;display:flex;position:absolute;top:1px;bottom:1px;overflow:hidden}.resource-histogram-training-bar:hover,.resource-histogram-training-bar:focus-visible{filter:brightness(1.2);z-index:12;outline:none;box-shadow:0 0 0 1px #ff0}.resource-histogram-training-bar-label{color:#ff0;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700;line-height:1.1;overflow:hidden}.histogram-training-hover-card{z-index:1400;color:#f8fafc;pointer-events:none;background:#0f172a;border:2px solid #ff0;border-radius:8px;min-width:180px;max-width:260px;padding:8px 10px;font-size:12px;position:fixed;box-shadow:0 8px 24px #0f172a59}.histogram-training-hover-title{color:#ff0;margin-bottom:4px;font-weight:700;line-height:1.3}.histogram-training-hover-meta{color:#cbd5e1;margin-top:2px;line-height:1.35}.histogram-training-hover-meta.is-emphasis{color:#fde68a;margin-top:4px}.histogram-training-hover-row{justify-content:space-between;gap:12px;margin-top:3px;display:flex}.histogram-training-hover-row.is-emphasis strong{color:#fde68a}.histogram-training-hover-row span{color:#94a3b8}.histogram-training-hover-row strong{text-align:right;font-weight:600}.histogram-training-hover-description{gap:4px;margin-top:8px;display:grid}.histogram-training-hover-description span{color:#94a3b8;font-size:11px}.histogram-training-hover-description p{color:#e2e8f0;margin:0;line-height:1.35}.histogram-training-hover-link{color:#93c5fd;cursor:pointer;text-align:left;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px;font-weight:600}.histogram-training-hover-link:hover{color:#bfdbfe;text-decoration:underline}.histogram-training-hover-hint{color:#94a3b8;margin-top:6px;font-size:11px}.training-modal-warnings-title{color:#991b1b;margin:0 0 6px;font-size:12px;font-weight:700}.training-modal-warnings-list{gap:6px;max-height:140px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.histogram-training-detail-swatch{box-sizing:border-box;border:2px solid #ff0;background:#000!important}.histogram-training-detail-assignees{gap:8px;margin:0;padding:0;list-style:none;display:grid}.histogram-training-detail-assignees li{gap:2px;display:grid}.histogram-training-detail-assignees strong{color:#0f172a}.histogram-training-detail-assignees span{color:#64748b;font-size:12px}.histogram-employee-detail-trainings{flex-direction:column;gap:8px;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex}.histogram-employee-detail-training{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-width:0;max-width:100%;padding:10px;display:block}.histogram-employee-detail-training.is-complete{background:#f8fafc;border-color:#cbd5e1}.histogram-employee-detail-training-open{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.histogram-employee-detail-training-open:hover .histogram-employee-detail-training-head strong,.histogram-employee-detail-training-open:focus-visible .histogram-employee-detail-training-head strong{color:#1d4ed8}.histogram-employee-detail-training-open:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #93c5fd}.histogram-employee-detail-training-open:disabled{cursor:default}.histogram-employee-detail-training-head{align-items:center;gap:8px;min-width:0;margin-bottom:6px;display:flex}.histogram-employee-detail-training-head strong{color:#0f172a;overflow-wrap:anywhere;flex:auto;min-width:0;font-size:13px}.histogram-employee-detail-training-swatch{box-sizing:border-box;background:#000;border:2px solid #ff0;border-radius:2px;flex:none;width:14px;height:10px}.histogram-employee-detail-training-description{color:#334155;white-space:normal;overflow-wrap:break-word;word-break:break-word;margin:0 0 6px;font-size:12px;font-weight:500;line-height:1.45}.histogram-employee-detail-training-meta{color:#64748b;white-space:normal;overflow-wrap:break-word;margin:0 0 10px;font-size:11px;line-height:1.4}.histogram-employee-detail-training-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;width:100%;display:flex}.histogram-employee-detail-training-complete{color:#0f172a;cursor:pointer;flex:none;align-items:center;gap:6px;margin:0;padding:6px 0;font-size:12px;font-weight:600;display:inline-flex}.histogram-employee-detail-training-complete input{margin:0}.histogram-employee-detail-training-progress{letter-spacing:.04em;text-transform:uppercase;color:#64748b;flex-direction:column;flex:140px;gap:2px;min-width:140px;max-width:220px;font-size:10px;font-weight:700;display:flex}.histogram-employee-detail-training-progress select{box-sizing:border-box;color:#0f172a;text-transform:none;letter-spacing:normal;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:4px 8px;font-size:12px;font-weight:500}.histogram-employee-detail-training-progress select:disabled,.histogram-employee-detail-training-complete input:disabled{opacity:.65;cursor:not-allowed}.resource-gantt-bar-continued{border-radius:8px}.resource-gantt-bar-label{z-index:2;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;position:relative;overflow:hidden}.resource-gantt-bar-progress{z-index:1;background:#ffffff47;position:absolute;top:0;bottom:0;left:0}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable,.resource-histogram-combined--bar-edits-locked .resource-gantt-timeline-row .resource-gantt-bar{cursor:pointer}.resource-histogram-combined--bar-edits-locked .resource-gantt-timeline-row .histogram-bar-handle{display:none}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable:not(.is-resizing):not(.is-dragging){transition:box-shadow .12s,filter .12s}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable.is-resizing,.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable.is-dragging{z-index:8;filter:brightness(1.06);transform:none;box-shadow:0 0 0 2px #ffffffa6,0 4px 12px #0f172a47;transition:none!important}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable:active{cursor:grabbing}.resource-histogram-combined .resource-gantt-timeline-row.is-drop-target,.resource-histogram-resource-block.is-drop-target{outline-offset:-1px;background:#16a34a1f;outline:1px dashed #16a34a}.resource-histogram-resource-block.is-drop-target .resource-gantt-label-col{background:#16a34a14}.resource-histogram-combined .resource-gantt-timeline-row.is-drop-target-blocked,.resource-histogram-resource-block.is-drop-target-blocked{outline-offset:-1px;background:#dc26261a;outline:1px dashed #dc2626}.resource-histogram-resource-block.is-drop-target-blocked .resource-gantt-label-col{background:#dc26260f}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-drop-blocked{outline-offset:1px;opacity:.72;filter:saturate(.65);outline:2px dashed #dc2626e6}body.histogram-bar-interacting .resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable{transition:none!important}body.histogram-bar-dragging .resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-dragging{opacity:1;cursor:grabbing;box-shadow:0 0 0 1px #ffffff73}.histogram-bar-drag-ghost{z-index:1200;color:#fff;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:220px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.25;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0f172a47}.histogram-bar-drag-ghost--reassign{outline:2px solid #ffffffa6;box-shadow:0 8px 24px #16a34a59}.histogram-bar-drag-ghost-label{text-overflow:ellipsis;display:block;overflow:hidden}.histogram-bar-edit-tooltip{z-index:1400;color:#f8fafc;pointer-events:none;background:#0f172a;border:2px solid #38bdf8;border-radius:8px;min-width:180px;max-width:260px;padding:8px 10px;font-size:12px;position:fixed;box-shadow:0 8px 24px #0f172a59}.histogram-bar-edit-tooltip.is-reassign{box-shadow:0 8px 24px #16a34a59}.histogram-bar-edit-tooltip.is-blocked{box-shadow:0 8px 24px #dc262659}.histogram-bar-edit-tooltip-title{word-break:break-word;margin-bottom:4px;font-weight:700;line-height:1.3}.histogram-bar-edit-tooltip-meta{color:#cbd5e1;margin-top:2px;line-height:1.35}.histogram-bar-edit-tooltip-meta.is-emphasis{color:#7dd3fc;margin-top:4px}.histogram-bar-edit-tooltip.is-reassign .histogram-bar-edit-tooltip-meta.is-emphasis{color:#86efac}.histogram-bar-edit-tooltip-hint{color:#86efac;margin-top:6px;font-size:11px;line-height:1.35}.histogram-bar-edit-tooltip-hint.is-muted{color:#94a3b8}.histogram-bar-edit-tooltip-hint.is-blocked{color:#fca5a5;font-weight:600}.histogram-task-hover-card{z-index:1350}.resource-histogram-combined .resource-gantt-timeline-row.histogram-bar-drag-active{cursor:grabbing}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable{touch-action:none}.histogram-bar-handle{z-index:6;touch-action:none;opacity:0;border-radius:3px;width:10px;transition:opacity .12s;position:absolute;top:1px;bottom:1px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable:hover .histogram-bar-handle,.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable.is-resizing .histogram-bar-handle,body.histogram-bar-interacting .resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-editable .histogram-bar-handle{opacity:1}.histogram-bar-handle-left{cursor:ew-resize;background:linear-gradient(90deg,#0000002e,#0000);left:0}.histogram-bar-handle-right{cursor:ew-resize;background:linear-gradient(270deg,#0000002e,#0000);right:0}.histogram-bar-handle:after{content:"";background:#ffffffeb;border-radius:1px;width:2px;position:absolute;top:18%;bottom:18%;box-shadow:0 0 0 1px #0000001f}.histogram-bar-handle-left:after{left:3px}.histogram-bar-handle-right:after{right:3px}body.histogram-bar-interacting{-webkit-user-select:none;user-select:none;cursor:grabbing}body.histogram-bar-interacting .histogram-bar-handle-left,body.histogram-bar-interacting .histogram-bar-handle-right{cursor:ew-resize}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar{height:calc(var(--histogram-row-height) - 4px);min-height:0;max-height:calc(var(--histogram-row-height) - 4px);background:var(--bar-color,#3b82f6);cursor:pointer;z-index:2;isolation:isolate;border:1px solid #00000024;border-radius:4px;justify-content:flex-start;margin:0;padding:0 5px;transition:box-shadow .14s,filter .14s,transform .14s;top:2px;bottom:auto;overflow:hidden;box-shadow:0 1px 2px #0f172a24,inset 0 1px #ffffff38}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(#fff3 0%,#ffffff0d 42%,#00000012 100%);position:absolute;inset:0}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-day-split{border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff47,0 1px 2px #0f172a1f}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-approaching{box-sizing:border-box;border:3px dashed #dc2626;box-shadow:0 1px 2px #0f172a24,inset 0 1px #ffffff38}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-overdue{box-sizing:border-box;border:3px solid #dc2626;box-shadow:0 1px 3px #dc262638,inset 0 1px #ffffff38}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-approaching:hover,.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-overdue:hover{filter:brightness(1.03)}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar:hover{filter:brightness(1.05);z-index:4;transform:translateY(-.5px);box-shadow:0 2px 6px #0f172a33,inset 0 1px #ffffff4d,0 0 0 1px #ffffff47}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-approaching:hover{border:3px dashed #dc2626;box-shadow:0 2px 6px #0f172a33,inset 0 1px #ffffff4d}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-completion-overdue:hover{border:3px solid #dc2626;box-shadow:0 2px 6px #dc26263d,inset 0 1px #ffffff4d}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-filter-active{z-index:5;filter:brightness(1.04);box-shadow:0 0 0 2px #0f172a,0 2px 8px #0f172a38,inset 0 1px #ffffff3d}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.done{opacity:.78;filter:saturate(.7)}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.done:hover{filter:saturate(.75)brightness(1.03)}.resource-histogram-combined .resource-histogram-flag{width:var(--histogram-flag-size,16px);height:var(--histogram-flag-size,16px)}.resource-histogram-combined .resource-histogram-flag-label{font-size:11px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar-continued{border-radius:4px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar-label{z-index:2;letter-spacing:.01em;text-shadow:0 1px 1px #00000061;text-overflow:ellipsis;box-sizing:border-box;text-align:left;flex:0 auto;min-width:0;max-width:100%;padding:0 2px;font-size:9px;font-weight:700;line-height:1.15;position:relative;overflow:hidden}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar-progress{background:linear-gradient(90deg,#ffffff57 0%,#ffffff29 100%);border-radius:3px 0 0 3px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-compact-label .resource-gantt-bar-label{letter-spacing:-.02em;text-align:left;width:auto;font-size:8px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-vertical-label{justify-content:center;align-items:center;padding:0 1px}.resource-histogram-combined .resource-gantt-timeline-row .resource-gantt-bar.is-vertical-label .resource-gantt-bar-label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;text-align:center;flex:none;width:auto;max-height:100%;padding:1px 0;font-size:8px;line-height:1;overflow:hidden}.histogram-grid{padding:20px}.histogram-grid-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.histogram-grid-table th,.histogram-grid-table td{text-align:center;border:1px solid #e2e8f0;min-width:52px;padding:0}.histogram-grid-table th:first-child,.histogram-grid-table td:first-child{text-align:left;z-index:1;background:#fff;min-width:160px;padding:10px 12px;position:sticky;left:0}.histogram-cell{place-items:center;min-height:34px;font-size:11px;font-weight:600;display:grid}.user-availability-page{flex-direction:column;gap:10px;width:100%;min-width:0;max-width:100%;display:flex}.app-main:has(.user-availability-page){padding:12px 14px 16px}.app-main:has(.user-availability-page)>section.user-availability-page{flex-direction:column;gap:10px;display:flex}.user-availability-page .page-heading h2{font-size:20px;line-height:1.2}.user-availability-page .page-description{max-width:720px;margin-top:4px;font-size:12px}.user-availability-page .availability-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:10px 12px;margin-bottom:0;padding:10px 12px;display:flex}.user-availability-page .availability-toolbar-filters{flex-wrap:wrap;flex:auto;align-items:flex-end;gap:8px 16px;min-width:0;display:flex}.user-availability-page .availability-toolbar-filters label{color:#64748b;flex-direction:column;flex:none;gap:3px;min-width:0;font-size:11px;font-weight:600;display:flex}.user-availability-page .availability-toolbar-filters label:first-child{flex:0 0 160px;max-width:180px}.user-availability-page .availability-toolbar-filters label:nth-child(2),.user-availability-page .availability-toolbar-filters label:nth-child(3),.user-availability-page .availability-toolbar-filters label:nth-child(4){flex:0 0 152px;width:152px;max-width:152px}.user-availability-page .availability-toolbar select,.user-availability-page .availability-toolbar input[type=month]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:var(--btn-height);min-height:var(--btn-height);font-size:var(--btn-font-size);border-radius:var(--btn-radius);padding:2px 8px}.user-availability-page .availability-toolbar .display-date-input{width:100%;min-width:0;max-width:100%;display:block}.user-availability-page .availability-toolbar .display-date-input-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:var(--btn-height);min-height:var(--btn-height);font-size:var(--btn-font-size);border-radius:var(--btn-radius);text-overflow:ellipsis;white-space:nowrap;padding:0 8px;overflow:hidden}.user-availability-page .availability-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-availability-page .availability-toolbar .btn{flex:none;width:auto}.availability-total{background:#f1f5f9;border-radius:8px;flex-direction:column;gap:2px;min-width:88px;padding:4px 10px;display:flex}.user-availability-page .availability-total{flex:0 auto;align-self:flex-end}.user-availability-page .availability-total span{color:#64748b;font-size:10px}.user-availability-page .availability-total strong{color:#0f172a;font-size:16px;line-height:1.1}.user-availability-page .availability-table-wrap{flex-direction:column;flex:none;align-self:flex-start;width:max-content;min-width:0;max-width:100%;padding:8px 10px;display:flex;position:relative;overflow:visible}.user-availability-page .availability-loading-hint{background:#f8fafc;border-bottom:1px solid #e2e8f0;margin:0;padding:6px 12px;font-size:12px}.user-availability-page .availability-table-scroller{flex:none;width:max-content;max-width:100%;overflow:visible}.user-availability-page .availability-table{table-layout:fixed;width:auto;max-width:100%;font-size:10px}.user-availability-page .availability-table tbody tr{height:20px}.user-availability-page .availability-table th{white-space:nowrap;text-overflow:ellipsis;background:#f8fafc;padding:2px 3px;font-size:9px;overflow:hidden}.user-availability-page .availability-table td{white-space:nowrap;vertical-align:middle;padding:1px 2px;overflow:hidden}.user-availability-page .availability-table th:first-child,.user-availability-page .availability-table td:first-child{width:34px;max-width:34px;font-size:9px}.user-availability-page .availability-table th:nth-child(2),.user-availability-page .availability-table td:nth-child(2){width:68px;max-width:68px}.user-availability-page .availability-table th:nth-child(n+3):nth-child(-n+10),.user-availability-page .availability-table td:nth-child(n+3):nth-child(-n+10){width:48px;max-width:48px;padding:1px}.user-availability-page .availability-table th:nth-child(11),.user-availability-page .availability-table td:nth-child(11){width:38px;max-width:38px}.user-availability-page .availability-table th.actions-cell,.user-availability-page .availability-table td.actions-cell{text-align:center;vertical-align:middle;width:100px;min-width:100px;max-width:100px;padding:2px 4px;overflow:visible}.user-availability-page .availability-table input[type=date],.user-availability-page .availability-table input[type=time]{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-width:0;max-width:100%;height:18px;min-height:18px;padding:0 2px;font-size:10px}.user-availability-page .availability-table .display-date-input{width:100%}.user-availability-page .availability-table .display-date-input-btn{width:100%;height:18px;min-height:18px;padding:0 3px;font-size:10px;line-height:1.1}.user-availability-page .availability-table .total-cell{white-space:nowrap;text-align:center;padding:1px 2px;font-size:10px;font-weight:700}.user-availability-page .availability-row-empty{background:#fafafa}.user-availability-page .availability-row-editing{background:#f0f9ff}.user-availability-page .availability-table .empty-cell{text-align:center;color:#64748b;padding:16px;font-size:11px}.user-availability-page .availability-table .availability-readonly{text-align:center;min-height:20px;padding:1px 2px;font-size:10px;line-height:1.1;display:block}.user-availability-page .availability-row-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;width:100%;display:flex}.user-availability-page .availability-action-btn{border-radius:3px;flex:none;padding:2px 3px}.user-availability-page .availability-action-btn svg{width:12px;height:12px;display:block}.availability-table-wrap{overflow-x:auto}.availability-table{width:max-content;font-size:12px}.availability-table th{white-space:nowrap;background:#f8fafc;padding:2px 4px;font-size:11px}.availability-table td{white-space:nowrap;padding:2px 3px}.availability-table th:first-child,.availability-table td:first-child{width:1%;max-width:9ch}.availability-table th:nth-child(2),.availability-table td:nth-child(2){width:1%}.availability-table th:nth-child(n+3):nth-child(-n+10),.availability-table td:nth-child(n+3):nth-child(-n+10){width:1%;padding:2px}.availability-table th:nth-child(11),.availability-table td:nth-child(11){width:1%}.availability-table input[type=date],.availability-table input[type=time]{box-sizing:border-box;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:5.5ch;min-width:0;height:22px;padding:2px 3px;font-size:11px}.availability-table .display-date-input{width:max-content}.availability-table .display-date-input-btn{min-height:22px;padding:2px 4px;font-size:11px;line-height:1.15}.availability-table .total-cell{white-space:nowrap;width:1%;padding:2px 4px;font-weight:700}.availability-row-empty{background:#f8fafc}.availability-row-editing{background:#f0f9ff}.availability-table .empty-cell{text-align:center;color:#64748b;padding:32px}.availability-table .availability-readonly{min-height:22px;padding:2px 3px;line-height:1.15;display:block}.availability-row-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.availability-action-btn{cursor:pointer;color:inherit;background:#fff;border:1px solid;border-radius:4px;justify-content:center;align-items:center;padding:5px 9px;line-height:0;display:inline-flex}.availability-action-btn:hover{background:#f8fafc}.availability-action-btn:focus-visible{outline-offset:1px;outline:2px solid #0084ff}.availability-action-delete{color:#c59174}.availability-table .actions-cell{white-space:nowrap;vertical-align:middle;width:1%}.muted-card{text-align:center;color:#64748b;padding:32px}.muted-help{color:#64748b;margin:0;font-size:13px;line-height:1.5}.operatives-allocation-page{--allocation-page-bg:transparent;--allocation-surface:#fff;--allocation-surface-elevated:#fff;--allocation-border:#e5e7eb;--allocation-cell-border-width:.5px;--allocation-header-border-width:.5px;--allocation-header-border-color:#d1d5db;--allocation-table-width:65%;--allocation-head-dark:#434343;--allocation-head-mid:#999;--allocation-head-mid-text:#fff;--allocation-head-light:#b3b3b3;--allocation-team-bg:#666;--allocation-nrm-col-width:38px;--allocation-row-height:22px;--allocation-head-main-height:30px;--allocation-nrm-head-height:28px;--allocation-checkbox-width:22px;--allocation-name-width:112px;--allocation-actions-width:44px;--allocation-operative-width:calc(var(--allocation-checkbox-width) + var(--allocation-name-width));--allocation-viewport-offset:56px;--allocation-page-height:calc(100dvh - var(--allocation-viewport-offset));--allocation-toolbar-control-height:28px;background:var(--allocation-page-bg);color:#1f2937}.app-shell:has(.operatives-allocation-page){height:100dvh;min-height:100dvh;overflow:hidden}.app-main:has(.operatives-allocation-page){flex-direction:column;flex:1;min-height:0;padding:6px 8px 8px;display:flex;overflow:hidden}.app-main:has(.operatives-allocation-page)>section.operatives-allocation-page{min-height:0;height:var(--allocation-page-height);max-height:var(--allocation-page-height);flex-direction:column;flex:1;gap:0;width:100%;min-width:0;max-width:100%;margin-top:-4px;display:flex;overflow:hidden}.operatives-allocation-page .allocation-page-body{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.operatives-allocation-page .allocation-page-chrome{width:var(--allocation-table-width);max-width:var(--allocation-table-width);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:4px;display:flex}.operatives-allocation-page .allocation-toolbar{background:var(--allocation-surface);border:1px solid var(--allocation-border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 10px;display:flex;box-shadow:0 1px 4px #0f172a0a}.operatives-allocation-page .allocation-toolbar-title{font-size:16px;line-height:var(--allocation-toolbar-control-height);color:#1f2937;white-space:nowrap;flex:none;margin:0;font-weight:700}.operatives-allocation-page .allocation-toolbar-filters{flex-wrap:wrap;flex:320px;justify-content:flex-start;align-items:center;gap:8px;min-width:0;display:flex}.operatives-allocation-page .allocation-toolbar-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.operatives-allocation-page .allocation-toolbar-search,.operatives-allocation-page .allocation-toolbar-team{gap:0;margin:0;font-weight:400;display:block}.operatives-allocation-page .allocation-toolbar-search input,.operatives-allocation-page .allocation-toolbar-team select,.operatives-allocation-page .allocation-toolbar-chip,.operatives-allocation-page .allocation-toolbar-actions .btn{height:var(--allocation-toolbar-control-height);min-height:var(--allocation-toolbar-control-height);box-sizing:border-box}.operatives-allocation-page .allocation-toolbar-search input,.operatives-allocation-page .allocation-toolbar-team select{color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:0 8px;font-size:11px}.operatives-allocation-page .allocation-toolbar-search input{width:min(180px,100%);min-width:140px}.operatives-allocation-page .allocation-toolbar-team select{width:auto;min-width:108px}.operatives-allocation-page .allocation-toolbar-chip-group{align-items:center;gap:6px;display:inline-flex}.operatives-allocation-page .allocation-toolbar-chip{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #60a5fa;border-radius:6px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.operatives-allocation-page .allocation-toolbar-chip:hover{background:#eff6ff;border-color:#3b82f6}.operatives-allocation-page .allocation-toolbar-chip.is-active{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.operatives-allocation-page .allocation-toolbar-view-toggle{background:#fff;border:1px solid #60a5fa;border-radius:6px;gap:0;overflow:hidden}.operatives-allocation-page .allocation-toolbar-view-toggle .allocation-toolbar-chip{border:none;border-right:1px solid #93c5fd;border-radius:0}.operatives-allocation-page .allocation-toolbar-view-toggle .allocation-toolbar-chip:last-child{border-right:none}.operatives-allocation-page .allocation-toolbar-view-toggle .allocation-toolbar-chip.is-active{color:#1d4ed8;background:#dbeafe}.operatives-allocation-page .allocation-toolbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.operatives-allocation-page .allocation-toolbar-actions .btn{border-radius:6px;padding:0 12px;font-size:11px}.operatives-allocation-page .alert,.operatives-allocation-page .histogram-bar-filter-banner{padding:4px 8px;font-size:10px}.operatives-allocation-page .table-card.allocation-table-wrap{min-height:0;width:var(--allocation-table-width);max-width:var(--allocation-table-width);background:var(--allocation-surface);border:var(--allocation-cell-border-width) solid var(--allocation-border);border-radius:6px;flex-direction:column;flex:auto;align-self:flex-start;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 4px #0f172a0a}.operatives-allocation-page .allocation-table-scroller{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:1;width:100%;min-width:0;min-height:0;position:relative;overflow:auto}.operatives-allocation-page .allocation-table-wrap{flex-direction:column;display:flex}.operatives-allocation-page .allocation-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:0;max-width:100%;font-size:10px;display:table}.operatives-allocation-page .allocation-col-checkbox{width:var(--allocation-checkbox-width)}.operatives-allocation-page .allocation-col-name{width:var(--allocation-name-width)}.operatives-allocation-page .allocation-col-nrm{width:var(--allocation-nrm-col-width);min-width:var(--allocation-nrm-col-width);max-width:var(--allocation-nrm-col-width)}.operatives-allocation-page .allocation-col-actions{width:var(--allocation-actions-width)}.operatives-allocation-page .allocation-table th,.operatives-allocation-page .allocation-table td{border:var(--allocation-cell-border-width) solid var(--allocation-border);vertical-align:middle;text-align:center;padding:0;line-height:1;display:table-cell;overflow:visible}.operatives-allocation-page .allocation-table tbody tr{height:var(--allocation-row-height)}.operatives-allocation-page .allocation-table th.allocation-head-checkbox,.operatives-allocation-page .allocation-table td.allocation-checkbox-cell,.operatives-allocation-page .allocation-table .allocation-sticky-checkbox{z-index:3;width:var(--allocation-checkbox-width);min-width:var(--allocation-checkbox-width);max-width:var(--allocation-checkbox-width);text-align:center;background:var(--allocation-surface-elevated);padding:0;position:sticky;left:0;overflow:visible}.operatives-allocation-page .allocation-table thead th.allocation-sticky-checkbox,.operatives-allocation-page .allocation-table thead th.allocation-sticky-name{top:var(--allocation-head-main-height);z-index:6;background:var(--allocation-head-mid);color:var(--allocation-head-mid-text)}.operatives-allocation-page .allocation-table thead th.allocation-head-operative{z-index:7;width:var(--allocation-operative-width);min-width:var(--allocation-operative-width);max-width:var(--allocation-operative-width);background:var(--allocation-head-dark);color:#fff;position:sticky;top:0;left:0}.operatives-allocation-page .allocation-table thead th.allocation-head-actions.allocation-head-main{background:var(--allocation-head-dark);color:#fff;z-index:8;text-overflow:ellipsis;white-space:nowrap;padding:4px 2px;font-size:11px;position:sticky;top:0;right:0;overflow:hidden}.operatives-allocation-page .allocation-table thead th.allocation-head-actions:not(.allocation-head-main){background:var(--allocation-head-mid);color:var(--allocation-head-mid-text);top:var(--allocation-head-main-height);z-index:7;position:sticky;right:0}.operatives-allocation-page .allocation-table th.allocation-head-name,.operatives-allocation-page .allocation-table td.allocation-name-cell,.operatives-allocation-page .allocation-table .allocation-sticky-name{left:var(--allocation-checkbox-width);z-index:3;width:var(--allocation-name-width);min-width:var(--allocation-name-width);max-width:var(--allocation-name-width);background:var(--allocation-surface-elevated);text-align:center;position:sticky;overflow:hidden;box-shadow:2px 0 4px -2px #0f172a2e}.operatives-allocation-page .allocation-table .allocation-sticky-operative{z-index:3;width:var(--allocation-operative-width);min-width:var(--allocation-operative-width);max-width:var(--allocation-operative-width);background:var(--allocation-team-bg);text-align:center;position:sticky;left:0;overflow:hidden;box-shadow:2px 0 4px -2px #0f172a2e}.operatives-allocation-page .allocation-table thead th{border-width:var(--allocation-header-border-width);border-color:var(--allocation-header-border-color);background-clip:padding-box;position:sticky}.operatives-allocation-page .allocation-table thead tr:first-child th{z-index:5;top:0}.operatives-allocation-page .allocation-table thead tr:nth-child(2) th{top:var(--allocation-head-main-height);z-index:4;box-shadow:0 2px 4px -2px #0f172a1f}.operatives-allocation-page .allocation-table thead th.allocation-head-operative{z-index:7;top:0}.operatives-allocation-page .allocation-table .allocation-team-row td{background:var(--allocation-team-bg);color:#fff;vertical-align:middle;border-color:#5a5a5a;width:auto;min-width:0;max-width:none;padding:0;font-size:10px;line-height:1.2}.operatives-allocation-page .allocation-table .allocation-team-bar{background:var(--allocation-team-bg);text-align:center;vertical-align:middle}.operatives-allocation-page .allocation-team-label{width:100%;min-height:var(--allocation-row-height);box-sizing:border-box;text-transform:capitalize;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.operatives-allocation-page .allocation-team-toggle{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.operatives-allocation-page .allocation-team-toggle:hover{background:#ffffff1f}.operatives-allocation-page .allocation-team-chevron{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .15s;display:block;transform:rotate(45deg)translateY(-2px)}.operatives-allocation-page .allocation-team-chevron.is-collapsed{transform:rotate(-45deg)translateY(1px)}.operatives-allocation-page .allocation-team-count{opacity:.9;font-weight:500}.operatives-allocation-page .allocation-team-actions-cell{background:var(--allocation-team-bg);text-align:center;vertical-align:middle;padding:0}.operatives-allocation-page .allocation-actions-cell-inner{width:100%;min-height:var(--allocation-row-height);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.operatives-allocation-page .allocation-team-row .allocation-actions-cell-inner{min-height:calc(var(--allocation-row-height) + 2px)}.operatives-allocation-page .allocation-actions-cell .availability-action-btn{border-radius:3px;flex:none;margin:0;padding:2px 3px}.operatives-allocation-page .allocation-actions-cell .availability-action-btn svg{width:12px;height:12px;display:block}.operatives-allocation-page .allocation-table th.allocation-head-actions,.operatives-allocation-page .allocation-table td.allocation-actions-cell{z-index:4;width:var(--allocation-actions-width);min-width:var(--allocation-actions-width);max-width:var(--allocation-actions-width);text-align:center;vertical-align:middle;padding:0;position:sticky;right:0;box-shadow:-2px 0 4px -2px #0f172a2e}.operatives-allocation-page .allocation-table tbody td.allocation-actions-cell{z-index:3;background:#fff}.operatives-allocation-page .allocation-table tbody tr.allocation-team-row td.allocation-actions-cell{z-index:3;background:var(--allocation-team-bg);box-shadow:-2px 0 4px -2px #0f172a3d}.operatives-allocation-page .allocation-table tbody tr:not(.allocation-team-row) td,.operatives-allocation-page .allocation-table tbody tr:not(.allocation-team-row):nth-child(2n) td,.operatives-allocation-page .allocation-table tbody tr:not(.allocation-team-row):nth-child(2n) .allocation-sticky-checkbox,.operatives-allocation-page .allocation-table tbody tr:not(.allocation-team-row):nth-child(2n) .allocation-sticky-name{background:#fff}.operatives-allocation-page .allocation-head-main{background:var(--allocation-head-dark);color:#fff;text-align:center;min-height:var(--allocation-head-main-height);height:var(--allocation-head-main-height);border-width:var(--allocation-header-border-width);border-color:var(--allocation-header-border-color);padding:4px 6px;font-size:12px;font-weight:700;line-height:1.2}.operatives-allocation-page .allocation-head-sub{background:var(--allocation-head-mid);color:var(--allocation-head-mid-text);text-align:center;white-space:nowrap;height:var(--allocation-nrm-head-height);min-height:var(--allocation-nrm-head-height);vertical-align:middle;border-width:var(--allocation-header-border-width);border-color:var(--allocation-header-border-color);padding:0;font-size:11px;font-weight:600}.operatives-allocation-page .allocation-head-sub.allocation-head-name,.operatives-allocation-page .allocation-head-sub.allocation-head-actions{height:var(--allocation-nrm-head-height);min-height:var(--allocation-nrm-head-height);vertical-align:middle;text-align:center;background:var(--allocation-head-mid);color:var(--allocation-head-mid-text);padding:2px 4px;font-size:11px}.operatives-allocation-page .allocation-head-sub.allocation-nrm-filter{width:var(--allocation-nrm-col-width);min-width:var(--allocation-nrm-col-width);max-width:var(--allocation-nrm-col-width);height:var(--allocation-nrm-head-height);min-height:var(--allocation-nrm-head-height);white-space:nowrap;vertical-align:middle;text-align:center;background:var(--allocation-head-mid);color:var(--allocation-head-mid-text);padding:0;overflow:hidden}.operatives-allocation-page .allocation-head-sub.allocation-nrm-filter.is-filter-active{background:var(--allocation-head-dark);color:#fff;box-shadow:inset 0 0 0 1px #404040}.operatives-allocation-page .allocation-nrm-filter-btn{width:100%;height:100%;color:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0 1px;font-size:11px;font-weight:700;line-height:1.1;display:inline-flex;overflow:hidden}.operatives-allocation-page .allocation-nrm-filter-btn:hover{background:#0f172a0f}.operatives-allocation-page .allocation-head-sub.allocation-nrm-filter.is-filter-active .allocation-nrm-filter-btn:hover{background:#ffffff1f}.operatives-allocation-page .allocation-empty-filter{text-align:center;color:#64748b;padding:12px 8px;font-size:10px}.operatives-allocation-page .allocation-row-filter-active td,.operatives-allocation-page .allocation-row-filter-active td.allocation-checkbox-cell,.operatives-allocation-page .allocation-row-filter-active td.allocation-name-cell,.operatives-allocation-page .allocation-row-filter-active td.allocation-sticky-checkbox,.operatives-allocation-page .allocation-row-filter-active td.allocation-sticky-name{background:#f0f9ff}.operatives-allocation-page .allocation-checkbox-cell input[type=checkbox]{width:12px;height:12px;margin:0 auto;display:block}.operatives-allocation-page .allocation-name-cell,.operatives-allocation-page .allocation-oap-cell,.operatives-allocation-page .allocation-actions-cell,.operatives-allocation-page .allocation-checkbox-cell{text-align:center;vertical-align:middle}.operatives-allocation-page .allocation-name-cell{padding:1px}.operatives-allocation-page .allocation-name-input{width:100%;min-width:0;height:calc(var(--allocation-row-height) - 2px);border:var(--allocation-cell-border-width) solid var(--allocation-border);color:#000;box-sizing:border-box;text-overflow:ellipsis;text-align:center;font-size:10px;font-weight:600;line-height:calc(var(--allocation-row-height) - 2px);background:#fff;border-radius:2px;padding:0 4px;display:block;overflow:hidden}.operatives-allocation-page .allocation-name-input:focus-visible{box-shadow:none;border-color:#cbd5e1;outline:none}.operatives-allocation-page .allocation-name-input--trainee,.resource-histogram-operative-name--trainee,.operative-name--trainee,.trainings-gap-name-btn .resource-histogram-operative-name--trainee{color:#2563eb}.trainings-gap-name-btn:hover .resource-histogram-operative-name--trainee,.trainings-gap-name-btn:focus-visible .resource-histogram-operative-name--trainee{color:#1d4ed8}.operatives-allocation-page .allocation-team-row .allocation-actions-cell{background:var(--allocation-team-bg);padding:0}.operatives-allocation-page .allocation-oap-input{width:100%;min-width:0;max-width:100%;height:calc(var(--allocation-row-height) - 2px);text-align:center;font-size:10px;font-weight:400;line-height:calc(var(--allocation-row-height) - 2px);box-sizing:border-box;color:#111827;background:0 0;border:none;border-radius:0;margin:0 auto;padding:0 1px;display:block}.operatives-allocation-page .allocation-actions-cell{text-align:center;vertical-align:middle}.operatives-allocation-page .allocation-oap-input--filled{background:0 0;border:none;font-size:11px;font-weight:800}.operatives-allocation-page .allocation-table--performance .allocation-oap-input{font-size:9px}.operatives-allocation-page .allocation-oap-highlight{background:#f0f9ff}.operatives-allocation-page .allocation-oap-highlight .allocation-oap-input--filled{background:0 0;border:none}.operatives-allocation-page .allocation-table th.allocation-oap-cell,.operatives-allocation-page .allocation-table td.allocation-oap-cell{width:var(--allocation-nrm-col-width);min-width:var(--allocation-nrm-col-width);max-width:var(--allocation-nrm-col-width);text-align:center;white-space:normal;background:#fff;padding:1px;overflow:visible}.operatives-allocation-page .allocation-view-toggle{background:var(--color-surface);border:1px solid var(--allocation-border);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.allocation-toolbar-actions{justify-content:flex-end}.allocation-table-wrap{width:100%;min-width:0;max-width:100%;display:block;overflow:visible}.allocation-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:11px;display:table}.allocation-col-checkbox{width:28px}.allocation-col-name{width:108px}.allocation-col-nrm{width:1%}.allocation-col-actions{width:92px}.allocation-table thead{display:table-header-group}.allocation-table tbody{display:table-row-group}.allocation-table tr{display:table-row}.allocation-table th,.allocation-table td{vertical-align:middle;white-space:nowrap;border:1px solid #cbd5e1;padding:1px 2px;display:table-cell;overflow:hidden}.allocation-table th.allocation-head-checkbox,.allocation-table td.allocation-checkbox-cell{z-index:2;text-align:center;vertical-align:middle;background:#fff;width:28px;min-width:28px;max-width:28px;padding:1px;position:sticky;left:0}.allocation-table thead th.allocation-head-checkbox{z-index:4;background:#64748b}.allocation-table th.allocation-head-name,.allocation-table td.allocation-name-cell{z-index:2;background:#fff;width:108px;min-width:108px;max-width:108px;position:sticky;left:28px}.allocation-table thead th.allocation-head-name{z-index:4;background:#64748b}.allocation-table .allocation-team-row td{width:auto;min-width:0;max-width:none;position:static}.allocation-table th.allocation-oap-cell,.allocation-table td.allocation-oap-cell{text-align:center;width:auto;min-width:0;max-width:none}.allocation-table th.allocation-actions-cell,.allocation-table td.allocation-actions-cell{text-align:center;vertical-align:middle;width:92px;min-width:92px;max-width:92px}.allocation-head-main{color:#fff;text-align:center;background:#475569;padding:4px 6px;font-size:11px;font-weight:700}.allocation-head-sub{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#64748b;padding:0;font-size:9px;overflow:hidden}.allocation-head-sub.allocation-nrm-filter.is-filter-active{background:#525252;box-shadow:inset 0 0 0 2px #a3a3a3}.allocation-nrm-filter-btn{width:100%;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:8px;font-weight:600;display:inline-flex;overflow:visible}.allocation-nrm-filter-btn:hover{background:#ffffff1f}.allocation-empty-filter{text-align:center;color:#64748b;padding:16px 12px;font-size:11px}.allocation-row-filter-active td,.allocation-row-filter-active td.allocation-checkbox-cell,.allocation-row-filter-active td.allocation-name-cell{background:var(--color-primary-soft)}.allocation-checkbox-cell input[type=checkbox]{vertical-align:middle;width:13px;height:13px;margin:0}.allocation-name-cell{vertical-align:middle;padding:1px 3px}.allocation-name-cell.is-filter-active .allocation-name-input{border-color:var(--color-primary-accent);background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}.allocation-name-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-width:0;height:20px;padding:1px 4px;font-size:10px;font-weight:600;display:block}.allocation-name-input:focus{border-color:var(--color-primary-border);box-shadow:var(--shadow-focus);outline:none}.allocation-oap-highlight{background:var(--color-primary-muted)}.allocation-oap-highlight .allocation-oap-input{border-color:var(--color-primary-accent);background:var(--color-surface)}.allocation-team-row td{color:#fff;background:#94a3b8;padding:5px 8px;font-size:11px}.allocation-team-row .allocation-actions-cell{background:#94a3b8;padding:4px 6px}.allocation-add-employee-btn{white-space:nowrap}.allocation-oap-input{text-align:center;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-width:0;max-width:100%;height:20px;margin:0 auto;padding:1px 2px;font-size:10px;display:block}.app-main:has(.pde-page){flex-direction:column;flex:1;min-height:0;padding:10px 12px 12px;display:flex}.app-main:has(.pde-page)>section.pde-page{flex-direction:column;flex:1;gap:10px;width:100%;min-width:0;max-width:100%;min-height:0;margin-top:0;display:flex;position:relative;overflow:hidden}.pde-page .histogram-mini-legend{z-index:30;position:absolute;bottom:12px;right:12px}.pde-page .page-header{gap:0;margin-bottom:0}.pde-page .page-header-compact .page-heading-row{align-items:center;gap:12px}.pde-page .page-heading h2{font-size:18px;line-height:1.15}.pde-header-actions{justify-content:flex-end}.pde-page .project-picker.card{flex-shrink:0;gap:8px;padding:10px 12px}.pde-page .pde-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.pde-page .pde-controls--filters{justify-content:space-between;align-items:flex-end;gap:8px 12px;width:100%}.pde-page .pde-controls-toolbar{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:6px;width:100%;max-width:100%;display:flex}.pde-page .pde-controls-toolbar--danger{border-top:1px solid #e5e7eb;align-items:stretch;margin-top:2px;padding-top:8px}.pde-page .pde-controls-toolbar-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pde-page .pde-controls-toolbar-row--primary{flex:0 auto;align-self:flex-end;width:auto;margin-left:auto}.pde-page .pde-controls-toolbar-row--danger{justify-content:space-between;align-items:center;gap:12px;width:100%;padding-top:2px}.pde-page .pde-danger-toolbar-start{flex-direction:column;flex:auto;align-items:flex-start;gap:4px;min-width:0;display:flex}.pde-page .pde-danger-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.pde-page .pde-controls-group{flex-wrap:wrap;align-items:flex-end;gap:8px 10px;min-width:0;display:flex}.pde-page .pde-controls-group--filters{flex:auto;width:auto;min-width:0}.pde-page .pde-action-cluster{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.pde-page .pde-action-cluster--danger{margin-left:0}.pde-page .pde-controls-divider{background:#d1d5db;flex-shrink:0;align-self:stretch;width:1px;min-height:28px;margin:0 2px}.pde-page .pde-controls label{gap:4px;font-size:11px}.pde-page .pde-controls select{height:var(--btn-height);min-height:var(--btn-height);border-radius:var(--btn-radius);box-sizing:border-box;padding:2px 8px;font-size:12px}.pde-page .pde-controls .project-color-select-trigger{height:var(--btn-height);min-height:var(--btn-height);border-radius:var(--btn-radius);box-sizing:border-box;padding:2px 24px 2px 8px;font-size:12px}.pde-page .pde-controls .project-color-label,.pde-page .pde-controls .copy-type-label{font-size:11px}.pde-page .pde-controls .have-all-docs-field{min-height:var(--btn-height);color:#475569;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:0;padding:0 2px;font-size:11px;font-weight:600;display:inline-flex}.pde-page .pde-controls .have-all-docs-field input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.pde-page .pde-controls .project-color-input{width:28px;min-width:28px;height:28px;min-height:28px}.pde-page .pde-project-meta{gap:6px 14px;padding-top:2px;font-size:11px;line-height:1.3}.pde-page .pde-project-status--completed{color:#6b7280;font-weight:600}.pde-page .pde-project-status--on_hold{color:#b45309;font-weight:600}.pde-page .pde-project-done-hint{margin:0;padding:0 2px;font-size:11px;line-height:1.35}.pde-page--project-done .project-picker.card{border-color:#d1d5db}.pde-page .pde-empty-parts{margin:0;font-size:11px}.pde-page .pde-alert{padding:8px 12px;font-size:12px}.pde-page .project-task-panel{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.pde-page .project-task-bulk-hint{padding:6px 10px;font-size:11px}.pde-page .project-task-bulk-hint--legend{border:1px solid var(--color-info-border);background:var(--color-info-bg);color:var(--color-info-text);border-radius:8px;padding:4px 10px;font-weight:600}.pde-page .pde-table-shell,.pde-page .project-task-scroll{flex:1;min-height:200px;max-height:none;overflow:auto}.pde-page .pde-controls .project-select-field,.pde-page .pde-controls .copy-type-field{flex:0 auto;width:auto;min-width:108px;max-width:none}.pde-page .pde-controls .project-select-field:has(.project-color-select){flex:0 auto;width:auto;min-width:180px;max-width:100%}@media (width<=960px){.pde-page .pde-controls-toolbar{gap:8px}.pde-page .pde-controls-divider{display:none}.pde-page .pde-controls-toolbar-row--primary{justify-content:flex-end;width:100%;margin-left:0}.pde-page .pde-controls-toolbar--danger{width:100%}}@media (width<=1024px){.pde-page .pde-controls-divider{display:none}}.pde-page:not(.dl-page) .project-task-table{--pde-sticky-task-width:24ch}.pde-page:not(.dl-page) .project-task-table .col-wide,.pde-page:not(.dl-page) .project-task-table .col-wide .task-col-input{min-width:12ch;max-width:24ch}.pde-page:not(.dl-page) .project-task-table .col-algorithm{width:112px;min-width:112px;max-width:112px}.pde-page:not(.dl-page) .project-task-table .col-algorithm .task-algorithm-display,.pde-page:not(.dl-page) .project-task-table .col-algorithm .task-employee-select{max-width:108px}.pde-page:not(.dl-page) .project-task-table .col-override,.pde-page:not(.dl-page) .project-task-table .col-employee{width:124px;min-width:124px;max-width:124px}.pde-page:not(.dl-page) .project-task-table .col-override .task-employee-select,.pde-page:not(.dl-page) .project-task-table .task-employee-select{max-width:120px}.project-color-select{width:auto;min-width:0;max-width:100%;position:relative}.project-color-select-trigger{width:auto;min-width:0;max-width:100%;height:var(--btn-height);min-height:var(--btn-height);text-align:left;border-radius:var(--btn-radius);color:inherit;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:2px 24px 2px 8px;font-size:12px;display:flex;position:relative}.project-color-select.is-open .project-color-select-trigger,.project-color-select-trigger:hover:not(:disabled){border-color:#94a3b8}.project-color-select.is-disabled .project-color-select-trigger{opacity:.6;cursor:not-allowed}.project-color-select-label,.project-color-select-placeholder{white-space:nowrap;flex:auto;min-width:0}.project-color-select-placeholder{color:#64748b}.project-color-select-swatch{border:1px solid #0f172a26;border-radius:999px;flex-shrink:0;width:12px;height:12px}.project-color-select-swatch-empty{background:#fff}.project-color-select-chevron{pointer-events:none;border-top:5px solid #64748b;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:50%;right:8px;transform:translateY(-25%)}.project-color-select-panel{background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-height:320px;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.project-color-select-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-color-select-option{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-size:11px;display:flex}.project-color-select-option:hover,.project-color-select-option.is-selected{background:#f1f5f9}.dl-page .dl-page-hint{color:#6b7280;margin:4px 0 0;padding:0;font-size:11px}.dl-page .project-picker.card{flex-shrink:0;gap:6px;padding:8px 12px}.dl-page .project-task-panel,.dl-page .dl-task-panel{flex-direction:column;flex:1;min-height:0;display:flex}.dl-page .project-task-table{--pde-sticky-task-width:18ch}.dl-page .project-task-table .col-wide,.dl-page .project-task-table .col-wide .task-col-input{min-width:9ch;max-width:18ch}.dl-page .project-task-table .col-override,.dl-page .project-task-table .col-employee{width:120px;min-width:120px;max-width:120px}.dl-page .project-task-table .col-override .task-employee-select,.dl-page .project-task-table .col-employee .task-employee-select{max-width:116px}.dl-page .project-task-table .col-date{width:118px;min-width:118px;max-width:118px}.dl-page .project-task-table .col-date .display-date-input,.dl-page .project-task-table .col-date .task-date-input{width:100%;min-width:0;max-width:100%}.dl-page .project-task-table .col-date .display-date-input-btn{text-overflow:clip;width:100%;max-width:none;padding:0 4px;font-size:10px;overflow:visible}.dl-page .project-task-table .col-confidence{width:52px;min-width:52px;max-width:52px}.dl-page .project-task-table .col-num .task-col-input,.dl-page .project-task-table .col-num input{width:4ch;max-width:4.5ch}.dl-page .project-task-table .col-decimal .task-col-input,.dl-page .project-task-table .col-decimal input{width:4.5ch;max-width:5ch}.dl-page .task-readonly-date{color:#6b7280;text-align:center;white-space:nowrap;text-overflow:clip;width:100%;max-width:none;font-size:10px;display:block;overflow:visible}.dl-page .project-task-table input[readonly],.dl-page .project-task-table input:disabled{color:#4b5563;background:#f3f4f6}.dl-page .project-task-table td.pde-field-source--calculated,.dl-page .project-task-table th.pde-field-source--calculated{background-color:#dbeafe}.dl-page .project-task-table tbody tr:nth-child(2n) td.pde-field-source--calculated{background-color:#bfdbfe}.dl-page .project-task-table .pde-field-source--calculated .task-col-input,.dl-page .project-task-table .pde-field-source--calculated input[readonly],.dl-page .project-task-table .pde-field-source--calculated input:disabled{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd}.dl-page .project-task-table tbody tr.project-task-row-no-plan td.pde-field-source--calculated,.dl-page .project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated .task-col-input,.dl-page .project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated input[readonly],.dl-page .project-task-table tbody tr.project-task-row-no-plan .pde-field-source--calculated input:disabled{color:#4b5563;background:0 0;border-color:#9ca3af}@media (width<=1024px){.app-main:has(.pde-page){padding:10px}.pde-page .page-header-compact .page-heading-row{flex-direction:column;align-items:stretch;gap:8px}.pde-page .page-heading h2{font-size:17px}.pde-page .page-header-actions{justify-content:flex-end;width:100%}.pde-page .pde-header-actions,.pde-page .pde-controls-toolbar{justify-content:flex-end;align-items:flex-end;width:100%;max-width:100%}.pde-page .pde-controls-toolbar-row{justify-content:flex-end;align-items:flex-end}.pde-page .pde-controls-toolbar-row--danger{justify-content:space-between;align-items:flex-start}.pde-page .pde-danger-toolbar-actions{justify-content:flex-end;margin-left:auto}.pde-page .pde-controls--filters{align-items:flex-end}.pde-page .pde-controls-toolbar-row--primary{justify-content:flex-end;width:100%;margin-left:0}.pde-page .project-picker.card{padding:10px 12px}.pde-page .pde-controls,.pde-page .project-picker-row.pde-controls{flex-flow:wrap;align-items:flex-end;gap:8px 10px;display:flex}.pde-page .pde-controls-divider{display:none}.pde-page .pde-controls-group--filters{display:contents}.pde-page .pde-controls label,.pde-page .pde-controls .project-select-field,.pde-page .pde-controls .copy-type-field{color:#64748b;flex-direction:column;flex:0 auto;gap:3px;width:auto;min-width:108px;max-width:160px;margin:0;font-size:11px;font-weight:600;display:flex}.pde-page .pde-controls .project-select-field:has(.project-color-select){width:auto;min-width:160px;max-width:100%}.pde-page .pde-controls .project-color-field{color:#64748b;flex-direction:column;flex:none;justify-content:flex-end;align-items:flex-start;gap:3px;width:auto;min-width:0;margin:0;font-size:11px;font-weight:600;display:flex}.pde-page .pde-controls .project-color-label,.pde-page .pde-controls .copy-type-label{color:#64748b;font-size:11px;font-weight:600;line-height:1.2}.pde-page .pde-controls-toolbar .btn{flex:none;width:auto;min-width:0}.pde-page .pde-controls select,.pde-page .pde-controls .project-color-select-trigger{width:auto;min-width:108px;max-width:100%;height:var(--btn-height);min-height:var(--btn-height);border-radius:var(--btn-radius);font-size:12px}.pde-page .pde-controls .project-select-field:has(.project-color-select) .project-color-select-trigger{width:auto;max-width:100%}.pde-page .pde-controls .project-color-input{border-radius:6px;flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.pde-page .pde-project-meta{flex-direction:column;align-items:flex-start;gap:4px}.dl-page .project-task-table{--pde-sticky-task-width:14ch}.dl-page .project-task-table .col-wide,.dl-page .project-task-table .col-wide .task-col-input{min-width:8ch;max-width:14ch}.dl-page .project-task-table .col-override,.dl-page .project-task-table .col-employee,.dl-page .project-task-table .col-date{width:112px;min-width:112px;max-width:112px}}.error-boundary-page{place-items:center;min-height:100vh;padding:24px;display:grid}.error-boundary-card{width:100%;max-width:520px;padding:28px}.error-boundary-details{color:#991b1b;background:#fef2f2;border-radius:8px;margin:16px 0;padding:12px;font-size:.85rem;overflow:auto}.error-boundary-actions{flex-wrap:wrap;gap:12px;display:flex}.trainings-page{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.trainings-header-actions{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.trainings-header-end{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.trainings-header-end .trainings-gap-notify-bell{width:32px;height:32px}.trainings-page .page-heading-row{flex-direction:column;align-items:stretch;gap:8px}.trainings-page .page-heading-copy,.trainings-page .page-header-actions{width:100%;min-width:0}.trainings-page .trainings-view-toggle{flex:0 auto;max-width:none}.trainings-view-toggle{background:var(--surface-muted,#f3f4f6);isolation:isolate;border-radius:8px;grid-template-columns:1fr 1fr;align-items:center;gap:0;padding:2px;display:inline-grid;position:relative}.trainings-view-toggle:before{content:"";z-index:0;background:#fff;border-radius:6px;width:calc(50% - 2px);transition:transform .28s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;bottom:2px;left:2px;transform:translate(0);box-shadow:0 1px 2px #0f172a14}.trainings-view-toggle[data-active-view=roster]:before{transform:translate(100%)}.trainings-view-toggle .trainings-view-tab{z-index:1;box-shadow:none;background:0 0;border:none;transition:color .2s;position:relative}.trainings-view-toggle .trainings-view-tab.is-active{box-shadow:none;color:#0f172a;background:0 0}.trainings-header-save-slot{opacity:0;max-width:0;transition:max-width .28s,opacity .22s,transform .28s;display:grid;overflow:hidden;transform:translate(-6px)}.trainings-header-save-slot.is-visible{opacity:1;max-width:120px;transform:translate(0)}.trainings-overview-stat{transition:opacity .22s,transform .22s}.trainings-overview-stat strong{transition:opacity .22s}.trainings-view-stage{min-width:0;transition:opacity .2s;position:relative}.trainings-view-stage.is-refreshing{opacity:.92}.trainings-view-stage.is-refreshing:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#ffffff8c 50%,#fff0 100%) 0 0/200% 100%;animation:1.1s ease-in-out infinite trainings-view-shimmer;position:absolute;inset:0}.trainings-view-panel{animation:.32s cubic-bezier(.22,1,.36,1) trainings-view-enter}@keyframes trainings-view-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes trainings-view-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.trainings-view-toggle:before,.trainings-view-panel,.trainings-header-save-slot,.trainings-overview-stat,.trainings-view-stage{transition:none;animation:none}.trainings-view-stage.is-refreshing:after{opacity:.35;background:#ffffff59;animation:none}}.trainings-page--roster .trainings-roster-page{gap:8px}.trainings-page--roster .trainings-roster-page .project-task-panel{margin-top:0}.dl-page--trainings .trainings-view-stage,.dl-my-trainings{flex-direction:column;gap:12px;min-width:0;display:flex}.dl-my-trainings-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 16px;padding:12px 14px;display:grid}.dl-my-trainings-stat{flex-direction:column;gap:4px;min-width:0;display:flex}.dl-my-trainings-stat-label{letter-spacing:.02em;text-transform:uppercase;color:#64748b;font-size:11px;font-weight:600}.dl-my-trainings-stat strong{color:#0f172a;text-overflow:unset;white-space:normal;font-size:15px;font-weight:600;line-height:1.3;overflow:visible}.dl-my-trainings-list{flex-direction:column;gap:12px;display:flex}.dl-my-trainings-table-wrap{flex:auto;align-self:stretch;width:100%;max-width:100%;height:auto;padding:0;overflow:hidden}.dl-my-trainings-table-scroll{flex:auto;max-width:100%;height:auto;min-height:0;max-height:min(70vh,720px);overflow:auto}.dl-my-trainings-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1680px;font-size:13px}.dl-my-trainings-table thead th{z-index:2;color:#475569;letter-spacing:.02em;text-transform:uppercase;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.dl-my-trainings-table thead th:first-child{width:240px;min-width:240px}.dl-my-trainings-table thead th:nth-child(2){width:280px;min-width:280px}.dl-my-trainings-table thead th:nth-child(3){width:260px;min-width:260px}.dl-my-trainings-table thead th:nth-child(4),.dl-my-trainings-table thead th:nth-child(5){width:140px;min-width:140px}.dl-my-trainings-table thead th:nth-child(6),.dl-my-trainings-table thead th:nth-child(7),.dl-my-trainings-table thead th:nth-child(8),.dl-my-trainings-table thead th:nth-child(9){width:150px;min-width:150px}.dl-my-trainings-table thead th:nth-child(10){width:90px;min-width:90px}.dl-my-trainings-table tbody tr{transition:background .15s}.dl-my-trainings-table tbody tr:hover{background:#f8fafc}.dl-my-trainings-table tbody tr.is-focused-training{background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.dl-my-trainings-table tbody tr.is-focused-training:hover{background:#dbeafe}.dl-my-trainings-context{color:#334155;width:100%;margin-bottom:4px;font-size:13px}.dl-my-trainings-table tbody td{vertical-align:middle;border-bottom:1px solid #eef2f7;padding:8px 12px;overflow:hidden}.dl-my-training-cell--title{white-space:normal;min-width:240px}.dl-my-training-cell--link{min-width:280px}.dl-my-training-cell--description{white-space:normal;min-width:260px}.dl-my-training-cell--date{min-width:140px}.dl-my-training-cell--select{min-width:150px}.dl-my-training-cell--hours{text-align:center;min-width:90px}.dl-my-trainings-table tbody tr:last-child td{border-bottom:0}.dl-my-trainings-table .dl-my-training-input{min-width:0}.dl-my-trainings-table .dl-my-training-cell--title .dl-my-training-input,.dl-my-trainings-table .dl-my-training-cell--description .dl-my-training-input{white-space:normal}.dl-my-training-open-btn{white-space:nowrap;flex-shrink:0}.dl-my-training-card{border:1px solid #e2e8f0;padding:0;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.dl-my-training-card-head{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px;display:flex}.dl-my-training-card-title-wrap{flex:1;min-width:0}.dl-my-training-card-title{color:#0f172a;margin:0;font-size:16px;font-weight:600;line-height:1.3}.dl-my-training-card-dates{color:#64748b;margin:4px 0 0;font-size:12px}.dl-my-training-status{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:600;line-height:1}.dl-my-training-status.is-scheduled{color:#1d4ed8;background:#dbeafe}.dl-my-training-status.is-progress{color:#b45309;background:#fef3c7}.dl-my-training-status.is-completed{color:#15803d;background:#dcfce7}.dl-my-training-status.is-pending{color:#475569;background:#f1f5f9}.dl-my-training-card-body{flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.dl-my-training-field{flex-direction:column;gap:6px;min-width:0;display:flex}.dl-my-training-field>span{color:#475569;font-size:11px;font-weight:600}.dl-my-training-field--full{grid-column:1/-1}.dl-my-training-field-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.dl-my-training-input,.dl-my-training-date .display-date-input,.dl-my-training-date .task-date-input,.dl-my-training-date .display-date-input-btn{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:34px;padding:0 10px;font-size:13px}.dl-my-trainings-table .dl-my-training-readonly{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:34px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.dl-my-training-input:focus,.dl-my-training-date .display-date-input:focus-within,.dl-my-training-date .task-date-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.dl-my-training-date .display-date-input{align-items:center;padding:0;display:flex}.dl-my-training-date .display-date-input-btn,.dl-my-training-date .task-date-input{box-shadow:none;border:0;min-height:34px}.dl-my-training-link-row{align-items:center;gap:8px;display:flex}.dl-my-training-link-row .dl-my-training-input{flex:1;min-width:0}.dl-my-training-readonly{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;min-height:36px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.dl-my-trainings-empty,.dl-my-trainings-alert{text-align:center;padding:28px 20px}.dl-my-trainings-alert p{color:#64748b;margin:0;font-size:14px}.dl-view-toggle{margin-right:4px}.trainings-roster-page.dl-page{flex-direction:column;gap:8px;min-width:0;display:flex}.trainings-roster-page .project-meta.pde-project-meta{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.trainings-roster-page .project-meta.pde-project-meta>span:not(:last-child):after{content:""}.trainings-roster-page.dl-page .training-roster-panel--pro.project-task-panel,.trainings-roster-page .training-roster-panel--pro.project-task-panel{flex:none;min-height:0}.trainings-roster-page .training-roster-panel--pro .project-task-scroll,.trainings-roster-page .training-roster-panel--pro .training-roster-scroll{flex:none;height:auto;min-height:0}.dl-page--trainings .dl-my-trainings{flex:none;align-self:flex-start;height:auto}.dl-my-trainings-toolbar{margin-bottom:10px}.dl-my-trainings-toolbar-filters{flex-wrap:wrap}.dl-my-trainings-toolbar-filters label input[type=search]{min-width:200px}.dl-page--trainings .dl-my-trainings-overview{flex:none}.dl-page.dl-page--trainings .project-task-scroll{flex:none;height:auto;min-height:0}.trainings-roster-page .training-roster-panel--pro{flex:auto;align-self:stretch;width:100%;max-width:100%;height:auto;padding:0;overflow:hidden}.trainings-roster-page .training-roster-panel--pro .training-roster-scroll{flex:none;height:auto;min-height:0;max-height:min(70vh,720px);overflow:auto}.trainings-roster-page .training-roster-table--pro{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1480px;font-size:13px}.trainings-roster-page .training-roster-table--pro thead th.project-task-field-header{z-index:3;color:#475569;letter-spacing:.02em;text-transform:uppercase;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;width:auto;max-width:none;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.trainings-roster-page .training-roster-table--pro tbody tr{height:auto;transition:background .15s}.trainings-roster-page .training-roster-table--pro tbody tr:hover{background:#f8fafc}.trainings-roster-page .training-roster-table--pro th,.trainings-roster-page .training-roster-table--pro td{vertical-align:middle;border-bottom:1px solid #eef2f7;padding:8px 12px;overflow:hidden}.trainings-roster-page .training-roster-table--pro tbody tr:last-child td{border-bottom:0}.trainings-roster-page .training-roster-table--pro input,.trainings-roster-page .training-roster-table--pro select,.trainings-roster-page .training-roster-table--pro .task-col-input,.trainings-roster-page .training-roster-table--pro .display-date-input,.trainings-roster-page .training-roster-table--pro .task-date-input,.trainings-roster-page .training-roster-table--pro .display-date-input-btn{box-sizing:border-box;color:#0f172a;field-sizing:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-width:none;min-height:34px;padding:0 10px;font-size:13px}.trainings-roster-page .training-roster-table--pro .display-date-input{align-items:center;padding:0;display:flex}.trainings-roster-page .training-roster-table--pro .display-date-input-btn,.trainings-roster-page .training-roster-table--pro .task-date-input{box-shadow:none;border:0}.trainings-roster-page .training-roster-table--pro input:focus,.trainings-roster-page .training-roster-table--pro select:focus,.trainings-roster-page .training-roster-table--pro .display-date-input:focus-within{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.trainings-roster-page .training-roster-table--pro th.col-field-employee_name,.trainings-roster-page .training-roster-table--pro td.col-field-employee_name{z-index:2;white-space:nowrap;background:#fff;width:168px;min-width:168px;max-width:none;position:sticky;left:0;box-shadow:1px 0 #e2e8f0}.trainings-roster-page .training-roster-table--pro thead th.col-field-employee_name{z-index:4;background:#f8fafc}.trainings-roster-page .training-roster-table--pro tbody tr:hover td.col-field-employee_name{background:#f8fafc}.trainings-roster-page .training-roster-table--pro .col-field-employee_name .task-readonly-text,.trainings-roster-page .training-roster-table--pro .col-field-employee_name .task-algorithm-display{color:#0f172a;text-overflow:unset;max-width:none;font-weight:600;overflow:visible}.trainings-roster-page .training-roster-table--pro th.col-field-course_link,.trainings-roster-page .training-roster-table--pro td.col-field-course_link{width:280px;min-width:280px;max-width:none}.trainings-roster-page .training-roster-table--pro th.col-field-description,.trainings-roster-page .training-roster-table--pro td.col-field-description{white-space:normal;width:260px;min-width:260px;max-width:none}.trainings-roster-page .training-roster-table--pro .col-field-description input,.trainings-roster-page .training-roster-table--pro .col-field-description .task-col-input{white-space:normal}.trainings-roster-page .training-roster-table--pro th.col-field-start_date,.trainings-roster-page .training-roster-table--pro td.col-field-start_date,.trainings-roster-page .training-roster-table--pro th.col-field-end_date,.trainings-roster-page .training-roster-table--pro td.col-field-end_date{white-space:nowrap;width:140px;min-width:140px;max-width:none}.trainings-roster-page .training-roster-table--pro th.col-field-duration,.trainings-roster-page .training-roster-table--pro td.col-field-duration,.trainings-roster-page .training-roster-table--pro th.col-field-status,.trainings-roster-page .training-roster-table--pro td.col-field-status,.trainings-roster-page .training-roster-table--pro th.col-field-priority,.trainings-roster-page .training-roster-table--pro td.col-field-priority,.trainings-roster-page .training-roster-table--pro th.col-field-urgency,.trainings-roster-page .training-roster-table--pro td.col-field-urgency{white-space:nowrap;width:150px;min-width:150px;max-width:none}.trainings-roster-page .training-roster-table--pro th.col-field-hours_per_day,.trainings-roster-page .training-roster-table--pro td.col-field-hours_per_day{text-align:center;white-space:nowrap;width:90px;min-width:90px;max-width:none}.trainings-roster-page .training-roster-table--pro .col-field-hours_per_day .task-readonly-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:34px;padding:0 8px;font-weight:600;display:inline-flex}.trainings-roster-page .training-roster-table{--pde-sticky-select-width:0px;--pde-sticky-task-width:auto;table-layout:auto;width:max-content;min-width:100%;font-size:12px}.trainings-roster-page .training-roster-table tbody tr{height:26px}.trainings-roster-page .training-roster-table input,.trainings-roster-page .training-roster-table select,.trainings-roster-page .training-roster-table .task-col-input{height:22px;font-size:11px}.trainings-roster-page .training-roster-table thead th.project-task-field-header{padding:2px 4px;font-size:11px}.trainings-roster-page .training-roster-table th,.trainings-roster-page .training-roster-table td{white-space:nowrap;width:1%;padding:2px 4px}.trainings-roster-page .training-roster-table thead tr:first-child th.section-header-frozen,.trainings-roster-page .training-roster-table thead tr:nth-child(2) th.sticky-col-task-frozen,.trainings-roster-page .training-roster-table thead tr:nth-child(2) th.sticky-col-task-name,.trainings-roster-page .training-roster-table tbody td.sticky-col-task-frozen,.trainings-roster-page .training-roster-table tbody td.sticky-col-task-name{left:0}.trainings-roster-page.dl-page .training-roster-table thead tr:first-child th.section-header-frozen{width:auto;min-width:max-content;max-width:none}.trainings-roster-page.dl-page .training-roster-table .col-wide,.trainings-roster-page.dl-page .training-roster-table .col-wide .task-col-input,.trainings-roster-page.dl-page .training-roster-table .col-date,.trainings-roster-page.dl-page .training-roster-table .col-date .display-date-input,.trainings-roster-page.dl-page .training-roster-table .col-date .task-date-input,.trainings-roster-page.dl-page .training-roster-table .col-date .display-date-input-btn,.trainings-roster-page.dl-page .training-roster-table .col-employee{width:auto;min-width:0;max-width:none}.trainings-roster-page .training-roster-table .task-col-input,.trainings-roster-page .training-roster-table input,.trainings-roster-page .training-roster-table select{box-sizing:border-box;width:auto;min-width:0;max-width:none}.trainings-roster-page .training-roster-table select{field-sizing:content;max-width:100%;padding-right:14px}.trainings-roster-page .training-roster-table .col-select select,.trainings-roster-page .training-roster-table .col-training-select select,.trainings-roster-page .training-roster-table .col-training-priority select,.trainings-roster-page .training-roster-table .col-training-urgency select{width:100%;min-width:0;max-width:100%}.trainings-roster-page .training-roster-table th.col-field-employee_name,.trainings-roster-page .training-roster-table td.col-field-employee_name{max-width:10ch}.trainings-roster-page .training-roster-table th.col-field-title,.trainings-roster-page .training-roster-table td.col-field-title{max-width:14ch}.trainings-roster-page .training-roster-table th.col-field-description,.trainings-roster-page .training-roster-table td.col-field-description{max-width:12ch}.trainings-roster-page .training-roster-table th.col-field-duration,.trainings-roster-page .training-roster-table td.col-field-duration,.trainings-roster-page .training-roster-table th.col-field-status,.trainings-roster-page .training-roster-table td.col-field-status{max-width:84px}.trainings-roster-page .training-roster-table th.col-field-priority,.trainings-roster-page .training-roster-table td.col-field-priority{max-width:70px}.trainings-roster-page .training-roster-table th.col-field-urgency,.trainings-roster-page .training-roster-table td.col-field-urgency{max-width:96px}.trainings-roster-page .training-roster-table th.col-field-start_date,.trainings-roster-page .training-roster-table td.col-field-start_date,.trainings-roster-page .training-roster-table th.col-field-end_date,.trainings-roster-page .training-roster-table td.col-field-end_date{max-width:98px}.trainings-roster-page .training-roster-table th.col-field-hours_per_day,.trainings-roster-page .training-roster-table td.col-field-hours_per_day{max-width:44px}.trainings-roster-page .training-roster-table .col-field-description input{field-sizing:content;text-overflow:ellipsis;max-width:100%;overflow:hidden}.trainings-roster-page .training-roster-table .col-field-employee_name .task-readonly-text,.trainings-roster-page .training-roster-table .col-field-employee_name .task-algorithm-display{text-overflow:ellipsis;max-width:100%;overflow:hidden}.trainings-roster-page .training-roster-table .col-decimal .task-col-input,.trainings-roster-page .training-roster-table .col-decimal input,.trainings-roster-page .training-roster-table .col-field-hours_per_day .task-readonly-text{width:auto;min-width:3ch}.trainings-roster-page .training-roster-table th.col-field-course_link,.trainings-roster-page .training-roster-table td.col-field-course_link,.trainings-roster-page .training-roster-table .col-course-link{width:auto;min-width:14ch;max-width:18ch}.trainings-roster-page .training-roster-table .col-field-course_link .task-col-input,.trainings-roster-page .training-roster-table .col-field-course_link input{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;overflow:hidden}.training-roster-picker-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.training-roster-picker-row .project-select-field{flex:240px;min-width:200px}.training-open-course-btn{white-space:nowrap;flex:none;align-self:flex-end;margin-bottom:1px}.trainings-roster-page .training-roster-table .task-algorithm-display,.trainings-roster-page .training-roster-table .task-readonly-text{text-overflow:clip;white-space:nowrap;width:auto;max-width:none;display:inline-block;overflow:visible}.trainings-roster-page .training-roster-table .col-date .display-date-input,.trainings-roster-page .training-roster-table .col-date .task-date-input{width:auto;min-width:0;max-width:none}.trainings-roster-page .training-roster-table .col-date .display-date-input-btn{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;max-width:100%;min-height:22px;padding:0 2px;font-size:11px;overflow:hidden}.app-shell:has(.resource-histogram-page){height:100dvh;min-height:100dvh;overflow:hidden}.app-main:has(.resource-histogram-page){flex-direction:column;flex:1;min-height:0;padding:8px 10px 10px;display:flex;overflow:hidden}.app-main:has(.resource-histogram-page)>.resource-histogram-page{flex-direction:column;flex:1;gap:6px;width:100%;min-height:0;display:flex;overflow:hidden}.resource-histogram-page>.page-header,.resource-histogram-page>.alert,.resource-histogram-page>.histogram-toolbar-card,.resource-histogram-page>.histogram-algorithm-rerun-banner,.resource-histogram-page>.histogram-bar-filter-banner{flex-shrink:0}.resource-histogram-page .resource-histogram-chart-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.resource-histogram-page .resource-histogram-chart-wrap .resource-histogram-combined,.resource-histogram-page .resource-histogram-chart-wrap .histogram-sync-scroll,.resource-histogram-page .resource-histogram-chart-wrap .gantt-empty{flex:auto;min-height:0}.resource-histogram-page .resource-histogram-chart-wrap .histogram-sync-scroll,.resource-histogram-page .resource-histogram-chart-wrap .resource-histogram-combined{flex-direction:column;display:flex}.resource-histogram-page .resource-histogram-chart-wrap .histogram-sync-scroll-main,.resource-histogram-page .resource-histogram-chart-wrap .resource-histogram-combined-scroll{flex:auto;min-height:0;max-height:none}.resource-histogram-page .resource-histogram-chart-wrap .histogram-sync-scroll-top:not(.histogram-fixed-header-timeline){margin-left:var(--histogram-label-width,158px);width:calc(100% - var(--histogram-label-width,158px))}.resource-histogram-page .resource-histogram-combined .resource-histogram-header{z-index:20;position:sticky;top:0}.app-main:has(.trainings-page){box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:8px 10px 10px;overflow-x:clip}.app-main:has(.trainings-page)>.trainings-page{gap:6px;width:100%;min-width:0;max-width:100%}.app-shell:has(.trainings-page--gaps){max-width:100vw;height:100dvh;min-height:100dvh;overflow:hidden}.app-main:has(.trainings-page--gaps){flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;padding:6px 8px 8px;display:flex;overflow:hidden}.app-main:has(.trainings-page--gaps)>.trainings-page--gaps{flex-direction:column;flex:1;gap:4px;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.trainings-page--gaps>.page-header,.trainings-page--gaps>.trainings-overview,.trainings-page--gaps>.trainings-error,.trainings-page--gaps>.trainings-gap-notify-stack{flex-shrink:0}.trainings-page--gaps{gap:4px}.trainings-page--gaps .trainings-gap-notify-stack{justify-content:flex-start;gap:6px;margin-bottom:2px}.trainings-page--gaps .page-heading-row{align-items:stretch;gap:4px}.trainings-page--gaps .page-heading-title-row{margin-bottom:0}.trainings-page--gaps .page-heading-title-row h1{font-size:1.25rem;line-height:1.2}.trainings-page--gaps .trainings-overview.card{padding:2px 8px}.trainings-page--gaps .trainings-overview{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:2px 8px}.trainings-page--gaps .trainings-overview-label{letter-spacing:.02em;font-size:9px}.trainings-page--gaps .trainings-overview-stat{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:6px}.trainings-page--gaps .trainings-overview-stat strong{font-size:13px;line-height:1.15}.trainings-page--gaps .trainings-overview-stat--range strong{font-size:11px}.trainings-page--gaps .trainings-gap-session-legend{--histogram-legend-scale:.85;margin-bottom:2px}.trainings-page--gaps .trainings-gap-histogram.resource-histogram-combined{--histogram-label-width:240px;--trainings-gap-row-min-height:22px;--histogram-row-height:22px}.trainings-page--gaps .trainings-gap-name-col{gap:1px;padding:1px 6px!important}.trainings-page--gaps .trainings-gap-hours-badge{padding:0 5px;font-size:9px}.trainings-page--gaps .resource-histogram-team-label,.trainings-page--gaps .resource-histogram-header-label{min-height:20px;padding-top:2px;padding-bottom:2px}.trainings-page--gaps .resource-gantt-day{padding:1px 0;font-size:10px}.trainings-page--gaps .trainings-view-stage,.trainings-page--gaps .trainings-view-panel,.trainings-page--gaps .trainings-layout-single,.trainings-page--gaps .trainings-gap-panel{flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.trainings-page--gaps .trainings-gap-panel.card{padding:4px 6px 6px}.trainings-page--gaps .trainings-gap-panel-head{display:none}.trainings-page--gaps .trainings-toolbar{gap:4px 6px;margin-bottom:2px}.trainings-page--gaps .trainings-toolbar-field{gap:2px;min-width:108px;font-size:11px}.trainings-page--gaps .trainings-toolbar-field input,.trainings-page--gaps .trainings-toolbar-field select{min-height:26px;padding:2px 6px;font-size:12px}.trainings-page--gaps .trainings-chart-wrap{flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;margin-top:0;display:flex;overflow:hidden}.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined,.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll{flex-direction:column;flex:auto;min-height:0;display:flex}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll-main,.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0;flex:auto;min-height:0;max-height:none;overflow:auto}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll-main::-webkit-scrollbar{width:12px;height:12px}.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined-scroll::-webkit-scrollbar{width:12px;height:12px}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll-main::-webkit-scrollbar-track{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined-scroll::-webkit-scrollbar-track{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll-main::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll-main::-webkit-scrollbar-corner{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .resource-histogram-combined-scroll::-webkit-scrollbar-corner{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .histogram-top-scrollbar-strip,.trainings-page--gaps .trainings-chart-wrap .histogram-bottom-scrollbar-strip{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0;height:16px;min-height:16px;max-height:16px;overflow:auto hidden}.trainings-page--gaps .trainings-chart-wrap .histogram-top-scrollbar-strip::-webkit-scrollbar{height:12px}.trainings-page--gaps .trainings-chart-wrap .histogram-bottom-scrollbar-strip::-webkit-scrollbar{height:12px}.trainings-page--gaps .trainings-chart-wrap .histogram-top-scrollbar-strip::-webkit-scrollbar-track{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .histogram-bottom-scrollbar-strip::-webkit-scrollbar-track{background:#e2e8f0}.trainings-page--gaps .trainings-chart-wrap .histogram-top-scrollbar-strip::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.trainings-page--gaps .trainings-chart-wrap .histogram-bottom-scrollbar-strip::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll--bottom-strip .histogram-sync-scroll-main{scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll--bottom-strip .histogram-sync-scroll-main::-webkit-scrollbar:horizontal{height:0;display:none}.trainings-page--gaps .trainings-chart-wrap .histogram-sync-scroll--top-strip .histogram-fixed-header-row{border-bottom:1px solid var(--histogram-grid-line,#e4e4e7)}.resource-histogram-page .page-header,.trainings-page .page-header{gap:4px}.resource-histogram-page .page-heading h2,.trainings-page .page-heading h2{font-size:20px;line-height:1.2}.trainings-page--gaps .page-heading h2{font-size:18px;line-height:1.1}.resource-histogram-page .page-description,.trainings-page .page-description{max-width:720px;margin-top:2px;font-size:12px;line-height:1.35}.resource-histogram-page .breadcrumbs ol,.trainings-page .breadcrumbs ol{font-size:12px}.resource-histogram-page .histogram-toolbar-row{gap:8px 10px}.resource-histogram-page .histogram-toolbar-card{gap:6px;padding:6px 8px}.resource-histogram-page .histogram-toolbar-filters,.resource-histogram-page .histogram-toolbar-actions{align-items:flex-end;gap:6px 8px}.resource-histogram-page .histogram-toolbar-actions{justify-content:flex-end;width:auto}.resource-histogram-page .histogram-project-legend--embedded{margin-top:0;padding-top:6px}.resource-histogram-page .histogram-project-legend{gap:0}.resource-histogram-page .histogram-project-legend-list{gap:calc(10px * var(--histogram-legend-scale))}.resource-histogram-page .histogram-project-legend-key{gap:calc(8px * var(--histogram-legend-scale));padding-left:0}.trainings-page .trainings-overview.card{padding:8px 12px}.trainings-page .trainings-overview{gap:8px 16px}.trainings-page .trainings-overview-stat strong{font-size:16px}.trainings-page .trainings-gap-panel.card{padding:10px 12px 12px}.trainings-page .trainings-gap-panel-head{margin-bottom:6px}.trainings-page .trainings-gap-panel-head h2{margin-bottom:2px;font-size:15px}.trainings-page .trainings-muted{font-size:12px;line-height:1.3}.trainings-page .trainings-toolbar{gap:8px 10px;margin-bottom:6px}.trainings-page .trainings-gap-session-legend{margin-bottom:4px}.trainings-gap-session-legend-item{max-width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.trainings-gap-session-legend-item:hover .histogram-project-legend-name,.trainings-gap-session-legend-item:focus-visible .histogram-project-legend-name{text-decoration:underline}.trainings-gap-session-legend-item:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #93c5fd}.trainings-page .trainings-gap-legend-empty{font-size:10px}.trainings-layout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:16px;display:grid}@media (width<=1100px){.trainings-layout{grid-template-columns:1fr}}.trainings-form-title,.trainings-overview-title{margin:0 0 12px;font-size:15px;font-weight:600}.trainings-form-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.trainings-field{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.trainings-field-wide{grid-column:1/-1}.trainings-field input,.trainings-field select{border:1px solid #d4d4d8;border-radius:6px;width:100%;min-height:32px;padding:6px 8px;font-size:13px}.trainings-form-actions{margin-top:14px}.trainings-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:12px;display:flex}.trainings-toolbar-dates{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;min-width:0;display:flex}.trainings-toolbar-actions{align-items:flex-end;margin-left:auto;display:flex}.trainings-toolbar-field{flex-direction:column;gap:4px;min-width:120px;font-size:12px;display:flex}.trainings-toolbar-field--team{flex:0 200px;min-width:160px}.trainings-toolbar-field input,.trainings-toolbar-field select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #d4d4d8;border-radius:6px;width:100%;min-width:0;min-height:30px;padding:4px 8px;font-size:13px}.trainings-gap-legend{background:#fafafa;border:1px solid #e4e4e7;border-radius:6px;flex-direction:column;gap:6px;margin:0 0 8px;padding:6px 10px;display:flex}.trainings-gap-legend-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.trainings-gap-legend-capacity{color:#52525b;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:11px;display:flex}.trainings-gap-legend-capacity-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.trainings-gap-legend-toggle{flex-shrink:0;min-height:26px;padding:2px 8px;font-size:11px}.trainings-gap-legend.is-minimized{padding:4px 8px}.trainings-gap-legend.is-minimized .trainings-gap-legend-sessions{display:none}.trainings-gap-legend-empty{color:#71717a;margin:0;font-size:11px}.trainings-gap-legend-sessions{flex-wrap:wrap;gap:5px;max-height:84px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.trainings-gap-legend-session{color:#18181b;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e4e7;border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:100%;padding:3px 9px 3px 4px;font-size:11px;display:inline-flex}.trainings-gap-legend-session:hover,.trainings-gap-legend-session:focus-visible{background:#f8fafc;border-color:#cbd5e1}.trainings-session-index-badge{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.trainings-gap-legend .trainings-session-index-badge,.trainings-gap-legend-session-index.trainings-session-index-badge{min-width:18px;height:18px;padding:0 4px;font-size:10px}.trainings-gap-legend-session-index{width:18px;min-width:18px;padding:0}.trainings-gap-legend-session-title{text-overflow:ellipsis;white-space:nowrap;max-width:24ch;font-weight:600;overflow:hidden}.trainings-gap-legend-session-meta{color:#64748b;white-space:nowrap;font-size:11px}.training-gap-legend-swatch{border:1px solid #d4d4d8;border-radius:2px;flex-shrink:0;width:11px;height:11px;display:inline-block}.training-gap-legend-swatch.is-gap{background:#bbf7d0;border-color:#86efac}.training-gap-legend-swatch.is-full{background:#e4e4e7}.trainings-gap-table-wrap{max-width:100%;overflow-x:auto}.trainings-gap-table{border-collapse:collapse;width:100%;font-size:12px}.trainings-gap-table th,.trainings-gap-table td{vertical-align:middle;text-align:left;border-bottom:1px solid #e4e4e7;padding:8px 10px}.trainings-gap-table th{color:#52525b;background:#fafafa;font-size:11px;font-weight:600}.trainings-gap-name{white-space:nowrap;font-weight:600}.trainings-gap-hours{color:#15803d;white-space:nowrap;font-weight:600}.trainings-gap-strip-cell{min-width:200px;padding:4px 6px}.trainings-gap-scheduled{min-width:160px;max-width:280px}.trainings-chip-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.trainings-chip{background:#f4f4f5;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.trainings-chip-remove{color:#71717a;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.trainings-chip-remove:hover{color:#dc2626}.trainings-muted{color:#a1a1aa}.trainings-gap-empty,.training-gap-empty,.trainings-loading{color:#71717a;margin:0;padding:16px;font-size:13px}.trainings-overview-strip{overflow-x:auto}.training-gap-mini-histogram{flex-direction:column;gap:2px;min-width:0;display:inline-flex}.training-gap-header{flex-shrink:0;display:flex}.training-gap-header-day{text-align:center;color:#71717a;border-bottom:1px solid #e4e4e7;flex-shrink:0;padding:2px 0;font-size:8px;font-weight:600;line-height:1.1}.training-gap-header-day.is-weekend{color:#a1a1aa;background:#f4f4f5}.training-gap-header-day.is-today{color:#15803d;font-weight:700}.training-gap-rows{flex-direction:column;gap:2px;display:flex}.training-gap-row{flex-shrink:0;display:flex}.training-gap-day{background:#fafafa;border-right:1px solid #f4f4f5;flex-shrink:0;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.training-gap-day.is-weekend{background:#ececec}.training-gap-day.is-holiday{background:#fef3c7}.training-gap-day.is-full{background:#e4e4e7}.training-gap-day.is-gap{background:#f0fdf4}.training-gap-day.is-today{outline-offset:-1px;z-index:1;outline:1px solid #22c55e}.training-gap-day-fill{background:linear-gradient(#86efac 0%,#4ade80 100%);border-radius:2px 2px 0 0;width:100%;min-height:4px;display:block}.training-gap-day-holiday{color:#b45309;font-size:8px;font-weight:700}.trainings-chart-wrap{min-width:0;margin-top:4px;position:relative}.trainings-chart-wrap.is-refreshing .resource-histogram-combined{opacity:.96}.trainings-chart-wrap.is-refreshing{min-height:120px}.trainings-gap-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.trainings-gap-display-toggles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trainings-gap-toggle.is-active{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd;font-weight:600}.trainings-gap-histogram.is-showing-schedule .trainings-gap-timeline-row.is-showing-training-bars .trainings-gap-grid-cell{pointer-events:none}.trainings-gap-histogram .trainings-gap-employee-row.resource-histogram-resource-block.is-drop-target{box-shadow:inset 0 0 0 2px #2563eb}.trainings-gap-histogram .trainings-gap-employee-row.resource-histogram-resource-block.is-drop-target .trainings-gap-name-col{background:#eff6ff}.trainings-gap-histogram.is-showing-schedule .trainings-gap-hours-chip{opacity:1}.trainings-gap-histogram.is-showing-schedule .trainings-gap-training-bar{z-index:12}.trainings-gap-histogram.resource-histogram-combined{--histogram-label-width:280px;--trainings-gap-row-min-height:22px;flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;min-height:0;margin:0;display:flex;overflow:hidden}@media (width<=1024px){.trainings-gap-histogram.resource-histogram-combined{--histogram-label-width:168px}}@media (width<=640px){.trainings-gap-histogram.resource-histogram-combined{--histogram-label-width:118px}.trainings-gap-hours-badge,.trainings-gap-histogram .resource-histogram-header-label small{display:none}.trainings-gap-name-col{padding:3px 4px!important}}.trainings-gap-histogram .histogram-sync-scroll.trainings-gap-histogram-scroll{flex:auto;min-height:0}.trainings-gap-histogram .trainings-gap-employee-row.resource-histogram-resource-block{height:auto;min-height:var(--trainings-gap-row-min-height);align-items:stretch;max-height:none;overflow:visible}.trainings-gap-histogram .trainings-gap-name-col.resource-histogram-name-col{height:auto;min-height:var(--trainings-gap-row-min-height);align-self:stretch;align-items:stretch;max-height:none}.trainings-gap-histogram .trainings-gap-name-head .resource-histogram-name{height:auto;min-height:0;max-height:none}.trainings-gap-histogram .trainings-gap-employee-row .resource-histogram-timeline-block{align-self:stretch;min-height:100%;display:flex}.trainings-gap-histogram.resource-histogram-combined .trainings-gap-timeline-row.resource-gantt-timeline-row{height:100%;min-height:var(--trainings-gap-row-min-height);flex:1;max-height:none}.trainings-gap-histogram.resource-histogram-combined .trainings-gap-grid-cell.resource-gantt-grid-cell{height:100%;min-height:var(--trainings-gap-row-min-height);max-height:none;position:relative}.trainings-gap-histogram .histogram-today-line{z-index:35}.trainings-gap-histogram .resource-histogram-header-label{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;line-height:1.2}.trainings-gap-employee-row{align-items:stretch}.trainings-gap-name-col{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;min-height:100%;display:flex;padding:3px 8px!important}.trainings-gap-name-head{align-items:center;gap:6px;min-width:0;display:flex}.trainings-gap-name-head .resource-histogram-name{flex:1;min-width:0}.trainings-gap-hours-badge{color:#15803d;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700}.trainings-gap-add-btn{border-radius:3px;flex-shrink:0;padding:1px 2px}.trainings-gap-add-btn svg{width:11px;height:11px;display:block}.trainings-gap-training-chip{z-index:7;color:#1e3a8a;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;text-align:left;background:#dbeafe;border:0;border-radius:4px;padding:1px 4px;font-size:10px;line-height:1.2;display:block;position:absolute;bottom:2px;left:4px;right:4px;overflow:hidden}.trainings-gap-training-chip:hover,.trainings-gap-training-chip:focus-visible{filter:brightness(.97)}.trainings-gap-grid-cell.is-gap{background:#f0fdf4}.trainings-gap-grid-cell.is-full{background:#fafafa}.trainings-gap-hours-chip{width:100%;height:var(--histogram-row-height);min-height:var(--histogram-row-height);max-height:var(--histogram-row-height);color:#14532d;pointer-events:none;z-index:2;box-sizing:border-box;background:linear-gradient(#86efac 0%,#4ade80 100%);border-radius:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.trainings-gap-timeline-row{align-items:stretch;display:flex;position:relative}.trainings-gap-grid-cell{justify-content:center;align-items:center;display:flex}.trainings-gap-name-btn{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;flex:1;min-width:0;margin:0;padding:0}.trainings-gap-name-btn:hover .resource-histogram-operative-name,.trainings-gap-name-btn:focus-visible .resource-histogram-operative-name{text-decoration:underline}.trainings-gap-training-bars{pointer-events:none;z-index:8;position:absolute;inset:0}.trainings-gap-training-bar{color:#fff;cursor:grab;pointer-events:auto;touch-action:none;background:#3b82f6;border:0;border-radius:4px;align-items:center;gap:4px;min-width:20px;padding:0 6px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a1f}.trainings-gap-training-bar.is-editable.is-resizing,.trainings-gap-training-bar.is-editable:active{cursor:grabbing}.trainings-gap-histogram .trainings-gap-training-bar.is-editable:hover .histogram-bar-handle,.trainings-gap-histogram .trainings-gap-training-bar.is-editable.is-resizing .histogram-bar-handle,body.histogram-bar-interacting .trainings-gap-histogram .trainings-gap-training-bar.is-editable .histogram-bar-handle{opacity:1}.trainings-gap-training-bar-index{background:#ffffff38;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.trainings-gap-training-bar:hover,.trainings-gap-training-bar:focus-visible{filter:brightness(1.05);box-shadow:inset 0 0 0 1px #1e3a8a59}.trainings-gap-training-bar-label{white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:10px;font-weight:600;line-height:1.2;overflow:hidden}.training-gap-legend-swatch.is-training{background:linear-gradient(#93c5fd 0%,#3b82f6 100%)}.trainings-gap-detail-panel .trainings-gap-detail-color.is-employee{background:#22c55e}.trainings-gap-detail-panel .trainings-gap-detail-color.is-session{background:#3b82f6}.trainings-gap-detail-empty{color:#64748b;margin:0;font-size:12px}.trainings-gap-detail-description{color:#334155;margin:8px 0 0;font-size:12px;line-height:1.45}.trainings-gap-detail-panel.histogram-crm-detail-panel{width:36vw;min-width:384px;max-width:36vw}.trainings-gap-detail-panel--session{width:36vw;max-width:36vw}.trainings-gap-detail-session-body{flex-direction:column;gap:12px;display:flex}.trainings-gap-detail-training-list,.trainings-gap-detail-assignee-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.trainings-gap-detail-training-list.is-horizontal,.trainings-gap-detail-assignee-list.is-horizontal{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid;overflow:visible}.trainings-gap-detail-training-item,.trainings-gap-detail-assignee-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:0;padding:10px;list-style:none}.trainings-gap-detail-assignee-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.trainings-gap-detail-assignee-head strong{word-break:break-word;font-size:13px;line-height:1.3}.trainings-gap-detail-training-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.trainings-gap-detail-session-index,.trainings-gap-detail-training-index{width:24px;min-width:24px;height:24px;font-size:12px}.trainings-gap-detail-assignee-meta{color:#64748b;flex-direction:column;gap:4px;font-size:11px;display:flex}.trainings-gap-detail-grid{margin-top:0}.trainings-gap-detail-link{min-height:0;font-size:inherit;color:#2563eb;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.trainings-gap-detail-close-hint{color:#94a3b8;text-align:center;border-top:1px solid #e2e8f0;margin:12px 0 0;padding-top:10px;font-size:11px}@media (width<=1024px){.trainings-gap-detail-panel.histogram-crm-detail-panel,.trainings-gap-detail-panel--session{width:min(420px,96vw);min-width:0;max-width:96vw}.trainings-page .page-heading-row{flex-direction:column;align-items:stretch;gap:8px}.trainings-page .page-heading-copy{flex:none;width:100%}.trainings-page .page-heading h2{margin:0;font-size:18px}.trainings-page .page-header-actions{flex:none;width:100%;min-width:0}.trainings-header-actions{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.trainings-view-toggle{flex:0 auto;min-width:0;max-width:none}.trainings-view-toggle .trainings-view-tab{white-space:nowrap;padding-inline:6px;font-size:11px}.trainings-header-actions .btn-primary{white-space:nowrap;flex:none;padding-inline:8px;font-size:12px}.trainings-header-save-slot.is-visible{max-width:88px}.trainings-gap-notify-panel{width:auto;position:fixed;inset:auto 12px 12px}.trainings-overview{flex-wrap:nowrap;align-items:center;gap:0;padding:6px 8px;display:flex;overflow-x:auto}.trainings-overview-stat{border-right:1px solid #e4e4e7;flex:none;padding:0 10px}.trainings-overview-stat:first-child{padding-left:2px}.trainings-overview-stat:last-child{border-right:0;padding-right:2px}.trainings-overview-stat--secondary{display:none!important}.trainings-overview-stat--range{flex:auto;min-width:0}.trainings-overview-label{font-size:9px}.trainings-overview-stat strong{font-size:13px}.trainings-overview-stat--range strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.trainings-page--gaps .trainings-overview.card{padding:2px 6px}.trainings-page--gaps .trainings-overview{gap:0}.trainings-page .trainings-toolbar{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:6px;margin-bottom:6px;display:grid}.trainings-page .trainings-toolbar-field,.trainings-page .trainings-toolbar-field--team{flex:none;width:100%;min-width:0}.trainings-page .trainings-toolbar-dates{display:contents}.trainings-page .trainings-toolbar-dates .trainings-toolbar-field{min-width:0}.trainings-page .trainings-toolbar-dates input[type=date]{min-width:0;max-width:100%;padding-inline:4px;font-size:12px}.trainings-page .trainings-toolbar-actions{width:auto;margin-left:0}.trainings-page .trainings-toolbar-actions .btn{white-space:nowrap;width:auto;min-width:0;padding-inline:8px}:is(.app-main:has(.trainings-page),.app-main:has(.trainings-page--gaps)){padding-left:6px;padding-right:6px}.trainings-page,.trainings-page .card,.trainings-page .trainings-overview,.trainings-page .trainings-gap-panel,.trainings-page .trainings-chart-wrap{min-width:0;max-width:100%}.trainings-gap-legend{padding:3px 6px}.trainings-gap-legend-bar{flex-wrap:nowrap;gap:6px}.trainings-gap-legend-capacity{gap:8px;min-width:0}.trainings-gap-legend-capacity-label{font-size:10px}.trainings-gap-legend-toggle{flex-shrink:0;min-height:24px;margin-left:auto;padding:0 7px;font-size:10px}.trainings-gap-legend-sessions{max-height:64px}.trainings-page .trainings-gap-panel.card{padding:6px}.trainings-page .trainings-gap-panel-head h2{font-size:14px}}@media (width<=640px){.trainings-header-actions{flex-wrap:nowrap;justify-content:space-between;gap:6px;display:flex}.trainings-view-toggle{flex:auto;max-width:none}.trainings-page .trainings-toolbar{grid-template-columns:1fr 1fr}.trainings-page .trainings-toolbar-field--team,.trainings-page .trainings-toolbar-actions{grid-column:1/-1}.trainings-page .trainings-toolbar-actions .btn{width:100%}.trainings-overview-stat--range strong{white-space:normal}}@media (width<=768px){.trainings-gap-detail-panel.histogram-crm-detail-panel,.trainings-gap-detail-panel--session{width:96vw;min-width:0;max-width:96vw}}.trainings-layout-single{grid-template-columns:1fr}.trainings-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;padding:8px 12px;display:grid}.trainings-overview-stat{flex-direction:column;gap:4px;min-width:0;display:flex}.trainings-overview-label{color:#71717a;text-transform:uppercase;letter-spacing:.03em;font-size:11px}.trainings-overview-stat strong{color:#18181b;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.trainings-overview-stat--range strong{white-space:normal;font-size:13px;font-weight:600;line-height:1.25}.trainings-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.trainings-gap-panel-head h2{margin:0 0 4px;font-size:16px}.trainings-scheduled-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.trainings-scheduled-chip{background:#f4f4f5;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 8px;font-size:11px;display:flex}.trainings-scheduled-title{font-weight:600}.trainings-scheduled-meta{color:#71717a}.trainings-scheduled-remove{color:#71717a;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:14px;line-height:1}.trainings-scheduled-remove:hover{color:#dc2626}.trainings-gap-action{text-align:center;width:48px}.training-modal-overlay{z-index:1200;background:#0f172a73;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.training-modal-card{background:#fff;border-radius:10px;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a40}.training-modal-header{color:#0f172a;background:#f1f5f9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.training-modal-header h2{margin:0;font-size:18px;font-weight:600}.training-modal-close{color:#334155;cursor:pointer;background:#e2e8f0;border:none;border-radius:8px;width:32px;height:32px;padding:0;font-size:22px;line-height:1}.training-modal-close:hover{background:#cbd5e1}.training-modal-body{padding:16px 18px 0;overflow-y:auto}.training-modal-template-field{border-bottom:1px solid #e2e8f0;margin-bottom:4px;padding-bottom:14px}.training-modal-template-field .training-modal-hint{margin-top:6px}.training-modal-section{background:#fff;border:1px solid #e4e4e7;border-radius:8px;margin-bottom:18px;padding:14px}.training-modal-section-title{align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:600;display:flex}.training-modal-section-icon{font-size:16px}.training-modal-field{color:#52525b;flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;display:flex}.training-modal-field input,.training-modal-field select,.training-modal-field textarea{color:#18181b;background:#fff;border:1px solid #d4d4d8;border-radius:6px;width:100%;min-height:34px;padding:7px 10px;font-size:13px}.training-duration-combo{grid-template-columns:minmax(72px,.7fr) auto minmax(0,1.3fr);align-items:center;gap:6px;display:grid}.training-duration-combo input,.training-duration-combo select{width:100%;min-width:0}.training-duration-combo-unit{color:#71717a;white-space:nowrap;font-size:11px;font-weight:600}.training-modal-field textarea{resize:vertical;min-height:72px}.training-modal-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.training-modal-grid-2{grid-template-columns:1fr}}.training-choice-chips{flex-wrap:wrap;gap:8px;display:flex}.training-choice-chip{cursor:pointer;color:#3f3f46;background:#fff;border:1px solid #d4d4d8;border-radius:999px;padding:6px 12px;font-size:12px}.training-choice-chip.is-selected{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.training-choice-chip.is-emphasis.is-selected{color:#6d28d9;background:#f5f3ff;border-color:#7c3aed}.training-modal-row{grid-template-columns:110px 1fr;align-items:start;gap:12px;margin-bottom:14px;display:grid}.training-modal-row-label{color:#3f3f46;padding-top:8px;font-size:12px;font-weight:600}.training-modal-date-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.training-modal-date-sep{color:#a1a1aa}.training-modal-hint{color:#71717a;margin:6px 0 0;font-size:11px;line-height:1.35}.training-modal-hint--urgency{margin-top:6px}.training-employee-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.training-employee-chip{background:#fafafa;border:1px solid #e4e4e7;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:12px;display:inline-flex}.training-employee-chip-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-flex}.training-employee-chip-remove{color:#71717a;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.training-employee-add{align-items:center;gap:6px;min-width:180px;display:flex}.training-employee-add select{border:1px solid #d4d4d8;border-radius:6px;flex:1;min-height:30px;padding:4px 8px;font-size:12px}.training-modal-warnings{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 12px;padding:10px 12px}.training-modal-warning-item{color:#b91c1c;align-items:flex-start;gap:8px;margin:0;font-size:12px;line-height:1.4;display:flex}.training-modal-warning-item+.training-modal-warning-item{margin-top:0}.training-modal-warning-icon{color:#fff;background:#ef4444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:1px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.training-modal-override{color:#3f3f46;cursor:pointer;border-top:1px solid #fecaca;align-items:flex-start;gap:8px;width:100%;margin:10px 0 0;padding-top:10px;font-size:12px;font-weight:500;line-height:1.4;display:flex}.training-modal-override input[type=checkbox]{accent-color:#dc2626;cursor:pointer;flex:none;width:16px;min-width:16px;height:16px;margin:1px 0 0;padding:0}.training-modal-override span{flex:auto;min-width:0}.training-modal-footer{background:#fafafa;border-top:1px solid #e4e4e7;justify-content:flex-end;gap:10px;padding:14px 18px 18px;display:flex}.project-progress-page .project-progress-toolbar{margin-bottom:0}.app-main:has(.project-progress-page){padding:12px 14px 16px}.app-main:has(.project-progress-page)>section.project-progress-page{flex-direction:column;gap:10px;display:flex}.project-progress-page .page-heading h2{color:#0f172a;font-size:20px;line-height:1.2}.project-progress-info-banner{color:#312e81;background:linear-gradient(135deg,#eef2ff 0%,#f5f3ff 100%);border:1px solid #c7d2fe;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.45}.project-progress-toolbar-filters{align-items:flex-end}.project-progress-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:96px;padding:6px 10px}.project-progress-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.project-progress-stat strong{color:#0f172a;margin-top:2px;font-size:18px;line-height:1.1;display:block}.project-progress-stat--approved{background:#f0fdf4;border-color:#bbf7d0}.project-progress-stat--approved strong{color:#047857}.project-progress-toolbar-actions{flex-wrap:wrap}.project-progress-guide{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.project-progress-guide-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.project-progress-guide-title{color:#0f172a;font-size:12px;font-weight:700}.project-progress-guide-text{color:#64748b;font-size:12px;line-height:1.4}.project-progress-guide-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-progress-guide-badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.project-progress-guide-badge--editable{color:#334155;background:#fff;border-color:#cbd5e1}.project-progress-guide-badge--total{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.project-progress-guide-badge--approved{color:#166534;background:#ecfdf5;border-color:#86efac}.project-progress-loading-hint{color:#64748b;margin:0;padding:4px 2px 0;font-size:12px}.project-progress-stage{flex-direction:column;gap:8px;width:100%;max-width:100%;display:flex}.project-progress-projects{flex-direction:column;gap:8px;display:flex}.project-progress-project{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;max-width:100%;padding:0;transition:box-shadow .15s,border-color .15s;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.project-progress-project.is-expanded{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a12}.project-progress-project-toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:linear-gradient(#fff 0%,#f8fafc 100%);border:0;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.project-progress-project-toggle:hover{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%)}.project-progress-project-toggle.is-expanded{border-bottom:1px solid #e2e8f0}.project-progress-toggle-leading{flex-shrink:0;align-items:center;gap:8px;padding-top:2px;display:inline-flex}.project-progress-chevron{border-bottom:2px solid #64748b;border-right:2px solid #64748b;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.project-progress-chevron.is-expanded{transform:rotate(45deg)}.project-progress-project-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.project-progress-project-title{color:#0f172a;font-size:14px;font-weight:600;line-height:1.3}.project-progress-project-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.project-progress-meta-pill{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.project-progress-meta-pill--approved{color:#166534;background:#dcfce7}.project-progress-meta-pill--team{color:#5b21b6;background:#ede9fe}.project-progress-status{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10px;font-weight:700}.project-progress-status--active{color:#0369a1}.project-progress-status--on-hold{color:#b45309}.project-progress-status--completed{color:#047857}.project-progress-color-swatch{border:1px solid #0f172a1f;border-radius:4px;flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #ffffff59}.project-progress-page .project-progress-project .project-progress-task-panel{background:#fff;border:0;margin:0}.project-progress-page .project-progress-table-scroll{overscroll-behavior:contain;background:#fff;max-height:min(58vh,520px);overflow:auto}.project-progress-page .project-progress-grid-table{--pde-section-header-height:34px;--pde-sticky-select-width:36px;--pde-sticky-task-width:200px;--pde-section-gap:8px;font-size:13px}.project-progress-page .project-progress-grid-table th,.project-progress-page .project-progress-grid-table td{padding:6px 8px;line-height:1.35}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header{color:#f8fafc;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;height:var(--pde-section-header-height);min-height:var(--pde-section-header-height);background:linear-gradient(#334155 0%,#1e293b 100%);border-color:#475569;padding:6px 10px;font-size:11px;font-weight:700}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header:hover{background:linear-gradient(#475569 0%,#334155 100%)}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header.section-boundary-start{background:linear-gradient(#4338ca 0%,#3730a3 100%);border-left-color:#6366f1}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header.section-boundary-start:hover{background:linear-gradient(#4f46e5 0%,#4338ca 100%)}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header-frozen{background:linear-gradient(#334155 0%,#1e293b 100%);box-shadow:2px 0 6px -2px #0f172a33}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-header-minimized{background:linear-gradient(#64748b 0%,#475569 100%)}.project-progress-page .project-progress-grid-table thead tr:nth-child(2) th{top:var(--pde-section-header-height);color:#334155;white-space:normal;vertical-align:middle;background:#f8fafc;border-bottom:2px solid #e2e8f0;height:auto;min-height:40px;padding:8px 6px;font-size:11px;font-weight:600}.project-progress-page .project-progress-grid-table thead tr:nth-child(2) th.select-col-checkbox-header,.project-progress-page .project-progress-grid-table thead tr:first-child th.select-col-header{background:#f1f5f9}.project-progress-page .project-progress-grid-table thead tr:nth-child(2) th.sticky-col-task-frozen,.project-progress-page .project-progress-grid-table thead tr:nth-child(2) th.sticky-col-task-name{background:#f8fafc;box-shadow:2px 0 6px -2px #0f172a14}.project-progress-page .project-progress-grid-table th.col-section-hour .project-task-field-header-label,.project-progress-page .project-progress-grid-table th.col-section-hour-wide .project-task-field-header-label{white-space:normal;color:#475569;text-wrap:balance;max-width:110px;margin:0 auto;font-size:10px;font-weight:600;line-height:1.3;display:block}.project-progress-page .project-progress-grid-table th.col-section-hour-wide .project-task-field-header-label{max-width:130px}.project-progress-page .project-progress-grid-table .col-section-hour{width:1%;min-width:100px}.project-progress-page .project-progress-grid-table .col-section-hour-wide{width:1%;min-width:120px}.project-progress-page .project-progress-grid-table .col-field-part_name{min-width:72px}.project-progress-page .project-progress-grid-table tbody tr{height:40px;transition:background-color .12s}.project-progress-page .project-progress-grid-table tbody tr:nth-child(2n){background:#fafbfc}.project-progress-page .project-progress-grid-table tbody tr:hover{background:#f1f5f9}.project-progress-page .project-progress-grid-table tbody tr:nth-child(2n):hover{background:#eef2f7}.project-progress-page .project-progress-grid-table tbody tr.project-progress-row-approved{background:#f0fdf4}.project-progress-page .project-progress-grid-table tbody tr.project-progress-row-approved:nth-child(2n){background:#ecfdf5}.project-progress-page .project-progress-grid-table tbody tr.project-progress-row-approved:hover{background:#dcfce7}.project-progress-page .project-progress-grid-table tbody tr.project-task-row-selected{background:#eef2ff}.project-progress-page .project-progress-grid-table tbody tr.project-task-row-selected:nth-child(2n){background:#e0e7ff}.project-progress-page .project-progress-grid-table tbody tr .sticky-col,.project-progress-page .project-progress-grid-table tbody tr .sticky-col-task-frozen,.project-progress-page .project-progress-grid-table tbody tr .sticky-col-task-name{background:inherit;box-shadow:2px 0 6px -2px #0f172a0f}.project-progress-page .project-progress-grid-table td.pde-field-source--manual,.project-progress-page .project-progress-grid-table td.pde-field-source--calculated,.project-progress-page .project-progress-grid-table td.pde-field-source--auto,.project-progress-page .project-progress-grid-table th.pde-field-source--manual,.project-progress-page .project-progress-grid-table th.pde-field-source--calculated,.project-progress-page .project-progress-grid-table th.pde-field-source--auto,.project-progress-page .project-progress-grid-table tbody tr:nth-child(2n) td.pde-field-source--manual,.project-progress-page .project-progress-grid-table tbody tr:nth-child(2n) td.pde-field-source--calculated,.project-progress-page .project-progress-grid-table tbody tr:nth-child(2n) td.pde-field-source--auto{background-color:#0000}.project-progress-page .project-progress-grid-table .task-col-input,.project-progress-page .project-progress-grid-table input:not([type=checkbox]){color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;height:28px;padding:0 4px;font-size:12px;transition:border-color .12s,box-shadow .12s}.project-progress-page .project-progress-grid-table .col-section-hour .task-col-input,.project-progress-page .project-progress-grid-table .col-section-hour-wide .task-col-input{text-align:center;width:48px;max-width:48px;margin:0 auto;padding:0 2px}.project-progress-page .project-progress-grid-table .col-num .task-col-input,.project-progress-page .project-progress-grid-table .col-field-sec_hrs_total .task-col-input{text-align:center;color:#334155;background:#f8fafc;border-color:#dbe3ee;width:48px;max-width:48px;margin:0 auto;padding:0 2px;font-weight:600}.project-progress-page .project-progress-grid-table .task-col-input:focus,.project-progress-page .project-progress-grid-table input:not([type=checkbox]):focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f124}.project-progress-page .project-progress-grid-table .pde-field-source--auto .task-col-input,.project-progress-page .project-progress-grid-table .pde-field-source--calculated .task-col-input{color:#334155;background:#f8fafc;border-color:#dbe3ee}.project-progress-page .project-progress-grid-table .dl-field-locked,.project-progress-page .project-progress-grid-table input.dl-field-locked{cursor:not-allowed;color:#64748b!important;background:#f1f5f9!important;border-color:#e2e8f0!important}.project-progress-page .project-progress-grid-table .col-field-task_name .task-col-input,.project-progress-page .project-progress-grid-table .col-field-task_name input{text-align:left;width:100%;max-width:none;box-shadow:none;cursor:default;background:0 0;border-color:#0000;font-weight:500}.project-progress-page .project-progress-grid-table .col-field-part_name .task-col-input,.project-progress-page .project-progress-grid-table .col-field-part_name input{text-align:left;color:#64748b;width:100%;box-shadow:none;cursor:default;background:0 0;border-color:#0000}.project-progress-page .project-progress-grid-table .col-check{text-align:center}.project-progress-page .project-progress-grid-table .col-check input[type=checkbox]{accent-color:#059669;cursor:pointer;width:16px;height:16px}.project-progress-page .project-progress-grid-table .col-check input[type=checkbox].dl-field-locked{cursor:not-allowed;opacity:.5}.project-progress-page .project-progress-grid-table th.section-boundary-start,.project-progress-page .project-progress-grid-table td.section-boundary-start{border-left:var(--pde-section-gap) solid #e8edf3}.project-progress-page .project-progress-grid-table thead tr:first-child th.section-boundary-start.section-header{border-left-color:#818cf8}.project-progress-page .project-progress-grid-table th.col-num,.project-progress-page .project-progress-grid-table td.col-num,.project-progress-page .project-progress-grid-table th.col-section-hour,.project-progress-page .project-progress-grid-table td.col-section-hour,.project-progress-page .project-progress-grid-table th.col-section-hour-wide,.project-progress-page .project-progress-grid-table td.col-section-hour-wide,.project-progress-page .project-progress-grid-table th.col-check,.project-progress-page .project-progress-grid-table td.col-check{text-align:center}
