/* Shared visual system: company branding remains configurable. */
:root{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;color:#142d49;background:#f4f6fa;font-synthesis:none;--ink:#142d49;--muted:#627087;--accent:#6754ce;--line:#dce3ed}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}header{padding:18px max(6vw,24px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line)}header img{width:170px;height:56px;object-fit:contain;object-position:left center}header img:not([src]){visibility:hidden}header span{font-size:14px;color:var(--muted)}main{flex:1;display:grid;place-items:center;padding:48px 24px}
h1{font-size:32px;font-weight:650;letter-spacing:-1px;line-height:1.2;margin:0 0 14px}h1:focus{outline:none}p{color:var(--muted);line-height:1.7;margin:12px 0 24px;overflow-wrap:anywhere}.panel{width:min(100%,600px);padding:40px 44px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 48px -30px #142d4945}.panel>p:first-of-type{margin-bottom:28px}
.welcome{width:min(100%,1040px);display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;padding:30px 0}.welcome h1{font-size:clamp(64px,7vw,88px);line-height:1;letter-spacing:-4px;margin:0 0 26px;font-weight:700}.kyc-subtitle{display:block;font-size:.39em;line-height:1.3;letter-spacing:-.6px;font-weight:400;margin-top:16px}.welcome p{max-width:370px;font-size:17px;margin-bottom:32px}.welcome aside{padding:24px 0 24px 38px;border-left:1px solid var(--line)}.welcome ol{list-style:none;counter-reset:steps;margin:0;padding:0}.welcome li{counter-increment:steps;position:relative;min-height:98px;padding:4px 0 30px 62px;line-height:1.65;font-size:16px;color:var(--muted)}.welcome li:last-child{min-height:0;padding-bottom:0}.welcome li:before{content:"0" counter(steps);position:absolute;left:0;top:0;width:40px;height:40px;border:1px solid #ded9f2;border-radius:50%;display:grid;place-items:center;background:#eeebfa;color:#5845b9;font-size:13px;font-weight:700}.welcome li:not(:last-child):after{content:"";position:absolute;left:20px;top:48px;bottom:8px;width:1px;background:var(--line)}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 26px;background:var(--ink);color:#fff;border:1px solid transparent;border-radius:12px;font:600 16px "Segoe UI",sans-serif;text-decoration:none;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}button:hover:not(:disabled),.button:hover{background:#234666;box-shadow:0 4px 12px #142d4918}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#fff;color:var(--ink);border:1px solid #cbd5e1}.secondary:hover:not(:disabled){background:#f1f4f9;border-color:#a7b7ca}.entry-actions{display:flex;flex-direction:column;align-items:stretch;max-width:360px;gap:12px}.entry-actions button{justify-content:space-between;padding:17px 22px;min-height:60px}.entry-actions button:after{content:"→";font-size:22px;font-weight:400}.entry-actions button[hidden]{display:none}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.actions button{flex:1}.actions .secondary{flex:0 1 auto}.panel>button+.secondary{margin-top:12px}
label{display:block;font-size:14px;font-weight:600;margin:22px 0 9px}input,select{width:100%;min-width:0;min-height:52px;border:1px solid #cbd5e1;border-radius:10px;padding:13px 14px;background:#fff;font:16px "Segoe UI",sans-serif;color:var(--ink);transition:border-color .16s,box-shadow .16s}input:hover:not(:disabled),select:hover{border-color:#99a9bf}input:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:-2px}input:disabled{background:#f0f2f6;border-color:#e4e8ef;color:#8290a2;cursor:not-allowed}input[readonly]{background:#f8f9fc}#session-date{font-size:13px}.error{padding:14px 16px;background:#fff1ef;color:#9c281a;border-left:3px solid #c14330;border-radius:6px;margin-top:20px}.center{text-align:center}.qr{display:block;width:250px;max-width:100%;margin:24px auto;padding:12px;border:1px solid var(--line);border-radius:16px}.status{font-size:14px;color:var(--muted)}.mail{font-size:48px;color:var(--accent);line-height:1;margin:12px}.spinner{display:block;margin:24px auto;width:32px;height:32px;border:3px solid #e3e0f3;border-top-color:var(--accent);border-radius:50%;animation:turn 1s linear infinite}.email{overflow-wrap:anywhere;font-weight:600;color:var(--ink)}footer{text-align:center;padding:22px 24px;color:#768398;font-size:12px;line-height:1.6}
.settings-button{margin-left:auto;width:44px;min-height:44px;padding:4px;font-size:25px;background:#f6f7fa;color:var(--muted);border:1px solid var(--line);border-radius:12px}.settings-button:hover:not(:disabled){background:#eeebfa;color:var(--accent)}dialog{max-width:520px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:32px;color:var(--ink);box-shadow:0 24px 80px #142d4933}dialog::backdrop{background:#142d4966;backdrop-filter:blur(4px)}dialog h1,dialog h2{margin-top:0;font-size:26px;letter-spacing:-.6px}dialog p{font-size:15px}
@keyframes turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.spinner{animation:none}}
@media(max-width:760px){header{padding:16px 24px}header img{width:145px;height:44px}header span{display:none}main{padding:30px 20px}.welcome{grid-template-columns:1fr;gap:36px;max-width:500px;padding:12px 0}.welcome h1{font-size:64px;letter-spacing:-3px}.welcome p{max-width:none}.welcome aside{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.welcome li{min-height:82px;padding-left:58px;font-size:15px}.entry-actions{max-width:none}.panel{padding:30px 24px;border-radius:20px}h1{font-size:28px}.kyc-subtitle{font-size:.42em;letter-spacing:-.5px}footer{padding:18px 20px}.panel>button,.center>button{width:100%}dialog{padding:26px 22px}}@media(max-width:380px){main{padding:24px 14px}.panel{padding:26px 20px}.welcome h1{font-size:58px}.actions{gap:10px}.actions button{padding:14px 20px}}

[hidden]{display:none!important}.portal-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.portal-nav button{min-height:40px;padding:8px 14px;font-size:13px}header{flex-wrap:wrap}.panel-wide{width:min(100%,1100px)}.user-table-wrap{overflow:auto;margin-top:24px}.user-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.user-table th{color:var(--muted);padding:14px 10px;border-bottom:1px solid var(--line)}.user-table td{padding:16px 10px;border-bottom:1px solid var(--line);vertical-align:top}.user-table small,.audit-item small{display:block;margin-top:6px;color:var(--muted);overflow-wrap:anywhere}.user-actions{min-width:200px}.user-actions button{min-height:36px;font-size:12px;padding:7px 10px;margin:0 6px 6px 0}.audit-item{padding:18px 0;border-bottom:1px solid var(--line)}.audit-item details{margin-top:12px;font-size:13px}.audit-item pre{white-space:pre-wrap;overflow-wrap:anywhere}.audit-item summary{cursor:pointer}#access-message{font-size:14px}#access-message:empty{display:none}@media(max-width:760px){.portal-nav{width:100%;justify-content:flex-start}.user-table{min-width:640px}}

.portal-nav{margin-left:auto}.portal-nav:not([hidden])~.settings-button{margin-left:0}@media(max-width:760px){header{row-gap:14px}header img{order:0}.settings-button{order:1}.portal-nav{order:2;margin-left:0}}

.password-visibility{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.password-visibility input{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--accent)}.password-rules{list-style:none;padding:16px 18px;margin:20px 0 12px;background:#f5f7fb;border-radius:12px}.password-rules li{font-size:14px;line-height:1.55;padding:5px 0;color:#627087}.password-rules li[data-met="true"]{color:#187047}#password-progress{margin:8px 0 16px}

.password-rules.compact-rules{display:flex;flex-wrap:wrap;gap:6px 12px;padding:0;margin:10px 0 0;background:none;border-radius:0}.password-rules.compact-rules li{font-size:12px;line-height:1.4;padding:0;white-space:nowrap}.password-match{font-size:12px;line-height:1.4;margin:8px 0 0;color:#9c281a}.password-match:empty{display:none}.password-match[data-met="true"]{color:#187047}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Persistent navigation on desktop; modal drawer on phones. */
.app-sidebar{position:fixed;inset:0 auto 0 0;width:260px;max-width:none;height:100dvh;max-height:none;margin:0;padding:28px 18px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;color:var(--ink);overflow-y:auto}
.app-sidebar[open]{display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 14px 30px}.sidebar-brand img{width:160px;height:54px;object-fit:contain;object-position:left center}.sidebar-links{display:flex;flex-direction:column;gap:6px}.app-sidebar button[data-section]{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:46px;padding:12px;border:0;border-radius:10px;background:transparent;color:#586a80;text-align:left;font-size:14px;font-weight:500;line-height:1.4;box-shadow:none}.app-sidebar button[data-section] svg{width:21px;height:21px;flex-shrink:0}.app-sidebar button[data-section]:hover{background:#f3f5f9;color:var(--ink)}.app-sidebar button[aria-current="page"]{color:#4c3aa5;background:#eeebfa;font-weight:600}.sidebar-divider{height:1px;background:var(--line);margin:20px 12px}.sidebar-account{margin-top:auto;padding-top:28px}.account-identity{display:flex;align-items:center;gap:10px;padding:18px 10px;border-top:1px solid var(--line);font-size:13px}.account-identity>div{min-width:0}.account-identity strong{display:block;overflow-wrap:anywhere}.account-identity small{display:block;color:var(--muted);margin-top:3px}.account-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#eeebfa;color:#5845b9;font-weight:600}.menu-toggle,.sidebar-close{display:none}.has-sidebar>main,.has-sidebar>footer{margin-left:260px}.has-sidebar>header{display:none}.has-sidebar .welcome{gap:40px}.has-sidebar>main{padding:40px 36px}
@media(max-width:900px){.has-sidebar>header{display:flex;padding:14px 20px;justify-content:flex-start;gap:16px}.has-sidebar>header img{width:130px;height:40px;order:1}.has-sidebar>header .menu-toggle{display:inline-flex;order:0;width:42px;min-height:42px;padding:4px;font-size:22px}.has-sidebar>main,.has-sidebar>footer{margin-left:0}.has-sidebar>main{padding:28px 20px}.app-sidebar{width:min(300px,88vw);padding:24px 18px}.app-sidebar::backdrop{background:#142d4970;backdrop-filter:blur(2px)}.sidebar-brand{padding:0 6px 26px}.sidebar-close{display:inline-flex;margin-left:auto;width:36px;min-height:36px;padding:0;font-size:24px}.app-sidebar button[data-section]{min-height:48px}.has-sidebar .welcome{gap:30px}}

.sidebar-group summary{display:flex;align-items:center;gap:12px;min-height:46px;padding:12px;border-radius:10px;cursor:pointer;list-style:none;font-size:14px;color:#586a80}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary svg{width:21px;height:21px;flex-shrink:0}.sidebar-group summary:hover{background:#f3f5f9;color:var(--ink)}.sidebar-group summary:focus-visible{outline:3px solid var(--accent);outline-offset:-2px}.group-chevron{margin-left:auto;transition:transform .15s}.sidebar-group[open] .group-chevron{transform:rotate(180deg)}.sidebar-submenu{margin:4px 0 8px 22px;padding-left:10px;border-left:1px solid var(--line)}.app-sidebar .sidebar-submenu button[data-section]{font-size:13px;min-height:42px;padding:10px}.app-sidebar .sidebar-submenu svg{width:18px;height:18px}

.integration-section{padding:18px 0;border-bottom:1px solid var(--line)}.integration-section h2{font-size:22px;margin:0 0 14px;letter-spacing:-.4px}.integration-section fieldset{border:0;padding:0;margin:0;min-width:0}.integration-section fieldset:disabled{opacity:.55}.integration-key small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.integration-key .password-visibility{font-size:12px;margin:8px 0}

/* Session statistics */
.statistics-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:22px 0}.statistics-filters label{flex:1;min-width:150px}.statistics-filters button{width:auto}.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.statistics-card{border:1px solid #dbe4ed;border-radius:16px;padding:24px;background:#fff}.statistics-card h2{font-size:18px}.statistics-total{font-size:36px;font-weight:700;color:#163552;margin:20px 0}.statistics-total span{font-size:14px;font-weight:400}.statistics-card ul{list-style:none;padding:0;margin:0}.statistics-card li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #edf1f5}.statistics-note{font-size:13px;color:#60748a;line-height:1.6;margin-top:18px}@media(max-width:650px){.statistics-grid{grid-template-columns:1fr}.statistics-card{padding:18px}.statistics-filters button{flex:1}}

.panel{min-width:0;max-width:100%}.user-table-wrap{max-width:100%;min-width:0}.local-invitation{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}

.appearance-settings{max-width:800px}.appearance-settings label{display:block;margin:14px 0}.appearance-colors{display:flex;gap:24px}.appearance-colors input{display:block;width:76px;height:42px;padding:3px}.appearance-preview{border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}.appearance-preview img{width:160px;height:64px;object-fit:contain}.custom-appearance button:not(.secondary):not([data-section]):not(.menu-toggle){background:var(--accent);color:var(--appearance-contrast)}.custom-appearance .app-sidebar button[aria-current=page],.custom-appearance .manager-filters button[type=submit]{background:var(--accent);color:var(--appearance-contrast)}
.manager-purge-dialog{max-width:560px;width:calc(100% - 32px);border:1px solid #dce2ec;border-radius:12px;padding:26px;color:#172b49}.manager-purge-dialog::backdrop{background:#172b4966}.manager-purge-dialog p{font-size:14px;line-height:1.6}.manager-purge-id{overflow-wrap:anywhere}.manager-purge-dialog input{width:100%}.manager-purge-dialog .actions{gap:12px}.manager-delete{color:#9c281a!important}.manager-purge-dialog button.manager-delete{background:#a42d23;color:white!important}.portal-manager [data-purger]{margin-top:14px}.portal-manager [data-purger][aria-pressed=true]{border-color:#a42d23;color:#9c281a}

.report-templates form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:none}.report-templates form>label,.report-templates form>[data-status],.report-templates form>.actions,.report-templates form>[data-pdf]{grid-column:1/-1}.report-templates fieldset{margin:0;padding:14px;border:1px solid #dce3ed;border-radius:8px;min-width:0}.report-templates legend{font-weight:600;padding:0 6px}.report-templates .password-visibility{margin:8px 0;font-size:14px}.api-keys form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;max-width:none}.api-keys form label{flex:1;min-width:180px}.api-keys [data-secret]{border:1px solid #b7c5f0;border-radius:8px;padding:20px;margin:20px 0}.api-keys [data-secret][hidden]{display:none}.operational-alerts td{overflow-wrap:anywhere}.report-templates [data-kind],.report-templates [data-versions]{max-width:480px}@media(max-width:900px){.report-templates form{grid-template-columns:1fr}}

.toast-region{position:fixed;top:20px;right:20px;z-index:10000;width:min(420px,calc(100vw - 32px));display:grid;gap:10px;pointer-events:none}.app-toast{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1px solid #ccd9d4;border-left:4px solid #268162;border-radius:8px;box-shadow:0 6px 24px #142d4926;color:#203849;font-size:14px;line-height:1.5;pointer-events:auto}.app-toast.is-error{border-left-color:#b43d37}.app-toast span{flex:1;overflow-wrap:anywhere}.app-toast button{background:transparent;color:#526174;min-height:28px;min-width:28px;padding:0;border:0;box-shadow:none;font-size:22px}.mail-test-card{border-top:1px solid #dce3ed;margin-top:26px;padding-top:22px}.mail-test-card h2{margin:0 0 10px;font-size:20px}.mail-test-card p{font-size:14px;margin:0 0 14px}.mail-test-card form{display:flex;align-items:end;gap:16px;max-width:none}.mail-test-card label{flex:1;margin:0}.mail-test-card input{margin-top:8px}@media(max-width:600px){.mail-test-card form{align-items:stretch;flex-direction:column}.toast-region{top:16px;right:16px}}
.integration-editor{background:#fff;border:1px solid var(--line,#dce1ed);border-radius:9px;padding:24px;width:100%;min-width:0}.integration-editor>p{font-size:12px;color:var(--muted);line-height:1.6}.integration-tabs{display:flex;gap:24px;border-bottom:1px solid #dce1ed;margin:0 0 24px}.integration-tabs button{background:transparent!important;border:0;border-bottom:3px solid transparent;border-radius:0;color:#69758b;padding:12px 4px;box-shadow:none}.integration-tabs button[aria-selected=true]{color:#674bce;border-bottom-color:#7054df}.integration-tabs button:focus-visible{outline:2px solid #7054df;outline-offset:-2px}.integration-editor [role=tabpanel][hidden]{display:none}.integration-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.integration-editor .integration-key{min-width:0;border-bottom:1px solid #edf0f5;padding-bottom:16px}.integration-editor input:not([type=checkbox]){width:100%;min-width:0}.integration-editor .actions{border-top:1px solid #edf0f5;padding-top:18px;margin-top:24px}@media(max-width:700px){.integration-key-grid{grid-template-columns:1fr}.integration-editor{padding:18px}}
.appearance-logo-picker{display:flex;align-items:center;gap:22px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:20px;margin:20px 0}.appearance-logo-thumb{display:grid;place-items:center;width:150px;height:100px;flex:0 0 150px;background:#f6f8fa;border:1px solid #e0e5eb;border-radius:4px;padding:14px}.appearance-logo-thumb img{max-width:100%;max-height:70px;object-fit:contain}.appearance-logo-controls{min-width:0}.appearance-logo-controls>strong{font-size:14px}.appearance-logo-controls>p{font-size:12px;margin:6px 0 14px}.appearance-logo-actions{display:flex;gap:10px;flex-wrap:wrap}.appearance-logo-controls>small{display:block;margin-top:10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}@media(max-width:550px){.appearance-logo-picker{align-items:flex-start;flex-direction:column;padding:16px}.appearance-logo-thumb{flex-basis:auto;width:130px;height:80px}}
.appearance-branding-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin:20px 0}.appearance-branding-row .appearance-logo-picker{margin:0}.appearance-branding-row .appearance-colors{gap:20px;align-items:center}.appearance-branding-row .appearance-colors label{margin:0}.appearance-branding-row .appearance-colors input{margin-top:8px}@media(max-width:850px){.appearance-branding-row{grid-template-columns:1fr}.appearance-branding-row .appearance-colors{flex-wrap:wrap}}

