/*
 * /partner — partner.css (SPEC §11, §11a, §13f.5; Dream Machine CD, Modernist DS not used). The /b2b sheet
 * (public/b2b/b2b.css) plus what the partner portal adds: the nav in the header, the overview cards, the
 * sales and statement tables, the materials cards, the FAQ / terms text, and the print page of a
 * statement (`@media print` hides the chrome). The
 * card and table values are the design reference's inline styles (Affiliate Program Spec, tab /partner/)
 * lifted into classes with the §11 tokens. Fonts are the same self-hosted WOFF2 files as
 * public/styles.css, addressed absolutely — no font service is ever requested. One breakpoint, 719 px.
 */

:root{--nachtblau:#254a4b;--teal:#358691;--teal-light:#6ab6c0;--ochre:#ae6434;--ochre-light:#e1885d;--sepia-900:#504335;--sepia-600:#7e7162;--sepia-400:#aea18a;--rule:#d5d2c3;--warm:#f2caaa;--ok:#2e7d4f;--ok-light:#8fd0a0;--err:#a23838;--paper:#fdfdfc;--white:#fff;}

/* ---- fonts (§11: 400/600/700 mono, 400/600/700/900 sans; 900 only for the wordmark) ---- */
@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/SourceCodePro-Regular.woff2) format('woff2');}
@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/SourceCodePro-Semibold.woff2) format('woff2');}
@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/SourceCodePro-Bold.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/SourceSans3-Regular.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/SourceSans3-Semibold.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/SourceSans3-Bold.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/SourceSans3-Black.woff2) format('woff2');}

