:root{color:#202427;background:#f5f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid #dfe4ea;padding:0 28px;background:#fff}.brand{color:#17202a;font-size:1rem;font-weight:800;text-decoration:none}.topbar nav{display:flex;gap:18px;color:#53606b;font-size:.92rem}.topbar nav a{text-decoration:none}.link-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer}.content{width:min(1280px,calc(100vw - 40px));margin:0 auto;padding:32px 0 56px}.eyebrow{margin:0 0 12px;color:#4c6a7d;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:14px;max-width:760px;font-size:2rem;line-height:1}.primary-panel h1{font-size:3rem}h2{font-size:1.05rem}h3{font-size:1rem}.lede{max-width:720px;color:#53606b;font-size:1.08rem;line-height:1.6}.panel,.row,.project-card,.capacity-panel{border:1px solid #dfe4ea;border-radius:8px;background:#fff}.panel{padding:24px}.primary-panel{min-height:360px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.compact-actions{margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #c8d1da;border-radius:6px;padding:0 14px;background:#fff;color:#202427;font-weight:750;text-decoration:none;cursor:pointer}.button.primary{border-color:#1f6f8b;background:#1f6f8b;color:#fff}.button.secondary{background:#f8fafb}.button:disabled{cursor:not-allowed;opacity:.62}.icon-button{width:40px;min-width:40px;padding:0;font-size:1.45rem;line-height:1}.tooltip-control{position:relative}.tooltip-control:before,.tooltip-control:after{position:absolute;left:50%;z-index:30;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .12s ease,transform .12s ease}.tooltip-control:after{content:attr(data-tooltip);bottom:calc(100% + 8px);border-radius:4px;padding:5px 8px;background:#202427;color:#fff;font-size:.78rem;font-weight:750;line-height:1.2;white-space:nowrap}.tooltip-control:before{content:"";bottom:calc(100% + 3px);border:5px solid transparent;border-top-color:#202427}.tooltip-control:hover:before,.tooltip-control:hover:after,.tooltip-control:focus-visible:before,.tooltip-control:focus-visible:after{opacity:1;transform:translate(-50%) translateY(-2px)}.label-with-help{display:inline-flex;align-items:center;gap:6px;min-width:0}.info-tooltip{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 auto;border:1px solid #9fb0bd;border-radius:50%;background:#fff;color:#53606b;font-size:.72rem;font-style:normal;font-weight:900;line-height:1;cursor:help}.info-tooltip:after{width:min(340px,calc(100vw - 48px));white-space:normal;text-align:left;font-weight:650}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.narrow,.form-panel{max-width:680px}label,fieldset{display:grid;gap:8px;margin:18px 0;color:#38424b;font-weight:700}fieldset{border:1px solid #dfe4ea;border-radius:8px;padding:14px}legend{padding:0 6px}input,select,textarea{width:100%;border:1px solid #c8d1da;border-radius:6px;padding:10px 12px;color:#202427;background:#fff}textarea{min-height:120px;resize:vertical}.choice{grid-template-columns:18px 1fr;align-items:start;margin:6px 0;font-weight:500}.choice input{width:auto;margin-top:3px}.detail-list{display:grid;gap:10px;margin:20px 0}.detail-list div{display:grid;grid-template-columns:160px 1fr;gap:12px}.detail-list dt{color:#53606b}.detail-list dd{margin:0;font-weight:750}.org-picker-list{display:grid;gap:10px;margin-top:18px}.org-picker-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;width:100%;border:1px solid #dfe4ea;border-radius:8px;padding:12px 14px;background:#fff;color:#202427;text-align:left;cursor:pointer}.org-picker-row:hover,.org-picker-row:focus-visible{border-color:#8aa8b9;outline:none}.org-picker-row span:first-child{display:grid;min-width:0;gap:3px}.org-picker-row small{overflow:hidden;color:#53606b;text-overflow:ellipsis}.org-picker-row span:last-child{flex:0 0 auto;color:#1f6f8b;font-weight:800}.message{border:1px solid #dfe4ea;border-radius:6px;padding:12px;background:#f8fafb;color:#38424b}.message.success{border-color:#badbcb;background:#edf8f1;color:#247246}.message.error{border-color:#e3b8ae;background:#fff4f1;color:#9a3f2f}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.toolbar.compact h1{font-size:1.8rem}.toolbar p,.row p,.project-card p{margin-bottom:0;color:#64717d;line-height:1.5}.list{display:grid;gap:12px}.row-actions{display:flex;align-items:end;flex-wrap:wrap;justify-content:flex-end;gap:10px}.planner-toolbar-actions .button{flex:0 0 auto}.planner-toolbar-actions{align-items:center}.view-toggle{flex:0 0 auto}.planner-view-segment{grid-template-columns:repeat(2,40px);min-height:40px;width:82px}.planner-view-segment button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:38px;padding:0}.view-icon{display:grid;width:18px}.detailed-view-icon{gap:3px}.detailed-view-icon span{display:flex;align-items:center;gap:3px;height:3px}.detailed-view-icon span:before,.detailed-view-icon span:after,.compact-view-icon span{content:"";display:block;border-radius:999px;background:currentColor}.detailed-view-icon span:before{width:3px;height:3px}.detailed-view-icon span:after{flex:1;height:2px}.compact-view-icon{gap:4px}.compact-view-icon span{height:2px;width:18px}.planner-period-select{flex:0 0 150px;width:150px;height:40px;min-height:40px;padding-top:0;padding-bottom:0}.period-selector{display:grid;min-width:150px;gap:6px;margin:0;text-align:left}@media(min-width:641px){.planner-toolbar-actions{flex-wrap:nowrap}}.row{min-height:88px;padding:16px}.empty-state{display:grid;justify-items:start;max-width:760px;border:1px dashed #aebbc6;border-radius:8px;padding:28px;background:#fff}.empty-state p{max-width:620px;color:#53606b;line-height:1.55}.setup-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:20px;align-items:start}.settings-layout{display:grid;grid-template-columns:220px minmax(0,860px);gap:20px;align-items:start}.steps,.settings-nav{display:grid;gap:8px}.step{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;min-height:40px;border:1px solid transparent;border-radius:6px;padding:6px 8px;background:transparent;color:#53606b;font-weight:700;text-align:left;cursor:pointer}.settings-tab{min-height:40px;border:1px solid transparent;border-radius:6px;padding:8px 10px;background:transparent;color:#53606b;font-weight:750;text-align:left;cursor:pointer}.step.active,.settings-tab.active{border-color:#b8d9e4;background:#edf7fa;color:#17202a}.step span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#dcecf2;color:#1f6f8b}.setup-panel{min-height:560px}.setup-action-bar{position:static;display:grid;gap:12px;margin-top:22px;border:1px solid #dfe4ea;border-radius:8px;padding:12px;background:#fffffff5;box-shadow:0 12px 28px #2024271f}.setup-action-bar .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:0}.setup-action-bar .button{flex:0 0 auto;white-space:nowrap}.settings-panel h2{margin-bottom:18px}.toast{position:fixed;top:84px;right:24px;z-index:50;display:grid;grid-template-columns:minmax(0,1fr);gap:10px 14px;width:min(420px,calc(100vw - 32px));border:1px solid #dfe4ea;border-radius:8px;padding:14px;background:#fff;box-shadow:0 18px 42px #2024272e}.toast strong{display:block;margin-bottom:4px}.toast p{margin:0;color:#38424b;line-height:1.45}.toast.error{border-color:#e3b8ae;background:#fff8f6}.toast.error strong{color:#9a3f2f}.toast.success{border-color:#badbcb;background:#f4fbf6}.toast.success strong{color:#247246}.toast.info{border-color:#b8d9e4;background:#f3fafc}.toast.info strong{color:#1f6f8b}.toast-actions{grid-column:1 / -1;display:flex;justify-content:flex-start}.settings-form{max-width:560px}.setup-subtitle{margin-bottom:18px;color:#53606b;font-weight:750}.setup-step{display:grid;gap:16px}.setup-step>p,.step-intro p,.modal-heading p{color:#53606b;line-height:1.55}.step-intro{display:flex;align-items:start;justify-content:space-between;gap:18px}.step-intro p{margin-bottom:0}.setup-items{display:grid;gap:10px}.setup-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e4e9ee;border-radius:8px;padding:14px;background:#fbfcfd}.setup-item.stacked{align-items:stretch;flex-direction:column}.setup-item.dragging{opacity:.62}.draggable-item{cursor:grab}.item-heading,.item-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-actions{flex-wrap:wrap;justify-content:flex-end}.item-summary{color:#64717d;font-weight:700}.item-summary p{margin:0}.compact-field{width:min(100%,420px);margin:0}.compact-fieldset{margin:0}.nested-list{display:grid;gap:10px}.nested-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.nested-row.role-editor{grid-template-columns:minmax(180px,1fr) minmax(150px,200px) minmax(150px,200px) auto}.nested-row label{margin:0}.team-add-row{border-top:0;margin-bottom:18px;padding-top:0}.team-panel-list,.team-panel{gap:16px}.team-panel.has-overrides{border-color:#efd29a;background:#fffaf0;box-shadow:inset 3px 0 #d59a24}.team-panel-heading{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,240px) auto;gap:14px;align-items:end}.team-name-field{margin:0}.team-name-field input{font-size:1rem;font-weight:800}.team-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.overrides-inline{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;border:1px solid #dfe6ec;border-radius:6px;padding:8px 10px;background:#fff}.overrides-inline.default{border-color:transparent;padding:0;background:transparent}.overrides-inline.modified{border-color:#efd29a;background:#fff6e1}.overrides-inline span{overflow:hidden;color:#53606b;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.overrides-inline .button{min-height:32px;padding:7px 10px}.override-modified-button{min-height:32px;border:1px solid #c88314;border-radius:999px;padding:6px 11px;background:#f6b642;color:#30200b;font-weight:900;line-height:1}.override-modified-button:hover{background:#e7a62f}.link-button:disabled{cursor:not-allowed;opacity:.55}.team-roles-section{display:grid;gap:10px;border-top:1px solid #eef2f5;padding-top:14px}.team-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-section-heading h3{margin:0}.team-section-heading span{color:#64717d;font-size:.9rem;font-weight:750}.role-editor-block{display:grid;gap:10px;border-top:1px solid #eef2f5;padding-top:12px}.role-editor-block:first-child{border-top:0;padding-top:0}.role-editor-block.has-overrides{border-left:3px solid #d59a24;border-radius:6px;padding:10px 0 10px 10px;background:#fffaf0}.role-editor-block.has-overrides:first-child{padding-top:10px}.role-editor-heading{display:grid;grid-template-columns:minmax(160px,260px) minmax(170px,1fr) auto;gap:12px;align-items:end}.role-editor-heading label{margin:0}.role-name-field input{font-weight:750}.role-overrides-inline{align-self:end}.nested-add{border-top:0;padding-top:0}.period-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.period-editor label{min-width:0;margin:0}.period-override-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.period-override-grid label{margin:0}.period-overrides-modal{width:min(760px,100%)}.overrides-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.overrides-modal-fields label,.period-override-fieldset{margin:0}.period-override-fieldset .inline-help{margin:0 0 12px}.period-override-list{display:grid;gap:10px}.period-override-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,220px);gap:14px;align-items:end;border-top:1px solid #eef2f5;padding-top:10px}.period-override-row:first-child{border-top:0;padding-top:0}.period-override-row div{display:grid;gap:4px}.period-override-row span{color:#64717d;font-size:.9rem;font-weight:650}.period-override-row label{margin:0}.access-list{display:grid;gap:12px}.access-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,240px) auto;gap:14px;align-items:start;border:1px solid #e4e9ee;border-radius:8px;padding:14px;background:#fbfcfd}.member-identity h3{margin-bottom:6px}.member-identity p{margin:0;color:#64717d;line-height:1.45}.access-row label,.access-row fieldset{margin:0}.access-actions{display:flex;justify-content:flex-end}.org-users-list{display:grid;gap:14px}.org-user-card{display:grid;gap:16px;border:1px solid #dfe4ea;border-radius:8px;padding:16px;background:#fff}.org-user-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,240px);gap:14px;align-items:start}.org-role-field{margin:0}.department-role-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.department-role-grid label{margin:0}.invite-create-form .org-user-heading,.invite-card .org-user-heading{grid-template-columns:minmax(220px,1fr) auto}.invite-status-column{display:flex;align-items:center;justify-content:flex-end;gap:10px}.invite-url-field{margin:0}.invite-url-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.invite-details{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0}.invite-details div{min-width:0}.invite-details dt{color:#64717d;font-size:.76rem;font-weight:800;text-transform:uppercase}.invite-details dd{margin:4px 0 0;overflow:hidden;color:#2f3942;text-overflow:ellipsis;white-space:nowrap}.org-settings-details{grid-template-columns:repeat(3,minmax(140px,1fr))}.domain-list{display:grid;gap:10px}.domain-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4e9ee;border-radius:8px;padding:12px;background:#fbfcfd}.domain-row span{color:#64717d}.org-policy-card label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:0;border:1px solid #e4e9ee;border-radius:8px;padding:12px;background:#fbfcfd}.org-policy-card label:has(input[type=radio]:checked){border-color:#8fc5d7;background:#f1f9fc}.org-policy-card input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-content:center;width:20px;height:20px;margin:1px 0 0;border:2px solid #82909c;border-radius:50%;background:#fff;cursor:pointer}.org-policy-card input[type=radio]:before{content:"";width:10px;height:10px;border-radius:50%;background:#1f6f8b;transform:scale(0);transition:transform .12s ease}.org-policy-card input[type=radio]:checked{border-color:#1f6f8b}.org-policy-card input[type=radio]:checked:before{transform:scale(1)}.org-policy-card input[type=radio]:focus-visible{outline:3px solid rgba(31,111,139,.28);outline-offset:2px}.org-policy-card input[type=radio]:disabled{cursor:not-allowed;opacity:.7}.org-policy-card label span{min-width:0;line-height:1.45;overflow-wrap:anywhere}.audit-page{display:grid;gap:18px}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:14px}.audit-list{display:grid;gap:12px}.audit-card{display:grid;gap:12px;border:1px solid #dfe4ea;border-radius:8px;padding:16px;background:#fff}.audit-card-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.audit-card-heading h2{margin-bottom:4px;font-size:1.05rem}.audit-card-heading p{margin:0;color:#64717d}.audit-card pre{max-height:260px;margin:0;overflow:auto;border:1px solid #e6ebef;border-radius:8px;padding:12px;background:#f7f9fb;color:#25313b;font-size:.82rem;line-height:1.45}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.usage-card{display:grid;gap:12px;border:1px solid #dfe4ea;border-radius:8px;padding:16px;background:#fff}.usage-card.warning{border-color:#e4bc81;background:#fffbf3}.usage-card.over{border-color:#e3b8ae;background:#fff7f4}.usage-card>div:first-child{display:flex;align-items:start;justify-content:space-between;gap:12px}.usage-card h2{margin:0;font-size:1rem}.usage-card strong{color:#1f2a33;font-size:2.2rem;line-height:1}.usage-card p{margin:0;color:#64717d}.usage-meter{height:8px;border-radius:999px;background:#e6ebef;overflow:hidden}.usage-meter span{display:block;height:100%;border-radius:inherit;background:#4f8f66}.usage-card.warning .usage-meter span{background:#c58932}.usage-card.over .usage-meter span{background:#b55d44}.inline-form{display:grid;gap:14px;border-top:1px solid #eef2f5;padding-top:16px}.inline-form.two-column{grid-template-columns:minmax(0,1fr) auto;align-items:end}.inline-form.three-column{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.inline-form.period-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.inline-form label,.inline-form fieldset,.setup-step>label,.setup-step>fieldset{margin:0}.role-list{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #c8d1da;border-radius:999px;padding:5px 8px 5px 10px;background:#fff;color:#38424b;font-size:.9rem;font-weight:700}.pill.danger{border-color:#e5b6ac;background:#fff1ee;color:#963a2b}.pill button{width:22px;height:22px;border:0;border-radius:50%;background:#e8edf2;color:#38424b;cursor:pointer}.pill.danger button{background:#f6d5cf;color:#7e2f23}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#17202a6b}.modal{width:min(680px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;border:1px solid #dfe4ea;border-radius:8px;padding:22px;background:#fff}.modal-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}.modal-heading h2{margin-bottom:6px}.modal-heading p{margin-bottom:0}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal-form label,.availability-overrides{margin:0}.availability-grid{display:grid;gap:10px}.availability-row{display:grid;grid-template-columns:minmax(110px,.8fr) repeat(3,minmax(0,1fr));gap:12px;align-items:end}.availability-row span{align-self:center;color:#53606b;font-weight:800}.availability-row label{margin:0}.field-wide,.modal-actions{grid-column:1 / -1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eef2f5;padding-top:16px}.warning-list{display:grid;gap:10px;margin:0 0 18px;padding:0;list-style:none}.warning-list li{display:grid;gap:4px;border:1px solid #f0d1b8;border-radius:8px;padding:12px;background:#fff8f1}.warning-list span{color:#342921;font-weight:800}.warning-list small{color:#705846;font-weight:700}.planner{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.project-column{display:grid;gap:18px}.project-filter-panel{display:grid;gap:14px;padding:16px}.project-filter-panel.collapsed{gap:10px}.project-filter-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.project-filter-heading h2{margin-bottom:4px}.project-filter-heading p{margin:0;color:#64717d}.project-filter-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.active-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.project-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-filter-group{min-width:0;margin:0;padding:12px}.project-filter-group legend{color:#38424b;font-weight:850}.project-filter-options{display:grid;gap:6px;max-height:210px;overflow:auto;padding-right:2px}.project-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;min-height:34px;margin:0;color:#38424b;font-weight:650}.project-filter-option input{width:auto;margin-top:3px}.project-filter-option span{display:grid;gap:2px;min-width:0}.project-filter-option strong,.project-filter-option small{overflow-wrap:anywhere}.project-filter-option small{color:#64717d;font-weight:650}.project-filter-option.danger strong{color:#963a2b}.project-filter-option.danger small{color:#7e5a52}.priority-group{display:grid;gap:10px}.priority-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.priority-collapse-button{display:inline-flex;align-items:center;gap:8px;min-width:0;border:0;padding:0;background:transparent;color:#202427;cursor:pointer;font:inherit;font-size:1.25rem;font-weight:800}.priority-collapse-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-collapse-icon{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #c8d1da;border-radius:50%;background:#fff;color:#38424b;font-size:1rem;font-weight:850;line-height:1}.priority-collapse-button:focus-visible{outline:2px solid #2f6ca3;outline-offset:3px}.priority-project-count{flex:0 0 auto;border:1px solid #d5dde4;border-radius:999px;padding:4px 9px;background:#f8fafb;color:#53606b;font-size:.78rem;font-weight:800}.priority-group.collapsed{gap:0}.priority-group h2{margin:0}.priority-dot{width:10px;height:10px;border-radius:50%;background:#79838c}.priority-dot.red{background:#b44949}.priority-dot.blue{background:#2f6ca3}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease,transform .12s ease}.project-card.compact-card{align-items:center;gap:10px;min-height:48px;padding:9px 12px}.project-card.compact-card .project-card-main{gap:0}.project-card.compact-card .project-card-heading{align-items:center}.project-card.compact-card .project-card-heading h3{font-size:1rem;line-height:1.25}.project-card.compact-card .project-card-actions{align-items:center}.project-card.dragging{opacity:.58;transform:scale(.99);box-shadow:0 10px 22px #20242729;cursor:grabbing}.priority-group.reordering .project-card:not(.dragging){transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease,transform .14s ease}.project-card.clickable-card{cursor:pointer}.project-card.drop-target{outline:2px solid #2f6ca3;outline-offset:2px;box-shadow:0 8px 18px #2f6ca326}.project-card.over-capacity{border-color:#e3b8ae;box-shadow:inset 0 0 0 2px #d46f5e}.project-card-main{display:grid;gap:10px}.project-card-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.project-card-heading h3{margin:0}.project-title-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:left}.project-title-button:focus-visible{outline:2px solid #2f6ca3;outline-offset:3px}.project-card-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-card.compact-card .project-card-badges .pill{font-size:.78rem;padding:4px 9px}.project-card-actions{display:flex;align-items:start}body.project-touch-reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}.project-meta{display:flex;flex-wrap:wrap;gap:8px}.pill.readonly{padding-right:10px}.project-effort{font-size:.92rem}.project-description{overflow-wrap:anywhere;white-space:pre-wrap}.inline-description-text,.project-description a{color:#1f628f;display:inline;float:none;position:static;vertical-align:baseline}.inline-description-text{color:inherit;font-weight:inherit}.project-description a{font-weight:700}.empty-priority{border:1px dashed #d3dbe3;border-radius:8px;padding:14px;color:#64717d;background:#fbfcfd}.compact-empty-state{padding:18px}.deleted-projects{display:grid;gap:12px;border-top:1px solid #e4e9ee;padding-top:18px}.deleted-projects h2{margin-bottom:4px}.deleted-projects p{margin:0}.deleted-project-list{display:grid;gap:8px}.planner-debug-footer{display:flex;justify-content:flex-start;border-top:1px solid #eef2f5;padding-top:14px}.deleted-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e4e9ee;border-radius:8px;padding:12px;background:#fbfcfd}.deleted-project-row h3{margin-bottom:4px}.badge{align-self:start;border:1px solid #badbcb;border-radius:6px;padding:4px 9px;background:#edf8f1;color:#247246;font-size:.78rem;font-weight:800;white-space:nowrap}.badge.danger{border-color:#e3b8ae;background:#fff4f1;color:#9a3f2f}.badge.warning{border-color:#e4bc81;background:#fff6e7;color:#8b5a1f}.badge.muted{border-color:#d3dbe2;background:#f4f6f8;color:#64717d}.capacity-reasons{display:grid;gap:4px;margin:0;padding-left:18px;color:#9a3f2f;font-size:.9rem}.timeline-page{display:grid;gap:18px}.timeline-add{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:14px}.timeline-filter-panel{display:grid;gap:12px;padding:14px}.timeline-filter-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.timeline-filter-heading h2,.timeline-filter-heading p{margin:0}.timeline-filter-heading h2{font-size:1rem}.timeline-filter-heading p{color:#63707a;font-size:.9rem}.timeline-filter-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.timeline-filter-mode{width:190px}.timeline-filter-chip-list{display:flex;flex-wrap:wrap;gap:8px}.timeline-filter-chip{max-width:260px;text-align:left}.timeline-filter-chip span{display:grid;gap:2px;min-width:0}.timeline-filter-chip strong,.timeline-filter-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-filter-chip small{color:#64717d;font-size:.76rem}.timeline-filter-chip.selected{border-color:#1f6f8b;background:#eaf5fb;color:#173243}.timeline-unplaced{display:grid;gap:12px;padding:14px}.timeline-unplaced h2,.timeline-unplaced p{margin:0}.timeline-unplaced h2{font-size:1rem}.timeline-unplaced p{color:#63707a;font-size:.9rem}.timeline-pill-list{display:flex;flex-wrap:wrap;gap:8px}.timeline-assignment-pill{display:grid;gap:2px;max-width:280px;border:1px solid #c7d9e4;border-radius:999px;padding:8px 14px;background:#f5fbff;color:#1f3d4f;text-align:left;cursor:grab}.timeline-assignment-pill strong,.timeline-assignment-pill span,.timeline-assignment-pill small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-assignment-pill strong{font-size:.86rem}.timeline-assignment-pill span,.timeline-assignment-pill small{color:#526170;font-size:.76rem}.timeline-assignment-pill:disabled,.timeline-assignment-pill.disabled{cursor:not-allowed;opacity:.58}.timeline-assignment-pill:focus-visible{outline:2px solid #2f6ca3;outline-offset:2px}.timeline-lane-unplaced{display:grid;gap:6px;margin-top:8px}.timeline-assignment-pill.lane-pill{width:100%;max-width:100%;border-radius:7px;padding:6px 8px;background:#eef8ff}.timeline-assignment-pill.lane-pill strong{font-size:.78rem}.timeline-assignment-pill.lane-pill span{font-size:.7rem}.timeline-drag-preview{position:fixed;top:0;left:0;z-index:9999;display:grid;gap:3px;box-sizing:border-box;min-height:56px;padding:9px 12px;border:1px solid #9fc2d8;border-radius:8px;background:#eaf5fb;color:#173243;box-shadow:0 10px 22px #1a2b3829;contain:layout paint;opacity:.98;pointer-events:none;transform:translate(-10000px,-10000px)}.timeline-drag-preview strong,.timeline-drag-preview span,.timeline-drag-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-drag-preview strong{font-size:.82rem;line-height:1.15}.timeline-drag-preview span,.timeline-drag-preview small{color:#526170;font-size:.72rem;line-height:1.15}.timeline-grid-shell{overflow-x:auto;border:1px solid #dce3ea;border-radius:8px;background:#fff;overflow-anchor:none}.timeline-header,.timeline-row{display:grid;grid-template-columns:220px minmax(720px,1fr);min-width:940px}.timeline-header{position:sticky;top:0;z-index:4;border-bottom:1px solid #dce3ea;background:#f6f8fa}.timeline-lane-heading,.timeline-lane-label{padding:12px;border-right:1px solid #dce3ea}.timeline-lane-heading{color:#4b5660;font-size:.82rem;font-weight:850;text-transform:uppercase}.timeline-lane-label{display:grid;gap:4px;background:#fbfcfd}.timeline-lane-label span{color:#66727d;font-size:.82rem}.timeline-lane-label .timeline-over{color:#9a3f2f;font-weight:800}.timeline-week-grid{display:grid;min-width:0}.timeline-week-heading{display:grid;gap:3px;min-height:48px;padding:9px 8px;border-right:1px solid #dce3ea;color:#3f4b55}.timeline-week-heading span{color:#71808d;font-size:.78rem}.timeline-row{border-bottom:1px solid #eef2f5;overflow-anchor:none}.timeline-lane-grid{position:relative;min-height:76px;overflow-anchor:none}.timeline-cell{grid-row:1;display:grid;align-content:end;gap:3px;min-height:76px;padding:6px;border:0;border-right:1px solid #eef2f5;background:#fff;color:#5a6670;text-align:left;overflow:hidden}.timeline-cell.booked{background:#f7fbf9}.timeline-cell.over-capacity{background:#fff4ee}.timeline-cell.drop-ready{background:#f4faf7}.timeline-cell-meter{display:block;width:100%;height:4px;border-radius:999px;background:#e4ebf0;overflow:hidden}.timeline-cell-meter span{display:block;height:100%;border-radius:inherit;background:#4f8f66}.timeline-cell.over-capacity .timeline-cell-meter span{background:#b55d44}.timeline-cell-load,.timeline-cell-remaining{display:block;overflow:hidden;font-size:.68rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.timeline-cell-remaining{color:#6f7b85}.timeline-cell.over-capacity .timeline-cell-remaining{color:#9a3f2f;font-weight:800}.timeline-cell:focus-visible{outline:2px solid #2f6ca3;outline-offset:-2px}.timeline-block{position:relative;z-index:2;display:grid;gap:4px;align-self:center;min-width:0;margin:8px 6px;padding:10px 32px 10px 10px;border:1px solid #9fc2d8;border-radius:8px;background:#eaf5fb;color:#173243;box-shadow:0 8px 18px #1a2b381a}.timeline-drop-preview{position:relative;z-index:3;display:grid;grid-row:1;gap:4px;align-self:center;min-width:0;margin:8px 6px;padding:10px 32px 10px 10px;border:1px dashed #2f6ca3;border-radius:8px;background:#2f6ca324;color:#173243;box-shadow:inset 0 0 0 1px #2f6ca324;pointer-events:none}.timeline-drop-preview div{display:flex;gap:8px;justify-content:space-between;min-width:0}.timeline-drop-preview strong,.timeline-drop-preview span,.timeline-drop-preview p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-drop-preview strong{font-size:.82rem;line-height:1.15}.timeline-drop-preview span{font-size:.74rem;line-height:1.15}.timeline-drop-preview p{margin:0;color:#526170;font-size:.7rem;line-height:1.15}.timeline-block.warning{border-color:#e4bc81;background:#fff6e7}.timeline-block div{display:flex;gap:8px;justify-content:space-between;min-width:0}.timeline-block strong,.timeline-block span,.timeline-block p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-block strong{font-size:.82rem;line-height:1.15}.timeline-block span{font-size:.74rem;line-height:1.15}.timeline-block p{margin:0;color:#526170;font-size:.7rem;line-height:1.15}.timeline-block button{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #94b5ca;border-radius:50%;background:#fff;color:#24475f;font-weight:850;line-height:1}.capacity-panel{display:grid;gap:12px;padding:16px}.segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c8d1da;border-radius:6px;overflow:hidden}.segment button{min-height:36px;border:0;background:#fff;cursor:pointer}.segment button.active{background:#1f6f8b;color:#fff;font-weight:800}.capacity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:54px;border-top:1px solid #eef2f5;color:#53606b}.capacity-row-label{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.capacity-row-label strong{color:#38424b;font-weight:800;overflow-wrap:anywhere}.capacity-row-label small{color:#64717d;font-weight:700;overflow-wrap:anywhere}.capacity-team-group{display:grid;gap:2px}.capacity-team-heading{margin:12px 0 0;border-top:1px solid #e2e8ee;padding-top:10px;color:#202427;font-size:.86rem;font-weight:850}.capacity-team-group:first-child .capacity-team-heading{margin-top:0;border-top:0;padding-top:0}.capacity-values{display:inline-grid;grid-template-columns:max-content max-content max-content;gap:5px;align-items:baseline;justify-self:end;min-width:82px;text-align:right;white-space:nowrap}.capacity-value{font-weight:850;font-variant-numeric:tabular-nums}.capacity-value.consumed{color:#4c6574}.capacity-value.remaining{color:#1f7a55}.capacity-value.over{color:#9a3f2f}.capacity-value-divider{color:#9aa6b2;font-weight:700}.capacity-key{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:#64717d;font-size:.82rem}.capacity-key span{display:inline-flex;gap:5px;align-items:center}.capacity-key-dot{width:8px;height:8px;border-radius:999px;background:#4c6574}.capacity-key-dot.remaining{background:#1f7a55}.capacity-key-dot.over{background:#9a3f2f}.capacity-key-unit{margin-left:auto}.capacity-list{display:grid;gap:2px}.category-charts{display:grid;gap:14px;border-top:1px solid #eef2f5;padding-top:14px}.category-charts h2{margin:0}.category-chart{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center}.pie-chart{width:88px;aspect-ratio:1;border:1px solid #dfe4ea;border-radius:50%}.chart-legend{display:grid;gap:8px}.chart-legend h3{margin:0}.legend-row{display:flex;align-items:center;gap:8px}.legend-row span{width:12px;height:12px;border-radius:3px}.legend-row p{margin:0;color:#53606b;font-size:.9rem}.legend-row strong{color:#202427}.project-modal{width:min(920px,100%)}.capacity-debug-modal{width:min(1180px,calc(100vw - 32px))}.capacity-debug-table-wrap{overflow:auto;border:1px solid #d9e1e8;border-radius:8px}.capacity-debug-table{width:100%;min-width:920px;border-collapse:collapse;font-size:.86rem}.capacity-debug-table th,.capacity-debug-table td{border-right:1px solid #eef2f5;border-bottom:1px solid #e8eef3;padding:10px;vertical-align:top}.capacity-debug-table th:first-child{position:sticky;left:0;z-index:1;min-width:220px;background:#fff}.capacity-debug-table thead th{position:sticky;top:0;z-index:2;background:#f8fafb;color:#202427;text-align:left}.capacity-debug-table thead th:first-child{z-index:3;background:#f8fafb}.capacity-debug-table th span,.capacity-debug-table th small,.capacity-debug-table th em{display:block}.capacity-debug-table th small,.capacity-debug-table th em{margin-top:3px;color:#64717d;font-size:.78rem;font-style:normal;font-weight:700}.capacity-debug-table tbody th{color:#202427;font-weight:850}.capacity-debug-cell{display:grid;gap:3px;min-width:130px;border-left:4px solid #1f7a55;padding-left:8px}.capacity-debug-cell strong{color:#202427;font-variant-numeric:tabular-nums}.capacity-debug-cell span,.capacity-debug-cell em{color:#53606b;font-size:.78rem;font-style:normal;font-weight:700}.capacity-debug-cell.blocked{border-left-color:#b44949}.capacity-debug-cell.blocked em{color:#9a3f2f}.capacity-debug-cell.committed em{color:#1f7a55}.capacity-debug-empty{color:#9aa6b2}.project-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);gap:16px}.project-form label,.project-form fieldset{margin:0}.project-fieldset{display:grid;gap:14px}.project-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.project-category{display:grid;gap:8px;min-width:0}.project-category h3,.effort-team h3,.effort-line h3{margin:0}.multi-select-control{display:grid;gap:8px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.editable-pill{max-width:100%;overflow-wrap:anywhere}.editable-pill button{flex:0 0 auto}.inline-help{margin:0;color:#64717d;font-size:.9rem;font-weight:500;line-height:1.4}.capacity-simulator{max-width:980px}.simulator-controls{display:grid;gap:14px}.simulator-section{margin:0}.simulator-field-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.simulator-field-grid label{margin:0}.simulator-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}.simulator-summary-grid div{display:grid;gap:4px;border:1px solid #dfe6ec;border-radius:8px;padding:12px;background:#fbfcfd}.simulator-summary-grid span{color:#64717d;font-size:.76rem;font-weight:850;text-transform:uppercase}.simulator-summary-grid strong{color:#17202a;font-size:1.25rem}.simulator-table-wrap{overflow-x:auto;border:1px solid #dfe6ec;border-radius:8px}.simulator-table{width:100%;border-collapse:collapse;min-width:640px}.simulator-table th,.simulator-table td{padding:10px 12px;border-bottom:1px solid #edf1f4;text-align:left}.simulator-table th{color:#64717d;font-size:.76rem;font-weight:850;text-transform:uppercase}.simulator-table tr:last-child td{border-bottom:0}.capacity-state-pill{display:inline-flex;align-items:center;border:1px solid #badbcb;border-radius:999px;padding:4px 8px;background:#f4fbf6;color:#247246;font-size:.78rem;font-weight:850;white-space:nowrap}.capacity-state-pill.over_capacity{border-color:#e3b8ae;background:#fff8f6;color:#9a3f2f}.project-fieldset-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.assign-role-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;border:1px solid #dfe4ea;border-radius:8px;padding:12px;background:#fff}.assign-role-actions{display:flex;justify-content:flex-start}.effort-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #c8d1da;border-radius:8px;padding:14px;background:#fbfcfd}.effort-empty p{margin:0;color:#64717d;font-weight:650}.effort-line-list{display:grid;gap:12px}.effort-line{display:grid;gap:12px;border:1px solid #e4e9ee;border-radius:8px;padding:12px;background:#fbfcfd}.effort-line-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.effort-line-title{min-width:0}.effort-line-title p{margin:4px 0 0;color:#53606b;font-weight:650}.effort-entry-row{display:grid;grid-template-columns:minmax(180px,260px)}.people-assignment-panel{display:grid;gap:10px;border-top:1px solid #eef2f5;padding-top:12px}.people-assignment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.people-assignment-heading h4{margin:0;color:#38424b;font-size:.94rem}.person-picker-empty{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:12px;align-items:end}.people-assignment-table{display:grid;gap:0}.people-assignment-table-head,.people-assignment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(86px,110px) 88px;gap:12px;align-items:center}.people-assignment-table-head{border-bottom:1px solid #e4e9ee;padding-bottom:6px;color:#64717d;font-size:.8rem;font-weight:800;text-transform:uppercase}.people-assignment-row{min-height:48px;border-bottom:1px solid #eef2f5;padding:8px 0}.people-assignment-row select{min-width:0}.people-assignment-row>span:first-child{color:#202427;font-weight:750;overflow-wrap:anywhere}.assignment-effort-value{display:inline-flex;align-items:center;min-height:40px;color:#38424b;font-weight:700}.dri-checkbox{display:inline-flex;align-items:center;gap:6px;margin:0;color:#38424b;font-weight:750}.dri-checkbox input{width:auto}.dri-person-name,.dri-assignment-row select{font-weight:850}.assignment-total{margin:8px 0 0;color:#53606b;font-size:.9rem;font-weight:650}.field-errors{display:grid;gap:4px;margin:8px 0 0;padding-left:18px;color:#9a3f2f;font-size:.9rem;font-weight:750}.conflict-message{display:grid;gap:10px}.conflict-message p{margin:0}.conflict-actions{display:flex;justify-content:flex-start}.assignment-capacity-preview{grid-column:1 / -1;margin:-2px 0 0;color:#64717d;font-size:.88rem;font-weight:500;line-height:1.45}.effort-team{display:grid;gap:10px;border:1px solid #e4e9ee;border-radius:8px;padding:12px;background:#fbfcfd}.effort-role-row{display:grid;gap:8px;border-top:1px solid #eef2f5;padding-top:10px}.effort-role-row:first-of-type{border-top:0;padding-top:0}.effort-role-controls{display:grid;grid-template-columns:minmax(160px,220px) minmax(220px,1fr);gap:12px;align-items:end}.inline-assignment-list{display:grid;gap:8px}.inline-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:10px;align-items:end}.inline-assignment-row .pill{align-self:center}.assignment-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.assignment-list{display:grid;gap:10px}.assignment-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1fr) minmax(140px,180px) auto;gap:12px;align-items:end;border-top:1px solid #eef2f5;padding-top:10px}.assignment-row>span{align-self:center;color:#38424b;font-weight:750}.danger-button{margin-right:auto;border-color:#e3b8ae;color:#9a3f2f}@media(max-width:900px){.setup-layout,.settings-layout,.planner,.usage-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar,.project-card,.row{align-items:stretch}.inline-form.three-column,.inline-form.period-form,.overrides-modal-fields,.role-editor-heading,.simulator-field-grid,.simulator-summary-grid,.team-panel-heading,.nested-row.role-editor,.access-row,.availability-row,.audit-filters,.department-role-grid,.invite-details,.org-user-heading,.period-override-grid,.period-override-row,.period-editor,.project-form,.project-filter-grid,.project-category-grid,.assignment-row,.timeline-add{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.topbar{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 18px}.content{width:min(100vw - 28px,1280px);padding-top:24px}h1{font-size:2rem}.primary-panel h1{font-size:2.25rem}.steps,.settings-nav,.inline-form.two-column,.inline-form.three-column,.inline-form.period-form,.overrides-modal-fields,.role-editor-heading,.simulator-field-grid,.simulator-summary-grid,.team-panel-heading,.nested-row,.nested-row.role-editor,.access-row,.availability-row,.audit-filters,.department-role-grid,.invite-create-form .org-user-heading,.invite-card .org-user-heading,.invite-details,.org-user-heading,.period-override-grid,.period-override-row,.period-editor{grid-template-columns:1fr}.setup-item,.item-heading,.item-actions,.row-actions,.step-intro,.modal-heading,.modal-actions,.project-fieldset-toolbar,.effort-empty,.effort-line-header,.people-assignment-heading,.timeline-filter-heading,.timeline-filter-actions{align-items:stretch;flex-direction:column}.timeline-filter-mode{width:100%}.invite-status-column{align-items:stretch;justify-content:flex-start}.domain-row{align-items:flex-start;flex-direction:column}.audit-card-heading{align-items:stretch;flex-direction:column}.modal-backdrop{align-items:end;padding:14px}.modal{max-height:calc(100vh - 28px);padding:18px}.setup-action-bar .actions{align-items:stretch;flex-direction:column}.setup-action-bar .button{width:100%}.modal-form,.project-card,.project-card-heading,.project-form,.project-filter-heading,.project-filter-grid,.project-category-grid,.deleted-project-row,.assign-role-row,.effort-entry-row,.effort-role-controls,.inline-assignment-row,.person-picker-empty,.people-assignment-table-head,.people-assignment-row,.assignment-add-row,.assignment-row,.category-chart,.timeline-add{grid-template-columns:1fr}.project-card-actions,.danger-button{margin-right:0}.people-assignment-row{gap:8px}}
