@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#30394d;background:#f5f6f9;font-synthesis:none;font-size:16px;--ink:#465574;--muted:#626c80;--line:#dde1e9;--brand-accent:#dedbd5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0}a{color:inherit}.sidebar{width:248px;background:var(--ink);color:#f4f5fa;position:fixed;inset:0 auto 0 0;padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font:800 23px Manrope,sans-serif}.brandmark{display:grid;place-items:center;background:var(--brand-accent);color:var(--ink);height:43px;width:43px;border-radius:12px;font-size:34px}.brand small{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:5px}.navlabel{font-size:12px;color:#cad1e1;letter-spacing:1.6px;margin:51px 12px 18px}nav{display:grid;gap:9px}nav button{background:none;color:#e0e4ef;text-align:left;padding:14px 12px;border-radius:8px;display:flex;gap:12px;align-items:center;font-size:18px}nav button span{font-size:14px}nav button.active{background:#5e6e90;color:#fff;box-shadow:inset 3px 0 var(--brand-accent)}.sidefoot{margin-top:auto;padding:20px 8px 0}.sidefoot strong{font-size:14px}.sidefoot p{font-size:14px;line-height:1.6;color:#d5dbe8}.pill{font-size:11px;letter-spacing:.7px;background:#5e6e90;color:#f3f0e9;padding:7px 9px;border-radius:4px;display:inline-block}.shell{margin-left:248px}header{height:84px;background:#fff;padding:0 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.breadcrumb{font-size:14px}.breadcrumb span{margin:0 12px;color:#8ea0a3}.persona{display:flex;gap:12px;align-items:center;font-size:14px}.persona label{color:var(--muted)}.persona select{border:0;background:#f1f2f7;font-size:14px;padding:10px 12px;border-radius:6px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8e5df;font-size:12px;font-weight:700}.demo{font-size:12px;padding:10px 36px;background:#eceef5;color:#525e78;display:flex;justify-content:space-between;gap:12px;align-items:center}.textbutton{background:none;color:var(--ink);font-size:13px;text-decoration:underline;white-space:nowrap}main{padding:32px 36px;max-width:1800px;margin:auto}h1,h2,h3,p{margin-top:0}h1{font:800 30px/1.25 Manrope,sans-serif;letter-spacing:-1px;margin-bottom:9px}h2{font:800 18px Manrope,sans-serif;margin:0}h3{font-size:16px;margin-bottom:6px}.sub{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.primary,.secondary,.danger{border-radius:7px;padding:11px 16px;font-size:14px;font-weight:700;display:inline-flex;gap:8px;align-items:center;justify-content:center}.primary{background:var(--ink);color:white}.primary:hover{background:#394766}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.danger{background:#fbe8e6;color:#9c3e31}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;position:relative}.metric small{font-size:13px;color:var(--muted)}.metric strong{display:block;font:800 34px Manrope,sans-serif;margin:10px 0 5px}.metric.accent{background:var(--ink);color:white}.metric.accent small{color:#e0e4ef}.metric.accent strong{color:var(--brand-accent)}.metric p{font-size:12px;color:var(--muted);margin:0}.metric.accent p{color:#e0e4ef}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:18px 0}.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.filters label{font-size:13px;color:var(--muted)}input,select,textarea{padding:10px 12px;border:1px solid #cdd3df;border-radius:6px;background:white;color:#394762;min-width:0}input,select{font-size:14px}textarea{resize:vertical;min-height:88px}input[type=checkbox]{accent-color:var(--ink);width:17px;height:17px}.tabs{display:flex;padding:4px;background:#e6e9f1;border-radius:7px;gap:4px}.tabs button{background:transparent;padding:7px 12px;font-size:13px;color:#586680;border-radius:5px}.tabs button.selected{background:white;box-shadow:0 1px 3px #183e4115;color:var(--ink);font-weight:700}.boardgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.panelhead{padding:20px;display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line)}.panelhead .count{font-size:12px;background:#edf0f6;padding:4px 8px;border-radius:4px;color:#596982}.request{padding:21px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px}.request:last-child{border-bottom:0}.requesttop{display:flex;gap:9px;align-items:center;margin-bottom:9px;flex-wrap:wrap}.requesttop h3{margin:0}.badge{border-radius:4px;padding:4px 7px;font-size:12px;font-weight:700;display:inline-block;line-height:1.3}.urgent{background:#fff0e6;color:#a14b21}.critical{background:#ffe7e6;color:#a83c32}.normal{background:#edf1f5;color:#596f80}.filled{background:#e7f3e9;color:#346b49}.partial{background:#fff2d8;color:#8a631a}.role{font-size:12px;background:#edf0f6;color:#526383;padding:4px 6px;border-radius:4px}.detail{font-size:14px;color:#626c80;margin:8px 0;line-height:1.6}.muted{font-size:12px;color:#626c80}.reqaction{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}.people{padding:4px 18px}.person{padding:15px 0;border-bottom:1px solid #eceef3;display:flex;gap:10px;align-items:center}.person:last-child{border:0}.person .avatar{background:#edf0fb;color:#535e83;flex-shrink:0}.person strong{font-size:14px;display:block;margin-bottom:3px}.person small{font-size:12px;color:var(--muted)}.person .role{margin-left:auto}.hint{padding:17px 20px;background:#f5f6f9;font-size:13px;color:var(--muted);line-height:1.6}.hint p:last-child{margin:0}.empty{padding:40px 24px;text-align:center;color:var(--muted);font-size:14px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap;text-align:left}th{background:#f8f9fb;color:#626c80;font-weight:500;font-size:12px;padding:14px 18px;border-bottom:1px solid var(--line)}td{padding:17px 18px;border-bottom:1px solid #eceef3}td small{display:block;font-size:12px;color:var(--muted);margin-top:5px}td .secondary{font-size:12px;padding:7px 10px}.tablewrap tr:last-child td{border-bottom:0}.schedule{margin-top:24px}.progress{width:95px;height:5px;background:#e5e8ef;border-radius:4px;overflow:hidden;margin-top:5px}.progress span{height:100%;background:#7382a6;display:block}footer{padding:20px 36px;font-size:12px;color:#626c80}dialog{border:0;border-radius:14px;padding:0;max-width:660px;width:calc(100% - 32px);box-shadow:0 24px 90px #102a4050;max-height:90vh;color:#30394d}dialog::backdrop{background:#122e3b70;backdrop-filter:blur(3px)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:23px;border-bottom:1px solid var(--line)}.close{background:#edf0f6;border-radius:50%;height:30px;width:30px;font-size:20px;color:#626c80}.modalcontent{padding:23px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px}.field.full{grid-column:1/-1}.formactions{margin-top:24px;display:flex;gap:10px;justify-content:flex-end}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:6px;font-size:14px}.candidate{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.candidate .candidateinfo{flex:1}.candidate p{margin:4px 0;font-size:13px;color:var(--muted)}.candidate strong{font-size:14px}.error{background:#ffefee;color:#9e352d;padding:12px;border-radius:5px;font-size:14px;margin-bottom:16px}.notice{background:#edf0f6;color:#526383;padding:13px;border-radius:6px;font-size:14px;line-height:1.5;margin-bottom:17px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:14px 24px;box-shadow:0 8px 30px #123c4130;display:none;z-index:20;font-size:14px;max-width:90%}.legend{display:flex;gap:15px;font-size:12px;color:var(--muted)}.summaryrow{padding:14px 20px;background:#f8f9fb;color:#626c80;font-size:13px}.inlineactions{display:flex;gap:8px;flex-wrap:wrap}.search{width:230px}.employeeavatar{display:flex;gap:10px;align-items:center}.employeeavatar .avatar{background:#e9ebf3}.record{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.record p{margin:6px 0;color:var(--muted)}
@media(min-width:1550px){.boardgrid{grid-template-columns:minmax(0,1fr) 370px}}@media(max-width:1200px){.sidebar{width:205px;padding:28px 14px}.shell{margin-left:205px}main{padding:25px 22px}header,.demo{padding-left:22px;padding-right:22px}.boardgrid{grid-template-columns:1fr}.availabilitypanel .people{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.metric{padding:16px}}@media(max-width:780px){.sidebar{position:static;width:100%;padding:16px}.brand{font-size:20px}.brand small,.navlabel,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav button{white-space:nowrap;padding:10px;font-size:16px}nav button span{font-size:12px}.shell{margin:0}header{height:auto;padding:14px 16px}.breadcrumb,.persona label,header .avatar{display:none}.persona{width:100%}.persona select{width:100%}.demo{padding:10px 16px;font-size:12px}.demo strong{display:block}main{padding:23px 16px}.pagehead{align-items:flex-start}h1{font-size:25px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric strong{font-size:28px}.toolbar{align-items:flex-start;flex-direction:column}.request{grid-template-columns:1fr}.reqaction{align-items:flex-start;flex-direction:row;justify-content:space-between}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.availabilitypanel .people{grid-template-columns:1fr}.primary,.secondary{padding:10px 12px}.search{width:100%}.pagehead .primary{white-space:nowrap}.legend{flex-wrap:wrap}footer{padding:16px}}

/* RGA brand: original slate blue #7382a6 and warm gray #afaaa1. */
:root{--rga-blue:#7382a6;--rga-gray:#afaaa1;--rga-dark:#465574}
.brand{flex-direction:column;align-items:stretch;gap:18px}.logo-panel{display:flex;justify-content:center;align-items:center;background:#fff;border-radius:8px;padding:17px 12px}.logo-square{display:block;width:100%;max-width:170px;height:auto}.workspace-name{padding-left:10px}.brand small{font-size:10px;letter-spacing:1.7px;color:#e0e4ef}.logo-long{display:block;width:290px;max-width:42%;height:auto}.navlabel{margin-top:31px}.sidebar{padding-top:24px}.metric.accent{border-top:4px solid var(--rga-gray);padding-top:17px}.metric.accent strong{color:#fff}.progress span{background:var(--rga-blue)}nav button.active{box-shadow:inset 3px 0 var(--rga-gray)}.pill{color:#fff}.sidefoot strong{color:#fff}.avatar{color:#465574}.employeeavatar .avatar,.person .avatar{background:#e9ecf4;color:#465574}
@media(max-width:1200px) and (min-width:781px){.logo-panel{padding:14px 10px}.logo-square{max-width:145px}.logo-long{width:260px}.persona{gap:8px}.persona label{display:none}}
@media(max-width:780px){.sidebar{padding:16px;background:#465574}.brand{flex-direction:row;align-items:center;gap:14px}.logo-panel{width:80px;padding:7px;border-radius:5px;flex-shrink:0}.logo-square{width:66px}.workspace-name{padding:0}.brand small{display:block;font-size:9px}.logo-long{display:none}.metric.accent{padding-top:13px}}
/* Administration and sign-in */
[hidden]{display:none!important}.admin-tabs{display:flex;gap:5px;overflow:auto;background:#e7eaf2;padding:5px;border-radius:8px;margin-bottom:24px}.admin-tabs button{background:transparent;white-space:nowrap;padding:12px 15px;border-radius:6px;color:#465574;font-size:14px}.admin-tabs button.selected{background:white;font-weight:700;box-shadow:0 2px 5px #46557415}.admin-note{margin-top:20px}.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f5f9;padding:18px;font:14px/1.7 'DM Sans',sans-serif;border-radius:7px}.signed-user{text-align:right}.signed-user strong,.signed-user small{display:block}.signed-user small{color:#626c80;margin-top:4px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#e9ecf3,#f8f9fb)}.login-card{width:min(500px,calc(100% - 32px));padding:42px;background:white;border:1px solid #dce1eb;border-radius:14px;box-shadow:0 20px 70px #46557415}.login-card img{width:100%;height:auto;margin-bottom:35px}.login-card h1{font-size:32px}.login-card .sub{margin-bottom:25px}.login-card form{display:grid;gap:22px}.login-card .notice{margin-top:24px}.signin-button{text-decoration:none;display:flex;margin:25px 0}.login-card #loginError{color:#a83c32;font-size:14px;margin-top:16px}.login-card select{width:100%}@media(max-width:780px){.login-card{padding:25px}.signed-user{text-align:left;flex:1}.persona{justify-content:space-between}.admin-tabs button{padding:10px}.admin-tabs{margin-bottom:18px}}
/* Phone layouts: visible navigation, readable record cards, and touch-sized controls. */
@media(max-width:780px){
 .sidebar{padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left))}
 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:6px}
 nav button{min-height:44px;white-space:normal;gap:8px;padding:10px;line-height:1.4}
 nav button span{font-size:14px;overflow-wrap:anywhere}
 .admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
 .admin-tabs button{white-space:normal;font-size:14px;min-height:44px}
 button,.primary,.secondary,.danger,.textbutton,.tablewrap td .secondary{min-height:44px}
 input:not([type=checkbox]),select,textarea{font-size:16px;min-height:44px;width:100%;max-width:100%}
 input[type=checkbox]{width:22px;height:22px;flex-shrink:0}
 .checks{gap:4px 14px}.checks label{min-height:44px;padding:5px 0;line-height:1.5}
 .field,.field.full,.formgrid,.candidateinfo,.signed-user,.pagehead>div{min-width:0}
 .field{overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.filters label{font-size:14px}
 .toolbar>select{width:100%}.pagehead{flex-wrap:wrap;gap:14px}.pagehead>.primary{width:100%}
 .tablewrap{overflow:visible}.tablewrap table{display:block;white-space:normal;table-layout:fixed}
 .tablewrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .tablewrap tbody{display:block}.tablewrap tbody tr{display:block;padding:14px 16px;border-bottom:5px solid #f0f2f7}
 .tablewrap tbody tr:last-child{border-bottom:0}
 .tablewrap td{display:grid;grid-template-columns:minmax(85px,32%) minmax(0,1fr);gap:6px 12px;align-items:start;padding:8px 0;border:0;min-width:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .tablewrap td:before{content:attr(data-label);grid-column:1;grid-row:1 / span 2;color:var(--muted);font-size:13px;font-weight:500}
 .tablewrap td>*{grid-column:2;min-width:0}.tablewrap td small{margin:0}.tablewrap td .badge{justify-self:start}
 .employeeavatar{flex-wrap:wrap}.tablewrap td .secondary{font-size:14px;width:100%;margin:0}
 .panelhead{padding:17px;flex-wrap:wrap}.panelhead .count{white-space:nowrap}
 .reqaction{flex-wrap:wrap;align-items:center;gap:12px}.reqaction>.primary,.reqaction>.secondary{flex:1;min-width:130px}
 .reqaction>.muted{flex-basis:100%}.person strong,.signed-user strong{overflow-wrap:anywhere}
 dialog{width:calc(100% - 20px);max-width:600px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
 .modalhead{position:sticky;top:0;background:white;z-index:1;padding:16px;gap:12px}.modalhead h2{font-size:18px;overflow-wrap:anywhere}.close{width:44px;height:44px;flex-shrink:0}
 .modalcontent{padding:16px}.formactions{flex-wrap:wrap;gap:8px}.formactions>button{flex:1;min-width:100px}
 .candidate{flex-wrap:wrap;gap:10px}.candidateinfo{flex:1;min-width:130px}.candidate>.primary,.candidate>.secondary{width:100%}
 .record{overflow-wrap:anywhere;flex-wrap:wrap}.detail,.sub,.notice{overflow-wrap:anywhere}
 .login-card{margin:20px auto;padding:24px}.login-card img{margin-bottom:26px}.login-page{min-height:100dvh}
 #toast{width:calc(100% - 32px);max-width:480px;bottom:max(16px,env(safe-area-inset-bottom));padding:14px 16px;text-align:center}
 footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){main{padding:20px 12px}.sidebar{padding:12px}.brand{gap:10px}.workspace-name{font-size:19px}.metric{padding:13px}.metric.accent{padding:10px 13px 13px}.request{padding:16px}.tablewrap tbody tr{padding:12px}.login-card{padding:20px}}
/* Keep navigation reachable on short screens and phone landscape. */
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}

/* Resource calendar: keep names visible while dates scroll horizontally. */
.cal-toolbar,.cal-month-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-month-controls input{padding:9px;border:1px solid var(--line);border-radius:6px;background:white}.cal-help{padding:0 20px;color:var(--muted);font-size:13px;line-height:1.5}.cal-scroll{max-width:100%;overflow:auto;max-height:68vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);isolation:isolate}.cal-grid{--cal-day:86px;--cal-name:210px;width:calc(var(--cal-name) + var(--cal-days) * var(--cal-day));font-size:13px}.cal-month-row,.cal-day-row,.cal-row{display:flex;width:100%}.cal-resource{position:sticky;left:0;flex:0 0 var(--cal-name);width:var(--cal-name);padding:12px 16px;background:white;z-index:3;border-right:2px solid var(--line);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.cal-resource strong{white-space:normal}.cal-resource small{display:block;color:var(--muted);margin-top:4px}.cal-month-row{position:sticky;top:0;height:40px;z-index:6;background:#465574;color:white}.cal-month-row .cal-resource{background:#465574}.cal-month-heading{padding:10px 16px;position:sticky;left:var(--cal-name);font-weight:700}.cal-day-row{position:sticky;top:40px;height:54px;z-index:5;background:#f5f6f9}.cal-day-row .cal-resource{background:#f5f6f9}.cal-day{flex:0 0 var(--cal-day);text-align:center;border-right:1px solid var(--line);padding:7px 0}.cal-day small,.cal-day strong{display:block}.cal-day small{color:var(--muted);font-size:11px}.cal-day strong{margin-top:3px}.cal-row{border-top:1px solid var(--line);min-height:58px}.cal-track{position:relative;display:flex;width:calc(var(--cal-days) * var(--cal-day));flex-shrink:0}.cal-cell{width:var(--cal-day);flex-shrink:0;border-right:1px solid #e6e9ef;background:#fff}.cal-weekend{background:#f0f2f6}.cal-today{background:#e5ebf8;box-shadow:inset 2px 0 #7382a6,inset -2px 0 #7382a6}.cal-bar{position:absolute;height:30px;border:1px solid #46557430;border-left:3px solid #46557480;border-radius:5px;color:#27364a;text-align:left;padding:5px 7px;font-size:12px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;z-index:2;box-shadow:0 1px 2px #30394d12}.cal-bar:hover{filter:brightness(.96);box-shadow:0 2px 5px #30394d30}.cal-bar:focus-visible{outline:3px solid #465574;outline-offset:1px}.cal-legend{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px;font-size:12px;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{display:inline-block;width:12px;height:12px;border:1px solid #46557430;border-radius:3px}@media(max-width:780px){.cal-grid{--cal-name:145px;--cal-day:80px}.cal-resource{padding:10px}.cal-month-controls{gap:6px}.cal-month-controls input{max-width:165px}.cal-help{padding:0 12px}.cal-scroll{max-height:65vh}}
.cal-grid{--cal-day:110px}.cal-bar{height:50px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:14px;padding:4px 6px}.cal-day-row .cal-resource{font-size:12px}@media(max-width:780px){.cal-grid{--cal-day:110px}}

.login-card #loginForm + .sub{margin-top:20px;margin-bottom:0}
