:root{--ink:#17332e;--muted:#667a75;--line:#d7e2de;--line-strong:#b6c9c3;--surface:#fff;--canvas:#f3f6f5;--primary:#126f61;--primary-dark:#0b564b;--primary-soft:#dff2ed;--accent:#e8a63a;--danger:#b83d32;--danger-soft:#fde9e6;--warning:#956218;--warning-soft:#fff1d6;--shadow:0 12px 36px rgba(20,54,47,.08);--radius:10px;--sidebar:224px;--month-width:66px;--label-width:248px;--tray-width:236px;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
/* Consortium scope and organization identity. Color always accompanies a short code. */
.consortium-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:12px}.consortium-summary-grid article{padding:12px;border:1px solid var(--line);border-top:3px solid var(--org-color,var(--line));border-radius:7px}.consortium-summary-grid header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.consortium-summary-grid header small{color:var(--muted);font-size:8px}.consortium-summary-grid dl{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:10px 0 0}.consortium-summary-grid dl div{display:flex;justify-content:space-between;font-size:9px}.consortium-summary-grid dt{color:var(--muted)}.consortium-summary-grid dd{margin:0;font-weight:800}
.participant-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--org-color,var(--line))}.participant-settings-heading>div{display:flex;align-items:center;gap:8px}.participant-settings-heading h3{margin:0}.participant-settings-heading>span{color:var(--muted);font-size:10px}.person-card{border-top:3px solid var(--org-color,var(--line))}.report-organization-legend{font-size:8px}.print-consortium-budgets{display:none}
@media print{.organization-filter{display:none!important}.print-consortium-budgets{display:block}.print-organization-budget{display:block!important;break-before:page}.print-organization-budget table{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.organization-filter{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}.organization-filter button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap;cursor:pointer}.organization-filter button i{width:9px;height:9px;border-radius:2px;background:var(--org-color,#6b8f86)}.organization-filter button.active{border-color:var(--org-color,var(--primary));box-shadow:inset 0 0 0 1px var(--org-color,var(--primary));color:var(--ink);background:#f8fbfa}.organization-code{display:inline-flex;padding:1px 4px;border-radius:3px;background:var(--org-color,#567f75);color:#fff;font-size:7px;letter-spacing:.05em}.resource-item-wrap{border-left:3px solid var(--org-color,#6b8f86);border-radius:8px}.assignment-bar:not(.over-capacity),.cost-bar{border-color:var(--org-color,#4c9c8b)!important;background:color-mix(in srgb,var(--org-color,#4c9c8b) 13%,white)!important}.assignment-bar:not(.over-capacity) .resource-bar-icon,.cost-bar .resource-bar-icon{color:var(--org-color,#246b5c)}.assignment-bar .bar-label b,.cost-bar .bar-label b{font-size:7px;letter-spacing:.04em}.consortium-new{border:1px solid var(--line);padding:9px}.consortium-new legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:800}.org-teal{--org-color:#147d6d}.org-blue{--org-color:#326ea8}.org-purple{--org-color:#7555a6}.org-orange{--org-color:#b96618}.org-red{--org-color:#b5423b}.org-green{--org-color:#4b7f34}.org-slate{--org-color:#64727a}.org-gold{--org-color:#9a7a16}.org-pink{--org-color:#a94e7a}.org-cyan{--org-color:#177d91}
*{box-sizing:border-box}html{font-family:var(--font);color:var(--ink);background:var(--canvas)}body{margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #3b9c8c;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.035em;margin-bottom:5px}h2{font-size:18px;letter-spacing:-.02em}h3{font-size:15px}.muted{color:var(--muted)}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;margin-bottom:5px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:18px 12px;background:#173730;color:#e9f3f0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:6px 7px 20px}.brand span:last-child{display:grid}.brand small,.sidebar-user small{color:#9fb8b1}.brand-mark{display:block;flex:none;width:38px;height:38px;border-radius:9px;object-fit:contain}.sidebar nav{display:grid;gap:2px}.sidebar nav a{padding:9px 11px;border-radius:7px;color:#c6d7d2}.sidebar nav a:hover,.sidebar nav a.active{background:#285046;color:#fff}.nav-label{padding:18px 11px 6px;color:#86a69e;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:800}.sidebar-user{margin-top:auto;padding:12px 7px 2px;border-top:1px solid #31534b;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.sidebar-user>span:nth-child(2){display:grid;min-width:0}.sidebar-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#346b5d;font-weight:800}.main-canvas{min-width:0;padding:28px 30px 80px}.page-header,.planner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:7px;border:1px solid var(--line-strong);background:#fff;font-weight:750;cursor:pointer}.button:hover{border-color:#7c9d95}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.ghost{background:transparent}.icon-button{border:0;background:transparent;color:inherit;min-width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:18px}.icon-button:hover{background:#ffffff18}.metrics-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.metrics-row.metrics-wide{grid-template-columns:repeat(5,minmax(0,1fr))}.metrics-row article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;display:grid;gap:4px}.metrics-row span{color:var(--muted);font-size:12px}.metrics-row strong{font-size:21px;letter-spacing:-.03em}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:15px}.panel-heading h2{margin-bottom:3px}.panel-heading p{color:var(--muted);font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.project-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:9px;padding:16px;transition:.15s}.project-card:hover{border-color:#74a79b;box-shadow:0 8px 24px #17312d12;transform:translateY(-1px)}.project-card h3{font-size:17px;margin:4px 0 0}.project-card>p{color:var(--muted);margin-bottom:6px}.project-card-top{display:flex;justify-content:space-between;align-items:center}.project-acronym{font-weight:850;color:var(--primary)}.status{display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf1f0;color:#526863;font-size:11px;text-transform:capitalize}.status.internal_review,.status.questionable,.status.unreviewed{background:var(--warning-soft);color:var(--warning)}.status.eligible,.status.funded{background:var(--primary-soft);color:var(--primary)}.project-card-totals{display:grid;grid-template-columns:.65fr 1.35fr 1fr;border-top:1px solid var(--line);padding-top:11px}.project-card-totals span{display:grid;font-weight:750}.project-card-totals small{font-weight:500;color:var(--muted);font-size:10px}.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.two-column{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.issue-list{display:grid;gap:8px}.issue{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px;border:1px solid var(--line);border-radius:7px}.issue p{margin:2px 0 0;color:var(--muted);font-size:12px}.issue-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#78928b}.issue.warning .issue-dot{background:var(--accent)}.issue.critical .issue-dot{background:var(--danger)}.summary-list{margin:0;display:grid}.summary-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.summary-list>div:last-child{border-bottom:0}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;font-weight:750;text-align:right}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px;border-bottom:1px solid var(--line)}.data-table td{padding:11px 9px;border-bottom:1px solid #e7eeec}.modal{border:0;padding:0;background:transparent;max-width:min(620px,calc(100vw - 32px));width:100%}.modal::backdrop{background:#102b26a8;backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:13px;box-shadow:var(--shadow);padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.stack label{display:grid;gap:5px;font-size:12px;font-weight:650}.form-grid .span-2{grid-column:span 2}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:9px 10px;background:#fff}textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-error{color:var(--danger);min-height:20px;margin:10px 0 0}.notice{padding:10px;border-radius:7px}.notice.danger{background:var(--danger-soft);color:var(--danger)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#e7f1ee,#f7f9f8)}.login-card{width:min(420px,calc(100vw - 30px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:28px}.stack{display:grid;gap:14px}.toast-region{position:fixed;right:22px;bottom:22px;z-index:100;display:grid;gap:8px}.toast{background:#173730;color:#fff;padding:11px 15px;border-radius:8px;box-shadow:var(--shadow)}
/* Planner */
.planner-app{margin:-8px -16px 0;min-height:calc(100vh - 80px)}.planner-header{padding:0 16px;margin-bottom:12px}.planner-header h1{font-size:24px}.planner-actions{display:flex;gap:7px;align-items:center}.compact-select{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.compact-select select{width:auto;padding:7px}.planner-status{margin:30px 16px;padding:16px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted)}.planner-workspace{height:calc(100vh - 206px);min-height:500px;background:#fff;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:var(--tray-width) 6px minmax(0,1fr);overflow:hidden}.resource-tray{display:flex;flex-direction:column;min-width:170px;background:#f7faf9;border-right:1px solid var(--line)}.tray-head{padding:10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.tabs{display:flex;background:#e8efed;border-radius:6px;padding:2px}.tabs button{border:0;background:transparent;padding:5px 7px;border-radius:4px;font-size:10px;font-weight:750;color:var(--muted);cursor:pointer}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #17312d19}.tray-filter{padding:9px;border-bottom:1px solid var(--line)}.tray-filter input{padding:7px 8px}.resource-list{padding:7px;overflow:auto;display:grid;gap:5px}.resource-item{background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px;cursor:grab;user-select:none;touch-action:none}.resource-item:active{cursor:grabbing}.resource-item.selected{border-color:var(--primary);box-shadow:0 0 0 2px #126f6122}.resource-item strong{display:block;font-size:12px}.resource-item small{color:var(--muted)}.resource-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:10px}.capacity-error{color:var(--danger);font-weight:800}.splitter{cursor:col-resize;background:#e7eeec;position:relative}.splitter::after{content:"";position:absolute;top:45%;left:2px;width:2px;height:28px;border-left:2px dotted #92aaa4}.timeline-shell{min-width:0;overflow:auto;background:#fff}.timeline{min-width:max-content;position:relative}.timeline-head,.timeline-row{display:grid;grid-template-columns:var(--label-width) repeat(var(--month-count),var(--month-width));min-height:38px}.timeline-head{position:sticky;top:0;z-index:8;background:#f7faf9;border-bottom:1px solid var(--line)}.timeline-label{position:sticky;left:0;z-index:5;background:inherit;border-right:1px solid var(--line);padding:9px 11px}.month-head{border-right:1px solid #e3ebe8;text-align:center;padding:5px 2px;line-height:1.15;font-size:11px}.month-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.month-head.year-start,.month-cell.year-start{border-left:2px solid #86a69e}.month-head.midpoint,.month-cell.midpoint{background:#fff8e9}.wp-row{background:#edf4f2;font-weight:800;border-bottom:1px solid var(--line);min-height:36px}.wp-row .timeline-label{display:flex;justify-content:space-between;align-items:center}.wp-toggle,.inline-add{border:0;background:transparent;cursor:pointer;color:var(--primary);font-weight:800}.month-cell{border-right:1px solid #edf2f0;border-bottom:1px solid #edf2f0;min-width:var(--month-width);position:relative}.task-row{position:relative;background:#fff;min-height:70px}.task-row.drop-target{background:#e8f6f2}.task-label{display:grid;gap:3px;align-content:start}.task-label strong{font-size:12px}.task-label small{font-size:10px;color:var(--muted)}.task-label-actions{display:flex;gap:3px;margin-top:4px}.tiny-button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:2px 5px;font-size:9px;cursor:pointer}.bar-layer{position:absolute;left:var(--label-width);right:0;top:0;height:100%;pointer-events:none}.bar{position:absolute;left:calc((var(--start) - 1) * var(--month-width) + 3px);width:calc(var(--span) * var(--month-width) - 6px);border-radius:5px;pointer-events:auto;user-select:none;touch-action:none;cursor:grab;overflow:visible}.task-bar{top:7px;height:18px;background:#5d897f;color:#fff;font-size:9px;padding:2px 7px}.assignment-bar{top:31px;height:24px;background:#dff1ec;border:1px solid #58a18f;color:#154d42;padding:3px 14px;font-size:10px}.cost-bar{top:57px;height:18px;background:#fff0cf;border:1px solid #d49a32;color:#704a0c;padding:1px 14px;font-size:9px}.bar.dragging{opacity:.85;box-shadow:0 6px 18px #17312d55;z-index:20}.resize-handle{position:absolute;top:-1px;bottom:-1px;width:10px;cursor:ew-resize}.resize-handle.left{left:0}.resize-handle.right{right:0}.floating-preview{position:fixed;z-index:80;background:#173730;color:#fff;border-radius:6px;padding:7px 9px;font-size:11px;pointer-events:none;box-shadow:var(--shadow)}.budget-strip{position:fixed;left:calc(var(--sidebar) + 14px);right:14px;bottom:10px;z-index:30;background:#173730;color:#fff;border-radius:10px;padding:9px 14px;display:grid;grid-template-columns:repeat(10,minmax(78px,1fr));gap:4px;box-shadow:0 12px 36px #0b251f55}.budget-metric{border:0;background:transparent;color:inherit;text-align:left;padding:4px 6px;border-radius:5px;cursor:pointer}.budget-metric:hover{background:#ffffff12}.budget-metric small{display:block;color:#a9c3bc;font-size:9px;white-space:nowrap}.budget-metric strong{display:block;font-size:12px;white-space:nowrap}.budget-metric.warning strong{color:#ffd47c}.detail-drawer{position:fixed;z-index:60;right:0;top:0;bottom:0;width:min(430px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-12px 0 35px #17312d22;padding:22px;overflow:auto}.drawer-head{display:flex;justify-content:space-between}.drawer-section{padding:13px 0;border-bottom:1px solid var(--line)}.drawer-section h3{margin-bottom:6px}.calculation-preview{background:#f2f7f5;border-radius:7px;padding:10px;margin-top:12px;color:var(--muted)}.empty-inline{color:var(--muted)}
@media(max-width:1100px){:root{--sidebar:190px}.metrics-row.metrics-wide{grid-template-columns:repeat(3,1fr)}.budget-strip{overflow-x:auto;grid-template-columns:repeat(10,110px)}}
@media(max-width:760px){:root{--sidebar:64px}.sidebar{padding:12px 7px}.brand>span:last-child,.sidebar nav a,.nav-label,.sidebar-user>span:nth-child(2){font-size:0}.sidebar nav a::first-letter{font-size:16px}.brand{justify-content:center}.main-canvas{padding:20px 14px 80px}.metrics-row,.metrics-row.metrics-wide,.two-column{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.planner-workspace{grid-template-columns:180px 6px minmax(0,1fr)}.planner-header{display:grid}.planner-actions{flex-wrap:wrap}.budget-strip{left:70px}}
/* Fast planner redesign */
.brand-row{display:flex;align-items:flex-start}.brand-row .brand{flex:1;min-width:0}.sidebar-collapse{margin-top:10px;border:1px solid #ffffff26;background:#ffffff0b;color:#d5e6e1;border-radius:6px;width:27px;height:30px;cursor:pointer}.sidebar nav a{display:flex;align-items:center;gap:9px}.sidebar nav a>span{display:grid;place-items:center;min-width:20px;height:20px;font-size:10px;font-weight:850}.sidebar nav a>b{font-weight:600}.sidebar-collapsed{--sidebar:70px}.sidebar-collapsed .brand span:last-child,.sidebar-collapsed .sidebar nav a>b,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user>span:nth-child(2){display:none}.sidebar-collapsed .brand{padding-left:0}.sidebar-collapsed .brand-mark{width:34px;height:34px}.sidebar-collapsed .sidebar-collapse{position:absolute;right:-12px;top:66px;background:#173730}.sidebar-collapsed .sidebar nav a{justify-content:center}.sidebar-collapsed .sidebar-user{grid-template-columns:1fr}.sidebar-collapsed .sidebar-user form{display:none}.save-state{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:800;white-space:nowrap}.save-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.save-state.busy{background:var(--warning-soft);color:var(--warning)}.diagnostics-menu{position:relative}.diagnostics-menu>summary{list-style:none}.diagnostics-menu>summary::-webkit-details-marker{display:none}.diagnostics-menu>div{position:absolute;right:0;top:43px;z-index:45;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;box-shadow:var(--shadow);display:grid;gap:5px;width:190px}.diagnostics-menu>div .button{font-size:11px;justify-content:flex-start}.tray-head>div:last-child{display:flex}.tray-help{font-size:10px;color:var(--muted);margin:3px 3px 7px}.resource-item-wrap{position:relative}.resource-item-wrap>.resource-item{width:100%;text-align:left;padding-right:28px}.pin-button{position:absolute;right:5px;top:5px;border:0;background:transparent;color:#b7c5c1;cursor:pointer}.pin-button.active{color:#d49322}.skill-mini{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px}.skill-mini i,.skill-map span{font-style:normal;background:#edf4f2;color:#41635b;border-radius:999px;padding:2px 6px;font-size:9px}.tray-multi{margin-bottom:6px;width:100%;font-size:10px}.wp-row .timeline-label>span:first-child{display:flex;align-items:center;min-width:0}.wp-row .timeline-label small{color:var(--muted);font-size:9px;margin-left:8px;font-weight:550;white-space:nowrap}.wp-actions{display:flex}.task-label{grid-template-columns:18px minmax(0,1fr);column-gap:2px}.task-select{grid-row:1/3;align-self:start;padding-top:2px}.task-select input{width:13px;height:13px}.task-title-button{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;min-width:0}.task-title-button strong,.task-title-button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-label-actions{grid-column:2}.task-row.expanded{background:#fbfdfc}.task-panel-row{display:grid;grid-template-columns:var(--label-width) repeat(var(--month-count),var(--month-width));background:#f7faf9;border-bottom:1px solid var(--line);min-height:90px}.task-panel-content{grid-column:1/-1;position:sticky;left:0;width:min(920px,calc(100vw - var(--sidebar) - 74px));padding:9px 12px 11px;z-index:6;background:#f7faf9;border-right:1px solid var(--line)}.task-panel-tabs{display:flex;gap:4px;margin-bottom:8px}.task-panel-tabs button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:4px 9px;font-size:10px;font-weight:750;cursor:pointer}.task-panel-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.assignment-chips,.cost-chips,.cost-palette{display:flex;flex-wrap:wrap;gap:6px}.assignment-chip{display:inline-flex;border:1px solid #9fcfc3;background:#e3f3ef;border-radius:5px;overflow:hidden}.assignment-chip button{border:0;border-left:1px solid #b8d8d0;background:transparent;padding:5px 7px;font-size:10px;cursor:pointer}.assignment-chip button:first-child{border-left:0}.cost-chip{border:1px solid #e3b45b;background:#fff0cf;color:#704a0c;border-radius:5px;padding:5px 8px;font-size:10px;cursor:pointer}.panel-quick-actions{display:flex;align-items:center;gap:7px;margin-top:8px}.panel-quick-actions .button{min-height:28px;padding:4px 9px;font-size:10px}.panel-quick-actions>span{margin-left:auto;color:var(--muted);font-size:11px}.cost-palette{margin-bottom:7px}.cost-palette button{border:1px solid var(--line-strong);background:#fff;border-radius:5px;padding:4px 8px;font-size:9px;cursor:pointer}.task-details{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 16px}.task-details div{display:grid}.task-details dt{font-size:9px;color:var(--muted);text-transform:uppercase}.task-details dd{margin:0;font-size:11px}.task-details+.button{min-height:28px;margin-top:7px;font-size:10px}.quick-popover{position:fixed;width:min(360px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;z-index:75;background:#fff;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 18px 52px #17312d33;padding:14px}.quick-head{display:flex;justify-content:space-between}.quick-head h2{font-size:16px;margin-bottom:8px}.quick-fields{display:grid;gap:9px}.quick-fields label{display:grid;gap:4px;font-size:11px;font-weight:700}.quick-fields details{border-top:1px solid var(--line);padding-top:7px}.quick-fields details summary{font-size:10px;color:var(--primary);font-weight:800;cursor:pointer}.quick-fields details[open]{display:grid;gap:8px}.range-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slider-field{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px;align-items:center}.slider-field input[type=range]{padding:0;border:0}.quick-preview{display:grid;gap:2px;margin-top:10px;padding:9px;background:#edf6f3;border-radius:6px;color:var(--primary)}.quick-preview small{font-size:9px;color:var(--muted)}.quick-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.quick-actions .button{min-height:34px;padding:6px 11px}.check-label{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.check-label input{width:auto}.budget-strip{grid-template-columns:repeat(5,minmax(94px,1fr)) auto}.budget-report{align-self:center;border-radius:6px;background:#fff;color:var(--ink);padding:8px 13px;font-size:11px;font-weight:800;white-space:nowrap}.planner-app.tray-collapsed .planner-workspace{grid-template-columns:0 0 minmax(0,1fr)}.planner-app.tray-collapsed .resource-tray,.planner-app.tray-collapsed .splitter{visibility:hidden}.planner-focus .sidebar{display:none}.planner-focus .app-shell{grid-template-columns:1fr}.planner-focus .main-canvas{padding-left:12px;padding-right:12px}.planner-focus .budget-strip{left:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.issue-line{padding:7px;border-left:3px solid var(--line);font-size:11px}.issue-line.warning{border-color:var(--accent)}.issue-line.critical{border-color:var(--danger)}
/* People and effective rates */
.people-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px}.people-toolbar h2{margin-bottom:3px}.people-toolbar p{margin:0}.people-toolbar input{width:min(380px,45vw)}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.person-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;display:grid;gap:12px}.person-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.person-card h3,.person-card p{margin:0}.person-card p{color:var(--muted);font-size:11px}.person-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:850}.resource-kind{font-size:9px;text-transform:uppercase;color:var(--muted)}.skill-map{display:flex;flex-wrap:wrap;gap:5px;min-height:22px}.skill-map span{font-size:10px}.person-facts{display:grid;grid-template-columns:1fr 1fr;margin:0}.person-facts div{display:grid}.person-facts dt{font-size:9px;text-transform:uppercase;color:var(--muted)}.person-facts dd{margin:0;font-size:11px;font-weight:750;text-transform:capitalize}.rate-history{border-top:1px solid var(--line);padding-top:10px}.rate-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px}.rate-list{display:grid;gap:4px;margin-top:7px}.rate-row{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);border-radius:6px;background:#f9fbfa;padding:7px 8px;cursor:pointer}.rate-row>span:first-child{display:grid}.rate-row small{color:var(--muted);font-size:9px}.rate-row>span:last-child{font-size:9px;color:var(--primary)}.restricted-rate{font-size:10px;color:var(--muted);margin:8px 0 0}.compact-modal{max-width:520px}
/* A4 report */
.report-actions{display:flex;gap:8px}.bf-report{width:min(900px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:42px 48px}.report-cover{padding-bottom:30px;border-bottom:3px solid var(--primary)}.report-cover h1{font-size:34px;margin:10px 0 3px}.report-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:850}.report-acronym{font-size:18px;color:var(--muted)}.report-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px;margin:28px 0 0}.report-facts div{display:grid}.report-facts dt{font-size:9px;color:var(--muted);text-transform:uppercase}.report-facts dd{margin:0;font-weight:700}.report-section{padding:24px 0;border-bottom:1px solid var(--line);break-inside:avoid}.report-section h2{color:var(--primary)}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.report-metrics div{padding:12px;background:#eff6f4;border-radius:7px;display:grid}.report-metrics span{font-size:9px;color:var(--muted)}.report-metrics strong{font-size:17px}.report-wp{margin-top:18px;break-inside:avoid}.report-wp>header{display:flex;justify-content:space-between;align-items:center}.report-wp h3{margin:0}.report-wp header span{font-size:10px;color:var(--primary);font-weight:850}.bf-report table{width:100%;border-collapse:collapse;margin-top:8px}.bf-report th,.bf-report td{padding:7px;text-align:left;border-bottom:1px solid var(--line);font-size:10px}.bf-report th{color:var(--muted);text-transform:uppercase;font-size:8px}.bf-report td small{display:block;color:var(--muted)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.report-bridge{display:grid;margin:0}.report-bridge div{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--line)}.report-bridge dd{margin:0;font-weight:800}.report-note{margin:16px 0 0;padding:10px;background:var(--warning-soft);font-size:10px}
@media(max-width:900px){.compact-action{display:none}.task-panel-content{width:calc(100vw - var(--sidebar) - 40px)}.people-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:1fr 1fr}}
@page planner{size:A4 landscape;margin:10mm}@media print{@page{size:A4;margin:14mm}body{background:#fff;font-size:10pt}.sidebar,.report-toolbar,.toast-region{display:none!important}.app-shell{display:block}.main-canvas{padding:0}.bf-report{width:auto;border:0;box-shadow:none;padding:0}.report-cover{min-height:235mm;padding-top:35mm;break-after:page}.report-section{break-inside:auto}.report-wp{break-inside:avoid}.report-grid{grid-template-columns:1fr 1fr}.planner-app{page:planner;margin:0;min-height:0}.planner-app .planner-actions,.planner-app .resource-shelf,.planner-app .budget-strip,.planner-app .task-label-actions,.planner-app .wp-actions{display:none!important}.planner-header{margin:0 0 8px;padding:0}.planner-workspace{height:auto;min-height:0;overflow:visible;border-color:#888}.timeline-shell{overflow:visible}.timeline-code-legend{position:static;width:100%;break-inside:avoid}.timeline-head{position:static}.timeline-label{position:static}.bar,.wp-row,.timeline-head,.timeline-code-legend{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.timeline-head .timeline-label small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.wp-row .timeline-label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.wp-row .timeline-label>span:first-child{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-row .timeline-label small{display:block;color:var(--muted);font-size:9px;margin:1px 0 0 18px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-actions{display:flex;align-items:center}
.cost-chip{display:inline-flex;padding:0;overflow:hidden}.cost-chip button{border:0;background:transparent;color:inherit;padding:5px 8px;font-size:10px;cursor:pointer}.cost-chip button+button{border-left:1px solid #e3b45b}

/* Full-width planner shelf and dual PM / capacity allocation editor */
.planner-workspace{display:flex;flex-direction:column;min-width:0}
.resource-shelf{flex:0 0 auto;min-width:0;background:#f7faf9;border-bottom:1px solid var(--line)}
.shelf-toolbar{min-height:44px;padding:6px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.shelf-toolbar .tray-filter{flex:0 1 340px;padding:0;border:0}
.shelf-toolbar .tray-filter input{height:32px;padding:5px 9px}
.shelf-toolbar .icon-button{flex:0 0 auto}
.resource-shelf .resource-list{display:flex;flex-wrap:nowrap;gap:6px;padding:7px 10px 9px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.resource-shelf .resource-item-wrap{flex:0 0 190px;min-width:0}
.resource-shelf .resource-item{height:58px;padding:6px 27px 6px 9px;overflow:hidden}
.resource-shelf .resource-item strong,.resource-shelf .resource-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-shelf .resource-item .skill-mini{display:none}
.resource-shelf .resource-meta{margin-top:3px}
.resource-shelf .cost-template{flex:0 0 172px;height:52px;text-align:left}
.planner-workspace .timeline-shell{flex:1 1 auto;width:100%;min-height:0}
.planner-app.tray-collapsed .planner-workspace{display:flex}
.planner-app.tray-collapsed .resource-shelf{display:none}
.resource-shelf-toggle{white-space:nowrap}
.resource-code{display:inline-grid;place-items:center;min-width:27px;margin-right:6px;padding:1px 4px;border-radius:4px;background:var(--primary-soft);color:var(--primary);font-size:9px;letter-spacing:.04em}
.bar-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assignment-bar{height:18px;padding:1px 10px;font-size:9px}
.cost-bar{height:15px;padding:0 10px;font-size:8px}
.quarter-view .quarter-head{display:grid;place-items:center;border-right:2px solid var(--line-strong);background:#edf4f2;padding:4px 2px}
.timeline-code-legend{position:sticky;left:0;width:min(1000px,calc(100vw - var(--sidebar) - 64px));padding:10px 12px 14px;background:#fff;border-top:2px solid var(--line-strong);display:grid;grid-template-columns:auto 1fr 1fr;gap:8px 18px}
.timeline-code-legend h3{margin:1px 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}
.timeline-code-legend>div{display:grid;grid-template-columns:auto 1fr;gap:7px;font-size:9px}.timeline-code-legend>div>strong{white-space:nowrap}.timeline-code-legend p{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0}.timeline-code-legend p span{white-space:nowrap;color:var(--muted)}.timeline-code-legend p b{display:inline-block;min-width:30px;margin-right:4px;color:var(--ink)}
.milestone-marker{position:absolute;left:calc((var(--month) - .5) * var(--month-width));top:calc(4px + var(--offset) * 2px);z-index:6;transform:translateX(-50%);width:20px;height:20px;padding:0;border:2px solid #fff;border-radius:50%;background:#216f9a;color:#fff;box-shadow:0 1px 4px #17312d55;font-size:7px;font-weight:900;line-height:16px;pointer-events:auto;cursor:pointer}.milestone-marker.kpi{border-radius:3px;background:#7a4e9d}.milestone-marker.priority-high,.milestone-marker.priority-critical{box-shadow:0 0 0 2px #e9a52e,0 1px 4px #17312d55}.milestone-marker.complete{background:#6d817c;opacity:.72}
.task-details-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:9px}.task-details-head .task-details{flex:1}.task-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-control-block{min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px}.task-control-block.risk-block{grid-column:1/-1}.task-control-block>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.task-control-block>header>div{display:grid}.task-control-block>header small{font-size:8px;color:var(--muted)}.checklist-items{display:grid;gap:4px}.checklist-item{display:grid;grid-template-columns:16px minmax(130px,1fr) 30px 72px 20px;align-items:center;gap:5px;min-height:28px;padding:3px 5px;border-left:3px solid var(--line-strong);border-radius:4px;background:#f7faf9;font-size:9px}.checklist-item.priority-high{border-color:var(--accent)}.checklist-item.priority-critical{border-color:var(--danger)}.checklist-item>input{width:13px;height:13px}.checklist-item>button:not(.checklist-delete){min-width:0;border:0;background:transparent;text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.checklist-item>button b{display:inline-block;min-width:26px;color:var(--primary)}.checklist-item select{padding:3px 4px;border-radius:4px;font-size:8px}.checklist-delete{border:0;background:transparent;color:var(--danger);cursor:pointer}.risk-item{grid-template-columns:16px minmax(150px,1fr) 30px 62px minmax(80px,auto) 20px}.risk-item .risk-score{text-transform:capitalize;font-weight:800}.risk-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.risk-item.risk-high{border-color:var(--danger)}.risk-item.risk-medium{border-color:var(--accent)}
@media(max-width:900px){.task-control-grid{grid-template-columns:1fr}.task-control-block.risk-block{grid-column:auto}.checklist-item,.risk-item{grid-template-columns:16px minmax(120px,1fr) 30px 20px}.checklist-item select,.risk-item .risk-score,.risk-item small{grid-column:2/4}.task-details-head{display:grid}}
.risk-map-panel{margin-bottom:14px}.risk-matrix{display:grid;grid-template-columns:86px repeat(3,minmax(170px,1fr));gap:5px;margin-top:12px}.risk-axis-corner,.risk-axis-heading{display:grid;place-items:center;min-height:42px;padding:7px;background:#edf4f2;border-radius:6px;text-align:center;font-size:10px;font-weight:850;color:var(--muted)}.risk-axis-heading.side{writing-mode:horizontal-tb}.risk-cell{min-height:125px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#f7faf9;display:grid;align-content:start;gap:5px}.risk-cell-high-high,.risk-cell-high-medium,.risk-cell-medium-high{background:#fff0ed;border-color:#e8a39c}.risk-cell-medium-medium,.risk-cell-high-low,.risk-cell-low-high{background:#fff8e8;border-color:#e9c477}.risk-card{padding:7px;border-left:3px solid var(--accent);border-radius:4px;background:#fff;box-shadow:0 1px 3px #17312d14;display:grid;gap:2px}.risk-card header{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.risk-card>strong{font-size:10px}.risk-card small{font-size:8px;color:var(--muted)}.risk-card p{margin:3px 0 0;font-size:8px}.risk-card.closed,.risk-card.accepted{opacity:.58}.risk-cell-high-high .risk-card,.risk-cell-high-medium .risk-card,.risk-cell-medium-high .risk-card{border-color:var(--danger)}.empty-cell{place-self:center;color:var(--muted)}.risk-owner-panel{margin-bottom:20px}.risk-owner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px;margin-top:12px}.risk-owner-grid>article{border:1px solid var(--line);border-radius:7px;padding:10px}.risk-owner-grid article>header{display:flex;justify-content:space-between}.risk-owner-grid article>header h3{margin:0}.risk-owner-grid article>header span{font-size:9px;color:var(--muted)}.risk-owner-grid ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.risk-owner-grid li{display:grid;padding-top:6px;border-top:1px solid var(--line)}.risk-owner-grid li b{font-size:8px;color:var(--primary)}.risk-owner-grid li span{font-size:10px}.risk-owner-grid li small{font-size:8px;color:var(--muted);text-transform:capitalize}
@media(max-width:760px){.risk-matrix{grid-template-columns:58px repeat(3,minmax(140px,1fr));overflow-x:auto}.risk-cell{min-height:100px}}
.allocation-mode{min-width:0;margin:0;padding:0;border:0}
.allocation-mode legend{margin-bottom:4px;font-size:11px;font-weight:700}
.mode-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#e8efed;border-radius:7px}
.mode-toggle label{display:block!important;position:relative;cursor:pointer}
.mode-toggle input{position:absolute;opacity:0;pointer-events:none}
.mode-toggle span{display:block;padding:7px 9px;border-radius:5px;text-align:center;color:var(--muted);font-size:11px;font-weight:800}
.mode-toggle label:has(input:checked) span{background:#fff;color:var(--primary);box-shadow:0 1px 4px #17312d22}
[data-mode-field][hidden]{display:none!important}
.assignment-bar,.assignment-chip button:first-child{cursor:pointer}
@media(max-width:760px){.planner-workspace{display:flex}.shelf-toolbar .tray-filter{flex:1}.resource-shelf .resource-item-wrap{flex-basis:165px}}

/* Effective cost settings and BF annual budget matrix */
.settings-intro{margin-bottom:14px}.settings-intro .panel-heading{align-items:center}.profile-table td:nth-child(2),.profile-table td:nth-child(3){font-size:16px;font-weight:800;color:var(--primary)}.profile-table td:last-child{display:grid;gap:2px}.profile-table td:last-child small{color:var(--muted)}
.bf-budget-panel{padding:0;overflow:hidden}.bf-budget-panel .panel-heading{padding:18px 20px 14px;align-items:center}.bf-budget-panel .panel-heading p{margin:0}.budget-table-scroll{overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bf-budget-table{width:100%;min-width:720px;border-collapse:collapse;font-variant-numeric:tabular-nums}.bf-budget-table th,.bf-budget-table td{padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;text-align:right}.bf-budget-table th:first-child{text-align:left;min-width:230px}.bf-budget-table th:last-child,.bf-budget-table td:last-child{border-right:0}.bf-budget-table thead th{background:#edf4f2;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.bf-budget-table tbody th{font-weight:650}.bf-budget-table tbody tr:hover{background:#f8fbfa}.bf-budget-table .budget-rate{color:var(--muted);font-weight:750}.bf-budget-table tfoot th,.bf-budget-table tfoot td{font-weight:800}.bf-budget-table .project-budget-row{background:#e4f1ed;color:var(--ink)}.bf-budget-table .bf-funding-row{background:#173730;color:#fff}.budget-exclusion{margin:14px 20px 0;padding:10px;background:var(--warning-soft);color:var(--warning);border-radius:7px}.budget-formula-note{margin:14px 20px 18px;color:var(--muted);font-size:11px}
.bf-budget-table{min-width:1120px}.bf-budget-table th:first-child{min-width:300px;white-space:normal}.bf-budget-table .budget-total{font-weight:800}.bf-budget-table .budget-year-value{color:#009d4f}.bf-budget-table .budget-instructions{min-width:320px;max-width:420px;text-align:left;white-space:normal;color:var(--muted);font-size:10px}.bf-budget-table .project-budget-row th,.bf-budget-table .project-budget-row td{font-weight:850}.bf-budget-table .budget-section-row th{padding:6px 12px;background:#f0f2f1;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.bf-budget-table .external-funding-row,.bf-budget-table .own-funding-row{font-weight:800}.bf-budget-table .bf-funding-row .budget-instructions{color:#cfe1dc}
@media(max-width:760px){.settings-intro .panel-heading,.bf-budget-panel .panel-heading{display:grid}.profile-table{min-width:720px}.bf-budget-panel{margin-left:-4px;margin-right:-4px}}
.danger-button{color:var(--danger)!important;border-color:#d89a9a!important;background:#fff8f8!important}.danger-button:hover{background:#fdeaea!important}.percentage-slider+small,.percentage-slider~small{font-size:9px;color:var(--muted);font-weight:500}.form-grid .percentage-slider{margin-top:2px}
.project-card-wrap{position:relative}.project-card-wrap .project-delete{position:absolute;right:12px;bottom:12px;z-index:2}.project-card-wrap .project-card{height:100%;padding-bottom:45px}.person-card-actions{display:grid;justify-items:end;gap:5px}

/* Ledger-backed budget hierarchy and reconciliation */
.budget-hierarchy-panel,.excluded-budget-panel{margin-top:16px}.budget-tree-scroll{overflow-x:auto}.budget-tree{display:grid;gap:5px;min-width:720px}.budget-tree-node{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.budget-tree-node summary,.budget-tree-leaf,.budget-tree-years{display:grid;grid-template-columns:minmax(170px,1fr) 70px repeat(var(--budget-year-count),90px) 110px;gap:10px;align-items:center;font-variant-numeric:tabular-nums}.budget-tree-node summary{padding:9px 11px;cursor:pointer;font-size:12px}.budget-tree-node summary:hover{background:#f4f8f7}.budget-tree-node summary::marker{color:var(--primary)}.budget-tree-years{min-width:720px;padding:0 11px 5px;color:var(--muted);font-size:10px}.budget-tree-years span:not(:first-child),.budget-tree-node summary>span:not(:first-child),.budget-tree-node summary>strong,.budget-tree-leaf>span:not(:first-child),.budget-tree-leaf>strong{text-align:right}.budget-tree-pm{color:var(--muted)}.budget-tree-year-value{color:#087f48}.budget-tree-children{display:grid;gap:4px;padding:0 6px 6px 18px;border-top:1px solid var(--line)}.budget-tree-children>.budget-tree-node{margin-top:5px}.budget-tree-leaf{padding:8px 11px;border-radius:6px;background:#f7faf9;font-size:11px}.reconciliation-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--success-soft,#e5f5ef);color:var(--primary);font-size:10px;font-weight:800}.reconciliation-badge.is-failed{background:var(--danger-soft,#fdeaea);color:var(--danger)}.excluded-budget-panel{border-color:#e4c98a;background:#fffaf0}.people-toolbar-actions{display:flex;align-items:center;gap:8px}

/* Explicit placement controls keep editing clicks separate from drag intent. */
.row-drag-handle,.vertical-drag-handle{display:inline-grid;place-items:center;min-width:22px;min-height:22px;padding:2px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);cursor:grab;touch-action:none}.row-drag-handle:hover,.row-drag-handle:focus-visible,.vertical-drag-handle:hover,.vertical-drag-handle:focus-visible{border-color:var(--line);background:#fff;color:var(--primary)}.row-drag-handle:active,.vertical-drag-handle:active{cursor:grabbing}.placement-target{outline:2px solid #5aa997;outline-offset:-2px}.placement-before{box-shadow:inset 0 3px 0 var(--primary)}.placement-ghost{position:fixed;z-index:2000;max-width:300px;padding:7px 10px;border-radius:7px;background:#173730;color:#fff;box-shadow:0 8px 24px #17312d33;font-size:11px;font-weight:750;pointer-events:none;transform:translate(10px,10px)}

/* Locally bundled Lucide icons replace text-dot drag glyphs. */
.lucide-icon{display:block;width:14px;height:14px;pointer-events:none}.resource-list-icon{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;border-radius:50%;background:var(--primary-soft);color:var(--primary);vertical-align:middle}.resource-list-icon .lucide-icon{width:11px;height:11px}.resource-item strong{display:flex;align-items:center;min-width:0}.resource-bar-icon{position:absolute!important;left:5px;top:50%;z-index:3;transform:translateY(-50%);width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;padding:0!important;border:0!important;border-radius:3px!important;color:currentColor;background:transparent!important}.resource-bar-icon .lucide-icon{width:11px;height:11px}.assignment-bar,.cost-bar{padding-left:23px}.row-drag-handle .lucide-icon{width:13px;height:13px}.legend-icon{display:inline-grid;margin-right:3px;vertical-align:-2px;color:var(--primary)}.legend-icon .lucide-icon{width:11px;height:11px}.person-avatar .lucide-icon{width:18px;height:18px}.resource-icon-choice{display:grid;gap:2px;font-size:8px;color:var(--muted);text-transform:uppercase}.resource-icon-choice select{min-width:112px;padding:3px 22px 3px 5px;font-size:9px;text-transform:none}.icon-license-note{color:var(--muted);font-size:9px}
.assignment-bar .bar-label,.cost-bar .bar-label{position:relative;z-index:2;width:max-content;max-width:none;overflow:visible;text-overflow:clip;pointer-events:none;text-shadow:0 1px 0 #fff,0 -1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff}
.assignment-bar.over-capacity .bar-label{text-shadow:0 1px 0 #fde9e7,0 -1px 0 #fde9e7,1px 0 0 #fde9e7,-1px 0 0 #fde9e7}

/* Report plan widths and one ledger-backed distribution chart. */
.report-plan-table{width:100%;table-layout:fixed}.report-plan-table th,.report-plan-table td{vertical-align:top;overflow-wrap:anywhere;word-break:normal}.report-edit-control{display:inline-grid;place-items:center;min-width:22px;min-height:22px;margin-left:4px;padding:1px 4px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--primary);font-size:10px;cursor:pointer}.distribution-section{margin-top:18px}.distribution-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}.distribution-filters button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:#fff}.distribution-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(260px,1fr);gap:24px;align-items:center}.donut-chart{position:relative;width:min(240px,100%);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(var(--primary) 0 100%)}.donut-chart::after{content:attr(data-total);position:absolute;inset:24%;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:15px;font-weight:850;text-align:center}.distribution-legend{display:grid;gap:7px}.distribution-legend-item{display:grid;grid-template-columns:12px minmax(120px,1fr) auto auto;gap:8px;align-items:center;font-size:11px}.distribution-swatch{width:10px;height:10px;border-radius:3px}.distribution-data-table{margin-top:14px}.distribution-data-table table{width:100%;border-collapse:collapse}.distribution-data-table th,.distribution-data-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}.distribution-data-table td:last-child,.distribution-data-table th:last-child{text-align:right}

@media(max-width:760px){.distribution-layout{grid-template-columns:1fr}.people-toolbar-actions{width:100%;justify-content:space-between}}
@media print{.app-sidebar,.topbar,.report-toolbar,.report-edit-control,.distribution-filters,button,.button,.row-drag-handle,.vertical-drag-handle,dialog,.toast-region{display:none!important}.app-shell,.app-main,.page-shell{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.panel{break-inside:avoid;box-shadow:none!important}.report-plan-table{table-layout:fixed!important;font-size:8.5pt}.report-plan-table th,.report-plan-table td{padding:5px!important}.distribution-section{break-inside:avoid}.donut-chart{-webkit-print-color-adjust:exact;print-color-adjust:exact}.distribution-data-table{display:block!important}}

/* Compact work-package heading: reserve space for actions and keep long titles readable. */
.wp-row .timeline-label{align-items:flex-start;gap:4px;padding-top:7px;padding-bottom:7px}.wp-row .timeline-label>span.wp-identity:first-child{display:flex;align-items:flex-start;flex:1 1 auto;min-width:0;gap:5px}.wp-title-block{display:grid;flex:1 1 auto;min-width:0;gap:2px}.wp-title-block strong{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-size:12px;line-height:1.2}.wp-code{white-space:nowrap}.wp-row .wp-title-block small{display:block;min-width:0;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-actions{display:flex;align-items:flex-start;flex:0 0 auto;gap:1px;margin-left:3px}.wp-actions .inline-add{padding:2px 4px;font-size:10px;line-height:1.2;white-space:nowrap}.wp-actions .wp-delete-button{padding:2px 5px;font-size:9px;font-weight:700}
.project-cost-settings{max-width:760px}.project-settings-form{margin-top:20px}.project-settings-source{display:grid;gap:2px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f7faf9}.project-settings-source span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.project-settings-source small{color:var(--muted)}

/* One clear home for consortium identity and project-only calculation rules. */
.project-cost-settings{max-width:900px}.organization-profile-summary{margin:0 0 22px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--org-color,var(--primary));border-radius:8px;background:#f8fbfa}.organization-profile-summary>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.organization-profile-summary h4,.settings-section-heading h4{margin:1px 0 0;font-size:14px}.section-kicker{margin:0;color:var(--primary);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.organization-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:0}.organization-profile-facts div{min-width:0}.organization-profile-facts dt{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.organization-profile-facts dd{margin:2px 0 0;overflow-wrap:anywhere;font-size:11px}.organization-profile-facts a{color:var(--primary)}.shared-profile-note,.profile-scope-note{margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.settings-section-heading{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.compact-button{padding:6px 9px;font-size:10px}.organization-profile-dialog .modal-card{width:min(680px,calc(100vw - 28px))}.organization-profile-dialog .profile-scope-note{margin:0 0 14px;padding:9px 11px;border-radius:6px;background:var(--primary-soft)}
.participant-logo-setting{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 22px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--org-color,var(--primary));background:#fff}.participant-logo-preview{display:grid;place-items:center;width:120px;height:62px;padding:7px;border:1px dashed var(--line-strong);background:#f8faf9}.participant-logo-preview img{display:block;width:100%;height:100%;object-fit:contain}.participant-logo-preview span{color:var(--muted);font-size:9px;text-align:center}.participant-logo-copy h4{margin:2px 0;font-size:13px}.participant-logo-copy p,.participant-logo-copy small{display:block;margin:0;color:var(--muted);font-size:9px}.participant-logo-dialog .modal-card{width:min(600px,calc(100vw - 28px))}
@media(max-width:620px){.organization-profile-facts{grid-template-columns:1fr}.organization-profile-summary>header{align-items:flex-start}.project-cost-settings{padding:14px}.participant-logo-setting{grid-template-columns:92px minmax(0,1fr)}.participant-logo-preview{width:92px}.participant-logo-setting>.button{grid-column:1/-1;justify-self:start}}

/* Official project window and retained overflow planning horizon. */
.month-head.outside-official,.month-cell.outside-official{background:#e7e9e8;color:#75807d}.month-head.outside-official{border-top:3px solid #a7afad}.month-cell.outside-official{background:repeating-linear-gradient(135deg,#eceeed,#eceeed 8px,#e7e9e8 8px,#e7e9e8 16px)}.month-head.crosses-official{background:linear-gradient(90deg,#f7faf9 50%,#e7e9e8 50%);border-right:2px solid #8d9996}.bar.crosses-official{border-right:3px dashed #687570}.bar.outside-official{filter:grayscale(.8);opacity:.72;border-style:dashed}.task-row.has-overflow>.timeline-label{box-shadow:inset -3px 0 #8d9996}.task-row.has-overflow .task-title-button small{color:#6d6250}.project-duration-preview{margin:-2px 0 4px}

/* Keep every editor inside the viewport with its primary actions reachable. */
.quick-popover{left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:0 0 0 100vmax #102b2670,0 18px 52px #17312d4d}.quick-head{position:sticky;top:-14px;z-index:3;margin:-14px -14px 0;padding:14px 14px 4px;background:#fff}.quick-actions{position:sticky;bottom:-14px;z-index:3;margin:10px -14px -14px;padding:10px 14px 14px;border-top:1px solid var(--line);background:#fff}.modal{max-height:calc(100dvh - 24px);overflow:visible}.modal-card{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.modal-head{position:sticky;top:-22px;z-index:3;margin:-22px -22px 10px;padding:22px 22px 6px;background:#fff}.modal-actions{position:sticky;bottom:-22px;z-index:3;margin:12px -22px -22px;padding:12px 22px 22px;border-top:1px solid var(--line);background:#fff}.task-details-head>.button[data-edit-task]{display:none}

/* Task schedule bars expose clear, full-height resize ends. */
.assignment-bar.over-capacity{border-color:var(--danger);background:#fde9e7;color:#8f2f28;box-shadow:inset 0 -3px 0 var(--danger)}
.assignment-bar.over-capacity .resize-handle{background:#c23d3320}
.assignment-bar.over-capacity .vertical-drag-handle{color:#8f2f28}
.task-bar{padding-inline:14px}
.task-bar .resize-handle{top:0;bottom:0;width:13px;background:#ffffff18}
.task-bar .resize-handle.left{left:0;border-radius:5px 0 0 5px;border-right:1px solid #ffffff8f}
.task-bar .resize-handle.right{right:0;border-radius:0 5px 5px 0;border-left:1px solid #ffffff8f}
.task-bar .resize-handle::after{content:"";position:absolute;top:4px;bottom:4px;left:50%;border-left:2px solid #fff;opacity:.9}
.task-bar .resize-handle:hover,.task-bar .resize-handle:active{background:#ffffff42}

/* Search-first assignment picker with role placeholders as a first-class choice. */
.assignment-resource-picker{display:grid;gap:6px}.assignment-resource-picker>label{font-size:11px;font-weight:700}.resource-picker-search{position:relative}.resource-picker-search>span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.resource-picker-search input{padding-right:32px}.resource-picker-filters{display:flex;gap:5px}.resource-picker-filters button{min-height:28px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.resource-picker-filters button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.resource-picker-results{max-height:210px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 8px 20px #17312d1a}.resource-picker-results>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:0;border-bottom:1px solid #edf2f0;background:#fff;text-align:left;cursor:pointer}.resource-picker-results>button:last-child{border-bottom:0}.resource-picker-results>button:hover,.resource-picker-results>button:focus-visible,.resource-picker-results>button[aria-selected="true"]{background:#edf6f3}.resource-picker-results>button span{display:grid;min-width:0}.resource-picker-results>button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.resource-picker-results>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.resource-picker-results>button>b{flex:0 0 auto;padding:2px 5px;border-radius:999px;background:#eef2f1;color:var(--muted);font-size:8px}.resource-picker-results>button>b:first-letter{text-transform:uppercase}.resource-picker-results>p{margin:0;padding:12px;color:var(--muted);font-size:10px}

/* Compact official budget matrix embedded in the BF report. */
.report-budget-caption{margin:-4px 0 10px;color:var(--muted);font-size:9px}.report-bf-budget .budget-table-scroll{overflow:visible;border:1px solid var(--line)}.report-budget-table{min-width:0;table-layout:fixed;font-size:8px;line-height:1.25}.report-budget-table th,.report-budget-table td{padding:5px 6px;white-space:normal}.report-budget-table th:first-child{width:25%;min-width:0}.report-budget-table th:nth-child(2){width:6%}.report-budget-table th:nth-child(3){width:12%}.report-budget-table .budget-instructions{width:24%;min-width:0;max-width:none;font-size:7px}.report-budget-table thead th{font-size:7px}.report-budget-table .budget-section-row th{padding:4px 6px;font-size:7px}.report-budget-table .budget-year-value{color:#087f48}
@media print{.report-bf-budget{break-before:page;break-inside:avoid}.report-budget-table{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Word-style BF report structure and screenshot-ready timetable. */
.bf-report{font-family:Arial,Helvetica,sans-serif;color:#182521}.report-facts-single{grid-template-columns:1fr;max-width:360px}.report-abstract{font-size:12px;line-height:1.65;margin-bottom:18px}.report-section>h2{padding-bottom:6px;border-bottom:1px solid var(--line);font-size:18px}.report-section>h3{font-size:14px;margin-bottom:6px}.report-wp{break-inside:auto}.report-wp>header{padding-bottom:5px;border-bottom:2px solid var(--ink)}.report-wp>header h3{font-size:16px}.report-task{margin:16px 0 22px;break-inside:avoid}.report-task h4{margin:0 0 7px;font-size:13px}.report-task h5{margin:10px 0 4px;font-size:11px}.report-task>p{margin-bottom:8px;line-height:1.55}.report-result-list{margin:4px 0 10px;padding-left:22px}.report-result-list li{margin:3px 0;font-size:10px}.bf-report .report-task-inputs{margin-top:9px}.report-task-inputs th,.report-task-inputs td{padding:4px 6px;font-size:9px}.report-task-inputs th:first-child{width:16%}.report-task-inputs th:nth-child(3),.report-task-inputs th:nth-child(4){width:14%;text-align:right}.report-task-inputs td:nth-child(3),.report-task-inputs td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.report-timetable-section{break-inside:auto}.report-timeline-scroll{overflow-x:auto;border:1px solid var(--line)}.bf-report .report-timeline{min-width:800px;margin:0;table-layout:fixed}.report-timeline th,.report-timeline td{padding:0;border:1px solid #dce6e3}.report-timeline thead th:first-child,.report-timeline tbody th{width:180px;padding:4px 6px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-timeline thead th:not(:first-child){width:25px;height:42px;text-align:center;font-size:7px}.report-timeline thead th span,.report-timeline thead th small{display:block}.report-timeline thead th small{font-size:5px;line-height:1.1;text-transform:none}.report-timeline tbody th{font-size:8px;text-transform:none;color:var(--ink)}.report-timeline tbody td{height:18px;background:#fff}.report-timeline tbody td.active{background:var(--primary);box-shadow:inset 0 3px #fff,inset 0 -3px #fff}.report-timeline .outside-official{background:#e7e9e8}.report-timeline-wp th,.report-timeline-wp td{background:#edf4f2!important;font-weight:800}.report-timeline-wp td{height:20px}
@media print{.report-task{break-inside:avoid}.report-timetable-section{break-before:page}.report-timeline-scroll{overflow:visible}.report-timeline,.report-timeline td.active,.report-timeline-wp th,.report-timeline-wp td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.project-abstract-panel{margin-bottom:16px}.project-abstract-panel form{margin-top:12px}.project-abstract-panel textarea{min-height:150px;line-height:1.55}.abstract-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.abstract-actions .muted{font-size:10px}

/* Light EU-style work-package hierarchy with named project personnel. */
.report-wp{margin:22px 0 30px;border:1px solid #d8e5e1;border-radius:8px;overflow:hidden;background:#fff}.report-wp>header{padding:10px 12px;border:0;background:#eaf4f1}.report-wp>header span{color:#55726a}.report-wp-meta{display:grid;grid-template-columns:1fr 1.5fr 1fr;margin:0;border-bottom:1px solid #dfe9e6}.report-wp-meta>div{padding:8px 11px;border-right:1px solid #dfe9e6}.report-wp-meta>div:last-child{border-right:0}.report-wp-meta dt{font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.report-wp-meta dd{margin:2px 0 0;font-size:10px;font-weight:750}.report-wp-meta dd small{display:block;color:var(--muted);font-weight:500}.report-wp-objective,.report-wp-description{padding:10px 12px;border-bottom:1px solid #e5ecea}.report-wp-objective h4,.report-wp-description h4{margin:0 0 4px;color:var(--primary);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.report-wp-objective p,.report-wp-description p{margin:0;font-size:10px;line-height:1.5}.report-task{margin:0;padding:13px 12px 15px;border-bottom:1px solid #e5ecea}.report-task:last-child{border-bottom:0}.report-task-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.report-task-heading h4{margin:0}.report-task-heading>span{flex:0 0 auto;color:var(--muted);font-size:8px}.report-task-inputs tbody tr:nth-child(odd){background:#f8fbfa}.report-task-inputs td strong{font-weight:750}.report-task-inputs td small{margin-top:1px;font-size:8px}.report-task-inputs th{background:#f1f7f5;color:#49675f}.report-task-inputs th:first-child{width:14%}.report-task-inputs th:nth-child(2){width:auto}.report-task-inputs th:nth-child(3),.report-task-inputs th:nth-child(4){width:13%}
@media(max-width:700px){.report-wp-meta{grid-template-columns:1fr}.report-wp-meta>div{border-right:0;border-bottom:1px solid #dfe9e6}.report-task-heading{display:block}}

/* Keep work-package identity and controls readable in the narrow planner label pane. */
.wp-row .timeline-label{grid-template-columns:minmax(0,1fr);align-content:start;row-gap:5px;height:auto;min-height:64px}
.wp-row .timeline-label>span.wp-identity:first-child{display:flex;align-items:flex-start;width:100%;overflow:visible;white-space:normal}
.wp-title-block strong{display:grid;gap:1px;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset;font-size:12px;line-height:1.25;white-space:normal}
.wp-title-block .wp-code,.wp-title-block .wp-name{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}
.wp-title-block .wp-code{font-size:10px;color:var(--primary)}
.wp-row .wp-title-block small{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.3}
.wp-row .wp-actions{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin:0 0 0 20px}

/* Thesis-style report: square sections and compact inline task inputs. */
/* Work-package summary in two readable columns, without card or task dividers. */
.report-wp-description h4{font-size:10px!important}.report-wp-description h4::before{content:none!important}@media(min-width:701px){.report-wp{display:flex;flex-wrap:wrap}.report-wp>header,.report-wp-meta{width:100%;order:1}.report-wp-meta{order:2}.report-wp-description{order:3;margin-left:0;padding-left:0!important;border-left:0!important}.report-wp-objective{order:4;margin-left:10px;padding-left:12px!important;border-left:1px solid var(--line)!important}.report-task{order:5;width:100%}}
.report-wp>header{border-top:0!important}.report-wp>header span{display:none}.report-wp-objective,.report-wp-description{display:inline-block;box-sizing:border-box;vertical-align:top;width:calc(50% - 7px);min-height:0;margin:0;padding:9px 12px 9px 0!important;border:0!important;overflow:visible}.report-wp-description{margin-left:10px;padding-left:12px!important;border-left:1px solid var(--line)!important}.report-wp-objective h4,.report-wp-description h4{margin:0 0 4px}.report-wp-description h4{font-size:0!important}.report-wp-description h4::before{content:'Description';font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}.report-wp-objective p,.report-wp-description p{overflow-wrap:anywhere;word-break:normal}.report-task{clear:both;border-bottom:0!important}.report-task:last-child{border-bottom:0!important}@media(max-width:700px){.report-wp-objective,.report-wp-description{display:block;width:100%;margin:0;padding:8px 0!important}.report-wp-description{border-left:0!important;border-top:1px solid var(--line)!important}}
.report-wp-description h4{font-size:10px!important}.report-wp-description h4::before{content:none!important}@media(min-width:701px){.report-wp{display:flex;flex-wrap:wrap}.report-wp>header{width:100%;order:1}.report-wp-meta{width:100%;order:2}.report-wp-description{order:3;margin-left:0!important;padding-left:0!important;border-left:0!important}.report-wp-objective{order:4;margin-left:10px!important;padding-left:12px!important;border-left:1px solid var(--line)!important}.report-task{order:5;width:100%}}
/* Compact, document-style results register: no status column or grid lines. */
.bf-report .report-results-table{margin-top:7px;table-layout:fixed}.bf-report .report-results-table th,.bf-report .report-results-table td{padding:4px 6px;border-bottom:0;vertical-align:top;font-size:9px;line-height:1.28}.bf-report .report-results-table th{font-size:7px}.bf-report .report-results-table th:nth-child(1){width:9%}.bf-report .report-results-table th:nth-child(2){width:10%}.bf-report .report-results-table th:nth-child(4){width:8%;white-space:nowrap}.bf-report .report-results-table th:nth-child(5){width:8%;white-space:nowrap}.bf-report .report-results-table td small{margin-top:1px;font-size:8px}.bf-report .report-results-table .report-edit-control{min-width:18px;min-height:18px;margin-left:3px;font-size:8px}
.bf-report .report-results-table th,.bf-report .report-results-table td{padding:2px 6px;font-size:10px;line-height:1.18}.bf-report .report-results-table th{font-size:8px}.bf-report .report-results-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;word-break:normal}.bf-report .report-results-table td strong{font-weight:750}.bf-report .report-results-table td small{font-size:8px;line-height:1.1}.bf-report .report-results-table .report-edit-control{min-width:17px;min-height:17px;vertical-align:middle}
.bf-report .report-task h5,.bf-report .report-result-list{display:none}.bf-report .report-task-input-lines{margin-top:7px;padding:2px 0;border:0}.bf-report .report-task-input-lines p{padding:2px 0;font-size:10px;line-height:1.35}.bf-report :is(small,th,td,dt,figcaption,.report-kicker,.report-task-heading>span,.report-wp-meta dt,.report-wp-objective h4,.report-wp-description h4){font-size:10px!important}
.report-wp{border:0;border-radius:0;overflow:visible;background:transparent}.report-wp>header{padding:8px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent}.report-wp-meta{border-bottom:1px solid var(--line)}.report-wp-meta>div:first-child{padding-left:0}.report-wp-objective,.report-wp-description{padding:10px 0}.report-task{padding:13px 0}.report-task-input-lines{margin-top:9px;padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.report-task-input-lines p{margin:0;padding:3px 0;font-size:9px;line-height:1.45}.report-task-input-lines p strong{color:var(--primary)}.report-task-input-lines p b{white-space:nowrap}.report-task-input-lines span{white-space:normal}

/* Resource register: person leads, organization follows the name. */
.report-resources-table{table-layout:fixed}.report-resources-table th:nth-child(1){width:100%}.report-resources-table th,.report-resources-table td{font-size:10px!important;line-height:1.45;vertical-align:top}.report-resource-person{display:flex;align-items:flex-start;gap:10px}.report-resource-person img{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.report-resource-person strong{display:block;font-size:11px}.report-resource-person small{display:block;margin-top:3px;color:var(--muted);line-height:1.45;font-size:10px!important}.report-resource-person em{display:block;margin-top:5px;color:var(--primary);font-size:10px;font-style:normal;font-weight:750}.report-resources-table .report-edit-control{margin-left:4px;vertical-align:middle}.person-profile-preview{display:flex;gap:9px;align-items:flex-start;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.4}.person-profile-preview img{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.person-profile-preview p{margin:0}
.report-resources-table tbody tr,.report-resources-table tbody td{border-bottom:0!important}.report-resources-table tbody td{padding-top:9px;padding-bottom:9px}
.roster-summary{font-size:11px;color:var(--primary)!important;margin-top:6px!important}.roster-bulk-actions{display:inline-flex;gap:4px}.person-card.is-project-inactive{opacity:.68;border-top-color:var(--line)}.person-card.is-project-inactive:hover{opacity:.9}.project-resource-toggle{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;color:var(--primary);white-space:nowrap}.project-resource-toggle input{width:16px;height:16px;accent-color:var(--primary)}.project-resource-toggle input:disabled+span{color:var(--muted)}

/* Centrally approved accounts and project access. */
.account-password-link{margin-top:2px;color:#c9ded8;font-size:9px;text-decoration:underline;text-underline-offset:2px}.password-card{width:min(480px,calc(100vw - 30px))}.password-card small{color:var(--muted);font-weight:500}.password-logout{margin-top:12px}.access-panel{max-width:1100px}.table-scroll{overflow-x:auto}.access-table td:first-child{min-width:240px}.access-table td:first-child small{display:block;margin-top:2px;color:var(--muted)}.access-table select{min-width:130px}.access-actions{display:flex;flex-wrap:wrap;gap:6px}.status.active{background:var(--primary-soft);color:var(--primary)}.status.archived{background:var(--danger-soft);color:var(--danger)}.status.pending{background:var(--warning-soft);color:var(--warning)}.temporary-credential{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:16px 0}.temporary-credential code{display:block;padding:13px;border:1px solid var(--line-strong);border-radius:7px;background:#f5f8f7;font:700 16px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;user-select:all}.notice.warning{background:var(--warning-soft);color:var(--warning)}