/* ---- base ---- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--white);color:var(--sepia-900);font-family:'Source Sans 3',sans-serif;line-height:1.6;}
a{color:var(--teal);}
a:hover{color:var(--ochre);}
input,button{font-family:inherit;}
button{cursor:pointer;}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
::selection{background:rgba(53,134,145,.2);}
.dim{color:var(--sepia-600);font-weight:400;}
.muted{color:var(--sepia-600);}
.ochre{color:var(--ochre);}
.accent{color:var(--ochre);margin-right:8px;}
[hidden]{display:none !important;}

/* ---- header (the app's chrome + the /partner badge, the nav and [ LOGOUT ]) ---- */
.hdr{background:var(--nachtblau);color:var(--white);display:flex;align-items:stretch;justify-content:space-between;flex-wrap:wrap;min-height:50px;}
.hdr-brand{display:flex;align-items:center;gap:2px;padding:10px 24px;text-decoration:none;font-size:1.05rem;letter-spacing:-.02em;color:var(--white);}
.hdr-brand:hover{color:var(--white);}
.hdr-brand img{height:30px;width:auto;display:block;margin-right:12px;}
.wm-a{font-weight:900;color:var(--ochre-light);}
.wm-b{font-weight:900;color:var(--teal-light);}
.wm-c{font-weight:400;color:var(--teal-light);text-transform:uppercase;letter-spacing:.05em;font-size:.85em;white-space:pre;}
.hdr-badge{font-family:'Source Code Pro',monospace;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--warm);margin-left:16px;padding-left:16px;border-left:1px solid rgba(242,202,170,.35);}
.hdr-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:10px 20px 10px 24px;margin:0 0 0 auto;}
.hdr-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;font-family:'Source Code Pro',monospace;font-size:.72rem;letter-spacing:.08em;}
.hdr-link{color:var(--rule);text-decoration:none;white-space:nowrap;}
.hdr-link:hover{color:var(--warm);}
.hdr-link--on{color:var(--warm);font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.hdr-logout{margin:0 0 0 auto;}
.btn-logout{border:1px solid rgba(225,136,93,.7);background:transparent;color:var(--ochre-light);font-family:'Source Code Pro',monospace;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:8px 16px;border-radius:2px;white-space:nowrap;}
.btn-logout:hover{background:var(--ochre);color:var(--white);border-color:var(--ochre);}

/* ---- flash ---- */
.flash{background:rgba(174,100,52,.06);border-bottom:1px solid rgba(174,100,52,.3);color:var(--ochre);font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:600;padding:9px 24px;letter-spacing:.04em;overflow-wrap:anywhere;}

/* ---- sprint 14a (§13f.21, copy-14a §3): the [BILLING] / [TERMS] notices under the flash, each with its button ---- */
.notices{display:flex;flex-direction:column;}
.notice{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:rgba(174,100,52,.06);border-bottom:1px solid rgba(174,100,52,.3);color:var(--ochre);font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:600;padding:9px 24px;letter-spacing:.04em;overflow-wrap:anywhere;}
.btn-mini--notice{color:var(--ochre);border-color:var(--ochre);}
.btn-mini--notice:hover{background:var(--ochre);color:var(--white);}

/* ---- views ---- */
.view{flex:1;width:90%;margin:0 auto;}
.view--login{max-width:760px;padding:70px 0 60px;}
.view--dash{max-width:1000px;padding:44px 0 70px;}
.prompt{font-family:'Source Code Pro',monospace;font-size:.85rem;font-weight:700;color:var(--ochre);margin-bottom:8px;overflow-wrap:anywhere;}
.login-h1{font-family:'Source Code Pro',monospace;font-size:clamp(1.1rem,2.4vw,1.6rem);color:var(--nachtblau);letter-spacing:-.02em;margin:0 0 10px;font-weight:700;overflow-wrap:anywhere;}
.view-h2{font-family:'Source Code Pro',monospace;font-size:clamp(1.1rem,2.6vw,1.6rem);color:var(--nachtblau);letter-spacing:-.02em;margin:0 0 6px;overflow-wrap:anywhere;}
.status-line{margin:0 0 28px;font-family:'Source Code Pro',monospace;font-size:.72rem;color:var(--sepia-600);overflow-wrap:anywhere;}
/* sprint 12 (§13f.15): the overview's rate line under the status line and, for a ladder partner, the native <progress> bar — teal value on the rule track (no inline style: the CSP) */
.rate-line{margin:-20px 0 28px;font-family:'Source Code Pro',monospace;font-size:.72rem;color:var(--sepia-600);overflow-wrap:anywhere;}
.rate-bar{display:block;width:100%;max-width:420px;height:6px;margin:-20px 0 28px;border:0;border-radius:3px;background:var(--rule);color:var(--teal);-webkit-appearance:none;appearance:none;}
.rate-bar::-webkit-progress-bar{background:var(--rule);border-radius:3px;}
.rate-bar::-webkit-progress-value{background:var(--teal);border-radius:3px;}
.rate-bar::-moz-progress-bar{background:var(--teal);border-radius:3px;}
/* sprint 13 (§13f.17): the rank line under the rate line (and its bar) */
.rank-line{margin:-20px 0 28px;font-family:'Source Code Pro',monospace;font-size:.72rem;color:var(--sepia-600);overflow-wrap:anywhere;}
.lead{color:var(--sepia-600);font-size:1.02rem;margin:0 0 32px;}

/* ---- login card ---- */
.login-card{border:1px solid var(--rule);background:var(--paper);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden;}
.login-card-hd{background:var(--nachtblau);padding:10px 16px;font-family:'Source Code Pro',monospace;font-size:.8rem;color:var(--white);display:flex;justify-content:space-between;overflow-wrap:anywhere;}
.login-card-bd{padding:32px;display:flex;flex-direction:column;gap:18px;margin:0;}
.field{display:flex;flex-direction:column;gap:8px;}
.login-label{font-family:'Source Code Pro',monospace;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--teal);}
.login-input{font-family:'Source Code Pro',monospace;font-size:1rem;padding:14px 16px;border:1px solid var(--rule);border-radius:2px;color:var(--nachtblau);background:var(--white);width:100%;}
.login-input::placeholder{color:var(--sepia-400);}
.login-error{font-family:'Source Code Pro',monospace;font-size:.78rem;color:var(--err);font-weight:600;overflow-wrap:anywhere;}
.btn-auth{align-self:flex-start;background:var(--nachtblau);color:var(--white);font-family:'Source Code Pro',monospace;font-weight:700;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;padding:14px 28px;border:none;border-radius:4px;}
.btn-auth:hover{background:var(--teal);}
.login-note{margin:0;font-size:.9rem;color:var(--sepia-600);}

