/* The employee portal (portal.connectgroup.co) — its own look, apart from Flow's.
   Light and dark follow the device's own setting; the layout follows the screen. */

@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("../fonts/ui/PublicSans-var.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ui/IBMPlexMono-600.woff2") format("woff2")}

:root{
  color-scheme:light;
  --p-ground:#f4f6f6; --p-card:#ffffff; --p-card2:#f8fafa; --p-ink:#17212b; --p-muted:#556370; --p-faint:#6f7c87;
  --p-line:#e2e7ea; --p-line2:#d3dadf; --p-brand:#0d7a72; --p-brand-ink:#ffffff; --p-brand-text:#0b6f68;
  --p-brand-wash:#e3f3f1; --p-hero1:#15282b; --p-hero2:#0f1d20; --p-eyebrow:#7fe0d2;
  --p-ok:#157a43; --p-ok-wash:#e5f4ea; --p-warn:#8f5208; --p-warn-wash:#fcf1dc; --p-err:#b42318; --p-err-wash:#fdecea;
  --p-info:#2c5d9e; --p-info-wash:#e8f0fb; --p-shadow:0 1px 2px rgba(16,24,32,.05),0 4px 14px rgba(16,24,32,.05);
  --p-focus:0 0 0 3px rgba(13,122,114,.22);
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --p-ground:#0f1517; --p-card:#161e21; --p-card2:#1a2427; --p-ink:#e7eef0; --p-muted:#a3b3b9; --p-faint:#7f9198;
    --p-line:#25333a; --p-line2:#30414a; --p-brand:#22a596; --p-brand-ink:#03201c; --p-brand-text:#5fd2c3;
    --p-brand-wash:rgba(34,165,150,.15); --p-hero1:#10282a; --p-hero2:#0a1719; --p-eyebrow:#7fe0d2;
    --p-ok:#4ade80; --p-ok-wash:rgba(74,222,128,.12); --p-warn:#f0b429; --p-warn-wash:rgba(240,180,41,.13);
    --p-err:#f87171; --p-err-wash:rgba(248,113,113,.13); --p-info:#8ab4f8; --p-info-wash:rgba(138,180,248,.13);
    --p-shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25); --p-focus:0 0 0 3px rgba(34,165,150,.35);
  }
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body.ep{background:var(--p-ground);color:var(--p-ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden;-webkit-text-size-adjust:100%}
.ep button,.ep input,.ep select,.ep textarea{font:inherit;color:inherit}
.ep button{cursor:pointer}
.ep a{color:inherit}
.ep .fa-solid{line-height:1}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.inline{display:inline;margin:0}

/* the logo, drawn in the portal's colour (or white on the dark panel) */
.logo{display:block;aspect-ratio:480/141;background:var(--p-brand);-webkit-mask:var(--ep-logo) center/contain no-repeat;mask:var(--ep-logo) center/contain no-repeat}

/* ---------- signed-in frame ---------- */
.pp{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.pp-top{position:sticky;top:0;z-index:6;background:var(--p-card);border-bottom:1px solid var(--p-line);display:flex;align-items:center;gap:18px;height:56px;padding:0 16px}
.pp-brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.pp-brand .logo{width:104px;flex:0 0 104px}
.pp-brand span{font-size:12px;font-weight:600;color:var(--p-muted);border-left:1px solid var(--p-line2);padding-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pp-nav{display:none;gap:2px;margin-left:8px}
.pp-nav a{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--p-muted);text-decoration:none;white-space:nowrap}
.pp-nav a:hover{background:var(--p-card2);color:var(--p-ink)}
.pp-nav a[aria-current="page"]{background:var(--p-brand-wash);color:var(--p-brand-text)}
.pp-me{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pp-av{width:32px;height:32px;border-radius:50%;background:var(--p-brand-wash);color:var(--p-brand-text);display:inline-grid;place-items:center;font-size:12px;font-weight:700;border:0;text-decoration:none;flex:0 0 32px}
.pp-av[aria-current="page"]{box-shadow:0 0 0 2px var(--p-brand)}
.pp-mename{display:none;flex-direction:column;line-height:1.2;text-align:right;min-width:0}
.pp-mename b{font-size:13px}
.pp-mename span{font-size:11.5px;color:var(--p-muted)}
.pp-out{display:none}
.pp-main{width:100%;max-width:1100px;margin:0 auto;padding:18px 16px 24px;flex:1 0 auto}
.pp-tabs{position:sticky;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(var(--tabs,4),minmax(0,1fr));background:var(--p-card);border-top:1px solid var(--p-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.pp-tabs a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 2px;border-radius:9px;font-size:10.5px;font-weight:600;color:var(--p-faint);text-decoration:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-tabs a .fa-solid{font-size:17px}
.pp-tabs a[aria-current="page"]{color:var(--p-brand-text)}
.pp-foot{padding:14px 16px 18px;text-align:center;font-size:12px;color:var(--p-faint)}
.pp-foot a{color:var(--p-brand-text);text-decoration:none}
@media (min-width:760px){
  .pp-top{padding:0 24px}
  .pp-nav{display:flex}
  .pp-mename{display:flex}
  .pp-out{display:inline-flex}
  .pp-tabs{display:none}
  .pp-main{padding:24px 24px 32px}
}
@media (min-width:760px) and (max-width:1000px){ .pp-mename{display:none} .pp-nav a{padding:0 9px} }
@media (max-width:420px){ .pp-brand span{display:none} }

/* ---------- headings, cards ---------- */
.pp-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin-bottom:16px}
.pp-head h1{margin:0;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.01em}
.pp-head p{margin:3px 0 0;color:var(--p-muted);font-size:13.5px}
.pp-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--p-brand-text);text-decoration:none;margin-bottom:8px}
.card{background:var(--p-card);border:1px solid var(--p-line);border-radius:12px;box-shadow:var(--p-shadow);padding:14px 16px;min-width:0}
.card + .card{margin-top:12px}
.g3 > .card,.two > .card,.home-low > .card,.split > .card{margin-top:0}
.sec-t{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:15px;font-weight:700}
.tile{width:32px;height:32px;border-radius:9px;display:inline-grid;place-items:center;background:var(--p-brand-wash);color:var(--p-brand-text);font-size:14px;flex:0 0 32px}
.tile.is-warn{background:var(--p-warn-wash);color:var(--p-warn)}
.tile.is-info{background:var(--p-info-wash);color:var(--p-info)}
.muted{color:var(--p-muted)} .faint{color:var(--p-faint)} .num{font-variant-numeric:tabular-nums}
.small{font-size:12.5px}
.g3{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.two{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.stack > * + *{margin-top:12px}
@media (min-width:760px){ .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .two{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:900px){ .split{grid-template-columns:350px minmax(0,1fr)} .split > .card:first-child{position:sticky;top:72px} }

/* ---------- buttons ---------- */
.pb{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;border:1px solid transparent;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.pb-pri{background:var(--p-brand);color:var(--p-brand-ink)}
.pb-pri:hover{filter:brightness(1.06)}
.pb-sec{background:var(--p-card);border-color:var(--p-line2);color:var(--p-ink)}
.pb-sec:hover{background:var(--p-card2)}
.pb-ghost{background:transparent;color:var(--p-brand-text);padding:0 8px}
.pb-sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}
.pb-block{width:100%}
.pb[disabled]{opacity:.55;cursor:not-allowed}
.pb:focus-visible,.pp-nav a:focus-visible,.pp-tabs a:focus-visible,.pp-av:focus-visible{outline:0;box-shadow:var(--p-focus)}
.acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ---------- forms ---------- */
.pf{display:flex;flex-direction:column;gap:5px;min-width:0}
.pf + .pf,.pf-row + .pf,.pf + .pf-row,.chk + .pf,.calc + .pf{margin-top:12px}
.pf > label,.pf-l{font-size:12.5px;font-weight:600;color:var(--p-muted)}
.pf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pf-row > .pf{margin-top:0}
.pin{height:36px;width:100%;border:1px solid var(--p-line2);border-radius:9px;background:var(--p-card);padding:0 11px;font-size:14px;color:var(--p-ink);min-width:0}
textarea.pin{height:auto;min-height:72px;padding:8px 11px;resize:vertical}
select.pin{padding-right:30px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--p-muted) 50%),linear-gradient(135deg,var(--p-muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}
.pin:focus{outline:0;border-color:var(--p-brand);box-shadow:var(--p-focus)}
.pin-amt{position:relative}
.pin-amt span{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--p-faint)}
.pin-amt .pin{padding-left:46px}
.hint{font-size:12px;color:var(--p-faint)}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--p-ink);margin-top:10px}
.chk input{width:16px;height:16px;accent-color:var(--p-brand);margin:0}
.chk input:disabled + span{opacity:.6}
.note{display:flex;gap:9px;align-items:flex-start;border-radius:10px;padding:9px 11px;font-size:12.5px;line-height:1.45;background:var(--p-card2);color:var(--p-muted);border:1px solid var(--p-line)}
.note .fa-solid{margin-top:2px}
.note.is-warn{background:var(--p-warn-wash);border-color:transparent;color:var(--p-warn)}
.note.is-ok{background:var(--p-ok-wash);border-color:transparent;color:var(--p-ok)}
.note.is-err{background:var(--p-err-wash);border-color:transparent;color:var(--p-err)}
.flash{margin-bottom:14px}
.card > * + .note,form > * + .note{margin-top:12px}
.calc{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;background:var(--p-brand-wash);color:var(--p-brand-text);border-radius:9px;padding:8px 11px;font-size:13px;font-weight:600;margin-top:12px}
.calc.is-err{background:var(--p-err-wash);color:var(--p-err)}
.drop{position:relative;display:block;border:1.5px dashed var(--p-line2);border-radius:10px;padding:14px;text-align:center;font-size:13px;color:var(--p-muted);background:var(--p-card2);cursor:pointer}
.drop:focus-within{border-color:var(--p-brand);box-shadow:var(--p-focus)}
.drop .fa-solid{font-size:18px;color:var(--p-brand-text);display:block;margin-bottom:6px}
.drop b{color:var(--p-brand-text)}
.drop input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file{display:flex;align-items:center;gap:9px;border:1px solid var(--p-line);border-radius:9px;padding:7px 10px;font-size:13px;margin-top:8px;min-width:0}
.file span{min-width:0;overflow-wrap:anywhere}
.file .is-big{margin-left:auto;color:var(--p-err);font-size:12px;font-weight:600;white-space:nowrap}
.honey{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:559px){ .pin{font-size:16px;height:40px} .pb{height:40px} .pb-sm{height:32px} }

/* ---------- status pills ---------- */
.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}
.pill.wait{background:var(--p-warn-wash);color:var(--p-warn)}
.pill.ok{background:var(--p-ok-wash);color:var(--p-ok)}
.pill.no{background:var(--p-err-wash);color:var(--p-err)}
.pill.paid{background:var(--p-info-wash);color:var(--p-info)}
.pill.grey{background:var(--p-card2);color:var(--p-muted);border:1px solid var(--p-line)}

/* ---------- request lists ---------- */
.rq{display:flex;flex-direction:column}
.rq-i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-top:1px solid var(--p-line)}
.rq-i:first-child{border-top:0;padding-top:2px}
.rq-t{font-weight:700;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;overflow-wrap:anywhere}
.rq-m{grid-column:1/-1;font-size:12.5px;color:var(--p-muted);overflow-wrap:anywhere}
.rq-m a{color:var(--p-brand-text);font-weight:600;text-decoration:none}
.rq-amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.rq-why{grid-column:1/-1;font-size:12.5px;background:var(--p-err-wash);color:var(--p-err);border-radius:8px;padding:6px 9px;overflow-wrap:anywhere}
.rq-why.is-ok{background:var(--p-ok-wash);color:var(--p-ok)}
.rq-why.is-info{background:var(--p-info-wash);color:var(--p-info)}
.rq-why.is-grey{background:var(--p-card2);color:var(--p-muted)}
.rq-why a{color:inherit;font-weight:700}
.rq-act{grid-column:1/-1}
.rq-empty{padding:12px 0 4px;font-size:13px;color:var(--p-muted)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--p-line);margin:-2px 0 6px;overflow-x:auto}
.tabs button{border:0;background:transparent;padding:7px 10px;font-size:13px;font-weight:600;color:var(--p-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--p-brand-text);border-bottom-color:var(--p-brand)}
.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--p-card2);border:1px solid var(--p-line);min-width:0}
.stat span{font-size:11.5px;font-weight:600;color:var(--p-muted)}
.stat b{font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat b.is-err{color:var(--p-err)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
@media (max-width:420px){ .stats{grid-template-columns:minmax(0,1fr)} .stat{flex-direction:row;align-items:center;justify-content:space-between} .stat b{font-size:15px} }

/* ---------- sign-in ---------- */
.au{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;min-height:100dvh}
.au-hero{position:relative;overflow:hidden;color:#e9f3f2;background:radial-gradient(120% 90% at 85% 0%,rgba(127,224,210,.22),transparent 55%),linear-gradient(160deg,var(--p-hero1),var(--p-hero2));padding:22px 20px 26px}
.au-hero .logo{width:120px;background:#ffffff}
.au-hero h2{margin:18px 0 6px;font-size:22px;line-height:1.2;letter-spacing:-.01em;font-weight:700;max-width:440px}
.au-hero p{margin:0;color:#b9cfcc;font-size:13.5px;max-width:420px}
.au-eye{display:inline-block;margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p-eyebrow)}
.au-feats{display:none;margin:22px 0 0;padding:0;list-style:none;gap:10px;flex-direction:column;position:relative}
.au-feats li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:#d5e6e3}
.au-feats .tile{background:rgba(127,224,210,.14);color:var(--p-eyebrow)}
.au-feats b{display:block;color:#fff;font-size:14px}
.au-motif{position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(127,224,210,.18);box-shadow:0 0 0 34px rgba(127,224,210,.05),0 0 0 70px rgba(127,224,210,.035);pointer-events:none}
.au-side{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:22px 16px 18px}
.au-card{width:100%;max-width:400px;background:var(--p-card);border:1px solid var(--p-line);border-radius:14px;box-shadow:var(--p-shadow);padding:20px 18px}
.au-card h1{margin:0 0 4px;font-size:20px;font-weight:700}
.au-card > p{margin:0 0 16px;color:var(--p-muted);font-size:13.5px}
.au-card .note{margin-top:12px}
.au-secure{display:flex;align-items:center;gap:7px;margin-top:14px;font-size:12px;color:var(--p-muted)}
.au-secure .fa-solid{color:var(--p-ok)}
.au-help{margin-top:16px;font-size:12.5px;color:var(--p-muted);text-align:center;max-width:400px}
.au-help a{color:var(--p-brand-text);font-weight:600;text-decoration:none}
.au-alt{margin-top:12px;text-align:center}
.au-alt > p{margin:0 0 12px}
/* UAE PASS's own artwork, shown as issued: no border, no fill, our focus ring. */
.up-btn{display:inline-flex;max-width:100%;padding:0;margin:0;border:0;background:none;border-radius:12px;cursor:pointer;line-height:0}
.up-btn img{display:block;max-width:100%;height:auto}
.up-btn:focus-visible{outline:0;box-shadow:var(--p-focus)}
.up-btn[disabled]{opacity:.6;cursor:progress}
.au-legal{margin-top:auto;padding-top:18px;font-size:11.5px;color:var(--p-faint);text-align:center}
.otp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 10px repeat(3,minmax(0,1fr));gap:6px;align-items:center;margin:4px 0 6px}
.otp input{height:50px;width:100%;min-width:0;text-align:center;font-family:var(--mono);font-size:22px;font-weight:600;border:1px solid var(--p-line2);border-radius:10px;background:var(--p-card);color:var(--p-ink);padding:0}
.otp input:focus{outline:0;border-color:var(--p-brand);box-shadow:var(--p-focus)}
.otp .dash{height:2px;background:var(--p-line2);border-radius:2px}
.otp.is-err input{border-color:var(--p-err)}
.to{font-weight:700;color:var(--p-ink);overflow-wrap:anywhere}
.code-more{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:10px}
@media (min-width:860px){
  .au{grid-template-columns:minmax(380px,44%) minmax(0,1fr)}
  .au-hero{padding:40px 44px;display:flex;flex-direction:column}
  .au-hero h2{font-size:30px;margin-top:auto}
  .au-feats{display:flex}
  .au-motif{width:420px;height:420px;right:-120px;bottom:-140px}
  .au-side{justify-content:center;padding:40px 32px 22px}
  .au-card{padding:26px 26px}
  .otp input{height:56px;font-size:25px}
}

/* ---------- home ---------- */
.hi{margin-bottom:16px}
.hi h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em}
.hi p{margin:2px 0 0;font-size:13.5px;color:var(--p-muted)}
.hc{display:flex;flex-direction:column;gap:10px}
.hc-big{font-size:24px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1;overflow-wrap:anywhere}
.hc-big small{font-size:12px;font-weight:700;color:var(--p-faint);margin-right:5px;letter-spacing:.03em}
.hc-big.is-err{color:var(--p-err)}
.hc-line{font-size:13px;color:var(--p-muted);display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}
.hc-line .fa-solid{width:14px;text-align:center;color:var(--p-faint);flex:0 0 14px}
.hc-line a{color:var(--p-brand-text);text-decoration:none;font-weight:600}
.hc .acts{margin-top:auto;padding-top:4px}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:flex;gap:11px;padding:10px 0;border-top:1px solid var(--p-line);align-items:flex-start}
.feed li:first-child{border-top:0;padding-top:0}
.feed .dot{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.feed div{min-width:0;overflow-wrap:anywhere}
.feed a{text-decoration:none}
.dot.ok{background:var(--p-ok-wash);color:var(--p-ok)} .dot.wait{background:var(--p-warn-wash);color:var(--p-warn)}
.dot.no{background:var(--p-err-wash);color:var(--p-err)} .dot.info,.dot.paid{background:var(--p-info-wash);color:var(--p-info)}
.dot.grey{background:var(--p-card2);color:var(--p-muted);border:1px solid var(--p-line)}
.feed b{font-weight:600}
.feed span{display:block;font-size:12px;color:var(--p-faint);margin-top:1px}
.home-low{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
@media (min-width:900px){ .home-low{grid-template-columns:minmax(0,2fr) minmax(0,1fr)} }

/* ---------- payslips ---------- */
.yr{display:flex;flex-wrap:wrap;gap:6px}
.yr a{display:inline-flex;align-items:center;height:30px;border-radius:999px;border:1px solid var(--p-line2);background:var(--p-card);padding:0 12px;font-size:13px;font-weight:600;color:var(--p-muted);text-decoration:none}
.yr a[aria-current="true"]{background:var(--p-ink);color:var(--p-card);border-color:var(--p-ink)}
.slips{width:100%;border-collapse:collapse}
.slips th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--p-faint);padding:0 10px 8px;border-bottom:1px solid var(--p-line)}
.slips td{padding:11px 10px;border-bottom:1px solid var(--p-line);font-size:14px;vertical-align:middle}
.slips tr:last-child td{border-bottom:0}
.slips .r{text-align:right}
.slips .m b{display:block}
.slips .m span{font-size:12px;color:var(--p-muted)}
.slips .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.slips .acts{justify-content:flex-end;flex-wrap:nowrap}
.yt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:10px 12px;border-radius:10px;background:var(--p-brand-wash);color:var(--p-brand-text);font-size:13px;font-weight:600;margin-bottom:12px}
@media (max-width:639px){
  .slips thead{display:none}
  .slips,.slips tbody{display:block}
  .slips tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1px 10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--p-line)}
  .slips tr:last-child{border-bottom:0}
  .slips td{padding:0;border:0}
  .slips td.m{grid-column:1;grid-row:1}
  .slips td.paid{grid-column:1;grid-row:2;font-size:12px;color:var(--p-muted)}
  .slips td.amt{grid-column:2;grid-row:1/3;text-align:right}
  .slips td.go{grid-column:3;grid-row:1/3}
  .slips .acts{gap:6px}
  .slips td.go .pb-txt{display:none}
}

