:root {
    --pwa-navy:#071f46;
    --pwa-blue:#0b57d0;
    --pwa-green:#159447;
    --pwa-muted:#68778f;
    --pwa-line:#dce5f0;
    --pwa-surface:#fff;
    --pwa-page:#edf4fc;
    --pwa-header-height:64px;
    --pwa-nav-height:72px;
}

.pwa-app-header,.pwa-bottom-nav,.pwa-more-layer,.pwa-home-dashboard { display:none; }

.pwa-app-header {
    position:fixed;
    z-index:1065;
    top:0;
    right:0;
    left:0;
    min-height:calc(var(--pwa-header-height) + env(safe-area-inset-top));
    align-items:center;
    justify-content:space-between;
    padding:env(safe-area-inset-top) .85rem 0;
    background:linear-gradient(110deg,#071f46 0%,#0b57d0 62%,#159447 135%);
    border-bottom:1px solid rgba(255,255,255,.15);
    box-shadow:0 5px 20px rgba(7,31,70,.22);
    backdrop-filter:blur(18px);
}
.pwa-header-spacer,.pwa-header-back,.pwa-header-more,.pwa-header-login { width:42px;height:42px;flex:0 0 42px; }
.pwa-header-back,.pwa-header-more,.pwa-header-login { display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.13);color:#fff;font-size:1.3rem;text-decoration:none; }
.pwa-header-actions{display:flex;align-items:center;gap:.35rem}.pwa-header-language{display:grid;min-width:42px;height:42px;place-items:center;padding:0 .48rem;border:1px solid rgba(255,255,255,.24);border-radius:13px;background:rgba(255,255,255,.16);color:#fff;font-size:.72rem;font-weight:800;text-decoration:none}.pwa-header-language:focus-visible,.pwa-header-language:hover{background:#fff;color:var(--pwa-navy)}
.pwa-app-brand { position:absolute;left:50%;display:flex;min-width:0;max-width:calc(100% - 190px);align-items:center;gap:.55rem;color:#fff;text-decoration:none;transform:translateX(-50%); }
.pwa-app-brand img { width:36px;height:36px;flex:0 0 36px;object-fit:contain; }
.pwa-app-brand span { display:flex;min-width:0;flex-direction:column; }
.pwa-app-brand strong { font-size:1rem;line-height:1.05;letter-spacing:-.02em; }
.pwa-app-brand small { max-width:50vw;overflow:hidden;color:#d8e8fb;font-size:.65rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap; }

.pwa-bottom-nav { position:fixed;z-index:1060;right:0;bottom:0;left:0;grid-template-columns:repeat(var(--pwa-nav-count),minmax(0,1fr));min-height:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom));padding:.35rem .35rem env(safe-area-inset-bottom);background:linear-gradient(105deg,#071f46,#0b57d0 72%,#137d49 125%);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -8px 24px rgba(7,31,70,.2);backdrop-filter:blur(18px); }
.pwa-nav-link { display:flex;min-width:0;min-height:60px;align-items:center;justify-content:center;flex-direction:column;gap:.2rem;padding:.25rem;border:0;border-radius:14px;background:transparent;color:#c7d8ee;font:inherit;text-align:center;text-decoration:none; }
.pwa-nav-link i { font-size:1.25rem;line-height:1; }
.pwa-nav-link span { max-width:100%;overflow:hidden;font-size:.61rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap; }
.pwa-nav-link.active { background:rgba(255,255,255,.16);color:#7df0a5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }

.pwa-more-layer { position:fixed;z-index:1090;inset:0;align-items:flex-end; }
.pwa-more-backdrop { position:absolute;inset:0;border:0;background:rgba(3,18,43,.58); }
.pwa-more-sheet { position:relative;width:100%;max-height:min(80vh,700px);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));overflow:auto;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 50px rgba(3,18,43,.24); }
.pwa-more-heading { display:flex;align-items:center;justify-content:space-between;padding:.2rem .2rem .9rem; }
.pwa-more-heading>div { display:flex;flex-direction:column; }
.pwa-more-heading strong { font-size:1.15rem; }
.pwa-more-heading small { color:var(--pwa-muted); }
.pwa-more-heading>button { display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:#eef2f7;color:#26364c;font-size:1.5rem; }
.pwa-more-links { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem; }
.pwa-more-links a { display:flex;min-height:56px;align-items:center;gap:.65rem;padding:.78rem;border:1px solid var(--pwa-line);border-radius:14px;color:#26364c;font-size:.8rem;font-weight:700;text-decoration:none; }
.pwa-more-links a i { color:var(--pwa-blue);font-size:1.08rem; }
.pwa-more-links a.active { border-color:#a7c7f9;background:#edf4ff;color:var(--pwa-blue); }
.pwa-logout { margin-top:1rem; }
.pwa-logout button { display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:.55rem;border:1px solid #f2b8b8;border-radius:13px;background:#fff5f5;color:#a92424;font-weight:750; }

html.pwa-standalone .pwa-app-header { display:flex; }
html.pwa-standalone .pwa-bottom-nav { display:grid; }
html.pwa-standalone .pwa-more-layer:not([hidden]) { display:flex; }
html.pwa-standalone body { min-height:100vh;padding-top:calc(var(--pwa-header-height) + env(safe-area-inset-top));padding-bottom:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom));background:radial-gradient(circle at 92% 7%,rgba(76,210,124,.18),transparent 30%),radial-gradient(circle at 8% 42%,rgba(51,133,255,.16),transparent 34%),linear-gradient(160deg,#eaf3ff,#f8fbff 48%,#ebf8ef);color:#17243a; }
html.pwa-standalone .marketing-header,html.pwa-standalone .marketing-footer,html.pwa-standalone .candidate-site-header,html.pwa-standalone .pwa-install-button,html.pwa-standalone .pwa-install-help { display:none!important; }

html.pwa-standalone body[data-pwa-context="admin"] .sidebar,html.pwa-standalone body[data-pwa-context="client"] .sidebar,html.pwa-standalone body[data-pwa-context="admin"] .topbar,html.pwa-standalone body[data-pwa-context="client"] .topbar { display:none!important; }
html.pwa-standalone body[data-pwa-context="admin"] .main,html.pwa-standalone body[data-pwa-context="client"] .main { margin-left:0; }
html.pwa-standalone body[data-pwa-context="admin"] .container-fluid,html.pwa-standalone body[data-pwa-context="client"] .container-fluid { max-width:1120px;padding:1rem!important; }

/* App-like page treatment; browser presentation remains untouched. */
html.pwa-standalone .card,html.pwa-standalone .attention-card,html.pwa-standalone .recent-card,html.pwa-standalone .quick-card,html.pwa-standalone .metric-card { border-color:var(--pwa-line);border-radius:16px;box-shadow:0 8px 24px rgba(29,55,91,.07); }
html.pwa-standalone .table-card { overflow:hidden;border-radius:18px;background:rgba(255,255,255,.94); }
html.pwa-standalone .table-card>.card-header { border-bottom-color:#dce7f3!important;background:linear-gradient(135deg,#edf5ff,#f5fff7)!important; }
html.pwa-standalone .table-card>.card-footer { border-top-color:#e1e9f2!important;background:#f8fbff!important; }
html.pwa-standalone .btn { min-height:46px;border-radius:12px;font-weight:700; }
html.pwa-standalone .btn-sm { min-height:38px;border-radius:10px; }
html.pwa-standalone .form-control,html.pwa-standalone .form-select { min-height:50px;border-color:#cfdbe9;border-radius:12px;background-color:#fff; }
html.pwa-standalone textarea.form-control { min-height:112px; }
html.pwa-standalone .form-label { margin-bottom:.4rem;color:#34445d;font-size:.82rem;font-weight:700; }
html.pwa-standalone .alert { border:0;border-radius:14px; }
html.pwa-standalone .dash-head { margin-bottom:1rem; }
html.pwa-standalone .dash-head h1 { font-size:1.35rem; }
html.pwa-standalone .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem; }
html.pwa-standalone .metric-card { align-items:flex-start;flex-direction:column;gap:.55rem;padding:.9rem; }
html.pwa-standalone .metric-ico { width:40px;height:40px;font-size:1.05rem; }
html.pwa-standalone .metric-val { font-size:1.35rem; }
html.pwa-standalone .quick-grid { grid-template-columns:1fr; }
html.pwa-standalone .client-page-head { align-items:stretch!important;flex-direction:column; }
html.pwa-standalone .client-action-grid { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:.55rem!important; }
html.pwa-standalone .client-action-grid .btn { display:flex;min-width:0;min-height:54px;align-items:center;justify-content:center;flex-direction:column;gap:.15rem;padding:.4rem .25rem;font-size:.66rem;line-height:1.15;white-space:normal; }
html.pwa-standalone .client-action-grid .btn i { margin:0!important;font-size:1.05rem; }
html.pwa-standalone .client-candidate-filter>.card-body { padding:.8rem; }
html.pwa-standalone .client-filter-main { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end; }
html.pwa-standalone .client-filter-main .btn { min-width:48px;padding-right:.7rem;padding-left:.7rem; }
html.pwa-standalone .client-filter-more { margin-top:.75rem;border-top:1px solid #e4ecf5; }
html.pwa-standalone .client-filter-more>summary { display:flex;align-items:center;justify-content:space-between;padding:.75rem .1rem 0;color:var(--pwa-blue);font-size:.78rem;font-weight:800;cursor:pointer;list-style:none; }
html.pwa-standalone .client-filter-more>summary::-webkit-details-marker { display:none; }
html.pwa-standalone .client-filter-more>summary::after { content:'+';display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e7f0ff;font-size:1rem; }
html.pwa-standalone .client-filter-more[open]>summary::after { content:'−'; }
html.pwa-standalone .pwa-page-summary{padding:.85rem;border:0;background:linear-gradient(135deg,#e9f3ff,#edfff2);box-shadow:0 8px 22px rgba(29,55,91,.08)}
html.pwa-standalone .pwa-page-summary h1{font-size:1.15rem}html.pwa-standalone .pwa-page-summary p{font-size:.72rem}html.pwa-standalone .pwa-page-summary small{display:none}
html.pwa-standalone .pwa-page-summary-icon{width:46px;height:46px;flex-basis:46px;border-radius:14px}
html.pwa-standalone .pwa-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html.pwa-standalone .pwa-page-actions .btn{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:13px;font-size:.72rem}
html.pwa-standalone .quick-share[open]{grid-column:1/-1}html.pwa-standalone .quick-share-panel .input-group{flex-wrap:nowrap}html.pwa-standalone .quick-share-panel .btn{min-width:66px}
html.pwa-standalone .client-filter-fields { padding-top:.75rem; }
html.pwa-standalone .client-active-filter { display:inline-flex;margin-top:.55rem;padding:.3rem .55rem;border-radius:999px;background:#fff1d8;color:#9a5a00;font-size:.66rem;font-weight:750; }
html.pwa-standalone .pwa-info-card dl>dt { color:var(--pwa-muted);font-size:.68rem;text-transform:uppercase; }
html.pwa-standalone .pwa-info-card dl>dd { margin-bottom:.85rem;font-weight:650;overflow-wrap:anywhere; }
html.pwa-standalone .candidate-container { max-width:680px;padding:1rem!important; }
html.pwa-standalone .candidate-form-card,html.pwa-standalone .success-card,html.pwa-standalone .type-card { border-radius:18px;box-shadow:0 10px 30px rgba(20,55,91,.08); }
html.pwa-standalone .candidate-form-card>.card-body { padding:1.15rem!important; }
html.pwa-standalone .photo-source-actions .btn { display:flex;align-items:center;justify-content:center; }
html.pwa-standalone body[data-pwa-context="public"] main { overflow:hidden; }
html.pwa-standalone body[data-pwa-context="public"] .marketing-form-card { border-radius:18px; }
html.pwa-standalone body[data-pwa-context="public"] .marketing-form-card .card-body { padding:1.15rem!important; }

/* The existing homepage remains the browser website; this is its installed-app view. */
html.pwa-standalone .pwa-home-dashboard { display:block;max-width:760px;margin:0 auto;padding:1rem 1rem 1.5rem; }
html.pwa-standalone .pwa-home-dashboard + .marketing-page { display:none; }
.pwa-home-welcome { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.15rem;border:1px solid #c9ddf5;border-radius:20px;background:linear-gradient(130deg,#e8f2ff 8%,#f7fbff 54%,#e2f7e9 100%);box-shadow:0 10px 28px rgba(29,55,91,.1); }
.pwa-home-welcome>div { min-width:0; }
.pwa-home-welcome img { width:78px;height:78px;flex:0 0 78px;object-fit:contain; }
.pwa-home-kicker,.pwa-home-section-title span { display:block;margin-bottom:.25rem;color:var(--pwa-green);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase; }
.pwa-home-welcome h2 { margin:0;color:var(--pwa-navy);font-size:1.45rem;font-weight:850;letter-spacing:-.025em; }
.pwa-home-welcome p { max-width:330px;margin:.35rem 0 0;color:var(--pwa-muted);font-size:.86rem;line-height:1.45; }
.pwa-home-primary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem; }
.pwa-home-primary-action { display:flex;min-width:0;min-height:94px;align-items:center;justify-content:center;gap:.65rem;padding:.8rem;border:1px solid var(--pwa-line);border-radius:18px;background:#fff;color:#24344c;text-decoration:none;box-shadow:0 7px 20px rgba(29,55,91,.055); }
.pwa-home-primary-action.is-apply { border-color:#a8d9b8;background:linear-gradient(135deg,#ddf7e5,#f8fffa); }
.pwa-home-primary-action.is-verify { border-color:#a9c9f3;background:linear-gradient(135deg,#dceaff,#f7faff); }
.pwa-home-action-icon { display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:15px;background:#dcf5e4;color:var(--pwa-green);font-size:1.32rem; }
.pwa-home-icon-blue { background:#e6f0ff;color:var(--pwa-blue); }
.pwa-home-primary-action>span:last-child { display:flex;min-width:0;flex-direction:column; }
.pwa-home-primary-action strong { color:var(--pwa-navy);font-size:.92rem;line-height:1.25; }
.pwa-home-primary-action small { margin-top:.2rem;color:var(--pwa-muted);font-size:.7rem;line-height:1.3; }
.pwa-home-guide,.pwa-home-organizations,.pwa-home-account { margin-top:1rem;padding:1rem;border:1px solid var(--pwa-line);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(29,55,91,.075); }
.pwa-home-organizations { position:relative;overflow:hidden;border-color:#355ca4;background:linear-gradient(145deg,#1766bf 0%,#284d91 43%,#202c63 100%);box-shadow:0 14px 30px rgba(14,45,99,.24); }
.pwa-home-organizations::before { position:absolute;top:-75px;right:-55px;width:180px;height:180px;border:1px solid rgba(255,255,255,.11);border-radius:50%;content:"";box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 48px rgba(255,255,255,.018);pointer-events:none; }
.pwa-home-organizations .pwa-home-section-title { position:relative; }
.pwa-home-organizations .pwa-home-section-title span,.pwa-home-organizations .pwa-home-section-title a { color:#ffe052; }
.pwa-home-organizations .pwa-home-section-title h2 { color:#fff; }
.pwa-home-organizations .pwa-home-section-title a { display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border-radius:9px;background:rgba(255,255,255,.09); }
.pwa-home-guide { border-color:#c3e2cd;background:linear-gradient(145deg,rgba(236,250,240,.96),rgba(255,255,255,.94)); }
.pwa-home-section-title { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem; }
.pwa-home-section-title h2 { margin:0;color:var(--pwa-navy);font-size:1.05rem;font-weight:850; }
.pwa-home-section-title a { color:var(--pwa-blue);font-size:.75rem;font-weight:750;text-decoration:none;white-space:nowrap; }
.pwa-home-guide ol { display:grid;gap:.75rem;margin:0;padding:0;list-style:none; }
.pwa-home-guide li { display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:.7rem; }
.pwa-home-guide li>b { display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#eaf2ff;color:var(--pwa-blue);font-size:.8rem; }
.pwa-home-guide li>span { display:flex;min-width:0;flex-direction:column; }
.pwa-home-guide li strong { color:#24344c;font-size:.84rem; }
.pwa-home-guide li small { margin-top:.12rem;color:var(--pwa-muted);font-size:.7rem;line-height:1.4; }
.pwa-home-org-grid { position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem; }
.pwa-home-org-grid>a { display:flex;min-width:0;min-height:140px;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;padding:.8rem .6rem;border:1px solid rgba(255,255,255,.76);border-radius:17px;background:linear-gradient(145deg,#fff 0%,#edf8f1 100%);color:#172742;text-align:center;text-decoration:none;box-shadow:0 8px 18px rgba(5,25,64,.18);transition:transform .16s ease,box-shadow .16s ease; }
.pwa-home-org-grid>a:nth-child(2n) { background:linear-gradient(145deg,#fff 0%,#eef4ff 100%); }
.pwa-home-org-grid>a:active { transform:scale(.98);box-shadow:0 4px 10px rgba(5,25,64,.16); }
.pwa-home-org-grid>a:focus-visible { outline:3px solid #ffe052;outline-offset:2px; }
.pwa-home-org-logo { display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#fff;color:var(--pwa-blue);font-size:.78rem;box-shadow:0 4px 12px rgba(29,55,91,.17); }
.pwa-home-org-logo img { width:100%;height:100%;padding:.2rem;object-fit:contain; }
.pwa-home-org-grid>a>span:last-child { display:flex;width:100%;min-width:0;flex-direction:column; }
.pwa-home-org-grid strong { display:-webkit-box;overflow:hidden;font-size:.78rem;font-weight:800;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.pwa-home-org-grid small { display:flex;align-items:center;justify-content:center;gap:.18rem;margin-top:.22rem;overflow:hidden;color:#65748b;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap; }
.pwa-home-secondary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem; }
.pwa-home-secondary>a { display:flex;min-width:0;min-height:86px;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #bfd4f0;border-radius:16px;background:linear-gradient(135deg,#eef5ff,#fff);color:#24344c;text-decoration:none;box-shadow:0 7px 20px rgba(29,55,91,.07); }
.pwa-home-secondary>a:last-child { border-color:#bddfc8;background:linear-gradient(135deg,#eaf8ef,#fff); }
.pwa-home-secondary-icon { display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:14px;background:#eaf2ff;color:var(--pwa-blue);font-size:1.15rem; }
.pwa-home-secondary-icon.is-partner { background:#e8f7ed;color:var(--pwa-green); }
.pwa-home-secondary>a>span:last-child { display:flex;min-width:0;flex-direction:column; }
.pwa-home-secondary strong { font-size:.78rem;line-height:1.2; }
.pwa-home-secondary small { margin-top:.2rem;color:var(--pwa-muted);font-size:.65rem; }
.pwa-home-account { background:linear-gradient(135deg,#071f46,#123d78);color:#fff; }
.pwa-home-account>div:first-child { display:flex;flex-direction:column; }
.pwa-home-account span { color:#bed3ed;font-size:.7rem; }
.pwa-home-account strong { margin-top:.15rem;font-size:.9rem; }
.pwa-home-account>div:last-child { display:flex;gap:.55rem;margin-top:.8rem; }
.pwa-home-account a { flex:1;padding:.65rem;border:1px solid rgba(255,255,255,.55);border-radius:11px;color:#fff;font-size:.72rem;font-weight:750;text-align:center;text-decoration:none; }
.pwa-home-account a:last-child { border-color:#38bb66;background:#20a950; }

/* Installed-app camera presentation. */
html.pwa-standalone body.pwa-camera-active { overflow:hidden;padding-bottom:0; }
html.pwa-standalone body.pwa-camera-active .pwa-bottom-nav { display:none; }
html.pwa-standalone body.pwa-camera-active .verify-qr-panel,html.pwa-standalone body.pwa-camera-active .photo-camera { position:fixed;z-index:1080;top:calc(var(--pwa-header-height) + env(safe-area-inset-top));right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border:0;border-radius:0;background:#07111f;color:#fff; }
html.pwa-standalone body.pwa-camera-active .verify-qr-video,html.pwa-standalone body.pwa-camera-active .photo-camera-stage { width:min(100%,520px);max-height:68vh;border-radius:18px;background:#02060c;box-shadow:0 0 0 1px rgba(255,255,255,.16); }
html.pwa-standalone body.pwa-camera-active .verify-qr-video { aspect-ratio:3/4;object-fit:cover; }
html.pwa-standalone body.pwa-camera-active .verify-qr-msg { color:#dbe8f7; }
html.pwa-standalone body.pwa-camera-active .verify-qr-msg.is-error { color:#ffb4b4; }
html.pwa-standalone body.pwa-camera-active .verify-qr-cancel,html.pwa-standalone body.pwa-camera-active [data-camera-cancel] { min-width:120px;min-height:46px;border-color:#b9c8dc;background:transparent;color:#fff; }
html.pwa-standalone body.pwa-camera-active [data-camera-capture] { min-width:150px; }

html.pwa-standalone body.pwa-keyboard-open .pwa-bottom-nav { display:none; }
html.pwa-standalone body.pwa-keyboard-open { padding-bottom:env(safe-area-inset-bottom); }
html.pwa-standalone body.pwa-overlay-active .pwa-bottom-nav { visibility:hidden; }
html.pwa-standalone body.pwa-focus-mode { padding:0!important; }
html.pwa-standalone body.pwa-focus-mode .pwa-app-header,html.pwa-standalone body.pwa-focus-mode .pwa-bottom-nav,html.pwa-standalone body.pwa-focus-mode .pwa-more-layer,html.pwa-standalone body.pwa-focus-mode .sidebar,html.pwa-standalone body.pwa-focus-mode .topbar { display:none!important; }
html.pwa-standalone body.pwa-focus-mode .main { margin:0!important; }

@media(min-width:992px) {
    html.pwa-standalone body[data-pwa-context="admin"],html.pwa-standalone body[data-pwa-context="client"] { padding:0; }
    html.pwa-standalone body[data-pwa-context="admin"] .pwa-app-header,html.pwa-standalone body[data-pwa-context="client"] .pwa-app-header,html.pwa-standalone body[data-pwa-context="admin"] .pwa-bottom-nav,html.pwa-standalone body[data-pwa-context="client"] .pwa-bottom-nav { display:none; }
    html.pwa-standalone body[data-pwa-context="admin"] .sidebar,html.pwa-standalone body[data-pwa-context="client"] .sidebar { display:flex!important;width:220px; }
    html.pwa-standalone body[data-pwa-context="admin"] .topbar,html.pwa-standalone body[data-pwa-context="client"] .topbar { display:flex!important; }
    html.pwa-standalone body[data-pwa-context="admin"] .main,html.pwa-standalone body[data-pwa-context="client"] .main { margin-left:220px; }
    html.pwa-standalone body[data-pwa-context="public"] { padding-right:0;padding-bottom:0;padding-left:92px; }
    html.pwa-standalone body[data-pwa-context="public"] .pwa-app-header { left:92px; }
    html.pwa-standalone body[data-pwa-context="candidate"] { padding-right:0;padding-left:0; }
    html.pwa-standalone body[data-pwa-context="candidate"] .pwa-app-header { left:0; }
    html.pwa-standalone body[data-pwa-context="public"] .pwa-bottom-nav { top:0;right:auto;bottom:0;width:92px;min-height:100vh;grid-template-columns:1fr;grid-auto-rows:min-content;align-content:center;gap:.4rem;padding:1rem .45rem;border-top:0;border-right:1px solid var(--pwa-line);box-shadow:4px 0 18px rgba(7,31,70,.07); }
    html.pwa-standalone body[data-pwa-context="public"] .pwa-nav-link { min-height:68px; }
}

@media(max-width:380px) {
    .pwa-nav-link span { font-size:.56rem; }
    .pwa-more-links { grid-template-columns:1fr; }
    .pwa-app-brand small { display:none; }
    .pwa-home-welcome img { width:64px;height:64px;flex-basis:64px; }
    .pwa-home-welcome h2 { font-size:1.25rem; }
    .pwa-home-primary-action { min-height:88px;gap:.45rem;padding:.65rem .5rem; }
    .pwa-home-action-icon { width:42px;height:42px;flex-basis:42px; }
    .pwa-home-primary-action strong { font-size:.82rem; }
    .pwa-home-secondary>a { align-items:flex-start;flex-direction:column; }
}

@media(max-width:767.98px) {
    html.pwa-standalone body[data-pwa-context="admin"] table.pwa-data-cards,html.pwa-standalone body[data-pwa-context="client"] table.pwa-data-cards,html.pwa-standalone table.pwa-data-cards tbody { display:block;width:100%; }
    html.pwa-standalone table.pwa-data-cards thead { display:none; }
    html.pwa-standalone table.pwa-data-cards tbody { display:grid;gap:.55rem;padding:.1rem; }
    html.pwa-standalone table.pwa-data-cards tr { display:block;padding:.62rem .7rem;border:1px solid #dce7f2;border-radius:15px;background:linear-gradient(145deg,#fff,#f3f8ff);box-shadow:0 4px 13px rgba(29,55,91,.06); }
    html.pwa-standalone table.pwa-data-cards td { display:grid;grid-template-columns:minmax(78px,.36fr) minmax(0,1fr);gap:.5rem;padding:.27rem 0;border:0;color:#26374f;font-size:.68rem;line-height:1.35;text-align:left!important;overflow-wrap:anywhere; }
    html.pwa-standalone table.pwa-data-cards td::before { content:attr(data-pwa-label);align-self:start;color:#728198;font-size:.57rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase; }
    html.pwa-standalone table.pwa-data-cards td:first-child { padding-top:0;color:#172b4d;font-size:.75rem;font-weight:700; }
    html.pwa-standalone table.pwa-data-cards td:last-child { padding-bottom:0; }
    html.pwa-standalone table.pwa-data-cards td small { font-size:.59rem; }
    html.pwa-standalone table.pwa-data-cards td code { white-space:normal;overflow-wrap:anywhere; }
    html.pwa-standalone table.pwa-data-cards td .badge { width:max-content;max-width:100%;white-space:normal;text-align:left; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions { display:block;padding-top:.45rem;margin-top:.25rem;border-top:1px solid #e5edf6; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions::before { display:block;margin-bottom:.35rem; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions>.d-inline-flex,html.pwa-standalone table.pwa-data-cards .pwa-card-actions>.d-flex { display:grid!important;width:100%;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:.38rem; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions>form:not(.d-flex),html.pwa-standalone table.pwa-data-cards .pwa-card-actions>.d-inline-flex>form { display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:.38rem; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions form.d-flex { display:flex!important;flex-wrap:wrap;gap:.38rem!important; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions form.d-flex .form-control { flex:1 0 100%; }
    html.pwa-standalone table.pwa-data-cards .pwa-card-actions .btn { display:flex;width:100%;min-height:34px;align-items:center;justify-content:center;margin:0;padding:.3rem .42rem;border-radius:10px;font-size:.63rem;line-height:1.05;text-align:center;white-space:normal; }
    html.pwa-standalone table.pwa-data-cards td.pwa-card-actions>.admin-partner-actions{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}html.pwa-standalone table.pwa-data-cards td.pwa-card-actions>.admin-partner-actions form{display:contents!important}html.pwa-standalone table.pwa-data-cards td.pwa-card-actions>.admin-partner-actions .btn{display:flex!important;width:100%!important;min-height:34px;font-size:.63rem;padding:.3rem .2rem}
    html.pwa-standalone table.pwa-data-cards .form-control,html.pwa-standalone table.pwa-data-cards .form-select { min-height:38px;border-radius:9px;font-size:.66rem; }
    html.pwa-standalone table.pwa-data-cards textarea.form-control { min-height:74px; }
    html.pwa-standalone table.pwa-data-cards tr.pwa-card-empty { padding:.9rem; }
    html.pwa-standalone table.pwa-data-cards tr.pwa-card-empty td { display:block;padding:0!important;text-align:center!important; }
    html.pwa-standalone table.pwa-data-cards tr.pwa-card-empty td::before { display:none; }
    html.pwa-standalone .client-candidate-records { overflow:visible;border:0;background:transparent;box-shadow:none; }
    html.pwa-standalone .client-candidate-records>.card-header { margin-bottom:.6rem;border:1px solid #d8e5f3;border-radius:15px;background:linear-gradient(135deg,#edf5ff,#f5fff7)!important; }
    html.pwa-standalone .client-candidate-records>.table-responsive { overflow:visible; }
    html.pwa-standalone .client-candidate-table,html.pwa-standalone .client-candidate-table tbody { display:block; }
    html.pwa-standalone .client-candidate-table thead { display:none; }
    html.pwa-standalone .client-candidate-table tbody { display:grid;gap:.6rem; }
    html.pwa-standalone .client-candidate-table .candidate-list-row { display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;grid-template-areas:'photo identity type status' 'photo class class status' 'photo client client client' 'actions actions actions actions';gap:.12rem .5rem;padding:.62rem .7rem;border:1px solid #dce7f2;border-radius:15px;background:linear-gradient(145deg,#fff,#f2f8ff);box-shadow:0 4px 13px rgba(29,55,91,.06); }
    html.pwa-standalone .client-candidate-table .candidate-list-row>td { display:block;padding:0;border:0;background:transparent; }
    html.pwa-standalone .candidate-list-photo { grid-area:photo; }
    html.pwa-standalone .candidate-list-photo .candidate-thumb { width:48px;height:48px;overflow:hidden;border:2px solid #d8e7f6;border-radius:50%;object-fit:cover;background:#eaf2fb; }
    html.pwa-standalone .candidate-list-photo .placeholder-photo { display:grid;place-items:center;color:#6e8199;font-size:1.25rem; }
    html.pwa-standalone .candidate-list-identity { grid-area:identity;display:flex!important;min-width:0;flex-direction:column; }
    html.pwa-standalone .candidate-list-identity strong { display:block;overflow:hidden;color:#182842;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap; }
    html.pwa-standalone .candidate-list-identity small { overflow:hidden;color:#607189;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap; }
    html.pwa-standalone .candidate-list-contact,html.pwa-standalone .candidate-list-reference { display:none; }
    html.pwa-standalone .candidate-list-type { grid-area:type;align-self:center;color:var(--pwa-blue);font-size:.58rem;font-weight:800;white-space:nowrap; }
    html.pwa-standalone .candidate-list-class { grid-area:class;color:#718097;font-size:.62rem; }
    html.pwa-standalone .candidate-list-class::before { content:'Class / section: ';font-weight:700; }
    html.pwa-standalone .candidate-list-client{display:block!important;grid-area:client;color:#64748b;font-size:.58rem;line-height:1.2}html.pwa-standalone .candidate-list-client small{display:inline;margin-left:.32rem;color:#94a3b8}
    html.pwa-standalone .candidate-list-date { display:none!important; }
    html.pwa-standalone .candidate-list-status { grid-area:status;align-self:start;justify-self:end; }
    html.pwa-standalone .candidate-list-status .badge { font-size:.58rem;white-space:nowrap; }
    html.pwa-standalone .candidate-list-actions { grid-area:actions;display:flex!important;justify-content:center;padding-top:.42rem!important;border-top:1px solid #e5edf6!important; }
    html.pwa-standalone .candidate-row-actions{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));justify-content:stretch;gap:.4rem}html.pwa-standalone .candidate-row-actions>form,html.pwa-standalone .candidate-row-actions>.d-inline{display:block!important;width:100%}
    html.pwa-standalone .candidate-list-actions .btn { display:flex;width:100%;min-width:0;min-height:34px;align-items:center;justify-content:center;padding:.3rem .5rem;border-radius:10px;font-size:.66rem;font-weight:750;line-height:1;text-align:center; }
    html.pwa-standalone .candidate-records-head{align-items:flex-start}html.pwa-standalone .candidate-records-head form{flex:0 0 auto}html.pwa-standalone .candidate-records-head .btn{border-radius:10px;font-size:.68rem}
    html.pwa-standalone .pwa-admin-list{overflow:visible;border:0;background:transparent;box-shadow:none}html.pwa-standalone .pwa-admin-list>.table-responsive{overflow:visible}html.pwa-standalone .pwa-admin-list table,html.pwa-standalone .pwa-admin-list tbody{display:block}html.pwa-standalone .pwa-admin-list thead{display:none}html.pwa-standalone .pwa-admin-list tbody{display:grid;gap:.65rem}html.pwa-standalone .pwa-admin-list tr{display:block;padding:.8rem;border:1px solid #dce7f2;border-radius:16px;background:linear-gradient(145deg,#fff,#f4f9ff);box-shadow:0 5px 16px rgba(29,55,91,.06)}html.pwa-standalone .pwa-admin-list td{display:block;padding:.18rem 0;border:0;font-size:.7rem}html.pwa-standalone .pwa-admin-list td:first-child strong{font-size:.86rem}html.pwa-standalone .pwa-admin-list td.text-end{display:flex;flex-wrap:wrap;justify-content:flex-start!important;gap:.35rem;padding-top:.55rem;border-top:1px solid #e5edf6}html.pwa-standalone .pwa-admin-list td.text-end .btn{min-height:36px;border-radius:10px;font-size:.67rem}
    html.pwa-standalone .pwa-operating-list .pwa-page-actions,html.pwa-standalone .pwa-organization-list .pwa-page-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:.7rem!important}
    html.pwa-standalone .pwa-operating-list .pwa-admin-list tbody,html.pwa-standalone .pwa-organization-list .pwa-admin-list tbody{gap:.5rem}
    html.pwa-standalone .pwa-operating-list .pwa-admin-list tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'identity status' 'code users' 'contact contact' 'actions actions';gap:.12rem .55rem;padding:.62rem .7rem;border-radius:15px}
    html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(1){grid-area:identity;min-width:0}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(2){grid-area:code;color:#1769db;font-size:.61rem;font-weight:750}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(2)::before{content:'Code · ';color:#75849a}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(3){grid-area:contact;color:#63738a;font-size:.61rem}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(4){grid-area:users;justify-self:end;color:#63738a;font-size:.61rem}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(4)::before{content:'Users · '}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(5){grid-area:status;justify-self:end}html.pwa-standalone .pwa-operating-list .pwa-admin-list td:nth-child(6){grid-area:actions}
    html.pwa-standalone .pwa-organization-list .pwa-admin-list tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'identity status' 'type units' 'actions actions';gap:.12rem .55rem;padding:.62rem .7rem;border-radius:15px}
    html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(1){grid-area:identity;min-width:0}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(2){grid-area:type;color:#63738a;font-size:.61rem}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(2)::before{content:'Type · '}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(3){grid-area:units;color:#63738a;font-size:.61rem}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(3)::before{content:'Units · '}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(4){grid-area:status;justify-self:end}html.pwa-standalone .pwa-organization-list .pwa-admin-list td:nth-child(5){grid-area:actions}
    html.pwa-standalone .pwa-operating-list .pwa-admin-list td.text-end,html.pwa-standalone .pwa-organization-list .pwa-admin-list td.text-end{display:grid!important;width:100%;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:.38rem;justify-content:stretch!important;padding-top:.42rem;border-top:1px solid #e5edf6}html.pwa-standalone .pwa-operating-list .pwa-admin-list td.text-end form,html.pwa-standalone .pwa-organization-list .pwa-admin-list td.text-end form{display:block!important;width:100%}html.pwa-standalone .pwa-operating-list .pwa-admin-list td.text-end .btn,html.pwa-standalone .pwa-organization-list .pwa-admin-list td.text-end .btn{display:flex;width:100%;min-height:34px;align-items:center;justify-content:center;margin:0;padding:.3rem .4rem;border-radius:10px;font-size:.64rem;line-height:1;text-align:center}
    html.pwa-standalone .client-candidate-table .candidate-list-empty { display:block;border:1px dashed #c8d6e5;border-radius:15px;background:#fff; }
    html.pwa-standalone .pwa-configured-types>.table-responsive { overflow:visible; }
    html.pwa-standalone .pwa-configured-types table,html.pwa-standalone .pwa-configured-types tbody { display:block; }
    html.pwa-standalone .pwa-configured-types thead { display:none; }
    html.pwa-standalone .pwa-configured-types tbody { display:grid;gap:.5rem;padding:.65rem; }
    html.pwa-standalone .pwa-configured-types tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .65rem;padding:.7rem;border:1px solid #e0e8f1;border-radius:13px;background:#f8fbff; }
    html.pwa-standalone .pwa-configured-types td { padding:0;border:0; }
    html.pwa-standalone .pwa-configured-types td:nth-child(1) { font-weight:800; }
    html.pwa-standalone .pwa-configured-types td:nth-child(2),html.pwa-standalone .pwa-configured-types td:nth-child(3) { grid-column:1/-1;color:#64748a;font-size:.68rem; }
    html.pwa-standalone .pwa-configured-types td:nth-child(2)::before { content:'Prefix: ';font-weight:700; }
    html.pwa-standalone .pwa-configured-types td:nth-child(3)::before { content:'Form: ';font-weight:700; }
    html.pwa-standalone .pwa-configured-types td:nth-child(4) { grid-column:2;grid-row:1; }
}

@media(max-width:575.98px){html.pwa-standalone .auth-page{align-items:flex-start!important;padding:.65rem!important}html.pwa-standalone .auth-card{width:100%;max-width:390px;border-radius:20px;overflow:hidden}html.pwa-standalone .auth-split-card{display:block}html.pwa-standalone .auth-split-brand{min-height:112px;padding:.8rem 1rem}html.pwa-standalone .auth-split-logo{width:132px;height:auto}html.pwa-standalone .auth-welcome,html.pwa-standalone .auth-split-contact{margin-bottom:.25rem;font-size:.7rem}html.pwa-standalone .auth-home-btn{padding:.25rem .65rem;font-size:.68rem}html.pwa-standalone .auth-split-form{padding:1rem}html.pwa-standalone .auth-role-subtitle{margin-bottom:.75rem;font-size:1rem;font-weight:800}html.pwa-standalone .auth-split-form .form-control-lg{min-height:44px;padding:.55rem .7rem;font-size:.9rem}html.pwa-standalone .auth-split-form .mb-3{margin-bottom:.65rem!important}html.pwa-standalone .auth-split-form .mb-4{margin-bottom:.8rem!important}html.pwa-standalone .auth-help{margin:.75rem 0 .35rem;font-size:.67rem}html.pwa-standalone .auth-terms{margin-bottom:0;font-size:.64rem}}

@media print { .pwa-app-header,.pwa-bottom-nav,.pwa-more-layer,.icard-loading { display:none!important; } }