/* ---- overview cards ---- */
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:28px;}
.pcard{border:1px solid var(--rule);border-radius:6px;background:var(--paper);padding:14px 16px;min-width:0;}
.pcard-label{font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--sepia-600);}
.pcard-value{font-family:'Source Code Pro',monospace;font-size:1.2rem;font-weight:700;color:var(--nachtblau);overflow-wrap:anywhere;}
.pcard-value--ochre{color:var(--ochre);}
.pcard-value--ok{color:var(--ok);}
.pcard-sub{font-size:.82rem;color:var(--sepia-600);overflow-wrap:anywhere;}

/* ---- actions ---- */
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}
.btn-primary{display:inline-block;background:var(--teal);color:var(--white);font-family:'Source Code Pro',monospace;font-weight:700;font-size:.8rem;letter-spacing:.05em;padding:12px 18px;border:none;border-radius:4px;text-align:left;text-decoration:none;overflow-wrap:anywhere;}
.btn-primary:hover{background:var(--nachtblau);color:var(--white);}
.btn-secondary{display:inline-block;background:transparent;color:var(--teal);border:1px solid var(--teal);font-family:'Source Code Pro',monospace;font-weight:700;font-size:.8rem;letter-spacing:.05em;padding:12px 18px;border-radius:4px;text-align:left;text-decoration:none;}
.btn-secondary:hover{background:var(--teal);color:var(--white);}
.btn-mini{display:inline-block;background:transparent;color:var(--teal);border:1px solid var(--teal);font-family:'Source Code Pro',monospace;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:6px 10px;border-radius:2px;white-space:nowrap;text-decoration:none;}
.btn-mini:hover{background:var(--teal);color:var(--white);}
.note{margin:14px 0 0;font-family:'Source Code Pro',monospace;font-size:.72rem;color:var(--sepia-600);overflow-wrap:anywhere;}
.kit-empty{font-family:'Source Code Pro',monospace;font-size:.85rem;color:var(--sepia-600);overflow-wrap:anywhere;}

/* ---- materials (the reference's tab /partner/ --materials: a card grid, one coloured bar per type) ---- */
.kit-bar{background:var(--nachtblau);padding:10px 16px;font-family:'Source Code Pro',monospace;font-size:.8rem;color:var(--white);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;border-radius:6px 6px 0 0;}
.kit-bar span+span{opacity:.6;}
.kit-intro{margin:18px 0;font-size:.95rem;max-width:720px;overflow-wrap:anywhere;}
.kit-intro code{font-family:'Source Code Pro',monospace;font-size:.9em;color:var(--nachtblau);font-weight:700;}
.kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-bottom:16px;}
.kit-card{border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--paper);min-width:0;display:flex;flex-direction:column;}
.kit-card-bar{background:var(--teal);padding:6px 12px;font-family:'Source Code Pro',monospace;font-size:.72rem;color:var(--white);display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;overflow-wrap:anywhere;}
.kit-card--pdf .kit-card-bar{background:var(--ochre);}
.kit-card--image .kit-card-bar,.kit-card--faq .kit-card-bar{background:var(--nachtblau);}
.kit-card-bd{padding:12px 14px;display:flex;flex-direction:column;gap:10px;flex:1;}
.kit-desc{margin:0;font-size:.9rem;color:var(--sepia-900);overflow-wrap:anywhere;}
.kit-text{width:100%;min-height:12em;resize:vertical;font-family:'Source Code Pro',monospace;font-size:.72rem;line-height:1.5;color:var(--nachtblau);background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:10px 12px;}
.kit-note{margin:0;font-size:.8rem;color:var(--sepia-600);overflow-wrap:anywhere;}
.kit-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto;}
.kit-pending{font-family:'Source Code Pro',monospace;font-size:.7rem;color:var(--sepia-400);letter-spacing:.05em;}
.kit-code{margin:0;font-family:'Source Code Pro',monospace;font-size:.7rem;color:var(--sepia-600);overflow-wrap:anywhere;}

