.p21-workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.p21-workflow-actions button{min-height:36px;padding:8px 12px;border:1px solid #bdcdd4;border-radius:8px;background:#fff;color:#254252;font-weight:650;font-size:12px;cursor:pointer}
.p21-workflow-actions button[aria-pressed=true]{background:#e4f4ed;border-color:#69aa92;color:#126147}
.p21-workflow-actions button:disabled{opacity:.55;cursor:wait}
.p21-workflow-actions span{font-size:12px;color:#5a6f7c}
.p21-workflow-form{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;background:#f4f9fc;border:1px solid #cddfe9;border-radius:12px;margin-bottom:20px}
.p21-workflow-form>label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#2b485b}
.p21-workflow-form select{min-height:40px;padding:8px;border:1px solid #bacbd5;border-radius:8px;background:white;max-width:100%}
.p21-workflow-form>label.p21-workflow-check{display:flex;gap:8px;align-items:center;cursor:pointer}
.p21-workflow-check input{width:20px!important;height:20px!important;min-height:20px!important;accent-color:#198073}
.p21-workflow-form>small,.p21-workflow-form>p{flex-basis:100%;font-size:12px;color:#536777;margin:0}
.planner-card-financial{font-size:12px;color:#476172;line-height:1.6}
.planner-access-dialog{max-width:880px;width:calc(100% - 32px);max-height:90dvh}
.planner-access-dialog .tenant-planner-dialog-shell{grid-template-columns:minmax(0,1fr);max-height:90dvh}
.planner-access-dialog .tenant-planner-dialog-body{overflow:auto;min-height:0;align-content:start;grid-auto-rows:max-content}
/* The portal's generic *-list rule must not shrink expanded users into clipped grid tracks. */
.p21-access-list{display:grid;gap:10px;overflow:visible;min-height:min-content;align-content:start;grid-auto-rows:max-content}
.p21-access-row.p21-access-matrix{display:block;padding:0;overflow:hidden;background:rgba(255,255,255,.75);border-radius:16px}
.p21-access-matrix>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:16px;cursor:pointer;list-style:none}
.p21-access-matrix>summary::after{content:'+';font-size:22px;flex-shrink:0}.p21-access-matrix[open]>summary::after{content:'−'}
.p21-access-matrix>summary strong{font-size:15px;overflow-wrap:anywhere}.p21-access-matrix>summary span{font-size:12px;color:#536777;margin-left:auto}
.p21-access-matrix>.p21-access-departments{padding:16px;margin:0}
.p21-access-matrix .p21-access-department-choices{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.p21-access-matrix .p21-access-department-choices[hidden]{display:none}
.p21-access-matrix .p21-access-department-choices label{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1.25fr);gap:12px;min-width:0;padding:12px}
.p21-access-matrix select,.p21-access-matrix button{min-height:44px;font-size:16px;width:100%}
.p21-access-matrix summary:focus-visible{outline:3px solid #277d86;outline-offset:-3px}
.p21-access-matrix .p21-access-status:empty{display:none}
@media(max-width:600px){.p21-access-matrix>summary{flex-wrap:wrap}.p21-access-matrix>summary span{margin-left:0;flex-basis:80%}.p21-access-matrix .p21-access-department-choices label{grid-template-columns:minmax(0,1fr)}}
.p21-access-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.3fr) auto;align-items:center;gap:12px;border:1px solid #d2dde5;border-radius:10px;padding:12px}
.p21-access-row select,.p21-access-row button{min-width:0;max-width:100%;padding:10px;border:1px solid #c3d0db;border-radius:8px;background:#fff}
.p21-access-row button{background:#243f52;color:white}
.p21-access-departments{grid-column:1/-1;border-top:1px solid #dbe4ea;padding-top:12px;display:grid;gap:12px;min-width:0}
.p21-access-departments>label{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr);gap:12px;align-items:center;font-size:13px;font-weight:650;color:#3c5667}
.p21-access-departments>small{font-size:12px;color:#5a6e7c;line-height:1.5}
.p21-access-department-choices{display:flex;flex-wrap:wrap;gap:10px;border:0;margin:0;padding:0;min-width:0}
.p21-access-department-choices[hidden]{display:none}
.p21-access-department-choices legend{font-size:12px;color:#607788;margin-bottom:10px}
.p21-access-department-choices label{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#fff;border:1px solid #cfdae3;border-radius:9px;font-size:13px;cursor:pointer}
.p21-access-department-choices input{appearance:auto!important;position:static!important;opacity:1!important;clip:auto!important;width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;accent-color:#227e76}
.p21-access-department-choices label:has(input:checked){background:#e8f4f1;border-color:#77aea4}
@media(max-width:700px){.p21-access-departments>label{grid-template-columns:minmax(0,1fr)}}
.p21d-finances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.p21d-finances strong{font-size:1.65rem;overflow-wrap:anywhere}
.p21d-order-shell{border-bottom:1px solid #e5ebf0;background:#fff}
.p21d-order-shell>.p21-workflow-actions{padding:0 20px 15px;margin:0}
.p21d-order-shell .p21d-order{border-bottom:0}
@media(max-width:700px){.p21-access-row{grid-template-columns:minmax(0,1fr)}.p21d-finances{grid-template-columns:minmax(0,1fr)}.p21-workflow-form>label{width:100%}}
.p21-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}
.p21-departments-nav{position:sticky;top:20px;display:grid;gap:6px;background:#edf2f5;border:1px solid #d8e1e7;border-radius:14px;padding:12px}
.p21-departments-nav h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#647888;padding:4px 8px;margin:0 0 6px}
.p21-departments-nav button{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;min-width:0;min-height:42px;padding:10px;text-align:left;font-size:13px;font-weight:600;color:#415d70;background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer}
.p21-departments-nav button span{overflow-wrap:anywhere}.p21-departments-nav button small{font-variant-numeric:tabular-nums;opacity:.75}
.p21-departments-nav button[aria-pressed=true]{background:#fff;border-color:#c6d5df;color:#173d58;box-shadow:0 2px 5px #173d580b}
.p21-departments-nav .p21-new-bucket{margin-top:8px;border:1px dashed #6c9a97;color:#116b62;justify-content:center}
.p21-bucket-add{margin:0 12px 10px;padding:10px;border:1px dashed #b7cbd5;border-radius:8px;background:#f7fafc;color:#385a70;text-align:left}
.p21-bucket-rename{background:transparent;border:0;font-size:18px;color:#496878;cursor:pointer;padding:4px}
.p21-workspace .tenant-planner-board{min-width:0}
.p21-workflow-form .p21-handover-roe-note{grid-column:1/-1;margin:0;font-size:13px;line-height:1.5;color:#385d6c}
.roe-handover-choices{min-width:0;border:1px solid #c9d8df;border-radius:12px;padding:14px;margin-top:16px}
.roe-handover-choices p,#roeHandoverActuals p{font-size:13px;line-height:1.5;color:#526773}
.roe-handover-choices label{display:flex;align-items:flex-start;gap:10px;margin:12px 0;overflow-wrap:anywhere}
.roe-handover-choices input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none}
#roeHandoverActuals{padding:14px;margin:0 0 16px;border:1px solid #c9d8df;border-radius:12px;background:#f1f8f6}
#roeHandoverActuals summary{cursor:pointer;font-weight:700}
.p21-workspace .p21d-kpis{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
@media(max-width:1000px){.p21-workspace{grid-template-columns:minmax(0,1fr)}.p21-departments-nav{position:static;display:flex;flex-wrap:wrap}.p21-departments-nav h3{width:100%}.p21-departments-nav button{width:auto;max-width:100%;flex:1 1 150px}.p21-departments-nav .p21-new-bucket{margin-top:0}.p21-workspace .p21d-main{grid-template-columns:minmax(0,1fr)}}