/* ---------- one payslip ---------- */
.net{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 18px}
.net-v{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;overflow-wrap:anywhere}
.net-v small{font-size:13px;color:var(--p-faint);font-weight:700;margin-right:6px;letter-spacing:.04em}
.net-l{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--p-muted);margin-bottom:6px}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--p-line);font-size:12.5px;color:var(--p-muted)}
.meta span{display:inline-flex;align-items:center;gap:6px}
.ref{font-family:var(--mono);font-size:12px}
.li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dashed var(--p-line);font-size:13.5px}
.li:first-of-type{border-top:0}
.li span{min-width:0;overflow-wrap:anywhere}
.li b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.li.tot{border-top:1px solid var(--p-line2);font-weight:700;padding-top:10px;margin-top:2px}
.li.tot b{font-weight:700}
.li.neg b{color:var(--p-err)}
.kv{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.kv div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--p-line);font-size:13.5px}
.kv div:first-child{border-top:0}
.kv .k{color:var(--p-muted);flex:0 0 auto}
.kv .v{font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
@media (min-width:760px){ .kv.cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px} .kv.cols div:nth-child(2){border-top:0} }
.lockline{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--p-muted);margin-top:12px}
.slip-notes{margin:12px 0 0;font-size:13px;color:var(--p-muted);white-space:pre-line}