/* ---- the FAQ and terms pages (the escaped Markdown of lib/partner.php dm_partner_render_markdown) ---- */
.terms-version{margin:0 0 22px;font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--ochre);overflow-wrap:anywhere;}
.md{max-width:760px;overflow-wrap:anywhere;}
.md-h1{font-family:'Source Code Pro',monospace;font-size:clamp(1.1rem,2.6vw,1.5rem);color:var(--nachtblau);letter-spacing:-.02em;margin:0 0 18px;}
.md-h2{font-family:'Source Code Pro',monospace;font-size:1rem;color:var(--nachtblau);margin:26px 0 8px;}
.md-p{margin:0 0 10px;}

/* ---- apply.php: a refused application (§13f.10 — one [422] / [429] line per refusal, the link back) ---- */
.apply-lines{list-style:none;margin:0 0 28px;padding:14px 16px;border:1px solid var(--rule);border-left:3px solid var(--err);background:var(--paper);display:flex;flex-direction:column;gap:8px;}
.apply-back{margin:0;font-family:'Source Code Pro',monospace;font-size:.85rem;}
.md-ul{margin:0 0 12px;padding-left:22px;}
.md-hr{border:none;border-top:1px solid var(--rule);margin:18px 0;}
.md-table{overflow-x:auto;border:1px solid var(--rule);border-radius:6px;margin:0 0 16px;}
.md-table table{border-collapse:collapse;min-width:640px;width:100%;font-size:.85rem;}
.md-table th,.md-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px dashed var(--rule);}
.md-table th{font-family:'Source Code Pro',monospace;font-size:.7rem;letter-spacing:.08em;color:var(--nachtblau);border-bottom:1px solid var(--nachtblau);}

/* ---- sections ---- */
.section-hd{font-family:'Source Code Pro',monospace;font-size:1.05rem;color:var(--nachtblau);letter-spacing:.03em;border-bottom:1px solid var(--rule);padding-bottom:8px;margin:0 0 22px;overflow-wrap:anywhere;}

/* ---- tables (a grid like the reference; the wrapper scrolls, never the page) ---- */
.table{border:1px solid var(--rule);background:var(--paper);border-radius:6px;overflow-x:auto;margin-bottom:16px;}
.table-bar{background:var(--teal);padding:8px 15px;font-family:'Source Code Pro',monospace;font-size:.85rem;color:var(--white);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;position:sticky;left:0;}
.table-bar .dim{color:var(--white);opacity:.7;}
.ptable{min-width:760px;}
.prow{display:grid;gap:10px 14px;align-items:center;padding:10px 18px;border-bottom:1px dashed var(--rule);font-family:'Source Code Pro',monospace;font-size:.8rem;}
.prow--sales{grid-template-columns:100px 70px 50px minmax(190px,1fr) 130px 100px;}
.prow--statements{grid-template-columns:80px 100px 130px minmax(170px,1fr) auto;}
.prow--head{border-bottom:1px solid var(--nachtblau);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--nachtblau);}
.prow--empty{display:block;color:var(--sepia-600);}
.prow-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
/* sprint 14a (§13f.21, copy-14a §4): a statement's documents under its row — `credit note GS-… · EUR …` + the download */
.prow--docs{display:flex;flex-direction:column;gap:6px;padding-top:0;}
.pdoc{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;overflow-wrap:anywhere;}
.cell-ok{color:var(--ok);font-weight:700;}
.cell-ochre{color:var(--ochre);font-weight:700;}
.cell-err{color:var(--err);}
.cell-muted{color:var(--sepia-600);}
.cell-nachtblau{color:var(--nachtblau);font-weight:700;}

