@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap");
:root{font-family:"DM Sans",system-ui,sans-serif;color:#16274a;background:#f4f6fa;font-size:14px;--blue:#2348c9;--navy:#102661;--line:#e4e9f2;--muted:#71809b;--font:"DM Sans",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--navy);border-radius:9px;padding:10px 15px;min-height:42px;font-weight:600}button:hover{background:#eaf2fe;border-color:#91b7eb}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#0754b5}button.active{background:#e9f1ff;color:#0757bd;border-color:#a6c5f0}button.danger{color:#b42335}input,select,textarea{width:100%;padding:11px;border:1px solid #bdcce0;border-radius:8px;color:#16274a;background:white;min-height:42px}input:focus,textarea:focus,button:focus-visible,select:focus{outline:3px solid #b5d5ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.7px;margin-bottom:8px}h2{font-size:19px}h3{font-size:15px}p{line-height:1.6}.muted{color:#667b96}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:#8aa1c1}.mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--blue);color:white;font-size:30px;font-weight:800;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:white;padding:27px 18px;display:flex;flex-direction:column;overflow:auto}.sidebar .brand{padding:0 9px 30px}.sidebar .brand strong{font-size:14px;letter-spacing:1px}.sidebar .brand small{display:block;font-size:10px;letter-spacing:2px;color:#a7c6ef;margin-top:7px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{text-align:left;background:transparent;border-color:transparent;color:#bed0e8;padding:12px 15px}.sidebar nav button.active{background:#1d4380;color:white;border-color:#2e5792}.sidebar .user{margin-top:auto;padding:30px 10px 0}.sidebar .user p{margin:6px 0;font-size:12px}.sidebar .user button{margin-top:12px;width:100%;background:#163b70;color:#caddf7;border:0}.workspace{margin-left:240px;min-height:100vh}.topbar{padding:17px 34px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar span{font-size:12px}.live{color:#168266}.demo{background:#fff1cc;color:#785606;padding:8px 12px;border-radius:6px}.content{padding:32px 34px;max-width:1800px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.toolbar input{width:auto}.hero{padding:28px;border-radius:15px;background:linear-gradient(110deg,#0c3273,var(--blue));color:white;display:flex;justify-content:space-between;gap:30px;margin-bottom:24px}.hero p{color:#c8dcfc;max-width:540px;margin-bottom:0}.hero .eyebrow{color:#b1d0ff}.hero h2{font-size:25px;margin-bottom:10px}.hero .date{font-size:40px;font-weight:700;opacity:.9}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:21px}.card .number{font-size:32px;font-weight:700;letter-spacing:-1px;margin:12px 0 8px}.card small{color:#6a7e98}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{margin-bottom:20px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.panelhead h2{margin:0}.tablewrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#617796;background:#f6f9fd;font-size:10px;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}th,td{padding:14px 16px;border-bottom:1px solid #e8edf5;vertical-align:middle}tbody tr:hover{background:#f8fbff}td strong{display:block;color:#16274a;margin-bottom:4px}td small{color:#6b7e99}td button{font-size:11px;padding:6px 10px;min-height:30px}td .pill{white-space:nowrap}.pill{display:inline-block;font-size:10px;font-weight:700;border-radius:5px;background:#eaf1fb;color:#315a93;padding:5px 7px}.pill.Delivered{background:#d9f8fc;color:#007784}.pill.Cancelled,.pill.error{background:#ffeaee;color:#bd2940}.pill.Tentative{background:#edf0f4;color:#63738b}.pill.Postponed,.pill.warning{background:#fff0d5;color:#a36508}.pill.Confirmed,.pill.good{background:#e2f4ec;color:#157653}.progress{height:6px;border-radius:6px;background:#eaf0f8;margin:9px 0;overflow:hidden}.progress i{display:block;background:var(--blue);height:100%;border-radius:6px}.notice{padding:14px 17px;border-radius:8px;background:#fff4dc;color:#795818;margin-bottom:18px;line-height:1.6}.empty{text-align:center;padding:40px;color:#7387a1}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;margin:15px 0}.dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.planner{max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}.planner table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.planner td,.planner th{padding:5px;min-width:96px;max-width:96px;border-right:1px solid #edf1f7;height:44px}.planner th{position:sticky;top:0;z-index:3;text-align:center;height:44px}.planner th:first-child,.planner td:first-child{position:sticky;left:0;z-index:2;background:#f7faff;min-width:140px;max-width:140px;padding-left:12px}.planner th:first-child{z-index:4}.planner td:nth-child(2),.planner th:nth-child(2){position:sticky;left:140px;z-index:2;background:#f7faff;min-width:85px;max-width:85px;font-size:10px}.planner th:nth-child(2){z-index:4}.planner .weekend{background:#f4f6fa}.booking{display:block;width:100%;padding:5px 6px;border:0;border-left:3px solid var(--category);background:color-mix(in srgb,var(--category) 13%,white);color:#16274a;border-radius:5px;font-size:10px;text-align:left;min-height:30px;margin:2px 0;overflow:hidden}.booking small{display:block;font-size:8px;opacity:.8}.booking.Delivered{border-bottom:3px solid #00bacf}.booking.Cancelled{border-bottom:3px solid #ff4b5c;text-decoration:line-through}.booking.Tentative{border-bottom:3px solid #b7bec9}.booking.Postponed{border-bottom:3px solid #ffb627}.addslot{padding:2px;min-height:27px;font-size:12px;border:0;background:transparent;color:#8ba6c8;width:100%}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}.item{padding:14px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.item p{margin:3px 0;font-size:12px}.item strong{font-size:13px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.filters>div{min-width:170px;flex:1}.combo{position:relative}.combo button{width:100%;text-align:left;font-weight:400;display:flex;justify-content:space-between}.combo-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;min-width:200px;z-index:15;background:white;border:1px solid #b6cae5;box-shadow:0 10px 30px var(--navy)26;border-radius:9px;padding:8px}.combo-options{max-height:210px;overflow:auto;margin-top:6px}.combo-options button{border:0;padding:9px;min-height:34px;display:block}.combo-options button.selected{background:#e5f0ff}.loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{width:24px;height:24px;border:3px solid #d8e6f9;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-intro{background:linear-gradient(135deg,#071c45,#104794);padding:10vh 9vw;color:white;display:flex;flex-direction:column;justify-content:center}.auth-intro h1{font-size:46px;max-width:430px;line-height:1.13;margin-top:50px}.auth-intro p{color:#b5cef0;max-width:390px}.auth-form{display:flex;justify-content:center;align-items:center;padding:40px}.auth-box{max-width:370px;width:100%}.auth-box h2{font-size:28px}.auth-box button{width:100%;margin:7px 0}.auth-box small{display:block;line-height:1.6;color:#73849e;margin-top:20px}dialog{border:0;border-radius:14px;padding:0;width:min(820px,94vw);max-height:90vh;overflow:visible;color:#16274a;box-shadow:0 30px 100px #071c4560}dialog::backdrop{background:#071c457d;backdrop-filter:blur(3px)}dialog form{display:flex;flex-direction:column;max-height:90vh}dialog header,dialog footer{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}dialog header{border-bottom:1px solid var(--line)}dialog header h2{margin:0}dialog .formbody{padding:22px 24px;overflow:auto;min-height:0}dialog footer{border-top:1px solid var(--line);justify-content:flex-end;background:#f8fafd;border-radius:0 0 14px 14px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{min-width:0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field.full{grid-column:1/-1}.hint{font-size:11px;color:#6d8098;margin-top:6px;line-height:1.5}.formerror{color:#b42335;background:#ffedf0;padding:12px;margin-top:16px;border-radius:7px}.hidden{display:none!important}#toast{position:fixed;bottom:25px;right:25px;background:#103b71;color:white;padding:14px 20px;border-radius:10px;box-shadow:0 5px 30px #16274a30;display:none;z-index:100;max-width:90vw}.mobile-menu{display:none}.sectionlabel{font-size:11px;color:#7890b1;margin:26px 15px 12px;text-transform:uppercase;letter-spacing:1px}a{color:var(--blue)}.reportyears{font-weight:700;color:#16274a}footer small{margin-right:auto}.hoursrow{min-width:130px}.plan-title{margin-bottom:8px}label.checkbox{display:flex;gap:10px;align-items:center}input[type=checkbox]{width:18px;height:18px;min-height:18px}.statustext{font-size:11px}.help p{font-size:13px}.hero button{align-self:center}.auth-form .notice{font-size:12px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.sidebar{width:215px}.workspace{margin-left:215px}.content{padding:24px}.topbar{padding:17px 24px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);z-index:30;width:240px;box-shadow:10px 0 50px var(--navy)40}.sidebar.open{transform:translateX(0)}.workspace{margin:0}.mobile-menu{display:inline-block}.topbar{padding:12px 16px}.content{padding:22px 16px}.hero{padding:22px}.hero .date{display:none}.hero h2{font-size:22px}h1{font-size:25px}.cards{gap:10px}.card{padding:16px}.card .number{font-size:27px}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.auth{grid-template-columns:1fr}.auth-intro{padding:30px}.auth-intro h1{font-size:30px;margin-top:24px}.auth-intro p{display:none}.auth-form{padding:30px}.toolbar{width:100%}.toolbar input{flex:1;min-width:140px}.planner{max-height:65vh}.panel{padding:16px}.topbar .muted{display:none}dialog .formbody{padding:18px}dialog header,dialog footer{padding:16px}.panelhead{align-items:flex-start}}

/* Shared Xstructures portal design tokens, verified against Sales and People. */
h1,h2,h3,.card .number{font-family:"Manrope",var(--font);font-weight:800}h1{font-size:28px;letter-spacing:-.9px}h2{font-size:17px;letter-spacing:-.35px}h3{font-size:13px}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.8px}.sidebar{width:238px;height:100dvh;padding:22px 21px 16px;background:var(--navy);overflow:hidden}.sidebar .brand{padding:0 0 20px;gap:12px}.sidebar .brand strong{font-size:13px;letter-spacing:2px}.sidebar .brand small{font-size:8px;letter-spacing:1.5px;color:#a9b9e6;white-space:nowrap;margin-top:5px}.mark{width:36px;height:39px;border-radius:9px;background:#4774ff;font-size:27px;font-weight:800;transform:skew(-7deg)}.mark span{display:block;transform:skew(7deg)}.sidebar nav{flex:1;min-height:0;overflow-y:auto;align-content:start;gap:3px;scrollbar-width:thin;scrollbar-color:#5e77aa transparent}.sidebar nav button{font-size:11px;padding:10px 12px;min-height:39px;display:flex;align-items:center;gap:11px;color:#becdeb;border-radius:7px;transition:background .15s,color .15s}.sidebar nav button:hover{background:#ffffff0e;color:white}.sidebar nav button.active{background:#ffffff14;color:white;border-color:#ffffff14;box-shadow:inset 3px 0 #6c94ff}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.9;stroke-width:1.7}.sectionlabel{margin:8px 12px 14px;color:#8fa5dc;font-size:9px;letter-spacing:1.8px}.sidebar .user{border-top:1px solid #35518c;padding:17px 6px 0;margin-top:18px;flex-shrink:0}.sidebar .user strong{font-size:12px;overflow-wrap:anywhere;line-height:1.45}.sidebar .user p{font-size:10px;color:#a9b9e6;margin:4px 0}.sidebar .user button{background:#ffffff0c;border:1px solid #ffffff12;border-radius:7px;font-size:11px;padding:8px;min-height:34px;margin-top:10px}.sidebar .user button:hover{background:#ffffff17}.workspace{margin-left:238px}.topbar{min-height:74px;padding:18px 32px;border-color:var(--line)}.topbar strong{font-family:Manrope,var(--font);font-size:14px;font-weight:800}.topbar .muted{font-size:11px}.content{padding:29px 32px 40px}.heading{margin-bottom:25px}.heading .eyebrow{margin-bottom:9px}.heading .muted{font-size:12px}.hero{position:relative;background:#edf2ff;color:var(--ink,#16274a);border:1px solid #dce5fb;border-radius:11px;padding:23px 25px;overflow:hidden}.hero h2{font-size:22px;letter-spacing:-.65px}.hero p{color:#637796;font-size:12px}.hero .eyebrow{color:#566da4;font-size:9px}.hero .date{font-family:Manrope,var(--font);color:#2348c9;font-size:37px;align-self:center}.card,.panel{border-color:var(--line);border-radius:11px;box-shadow:none}.card{padding:22px}.card>.muted{font-size:10px;letter-spacing:.4px}.card .number{font-size:30px;font-weight:800;margin:9px 0}.card small{font-size:10px;line-height:1.6;display:block;color:var(--muted)}.panel{padding:22px}.panelhead{margin-bottom:17px}.panelhead button{font-size:10px;min-height:32px;padding:7px 10px}button{border-radius:7px;font-size:12px;font-weight:600;padding:10px 15px;min-height:38px;transition:background .15s,border-color .15s,box-shadow .15s}button.primary{background:var(--blue);border-color:var(--blue);box-shadow:0 2px 4px #2348c912}button.primary:hover{background:#1a3aad;border-color:#1a3aad}button.active{background:#edf2ff;color:#2545b8;border-color:#cbd6f2}button:focus-visible,input:focus,textarea:focus{outline-color:#b9c9f9}input,select,textarea{font-size:12px;border-radius:7px;border-color:#cdd7e7;min-height:38px}th{color:#71809b;font-size:9px;letter-spacing:.65px;background:#f8fafe}td{font-size:11px}th,td{padding:13px 16px}.tablewrap{border-color:var(--line);border-radius:11px}.progress i{background:var(--blue)}.notice{border:1px solid #eee3c7;border-radius:8px;background:#fffaed;color:#806731;font-size:12px;padding:12px 15px}.demo{font-size:10px;padding:7px 10px;border-radius:6px;background:#fff5dd;color:#8a6826}.pill{font-size:9px;letter-spacing:.1px}.combo-toggle{font-size:12px}.combo-menu{border-color:#cdd7e7;box-shadow:0 8px 28px #16274a1c;border-radius:8px}.combo-options button{font-size:12px;font-weight:400}.combo-options button.selected{background:#edf2ff;color:#2545b8}.planner{border-color:var(--line);border-radius:11px}.planner td:first-child,.planner th:first-child,.planner td:nth-child(2),.planner th:nth-child(2){background:#f8fafe}.planner th{font-size:9px}.planner td:first-child strong{font-size:11px}.booking{font-family:var(--font)}dialog{border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 24px 80px #16274a30}dialog h2{font-size:19px}dialog header,dialog footer{padding:20px 24px}dialog .formbody{padding:24px}.field label{font-size:11px;font-weight:650}.hint{font-size:10px;line-height:1.65}.formgrid{gap:20px}#toast{background:var(--navy);font-size:12px;border-radius:8px}.auth{display:block;min-height:100dvh;padding:10vh 20px 40px;background:#f4f6fa}.auth-intro{display:none}.auth-form{display:block;max-width:560px;margin:0 auto;padding:36px;background:white;border:1px solid #dbe3ef;border-radius:22px;box-shadow:0 18px 60px #20305012}.auth-box{max-width:none}.auth-box .mark{width:48px;height:48px;border-radius:14px;background:#1f57d6;font-size:30px;margin-bottom:20px}.auth-box .eyebrow{font-size:8px;font-weight:650;letter-spacing:1.8px;margin-bottom:26px}.auth-box h2{font-family:Manrope,var(--font);font-size:32px;color:#12284a;font-weight:750;letter-spacing:-1px;margin-bottom:26px;line-height:1.25}.auth-box p.muted{font-size:12px;line-height:1.7;margin-bottom:18px}.auth-box button{width:100%;min-height:38px;margin:0 0 14px;font-size:12px}.auth-box button#preview{background:#edf2ff;border-color:#cdd7eb;color:#2545b8;font-size:11px}.auth-box button#preview:hover{background:#e2eafd}.auth-box small{font-size:10px;line-height:1.8;margin-top:4px;color:var(--muted)}.auth-box .hint{font-size:10px;margin:13px 0 0}.loading{height:100dvh;background:#f4f6fa;padding:10vh 20px 40px;justify-content:flex-start}.loading-card{width:min(560px,100%);padding:36px;border:1px solid #dbe3ef;border-radius:22px;background:white;box-shadow:0 18px 60px #20305012}.loading-card .mark{background:#1f57d6;width:48px;height:48px;font-size:30px;border-radius:14px;margin-bottom:20px}.loading-card h2{font-family:Manrope,var(--font);font-size:32px;letter-spacing:-1px;margin:24px 0;color:#12284a}.loading-card .eyebrow{font-size:8px;letter-spacing:1.8px}.loading-card p{font-size:12px;color:var(--muted)}.loading-status{display:flex;align-items:center;gap:9px;margin-top:25px;font-size:11px;color:var(--muted)}.loading-status .spinner{width:12px;height:12px;border-width:2px;border-top-color:var(--blue)}
@media(max-width:1100px){.sidebar{width:205px;padding:22px 15px 16px}.workspace{margin-left:205px}.brand strong{font-size:12px}.sidebar .brand{gap:9px}.sidebar .brand small{font-size:7px;letter-spacing:1px}.topbar{padding:17px 24px}.content{padding:25px 24px}.cards{gap:12px}.card{padding:18px}}
@media(max-width:700px){.sidebar{width:238px;position:fixed;inset:0 auto 0 0;height:100dvh}.workspace{margin-left:0}.topbar{min-height:62px;padding:12px 16px}.content{padding:23px 16px}.cards{gap:10px}.card{padding:16px}.card .number{font-size:26px}.heading{gap:17px}.heading h1{font-size:23px}.hero{padding:20px}.hero h2{font-size:20px}.panel{padding:17px}.toolbar input{min-width:0}.auth{padding:32px 16px}.auth-form{padding:25px;border-radius:18px}.auth-box h2{font-size:27px}.auth-box .eyebrow{font-size:7px;letter-spacing:1.4px}.auth-box .mark{margin-bottom:18px}.loading{padding:32px 16px}.loading-card{padding:25px;border-radius:18px}.loading-card h2{font-size:27px}dialog .formbody{padding:20px}dialog header,dialog footer{padding:17px 20px}.formgrid{gap:18px}}

.cutoff-controls{margin-bottom:20px}.cutoff-controls>.combo{min-width:260px;max-width:100%;flex:1;max-width:420px}.cutoff-controls .combo-menu{z-index:20}@media(max-width:700px){.cutoff-controls>.combo{width:100%;min-width:0;flex-basis:100%}}

.preview-role{display:flex;align-items:center;gap:10px;margin-left:auto}.preview-role label{font-size:10px;color:var(--muted);white-space:nowrap}.preview-role>.combo{width:215px}.topbar{flex-wrap:wrap}.commercial-summary{font-size:10px;color:#526c91;margin-top:6px}@media(max-width:700px){.preview-role{order:3;width:100%;margin:0}.preview-role>.combo{flex:1;width:auto}.topbar>.demo{font-size:9px}}

.planner-v2{overflow:auto;max-height:65vh;background:white;border:1px solid var(--line);border-radius:11px}.planner-head,.planner-person{display:grid;grid-template-columns:150px max-content;min-width:max-content;border-bottom:1px solid var(--line)}.planner-head{position:sticky;top:0;z-index:5;background:#f8fafe}.planner-head>strong,.planner-name{position:sticky;left:0;background:#f8fafe;padding:15px;font-size:11px;z-index:4;max-width:150px}.planner-head>div{display:grid}.planner-head span{padding:10px;text-align:center;border-left:1px solid var(--line);font-size:10px}.planner-lane{display:grid;min-height:85px;background:repeating-linear-gradient(to right,transparent 0,transparent 87px,#e9eef7 87px,#e9eef7 88px);padding:5px 0}.batch-block{margin:3px 4px;border-left:4px solid var(--category,#2348c9);background:color-mix(in srgb,var(--category,#2348c9) 10%,white);text-align:left;min-width:0;overflow:hidden;padding:9px 10px;display:flex;flex-direction:column;gap:4px}.batch-block strong{font-size:11px}.batch-block small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-block .pill{padding:2px 4px}.availability{--category:#8c709d}.availability.Leave{--category:#c86879}.availability.RestDay{--category:#8c99aa}.session-editor,.range-builder{padding:18px;border:1px solid var(--line);border-radius:10px;margin:18px 0;background:#fbfcff}.session-editor h3{margin:10px 0}.assignment-editor{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.assignment-editor>button{grid-column:1/-1;justify-self:end;font-size:10px;min-height:28px}.assignment-detail{margin:5px 0;padding:7px;border-left:2px solid #afc3ee}.assignment-detail span{font-size:10px;display:block}.tablewrap td small,td>small{display:block;line-height:1.6;color:var(--muted);margin-top:5px}.range-builder #generate-days{margin-top:12px}.delivery-choices{display:grid;gap:12px;margin:20px 0}dialog:has(.session-editor){width:min(1000px,96vw)}.field>textarea{width:100%}.toolbar{gap:10px}.content>button#export{margin:12px 0}.checkbox{font-size:12px}@media(max-width:700px){.assignment-editor{grid-template-columns:1fr 1fr}.assignment-editor>.field:first-child{grid-column:1/-1}.planner-name,.planner-head>strong{padding:10px}.session-editor,.range-builder{padding:14px}.sidebar nav button{font-size:10px;padding:9px 10px}}

.trainer-rankings{align-items:start}.category-rankings{margin-top:20px}.category-rankings summary{font-size:12px;font-weight:700;cursor:pointer;padding:10px 0}.category-rankings .tablewrap{margin-top:10px}.planner-legends{margin-top:22px}.planner-legends h3{font-size:12px;margin:20px 0 12px}.category-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 20px}.category-legend>span{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5}.category-legend i{display:inline-block;width:26px;height:23px;flex:none;border-left:4px solid var(--legend-color);border-radius:4px;background:color-mix(in srgb,var(--legend-color) 10%,white);box-shadow:0 0 0 1px #dfe5ef}.status-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:start}.status-legend>span{display:flex;flex-direction:column;gap:6px}.status-legend small{font-size:9px;color:var(--muted)}.finance-number{font-size:25px!important}.trainer-rankings td{white-space:normal}.trainer-rankings .panel{min-width:0}@media(max-width:1000px){.trainer-rankings{grid-template-columns:1fr}}@media(max-width:700px){.category-legend{grid-template-columns:1fr}.finance-number{font-size:22px!important}}

.selected-company td{background:#f0f4ff}.trainer-rankings{grid-template-columns:1fr 1fr}@media(max-width:1000px){.trainer-rankings{grid-template-columns:1fr}}
/* Keep searchable choices visible in short dialogs instead of clipping at the footer. */
dialog .formbody:has(.combo-menu:not(.hidden)){min-height:min(430px,60vh)}

.availability.Event{--category:#39798b}
.filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.filter-field{display:flex;flex:1;min-width:200px;max-width:360px;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.data-table-tools{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:15px 0 9px}.data-table-tools label{display:flex;flex-direction:column;gap:5px;font-size:10px;min-width:220px;max-width:360px;flex:1}.data-table-tools input{width:100%}.data-table-tools button{font-size:10px;min-height:34px}.data-table-tools .hint{margin-bottom:8px}.tablewrap th>button{background:transparent;border:0;padding:0;min-height:24px;text-align:left;font:inherit;letter-spacing:inherit;display:flex;gap:8px;align-items:center}.tablewrap th[aria-sort=ascending],.tablewrap th[aria-sort=descending]{color:#2348c9;background:#edf2ff}.planner-lane{position:relative;isolation:isolate;background:none;padding:0;min-height:85px}.planner-cell{min-height:85px;align-self:stretch;border-right:1px solid #e4e9f2;z-index:0;background:#fff}.planner-lane>.batch-block{grid-row:1;z-index:1;margin-top:8px;margin-bottom:8px}.planner-head .saturday,.planner-cell.saturday,.cpd-calendar-day.saturday,.workload-grid .saturday,.day-legend .saturday{background:#ece7e1}.planner-head .sunday,.planner-cell.sunday,.cpd-calendar-day.sunday,.workload-grid .sunday,.day-legend .sunday{background:#ded6cd}.planner-head .holiday,.planner-cell.holiday,.cpd-calendar-day.holiday,.workload-grid .holiday,.day-legend .holiday{background:#f5efe5}.planner-name small,.planner-head span small{display:block;font-size:9px;line-height:1.5;margin-top:4px;color:#6f7b92}.day-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0;font-size:11px}.day-legend>span{padding:6px 10px;border-radius:5px;border:1px solid #dfe6f1}.day-legend small{color:var(--muted)}.critical-alert{border:2px solid #d44949;background:#fff0f0;border-radius:9px;padding:16px;margin:0 0 20px;color:#922a31}.critical-alert p{margin:7px 0;font-size:12px}.critical-row td{background:#fff0f0}.cpd-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:1px;background:#dfe6f1;border:1px solid #dfe6f1;overflow:auto}.cpd-calendar-day{padding:12px;background:white;min-height:140px}.cpd-calendar-day h3{font-size:11px;margin-bottom:10px}.cpd-calendar-day>small{font-size:10px;display:block;margin-bottom:8px}.cpd-calendar-booking{display:flex;flex-direction:column;text-align:left;width:100%;padding:8px;margin:6px 0;gap:6px;border-left:4px solid #062b73;background:#f4f6ff}.cpd-calendar-booking strong{font-size:10px}.cpd-calendar-booking small{font-size:9px}.cpd-summary{margin:20px 0}.workload-grid{margin-bottom:24px;max-height:65vh}.workload-grid td,.workload-grid th{white-space:nowrap;text-align:center;min-width:55px;padding:12px 9px}.workload-grid tr>th:first-child{position:sticky;left:0;z-index:2;background:#f5f8ff;text-align:left;min-width:140px}.workload-grid thead th{position:sticky;top:0;z-index:3}.workload-grid .hours-excess{background:#ffd3d3!important;color:#9c1828;font-weight:800;box-shadow:inset 0 0 0 1px #dc8b95}.cpd-calendar-grid:empty{display:none}@media(max-width:700px){.filter-field{min-width:100%;max-width:none}.data-table-tools{align-items:stretch}.cpd-calendar-grid{grid-template-columns:repeat(7,170px)}.critical-alert{padding:12px}}

.cpd-weekday{padding:12px;background:#f2f6ff;text-align:center;font-size:11px}.cpd-calendar-blank{background:#f6f8fc;min-height:140px}

.bentley-reference,.company-capacity{margin-top:32px;padding-top:24px;border-top:1px solid #dce3ef}.bentley-reference .toolbar{justify-content:space-between}.bentley-reference h2{margin:0}.session-editor .toolbar{justify-content:space-between}

.nav-group-label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#a9bbdf;margin:19px 12px 7px}.import-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}.multi-tags{border:1px solid #dce3ef;border-radius:8px;margin:12px 0;padding:14px;min-width:0}.multi-tags legend{font-weight:700;padding:0 6px}.multi-tags summary{cursor:pointer;margin-bottom:10px}.multi-tags label{display:flex;align-items:center;gap:8px;margin:9px 0;line-height:1.4}.multi-tags input[type=checkbox]{width:17px;height:17px;flex:none}.multi-tags input[type=search]{margin-bottom:8px}.csv-preview-values{white-space:pre-wrap;overflow-wrap:anywhere;max-width:600px;font-size:12px}.field textarea{width:100%;box-sizing:border-box;border:1px solid #d4ddeb;border-radius:8px;padding:12px;font:inherit}
/* Keep planner names and date headings easy to scan. */
.planner-name>strong,.planner-head>div>span{font-weight:700}

.batch-block small,.cpd-calendar-booking small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}.cpd-calendar-booking small{display:block}.cpd-training-group{border-top:4px solid #0865d8}.cpd-training-group header{padding-bottom:12px;border-bottom:1px solid var(--line)}.cpd-training-group h4{margin:24px 0 10px;color:var(--navy,#173153)}

/* Course codes are the primary label in both scheduling calendars. */
.batch-block>strong,.cpd-calendar-booking>strong{font-size:16px;line-height:1.3;font-weight:800}

.cpd-calendar-booking{border-left-color:var(--category,#062b73);background:color-mix(in srgb,var(--category,#062b73) 10%,white)}

/* Session creation is a compact tool, visually separate from saved session cards. */
.session-adder{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.session-adder>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;color:#0865d8;font-size:14px;font-weight:700;padding:15px 0}.session-adder>summary::-webkit-details-marker{display:none}.session-adder>summary span{font-size:21px}.session-adder[open]>summary span{transform:rotate(45deg)}.session-adder-body{padding:0 0 16px}.session-adder-body>p{font-size:12px;margin:0 0 14px}.session-adder-body>#generate-days{margin:14px 0}.session-editor{background:white}

/* Compact CPD groups keep dates and council totals visible while divisions are collapsed. */
.cpd-training-group{margin:10px 0;background:white;border:1px solid var(--line);border-left:4px solid #0865d8;border-radius:9px;overflow:hidden}.cpd-training-group>summary{display:grid;grid-template-columns:210px minmax(140px,1fr) minmax(150px,auto) 95px 16px;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}.cpd-training-group>summary::-webkit-details-marker{display:none}.cpd-group-dates strong{font-size:11px}.cpd-group-dates small,.cpd-group-course small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.cpd-group-course{min-width:0}.cpd-group-course>strong{font-size:15px}.cpd-group-course small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpd-group-units{display:flex;flex-wrap:wrap;gap:5px}.cpd-group-units>span{padding:5px 8px;background:#edf3ff;border-radius:5px;font-size:10px;color:#173153}.cpd-group-count{font-size:10px;color:var(--muted)}.cpd-group-chevron{font-size:16px}.cpd-training-group[open] .cpd-group-chevron{transform:rotate(180deg)}.cpd-training-group[open]>summary{border-bottom:1px solid var(--line);background:#f8faff}.cpd-group-body{padding:16px}.cpd-group-body>header h3{font-size:13px;margin:0 0 8px}.cpd-group-body>header p{font-size:11px;margin:7px 0}.cpd-group-body .data-table-tools{margin:9px 0}.cpd-group-body h4{margin:16px 0 8px}.cpd-group-body .tablewrap td{padding:10px}.cpd-group-body .tablewrap th{padding:9px}@media(max-width:950px){.cpd-training-group>summary{grid-template-columns:1fr 1fr 16px;gap:10px}.cpd-group-units{grid-column:1/3}.cpd-group-count{display:none}.cpd-group-chevron{grid-column:3;grid-row:1/3}}

.table-pages{display:flex;gap:4px;flex-wrap:wrap}.table-pages [aria-current="page"]{background:#0865d8;color:white}.data-table-tools select{padding:8px;border:1px solid #ccd7e8;border-radius:6px}

.cpd-combined{vertical-align:middle;background:#f5f8ff;border-left:1px solid #dce5f5;border-right:1px solid #dce5f5;text-align:center}.cpd-actual-dates{min-width:190px}.cpd-actual-dates button{margin:4px 0;white-space:nowrap}.cpd-combined[hidden]{display:none}

.cpd-group-body table td:nth-child(1){min-width:140px}.cpd-group-body table td:nth-child(2){min-width:280px;max-width:360px}.cpd-group-body table td:nth-child(3),.cpd-group-body table td:nth-child(5){min-width:145px}.cpd-group-body table td:nth-child(4){min-width:125px}.cpd-group-body table td:nth-child(9){min-width:190px}

.cpd-remarks{min-width:220px;max-width:350px;white-space:pre-wrap;overflow-wrap:anywhere}

/* Consistent spacing and wrapping across portal actions, forms and summaries. */
body{line-height:1.5}
button{line-height:1.4;white-space:normal;max-width:100%;vertical-align:middle}
button:disabled{cursor:not-allowed}
input,select,textarea{line-height:1.5}
h1,h2,h3,h4,h5{line-height:1.35}
p:last-child{margin-bottom:0}
.workspace,.content,.panel,.card,.grid2>*{min-width:0}
.heading>div,.panelhead>div,.topbar>.toolbar{min-width:0}
.heading .toolbar,.panelhead .toolbar{row-gap:10px}
.panelhead{flex-wrap:wrap}
.toolbar{row-gap:10px}
.toolbar>.field,.toolbar>.combo{min-width:0}
.filter-field{font-weight:650;line-height:1.45}
.filter-field input,.filter-field select,.filter-field .combo{width:100%;min-width:0}
.combo button{align-items:center;gap:10px;line-height:1.45;overflow-wrap:anywhere}
.combo button>span:last-child{flex-shrink:0}
.combo-options button{line-height:1.5;padding:10px 12px}
.tablewrap td{line-height:1.6}
.tablewrap td>button{margin:4px 6px 4px 0;line-height:1.45}
.tablewrap td>button:last-child{margin-right:0}
.tablewrap td:has(>button){min-width:130px}
.tablewrap th>button{line-height:1.4;gap:8px;padding:3px 0}
.tablewrap td strong{line-height:1.5}
.tablewrap td small{line-height:1.6}
.table-pages{gap:6px;align-items:center}
.data-table-tools{gap:12px;align-items:flex-end;margin:18px 0 12px}
.data-table-tools label{line-height:1.5;gap:7px;min-width:180px}
.data-table-tools .hint{margin:0 0 8px;line-height:1.5}
.data-table-tools .table-pages{max-width:100%}
.cpd-group-pagination{margin:16px 0;gap:8px}
.cpd-group-pagination>span{margin-right:8px;line-height:1.6}
.cpd-group-pagination button{min-width:38px}
dialog{max-height:calc(100dvh - 32px)}
dialog form{max-height:calc(100dvh - 32px);min-width:0}
dialog header,dialog footer{flex-shrink:0}
dialog header{align-items:flex-start}
dialog header h2{padding-top:6px;overflow-wrap:anywhere}
dialog header button{flex-shrink:0}
dialog footer{flex-wrap:wrap;gap:10px}
dialog footer button{flex:0 1 auto}
dialog .formbody{line-height:1.6;min-width:0;overscroll-behavior:contain}
dialog .formbody>.field+.field{margin-top:18px}
dialog .formbody>label{display:block;font-size:11px;font-weight:650;margin:18px 0 8px}
dialog .formbody>textarea{display:block}
dialog .formbody>.toolbar{margin:16px 0}
dialog .formbody>h3,dialog .formbody>h4{margin:22px 0 12px}
dialog .formbody>h3:first-child,dialog .formbody>h4:first-child{margin-top:0}
.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.field label{line-height:1.45;margin-bottom:8px}
.field .hint{margin-bottom:0}
.assignment-editor{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));align-items:start;row-gap:16px}
.assignment-detail{padding:9px 12px;margin:6px 0}
.assignment-detail strong{margin-bottom:5px}
.assignment-detail span{line-height:1.6}
.session-editor .toolbar h3{margin:0}
.session-editor .toolbar{gap:12px;margin-bottom:16px}
.cpd-training-group>summary{grid-template-columns:minmax(170px,210px) minmax(160px,1fr) minmax(130px,auto) minmax(140px,170px);gap:16px;line-height:1.5}
.cpd-training-group>summary>span{min-width:0}
.cpd-training-group>summary>span:last-child{font-size:11px;line-height:1.8}
.cpd-group-course small{line-height:1.6}
.cpd-group-units{gap:6px}
.cpd-group-body>button{margin:0 8px 10px 0}
.cpd-group-body .data-table-tools{margin:12px 0}
.cpd-summary{padding-top:8px;margin:24px 0}
.cpd-summary>h3{margin:0 0 12px}
.cpd-summary>button{margin-bottom:12px}
.cpd-summary>p{margin:0 0 18px}
.cpd-summary h4{margin:24px 0 12px}
.cpd-summary h5{font-size:12px;margin:18px 0 10px;color:var(--navy)}
.cpd-picker-row{align-items:flex-start;gap:10px;margin:12px 0}
.cpd-picker-row select{line-height:1.5}
.cpd-picker-row button{flex-shrink:0}
.critical-alert>button{margin-top:8px}
.pill{line-height:1.5;vertical-align:middle}
@media(max-width:1100px){.cpd-training-group>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cpd-group-units{grid-column:auto}.cpd-training-group>summary>span:last-child{justify-self:start}}
@media(max-width:700px){.formgrid{grid-template-columns:minmax(0,1fr)}.assignment-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-field,.data-table-tools label{min-width:0;max-width:none;flex-basis:100%}.heading,.panelhead{gap:14px}.topbar>.toolbar{row-gap:6px}.data-table-tools{gap:10px}.data-table-tools .hint{margin:0}.cpd-training-group>summary{gap:12px;padding:16px}.cpd-group-body{padding:14px}.cpd-group-pagination>span{flex-basis:100%;margin:0 0 4px}.cpd-picker-row select{min-width:0!important;flex-basis:100%!important}dialog footer{padding:16px;gap:8px}dialog footer button{flex:1 1 140px}dialog .formbody{padding:20px 16px}dialog header{padding:16px}.tablewrap td>button{margin-bottom:6px}}
.filterbar .combo-toggle,.filterbar input,.filterbar select{min-height:42px}
.cpd-group-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cpd-group-status small{font-size:10px;line-height:1.5;color:var(--muted)}
.cpd-completed-groups{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.cpd-completed-groups h2{margin-bottom:16px}
.cpd-group-body button:disabled{opacity:.5;cursor:not-allowed}
/* Give instructor names more room without widening calendar day cells. */
.planner-v2 .planner-head,.planner-v2 .planner-person{grid-template-columns:200px max-content}
.planner-v2 .planner-name,.planner-v2 .planner-head>strong{max-width:200px;width:200px;padding:16px}
.planner-v2 .planner-name>strong{display:block;font-size:14px;line-height:1.5;font-weight:800;overflow-wrap:break-word}
.planner-v2 .planner-name>small{font-size:10px;line-height:1.5;margin-top:6px}
@media(max-width:700px){.planner-v2 .planner-head,.planner-v2 .planner-person{grid-template-columns:180px max-content}.planner-v2 .planner-name,.planner-v2 .planner-head>strong{width:180px;max-width:180px;padding:12px}.planner-v2 .planner-name>strong{font-size:14px}}
/* Stronger calendar row separators and clearer planning dates. */
.planner-v2 .planner-head{border-bottom:2px solid #9eacc6}
.planner-v2 .planner-person{border-bottom:2px solid #aebbd0}
.planner-v2 .planner-lane+.planner-lane{border-top:1px solid #bec9db}
.planner-v2 .planner-cell{border-bottom:1px solid #c3cddd}
.planner tr,.workload-grid tr{border-bottom:2px solid #aebbd0}
.planner td,.planner th,.workload-grid td,.workload-grid th{border-bottom:2px solid #aebbd0}
.cpd-calendar-grid{row-gap:2px;background:#aebbd0;border-color:#aebbd0}
.cpd-calendar-day h3{font-size:16px;line-height:1.5;font-weight:800;margin:0 0 12px;color:var(--navy)}
.cpd-weekday{font-size:14px;line-height:1.5;font-weight:800;padding:14px 12px}
/* Adjacent-month dates remain real calendar cells with active training cards. */
.cpd-calendar-day.outside-month:not(.saturday):not(.sunday):not(.holiday){background:#f7f9fd}
.cpd-calendar-day.outside-month h3{color:#65748f}
.cpd-picker-row:has(>label){align-items:flex-end}
.cpd-picker-row>label.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:650;line-height:1.5}
.cpd-picker-row>.field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:11px;line-height:1.5}
.cpd-picker-row .cpd-picker-label{font-weight:650}
.cpd-picker-row:has(>.field){align-items:flex-end}
.cpd-picker-row .combo{width:100%}
.cpd-picker-row .combo-menu{min-width:0}
.cpd-picker-row .combo-options button{overflow-wrap:anywhere}
@media(max-width:700px){.cpd-picker-row>.field{flex-basis:100%!important;min-width:0!important}}
/* Match sidebar group and page labels to Title Case navigation names. */
.nav-group-label,.sectionlabel,.heading .eyebrow{text-transform:none}
/* Separate calendar legends from the weekday grid. */
.category-legend[aria-label="Training category colors"]{margin:20px 0 24px;padding:0 0 4px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 24px;align-items:start}
.category-legend[aria-label="Training category colors"]>span{min-height:26px;gap:10px;line-height:1.5}
.category-legend[aria-label="Training category colors"] i{width:26px;height:24px;flex-shrink:0}
@media(max-width:700px){.category-legend[aria-label="Training category colors"]{grid-template-columns:1fr;margin:16px 0 22px;gap:12px}}
/* Continuous training blocks occupy week lanes over the existing day cells. */
.cpd-month-spans{overflow:auto;border:1px solid #aebbd0;border-radius:10px;background:white}
.cpd-month-weekdays,.cpd-schedule-week{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px}
.cpd-month-weekdays{border-bottom:2px solid #9eacc6}
.cpd-month-weekdays>.cpd-weekday{border-right:1px solid #c3cddd}
.cpd-schedule-week{position:relative;isolation:isolate;border-bottom:2px solid #aebbd0}
.cpd-schedule-week:last-child{border-bottom:0}
.cpd-week-cell{z-index:0;min-width:0;min-height:152px;align-self:stretch;border-right:1px solid #c3cddd;padding:12px}
.cpd-week-cell:last-of-type{border-right:0}
.cpd-schedule-week>.cpd-training-span{position:relative;z-index:1;width:auto;min-width:0;margin:6px;align-self:start;overflow-wrap:anywhere}
.cpd-training-span .pill{align-self:flex-start}
/* Keep training cards comfortably inset from calendar and planner grid lines. */
.planner-v2 .planner-lane>.batch-block{margin:12px 9px;padding:12px 13px;gap:7px}
.cpd-schedule-week>.cpd-training-span{margin:10px 9px;padding:12px 14px;gap:8px}
.cpd-calendar-day>.cpd-calendar-booking{margin:10px 0;padding:12px 13px;gap:8px}
.planner .booking{margin:5px 0;padding:9px 10px}
@media(max-width:700px){.planner-v2 .planner-lane>.batch-block{margin:10px 7px;padding:10px;gap:6px}.cpd-schedule-week>.cpd-training-span{margin:9px 7px;padding:11px 12px}}
/* Keep the wider outer margins while restoring the original card interiors. */
.planner-v2 .planner-lane>.batch-block{padding:9px 10px;gap:4px}
.cpd-schedule-week>.cpd-training-span{padding:8px;gap:6px}
.cpd-calendar-day>.cpd-calendar-booking{padding:8px;gap:6px}
.planner .booking{padding:5px 6px}
@media(max-width:700px){.planner-v2 .planner-lane>.batch-block{padding:9px 10px;gap:4px}.cpd-schedule-week>.cpd-training-span{padding:8px;gap:6px}}

/* Keep delivery lead time and checklist readable in the live summary tables. */
.company-deliverables.full-checklist table th:nth-child(3),
.company-deliverables.full-checklist table td:nth-child(3){min-width:210px;width:210px}
.company-deliverables.full-checklist table th:nth-child(4),
.company-deliverables.full-checklist table td:nth-child(4),
.company-deliverables.recording-only table th:nth-child(3),
.company-deliverables.recording-only table td:nth-child(3){min-width:390px;width:390px}
.company-deliverables.full-checklist table td:nth-child(4)>div{margin-bottom:7px;line-height:1.6}
/* Keep compact card-to-card spacing; inset only from calendar edges. */
.cpd-schedule-week>.cpd-training-span{margin:10px 16px}
.planner-v2 .planner-lane>.batch-block{margin:12px 9px}
.cpd-calendar-day>.cpd-calendar-booking{margin:10px 0}
@media(max-width:700px){
 .cpd-schedule-week>.cpd-training-span{margin:9px 12px}
 .planner-v2 .planner-lane>.batch-block{margin:10px 7px}
}

/* Fill the full instructor row so holiday/weekend backgrounds have no white strips. */
.planner-v2 .planner-person>div:last-child{display:flex;flex-direction:column;min-height:100%}
.planner-v2 .planner-person>div:last-child>.planner-lane{flex:1 0 auto}
/* Accreditation and unit totals share one horizontal header level. */
.cpd-training-group>summary{grid-template-columns:minmax(165px,200px) minmax(180px,1fr) minmax(120px,auto) minmax(100px,auto) minmax(75px,auto);align-items:center}
.cpd-group-status{align-self:center;justify-content:center}
.cpd-group-count{font-size:10px;color:var(--muted);white-space:nowrap;justify-self:end}
@media(max-width:1100px){.cpd-training-group>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cpd-group-count{justify-self:start}}

/* Workload: clear dates, quiet empty cells, and prominent pinned totals. */
.workload-panel{padding:22px;margin-bottom:24px}
.workload-panel>.split{gap:20px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.workload-panel h2{margin-bottom:6px}
.workload-total-summary{display:flex;gap:12px;flex-wrap:wrap}
.workload-total-summary>span{display:flex;flex-direction:column;gap:5px;background:#edf3ff;border:1px solid #cad9f4;border-radius:10px;padding:12px 18px;color:#4d6083;font-size:11px}
.workload-total-summary strong{font-size:24px;line-height:1.2;color:#102661;font-variant-numeric:tabular-nums}
.workload-grid{border:1px solid #c7d3e5;border-radius:10px;margin-bottom:12px}
.workload-grid table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.workload-grid td,.workload-grid th{padding:13px 10px;min-width:54px;border-right:1px solid #e2e8f1;border-bottom:1px solid #d4deec;font-size:12px}
.workload-grid thead th{background:#f0f4fb;color:#435777;font-size:10px;line-height:1.4}
.workload-day-number{display:block;margin-top:5px;font-size:17px;font-weight:800;color:#102661}
.workload-grid tr>th:first-child{min-width:210px;max-width:260px;white-space:normal;line-height:1.5;font-size:13px;font-weight:750;padding-left:16px}
.workload-grid thead tr>th:first-child{z-index:5}
.workload-grid .workload-zero{color:#b2bfd2}
.workload-grid .workload-active{color:#153e85;font-weight:750;background:#edf5ff}
.workload-grid tbody tr:hover td:not(.hours-excess):not(.workload-total){box-shadow:inset 0 0 0 999px #2348c908}
.workload-grid .workload-total{position:sticky;z-index:2;background:#e7effd;color:#102661;min-width:100px;width:100px;border-left:1px solid #bed0ed;font-size:16px;font-weight:850}
.workload-grid .workload-training-total{right:100px}
.workload-grid .workload-hours-total{right:0;background:#dbe7ff}
.workload-grid thead .workload-total{z-index:4;background:#102661;color:white;font-size:11px}
.workload-grid .workload-total small{display:block;margin-top:3px;font-size:9px;font-weight:500}
.workload-grid tfoot th,.workload-grid tfoot td{background:#102661!important;color:white!important;font-size:14px;font-weight:850;border-top:2px solid #6f91ce;border-bottom:0}
.workload-grid tfoot th{z-index:3}
.workload-category-panel table th:last-child,.workload-category-panel .workload-category-total{background:#e4edff;color:#102661;min-width:115px;font-size:15px;border-left:2px solid #b9cae8}
.workload-category-panel table th:last-child{background:#102661;color:white;font-size:11px}
@media(max-width:700px){.workload-panel{padding:16px}.workload-total-summary{width:100%}.workload-total-summary>span{flex:1;padding:10px 12px}.workload-total-summary strong{font-size:21px}.workload-grid tr>th:first-child{min-width:160px}.workload-grid .workload-total{min-width:78px;width:78px}.workload-grid .workload-training-total{right:78px}}
.workload-grid thead th.saturday,.workload-grid td.saturday{background:#ece7e1}
.workload-grid thead th.sunday,.workload-grid td.sunday{background:#ded6cd}
.workload-grid thead th.holiday,.workload-grid td.holiday{background:#f5efe5}

.training-bulk-toolbar{margin:14px 0 18px;padding:14px 16px;background:#edf3ff;border:1px solid #cad8ee;border-radius:10px;gap:14px;flex-wrap:wrap}
.training-bulk-toolbar label{margin:0;display:flex;align-items:center;gap:9px;font-size:12px}
.training-bulk-toolbar input[type=checkbox],.training-select{width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:#2348c9}
.training-select-cell{width:44px;min-width:44px;text-align:center}

.planner-v2 .planner-cell-add{position:relative;align-self:start;justify-self:end;margin:4px;width:22px;height:22px;min-height:22px;padding:0;border:1px solid #b8c9e6;border-radius:50%;background:#ffffffdf;color:#315da8;font-size:17px;line-height:20px;font-weight:650;z-index:2}
.planner-v2 .planner-cell-add:hover,.planner-v2 .planner-cell-add:focus-visible{background:#2348c9;color:white;border-color:#2348c9}
/* Quiet quick-add controls; reveal intent on hover and keyboard focus. */
.planner-v2 .planner-cell-add{width:18px;height:18px;min-height:18px;margin:5px;padding:0;border-color:transparent;background:transparent;color:#7990af;font-size:15px;font-weight:500;line-height:16px;opacity:.28;transition:opacity .15s,background .15s,color .15s}
.planner-v2 .planner-lane:hover>.planner-cell-add{opacity:.5}
.planner-v2 .planner-cell-add:hover,.planner-v2 .planner-cell-add:focus-visible{opacity:1;background:#e7effc;border-color:#c6d5ee;color:#2348c9}
@media(hover:none){.planner-v2 .planner-cell-add{opacity:.45}}

.cpd-week-cell{position:relative}
.cpd-day-add{position:absolute;top:12px;right:8px;width:20px;height:20px;min-height:20px;padding:0;border-color:transparent;background:transparent;color:#7990af;font-size:16px;font-weight:500;line-height:18px;opacity:.28;transition:opacity .15s,background .15s,color .15s}
.cpd-week-cell:hover>.cpd-day-add{opacity:.5}
.cpd-day-add:hover,.cpd-day-add:focus-visible{opacity:1;background:#e7effc;border-color:#c6d5ee;color:#2348c9}
@media(hover:none){.cpd-day-add{opacity:.45}}

.planner-v2 .planner-head{z-index:10}
.planner-v2 .planner-self{position:sticky;top:var(--planner-header-height,65px);z-index:6;background:#edf4ff;border-bottom:2px solid #6b91d2;box-shadow:0 3px 8px #10266112}
.planner-v2 .planner-self .planner-name{background:#e6efff;border-left:3px solid #2348c9}
.planner-v2 .planner-you{display:inline-block!important;padding:2px 5px;margin:0 0 0 4px!important;border-radius:4px;background:#2348c9;color:white!important;font-size:9px!important}

/* Monthly category matrix: aligned names, quiet zeros, prominent totals. */
.workload-category-panel .tablewrap{border:1px solid #cbd8eb;border-radius:10px;max-height:650px}
.workload-category-panel table{border-collapse:separate;border-spacing:0}
.workload-category-panel th{min-width:128px;vertical-align:top;line-height:1.45;padding:16px 12px!important;background:#f2f6fc}
.workload-category-panel th:first-child,.workload-category-panel td:first-child{position:sticky;left:0;min-width:230px;max-width:270px;background:#f6f9fe;z-index:2;text-align:left}
.workload-category-panel th:last-child,.workload-category-panel td:last-child{position:sticky;right:0;min-width:112px;background:#e5edff!important;color:#133c8c;border-left:2px solid #b7c9eb;text-align:center}
.workload-category-panel td{padding:14px 12px!important;text-align:center;border-bottom:1px solid #d9e2ef}
.workload-category-panel tbody tr:hover td{background:#f0f5fc}
.workload-category-panel .category-count-heading{display:block;text-align:left;letter-spacing:0;font-size:11px;min-height:48px}
.category-count-heading i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.workload-category-panel .category-column-sum{display:block;margin-top:8px;color:#476389;font-size:11px;letter-spacing:0;text-align:left}
.category-count-active span{display:inline-block;min-width:30px;padding:4px 8px;border:1px solid;border-radius:6px;background:#f5f8fc;font-weight:700;color:#173153}
.category-count-zero{color:#a5b1c4}
.workload-category-panel .workload-category-total strong{font-size:18px}

.cutoff-hours-panel .tablewrap{border:1px solid #cbd8eb;border-radius:10px}
.cutoff-hours-panel th{padding:16px!important;background:#f2f6fc;line-height:1.5;white-space:normal}
.cutoff-hours-panel td{padding:18px 14px!important;vertical-align:middle;border-bottom:1px solid #d9e2ef}
.cutoff-hours-panel td:first-child{min-width:230px;background:#f7f9fd}
.cutoff-hours-panel td:first-child strong{font-size:14px}
.cutoff-hours-panel td:first-child small{max-width:270px;line-height:1.6;margin-top:5px}
.cutoff-hours-panel tbody tr:hover td{background:#f1f6fd}
.cutoff-hours-panel .cutoff-delivered{background:#edf4ff;color:#163f90;text-align:center;min-width:100px}
.cutoff-delivered strong{font-size:20px}
.cutoff-hours-panel .cutoff-excess{background:#fff0e1;color:#a34105}
.quota-progress{height:8px;min-width:155px;max-width:220px;background:#e3eaf4;border-radius:5px;overflow:hidden;margin-bottom:8px}
.quota-progress span{display:block;height:100%;background:#2958c9;border-radius:5px}

.cell-add-options{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.cell-add-options button{min-width:110px;padding:12px 16px}

.planner-v2,.cpd-month-spans{overflow-anchor:none}

/* Training workspace: consistent table and section hierarchy. */
.page-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:8px 0 24px;background:#fff;border:1px solid #dbe4f1;border-radius:12px;overflow:hidden;box-shadow:0 2px 7px #10266104}
.page-summary>div{padding:17px 22px;border-right:1px solid #e3eaf4;display:flex;flex-direction:column;gap:6px;min-width:0}
.page-summary>div:last-child{border-right:0}.page-summary span{font-size:11px;color:#62738e;font-weight:600}.page-summary strong{font-size:23px;line-height:1.3;color:#163b83;font-variant-numeric:tabular-nums}
.refreshed-page .heading{margin-bottom:20px}.refreshed-page .heading h1{line-height:1.3}
.refreshed-page .filterbar{background:#fff;border:1px solid #dbe4f1;border-radius:11px;padding:16px;gap:14px;margin:18px 0;align-items:end}
.refreshed-page .filter-field{min-width:175px;line-height:1.6}.refreshed-page .filterbar .combo{min-width:160px}
.refreshed-page .notice{padding:15px 18px;line-height:1.75;border-radius:10px;margin:16px 0}
.refreshed-page .data-table-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:15px 17px;background:#f8fafd;border:1px solid #dbe4f1;border-bottom:0;border-radius:11px 11px 0 0;margin-top:20px;margin-bottom:0}
.refreshed-page .data-table-tools>label{display:flex;flex-direction:column;gap:7px;line-height:1.4;font-size:10px;color:#526782}
.refreshed-page .data-table-tools>label:first-child{flex:1 1 230px;max-width:360px}.refreshed-page .data-table-tools>label:not(:first-child){width:112px}
.refreshed-page .data-table-tools>button{min-height:36px;font-size:10px;padding:8px 12px}.refreshed-page .data-table-tools .hint{margin-bottom:11px;font-size:10px}
.refreshed-page .table-pages{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.refreshed-page .table-pages button{min-width:34px;min-height:36px;padding:7px 10px}
.refreshed-page .tablewrap{border:1px solid #dbe4f1;border-radius:0 0 11px 11px;background:#fff;margin-bottom:24px;box-shadow:0 3px 9px #10266104}
.refreshed-page table{font-size:12px;line-height:1.6}.refreshed-page thead{background:#eef3fb}.refreshed-page th{padding:14px 16px;vertical-align:middle;border-bottom:1px solid #cbd8ec;color:#284c87}
.refreshed-page th button{font-size:10px;line-height:1.5;letter-spacing:.35px;text-align:left;padding:0;min-height:28px;border:0;border-radius:4px;color:#284c87;background:transparent}
.refreshed-page td{padding:16px;vertical-align:top;border-bottom:1px solid #e3eaf3;line-height:1.7}.refreshed-page tbody tr:last-child td{border-bottom:0}.refreshed-page tbody tr:hover td{background:#f7faff}
.refreshed-page td strong{font-size:12px;line-height:1.6}.refreshed-page td small{font-size:10px;line-height:1.7;margin-top:6px}
.refreshed-page td:last-child{min-width:128px}.refreshed-page td:last-child button{min-height:34px;margin:0 6px 7px 0;padding:8px 11px;font-size:10px;line-height:1.5}
.refreshed-page .panel{border:1px solid #dbe4f1;border-radius:12px;padding:22px;margin:22px 0;background:#fff;box-shadow:0 3px 10px #10266104}.refreshed-page .panel h2{font-size:17px}.refreshed-page .panel h3{font-size:15px}
.refreshed-page .pill{font-size:10px;line-height:1.5;padding:4px 8px;white-space:normal;max-width:100%;overflow-wrap:break-word}
.refreshed-page .company-capacity,.refreshed-page .bentley-reference,.refreshed-page .cpd-completed-groups{padding:22px;border:1px solid #dbe4f1;border-radius:12px;background:#fff;margin:24px 0}
.refreshed-page .company-capacity>h2,.refreshed-page .company-deliverables>h3{border-bottom:1px solid #e2e9f3;padding-bottom:14px;margin-bottom:18px;color:#1a4085}
.refreshed-page .company-deliverables h4{padding:11px 13px;border-left:3px solid #6a8bc4;background:#f3f7fd;border-radius:0 6px 6px 0;margin:24px 0 0;font-size:12px}
.refreshed-page .cpd-training-group{margin:13px 0;border-color:#d5e0ef;box-shadow:0 2px 6px #10266103;overflow:hidden;border-radius:10px}
.refreshed-page .cpd-training-group>summary{padding:18px;gap:16px;line-height:1.6;background:#fff}.refreshed-page .cpd-training-group[open]>summary{background:#f0f5fd;border-bottom:1px solid #d9e4f3}
.refreshed-page .cpd-group-pagination{gap:7px;padding:12px 0;flex-wrap:wrap}.refreshed-page .cpd-group-pagination>span{margin-right:auto;font-size:11px;color:#657995}
.refreshed-page .hero{padding:27px 30px;min-height:155px;background:linear-gradient(115deg,#112e68,#2358b0);border-radius:14px;margin-bottom:22px}.refreshed-page .hero h2{font-size:27px;line-height:1.3;letter-spacing:-.5px}.refreshed-page .hero p{max-width:580px;line-height:1.7}.refreshed-page .hero .date{font-size:35px;line-height:1.3;min-width:105px;text-align:center}
.refreshed-page .cards{gap:16px}.refreshed-page .card{padding:21px;border:1px solid #dbe4f1;border-radius:11px;box-shadow:0 3px 10px #10266104}.refreshed-page .card .number{font-size:29px;margin:9px 0 6px;color:#174382}.refreshed-page .card small{font-size:10px;line-height:1.6;color:#73849b}
/* Deliberate widths for date and identifier columns. */
.workspace[data-page="posting"] table th:nth-child(2),.workspace[data-page="posting"] table td:nth-child(2),.workspace[data-page="posting"] table th:nth-child(3),.workspace[data-page="posting"] table td:nth-child(3){width:158px;min-width:158px;max-width:158px;white-space:nowrap}
.workspace[data-page="deliverables"] .company-deliverables table th:first-child,.workspace[data-page="deliverables"] .company-deliverables table td:first-child{width:190px;min-width:190px;white-space:nowrap}
.workspace[data-page="courses"] table th:first-child,.workspace[data-page="courses"] table td:first-child{width:195px;min-width:195px;white-space:nowrap}.workspace[data-page="courses"] table td:first-child strong{font-size:14px}
.workspace[data-page="courses"] table th:nth-child(2),.workspace[data-page="courses"] table td:nth-child(2){min-width:340px}.workspace[data-page="courses"] table td:nth-child(4){font-weight:700;text-align:center}
.workspace[data-page="targets"] table td:nth-child(3),.workspace[data-page="targets"] table td:nth-child(4),.workspace[data-page="targets"] table td:nth-child(5){font-variant-numeric:tabular-nums;font-size:14px}
.workspace[data-page="licenses"] table td:nth-child(3){background:#f0f5ff;font-size:17px;color:#184388}
@media(max-width:800px){.page-summary>div{padding:14px}.page-summary strong{font-size:19px}.refreshed-page .panel,.refreshed-page .company-capacity,.refreshed-page .bentley-reference,.refreshed-page .cpd-completed-groups{padding:16px}.refreshed-page .hero{padding:22px}.refreshed-page .hero h2{font-size:23px}.refreshed-page .data-table-tools>label:first-child{max-width:none}.refreshed-page .filterbar{padding:13px;gap:12px}}
/* Table-first refinements and explicit category header/sort-icon separation. */
.overview-period{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #d7e2f0;border-radius:12px;padding:20px 24px;margin:0 0 20px}
.overview-period>div>span{display:block;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#6b7e9a;margin-bottom:7px}
.overview-period h2{color:#18345e!important;font-size:19px!important;line-height:1.4;margin:0 0 5px}.overview-period p{color:#637996!important;font-size:12px;line-height:1.6;margin:0}
.overview-period .overview-period-date{color:#2350a1!important;font-size:28px;font-weight:800;text-align:right;line-height:1.25}.overview-period-date span{color:#677f9e!important;font-size:13px!important;margin-top:4px}
.workspace[data-page="overview"] .card{border-left:3px solid #537bc1;box-shadow:none}.workspace[data-page="overview"] .card .muted{font-size:12px;color:#4c6586}.workspace[data-page="overview"] .card .number{font-size:30px;margin:10px 0;color:#153b80}
.refreshed-page .tablewrap table{border-collapse:separate;border-spacing:0;line-height:1.65}
.refreshed-page .tablewrap th{background:#edf3fc;border-bottom:1px solid #c6d5eb;color:#254a83;vertical-align:middle;padding:15px 16px}
.refreshed-page .tablewrap th button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;white-space:normal;color:#254a83;line-height:1.55;font-weight:700;text-transform:none;font-size:11px;letter-spacing:0}
.refreshed-page [data-sort-icon]{flex:0 0 auto;color:#6b86ad;font-size:12px}
.refreshed-page .tablewrap tbody td{font-size:12px;line-height:1.7;padding:16px;border-bottom:1px solid #dce5f2}
.refreshed-page .tablewrap tbody tr:nth-child(even)>td{background:#f6f9fe}
.refreshed-page .tablewrap tbody tr:hover>td{background:#edf4ff}
.refreshed-page .tablewrap td strong{font-size:13px;line-height:1.6}.refreshed-page .tablewrap td>small{font-size:10px;line-height:1.65;color:#6b7f9c}
.refreshed-page .tablewrap th.table-metric{text-align:center;min-width:105px}.refreshed-page .tablewrap th.table-metric button{justify-content:center}
.refreshed-page .tablewrap tbody tr>td.table-metric{background:#edf3ff;text-align:center;color:#1b458c;font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;vertical-align:middle}
.refreshed-page .tablewrap td.table-metric strong,.refreshed-page .metric-value{font-size:19px;line-height:1.4;color:#1a4385;font-weight:800}
.refreshed-page .tablewrap td.table-metric small{font-weight:400;font-size:10px}
.refreshed-page .tablewrap .table-state{min-width:135px;vertical-align:middle}
.workspace:is([data-page="batches"],[data-page="activities"],[data-page="courses"],[data-page="requests"],[data-page="targets"],[data-page="bentley"]) .tablewrap table>thead th:first-child,
.workspace:is([data-page="batches"],[data-page="activities"],[data-page="courses"],[data-page="requests"],[data-page="targets"],[data-page="bentley"]) .tablewrap table>tbody>tr>td:first-child{position:sticky;left:0;z-index:2;background:#f1f6fd;border-right:1px solid #d7e2f1;min-width:185px}
.workspace:is([data-page="batches"],[data-page="activities"]) .tablewrap table>tbody>tr>td.training-select-cell{min-width:42px;width:42px}
.discipline-tag{display:inline-block;border:1px solid #d5e1f2;background:#f0f5fd;color:#365d91;border-radius:5px;padding:4px 7px;margin:0 5px 6px 0;font-size:10px;line-height:1.5}
.target-progress{max-width:150px;min-width:90px;height:7px;background:#dbe5f5;border-radius:5px;overflow:hidden;margin:9px auto}.target-progress span{display:block;height:100%;border-radius:5px}
.checklist-status-row{display:grid;grid-template-columns:minmax(125px,1fr) minmax(110px,auto);align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #e4eaf4;margin:0!important}
.checklist-status-row:last-child{border-bottom:0}.checklist-status-row>span:first-child{font-size:11px;color:#526b8f;line-height:1.5}.checklist-status-row>.pill{justify-self:start}
.workload-category-panel th button{display:block!important;width:100%;position:relative;text-align:left;white-space:normal!important;padding-right:14px!important;line-height:1.5}
.workload-category-panel th .category-count-heading{display:block!important;visibility:visible!important;color:#244879!important;font-size:11px;line-height:1.55;min-height:52px;white-space:normal}
.workload-category-panel th .category-column-sum{color:#52709c;font-size:10px;margin-top:7px}
.workload-category-panel th [data-sort-icon]{position:absolute;right:0;top:0;font-size:11px;color:#7188ac}
@media(max-width:700px){.overview-period{padding:17px;gap:14px}.overview-period h2{font-size:17px!important}.overview-period .overview-period-date{font-size:24px}.refreshed-page .tablewrap tbody td{padding:13px 14px}}
.workspace:is([data-page="batches"],[data-page="activities"]) .tablewrap table>thead th:first-child:empty{width:42px;min-width:42px;padding:12px}

/* Posting priority is semantic and always overrides zebra/hover styling. */
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-cpd>td{background:#fff0f1!important;border-bottom-color:#f0d0d5}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-cpd:hover>td{background:#ffe6e9!important}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-cpd>td:first-child{box-shadow:inset 4px 0 #c43e51}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-cpd .posting-alert-label{color:#a52239}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-regular>td{background:#fff2e1!important;border-bottom-color:#edd6b7}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-regular:hover>td{background:#ffe9cc!important}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-regular>td:first-child{box-shadow:inset 4px 0 #d7801c}
.workspace[data-page="posting"] .tablewrap tbody tr.posting-alert-regular .posting-alert-label{color:#995511}
.critical-alert.regular-posting-alert{background:#fff2e1;border-color:#e8bc80;border-left:4px solid #d7801c;color:#8b4b0b}
/* Instructor Planner table: clearer fixed headers and identity column. */
.planner-table-panel{border:1px solid #cbd9ed;background:white;border-radius:12px;overflow:hidden;margin:18px 0;box-shadow:0 3px 12px #17315308}
.planner-table-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;background:#fff;border-bottom:1px solid #d7e2f2}
.planner-table-heading h2{font-size:16px;margin:0 0 5px;color:#193e78}.planner-table-heading p{margin:0;font-size:11px;color:#6a7f9b}.planner-table-heading>span{font-size:11px;color:#486b9e;background:#edf3fc;padding:7px 10px;border-radius:6px;white-space:nowrap}
.planner-table-panel .planner-v2{border:0;border-radius:0;max-height:70vh;scrollbar-width:thin;scrollbar-color:#9fb5d6 #f1f5fb;scroll-padding-top:var(--planner-header-height,74px)}
.planner-v2 .planner-head,.planner-v2 .planner-person{grid-template-columns:230px max-content}
.planner-v2 .planner-name,.planner-v2 .planner-head>strong{width:230px;max-width:230px;padding:17px 18px;border-right:2px solid #bccfe9;box-shadow:3px 0 5px #15315b05}
.planner-v2 .planner-head>strong{font-size:12px;display:flex;align-items:center;background:#eaf1fc;color:#244b86;z-index:12}
.planner-v2 .planner-name{background:#f4f7fc;z-index:4}.planner-v2 .planner-name>strong{font-size:14px;line-height:1.55;color:#173b75}.planner-v2 .planner-name>small{font-size:10px;line-height:1.65;color:#6b7e99;margin-top:7px}
.planner-v2 .planner-head{background:#f0f5fd;border-bottom:2px solid #9bb2d5;box-shadow:0 3px 6px #1731530a}
.planner-v2 .planner-head>div>span{padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-left:1px solid #c3d2e8;min-height:76px;color:#244b86}
.planner-v2 .planner-head .planner-weekday{font-size:10px!important;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin:0!important;color:#637d9e}
.planner-v2 .planner-head .planner-header-date{font-size:14px;line-height:1.5;font-weight:800;color:#163c79}
.planner-v2 .planner-person{border-bottom:2px solid #afc0da}.planner-v2 .planner-cell{border-right:1px solid #cad6e9}
.planner-v2 .planner-person:hover .planner-name{background:#eaf1fc}
.planner-v2 .planner-person:hover .planner-lane{box-shadow:inset 0 1px #88a7d22b,inset 0 -1px #88a7d22b}
.planner-v2 .planner-today-cell{box-shadow:inset 2px 0 #5184d6,inset -2px 0 #5184d6}
.planner-v2 .planner-head>div>.planner-today-header{box-shadow:inset 0 -4px #3069c6}.planner-v2 .planner-today-header .planner-header-date{color:#1758c1}
.planner-v2 .planner-self .planner-name{background:#e6efff}.planner-v2 .planner-self:hover .planner-name{background:#dce9ff}
.workspace[data-page="planner"] .filterbar{gap:14px;padding:16px;background:#fff;border:1px solid #d9e3f1;border-radius:10px;margin-bottom:14px}
.workspace[data-page="planner"] .planner-date-controls{padding:14px 16px;background:#f8fafd;border:1px solid #d9e3f1;border-radius:10px;gap:9px}
.planner-date-controls button{min-height:37px;font-size:11px;padding:8px 13px}.planner-date-controls input{min-height:37px;font-size:11px}.planner-date-controls button.active{background:#2348c9;color:white;border-color:#2348c9}
@media(max-width:700px){.planner-v2 .planner-head,.planner-v2 .planner-person{grid-template-columns:185px max-content}.planner-v2 .planner-name,.planner-v2 .planner-head>strong{width:185px;max-width:185px;padding:14px 12px}.planner-table-heading{padding:14px}.planner-table-heading h2{font-size:14px}.planner-table-panel .planner-v2{max-height:72vh}}
/* Reports: clear comparison tables, separate rankings, and anchored totals. */
.workspace[data-page="reports"] .panel{border-top:3px solid #b1c7e8}
.workspace[data-page="reports"] .panel>h2{font-size:16px;color:#21477f;line-height:1.5;margin-bottom:10px}
.workspace[data-page="reports"] .tablewrap{border-radius:10px;margin-top:16px}
.workspace[data-page="reports"] td:first-child{min-width:180px;font-weight:600;color:#274c82}
.workspace[data-page="reports"] table tfoot th,.workspace[data-page="reports"] table tfoot td{background:#1c4488!important;color:white!important;padding:16px;border-top:2px solid #123670;font-size:15px;font-weight:800;vertical-align:middle}
.workspace[data-page="reports"] table tfoot th{text-align:left;letter-spacing:.7px;font-size:11px}.workspace[data-page="reports"] table tfoot td{text-align:center;min-width:110px}.workspace[data-page="reports"] table tfoot strong{color:white!important;font-size:19px}
.workspace[data-page="reports"] .selected-company>td{background:#e6efff!important;border-top:1px solid #c9daf5;border-bottom:1px solid #c9daf5}.workspace[data-page="reports"] .selected-company>td:first-child{box-shadow:inset 4px 0 #376dcc}
.workspace[data-page="reports"] .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.workspace[data-page="reports"] .trainer-rankings .panel{min-width:0}.workspace[data-page="reports"] .trainer-rankings td:first-child,.workspace[data-page="reports"] .report-top-courses td:first-child{min-width:58px;width:58px;text-align:center;vertical-align:middle}
.workspace[data-page="reports"] .trainer-rankings th:first-child,.workspace[data-page="reports"] .report-top-courses th:first-child{width:58px}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;padding:3px 7px;border-radius:7px;background:#edf2fa;color:#526f98;font-size:12px;font-weight:800}
.rank-badge.rank-first{background:#2457b4;color:white;box-shadow:0 2px 5px #183b7920}
.workspace[data-page="reports"] .report-top-courses td:nth-child(2){min-width:200px}.workspace[data-page="reports"] .report-top-courses td:nth-child(2) strong{font-size:13px;color:#19468c}.workspace[data-page="reports"] .report-top-courses td:nth-child(2) small{display:block;max-width:330px;line-height:1.7}
.workspace[data-page="reports"] .category-rankings{margin-top:20px;border-top:1px solid #dce6f4;padding-top:14px}.workspace[data-page="reports"] .category-rankings>summary{cursor:pointer;color:#2b589e;font-size:12px;font-weight:700;padding:10px 0}
.workspace[data-page="reports"] .cutoff-controls{padding:16px;background:#fff;border:1px solid #d8e3f3;border-radius:10px;margin-bottom:22px;gap:12px}
.workspace[data-page="reports"] .cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.workspace[data-page="reports"] .card .number{font-variant-numeric:tabular-nums}
@media(max-width:1150px){.workspace[data-page="reports"] .grid2{grid-template-columns:minmax(0,1fr)}}

.topbar-welcome{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:4px;max-width:480px;min-width:0}
.topbar .topbar-welcome>strong{font-size:14px;line-height:1.5;color:#244d8e;font-weight:750}
.topbar .topbar-welcome>small{font-size:10px;line-height:1.5;color:#7186a4}
@media(max-width:900px){.topbar .topbar-welcome>small{display:none}.topbar .topbar-welcome>strong{font-size:12px}}
@media(max-width:600px){.topbar{flex-wrap:wrap}.topbar-welcome{max-width:100%;flex:1 0 100%;text-align:left;margin:3px 0 0;padding-top:7px;border-top:1px solid #edf1f7}}

.online-indicator{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px;min-height:31px;background:#edf7f1;border:1px solid #d1e9da;border-radius:20px;font-size:10px!important;font-weight:650;color:#30684b;line-height:1.5;flex-shrink:0}
button.online-indicator:hover{background:#e2f2e9;border-color:#a6d0b7}.online-dot{width:6px;height:6px;border-radius:50%;background:#34a56f;display:inline-block;flex-shrink:0}.online-indicator [data-online-count]{font-size:10px}
@media(max-width:600px){.topbar .online-indicator{margin-left:auto}.topbar-welcome{flex-basis:auto;flex:1;max-width:75%;border:0;padding:0;margin:0;text-align:left}}

/* PORTAL GUIDE START */

.portal-guide{max-width:1100px;margin:auto;color:#173153;font:13px/1.8 "DM Sans",Arial,sans-serif}.portal-guide *{box-sizing:border-box}.guide-cover{background:linear-gradient(125deg,#102661,#2456b3);color:white;padding:42px 40px;border-radius:14px;margin:0 0 22px}.guide-brand{display:flex;gap:12px;align-items:center;font-size:15px;letter-spacing:2px;font-weight:800}.guide-mark{display:grid;place-items:center;background:#4774ff;color:white;width:42px;height:42px;border-radius:10px;font-size:29px;letter-spacing:0}.guide-brand small{display:block;font-size:9px;letter-spacing:2px;color:#bbd0f3;line-height:1.8}.guide-cover .guide-kicker{font-size:9px;letter-spacing:1.8px;color:#b4cef5;margin:32px 0 10px}.guide-cover h1{font:800 32px/1.3 "Manrope",Arial,sans-serif;color:#fff;margin:0 0 14px;letter-spacing:-.7px}.guide-cover>p{color:#d6e4fa;max-width:620px}.guide-version{font-size:10px;color:#c1d4f6;margin-top:24px;border-top:1px solid #ffffff2b;padding-top:15px}.guide-intro{background:white;border:1px solid #dce5f1;border-radius:10px;padding:18px 22px;margin:20px 0}.guide-intro p{margin:0}.guide-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:20px;background:#edf3fc;border:1px solid #d9e4f3;border-radius:11px;margin:22px 0 30px}.guide-toc a{display:block;padding:7px 10px;text-decoration:none;color:#2a528e;border-radius:5px;font-size:11px;line-height:1.6}.guide-toc a:hover{background:#dce8fa;color:#153c83}.guide-section{background:#fff;border:1px solid #dbe5f2;border-radius:12px;padding:28px;margin:22px 0;scroll-margin-top:20px}.guide-section h2{font:800 20px/1.5 "Manrope",Arial,sans-serif;color:#164387;border-bottom:2px solid #dce7f8;padding-bottom:13px;margin:0 0 20px}.guide-section h3{font-size:14px;line-height:1.6;color:#29548d;margin:24px 0 10px}.guide-section p{margin:0 0 13px;line-height:1.85}.guide-section ul,.guide-section ol{padding-left:23px;margin:13px 0 18px}.guide-section li{padding-left:3px;margin:7px 0;line-height:1.8}.guide-section strong,.guide-section b{color:#173e7a}.guide-section table{width:100%;border-collapse:collapse;margin:18px 0 22px;font-size:11px;line-height:1.75}.guide-section th{background:#eaf1fc;color:#234e8c;padding:12px 13px;text-align:left;font-size:10px;letter-spacing:.2px;white-space:normal;border:1px solid #cfddf1;text-transform:none}.guide-section td{padding:12px 13px;border:1px solid #dae4f2;vertical-align:top;line-height:1.75;overflow-wrap:break-word}.guide-section tr:nth-child(even) td{background:#f7faff}.guide-section td:first-child{font-weight:600;color:#254c80;min-width:120px}.guide-callout{padding:17px 20px;border-left:4px solid #2d61bc;border-radius:0 8px 8px 0;background:#edf4ff;margin:19px 0}.guide-callout p{margin:7px 0 0}.guide-section code{font:11px/1.5 ui-monospace,Consolas,monospace;background:#f0f4fa;color:#274c83;padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}.guide-key{display:inline-block;padding:5px 8px;border-radius:5px}.guide-key.red{background:#fff0f1;color:#a52239}.guide-key.orange{background:#fff2e1;color:#995511}.guide-section dt{font-weight:800;color:#254f89;margin-top:15px}.guide-section dd{margin:3px 0 12px}.guide-footer{padding:24px 0;color:#7085a4;font-size:10px;text-align:center}.guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.guide-actions a,.guide-actions button{display:inline-block;background:#2348c9;color:#fff;border:0;border-radius:8px;padding:11px 16px;text-decoration:none;font:600 12px/1.5 "DM Sans",Arial,sans-serif}.guide-actions a.secondary{background:#fff;color:#2348c9;border:1px solid #cfddf0}
@media(max-width:700px){.guide-cover{padding:28px 23px}.guide-cover h1{font-size:27px}.guide-section{padding:20px 17px}.guide-section h2{font-size:18px}.guide-toc{grid-template-columns:1fr;padding:14px}.guide-section{overflow-x:auto}.guide-section table{min-width:500px}}
@media print{@page{size:A4;margin:17mm 15mm}html,body{background:white!important;padding:0!important;margin:0!important}.guide-actions{display:none!important}.portal-guide{max-width:none;font:10pt/1.65 Arial,sans-serif}.guide-cover{border-radius:0;break-after:page;min-height:220mm;padding:22mm 12mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.guide-cover h1{font-size:34pt;margin-top:12mm}.guide-brand{font-size:17pt}.guide-toc{display:block;background:white;border:0;columns:2;break-after:page}.guide-toc a{break-inside:avoid;font-size:9pt;padding:4px}.guide-section{border:0;border-radius:0;padding:0;margin:0 0 9mm;overflow:visible}.guide-section h2{font-size:16pt;break-after:avoid;margin-top:8mm}.guide-section h3{font-size:11pt;break-after:avoid}.guide-section table{font-size:8pt;min-width:0;width:100%;table-layout:fixed}.guide-section th,.guide-section td{padding:7px;white-space:normal}.guide-section thead{display:table-header-group}.guide-section tr{break-inside:avoid}.guide-section p,.guide-section li{orphans:3;widows:3}.guide-section .guide-callout,.guide-section dl{break-inside:avoid}a{color:inherit;text-decoration:none}.guide-footer{border-top:1px solid #ddd}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* PORTAL GUIDE END */

/* Neutral day-cell tones stay separate from training-category colors. */
.planner-head .holiday,.planner-cell.holiday,.cpd-calendar-day.holiday,.workload-grid thead th.holiday,.workload-grid td.holiday,.day-legend .holiday{background-image:repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(116,99,77,.07) 9px,rgba(116,99,77,.07) 11px)}

/* Matching posting-alert structure with category-specific emphasis. */
.critical-alert:not(.regular-posting-alert){border-color:#e8aaaa;border-left:4px solid #d44949}
.sidebar nav .nav-icon{width:17px;height:17px;flex:0 0 17px;opacity:.9}
.sidebar nav .nav-label{min-width:0;line-height:1.4}
.sidebar nav button.active .nav-icon,.sidebar nav button:hover .nav-icon{opacity:1}
