/* Patient Pathway Plus Academy — Insource 2026 brand tokens */
:root{
  --navy:#232C38; --blue:#4597CB; --sky:#7FBDE3; --orange:#F28A00; --turq:#6EDBD5;
  --bg:#FFFFFF; --panel:#F4F7FA; --tint:#EEF4FB; --line:#D9E1E8;
  --fg:#46525F; --head:#232C38; --muted:#909BAA; --kicker:#4597CB;
  --ok:#2E8B57; --okbg:#E8F5EE; --warn:#B36A00; --warnbg:#FFF4E5; --crit:#C0392B; --critbg:#FDECEA;
  --display:'Titillium Web','Segoe UI',Arial,sans-serif; --body:'Open Sans','Segoe UI',Arial,sans-serif;
  --shadow:0 2px 10px rgba(35,44,56,.08);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171C24;--panel:#1F2733;--tint:#1C2531;--line:#33404F;--fg:#C9D3DE;--head:#F1F5F9;--muted:#8C9AAB;--kicker:#7FBDE3;--okbg:#17352A;--warnbg:#3A2A10;--critbg:#3B1D1A;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#171C24;--panel:#1F2733;--tint:#1C2531;--line:#33404F;--fg:#C9D3DE;--head:#F1F5F9;--muted:#8C9AAB;--kicker:#7FBDE3;--okbg:#17352A;--warnbg:#3A2A10;--critbg:#3B1D1A;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.55}
h1,h2,h3,h4{font-family:var(--display);color:var(--head);margin:0;text-wrap:balance;line-height:1.15}
h1{font-size:2rem;font-weight:600}h2{font-size:1.45rem;font-weight:600}h3{font-size:1.1rem;font-weight:600}h4{font-size:1rem;font-weight:700}
p{margin:0 0 .9rem}a{color:var(--blue)}code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--tint);padding:.05em .35em;border-radius:3px}
button,input,select,textarea{font:inherit;color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
[hidden]{display:none!important}
.kicker{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kicker);display:flex;align-items:center;gap:.5rem}
.kicker::before{content:"";width:.5rem;height:.5rem;background:var(--orange);transform:rotate(45deg);flex:none}
.stand{font-family:var(--display);font-weight:300;font-size:1.15rem}
.small{font-size:.85rem}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}
.tw{overflow-x:auto;margin:0 0 1rem}
table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:var(--display);font-weight:600;color:var(--head);background:var(--panel)}
ul,ol{margin:0 0 .9rem;padding-left:1.3rem}li{margin:.2rem 0}

