:root{--dark:#0c1520;--ink:#14232d;--body:#465361;--muted:#758393;--teal:#079788;--teal-light:#e8f8f4;--gold:#d6a859;--paper:#f5f7fa;--border:#e4e9ef;--white:#fff;--shadow:0 10px 36px rgba(20,35,45,.055);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px}button,input{font:inherit}button{cursor:pointer}input{outline-color:var(--teal)}.hidden{display:none!important}.muted{color:var(--muted)}.full-center{min-height:100dvh;display:grid;align-content:center;justify-items:center;gap:14px;color:var(--muted)}.spinner{width:30px;height:30px;border:3px solid #dde8e8;border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-screen{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:20px;background:radial-gradient(ellipse at 0 10%,#d9f4ef 0%,transparent 40%),radial-gradient(ellipse at 90% 100%,#e2eaf7 0%,transparent 42%),#f7f8fa}.login-card{width:min(100%,445px);padding:42px;border:1px solid #e7eaf0;border-radius:25px;background:#fff;box-shadow:0 22px 80px rgba(12,21,32,.12)}.logo-cluster,.side-brand{display:flex;align-items:center;gap:12px}.brand-icon{height:44px;width:44px;border-radius:14px;display:grid;place-items:center;background:#111d2a;color:white;font-weight:800;font-size:18px;letter-spacing:-1px;box-shadow:inset 0 0 0 2px #267a78}.brand-icon.small{height:30px;width:30px;border-radius:9px;font-size:12px}.brand-names{display:flex;flex-direction:column;gap:1px}.brand-names strong{font-size:18px;letter-spacing:-.6px;line-height:1.1}.brand-names small{font-size:9px;letter-spacing:2px;color:#788694;font-weight:750}.login-caption{margin-top:43px;letter-spacing:2px;color:var(--teal);font-size:11px;font-weight:850;text-transform:uppercase}.login-card h1{font-size:31px;line-height:1.1;letter-spacing:-1.25px;margin:10px 0}.intro{line-height:1.55;margin-bottom:22px}.notice{border:1px solid #bce9df;background:#eefaf7;color:#24675c;padding:11px 14px;border-radius:11px;font-size:12px;line-height:1.5}.demo-notice{margin:20px 0 26px}.login-card form{display:flex;flex-direction:column}.login-card label{font-size:12px;font-weight:700;margin-bottom:8px}.login-card input{height:49px;border-radius:10px;border:1px solid #d7dfe5;background:#fafcfd;padding:0 15px;margin-bottom:18px}.btn{border:0;border-radius:11px;min-height:45px;padding:0 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn-primary{background:var(--teal);color:white}.btn-primary:hover{background:#077a71}.btn-primary:disabled{background:#8baba6;cursor:not-allowed}.full{width:100%;justify-content:space-between;padding:0 19px}.form-error{color:#b22e32;font-size:12px;min-height:16px;margin:0 0 9px}.footnote{text-align:center;margin-top:25px;font-size:11px;color:#95a0aa}.setup-info{border:1px solid #f0d8a4;background:#fff8e5;border-radius:10px;padding:12px;font-size:12px;line-height:1.6}.setup-info code{white-space:nowrap}
.app-shell{display:flex;min-height:100dvh}.sidebar{width:250px;min-height:100dvh;flex:none;background:var(--dark);padding:30px 18px;color:#e7eff6;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.sidebar .brand-names strong{color:#fff}.sidebar .brand-names small{color:#8d9eab}.side-brand{padding:0 10px 39px}.side-label{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#748796;margin:12px 14px 12px}.side-nav{display:flex;flex-direction:column;gap:6px}.nav-link{border:0;background:transparent;color:#a9b6c0;text-align:left;width:100%;height:48px;padding:0 14px;border-radius:11px;display:flex;gap:14px;align-items:center;font-weight:650}.nav-link span.icon{font-size:18px;width:23px;text-align:center}.nav-link.active,.nav-link:hover{background:#21323e;color:white}.nav-link.active{box-shadow:inset 3px 0 0 var(--teal)}.side-bottom{margin-top:auto;padding:20px 12px;color:#a6b5c0;border-top:1px solid #293540}.side-safe{font-size:11px}.safe-dot{display:inline-block;width:7px;height:7px;background:#31cf9e;border-radius:50%;margin-right:5px}.logout-btn{background:transparent;border:0;color:#e6f4f5;margin-top:20px;padding:0;font-weight:650}.main-shell{min-width:0;flex:1}.header{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;padding:0 44px;position:sticky;top:0;z-index:10}.mobile-brand{display:none}.header-pill,.date-chip{font-size:11px;border-radius:100px;border:1px solid #dcebe8;padding:8px 13px;color:#28776b;background:#f4fcfa;font-weight:750}.header-right{display:flex;align-items:center;gap:16px}.logout-icon{display:none}.content{max-width:1250px;margin:auto;padding:37px 48px 70px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;color:var(--teal);letter-spacing:1.9px;font-weight:800}.page-intro h1{font-size:33px;letter-spacing:-1.25px;line-height:1.3;margin:7px 0 3px}.page-description{font-size:13px;color:var(--muted);margin:0}.date-chip{background:white;color:var(--muted);border-color:var(--border);white-space:nowrap}.fixed-notice{background:#f3f9ff;color:#305f84;border-color:#d7e8f6;margin-bottom:25px}.page-footer{margin-top:36px;text-align:center;font-size:11px;color:#9aa6b1}.content-area{min-height:300px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card{background:white;border:1px solid var(--border);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-title{font-size:12px;color:var(--muted);font-weight:650}.stat-symbol{background:#eef8f6;color:var(--teal);height:34px;width:34px;display:grid;place-items:center;border-radius:10px;font-size:18px}.stat-number{font-size:28px;letter-spacing:-1px;font-weight:800;line-height:1;margin:15px 0 8px}.stat-foot{color:#81919d;font-size:11px}.panel{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:19px 21px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title{margin:0;font-size:15px;letter-spacing:-.25px}.section-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:17px}.panel-body{padding:16px 20px}.list-row{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid #edf0f3;min-width:0}.list-row:last-child{border-bottom:0}.row-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:#f1f6f9;color:#47788a;font-size:15px;font-weight:800}.row-info{min-width:0;flex:1}.row-title{font-weight:750;color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{color:var(--muted);margin-top:4px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-right{text-align:right;white-space:nowrap;font-size:12px;color:var(--body);font-weight:700}.row-link{border:0;background:none;text-align:left;width:100%;cursor:pointer}.row-link:hover .row-title{color:var(--teal)}.pill{font-size:10px;display:inline-flex;border-radius:20px;padding:5px 8px;font-weight:750;white-space:nowrap}.pill.green{background:#eaf7f1;color:#19794f}.pill.orange{background:#fff2dd;color:#946006}.pill.red{background:#fff0ef;color:#bc3939}.pill.gray{background:#f1f3f6;color:#64727e}.table-panel{overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.search{height:43px;padding:0 14px;border:1px solid var(--border);border-radius:11px;background:white;min-width:250px;width:min(100%,400px)}.filter-set{display:flex;gap:6px;overflow:auto;max-width:100%}.filter{border:1px solid var(--border);background:white;color:#6a7b89;border-radius:10px;padding:10px 12px;white-space:nowrap;font-weight:700;font-size:11px}.filter.active{background:#0e2a31;color:white;border-color:#0e2a31}.table-scroller{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:630px;text-align:left}.data-table th{background:#fbfcfd;color:#7a8894;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:17px 20px;border-bottom:1px solid var(--border)}.data-table td{border-bottom:1px solid #eff1f4;padding:17px 20px;color:#354351;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#172a35}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f8fbfc}.empty{padding:36px;text-align:center;color:var(--muted)}.action-link{color:var(--teal);font-weight:800}.hint{font-size:12px;color:var(--muted)}.mini-action{background:#eaf7f4;color:var(--teal);font-size:11px;padding:8px 12px;border:0;border-radius:9px;font-weight:750}
.mobile-nav{display:none}.details-overlay{position:fixed;z-index:80;inset:0;background:rgba(9,22,30,.46);display:flex;justify-content:flex-end}.details-pane{width:min(100%,475px);background:white;height:100%;padding:28px 27px;overflow:auto;box-shadow:-10px 0 60px rgba(0,0,0,.12)}.details-top{display:flex;justify-content:space-between;align-items:center}.details-eyebrow{font-size:10px;color:var(--teal);font-weight:850;letter-spacing:1.6px}.close-btn{background:#f1f4f6;border:0;width:37px;height:37px;border-radius:11px;font-size:27px;color:#596c78}.detail-heading{margin:25px 0 4px;font-size:25px;letter-spacing:-.6px}.detail-sub{color:#8996a0;font-size:13px;margin:0 0 22px}.detail-section{border-top:1px solid var(--border);margin-top:22px;padding-top:17px}.detail-section h3{font-size:13px;margin:0 0 12px}.detail-pair{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:13px 0;font-size:12px}.detail-pair span{color:#7a8995}.detail-pair strong{text-align:right;max-width:62%;word-break:break-word}.detail-note{padding:14px;border-radius:10px;background:#f6f8fa;color:#627382;line-height:1.6;font-size:12px}
@media(max-width:1120px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:28px 24px 66px}.section-grid{grid-template-columns:1fr 1fr}.header{padding:0 24px}.sidebar{width:217px}}
@media(max-width:780px){.sidebar{display:none}.header{height:62px;justify-content:space-between;padding:0 17px}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:13px}.header-pill{font-size:10px;padding:6px 10px}.logout-icon{display:block;border:0;background:#f0f4f5;border-radius:10px;width:33px;height:33px;font-size:20px;color:#435965}.content{padding:24px 16px 115px}.page-intro h1{font-size:28px}.date-chip{display:none}.fixed-notice{font-size:11px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--border);padding:8px 5px calc(8px + env(safe-area-inset-bottom, 0px));z-index:30;justify-content:space-around;box-shadow:0 -5px 30px rgba(0,0,0,.04)}.mobile-link{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;color:#7b8c99;padding:8px 2px;min-width:56px;font-weight:700;font-size:10px}.mobile-link .icon{font-size:20px}.mobile-link.active{color:var(--teal)}.panel-head{padding:17px}.panel-body{padding:12px 15px}.section-grid{grid-template-columns:1fr}.page-footer{margin-top:25px}.details-pane{padding:20px 19px}}
@media(max-width:450px){.stat-grid{gap:10px}.stat-card{padding:15px}.stat-number{font-size:24px}.stat-symbol{height:30px;width:30px}.stat-title{font-size:11px}.search{width:100%;min-width:0}.toolbar{align-items:stretch}.filter-set{width:100%}.login-card{padding:31px 24px}.login-card h1{font-size:27px}.page-intro{margin-bottom:20px}.data-table{min-width:600px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.mobile-records{display:none}.mobile-record{border:0;border-bottom:1px solid var(--border);background:#fff;width:100%;padding:14px 15px;align-items:center;text-align:left;gap:11px}.mobile-record:last-child{border-bottom:0}.mobile-record-content{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.mobile-record-content strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.mobile-record-content span{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-record-side{font-size:10px;color:var(--teal);font-weight:800;text-align:right;max-width:75px}.mobile-record .row-icon{width:34px;height:34px;font-size:12px}@media(max-width:780px){.table-scroller{overflow:visible}.data-table{display:none}.mobile-records{display:block}}

/* Local MFA onboarding; no external QR service or stylesheets. */
.mfa-panel{padding:20px;margin-top:20px}.mfa-panel h2{margin:0 0 12px}.mfa-panel p{line-height:1.55}.mfa-panel label{display:block;font-weight:650;margin:12px 0 8px}.mfa-panel input{font:inherit;border:1px solid #d6dfe5;border-radius:10px;padding:12px;max-width:100%}.mfa-panel #mfa-password{display:block;width:min(100%,360px);margin-bottom:12px}.mfa-panel #mfa-code{width:150px;margin-right:12px;font-size:20px;letter-spacing:3px;text-align:center}.mfa-qr{display:block;width:232px;height:232px;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;margin:14px 0}.mfa-secret-row{display:flex;gap:8px;flex-wrap:wrap}.mfa-secret-row input{min-width:200px;flex:1;letter-spacing:.7px}.mfa-panel .btn-secondary{background:#e7f3f0;color:#16695f}.mfa-status{font-weight:650;margin:12px 0}.mfa-warning{color:#8b5c1f;background:#fff8e9;border-radius:10px;padding:10px;font-size:12px;margin-top:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* v0.4.1: mobile data browsing and explicit document availability. */
.pdf-indicator{display:inline-block;font-size:11px;line-height:1.4;font-weight:700;border-radius:7px;padding:3px 7px;white-space:nowrap}
.pdf-yes{color:#11695f;background:#e6f7f1}.pdf-no{color:#766445;background:#f8f1e6}.pdf-unknown{color:#854c30;background:#fff0e7}
.pdf-warning{font-size:12px;color:#925e2b;align-self:center}.load-more{display:block;margin:17px auto 18px;min-width:180px;padding:12px 20px;border:1px solid #b7cfcc;color:#12695f;background:#e8f6f2;border-radius:10px}
.mobile-record-content .pdf-indicator{align-self:flex-start;max-width:100%;font-size:10px}
@media(max-width:780px){.pdf-filter-set{display:flex;flex-wrap:wrap;gap:6px}.load-more{width:calc(100% - 28px);max-width:420px}}

/* v0.4.2 – zusammenhängende Kundendetailansicht (nur lesen). */
.customer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:22px 0 8px}
.customer-metric{background:#f3f8f9;border:1px solid #e0ecee;border-radius:12px;padding:12px;min-width:0}
.customer-metric span{display:block;font-size:11px;color:#627986;margin-bottom:7px}
.customer-metric strong{display:block;font-size:23px;line-height:1.2;color:#12343e}
.customer-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.customer-section-head h3{margin:0}.customer-section-count{background:#edf7f5;border-radius:25px;color:#247568;padding:4px 9px;font-size:11px;font-weight:750}
.customer-empty{color:#82919b;font-size:12px;margin:0 0 10px}
.customer-related-list{border:1px solid #e9eff2;border-radius:11px;overflow:hidden}
.customer-related-row{display:flex;align-items:center;width:100%;text-align:left;padding:13px 12px;gap:12px;border:0;border-bottom:1px solid #edf2f4;background:#fff;color:#203944;cursor:pointer}
.customer-related-row:last-of-type{border-bottom:0}.customer-related-row:hover,.customer-related-row:focus-visible{background:#f4faf9}
.customer-related-info{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.customer-related-info strong{font-size:12px;overflow-wrap:anywhere}.customer-related-info>span{font-size:11px;color:#6f8190;overflow-wrap:anywhere}
.customer-related-info .pdf-indicator{align-self:flex-start;font-size:10px}
.customer-related-right{max-width:95px;font-size:11px;color:#3e626b;font-weight:700;text-align:right;overflow-wrap:anywhere}
.customer-related-arrow{font-size:23px;line-height:1;color:#7b9599}
.customer-more{border:0;background:#eff8f6;padding:13px;width:100%;font-size:12px;font-weight:700;color:#136c61;cursor:pointer}
.customer-back{border:1px solid #c9e5e0;color:#126b60;background:#eff9f6;border-radius:9px;padding:10px 13px;font-weight:750;font-size:12px;cursor:pointer;margin-top:18px}
@media(max-width:450px){.customer-summary{gap:7px}.customer-metric{padding:10px}.customer-metric strong{font-size:20px}.customer-related-row{padding:12px 9px;gap:8px}.customer-related-right{max-width:75px}}

/* Read-only recovery readiness, desktop and phone */
.recovery-panel{margin-top:20px}.recovery-body{padding:18px 21px}.recovery-line{margin:0 0 11px;font-size:13px;line-height:1.5}.recovery-small{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 0}.recovery-warning{border-left:3px solid #b56a18;background:#fff9ee;color:#77501e;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.6;margin:16px 0 0}@media(max-width:780px){.recovery-body{padding:16px}.recovery-line{font-size:12px}}

/* v0.5.1 - synthetic test customer sandbox, separate from production snapshot. */
.test-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.test-customers-rows{display:grid;gap:9px}.test-customer-row{display:flex;align-items:center;gap:12px;border:1px solid #e3edea;border-radius:12px;padding:12px;flex-wrap:wrap}.test-customer-name{display:flex;flex:1;min-width:150px;flex-direction:column;gap:4px}.test-customer-name span{font-size:11px}.test-customer-row select{background:#fff;border:1px solid #d6e2e4;border-radius:9px;padding:11px;max-width:100%;min-width:135px}.test-customer-row .btn-secondary{background:#ebf7f4;color:#11665c}.test-customer-row .btn:disabled{opacity:.55}.test-customer-row .btn{min-height:39px}@media(max-width:560px){.test-toolbar .btn{width:100%}.test-customer-row .btn{width:100%}.test-customer-row select{flex:1}}

/* v0.5.2 - fictional-only sandbox customer editing and audit */
.test-customer-form,.test-audit{flex-basis:100%;width:100%;background:#f8fbfb;border:1px solid #deecea;border-radius:12px;padding:15px;margin-top:4px}
.test-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.test-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:700;color:#34505a}
.test-field input,.test-field select{min-width:0;width:100%;background:white;border:1px solid #d6e2e4;border-radius:9px;padding:10px;max-width:100%}
.test-field small{font-size:10px;font-weight:400;line-height:1.4}
.test-warning{font-size:12px;line-height:1.5;color:#865018;background:#fff5e6;padding:10px;border-radius:8px;margin:0 0 13px}
.test-form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.test-form-feedback{font-size:12px;color:#8a402f}
.test-audit p{font-size:12px;line-height:1.4;margin:4px 0 9px}
@media(max-width:600px){.test-form-grid{grid-template-columns:1fr}.test-customer-form,.test-audit{padding:12px}.test-form-actions .btn{width:100%}}