/* ---------- a page with one thing to say ---------- */
.msg{max-width:520px;margin:24px auto;text-align:center}
.msg .tile{width:44px;height:44px;font-size:18px;margin:0 auto 12px;border-radius:12px}
.msg h1{margin:0 0 6px;font-size:20px}
.msg p{margin:0 0 16px;color:var(--p-muted)}
.msg .acts{justify-content:center}
.lone{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.lone .logo{width:120px;margin-bottom:18px}

/* ---------- a client's manager's pages ---------- */
/* Me / My team, for somebody who is our employee and a manager at a client too. */
.pp-sw{display:inline-flex;background:var(--p-card2);border:1px solid var(--p-line2);border-radius:10px;padding:2px;flex:0 0 auto}
.pp-sw a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:8px;font-size:13px;font-weight:600;color:var(--p-muted);text-decoration:none;white-space:nowrap}
.pp-sw a:hover{color:var(--p-ink)}
.pp-sw a[aria-current="page"]{background:var(--p-brand);color:var(--p-brand-ink)}
.pp-sw a:focus-visible{outline:0;box-shadow:var(--p-focus)}
.pp-top.has-sw .pp-brand span{display:none}
/* A manager who is not our employee has no My details page to sign out from. */
.pp-out.is-always{display:inline-flex}
/* The team's menu is longer: never let it push the header wider than the screen. */
.pp-top.is-team .pp-nav,.pp-top.has-sw .pp-nav{min-width:0;overflow-x:auto;scrollbar-width:none;padding-block:3px}
@media (min-width:760px) and (max-width:1099px){
  .pp-top.is-team .pp-brand span{display:none}
  .pp-top.is-team .pp-nav a .fa-solid,.pp-top.has-sw .pp-nav a .fa-solid,.pp-top.has-sw .pp-sw .fa-solid{display:none}
  .pp-top.is-team .pp-nav a,.pp-top.has-sw .pp-nav a{padding:0 9px}
  .pp-top.has-sw .pp-out{display:none}
}
@media (min-width:760px) and (max-width:1239px){ .pp-top.has-sw{gap:12px} .pp-top.has-sw .pp-mename{display:none} }
@media (max-width:420px){ .pp-top.has-sw{gap:10px} .pp-sw a{padding:0 9px;font-size:12.5px} }