/* shell */
.topbar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar .in{max-width:1180px;margin:0 auto;padding:.6rem max(16px,env(safe-area-inset-right,0px)) .6rem max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--head)}
.brand .ins{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.01em;color:var(--blue)}
.brand .ac{font-family:var(--display);font-weight:300;font-size:1.05rem;white-space:nowrap;border-left:1px solid var(--line);padding-left:.7rem}
.nav{display:flex;gap:.2rem;flex-wrap:wrap;margin-left:auto}
.nav a{text-decoration:none;color:var(--fg);padding:.35rem .7rem;border-radius:4px;font-weight:600;font-size:.9rem}
.nav a.on,.nav a:hover{background:var(--tint);color:var(--head)}
.who{display:flex;align-items:center;gap:.5rem;font-size:.85rem}
.avatar{width:30px;height:30px;background:var(--blue);color:#fff;font-family:var(--display);font-weight:700;display:grid;place-items:center;font-size:.8rem;border-radius:50%}
.testbar{background:var(--warnbg);color:var(--warn);font-size:.8rem;text-align:center;padding:.3rem 1rem;border-bottom:1px solid var(--line)}
main{max-width:1180px;margin:0 auto;padding-block:1.6rem 4rem;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.4rem}
.grid{display:grid;gap:1.2rem}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g23{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
@media (max-width:860px){.g23{grid-template-columns:1fr}}
.grid>*{min-width:0}
.card{background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--blue);padding:1.1rem 1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem}
.card.flat{border-top-color:var(--line);box-shadow:none}.card.turq{border-top-color:var(--turq)}.card.navy{border-top-color:var(--navy)}
.rail{background:var(--panel);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem}
.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--blue);background:var(--blue);color:#fff;padding:.5rem 1rem;font-weight:600;cursor:pointer;border-radius:3px;text-decoration:none;font-size:.9rem}
.btn:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;color:var(--blue)}.btn.sm{padding:.3rem .7rem;font-size:.8rem}.btn.orange{background:var(--orange);border-color:var(--orange)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.chip{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:var(--tint);color:var(--head)}
.chip.ok{background:var(--okbg);color:var(--ok)}.chip.warn{background:var(--warnbg);color:var(--warn)}.chip.crit{background:var(--critbg);color:var(--crit)}
.hint{padding:.6rem .8rem;border-left:4px solid var(--blue);background:var(--tint);font-size:.9rem}.hint.ok{border-color:var(--ok);background:var(--okbg)}.hint.warn{border-color:var(--warn);background:var(--warnbg)}.hint.crit{border-color:var(--crit);background:var(--critbg)}
label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--head)}
input[type=text],input[type=email],input[type=date],select,textarea{border:1px solid var(--line);background:var(--bg);padding:.45rem .6rem;border-radius:3px;font-weight:400;min-width:0;width:100%}
textarea{min-height:5rem}
.frow{display:flex;gap:.8rem;flex-wrap:wrap}.frow>label{flex:1 1 180px}
.progress{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.tile{background:var(--panel);padding:.8rem 1rem}.tile b{display:block;font-family:var(--display);font-size:1.8rem;font-weight:600;color:var(--head);line-height:1.1}.tile span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.tile.accent b{color:var(--orange)}

/* catalogue */
.pathcard{display:flex;flex-direction:column;gap:.5rem;background:var(--bg);border:1px solid var(--line);border-left:5px solid var(--blue);padding:1rem 1.1rem;text-decoration:none;color:inherit;box-shadow:var(--shadow)}
.pathcard:hover{border-left-color:var(--orange)}.pathcard.cpm{border-left-color:var(--turq)}.pathcard.done{border-left-color:var(--ok)}
.pathcard .meta{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.lessonrow{display:flex;align-items:center;gap:.8rem;padding:.6rem .4rem;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.lessonrow:hover{background:var(--tint)}.lessonrow .n{width:2.6rem;font-family:var(--display);font-weight:700;color:var(--blue);flex:none}
.lessonrow .t{flex:1;min-width:0}.lessonrow .s{font-size:.8rem;color:var(--muted);flex:none}
.lessonrow.done .n{color:var(--ok)}

/* lesson */
.lesson{max-width:860px}.lesson h3{margin-top:1.2rem}.lesson h4{margin-top:.8rem}
.blocknav{display:flex;gap:.3rem;flex-wrap:wrap;position:sticky;top:58px;background:var(--bg);padding:.5rem 0;z-index:5;border-bottom:1px solid var(--line);margin-bottom:1rem}
.blocknav a{text-decoration:none;color:var(--fg);padding:.3rem .7rem;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--panel)}
.block{margin-bottom:1.6rem;padding-top:.3rem}.block>.kicker{margin-bottom:.6rem}
.ph{background:var(--tint);border-bottom:1px dashed var(--blue);padding:0 .15em}.ph.set{background:transparent;border-bottom:1px dotted var(--sky)}.ph.missing{color:var(--muted);font-style:italic;border-bottom-color:var(--muted)}
.tasks{list-style:none;padding-left:0}.tasks li::before{content:"☐ ";color:var(--blue)}
.q{background:var(--panel);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem}
.q .stem{font-weight:600;color:var(--head)}.q .opt{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.95rem;color:var(--fg);padding:.35rem .5rem;border-radius:3px;cursor:pointer}
.q .opt:hover{background:var(--tint)}.q .opt input{margin-top:.3rem;flex:none}
.q.right{border-left:4px solid var(--ok)}.q.wrong{border-left:4px solid var(--crit)}
.q .rat{font-size:.88rem;border-top:1px solid var(--line);padding-top:.5rem}
.meta-tbl{font-size:.85rem}.meta-tbl td:first-child{font-weight:600;color:var(--head);white-space:nowrap}

/* certificate */
.cert{background:#fff;color:#232C38;border:1px solid var(--line);padding:2.2rem 2.4rem;max-width:760px;position:relative;box-shadow:var(--shadow);font-family:var(--body)}
.cert::before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:linear-gradient(90deg,var(--blue),var(--navy))}
.cert .ins{font-family:var(--display);font-weight:700;color:var(--blue);font-size:1.4rem}
.cert h2{font-family:var(--display);font-weight:300;font-size:1.3rem;color:#46525F;margin:.5rem 0}
.cert .name{font-family:var(--display);font-size:2.2rem;font-weight:600;color:#232C38;margin:.8rem 0 .3rem}
.cert .track{font-family:var(--display);font-size:1.3rem;font-weight:600;color:#4597CB}
.cert dl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1.2rem;margin:1.2rem 0 0;font-size:.9rem}.cert dt{font-weight:700}.cert dd{margin:0}
.cert .foot{margin-top:1.4rem;font-size:.78rem;color:#909BAA;border-top:1px solid #D9E1E8;padding-top:.8rem}
@media print{.topbar,.testbar,.noprint{display:none!important}main{padding:0}.cert{box-shadow:none;border:none}}

/* simulator */
.sim{border:1px solid var(--line);background:var(--bg);font-size:.86rem}
.sim-bar{background:var(--navy);color:#fff;padding:.45rem .8rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.sim-bar .r{margin-left:auto;opacity:.8}
.sim-bar .b{font-family:var(--display);font-weight:700;letter-spacing:.02em}
.sim-filters{display:flex;gap:.6rem;flex-wrap:wrap;padding:.6rem .8rem;background:var(--panel);border-bottom:1px solid var(--line)}.sim-filters label{flex:1 1 150px;font-size:.78rem}
.sim-grid{overflow-x:auto}.sim-grid th button{border:0;background:none;font:inherit;font-weight:600;color:var(--head);cursor:pointer;padding:0}
.sim-grid tfoot input{padding:.2rem .4rem;font-size:.8rem}
.sim-grid tr.sel td{background:var(--tint)}.pid.red{color:var(--crit);font-weight:700}.pid.blue{color:var(--blue);font-weight:700}
.pencil{border:0;background:none;cursor:pointer;color:var(--blue)}
.sim-foot{display:flex;gap:1.2rem;padding:.45rem .8rem;border-top:1px solid var(--line);font-size:.78rem;flex-wrap:wrap}.sim-foot .key i{display:inline-block;width:.7rem;height:.7rem;margin:0 .3rem 0 .6rem;vertical-align:middle}
.detail{border-top:3px solid var(--blue);padding:.8rem}.banner{display:flex;gap:1rem;flex-wrap:wrap;background:var(--panel);padding:.5rem .8rem;margin-bottom:.6rem}
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin-bottom:.6rem}.tabs button{border:0;background:none;padding:.4rem .8rem;cursor:pointer;font-weight:600;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{border-bottom-color:var(--orange);color:var(--head)}
.steps{display:flex;flex-direction:column;gap:.5rem}.step{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;opacity:.7}.step .n{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--line);display:grid;place-items:center;font-size:.75rem;font-weight:700;flex:none}
.step.now{opacity:1}.step.now .n{background:var(--orange);color:#fff}.step.done{opacity:1}.step.done .n{background:var(--ok);color:#fff}

footer{max-width:1180px;margin:0 auto;padding:1rem 16px 2rem;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line)}
.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:4px;opacity:0;transition:.25s;pointer-events:none;z-index:50;font-size:.9rem}.toast.show{opacity:1;transform:translateX(-50%)}
.signin{max-width:460px;margin:3rem auto}

/* figures (product screenshots, dummy data) */
figure.shot{margin:1rem 0 1.2rem;border:1px solid var(--line);background:var(--panel);padding:.5rem}
figure.shot img{display:block;max-width:100%;height:auto;background:#fff}
figure.shot figcaption{font-size:.82rem;color:var(--muted);padding:.5rem .3rem 0}
figure.shot figcaption::before{content:"Screen: ";font-weight:700;color:var(--head)}

/* ===== practice copy of Patient Pathway Plus (mirrors the product's light UI, so colours are fixed) ===== */
.pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.2rem}
@media (max-width:980px){.pp-layout{grid-template-columns:1fr}}
.pps{--pp-blue:#2f7fc1;--pp-or:#f28a00;--pp-cyan:#d2f6f7;--pp-mag:#d4148d;--pp-line:#d7dbe0;--pp-grey:#6f7377;
  background:#fff;color:#222;border:1px solid #c9ced4;font:13px/1.4 'Segoe UI',Roboto,Arial,sans-serif;min-width:0;color-scheme:light;box-shadow:var(--shadow)}
.pps button{font:inherit;color:inherit;cursor:pointer}.pps input,.pps select,.pps textarea{font:inherit;color:#222;background:#fff;border:1px solid #c5cad0;border-radius:2px;padding:.25rem .35rem;min-width:0}
.pp-tabsbar{display:flex;gap:2px;background:#dfe3e8;padding:4px 4px 0;overflow-x:auto}
.pp-tabsbar button{border:0;background:#eef1f4;padding:.35rem .9rem;border-radius:6px 6px 0 0;white-space:nowrap;font-size:12px}
.pp-tabsbar button.on{background:#fff;font-weight:600}
.pp-screen{position:relative;min-height:560px;overflow:hidden}
.pp-top{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 10px 0;gap:1rem}
.pp-logo{border:0;background:none;display:flex;align-items:center;gap:8px;padding:0;position:relative}
.pp-logo i,.pp-logo b{width:18px;height:18px;transform:rotate(45deg);display:block;background:#9aa6b2}
.pp-logo b{position:absolute;left:9px;width:9px;height:9px;background:#6edbd5;top:12px}
.pp-logo span{font-family:var(--display);font-weight:300;font-size:26px;letter-spacing:-.01em;color:#232c38;margin-left:6px}
.pp-user{text-align:right;font-size:11px;color:var(--pp-blue)}.pp-user .a{color:var(--pp-blue);font-weight:600}.pp-user .b{color:var(--pp-or);font-weight:600}
.pp-menu{display:flex;gap:2px;padding:4px 0 0 0;border-bottom:1px solid var(--pp-line)}.pp-menu span{padding:5px 12px;font-size:13px}.pp-menu span.on{background:#cfe5f7}
/* home */
.pp-home{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.6fr) minmax(160px,1fr);gap:18px;padding:12px}
@media (max-width:760px){.pp-home{grid-template-columns:1fr}}
.pp-sub{color:var(--pp-blue);text-align:center;padding:4px 10px;border-bottom:2px solid transparent;font-size:13px}.pp-sub.on{border-bottom-color:var(--pp-blue)}.pp-opts .pp-sub{display:block}
.pp-subs{display:flex}.pp-subs .pp-sub{flex:1}
.pp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.pp-tile{position:relative;aspect-ratio:1;max-width:120px;width:100%;border:1px solid #8d939a;border-radius:0 0 10px 0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px}
.pp-tile:hover{background:#f3f8fc}.pp-tile em{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;background:#e00;color:#fff;font-style:normal;font-weight:700;display:grid;place-items:center;font-size:13px}
.pp-dash{min-width:0}.pp-fil{display:flex;gap:6px;justify-content:center;margin:4px 0 10px}.pp-fil select{min-width:200px}
.pp-blue{background:#3d8fd6;border:1px solid #2f7fc1;color:#fff!important;padding:2px 12px;border-radius:2px}
.pp-stt{text-align:center;margin:4px 0}.pp-stats{width:100%;border-collapse:collapse;font-size:12px;background:#eef0f2}.pp-stats th,.pp-stats td{border:1px solid #d5d9dd;padding:3px 6px;color:#222;background:#fff}.pp-stats th{background:#eef0f2;font-weight:600;font-family:inherit}.pp-stats td+td{text-align:right}
.pp-chart{width:100%;height:auto;margin-top:10px}.pp-muted{color:#777;font-size:12px}
/* pathways grid */
.pp-pw{position:relative;padding:8px 8px 0}
.pp-tb{display:flex;align-items:center;gap:10px}.pp-gear{border:0;background:none;color:#555;padding:2px}
.pp-ptl select{color:var(--pp-or);font-weight:600;font-size:16px;min-width:260px;padding:6px 8px}
.pp-tb2{display:flex;gap:10px;margin:10px 0}.pp-lay{display:inline-flex;border:1px solid #c5cad0}.pp-lay select{border:0;min-width:150px}.pp-lay button{border:0;border-left:1px solid #c5cad0;background:#fff;padding:4px 10px;color:#444}
.pp-gridwrap{overflow-x:auto;border:1px solid var(--pp-line)}
.pp-grid{border-collapse:collapse;width:100%;font-size:12.5px;background:#fff}
.pp-grid th,.pp-grid td{border-bottom:1px solid #eceef0;padding:6px 8px;text-align:left;white-space:nowrap;color:#222;background:transparent;font-family:inherit}
.pp-grid thead th{font-weight:400;background:#fff;border-bottom:1px solid var(--pp-line);vertical-align:bottom}
.pp-hd{border:0;background:none;padding:0;text-align:left}.pp-sm{color:var(--pp-or);margin-left:4px;font-size:10px}.pp-fn{color:#333;margin-left:6px;opacity:.75}
.pp-frow th{padding:4px 6px;background:#f7f8f9}.pp-fbox{position:relative;display:flex;gap:2px;align-items:center}.pp-fbox input{width:96px;padding:3px 4px}.pp-fbox button{border:0;background:none;color:#666;padding:0}.pp-fbox button svg{width:15px;height:15px}
.pp-menu2{position:absolute;top:100%;left:0;z-index:5;background:#fff;border:1px solid #c5cad0;box-shadow:0 2px 6px rgba(0,0,0,.2);display:flex;flex-direction:column;min-width:130px}
.pp-menu2 button{border:0;background:none;text-align:left;padding:5px 10px}.pp-menu2 button:hover,.pp-menu2 button.on{background:#e8f3fb}
.pp-grid td.ic,.pp-grid th.ic{width:56px;padding:4px}.pp-grid td.ic button{border:0;background:none;padding:2px;color:#34495e}
.pp-grid tbody tr:hover td{background:#f5fbfc}.pp-grid tr.sel td{background:var(--pp-cyan);color:var(--pp-mag)}
.pp-grid td.num{text-align:right}.pid.red{color:#d11;font-weight:700}.pid.blue{color:#1e6fd9;font-weight:700}.pp-grid tr.sel .pid{color:var(--pp-mag)}
.pp-none{text-align:center;color:#888;padding:18px!important}
.pp-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 6px;font-size:12px;background:#f4f5f6;border:1px solid var(--pp-line);border-top:0}
.pp-pg{display:flex;gap:2px;flex-wrap:wrap}.pp-pg button{border:0;background:none;min-width:24px;padding:3px 6px}.pp-pg button.on{background:var(--pp-or);color:#fff}
.pp-shade{position:absolute;inset:0;background:rgba(60,60,60,.45);z-index:3}
.pp-panel{position:absolute;top:0;left:0;bottom:0;width:250px;max-width:85%;background:#fff;z-index:4;padding:10px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;box-shadow:2px 0 8px rgba(0,0,0,.25)}
.pp-ph{display:flex;align-items:center;gap:6px;font-weight:600;color:#555}.pp-panel label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#555;font-weight:400;font-family:inherit}
.pp-wk{display:flex;gap:6px}.pp-wk input{width:50%}
.pp-pbtn{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.pp-pbtn button{background:var(--pp-or);border:0;color:#fff;padding:6px 4px;border-radius:2px;font-size:12px}
/* diary */
.pp-win{padding:8px}.pp-wt{background:#6f7377;color:#fff;font-weight:600;padding:5px 8px}
.pp-dctl{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap;padding:6px 0;font-size:12px}.pp-dctl label{display:flex;gap:6px;align-items:center;font-weight:400;color:#333;font-family:inherit;font-size:12px;flex-direction:row}
.pp-diary tr.over td{background:#e8192c;color:#fff}.pp-diary tr.over td button{color:#fff}
.pp-dfoot{display:flex;gap:10px;align-items:center;padding:8px 0}.pp-dfoot.r{justify-content:flex-end;padding:8px 10px;border-top:1px solid #e3e5e8}
.pp-grey{background:#eceef0;border:1px solid #b9bec4;padding:3px 12px;border-radius:2px;font-size:12px}.pp-grey.sm{padding:1px 8px;font-size:11px}
.pp-or{background:var(--pp-or);border:0;color:#fff!important;padding:4px 16px;border-radius:2px}
/* modal windows */
.pp-over{position:absolute;inset:0;background:rgba(80,80,80,.35);z-index:10;overflow:auto;padding:14px}
.pp-over2{position:absolute;inset:0;background:rgba(80,80,80,.25);display:flex;align-items:flex-start;justify-content:center;padding:30px 12px;overflow:auto}
.pp-modal{background:#fff;border:1px solid #9aa0a6;box-shadow:0 4px 16px rgba(0,0,0,.3);max-width:980px;margin:0 auto}
.pp-dlg{background:#fff;border:1px solid #9aa0a6;box-shadow:0 4px 16px rgba(0,0,0,.35);width:560px;max-width:100%}.pp-dlg.sm{width:340px}
.pp-mt{background:#6f7377;color:#fff;font-weight:600;padding:5px 8px;display:flex;justify-content:space-between;align-items:center}.pp-mt button{border:0;background:none;color:#fff;font-size:18px;line-height:1}
.pp-mt.light{background:#fff;color:#444;font-weight:400;border-bottom:1px solid #ddd}.pp-mt.light button{color:#444}.pp-mt.or{background:var(--pp-or)}.pp-mt.blue{background:#2a6db0}
.pp-band{background:#2a6db0;color:#fff;text-align:center;font-weight:600;padding:3px;font-size:12px}
.pp-ban{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:2px 10px;padding:6px 10px;font-size:12px;border-bottom:1px solid #e3e5e8}
.pp-ban .k,.pp-kv .k{color:var(--pp-blue);text-align:right}.pp-ban .v,.pp-kv .v{font-weight:600}
.pp-ban{grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr}
@media (max-width:760px){.pp-ban{grid-template-columns:auto 1fr}}
.pp-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,auto);gap:10px;padding:8px 10px;font-size:12px}
@media (max-width:760px){.pp-dl{grid-template-columns:1fr}}
.pp-kv{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-content:start}
.pp-qa{display:flex;flex-direction:column;gap:4px;align-items:stretch}.pp-qa span{color:var(--pp-blue);font-size:11px}.pp-qa button{background:#f0f2f4;border:1px solid #b9bec4;padding:3px 10px;border-radius:2px}
.pp-tabs{display:flex;gap:2px;border-bottom:1px solid #d7dbe0;padding:0 10px;overflow-x:auto}.pp-tabs button{border:0;background:none;padding:6px 12px;border-bottom:2px solid transparent;color:#666;white-space:nowrap}.pp-tabs button[aria-selected=true]{border-bottom-color:var(--pp-blue);color:#222}
.pp-tb3{padding:8px 10px 12px;overflow-x:auto}.pp-tctl{display:flex;justify-content:flex-end;font-size:12px;padding-bottom:4px}.pp-tctl label{flex-direction:row;gap:6px;align-items:center;display:flex;font-weight:400;color:#333;font-family:inherit;font-size:12px}
.pp-t{border-collapse:collapse;width:100%;font-size:12px;margin-bottom:8px}.pp-t th{background:#6f7377;color:#fff;font-weight:600;padding:4px 6px;text-align:left;font-family:inherit}.pp-t td{border-bottom:1px solid #e6e8ea;padding:4px 6px;color:#222;background:#fff}
.pp-t td button{border:0;background:none;padding:0}.pp-err{color:#d11;font-weight:700}
.pp-dbody{padding:10px 12px;display:flex;flex-direction:column;gap:7px;font-size:12px}
.pp-f{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:center}.pp-f.top{align-items:start}.pp-f .k{color:#333;text-align:right}
.pp-col{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pp-col textarea{width:100%}
.pp-radio{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pp-radio label,.pp-chk{display:inline-flex;gap:4px;align-items:center;font-weight:400;color:#222;font-size:12px;flex-direction:row;font-family:inherit}
.pp-at{border:1px solid #d7dbe0;background:#f7f8f9;padding:6px;display:flex;flex-direction:column;gap:4px;width:100%}.pp-atr{display:flex;justify-content:space-between;gap:6px;align-items:center}
.pp-derr{background:#fdecea;color:#b3261e;padding:4px 8px;border-left:3px solid #b3261e}
.pp-mono{font-family:ui-monospace,Menlo,monospace;font-size:11.5px}
.pp-ch{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding:.6rem;background:var(--bg);border:1px solid var(--line)}
.pp-ch label{flex-direction:row;align-items:flex-start;gap:.45rem;font-weight:400;font-size:.85rem;color:var(--fg)}.pp-ch label input{margin-top:.25rem;flex:none}.pp-ch .btn{align-self:flex-start}

main:has(.pp-layout){max-width:1560px}
