:root{color-scheme:light;font-family:var(--opsys-font);color:var(--opsys-text);background:var(--opsys-bg);--opsys-green: var(--opsys-accent);--opsys-green-dark: var(--opsys-accent-dark);--line: var(--opsys-line);--muted: var(--opsys-muted);--panel: var(--opsys-panel);--danger: var(--opsys-danger);--warning: var(--opsys-warning)}*{box-sizing:border-box}body{margin:0;background:var(--opsys-bg)}button,input,select,textarea{font:inherit}.loading,.login-shell{min-height:100vh;display:grid;place-items:center}.login-shell{background:var(--opsys-bg)}.login-panel{width:min(420px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:24px;box-shadow:var(--opsys-shadow)}.login-panel form,.stack{display:grid;gap:18px}label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}input,select,textarea{width:100%;border:1px solid var(--opsys-line);border-radius:var(--opsys-radius-xs);padding:8px 10px;color:var(--opsys-text);background:var(--panel);min-height:34px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--opsys-accent),transparent 74%);outline-offset:1px}.primary-button{border:0;border-radius:var(--opsys-radius-sm);background:var(--opsys-green);color:#11150f;font-weight:850;min-height:34px;padding:7px 11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.form-error,.danger{color:var(--danger)}.app-shell{min-height:100vh;height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:var(--opsys-bg);color:var(--opsys-text)}.sidebar{border-right:1px solid var(--line);background:var(--panel);padding:12px;display:grid;grid-template-rows:auto 1fr auto;gap:12px;box-shadow:var(--opsys-shadow)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand.large{display:grid;justify-items:start;gap:8px;margin-bottom:24px}.brand-logo{width:126px;height:auto;display:block;flex:0 0 auto}.brand-mark-img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}.login-logo{width:min(210px,72%)}.brand strong,.brand span{display:block}.brand span{font-size:12px;font-weight:800;text-transform:uppercase}.brand strong{color:var(--opsys-text);font-size:17px;line-height:1.1;font-weight:850}.brand span,.workspace-header p,.user-panel small,.project-meta,.project-bottom,.config-list span{color:var(--muted)}nav{display:grid;gap:5px;align-content:start}nav button,.icon-button{border:0;background:transparent;cursor:pointer}nav button{min-height:36px;display:flex;align-items:center;gap:10px;border-radius:var(--opsys-radius-sm);color:var(--opsys-text);padding:8px 10px;font-weight:750}nav button.active,nav button:hover{background:var(--opsys-accent-soft);color:var(--opsys-green-dark)}.user-panel{border-top:1px solid var(--line);padding-top:16px;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.user-panel span,.user-panel small{min-width:0;overflow-wrap:anywhere}.icon-button{width:36px;height:36px;border-radius:var(--opsys-radius-sm);display:grid;place-items:center;color:var(--opsys-text)}.workspace{min-width:0;padding:14px;overflow:auto}.workspace-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:14px}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.15}h2{font-size:15px;margin-bottom:8px}h3{font-size:17px;margin-top:4px}.warning-pill,.health{border:1px solid var(--warning);color:var(--warning);border-radius:999px;padding:5px 9px;font-weight:750;font-size:12px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px}.metric,.project-card,.side-rail,.admin-table,.task-table,.panel-skeleton{background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md)}.metric{min-height:76px;padding:10px;display:grid;gap:4px;background:var(--opsys-card)}.metric svg{color:var(--opsys-green)}.metric.warning svg{color:var(--warning)}.metric span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.metric strong{font-size:23px;line-height:1}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}.workspace-band{min-width:0}.workspace-secondary{align-items:start}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:8px}.section-heading p{color:var(--muted);font-size:13px;margin-top:4px}.card-list{display:grid;gap:8px}.project-card{padding:11px;display:grid;gap:8px;background:var(--opsys-card);transition:background-color .15s ease,border-color .15s ease}.project-card:hover{background:var(--opsys-card-hover);border-color:color-mix(in srgb,var(--opsys-accent),var(--opsys-line) 64%)}.project-card-top,.project-bottom{display:flex;align-items:start;justify-content:space-between;gap:12px}.project-card-controls{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px}.compact-toggle{width:24px;height:24px;border:1px solid var(--opsys-line);background:var(--panel)}.project-card.collapsed.compact{padding:6px 7px;gap:0}.project-card.collapsed.compact .project-card-top{align-items:center}.project-card.collapsed.compact h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.16;margin-top:1px}.project-card.collapsed.compact .health{padding:2px 6px;font-size:10px}.project-card.expanded.compact{padding:7px}.open-project-button{justify-self:end}.reference{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;color:var(--muted);font-size:12px}.project-meta,.project-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:13px}.project-meta.two{grid-template-columns:1fr 1fr}.progress-line{height:8px;border-radius:999px;background:var(--opsys-accent-soft);overflow:hidden}.progress-line span{display:block;height:100%;background:var(--opsys-green)}.side-rail{padding:11px;display:grid;gap:8px}.attention-row,.capacity-row,.config-list{display:grid;gap:2px;border-bottom:1px solid color-mix(in srgb,var(--opsys-line),white 44%);padding-bottom:7px}.attention-row span,.capacity-row small{color:var(--muted)}meter{width:100%;height:10px}.task-table,.admin-table{overflow:auto}.task-row,.admin-row{min-width:780px;display:grid;grid-template-columns:100px 1fr 120px 100px 120px 80px;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--opsys-line),white 44%)}.admin-row{grid-template-columns:180px 220px minmax(240px,1fr) 90px 90px}.editable-row{display:block;min-width:780px}.editable-row summary{display:grid;grid-template-columns:minmax(180px,1fr) 110px 180px 100px 90px;gap:12px;align-items:center;cursor:pointer;list-style:none}.editable-row summary::-webkit-details-marker{display:none}.customer-row{grid-template-columns:minmax(180px,1fr) 110px 180px 100px 90px}.user-row summary{grid-template-columns:180px 220px minmax(240px,1fr) 90px 90px}.task-row:last-child,.admin-row:last-child{border-bottom:0}.panel-skeleton{padding:24px;color:var(--muted)}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:10px;align-items:start}.view-action-row{display:flex;justify-content:flex-end}.board-column{min-height:70vh;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--opsys-panel-2);padding:10px}.customer-project-board{min-height:72vh}.risk-register-panel,.recent-time-panel{display:grid;gap:7px}.risk-register-list{display:grid;gap:6px}.risk-register-row{border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--panel)}.risk-register-row summary{display:grid;grid-template-columns:76px minmax(180px,1.5fr) minmax(120px,.7fr) minmax(130px,.8fr) 18px;align-items:center;gap:9px;min-height:38px;padding:7px 9px;cursor:pointer;list-style:none}.risk-register-row summary::-webkit-details-marker{display:none}.risk-register-row summary>span:not(.risk-register-type){color:var(--muted);font-size:11px}.risk-register-row[open] summary svg{transform:rotate(180deg)}.risk-register-type{display:inline-flex;justify-content:center;width:fit-content;min-width:52px;border:1px solid var(--warning);border-radius:999px;padding:2px 6px;color:var(--warning);font-size:10px;font-weight:800}.risk-register-type.issue{border-color:var(--danger);color:var(--danger)}.risk-register-detail{display:grid;gap:8px;padding:8px 9px 10px;border-top:1px solid color-mix(in srgb,var(--opsys-line),white 42%);color:var(--muted);font-size:12px}.risk-register-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;margin:0}.risk-register-detail dl div{display:grid;gap:1px}.risk-register-detail dt{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.risk-register-detail dd{margin:0;color:var(--opsys-text)}.large-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;align-items:start}.large-board-column{min-height:72vh;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--opsys-panel-2);padding:10px}.large-board-column h2{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:10px}.large-board-column h2 span{color:var(--muted);font-size:12px;font-weight:800;border:1px solid var(--opsys-line);border-radius:999px;padding:2px 8px}.compact-form,.inline-form{display:grid;gap:7px}.inline-form{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:9px}.inline-form textarea,.inline-form .primary-button{grid-column:span 2}.row-editor{margin-top:8px}.row-editor .form-error{grid-column:1 / -1}.project-edit-form label,.admin-user-editor label,.password-reset-form label{font-size:12px}.project-edit-form textarea,.project-edit-form .form-error,.project-edit-form .primary-button,.admin-user-editor .role-picker,.admin-user-editor .form-error{grid-column:span 2}.password-reset-form{grid-template-columns:minmax(180px,1fr) 220px 130px}.delete-user-panel{margin-top:6px;display:grid;gap:6px;justify-items:start}.delete-impact{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:6px;align-items:end;padding:7px;border:1px solid color-mix(in srgb,var(--opsys-danger),white 68%);border-radius:var(--opsys-radius-sm);background:color-mix(in srgb,var(--opsys-danger),white 94%)}.delete-impact>strong{grid-column:1 / -1;color:var(--opsys-danger)}.delete-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:4px 8px;color:var(--muted);font-size:11px}.tool-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:9px}.tool-panel summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:750}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(236px,260px);gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-gutter:stable;overscroll-behavior-inline:contain}.kanban-column{min-height:240px;max-height:min(68vh,760px);overflow-y:auto;background:var(--opsys-panel-2);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:7px;display:grid;gap:6px;align-content:start}.kanban-column h3{border-left:4px solid var(--opsys-green);padding-left:8px;min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px;position:sticky;top:-9px;z-index:1;background:var(--opsys-panel-2);padding-top:7px;padding-bottom:7px}.kanban-column-title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-column h3 .kanban-count{color:var(--muted);font-size:12px;font-weight:700;border:1px solid var(--opsys-line);border-radius:999px;padding:2px 7px}.kanban-column-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.kanban-column-actions .icon-button{width:22px;height:22px;border:1px solid var(--opsys-line);background:var(--panel)}.kanban-column-actions .icon-button:disabled{opacity:.35;cursor:not-allowed}.task-card{background:var(--opsys-card);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:8px;display:grid;gap:6px;min-width:0}.task-card p,.task-card small{color:var(--muted);font-size:12px;line-height:1.35}.task-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;overflow-wrap:anywhere}.task-percent{flex:0 0 auto;border:1px solid var(--opsys-line);border-radius:999px;color:var(--opsys-text);font-size:12px;font-weight:800;padding:3px 7px}.task-chip-row{display:flex;flex-wrap:wrap;gap:4px}.task-chip-row span{max-width:100%;border:1px solid color-mix(in srgb,var(--opsys-line),white 44%);border-radius:999px;background:var(--opsys-panel-2);color:var(--muted);font-size:11px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;align-items:center}.task-actions>select{grid-column:1 / -1;min-height:34px;padding:7px 9px;font-size:12px}.task-actions details{min-width:0}.task-actions summary{display:block;text-align:center;list-style:none}.task-actions summary::-webkit-details-marker{display:none}.task-edit-form,.mini-form{display:grid;gap:6px;margin-top:7px}.task-edit-form{grid-column:1 / -1}.task-edit-form input,.task-edit-form select,.task-edit-form textarea,.mini-form input,.mini-form select{min-height:32px;padding:7px 8px;font-size:12px}.role-picker{max-height:190px;overflow:auto;border:1px solid color-mix(in srgb,var(--opsys-line),white 44%);border-radius:var(--opsys-radius-md);padding:8px;display:grid;gap:6px}.validation-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);padding:11px}.validation-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.validation-card{min-height:108px;border:1px solid color-mix(in srgb,var(--opsys-line),white 44%);border-radius:var(--opsys-radius-md);padding:9px;display:grid;gap:4px;background:var(--opsys-card)}.toolbar-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.config-editor{display:grid;gap:8px}.config-editor details{border:1px solid color-mix(in srgb,var(--opsys-line),white 44%);border-radius:var(--opsys-radius-md);background:var(--opsys-panel-2);padding:7px}.config-editor summary{cursor:pointer;font-weight:800;color:var(--opsys-text);list-style:none}.config-editor summary::-webkit-details-marker{display:none}.config-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;margin-top:7px}.config-editor-row.tall{grid-template-columns:minmax(0,1fr) 38px 62px repeat(5,auto) auto}.config-editor-row input,.config-editor-row select{min-height:30px;padding:6px 7px;font-size:12px}.config-editor-row input[type=color]{width:36px;padding:2px}.config-editor-row .checkbox-label{font-size:11px;white-space:nowrap}.wip-settings-form{gap:8px}.wip-settings-form input{min-height:30px;padding:6px 7px;font-size:12px}.admin-integration-panel{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--panel)}.admin-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--opsys-line);padding:0 2px}.admin-tab{flex:0 0 auto;border:1px solid transparent;border-bottom:0;border-radius:var(--opsys-radius-sm) var(--opsys-radius-sm) 0 0;background:transparent;color:var(--opsys-muted);padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.admin-tab:hover{background:var(--opsys-card-hover);color:var(--opsys-text)}.admin-tab.active{border-color:var(--opsys-line);background:var(--panel);color:var(--opsys-green-dark)}.admin-tab-workspace{display:grid;gap:8px;min-width:0}.admin-tool-panel{display:grid;gap:9px}.admin-tool-panel h2{display:flex;align-items:center;gap:6px}.admin-integration-heading{align-items:start;margin-bottom:0}.admin-integration-heading h2{display:flex;align-items:center;gap:6px}.admin-integration-heading p,.wip-form-section .muted{color:var(--muted);font-size:11px}.health.green{border-color:color-mix(in srgb,var(--opsys-green),white 32%);color:var(--opsys-green-dark)}.health.amber{border-color:var(--warning);color:var(--warning)}.wip-form-section{display:grid;gap:6px;padding:8px;border:1px solid color-mix(in srgb,var(--opsys-line),white 42%);border-radius:var(--opsys-radius-sm);background:var(--opsys-card)}.wip-form-section h3{margin:0;font-size:12px}.wip-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:6px;align-items:end}.wip-form-grid .checkbox-label{align-self:end;min-height:30px}.wip-form-grid label small{color:var(--muted);font-weight:650;text-transform:none}.wip-rule-grid,.wip-preview-list{display:grid;gap:6px}.wip-rule-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:6px;align-items:center}.wip-rule-row input[type=number]{min-width:0}.wip-panel .toolbar-row{margin-top:8px}.itquoter-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.wip-preview-list{max-height:250px;overflow:auto;margin-top:8px;border-top:1px solid color-mix(in srgb,var(--opsys-line),white 44%);padding-top:7px}.integration-result{margin:0;padding:7px 8px;border:1px solid var(--opsys-line);border-radius:var(--opsys-radius-sm);font-size:12px}.integration-result.success,.wip-model-result.eligible{border-color:color-mix(in srgb,var(--opsys-green),white 34%);color:var(--opsys-green-dark);background:var(--opsys-accent-soft)}.integration-result.failure,.wip-model-result.ineligible{border-color:color-mix(in srgb,var(--warning),white 34%);color:var(--warning);background:color-mix(in srgb,var(--warning),white 94%)}.wip-model-section{display:grid;gap:7px;padding:8px;border:1px solid color-mix(in srgb,var(--opsys-line),white 42%);border-radius:var(--opsys-radius-sm);background:var(--opsys-card)}.wip-model-section h3{margin:0;font-size:12px}.wip-model-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:6px}.wip-model-result{display:grid;gap:5px;padding:8px;border:1px solid var(--opsys-line);border-radius:var(--opsys-radius-sm);font-size:12px}.wip-model-result span{color:var(--opsys-text)}.wip-model-result details{color:var(--opsys-text)}.wip-model-result summary{cursor:pointer;font-weight:750}.wip-model-result pre{max-height:260px;margin:6px 0 0;overflow:auto;padding:8px;border-radius:var(--opsys-radius-xs);background:#182126;color:#eef8e7;font-size:11px;line-height:1.35}.wip-model-push{justify-self:start}.wip-model-result .integration-result a{color:inherit;font-weight:800}.validation-card span,.validation-card small{color:var(--muted)}.heatmap-row{display:grid;gap:4px;border-bottom:1px solid color-mix(in srgb,var(--opsys-line),white 44%);padding-bottom:7px}.heatmap-track{height:12px;border-radius:999px;background:var(--opsys-accent-soft);overflow:hidden}.heatmap-track span{display:block;min-width:4px;max-width:100%;height:100%;background:var(--opsys-green)}.heatmap-track span.over{background:var(--warning)}.project-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.text-button{border:1px solid var(--opsys-line);border-radius:var(--opsys-radius-sm);background:var(--panel);color:var(--opsys-text);cursor:pointer;min-height:30px;padding:6px 8px;font-size:12px;font-weight:800;white-space:nowrap}.text-button:hover{border-color:color-mix(in srgb,var(--opsys-accent),var(--opsys-line) 62%);background:var(--opsys-card-hover);color:var(--opsys-accent-dark)}.danger-action{border-color:color-mix(in srgb,var(--opsys-danger),white 64%);color:var(--danger)}.checklist{display:grid;gap:4px}.checklist label,.checkbox-label{display:flex;grid-template-columns:none;align-items:center;gap:8px;font-weight:500;color:var(--opsys-text);font-size:12px;text-transform:none}.checklist input,.checkbox-label input{width:auto}.gantt,.gantt-chart{background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);overflow:auto}.gantt-chart{display:grid;gap:0}.gantt-scale{min-width:820px;display:grid;gap:0;align-items:center;border-bottom:1px solid var(--line);background:var(--opsys-panel-2);position:sticky;top:0;z-index:2}.gantt-scale span{min-height:38px;display:flex;align-items:center;border-right:1px solid color-mix(in srgb,var(--opsys-line),white 44%);padding:8px 10px;color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap}.gantt-chart-row{min-width:820px;display:grid;grid-template-columns:190px minmax(520px,1fr) 190px;gap:12px;align-items:center;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--opsys-line),white 44%)}.gantt-task-label{display:grid;gap:2px;min-width:0}.gantt-task-label strong,.gantt-task-label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-task-label small,.gantt-chart-row>small,.gantt-links span{color:var(--muted);font-size:12px}.gantt-track{position:relative;height:34px;border-radius:6px;background:repeating-linear-gradient(to right,var(--opsys-panel-2) 0,var(--opsys-panel-2) 53px,color-mix(in srgb,var(--opsys-line),white 44%) 54px);border:1px solid color-mix(in srgb,var(--opsys-line),white 44%);overflow:hidden}.gantt-task-bar{position:absolute;top:8px;min-width:10px;height:16px;border-radius:999px;background:var(--opsys-accent-soft);border:1px solid color-mix(in srgb,var(--opsys-accent),transparent 54%);overflow:hidden;cursor:grab}.gantt-task-bar:active{cursor:grabbing}.gantt-task-bar span{display:block;height:100%;background:var(--opsys-green)}.gantt-task-bar.milestone{width:16px!important;min-width:16px;transform:rotate(45deg);border-radius:3px}.gantt-task-bar.milestone span{display:none}.global-search{position:relative;display:grid;grid-template-columns:18px minmax(220px,320px);align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--opsys-line);border-radius:6px;background:var(--opsys-panel)}.global-search input{border:0;background:transparent;min-width:0;outline:0}.search-results{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(420px,88vw);max-height:420px;overflow:auto;display:grid;gap:4px;padding:6px;border:1px solid var(--opsys-line);border-radius:6px;background:var(--opsys-panel);box-shadow:0 16px 42px #10182829}.search-results button{display:grid;grid-template-columns:76px 1fr;gap:2px 8px;text-align:left;padding:8px;border:0;border-radius:4px;background:transparent}.search-results button:hover{background:var(--opsys-panel-2)}.search-results small{grid-column:2}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--opsys-line);border-radius:999px;background:var(--opsys-panel);color:var(--opsys-text);font-size:.74rem}.attachment-panel{display:grid;gap:8px}.attachment-panel h2{display:flex;align-items:center;gap:6px}.attachment-panel.compact h2{font-size:.8rem;margin-top:8px}.attachment-row{display:grid;gap:2px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--opsys-line),white 36%);border-radius:5px;background:var(--opsys-panel-2)}.attachment-row span{font-size:.76rem;color:var(--opsys-muted)}.attachment-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.attachment-upload.compact{grid-template-columns:1fr}.file-picker{display:grid;gap:4px;color:var(--opsys-muted);font-size:11px;font-weight:750}.file-picker input[type=file]{width:100%;min-width:0;padding:4px 6px;font-size:11px}.selected-file{grid-column:1 / -1;color:var(--opsys-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-upload .form-error{grid-column:1 / -1;margin:0}.attachment-download{justify-self:start;text-decoration:none}.attachment-list{display:grid;gap:6px;max-height:42vh;overflow:auto;padding-right:2px}.gantt-links,.dependency-list{display:grid;gap:8px;padding:12px}.gantt-links{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:1px solid color-mix(in srgb,var(--opsys-line),white 44%)}.gantt-row{min-width:760px;display:grid;grid-template-columns:110px 1fr 220px 220px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--opsys-line),white 44%)}.gantt-bar{height:14px;border-radius:999px;background:var(--opsys-accent-soft);overflow:hidden}.gantt-bar span{display:block;height:100%;background:var(--opsys-green)}body{font-size:13px;line-height:1.24}.app-shell{grid-template-columns:196px minmax(0,1fr)}.sidebar{padding:8px;gap:8px}.brand{gap:7px}.brand-logo{width:112px}nav{gap:2px}nav button{min-height:30px;gap:7px;padding:6px 7px;font-size:13px}nav button svg,.global-search svg,.tool-panel summary svg{width:15px;height:15px}.user-panel{padding-top:9px;gap:2px 7px}.icon-button{width:30px;height:30px}.workspace{padding:9px 11px}.workspace-header{gap:12px;margin-bottom:8px}h1{font-size:18px;line-height:1.08}h2{font-size:13px;margin-bottom:5px}h3{font-size:13px}.workspace-header p,.section-heading p{font-size:12px;margin-top:2px}.stack{gap:10px}.content-grid{grid-template-columns:minmax(0,1fr) 300px;gap:8px}.project-workspace-header{gap:8px}.project-card{padding:8px;gap:5px}.project-card.compact{min-height:0}.project-card.collapsed.compact{padding:5px 6px}.project-card.expanded.compact{padding:6px;gap:4px}.project-card-top,.project-bottom{gap:8px}.project-card-top h3{overflow-wrap:anywhere}.project-card-controls{gap:4px}.compact-toggle{width:22px;height:22px}.reference{font-size:10px}.project-meta,.project-bottom{gap:5px;font-size:12px}.project-card.compact .project-meta{grid-template-columns:1fr 1fr;font-size:11px}.project-card.compact .project-bottom{grid-template-columns:repeat(2,minmax(0,1fr));font-size:11px}.project-card.compact .open-project-button{min-height:24px;padding:3px 7px}.progress-line{height:6px}.health,.warning-pill{padding:3px 7px;font-size:11px}.toolbar-row{gap:4px}label{gap:3px;font-size:10px}input,select,textarea{min-height:28px;padding:5px 7px;font-size:12px}textarea{min-height:48px}.primary-button{min-height:28px;padding:5px 9px;gap:6px}.text-button{min-height:26px;padding:4px 7px;font-size:11px}.inline-form{gap:5px 6px;padding:6px;grid-template-columns:repeat(4,minmax(105px,1fr))}.compact-form{gap:5px}.project-edit-form label,.admin-user-editor label,.password-reset-form label{font-size:10px}.tool-panel{padding:6px}.tool-panel summary{gap:6px;font-size:13px;line-height:1.1}.section-heading{gap:10px;margin-bottom:5px}.side-rail{padding:8px;gap:6px}.attention-row,.capacity-row,.config-list,.heatmap-row{padding-bottom:5px}.metric-grid{gap:6px}.metric{min-height:58px;padding:8px;gap:2px}.metric strong{font-size:19px}.metric span{font-size:10px}.kanban{grid-auto-columns:minmax(216px,238px);gap:6px;padding-bottom:8px}.kanban-column{padding:5px;gap:5px}.kanban-column h3{min-height:24px;padding:5px 0 5px 6px;top:-6px;font-size:12px}.kanban-column h3 .kanban-count{font-size:10px;padding:1px 6px}.kanban-column-actions .icon-button{width:20px;height:20px}.task-card{padding:6px;gap:5px}.task-card p,.task-card small{font-size:11px;line-height:1.25}.task-title{font-size:12px;line-height:1.18}.task-percent{font-size:10px;padding:2px 6px}.task-chip-row{gap:3px}.task-chip-row span,.tag-chip{font-size:10px;padding:1px 5px}.task-actions{gap:4px}.task-actions>select{min-height:28px;padding:5px 7px;font-size:11px}.task-edit-form,.mini-form{gap:4px;margin-top:5px}.task-edit-form input,.task-edit-form select,.task-edit-form textarea,.mini-form input,.mini-form select{min-height:27px;padding:5px 6px;font-size:11px}.checkbox-label,.checklist label{gap:6px;font-size:11px}.task-card.task-tile{min-height:34px;padding:0;gap:0;overflow:hidden;border-radius:var(--opsys-radius-sm);cursor:grab}.task-card.task-tile:active{cursor:grabbing}.task-tile-open{width:100%;min-width:0;min-height:34px;display:block;overflow:hidden;padding:7px 8px;border:0;background:transparent;color:var(--opsys-text);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.task-tile-open:hover,.task-tile-open:focus-visible{background:var(--opsys-accent-soft)}.task-tile-open strong{display:block;overflow:hidden;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.task-dialog-backdrop{padding-top:4vh}.task-detail-dialog{width:min(1080px,calc(100vw - 36px));max-height:92vh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--panel);box-shadow:0 24px 70px #10182840}.task-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:13px 14px 10px;border-bottom:1px solid var(--line)}.task-dialog-header>div{min-width:0}.task-dialog-header h2,.task-dialog-header p{margin:0}.task-dialog-header h2{margin-top:2px;font-size:18px;line-height:1.2}.task-dialog-header p{max-width:760px;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.task-dialog-summary{display:grid;grid-template-columns:minmax(140px,1.1fr) repeat(5,minmax(90px,1fr));gap:0;border-bottom:1px solid var(--line);background:var(--opsys-panel-2)}.task-dialog-summary>div,.task-dialog-summary>label{min-width:0;min-height:54px;display:grid;align-content:center;gap:2px;margin:0;padding:7px 10px;border-right:1px solid var(--line)}.task-dialog-summary>:last-child{border-right:0}.task-dialog-summary span,.task-dialog-summary label{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.task-dialog-summary strong{overflow:hidden;color:var(--opsys-text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.task-dialog-summary select{min-height:28px;padding:4px 7px;font-size:11px;text-transform:none}.task-dialog-error{margin:7px 12px 0}.task-dialog-content{min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);overflow:auto}.task-dialog-edit,.task-dialog-activity{min-width:0;padding:12px}.task-dialog-edit{border-right:1px solid var(--line)}.task-dialog-edit h3,.task-dialog-activity h3,.task-activity-section h4{margin:0}.task-dialog-edit h3,.task-dialog-activity h3{margin-bottom:8px;font-size:13px}.task-dialog-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:7px}.task-field-wide{grid-column:1 / -1}.task-exception-flags,.task-dialog-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.task-dialog-form-actions{padding-top:3px}.task-dialog-activity{display:grid;align-content:start;gap:9px;background:color-mix(in srgb,var(--opsys-panel-2),white 55%)}.task-activity-section{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--panel)}.task-activity-section>summary{cursor:pointer;font-size:11px;font-weight:850}.task-activity-section h4{font-size:11px}.task-comment-list{display:grid;gap:5px;max-height:150px;overflow:auto}.task-comment-list>div{display:grid;gap:1px;padding:5px 6px;border-left:2px solid var(--opsys-accent);background:var(--opsys-panel-2);font-size:10px}.task-comment-list span,.task-activity-section small{color:var(--muted)}.task-dialog-activity .mini-form{grid-template-columns:minmax(0,1fr) auto}.task-dialog-activity details .mini-form{margin-top:6px}@media(max-width:850px){.task-dialog-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.task-dialog-summary>:nth-child(3){border-right:0}.task-dialog-content{grid-template-columns:1fr}.task-dialog-edit{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:560px){.task-detail-dialog{width:calc(100vw - 18px)}.task-dialog-summary,.task-dialog-edit-form{grid-template-columns:1fr}.task-dialog-summary>div,.task-dialog-summary>label{min-height:44px;border-right:0;border-bottom:1px solid var(--line)}.task-field-wide{grid-column:auto}}.global-search{grid-template-columns:16px minmax(190px,270px);gap:5px;padding:4px 6px;border-radius:5px}.global-search input{min-height:24px;font-size:12px}.search-results{top:calc(100% + 4px);padding:4px}.search-results button{grid-template-columns:64px 1fr;padding:6px;font-size:12px}.gantt-scale span{min-height:28px;padding:5px 7px;font-size:11px}.gantt-chart-row{grid-template-columns:170px minmax(500px,1fr) 165px;gap:8px;padding:5px 7px}.gantt-task-label small,.gantt-chart-row>small,.gantt-links span{font-size:11px}.gantt-track{height:26px}.gantt-task-bar{top:6px;height:12px}.gantt-links,.dependency-list{gap:5px;padding:7px}.attachment-panel{gap:5px}.attachment-row{padding:5px 6px}.attachment-row span{font-size:10px}.quick-create-button{min-width:118px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:start center;padding:7vh 18px 18px;background:#11182747}.project-wizard{width:min(920px,calc(100vw - 36px));max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);box-shadow:0 20px 60px #10182833;padding:10px}.action-dialog{width:min(560px,calc(100vw - 36px));max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--opsys-radius-md);box-shadow:0 20px 60px #10182833;padding:10px}.action-dialog h2{display:flex;align-items:center;gap:6px}.wizard-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:9px}.wizard-header p{color:var(--muted);font-size:12px;margin-top:2px}.wizard-step{display:flex;align-items:center;gap:6px;margin:8px 0 6px;color:var(--opsys-text);font-size:12px;font-weight:850}.wizard-step span{width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:var(--opsys-accent-soft);color:var(--opsys-green-dark);font-size:11px}.project-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-type-option{min-height:62px;border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--opsys-card);color:var(--opsys-text);text-align:left;padding:8px;cursor:pointer;display:grid;gap:3px}.project-type-option small{color:var(--muted);font-size:11px;line-height:1.25}.project-type-option.active{border-color:color-mix(in srgb,var(--opsys-accent),var(--opsys-line) 25%);background:var(--opsys-accent-soft)}.wizard-form-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:6px}.wizard-wide{grid-column:1 / -1}.wizard-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--opsys-line),white 42%)}button:disabled{cursor:not-allowed;opacity:.58}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;grid-template-columns:1fr;grid-template-rows:auto auto auto}nav{grid-template-columns:repeat(3,minmax(0,1fr))}nav button{justify-content:center}.metric-grid,.content-grid,.board-grid,.large-board,.project-workspace-header{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr 1fr}.password-reset-form,.validation-grid{grid-template-columns:1fr}.kanban{grid-auto-columns:minmax(245px,82vw)}.workspace{padding:18px}.project-type-grid,.wizard-form-grid{grid-template-columns:1fr}.risk-register-row summary{grid-template-columns:76px minmax(0,1fr) auto 18px}.risk-register-row summary>span:nth-of-type(3){display:none}.wip-model-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){nav button span{display:none}.workspace-header{display:grid}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-meta,.project-bottom,.risk-register-detail dl{grid-template-columns:1fr 1fr}.wip-model-form{grid-template-columns:1fr}}.report-module{max-width:1500px;margin:0 auto}.report-toolbar{display:grid;grid-template-columns:auto minmax(210px,300px) minmax(240px,1fr) auto;gap:8px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--panel)}.report-level-switch{display:inline-flex;align-self:end;padding:3px;border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--opsys-panel-2)}.report-level-switch button{min-height:28px;padding:5px 9px;border:0;border-radius:var(--opsys-radius-xs);background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.report-level-switch button.active{background:var(--opsys-accent-soft);color:var(--opsys-accent-dark)}.report-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:34px}.report-live-indicator{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.report-live-indicator>span{width:7px;height:7px;border-radius:50%;background:var(--opsys-green)}.report-placeholder{min-height:330px;display:grid;place-items:center;align-content:center;gap:7px;padding:32px;border:1px dashed var(--line);border-radius:var(--opsys-radius-md);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--panel),transparent 20%)}.report-placeholder h2{color:var(--opsys-text);font-size:18px}.report-placeholder p{max-width:700px;line-height:1.45}.program-placeholder-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;width:min(760px,100%);margin-top:12px}.program-placeholder-metrics span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--panel)}.program-placeholder-metrics strong{color:var(--opsys-text);font-size:18px}.delivery-report{--opsys-report-font: "PT Sans", "Segoe UI", Arial, sans-serif;overflow:hidden;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--panel);box-shadow:var(--opsys-shadow);font-family:var(--opsys-report-font)}.report-cover-header{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(420px,1fr);gap:20px;padding:18px;border-bottom:1px solid var(--line)}.report-cover-header h2{margin:3px 0 2px;font-size:23px}.report-cover-header p{color:var(--muted)}.report-eyebrow{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.report-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.report-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:750}.report-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:0}.report-meta-grid div{min-width:0}.report-meta-grid dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.report-meta-grid dd{margin:2px 0 0;overflow-wrap:anywhere;font-weight:650}.report-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--opsys-panel-2)}.report-stat{min-width:0;display:grid;gap:3px;padding:12px 16px;border-right:1px solid var(--line)}.report-stat:last-child{border-right:0}.report-stat>span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.report-stat>strong{overflow-wrap:anywhere;font-size:17px}.report-stat>small{color:var(--muted)}.report-content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);align-items:start}.report-main-column,.report-side-column{min-width:0;display:grid;align-content:start;gap:18px;padding:16px}.report-side-column{border-left:1px solid var(--line);background:var(--opsys-panel-2)}.report-section{min-width:0;display:grid;gap:8px}.report-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:5px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 26%)}.report-section-heading h3{margin:0;font-size:14px}.report-section-heading>span{color:var(--muted);font-size:10px;white-space:nowrap}.report-summary{display:grid;gap:7px;padding:10px 12px;border-left:3px solid var(--opsys-green);border-radius:0 var(--opsys-radius-sm) var(--opsys-radius-sm) 0;background:var(--opsys-accent-soft);line-height:1.4}.report-summary p:last-child{color:var(--muted);font-size:12px}.report-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--opsys-radius-sm)}.report-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.report-risk-table{min-width:900px}.report-table th,.report-table td{padding:8px 9px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 20%);text-align:left;vertical-align:top}.report-table th{color:var(--muted);background:var(--opsys-panel-2);font-size:10px;font-weight:800;text-transform:uppercase}.report-table tr:last-child td{border-bottom:0}.report-table td>span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.report-status-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--muted);vertical-align:1px}.report-status-dot.success{background:var(--opsys-green)}.report-status-dot.warning{background:var(--warning)}.report-status-dot.danger{background:var(--danger)}.report-empty{padding:9px;border:1px dashed var(--line);border-radius:var(--opsys-radius-sm);color:var(--muted)}.report-attention-list{display:grid;gap:7px}.report-attention-item{display:grid;gap:3px;padding:8px 9px;border-left:3px solid var(--line);background:var(--panel)}.report-attention-item.warning{border-left-color:var(--warning)}.report-attention-item.danger{border-left-color:var(--danger)}.report-attention-item span{color:var(--muted);font-size:11px}.report-milestone-list,.report-plain-list,.report-focus-list{display:grid;gap:8px;margin:0}.report-milestone-list{padding:0;list-style:none}.report-milestone-list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.report-milestone-list .report-status-dot{margin-top:5px}.report-milestone-list div,.report-plain-list li,.report-focus-list li{display:grid;gap:2px}.report-milestone-list span:not(.report-status-dot),.report-plain-list span,.report-focus-list span{color:var(--muted);font-size:11px}.report-plain-list,.report-focus-list{padding-left:19px}.report-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;padding:9px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.weekly-exec-report{--opsys-report-font: "PT Sans", "Segoe UI", Arial, sans-serif;display:grid;gap:18px;font-family:var(--opsys-report-font)}.weekly-exec-cover{position:relative;min-height:620px;aspect-ratio:297 / 210;overflow:hidden;border:1px solid #8c908a;border-radius:var(--opsys-radius-md);background:#5b5e59;color:#fff;box-shadow:var(--opsys-shadow);isolation:isolate}.weekly-cover-geometry,.weekly-cover-geometry span{position:absolute;top:0;right:0;bottom:0;left:0}.weekly-cover-geometry{z-index:-1}.geometry-left{background:#aaa9aa;clip-path:polygon(0 0,52% 0,42% 32%,23% 78%,0 78%)}.geometry-charcoal{background:#545753;clip-path:polygon(42% 32%,100% 32%,100% 100%,27% 100%,23% 78%)}.geometry-green-one{background:#91c800;clip-path:polygon(31% 0,49% 0,57% 32%,42% 32%)}.geometry-green-two{background:#b7d95c;clip-path:polygon(57% 0,76% 0,64% 32%,49% 32%)}.geometry-green-three{background:#90c900;clip-path:polygon(64% 32%,100% 32%,100% 56%,75% 56%)}.weekly-cover-brand{position:absolute;inset:28px 34px auto;display:grid;grid-template-columns:1fr auto;align-items:start}.weekly-cover-brand span{justify-self:center;margin-left:190px;color:#fff;font-size:12px;font-weight:850;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.45)}.weekly-cover-brand img{width:210px;height:auto;padding:9px 11px;border-radius:2px;background:#ffffffe6}.weekly-cover-title{position:absolute;right:8%;bottom:17%;width:min(63%,780px);display:grid;gap:13px}.weekly-cover-title p{color:#ffffffad;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.weekly-cover-title h2{max-width:900px;font-family:var(--opsys-report-font);font-size:clamp(36px,4vw,66px);font-weight:700;line-height:.98;letter-spacing:-.025em}.weekly-cover-title strong{font-family:var(--opsys-report-font);font-size:clamp(20px,2.3vw,34px)}.weekly-cover-rule{width:100%;height:5px;background:#91ca00}.weekly-cover-footer{position:absolute;right:34px;bottom:24px;left:34px;display:flex;justify-content:space-between;gap:16px;color:#ffffff9e;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.weekly-exec-body{overflow:hidden;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:#fff;box-shadow:var(--opsys-shadow)}.weekly-exec-running-header{display:grid;grid-template-columns:minmax(0,1fr) auto 210px;align-items:start;gap:24px;padding:18px 22px 14px;border-bottom:5px solid var(--opsys-green)}.weekly-exec-running-header h2{margin-bottom:3px;font-family:var(--opsys-report-font);font-size:22px;font-weight:700}.weekly-exec-running-header div>span{color:#686c66;font-size:11px}.weekly-exec-running-header>strong{color:#79aa00;font-size:11px;letter-spacing:.04em}.weekly-exec-running-header img{width:210px;height:auto}.weekly-exec-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 22px;border:1px solid #d8dcd4;background:#f1f3ef}.weekly-exec-metric{display:grid;gap:2px;padding:11px 13px;border-right:1px solid #d8dcd4}.weekly-exec-metric:last-child{border-right:0}.weekly-exec-metric span{color:#686c66;font-size:10px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.weekly-exec-metric strong{color:#262a25;font-size:22px}.weekly-exec-metric.attention{box-shadow:inset 0 4px #d59400}.weekly-exec-metric.danger{box-shadow:inset 0 4px #c73535}.weekly-exec-section{margin:0 22px 22px}.weekly-exec-section h3{margin:0;padding:9px 11px;color:#fff;background:#5c605b;font-family:var(--opsys-report-font);font-size:19px;font-weight:700}.weekly-exec-table-wrap{overflow-x:auto;border:1px solid #d1d4ce;border-top:0}.weekly-exec-table{width:100%;min-width:1080px;table-layout:fixed;border-collapse:collapse;color:#171a16;font-family:var(--opsys-report-font);font-size:12px}.weekly-exec-table th,.weekly-exec-table td{padding:9px 10px;border-right:1px solid #fff;border-bottom:1px solid #fff;text-align:left;vertical-align:top;overflow-wrap:anywhere}.weekly-exec-table th:last-child,.weekly-exec-table td:last-child{border-right:0}.weekly-exec-table th{color:#fff;background:#a6a4a5;font-size:11px;font-weight:500}.weekly-exec-table td{background:#ececeb}.weekly-exec-table tbody tr:nth-child(2n) td{background:#e4e5e3}.weekly-exec-table tbody tr.requires-attention td:first-child{box-shadow:inset 4px 0 #d59400}.weekly-exec-table:not(.with-progress) th:nth-child(1),.weekly-exec-table:not(.with-progress) td:nth-child(1){width:14%}.weekly-exec-table:not(.with-progress) th:nth-child(2),.weekly-exec-table:not(.with-progress) td:nth-child(2){width:21%}.weekly-exec-table:not(.with-progress) th:nth-child(3),.weekly-exec-table:not(.with-progress) td:nth-child(3){width:22%}.weekly-exec-table:not(.with-progress) th:nth-child(4),.weekly-exec-table:not(.with-progress) td:nth-child(4){width:12%}.weekly-exec-table:not(.with-progress) th:nth-child(5),.weekly-exec-table:not(.with-progress) td:nth-child(5){width:31%}.weekly-exec-table.with-progress th:nth-child(1),.weekly-exec-table.with-progress td:nth-child(1){width:14%}.weekly-exec-table.with-progress th:nth-child(2),.weekly-exec-table.with-progress td:nth-child(2){width:20%}.weekly-exec-table.with-progress th:nth-child(3),.weekly-exec-table.with-progress td:nth-child(3){width:21%}.weekly-exec-table.with-progress th:nth-child(4),.weekly-exec-table.with-progress td:nth-child(4){width:11%}.weekly-exec-table.with-progress th:nth-child(5),.weekly-exec-table.with-progress td:nth-child(5){width:9%}.weekly-exec-table.with-progress th:nth-child(6),.weekly-exec-table.with-progress td:nth-child(6){width:25%}.weekly-exec-project-cell{font-family:var(--opsys-report-font)}.weekly-exec-project-cell>strong,.weekly-exec-project-cell>span{display:block}.weekly-exec-project-cell>strong{margin-bottom:4px;font-size:12px}.weekly-exec-project-cell>span{color:#676b65;font-size:10px}.weekly-exec-health{margin-top:6px;padding-left:7px;border-left:3px solid var(--report-health);color:#343832!important;font-weight:750}.weekly-exec-list{display:grid;gap:4px;margin:0;padding-left:17px}.weekly-exec-overdue{color:#a42020;font-weight:800}.weekly-exec-progress{font-family:var(--opsys-report-font);font-size:15px}.weekly-exec-empty{padding:22px!important;color:#656a63;text-align:center!important;font-style:italic}.weekly-exec-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin:0 22px;padding:12px 0 18px;border-top:3px solid var(--opsys-green);color:#686c66;font-size:10px}.weekly-exec-footer p{max-width:900px;line-height:1.4}.weekly-exec-footer span{white-space:nowrap}@media(max-width:1100px){.report-toolbar{grid-template-columns:auto minmax(210px,1fr) minmax(230px,1fr)}.report-toolbar-actions{grid-column:1 / -1}.report-content-grid{grid-template-columns:minmax(0,1fr) 280px}.weekly-exec-cover{min-height:520px}}@media(max-width:820px){.report-toolbar,.report-cover-header,.report-content-grid{grid-template-columns:1fr}.report-toolbar-actions{grid-column:auto;justify-content:flex-start}.report-level-switch{width:fit-content}.report-side-column{border-top:1px solid var(--line);border-left:0}.report-stat-grid,.program-placeholder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stat:nth-child(2){border-right:0}.report-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.weekly-exec-cover{min-height:430px}.weekly-cover-brand img,.weekly-exec-running-header img{width:155px}.weekly-exec-running-header{grid-template-columns:minmax(0,1fr) auto}.weekly-exec-running-header img{display:none}.weekly-exec-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-exec-metric{border-bottom:1px solid #d8dcd4}.weekly-exec-metric:nth-child(2n){border-right:0}.weekly-exec-metric:last-child{grid-column:1 / -1;border-bottom:0}}@media(max-width:480px){.report-meta-grid,.report-stat-grid,.program-placeholder-metrics{grid-template-columns:1fr}.report-stat{border-right:0;border-bottom:1px solid var(--line)}.report-stat:last-child{border-bottom:0}.weekly-exec-cover{min-height:360px}.weekly-cover-brand{inset:16px 18px auto}.weekly-cover-brand span{margin-left:0}.weekly-cover-brand img{width:120px}.weekly-cover-title{right:6%;bottom:18%;width:70%}.weekly-cover-title p,.weekly-cover-footer{display:none}.weekly-exec-summary{grid-template-columns:1fr}.weekly-exec-metric,.weekly-exec-metric:nth-child(2n){border-right:0;border-bottom:1px solid #d8dcd4}.weekly-exec-metric:last-child{grid-column:auto}}.onboarding-heading{align-items:center;justify-content:space-between}.onboarding-heading h2,.onboarding-heading p,.onboarding-board h2,.onboarding-board p{margin:0}.onboarding-board{display:grid;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--opsys-radius-md);background:var(--panel)}.onboarding-board>header p{margin-top:3px;color:var(--muted);font-size:11px}.onboarding-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.onboarding-empty{grid-column:1 / -1;min-height:190px;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed var(--line);border-radius:var(--opsys-radius-sm);color:var(--muted)}.onboarding-empty strong{color:var(--opsys-text)}.onboarding-wizard{width:min(980px,calc(100vw - 36px))}.questionnaire-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:4px 0 12px}.questionnaire-progress>div{display:flex;align-items:center;gap:6px;padding:7px 8px;border-bottom:3px solid var(--line);color:var(--muted);font-size:11px}.questionnaire-progress span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--opsys-panel-2)}.questionnaire-progress>div.active{border-color:var(--opsys-accent);color:var(--opsys-text)}.questionnaire-progress>div.active span{background:var(--opsys-accent);color:#172100}.questionnaire-panel{min-height:310px}.onboarding-customer-fields{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:700px}.service-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-scope-grid .project-type-option{min-height:94px}.onboarding-requirements-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px}.requirement-card{display:grid;gap:8px;min-height:245px;padding:10px;border:1px solid var(--line);border-top:3px solid var(--opsys-accent);border-radius:var(--opsys-radius-sm);background:var(--opsys-card)}.requirement-card.it{border-top-color:#4f7fa8}.requirement-card.admin{border-top-color:#8a6b37}.requirement-card>header{display:flex;gap:7px;align-items:start}.requirement-card h3,.requirement-card p{margin:0}.requirement-card header p,.requirement-card.admin>p{color:var(--muted);font-size:11px;line-height:1.45}.question-toggle{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 8px;border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--panel);cursor:pointer}.question-toggle input{width:auto}.onboarding-admin{display:grid;gap:9px}.onboarding-admin-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.onboarding-admin-header h2,.onboarding-admin-header p{margin:0}.onboarding-admin-header p{margin-top:3px;color:var(--muted);font-size:11px}.definition-count{white-space:nowrap;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--opsys-accent-soft);color:var(--opsys-green-dark);font-size:11px;font-weight:800}.onboarding-add-task>summary{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:800}.department-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px}.department-rule-column{overflow:hidden;border:1px solid var(--line);border-top:3px solid #8a6b37;border-radius:var(--opsys-radius-md);background:var(--panel)}.department-rule-column.cyber{border-top-color:var(--opsys-accent)}.department-rule-column.it{border-top-color:#4f7fa8}.department-rule-column>header{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line)}.department-rule-column>header span{color:var(--muted);font-size:11px}.stage-rule-group{display:grid;gap:5px;padding:8px;border-bottom:1px solid var(--line)}.stage-rule-group:last-child{border-bottom:0}.stage-rule-group h3{display:flex;justify-content:space-between;margin:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.stage-rule-group h3 span{font-weight:600}.onboarding-rule{border:1px solid var(--line);border-radius:var(--opsys-radius-sm);background:var(--opsys-card)}.onboarding-rule.inactive{opacity:.62}.onboarding-rule>summary{display:flex;align-items:start;justify-content:space-between;gap:6px;padding:7px;cursor:pointer}.onboarding-rule>summary div{display:grid;gap:2px}.onboarding-rule>summary span,.onboarding-rule>summary small{color:var(--muted);font-size:9px}.onboarding-rule-form{display:grid;gap:8px;padding:8px;border-top:1px solid var(--line)}.onboarding-add-task .onboarding-rule-form{margin-top:8px}.onboarding-rule-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;gap:6px}.onboarding-rule .onboarding-rule-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}.onboarding-description-field{grid-column:1 / -1}.onboarding-rule-actions{display:flex;gap:6px}.stage-empty{margin:0;padding:7px;border:1px dashed var(--line);color:var(--muted);font-size:10px}@media(max-width:1050px){.department-rule-grid,.onboarding-requirements-grid{grid-template-columns:1fr}.requirement-card{min-height:0}}@media(max-width:700px){.service-scope-grid,.onboarding-customer-fields,.onboarding-rule-fields{grid-template-columns:1fr}.onboarding-heading,.onboarding-admin-header{align-items:stretch;flex-direction:column}}.halo-admin{display:grid;gap:14px}.halo-admin-header,.halo-admin-section>.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.halo-admin-header h2,.halo-admin-section h3,.halo-admin-section p{margin:0}.halo-admin-header h2{display:flex;align-items:center;gap:7px}.halo-admin-header p,.halo-admin-section .section-heading p,.halo-test-section>div p{margin-top:4px;color:var(--muted);font-size:11px}.halo-form-grid,.halo-profile-form,.halo-mapping-form,.halo-test-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;align-items:end}.halo-notification-toggle,.halo-profile-description{grid-column:span 2}.halo-validation{display:grid;gap:4px;padding:10px;border:1px solid #c94949;border-radius:8px;background:color-mix(in srgb,#c94949 8%,var(--panel));font-size:11px}.halo-validation.success{border-color:var(--opsys-green);background:color-mix(in srgb,var(--opsys-green) 8%,var(--panel))}.halo-validation span{color:var(--muted)}.halo-admin-section{display:grid;gap:9px;padding-top:12px;border-top:1px solid var(--line)}.halo-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.halo-profile-card,.halo-mapping-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.halo-profile-card.valid{border-left:3px solid var(--opsys-green)}.halo-profile-card.invalid{border-left:3px solid #bb8a21}.halo-profile-card>summary,.halo-mapping-card>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;cursor:pointer}.halo-profile-card>summary div,.halo-mapping-card>summary div{display:grid;gap:2px}.halo-profile-card>summary span,.halo-profile-card>summary small,.halo-mapping-card>summary span,.halo-mapping-card>summary small{color:var(--muted);font-size:10px}.halo-profile-form{grid-template-columns:repeat(2,minmax(130px,1fr));padding:10px;border-top:1px solid var(--line)}.halo-profile-flags{display:grid;gap:5px}.halo-native-workflow{grid-column:1 / -1;margin:0;padding:6px 8px;border-radius:5px;background:color-mix(in srgb,var(--opsys-green) 7%,var(--panel));color:var(--muted);font-size:10px}.halo-card-actions{display:flex;align-items:center;gap:8px;padding:0 10px 10px}.validation-note{color:#b07e17;font-size:10px}.validation-note.valid{color:var(--opsys-green)}.halo-mapping-list{display:grid;gap:6px;max-height:460px;overflow:auto}.halo-mapping-form{padding:10px;border-top:1px solid var(--line)}.halo-mapping-card>p{padding:0 10px 8px}.halo-test-section{padding-bottom:8px}.halo-test-form{grid-template-columns:1.2fr 1.2fr 1fr auto}.halo-task-routing{border-left:3px solid var(--opsys-green);padding-left:9px}.task-halo-action{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--opsys-green) 6%,var(--panel))}.task-halo-action .primary-button,.task-halo-action .text-button{display:inline-flex;align-items:center;gap:6px;width:auto;text-decoration:none}.task-halo-action span{color:var(--muted);font-size:10px}.task-halo-trigger-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:12px;align-items:end;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.task-halo-trigger-panel>div{display:grid;gap:3px}.task-halo-trigger-panel>div span,.halo-unavailable{color:var(--muted);font-size:10px}.halo-trigger-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:8px;align-items:end}.halo-unavailable{margin:0;padding:8px;border:1px dashed #bb8a21;border-radius:6px}.halo-task-linked{display:grid;gap:3px}.halo-task-linked span,.halo-route-form small{color:var(--muted);font-size:10px}.halo-task-linked a,.halo-test-section a{color:var(--opsys-green)}.halo-route-form small{grid-column:1 / -1}@media(max-width:1050px){.halo-form-grid,.halo-mapping-form,.halo-test-form{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media(max-width:700px){.halo-profile-grid,.halo-profile-form,.halo-form-grid,.halo-mapping-form,.halo-test-form{grid-template-columns:1fr}.halo-notification-toggle,.halo-profile-description{grid-column:auto}.task-halo-action,.task-halo-trigger-panel,.halo-trigger-form{grid-template-columns:1fr;align-items:stretch}.task-halo-action{flex-direction:column}}@media print{@page{size:A4 landscape;margin:10mm}:root{--opsys-bg: #fff;--opsys-panel: #fff;--opsys-panel-2: #f7f8f5;--opsys-card: #fff;--opsys-text: #111;--opsys-muted: #555;--opsys-line: #c8ccc5}body{background:#fff;color:#111;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sidebar,.workspace-header,.report-toolbar{display:none!important}.app-shell{display:block;min-height:0;height:auto;background:#fff}.workspace{padding:0;overflow:visible}.report-module{max-width:none;margin:0}.delivery-report{overflow:visible;border:0;border-radius:0;box-shadow:none}.weekly-exec-report{display:block}.weekly-exec-cover{width:100%;height:190mm;min-height:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;break-after:page}.weekly-cover-brand{inset:9mm 10mm auto}.weekly-cover-brand img{width:48mm}.weekly-cover-title{right:10mm;bottom:31mm;width:62%}.weekly-cover-title h2{font-size:34pt}.weekly-cover-title strong{font-size:20pt}.weekly-cover-footer{right:10mm;bottom:8mm;left:10mm}.weekly-exec-body{overflow:visible;border:0;border-radius:0;box-shadow:none}.weekly-exec-running-header{grid-template-columns:minmax(0,1fr) auto 45mm;padding:0 0 3mm}.weekly-exec-running-header img{width:45mm}.weekly-exec-summary{margin:4mm 0}.weekly-exec-metric{padding:2.5mm 3mm}.weekly-exec-section{margin:0 0 5mm}.weekly-exec-section h3{padding:2mm 3mm;font-size:14pt}.weekly-exec-table-wrap{overflow:visible}.weekly-exec-table{min-width:0;font-size:8.2pt}.weekly-exec-table thead{display:table-header-group}.weekly-exec-table th,.weekly-exec-table td{padding:1.8mm 2mm}.weekly-exec-footer{margin:0;padding-bottom:0}.report-cover-header{grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);padding:0 0 10px}.report-content-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr)}.report-main-column,.report-side-column{gap:12px;padding:10px}.report-table-wrap{overflow:visible}.report-table{min-width:0;font-size:8.5pt}.report-table th,.report-table td{padding:5px 6px}.report-section,.report-stat,.report-attention-item,.report-table tr,.weekly-exec-table tr,.weekly-exec-metric{break-inside:avoid}}