.tm-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.tm-pick .pin{width:auto;flex:0 1 280px;min-width:0}
.tabs a{display:inline-block;padding:7px 10px;font-size:13px;font-weight:600;color:var(--p-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none}
.tabs a[aria-selected="true"]{color:var(--p-brand-text);border-bottom-color:var(--p-brand)}
.tabs a:focus-visible{outline:0;box-shadow:var(--p-focus);border-radius:6px}
@media (min-width:760px){ .g3.is-team{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))} }
.rq-why.is-warn{background:var(--p-warn-wash);color:var(--p-warn)}
.rq-why .fa-solid{margin-right:2px}
.pb-bad{background:var(--p-err);color:var(--p-card)}
.pb-bad:hover{filter:brightness(1.06)}
.tm-answer{align-items:flex-start}
.tm-decl > summary{list-style:none}
.tm-decl > summary::-webkit-details-marker{display:none}
.tm-decl[open]{flex-basis:100%}
.tm-decl[open] > summary{background:var(--p-card2)}
.tm-decl form{margin-top:8px;display:flex;flex-direction:column;gap:8px}

.tm-find{flex:0 1 240px;min-width:0;margin:0}
.tm-find .pin{width:100%}
.tm-list{padding:6px}
.tm-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;text-decoration:none;color:inherit;min-width:0}
.tm-row:hover{background:var(--p-card2)}
.tm-row[aria-current="true"]{background:var(--p-brand-wash)}
.tm-row:focus-visible{outline:0;box-shadow:var(--p-focus)}
.tm-pn{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.tm-pn b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-pn span{font-size:12px;color:var(--p-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-row .pill{flex:0 0 auto}
.tm-list .rq-empty{padding:10px}
.tm-back{display:none}
.tm-phead{display:flex;align-items:center;gap:12px;min-width:0}
.tm-phead > div{min-width:0}
.tm-phead .pp-av{width:44px;height:44px;flex:0 0 44px;font-size:14px}
.tm-phead h2{margin:0;font-size:18px;line-height:1.2;overflow-wrap:anywhere}
.tm-phead p{margin:2px 0 0;font-size:12.5px;color:var(--p-muted);overflow-wrap:anywhere}
.tm-pt{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--p-faint);margin:16px 0 8px}
.tm-card .stats{margin-bottom:0}
.tm-stats2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tm-card .kv .v{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 6px}
.tm-card > .note{margin-top:14px}

.tm-cell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.tm-d{font-variant-numeric:tabular-nums;white-space:nowrap}
.tm-view{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border:1px solid var(--p-line);border-radius:999px;background:var(--p-card);color:var(--p-brand-text);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.tm-view:hover{background:var(--p-brand-wash)}
.tm-view:focus-visible{outline:0;box-shadow:var(--p-focus)}
.tm-view .fa-solid{font-size:11px}
.tm-none{font-size:12.5px;color:var(--p-faint);white-space:nowrap}
.tm-hint{margin:10px 0 0;font-size:12px;color:var(--p-faint)}
.tm-scroll{overflow-x:auto;min-width:0}
.tm-pap{width:100%;border-collapse:collapse}
.tm-pap th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--p-faint);padding:0 10px 8px;border-bottom:1px solid var(--p-line);white-space:nowrap}
.tm-pap td{padding:9px 10px;border-bottom:1px solid var(--p-line);font-size:13px;vertical-align:middle}
.tm-pap tr:last-child td{border-bottom:0}
.tm-pap .tm-who b{display:block;font-size:13.5px}
.tm-pap .tm-who span{font-size:12px;color:var(--p-muted)}

@media (max-width:899px){
  .tm-flip > :first-child{order:2}
  .tm-team.has-pick .tm-list{display:none}
  .tm-team:not(.has-pick) .tm-card{display:none}
  .tm-back{display:inline-flex}
}
@media (max-width:639px){
  .tm-find{flex:1 1 100%}
  .tm-pap thead{display:none}
  .tm-pap,.tm-pap tbody{display:block}
  .tm-pap tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--p-line)}
  .tm-pap tr:last-child{border-bottom:0}
  .tm-pap td{padding:0;border:0;display:contents}
  .tm-pap td.tm-who{display:block;grid-column:1/-1;margin-bottom:2px}
  .tm-pap td[data-l]::before{content:attr(data-l);font-size:12.5px;color:var(--p-muted)}
  .tm-pap td[data-l] > .tm-cell{justify-content:flex-end}
  .tm-swipe{display:none}
}
.tm-answer .pb{font-size:13px;font-weight:600}
@media (max-width:899px){ .tm-team:not(.has-pick) .tm-row[aria-current]{background:transparent} }
@media (max-width:420px){ .tm-stats2{grid-template-columns:minmax(0,1fr)} }