/* ---- the print page of a statement ---- */
.sheet-back{margin:0 0 18px;font-family:'Source Code Pro',monospace;font-size:.8rem;}
.sheet-h1{font-family:'Source Code Pro',monospace;font-size:clamp(1.1rem,2.6vw,1.5rem);color:var(--nachtblau);margin:0 0 22px;overflow-wrap:anywhere;}
.sheet-parties{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;}
.sheet-block{border:1px solid var(--rule);background:var(--paper);border-radius:6px;padding:14px 16px;font-family:'Source Code Pro',monospace;font-size:.82rem;color:var(--sepia-900);line-height:1.7;overflow-wrap:anywhere;}
.sheet-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--sepia-600);margin-bottom:4px;}
.sheet-meta{margin:0 0 14px;font-family:'Source Code Pro',monospace;font-size:.78rem;color:var(--sepia-600);}
.sheet-table{border:1px solid var(--rule);border-radius:6px;overflow-x:auto;margin-bottom:16px;}
.srow{display:grid;grid-template-columns:100px 70px 60px 70px minmax(120px,1fr) 56px minmax(120px,1fr);gap:8px 12px;min-width:680px;padding:8px 14px;border-bottom:1px dashed var(--rule);font-family:'Source Code Pro',monospace;font-size:.78rem;}
.srow--head{border-bottom:1px solid var(--nachtblau);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--nachtblau);}
.srow--empty{display:block;color:var(--sepia-600);}
.sheet-total{margin:0 0 6px;font-family:'Source Code Pro',monospace;font-size:1.05rem;font-weight:700;color:var(--nachtblau);}
.sheet-tax{margin:0 0 14px;font-family:'Source Code Pro',monospace;font-size:.85rem;color:var(--sepia-900);}
.sheet-invoice{margin:0;font-size:.95rem;color:var(--sepia-900);}
/* sprint 14a (§13f.21): a statement settled by credit note — the partner block alone, the one sentence */
.sheet-parties--solo{grid-template-columns:minmax(0,1fr);}
.sheet-settled{margin:0;font-size:.95rem;color:var(--sepia-900);}

/* ---- sprint 14a (§13f.21): the billing page (the application form's grid, .rform) and the terms acceptance ---- */
.billing-intro{margin:0 0 18px;max-width:720px;font-size:.95rem;overflow-wrap:anywhere;}
.vat-line{margin:0 0 18px;font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:600;letter-spacing:.04em;overflow-wrap:anywhere;}
.vat-line--ok{color:var(--ok);}
.vat-line--err{color:var(--err);}
.vat-line--wait{color:var(--ochre);}
.bform{max-width:760px;margin-bottom:16px;}
.onfile{margin:0;font-family:'Source Code Pro',monospace;font-size:.75rem;color:var(--sepia-600);overflow-wrap:anywhere;}
.terms-accept{margin:28px 0 0;max-width:760px;border-top:1px solid var(--rule);padding-top:18px;display:flex;flex-direction:column;gap:14px;}
.terms-check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--sepia-900);}
.terms-check input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--nachtblau);}
.terms-state{margin:28px 0 0;max-width:760px;border-top:1px solid var(--rule);padding-top:18px;font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ok);overflow-wrap:anywhere;}

/* ---- footer ---- */
.ftr{background:var(--nachtblau);text-align:center;padding:22px 24px;color:var(--rule);font-family:'Source Code Pro',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-top:auto;}

