/* A person's page in blocks (person.js): ID documents drawn as the real thing, insurance and personal numbers,
   and the work, pension and education timelines. The documents are paper and plastic, so they keep their own
   colours (a little darker at night); everything inside them is sized in cqw, so the same picture fits a tile
   and the detail panel. */
:root{
  --doc-ink:#1d2430; --doc-label:#5d6675; --doc-mrz:#1b1f27; --doc-line:rgba(29,36,48,.14);
  --doc-pp-a:#f6efe8; --doc-pp-b:#e7eef5; --doc-pp-g:rgba(150,92,110,.10); --doc-pp-h:#7b2338;
  --doc-id-a:#e7f0fb; --doc-id-b:#f7f3ea; --doc-id-g:rgba(40,90,170,.09); --doc-id-h:#244a8f;
  --doc-dl-a:#fbe4ea; --doc-dl-b:#eef3e3; --doc-dl-g:rgba(170,60,100,.09); --doc-dl-h:#8a2d4f; --doc-eu:#1f3f99; --doc-star:#f2c230;
  --doc-pm-a:#e9eef2; --doc-pm-b:#f6efe6; --doc-pm-g:rgba(60,90,110,.10); --doc-pm-h:#9d2a2a;
  --doc-ot-a:#eef0ea; --doc-ot-b:#f8f6ef; --doc-ot-g:rgba(80,90,70,.09); --doc-ot-h:#4b5a3a;
  --doc-hic-a:#e3f3ec; --doc-hic-b:#f4f8f2; --doc-hic-h:#1f6f5c; --doc-ahv-a:#e3ecf8; --doc-ahv-b:#f3f6fb; --doc-ahv-h:#23468f;
  --doc-cover-eu:#6d1f2f; --doc-cover-ch:#b3262d; --doc-cover-blue:#1f2f5c; --doc-gold:#e3c27a;
  --doc-photo:#d5dbe3; --doc-photo-fg:#8f9aab; --doc-chip:#d9b45a; --doc-chip-line:#a5852f;
  --doc-shadow:0 1px 2px rgba(18,26,23,.08),0 6px 18px rgba(18,26,23,.10);
  --tl-line:var(--line); --tl-dot:var(--accent);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --doc-ink:#1d2430; --doc-shadow:0 1px 2px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.45);
  --doc-pp-a:#e3dbd3; --doc-pp-b:#d3dbe3; --doc-id-a:#d4deea; --doc-id-b:#e5e0d6; --doc-dl-a:#e8d1d8; --doc-dl-b:#dbe1cf;
  --doc-pm-a:#d6dce1; --doc-pm-b:#e4ddd3; --doc-ot-a:#dbded6; --doc-ot-b:#e6e3da; --doc-hic-a:#cfe2d9; --doc-hic-b:#e1e7df;
  --doc-ahv-a:#d0dbea; --doc-ahv-b:#e0e5ee; --doc-photo:#c3cad3}}
:root[data-theme="dark"]{
  --doc-ink:#1d2430; --doc-shadow:0 1px 2px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.45);
  --doc-pp-a:#e3dbd3; --doc-pp-b:#d3dbe3; --doc-id-a:#d4deea; --doc-id-b:#e5e0d6; --doc-dl-a:#e8d1d8; --doc-dl-b:#dbe1cf;
  --doc-pm-a:#d6dce1; --doc-pm-b:#e4ddd3; --doc-ot-a:#dbded6; --doc-ot-b:#e6e3da; --doc-hic-a:#cfe2d9; --doc-hic-b:#e1e7df;
  --doc-ahv-a:#d0dbea; --doc-ahv-b:#e0e5ee; --doc-photo:#c3cad3}

/* ---- a document */
.docv{container-type:inline-size;width:100%;min-width:0}
.doc{--a:var(--doc-id-a);--b:var(--doc-id-b);--g:var(--doc-id-g);--h:var(--doc-id-h);position:relative;overflow:hidden;color:var(--doc-ink);
  border-radius:3.6cqw;box-shadow:var(--doc-shadow);font-size:3.2cqw;line-height:1.15;text-align:left;
  background:repeating-radial-gradient(circle at 78% 30%,var(--g) 0 .35cqw,transparent .35cqw 1.6cqw),
    repeating-linear-gradient(115deg,transparent 0 2.2cqw,var(--g) 2.2cqw 2.35cqw),linear-gradient(135deg,var(--a),var(--b))}
.doc .df{display:grid;gap:.25cqw;min-width:0}
.doc .df span{font-size:.62em;color:var(--doc-label);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc .df b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.15em}
.doc .df.num b{font-family:var(--f-mono);font-weight:400}
.doc .df2{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw}
.dphoto{background:var(--doc-photo);border-radius:1.2cqw;overflow:hidden;display:grid;place-items:end center}
.dphoto img{width:100%;height:100%;object-fit:cover;display:block}
.dphoto svg{width:82%;fill:var(--doc-photo-fg)}
.mrz{font-family:var(--f-mono);color:var(--doc-mrz);white-space:pre;overflow:hidden;letter-spacing:0}
.mrz div{overflow:hidden}

/* passport data page (ICAO TD3, 125 × 88 mm) */
.doc.pp{--a:var(--doc-pp-a);--b:var(--doc-pp-b);--g:var(--doc-pp-g);--h:var(--doc-pp-h);aspect-ratio:125/88;border-radius:2.4cqw;
  display:grid;grid-template-rows:auto 1fr auto;padding:3cqw 3.4cqw 2.4cqw;gap:1.6cqw;font-size:2.55cqw}
.pp-h{display:flex;justify-content:space-between;align-items:baseline;color:var(--h);font-size:1.1em;letter-spacing:.06em;text-transform:uppercase}
.pp-h b{font-weight:700}.pp-h span{font-weight:600;font-size:.86em}
.pp-b{display:grid;grid-template-columns:24cqw 1fr;gap:3cqw;min-height:0}
.pp-b .dphoto{height:31cqw;align-self:start}
.pp-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1cqw 2cqw;align-content:start}
.pp-f .w2{grid-column:span 2}.pp-f .w3{grid-column:span 3}
.doc.pp .mrz{font-size:3.25cqw;line-height:1.25;border-top:1px solid var(--doc-line);padding-top:1cqw}

/* passport cover (closed, 88 × 125 mm) */
.docv.cover{max-width:100%}
.doc.ppc{aspect-ratio:88/125;border-radius:2.4cqw 4cqw 4cqw 2.4cqw;display:grid;justify-items:center;align-content:space-between;padding:10cqw 8cqw 9cqw;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12),transparent 60%),var(--doc-cover-blue);color:var(--doc-gold);text-align:center}
.doc.ppc.c-eu{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12),transparent 60%),var(--doc-cover-eu)}
.doc.ppc.c-ch{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.14),transparent 60%),var(--doc-cover-ch)}
.doc.ppc b{font-size:6.4cqw;letter-spacing:.1em;font-weight:600}
.doc.ppc span{font-size:7.4cqw;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.doc.ppc .emblem{width:34cqw;fill:none;stroke:var(--doc-gold);stroke-width:2.4}
.doc.ppc .epass{width:16cqw;fill:none;stroke:var(--doc-gold);stroke-width:2}

/* cards (ID-1, 85.6 × 54 mm): ID card, driving licence, permit, other */
.doc.idc{aspect-ratio:85.6/54;display:grid;grid-template-rows:auto 1fr;gap:2.6cqw;padding:4cqw 4.4cqw;font-size:3.6cqw}
.doc.idc.dl{--a:var(--doc-dl-a);--b:var(--doc-dl-b);--g:var(--doc-dl-g);--h:var(--doc-dl-h);grid-template-rows:auto 1fr auto}
.doc.idc.permit{--a:var(--doc-pm-a);--b:var(--doc-pm-b);--g:var(--doc-pm-g);--h:var(--doc-pm-h)}
.doc.idc.other{--a:var(--doc-ot-a);--b:var(--doc-ot-b);--g:var(--doc-ot-g);--h:var(--doc-ot-h)}
.idc-h{display:flex;align-items:center;gap:3cqw;color:var(--h);min-width:0}
.idc-h>div{display:grid;min-width:0}
.idc-h b{text-transform:uppercase;letter-spacing:.05em;font-size:1.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idc-h small{font-size:.72em;color:var(--doc-label);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idc-h .dchip{width:11cqw;flex:none;fill:var(--doc-chip);stroke:var(--doc-chip-line);stroke-width:1.2}
.idc-h .ptype{flex:none;width:11cqw;height:11cqw;border-radius:2cqw;display:grid;place-items:center;background:var(--h);color:#fff;font-weight:800;font-size:6cqw}
.idc-h .flag{flex:none;position:relative;width:12cqw;height:12cqw;border-radius:1.6cqw;background:var(--doc-eu);display:grid;place-items:center}
.idc-h .flag .stars{position:absolute;inset:0;width:100%;height:100%;fill:var(--doc-star)}
.idc-h .flag b{position:relative;color:#fff;font-size:2.7cqw;letter-spacing:0}
.idc-b{display:grid;grid-template-columns:27cqw 1fr;gap:4cqw;min-height:0}
.idc-b .dphoto{height:33cqw}
.doc.idc.dl{gap:2cqw}
.doc.idc.dl .idc-b .dphoto{height:28cqw}
.doc.idc.dl .idc-f{gap:1cqw}
.idc-f{display:grid;gap:1.5cqw;align-content:start;min-width:0}
.cats{display:flex;gap:1.6cqw;flex-wrap:wrap;min-height:5cqw}
.cats i{font-style:normal;font-weight:700;font-size:.9em;padding:.4cqw 2cqw;border-radius:1.4cqw;background:var(--h);color:#fff}
.cats em{font-style:normal;font-size:.62em;color:var(--doc-label);text-transform:uppercase}
.doc.idc.back{grid-template-rows:1fr auto;gap:2cqw}
.back-f{display:grid;grid-template-columns:1fr 1fr;gap:2cqw 4cqw;align-content:start}
.back-f .df:last-child{grid-column:span 2}
.doc.idc .mrz{font-size:4.85cqw;line-height:1.2;background:rgba(255,255,255,.45);margin:0 -4.4cqw -4cqw;padding:1.6cqw 4.4cqw 3cqw}

/* insurance cards */
.doc.hic,.doc.ahv{aspect-ratio:85.6/54;display:grid;align-content:space-between;padding:4.4cqw 5cqw;font-size:3.6cqw;gap:2cqw}
.doc.hic{--a:var(--doc-hic-a);--b:var(--doc-hic-b);--h:var(--doc-hic-h);--g:rgba(31,111,92,.08)}
.doc.ahv{--a:var(--doc-ahv-a);--b:var(--doc-ahv-b);--h:var(--doc-ahv-h);--g:rgba(35,70,143,.08)}
.hic-h,.ahv-h{display:flex;align-items:center;gap:3cqw;color:var(--h)}
.hic-h>div,.ahv-h{display:grid}
.hic-h b,.ahv-h b{font-weight:700;letter-spacing:.03em}
.hic-h small,.ahv-h small{font-size:.7em;color:var(--doc-label);text-transform:uppercase;letter-spacing:.06em}
.hic-h .ini{width:10cqw;height:10cqw;border-radius:2.4cqw;font-size:5cqw;flex:none}
.ahv-n{font-family:var(--f-mono);font-size:7.4cqw;letter-spacing:.02em;color:var(--h)}

/* ---- the ID documents block: one tile per document */
.pblock{scroll-margin-top:16px}
#lifeblocks{display:grid;gap:32px}
#lifeblocks:empty{display:none}
.idtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}
.idtile{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:var(--surface);
  color:var(--fg);text-align:left;font:inherit;cursor:pointer;min-width:0;transition:border-color .15s,box-shadow .15s}
.idtile:hover,.idtile.open{border-color:var(--accent);box-shadow:var(--shadow-lg)}
.idtile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.idtop{display:flex;gap:12px;align-items:center;min-width:0}
.idico{width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;background:#5B6068}
.idico .i{width:22px;height:22px}
.idico.t-passport{background:#7A2E3B}.idico.t-id_card{background:#2F5E9E}.idico.t-driving_licence{background:#2563A6}
.idico.t-residence_permit{background:#B03050}.idico.t-id_other{background:#2F7D52}
.idt{display:grid;gap:2px;min-width:0;flex:1}
.idt b{font-weight:650;font-size:1.02rem}
.idt small{color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idcc{flex:none;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;background:var(--surface-2);font-size:.74rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.idscans{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.idscan{position:relative;aspect-ratio:85.6/54;border-radius:12px;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:600}
.idscan img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.idscan em{position:absolute;left:8px;bottom:6px;font-style:normal;font-size:.68rem;color:var(--fg);background:color-mix(in srgb,var(--surface) 85%,transparent);border-radius:6px;padding:1px 6px}
.idscan.add{background:none;border:1.5px dashed var(--line)}
.idscan .i{width:16px;height:16px}
.idline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.idline .num{font-family:var(--f-mono);font-size:.84rem;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.idline .pill{flex:none}
.idbar{display:flex;flex-direction:column;gap:6px}
.idbar .track{position:relative;height:8px;border-radius:9px;background:var(--surface-2)}
.idbar .track i{position:absolute;top:0;bottom:0;border-radius:9px}
.idbar .fill{left:0;background:var(--ok)}.idbar .fill.warn{background:var(--warn)}.idbar .fill.danger{background:var(--danger)}
.idbar .rn{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--warn) 45%,transparent) 0 3px,transparent 3px 6px)}
.idbar .now{width:2px;top:-4px!important;bottom:-4px!important;background:var(--fg);border-radius:2px!important;margin-left:-1px}
.idbar .lbl{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:var(--muted)}
.idbar .lbl b{color:var(--fg);font-weight:600}
.idlock{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;color:var(--muted)}
.iddet{display:grid;gap:8px;justify-items:start}
.iddet .idbar{width:100%;max-width:520px}

/* the detail panel: front and back side by side, or one under the other on a phone */
.docpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.docpair.pp2{grid-template-columns:minmax(0,1.42fr) minmax(0,.62fr)}
.docpair.one,.docpair:has(>.docv:only-child){grid-template-columns:minmax(0,1fr);max-width:420px}
.docpair.live{padding:12px;border-radius:14px;background:var(--surface-2)}
@media (max-width:560px){.docpair,.docpair.pp2{grid-template-columns:minmax(0,1fr)}.docpair .docv.cover{max-width:52%}}
.remind{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--t-date-b);color:var(--fg);font-size:.88rem}
.remind .i{color:var(--t-date-i);flex:none;margin-top:1px}
.scans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scan{display:grid;gap:6px;justify-items:start;min-width:0}
.scan>a,.scan>span.muted{width:100%;aspect-ratio:85.6/54;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);gap:4px;color:var(--muted);font-size:.8rem;text-align:center;padding:4px}
.scan>a img{width:100%;height:100%;object-fit:cover}
.choose{display:grid;gap:8px}
.choice{display:grid;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer}
.choice:hover,.choice:focus-visible{border-color:var(--accent)}
.choice .tag{justify-self:start;margin-top:4px}
.field .check .input.mini{width:4.2em;display:inline-block;padding:4px 6px;margin:0 4px}

/* ---- insurance and personal numbers */
.insvis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,300px));gap:14px}
.insv{padding:0;border:0;background:none;cursor:pointer;border-radius:3.6cqw;font:inherit;text-align:left}
.insv:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#pinsurance .row .val{font-size:.88rem;white-space:nowrap}

/* ---- timelines: a line down the side, years, a dot per step */
.tl-now{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--t-home-b)}
.tl-chips{margin-top:-2px}
.tl-chips .chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.vtl{position:relative;display:grid;gap:4px;padding-left:2px}
.vtl::before{content:"";position:absolute;left:calc(88px + 12px + 7px);top:6px;bottom:6px;width:2px;background:var(--tl-line);border-radius:2px}
.tl-year{font-family:var(--f-display);font-weight:700;font-size:1.05rem;padding:12px 0 2px calc(88px + 40px)}
.tl-it{display:grid;grid-template-columns:88px 16px minmax(0,1fr);gap:0 12px;align-items:start;padding:6px 0;border-radius:12px;cursor:pointer}
.tl-it:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tl-d{font-size:.82rem;color:var(--muted);text-align:right;padding-top:3px;white-space:nowrap}
.tl-dot{width:14px;height:14px;margin:4px 1px 0;border-radius:50%;background:var(--surface);border:3px solid var(--tl-dot);position:relative;z-index:1}
.tl-it.major .tl-dot{background:var(--tl-dot);box-shadow:0 0 0 4px var(--accent-soft)}
.tl-c{display:grid;gap:4px;min-width:0;padding:8px 12px;border-radius:12px}
.tl-it.major .tl-c{background:var(--surface-2)}
.tl-it:hover .tl-c,.tl-it.open .tl-c{background:var(--accent-soft)}
.tl-t{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tl-t b{font-weight:650}
.tl-t .tag{display:inline-flex;align-items:center;gap:3px}
@media (max-width:560px){
  .vtl::before{left:7px}
  .tl-year{padding-left:28px}
  .tl-it{grid-template-columns:16px minmax(0,1fr);gap:2px 10px}
  .tl-d{grid-column:2;grid-row:1;text-align:left;padding:0 12px}
  .tl-dot{grid-column:1;grid-row:1 / span 2}
  .tl-c{grid-column:2}
  .idtiles{grid-template-columns:minmax(0,1fr)}
  .insvis{grid-template-columns:minmax(0,1fr)}
}
.tl-money{color:inherit;font-weight:600;text-decoration:none}
.tl-money:hover{text-decoration:underline}
.instable .ins-sub td{padding:14px 8px 6px;font-weight:600}
.instable .ins-sub td .cnt{font-weight:400}

/* 1.21: Work, Pension and Education look like the Health log: a colour per kind of step */
.tk-1{--hk:var(--k1)}.tk-2{--hk:var(--k2)}.tk-3{--hk:var(--k3)}.tk-4{--hk:var(--k4)}.tk-5{--hk:var(--k5)}.tk-6{--hk:var(--k6)}.tk-7{--hk:var(--k7)}.tk-8{--hk:var(--k8)}
.htl .hb.major .bub b{font-size:1.02rem}
.tl-filter{margin:4px 0 2px}
.tl-list .tag[class*="tk-"]{color:var(--hk);background:color-mix(in srgb,var(--hk) 12%,var(--surface));border-color:transparent}
.tl-now[data-open]{cursor:pointer}.tl-now[data-open]:hover{box-shadow:0 0 0 2px var(--accent-soft)}
.tl-now>.i{flex:none}
.pblock .sheet-h .t{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.htl a.bub{text-decoration:none}

/* 1.34.7: Work laid out like Services & billing: glance cards, the jobs, the one picked with its tabs, the steps below */
.wjb{gap:14px}
.wjb-lab{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wjb-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wjb-g{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:var(--surface-2);min-width:0}
.wjb-g > b{font-size:1.25rem;letter-spacing:-.01em}
.wjb-bar{height:7px;border-radius:999px;background:var(--line);overflow:hidden}
.wjb-bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:999px}
.wjb-main{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:start}
.wjb-jobs{display:flex;flex-direction:column;gap:8px}
.wjb-jobs .wjb-lab:not(:first-child){margin-top:8px}
.wjb-job{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--fg);cursor:pointer}
.wjb-job:hover{border-color:var(--accent)}
.wjb-job.on{border:2px solid var(--accent);padding:11px 13px}
.wjb-job .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.wjb-job .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.wjb-job .ico.wjb-now{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.wjb-job .ico.wjb-was{background:var(--surface-2);color:var(--muted)}
.wjb-tags{display:flex;gap:6px;margin-top:4px}
.wjb-detail{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;border-radius:18px;border:1px solid var(--line)}
.wjb-dh{display:flex;gap:12px;align-items:flex-start}
.wjb-dh h3{margin:0;font-size:1.2rem}
.wjb-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.wjb-years{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wjb-yr{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:6px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font:inherit;font-weight:700;color:var(--fg);cursor:pointer}
.wjb-yr small{font-size:.7rem;font-weight:600}
.wjb-yr small.ok{color:var(--ok)}.wjb-yr small.warn{color:var(--warn)}
.wjb-yr.on{border:2px solid var(--accent);padding:5px 11px}
.wjb-more{width:auto;height:40px}
.wjb-cv{display:flex;justify-content:flex-end;margin-bottom:8px}
.wjb-t td.num,.wjb-t th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.wjb-t td:last-child{width:36px}
.wjb-kv{margin:0}
.wjb-career{border-top:1px solid var(--line);padding-top:10px}
.wjb-career > summary{cursor:pointer;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;list-style:none}
.wjb-career > summary::-webkit-details-marker{display:none}
.wjb-career[open] > summary{margin-bottom:10px}
@media (max-width:860px){.wjb-glance{grid-template-columns:1fr}.wjb-main{grid-template-columns:1fr}.wjb-jobs{flex-direction:row;overflow-x:auto}.wjb-job{min-width:240px}.wjb-jobs .wjb-lab{display:none}}
@media (max-width:640px){.wjb-t tr{display:grid;grid-template-columns:1fr auto}.wjb-t th{display:none}.wjb-t td{border:0;padding:3px 6px}.wjb-t tr{border-bottom:1px solid var(--line);padding:6px 0}}
/* 1.34.7: business trips of a job */
.wjb-trip{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:16px}
.wjb-trip-h{display:flex;gap:12px;align-items:flex-start}
.wjb-trip-h .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--accent)}
.wjb-trip-h .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.wjb-trip-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wjb-tk{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--surface-2);min-width:0}
.wjb-tf{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.wjb-tk .ctf.add{align-self:flex-start}
@media (max-width:860px){.wjb-trip-f{grid-template-columns:1fr}}