/* ---- §13f.18 the recruitment page (sprint 13; reference 1b — no inline style: the CSP) ---- */
.rhdr{background:var(--nachtblau);color:var(--white);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:16px 56px;border-bottom:1px solid rgba(255,255,255,.18);}
.rhdr-brand{font-family:'Source Code Pro',monospace;font-size:.85rem;font-weight:700;letter-spacing:.02em;color:var(--white);text-decoration:none;}
.rhdr-brand:hover{color:var(--white);}
.rhdr-slash{color:var(--teal-light);}
.rhdr-login{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.rhdr-toggle{font-family:'Source Code Pro',monospace;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--white);border:1px solid rgba(255,255,255,.5);padding:7px 12px;text-decoration:none;}
.rhdr-toggle:hover{border-color:var(--white);color:var(--white);}
.rlogin{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.rlogin[hidden]{display:none;}
.rlogin-input{font-family:'Source Code Pro',monospace;font-size:.8rem;width:240px;max-width:100%;border:1px solid var(--teal-light);border-radius:0;padding:7px 10px;background:transparent;color:var(--white);}
.rlogin-send{font-family:'Source Code Pro',monospace;font-size:.75rem;font-weight:700;letter-spacing:.05em;background:var(--ochre-light);color:var(--nachtblau);border:none;border-radius:0;padding:8px 12px;cursor:pointer;}
.rlogin-send:hover{background:var(--warm);}
.rlogin .login-error{flex-basis:100%;margin:0;color:var(--warm);font-size:.75rem;}
body.recruit .flash{background:var(--nachtblau);border-bottom:1px solid rgba(255,255,255,.18);color:var(--ok-light);font-size:.75rem;padding:9px 56px;}
.view--recruit{width:100%;max-width:none;margin:0;}
.rhero{background:var(--nachtblau);color:var(--white);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;padding:64px 56px 56px;}
.rhero-main{display:flex;flex-direction:column;gap:22px;}
.prompt--dark{color:var(--ochre-light);margin:0;}
.rhero-h1{font-family:'Source Code Pro',monospace;font-size:2.5rem;line-height:1.15;letter-spacing:-.02em;margin:0;color:var(--white);text-wrap:balance;}
.rhero-lead{font-size:1.12rem;margin:0;color:#e9efee;text-wrap:pretty;}
.ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:end;margin-top:6px;}
.lstep{display:flex;flex-direction:column;gap:4px;}
.lbar{width:100%;}
.lbar--1{height:24px;}.lbar--2{height:36px;}.lbar--3{height:48px;}.lbar--4{height:60px;}.lbar--5{height:72px;}
.lbar--6{height:78px;}.lbar--7{height:84px;}.lbar--8{height:90px;}.lbar--9{height:96px;}.lbar--10{height:102px;}
.step--0{background:var(--sepia-400);}.step--1{background:var(--teal-light);}.step--2{background:var(--teal);}.step--3{background:var(--ochre-light);}.step--4{background:var(--warm);}
.lstep-rate{font-family:'Source Code Pro',monospace;font-size:.95rem;font-weight:700;color:var(--white);}
.lstep-from{font-family:'Source Code Pro',monospace;font-size:.68rem;color:var(--teal-light);}
.ladder-note{margin:0;font-size:.82rem;color:#c9d6d5;}
.rbtn{align-self:flex-start;display:inline-block;font-family:'Source Code Pro',monospace;font-size:.85rem;font-weight:700;letter-spacing:.05em;background:var(--ochre-light);color:var(--nachtblau);padding:14px 20px;border:none;border-radius:0;text-decoration:none;cursor:pointer;text-align:left;}
.rbtn:hover{background:var(--warm);color:var(--nachtblau);}
.rbtn--solid{background:var(--nachtblau);color:var(--white);}
.rbtn--solid:hover{background:var(--teal);color:var(--white);}
.calc{border:1px solid rgba(255,255,255,.3);padding:22px 24px;display:flex;flex-direction:column;gap:16px;align-self:start;min-width:0;}
.calc-hd{font-family:'Source Code Pro',monospace;font-size:.85rem;font-weight:700;color:var(--ochre-light);}
.calc-static{margin:0;font-family:'Source Code Pro',monospace;font-size:.8rem;color:#c9d6d5;overflow-wrap:anywhere;}
.calc-static[hidden],.calc-controls[hidden]{display:none;}
.calc-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
.calc-label{display:flex;flex-direction:column;gap:4px;font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.06em;color:var(--teal-light);min-width:0;}
/* WebKit lets a <select>'s selected text overflow its box (a long tier on the phone): the label clips it */
label.calc-label{flex:1 1 220px;overflow:hidden;}
.calc-select{font-family:'Source Code Pro',monospace;font-size:.85rem;border:1px solid var(--teal-light);border-radius:0;padding:9px 10px;background:var(--nachtblau);color:var(--white);width:100%;max-width:100%;min-width:0;}
.calc-stepper{display:flex;border:1px solid var(--teal-light);}
.calc-stepper button{font-family:'Source Code Pro',monospace;font-weight:700;background:transparent;color:var(--white);border:none;width:38px;height:38px;cursor:pointer;}
.calc-stepper button:first-child{border-right:1px solid var(--teal-light);}
.calc-stepper button:last-child{border-left:1px solid var(--teal-light);}
.calc-stepper div{width:48px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:var(--white);}
.calc-out{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.25);padding-top:14px;}
.calc-out-label{font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--teal-light);}
.calc-total{font-family:'Source Code Pro',monospace;font-size:2.2rem;font-weight:700;color:var(--warm);overflow-wrap:anywhere;}
.calc-line{font-family:'Source Code Pro',monospace;font-size:.82rem;color:var(--white);overflow-wrap:anywhere;}
.calc-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;height:110px;border-bottom:1px solid rgba(255,255,255,.3);}
.calc-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;font-family:'Source Code Pro',monospace;font-size:.62rem;color:#c9d6d5;text-align:center;}
.mbar{width:100%;}
.mbar--h1{height:5px;}.mbar--h2{height:10px;}.mbar--h3{height:15px;}.mbar--h4{height:20px;}.mbar--h5{height:25px;}
.mbar--h6{height:30px;}.mbar--h7{height:35px;}.mbar--h8{height:40px;}.mbar--h9{height:45px;}.mbar--h10{height:50px;}
.mbar--h11{height:55px;}.mbar--h12{height:60px;}.mbar--h13{height:65px;}.mbar--h14{height:70px;}.mbar--h15{height:75px;}
.mbar--h16{height:80px;}.mbar--h17{height:85px;}.mbar--h18{height:90px;}.mbar--h19{height:95px;}.mbar--h20{height:100px;}
.calc-note{margin:0;font-size:.82rem;color:#c9d6d5;}
.rsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:2px solid var(--nachtblau);}
.rstep{padding:22px 24px 24px;border-left:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;font-size:.95rem;}
.rstep:first-child{border-left:none;padding-left:56px;}
.rstep:last-child{padding-right:56px;}
.rstep-hd{font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:700;color:var(--ochre);}
.rcols,.rgets,.rapply{padding:48px 56px 0;}
.rcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;}
.rcol,.rget,.rqs{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--nachtblau);padding-top:14px;}
.rcol p{margin:0;font-size:.98rem;text-wrap:pretty;}
.rcol strong{color:var(--nachtblau);}
.rcol-hd{font-family:'Source Code Pro',monospace;font-size:.8rem;font-weight:700;color:var(--nachtblau);}
.rcode{font-family:'Source Code Pro',monospace;font-size:.82rem;font-weight:700;color:var(--nachtblau);background:#f7f5ef;border:1px solid var(--rule);padding:8px 10px;overflow-wrap:anywhere;}
.rgets{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px;}
.rgets--solo{grid-template-columns:minmax(0,1fr);}
.rget-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:12px;font-size:.95rem;}
.rget-hd{font-family:'Source Code Pro',monospace;font-size:.75rem;font-weight:700;color:var(--ochre);}
.rpay{display:flex;flex-direction:column;gap:10px;background:var(--nachtblau);color:var(--white);padding:16px 20px;align-self:start;}
.rpay-hd{font-family:'Source Code Pro',monospace;font-size:.78rem;font-weight:700;color:var(--ochre-light);}
.rpay-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;font-family:'Source Code Pro',monospace;font-size:.85rem;}
.rpay-note{margin:0;font-size:.8rem;color:#c9d6d5;}
.rapply{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px;padding-bottom:56px;}
.rq{display:flex;flex-direction:column;gap:4px;font-size:.95rem;}
.rq-hd{font-weight:700;color:var(--nachtblau);}
.rq-rules{margin:0;font-size:.92rem;}
.rapply-form{display:flex;flex-direction:column;gap:14px;min-width:0;}
.rapply-form .prompt{margin:0;}
.rapplied{font-family:'Source Code Pro',monospace;font-size:.88rem;color:var(--ok);border:1px solid var(--ok);padding:12px 14px;}
/* sprint 14b (§13f.19 B4): the confirmation banner's one-button form, under its line */
.rconfirm{margin:12px 0 0;}
.rform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.rform label{display:flex;flex-direction:column;gap:4px;font-family:'Source Code Pro',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--sepia-600);min-width:0;}
.rform input,.rform select,.rform textarea{font-family:'Source Code Pro',monospace;font-size:.9rem;border:1px solid var(--nachtblau);border-radius:0;padding:10px 12px;background:var(--white);color:var(--sepia-900);max-width:100%;}
.rform textarea{min-height:96px;resize:vertical;}
/* sprint 14a: the full-width fields are classed (the VAT STATUS group, NAME ON THE CREDIT NOTE, STREET, VAT ID, HOW, the notes) */
.rform .rform-wide,.rform .rform-check,.rform button{grid-column:1 / -1;}
.rform-radio{margin:0;padding:10px 12px 12px;border:1px solid var(--nachtblau);display:flex;flex-direction:column;gap:6px;min-width:0;}
.rform-radio legend{padding:0 4px;font-family:'Source Code Pro',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--sepia-600);}
.rform .rform-radio label{flex-direction:row;align-items:center;gap:10px;font-family:'Source Sans 3',sans-serif;font-size:.95rem;letter-spacing:0;color:var(--sepia-900);}
.rform .rform-radio input{width:16px;height:16px;padding:0;flex:none;accent-color:var(--nachtblau);}
.rform-hint{font-family:'Source Sans 3',sans-serif;font-size:.82rem;letter-spacing:0;color:var(--sepia-600);}
.rform-note{margin:0;font-size:.92rem;color:var(--sepia-900);}
.rform .rform-check{flex-direction:row;gap:10px;align-items:center;font-family:'Source Sans 3',sans-serif;font-size:.95rem;letter-spacing:0;color:var(--sepia-900);}
.rform .rform-check input{width:18px;height:18px;accent-color:var(--nachtblau);}
.rform .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.rform button{justify-self:start;}
.rfine{margin:0;font-size:.85rem;color:var(--sepia-600);}
.ftr--recruit{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:16px 56px;}
/* ---- §11a breakpoints ---- */
@media (max-width:719px){
  /* §13f.18: the recruitment page stacks at 375 px, 16 px gutters */
  .rhdr,.rhero,.rcols,.rgets,.rapply,.ftr--recruit{padding-left:16px;padding-right:16px;}
  body.recruit .flash{padding-left:16px;padding-right:16px;}
  .rhero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:40px;}
  .rhero-h1{font-size:1.7rem;}
  .rlogin-input{width:100%;}
  .rsteps,.rcols,.rgets,.rapply,.rform{grid-template-columns:minmax(0,1fr);}
  .rstep,.rstep:first-child,.rstep:last-child{padding:18px 16px;border-left:none;border-top:1px solid var(--rule);}
  .rget-row{grid-template-columns:minmax(0,1fr);gap:2px;}
  .login-card-bd{padding:20px;}
  .hdr-brand{padding:10px 16px;flex-wrap:wrap;}
  .hdr-badge{margin-left:10px;padding-left:10px;}
  .hdr-tools{margin-left:0;width:100%;padding:8px 16px 12px;}
  .hdr-logout{margin-left:0;}
  .sheet-parties{grid-template-columns:1fr;}
  .notice{padding-left:16px;padding-right:16px;}
}

/* ---- print (the statement page: only the sheet, A4) ---- */
@media print{
  @page{size:A4;margin:16mm;}
  .hdr,.ftr,.flash,.sheet-back{display:none !important;}
  .notices{display:none !important;}
  body{display:block;min-height:0;background:var(--white);}
  .view--dash{width:100%;max-width:none;padding:0;}
  .sheet-block{background:var(--white);}
  .sheet-table{overflow:visible;}
  .srow{min-width:0;}
}
