/* DYVN mobile workspace. This screen-only layer does not change PDF printing. */
.mobile-tabs,.mobile-report-tools,.mobile-menu-backdrop,.mobile-record-toggle-cell { display:none; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); cursor:pointer; }
.mobile-explainer > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; font-weight:650; }
.mobile-explainer > summary::before { content:'+'; font-size:1.2rem; }
.mobile-explainer[open] > summary::before { content:'−'; }
.mobile-explainer > p { margin:8px 0 0; }
.report-section-links { display:grid; gap:6px; }
.report-section-links button { display:flex; gap:12px; align-items:center; padding:12px; min-height:48px; text-align:left; border:0; border-radius:10px; background:var(--page); color:var(--text); font-size:16px; cursor:pointer; }
.report-section-links svg { flex:0 0 24px; }
@media screen and (min-width:900px) {
  .mobile-explainer > summary { display:none; }
}
@media screen and (max-width:899px) {
  :root { --nav-h:64px; --mobile-tabs-height:74px; }
  html { font-size:16px; scroll-padding-top:80px; scroll-padding-bottom:100px; }
  body { font-size:16px; line-height:1.55; background:#f3f6f8; }
  body.has-mobile-tabs { padding-bottom:calc(var(--mobile-tabs-height) + env(safe-area-inset-bottom)); }
  body.has-mobile-report-tools { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  body.modal-open,body.menu-open { overflow:hidden; }
  #app.view-enter > * { animation:none; transform:none; }
  h1,h2,h3,p { overflow-wrap:break-word; }
  .btn,.btn-sm,.ghost-btn,.ghost-btn-sm,.btn-lg { min-height:46px; min-width:44px; padding:11px 16px; font-size:16px; line-height:1.35; white-space:normal; }
  .btn svg,.ghost-btn svg { width:20px; height:20px; flex-shrink:0; }
  .btn:focus-visible,.ghost-btn:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible { outline:3px solid #9f7020; outline-offset:3px; }
  .shell { height:calc(64px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left)); gap:8px; background:#0b1728; border-bottom:1px solid #26354b; backdrop-filter:none; }
  .brand { gap:8px; min-width:0; font-size:16px; }
  .brand-icon { width:32px; height:32px; border-radius:8px; box-shadow:none; flex-shrink:0; }
  .brand-text strong { font-size:16px; letter-spacing:.035em; }
  .brand-text small,.brand-beta { display:none; }
  .shell-right { margin-left:auto; gap:0; }
  .shell-right .top-nav { display:none; }
  .lang-switch button { min-height:44px; width:38px; min-width:38px; padding:0; font-size:12px; color:#d1d9e4; }
  .lang-switch button.active { color:#f5dfaa; }
  .lang-divider { margin:0; color:#687992; }
  .hamburger { display:flex; min-height:44px; min-width:44px; padding:10px; color:#f5dfaa; border-radius:8px; }
  .hamburger[aria-expanded="true"] { background:#24344b; }
  .mobile-nav { top:calc(64px + env(safe-area-inset-top)); bottom:0; left:auto; right:0; width:min(360px,100%); padding:16px 16px calc(20px + env(safe-area-inset-bottom)); z-index:111; background:#fff; color:var(--text); border:0; box-shadow:-12px 0 32px rgba(5,15,30,.18); overflow-y:auto; overscroll-behavior:contain; transform:translateX(100%); gap:0; }
  .mobile-nav.open { transform:translateX(0); }
  .mobile-menu-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--border); }
  .mobile-menu-head h2 { font-size:22px; line-height:1.25; }
  .mobile-menu-account { display:grid; gap:4px; padding:16px 0; border-bottom:1px solid var(--border); }
  .mobile-menu-account strong { font-size:16px; overflow-wrap:anywhere; }
  .mobile-menu-account span { font-size:14px; color:#526177; }
  .mobile-menu-links { display:grid; gap:4px; padding-top:12px; }
  .mobile-menu-links a { display:flex; align-items:center; gap:14px; min-height:50px; padding:11px 12px; color:#21344f; border-radius:10px; font-size:16px; }
  .mobile-menu-links a[aria-current="page"] { background:#fbedcb; color:#13243b; font-weight:700; }
  .mobile-menu-links a[href="#/logout"] { margin-top:8px; border-top:1px solid var(--border); border-radius:0; }
  .mobile-menu-backdrop { position:fixed; inset:calc(64px + env(safe-area-inset-top)) 0 0; z-index:110; background:rgba(5,15,30,.48); }
  .menu-open .mobile-menu-backdrop { display:block; }
  .has-mobile-tabs .mobile-tabs { display:flex; }
  .mobile-tabs { position:fixed; bottom:0; left:0; right:0; z-index:105; align-items:stretch; justify-content:space-around; min-height:74px; padding:5px 6px calc(5px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #d8e1eb; box-shadow:0 -3px 16px rgba(18,36,59,.05); }
  .mobile-tab { position:relative; display:flex; flex:1 1 0; align-items:center; justify-content:center; flex-direction:column; min-width:0; min-height:62px; gap:4px; border:0; background:transparent; color:#526177; text-align:center; cursor:pointer; padding:7px 2px 3px; line-height:1.2; }
  .mobile-tab svg { width:23px; height:23px; }
  .mobile-tab span { font-size:11px; font-weight:650; white-space:nowrap; }
  .mobile-tab.active { color:#13243b; }
  .mobile-tab.active svg { color:#9f7020; }
  .mobile-tab.active::before { content:''; position:absolute; top:1px; left:calc(50% - 10px); height:3px; width:20px; border-radius:2px; background:#c99a3d; }
  body:has(input:not([type="checkbox"]):not([type="radio"]):focus) .mobile-tabs,body:has(textarea:focus) .mobile-tabs { display:none; }
  .dash-layout { display:block; min-height:0; }
  .dash-sidebar { display:none; }
  .dash-main { width:100%; min-width:0; padding:22px 16px 28px; overflow:visible; }
  .dash-head { margin:0 0 22px; padding:0; border:0; }
  .dash-head h1 { font-size:25px; line-height:1.25; margin:0 0 8px; letter-spacing:-.02em; }
  .dash-head p { font-size:15px; line-height:1.55; color:#526177; }
  .back-link { display:inline-flex; align-items:center; min-height:44px; margin:0 0 12px; font-size:14px; color:#435166; }
  .metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 24px; }
  .metrics[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card { padding:14px 10px; border:1px solid #dce3ea; border-radius:12px; background:#fff; text-align:left; box-shadow:none; min-width:0; }
  .metric-card .metric-val { font-size:25px; line-height:1.15; font-weight:750; letter-spacing:-.025em; overflow-wrap:anywhere; }
  .metric-card .metric-lbl { font-size:11px; line-height:1.45; letter-spacing:.025em; margin-top:7px; color:#526177; }
  .dash-panel { padding:0; margin:0 0 28px; border:0; border-radius:0; box-shadow:none; background:transparent; }
  .dash-panel-head { display:flex; flex-direction:column; align-items:stretch; gap:14px; margin:0 0 14px; }
  .dash-panel h3,.dash-panel-head h3 { font-size:19px; line-height:1.35; margin:0 0 6px; color:#13243b; }
  .dash-panel-head p,.dash-panel > p { color:#526177; font-size:15px; line-height:1.55; margin:0 0 10px; }
  .dash-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; }
  .dash-panel-head > .dash-actions,.dash-panel > .dash-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .dash-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; text-align:center; min-width:0; }
  .dash-actions .btn:only-child { grid-column:1/-1; }
  .credit-card { display:flex; flex-direction:column; align-items:stretch; gap:18px; border:0; border-radius:14px; background:#13243b; padding:20px; margin:0 0 24px; box-shadow:none; }
  .credit-card .credit-value { font-size:36px; line-height:1.1; letter-spacing:-.025em; color:#f0cf80; overflow-wrap:anywhere; }
  .credit-card p { font-size:15px; line-height:1.55; color:#d4deea; margin:10px 0 0; }
  .credit-card .dash-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .credit-card .btn-navy { border:1px solid #90a0b7; color:#fff; background:#1f3656; }
  .credit-card .btn-outline { color:#f5dfaa; border-color:#b99a56; background:transparent; }
  .credit-card .mini-stats { display:flex; gap:8px 14px; margin-top:12px; }
  .credit-card .mini-stats span { padding:0; background:transparent; border:0; border-radius:0; color:#d4deea; font-size:13px; }
  .balance-identity { font-size:14px; line-height:1.5; margin:0 0 14px; color:#435166; }
  .mobile-explainer { font-size:15px; line-height:1.55; margin:0 0 16px; color:#435166; }
  .mobile-explainer summary { color:#21344f; font-size:14px; min-height:44px; }
  .credit-card .mobile-explainer { margin:10px 0 0; color:#d4deea; }
  .credit-card .mobile-explainer summary { color:#f5dfaa; }
  .mini-stats { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
  .mini-stats span { min-width:0; max-width:100%; padding:8px 10px; font-size:13px; overflow-wrap:anywhere; }
  .notice-card { border:1px solid #cbd6e7; border-radius:12px; padding:16px; background:#eef3fa; color:#21344f; }
  .notice-card p { color:#435166; font-size:15px; }
  .empty-state { padding:20px 16px; border:1px solid var(--border); border-radius:12px; background:#fff; color:#526177; font-size:15px; }
  .dash-main .table-wrap { border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
  .dash-main .mobile-data-table { display:block; min-width:0; width:100%; table-layout:auto; }
  .dash-main .mobile-data-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .dash-main .mobile-data-table tbody { display:grid; gap:12px; }
  .dash-main .mobile-data-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; margin:0; padding:16px; border:1px solid #dce3ea; border-radius:12px; background:#fff; }
  .dash-main .mobile-data-table tr:hover td { background:transparent; }
  .dash-main .mobile-data-table td.record-cell { position:static; display:block; min-width:0; max-width:none; width:auto; padding:0; border:0; box-shadow:none; white-space:normal; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
  .dash-main .mobile-data-table td.record-cell::before { content:attr(data-label); display:block; margin:0 0 4px; color:#526177; font-size:12px; font-weight:600; line-height:1.4; letter-spacing:0; text-transform:none; }
  .dash-main .mobile-data-table td.record-name { grid-column:1/-1; font-size:17px; font-weight:650; }
  .dash-main .mobile-data-table td.record-name::before,.dash-main .mobile-data-table td.record-email::before,.dash-main .mobile-data-table td.record-actions::before { display:none; }
  .dash-main .mobile-data-table td.record-email { grid-column:1/-1; color:#526177; margin-top:-9px; font-size:14px; }
  .dash-main .mobile-data-table td.record-secondary { display:none; }
  .dash-main .mobile-data-table .mobile-row-expanded td.record-secondary { display:block; }
  .dash-main .mobile-data-table tr:not(.mobile-row-expanded) .tech-mini { display:none; }
  .dash-main .mobile-data-table td.record-actions { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; order:11; margin-top:2px; }
  .dash-main .mobile-data-table .record-actions .btn { flex:1 1 calc(50% - 8px); display:inline-flex; justify-content:center; align-items:center; min-height:44px; margin:0; padding:10px 12px; font-size:14px; }
  .dash-main .mobile-data-table .mobile-record-toggle-cell { display:block; grid-column:1/-1; order:10; padding:0; border:0; box-shadow:none; }
  .mobile-record-toggle { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:44px; padding:8px 0; border:0; border-top:1px solid #e4eaf1; background:transparent; color:#435166; font-size:14px; cursor:pointer; }
  .mobile-record-toggle svg { width:18px; height:18px; }
  .mobile-record-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .dash-main .mobile-data-table .technical-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .table-pagination { flex-direction:column; align-items:stretch; gap:12px; margin-top:16px; font-size:14px; }
  .table-pagination > div { display:flex; justify-content:space-between; align-items:center; width:100%; }
  .table-pagination .btn { min-height:44px; }
  .registry-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; margin:0 0 16px; background:#fff; border:1px solid var(--border); border-radius:12px; }
  .registry-search { grid-column:1/-1; }
  .registry-field,.registry-search { min-width:0; }
  .registry-controls label { font-size:14px; }
  .registry-actions { display:flex; flex-wrap:wrap; gap:8px; }
  .registry-actions .btn { flex:1 1 calc(50% - 8px); }
  .auth-screen { min-height:calc(100dvh - 64px); padding:28px 20px 40px; align-items:flex-start; }
  .auth-card { width:100%; max-width:480px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .auth-card h1 { font-size:26px; line-height:1.25; margin:0 0 12px; }
  .auth-card .subtitle { font-size:16px; line-height:1.6; margin-bottom:24px; color:#526177; }
  .auth-switch { font-size:15px; margin-top:16px; }
  .auth-switch a { display:inline-flex; align-items:center; min-height:44px; color:#795411; font-weight:650; }
  .form-grp { min-width:0; margin-bottom:18px; }
  .form-grp label { font-size:15px; line-height:1.45; margin-bottom:7px; }
  .form-grp input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.form-grp select { width:100%; min-height:48px; padding:11px 12px; font-size:16px; line-height:1.45; border-radius:10px; }
  .form-grp textarea { width:100%; min-height:110px; font-size:16px; line-height:1.5; padding:12px; border-radius:10px; }
  input,select,textarea { font-size:16px; accent-color:#9f7020; }
  .form-row,.profile-form-grid,.access-form-grid,.pay-grid { display:grid; grid-template-columns:1fr; gap:0; }
  .form-grp.wide,.profile-form-grid .wide { grid-column:auto; }
  .access-card,.profile-card-form { padding:0; }
  .access-card .voucher-field { padding:16px; background:#fff8e8; border:1px solid #ddcfad; border-radius:12px; }
  .voucher-inline { display:flex; flex-direction:column; gap:10px; }
  .voucher-inline .btn { width:100%; }
  .access-help { padding:18px 0; border:0; border-top:1px solid var(--border); background:transparent; }
  .access-help h3 { font-size:18px; }
  .access-help p,.access-choice-note,.required-note { font-size:14px; }
  .profile-step { padding:0; margin:0 0 12px; background:transparent; border:0; font-size:13px; color:#795411; }
  .profile-context { padding:14px; margin:0 0 22px; background:#fff; border:1px solid var(--border); border-radius:10px; }
  .profile-context strong,.profile-context span { font-size:14px; }
  .profile-optional { margin:12px 0 20px; }
  .profile-optional summary { min-height:44px; font-size:16px; }
  .consent-box,.check-row { min-height:48px; padding:12px; font-size:14px; line-height:1.6; }
  .consent-box input,.check-row input { width:20px; height:20px; flex-shrink:0; }
  .profile-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .app-modal { padding:12px 0 0; align-items:flex-end; backdrop-filter:none; background:rgba(5,15,30,.56); animation:none; }
  .app-modal-panel { display:flex; flex-direction:column; width:100%; max-width:640px; max-height:calc(var(--visual-viewport-height,100dvh) - 12px - env(safe-area-inset-top)); margin:0 auto; border:0; border-radius:18px 18px 0 0; overflow:hidden; animation:none; box-shadow:0 -8px 32px rgba(5,15,30,.16); }
  .app-modal-head { flex-shrink:0; gap:12px; padding:16px; background:#fff; border-bottom:1px solid var(--border); }
  .app-modal-head h3 { font-size:20px; line-height:1.3; margin:0; }
  .modal-close { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:10px; border:1px solid #c6d0dc; border-radius:10px; color:#435166; }
  .modal-close svg { width:22px; height:22px; }
  .app-modal-body { overflow-y:auto; overscroll-behavior:contain; padding:20px 16px 0; background:#fff; }
  .app-modal-body .modal-note { font-size:15px; line-height:1.55; margin:0 0 20px; }
  .app-modal-body .modal-actions { position:sticky; bottom:0; z-index:2; display:grid; grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr); gap:10px; padding:14px 16px calc(14px + env(safe-area-inset-bottom)); margin:20px -16px 0; background:#fff; border-top:1px solid var(--border); }
  .modal-actions button { width:100%; }
  .modal-actions .ghost-btn { border:1px solid #8391a3; border-radius:10px; background:#fff; color:#21344f; text-decoration:none; }
  .app-modal-body .secure-note,.app-modal-body .secure-note p { font-size:14px; }
  .app-modal-body .check-row { margin-bottom:16px; }
  .test-wrap.assessment-flow { padding:22px 16px 100px; }
  .assessment-flow .test-head h1 { font-size:24px; line-height:1.3; margin:0 0 14px; }
  .assessment-meta { gap:8px; font-size:13px; line-height:1.5; }
  .assessment-flow .progress-bar { margin:12px 0 16px; height:5px; }
  .assessment-help { margin:0 0 18px; }
  .assessment-help summary { min-height:44px; font-size:15px; }
  .assessment-flow .question-card { padding:18px 14px; border:1px solid var(--border); border-radius:12px; box-shadow:none; }
  .assessment-question legend { font-size:18px; line-height:1.45; }
  .assessment-question-note { font-size:15px; line-height:1.55; margin:12px 0 18px; }
  .assessment-flow .choice-item { padding:14px 10px; min-height:72px; gap:10px; }
  .assessment-flow .choice-text { font-size:18px; line-height:1.5; }
  .assessment-flow .choice-letter { width:24px; height:24px; min-width:24px; font-size:12px; }
  .assessment-flow .choice-indicator { width:24px; height:24px; min-width:24px; }
  .assessment-flow .question-card .question-nav { position:fixed; bottom:0; left:0; right:0; z-index:104; display:grid; grid-template-columns:1fr 1.4fr; gap:12px; margin:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #d8e1eb; background:#fff; }
  .assessment-flow .question-nav .ghost-btn { border:1px solid #8391a3; border-radius:10px; color:#21344f; background:#fff; }
  .assessment-selection-status,.assessment-session-note { font-size:13px; line-height:1.55; }
  .assessment-intro { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
  .assessment-intro h1 { font-size:26px; }
  .assessment-intro .btn { width:100%; margin-top:20px; }
  .assessment-guide-grid { display:grid; grid-template-columns:1fr; gap:12px; }
  .assessment-guide-grid > div { padding:16px; }
  .report-route #app { background:#fff; }
  .report.report-ten-pages { width:100%; max-width:none; padding:0 18px 32px; }
  .report-ten-pages .report-sheet { width:100%; min-height:0; height:auto; margin:0; padding:30px 0; border:0; border-bottom:1px solid #dce3ea; border-radius:0; box-shadow:none; overflow:visible; }
  .report-ten-pages .report-cover { padding-top:24px; }
  .report-ten-pages .report-brand { margin-bottom:20px; }
  .report-ten-pages .report-brand img { width:28px; height:28px; }
  .report-document-title { font-size:16px; line-height:1.5; }
  .report-document-deck { font-size:14px; margin:10px 0 20px; }
  .report-ten-pages .report-cover h1 { font-size:28px; line-height:1.25; margin:20px 0 12px; }
  .report-ten-pages .rc-subtitle { font-size:16px; line-height:1.6; }
  .report-ten-pages .report-cover-visual { min-height:0; height:auto; margin:20px 0; }
  .report-ten-pages .report-cover-image { width:170px; height:190px; max-width:100%; object-fit:contain; margin:auto; }
  .report-ten-pages .rc-participant { padding:14px 0; }
  .report-ten-pages .rc-participant strong { font-size:19px; }
  .report-cover-note { font-size:14px; line-height:1.6; }
  .report-ten-pages .chapter-heading { gap:12px; margin-bottom:20px; }
  .report-ten-pages .chapter-title { font-size:23px; line-height:1.3; }
  .report-ten-pages .chapter-intro { font-size:16px; line-height:1.65; margin-top:12px; }
  .report-ten-pages .report-symbol { width:36px; height:36px; min-width:36px; border-radius:10px; }
  .report-ten-pages .report-symbol svg { width:23px; height:23px; }
  .report-ten-pages p,.report-ten-pages li { font-size:16px; line-height:1.65; }
  .report-ten-pages .report-journey-map { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .report-ten-pages .report-journey-map > div { padding:14px; }
  .report-ten-pages .insight-grid,.report-ten-pages .report-compact-grid,.report-ten-pages .thirty-day-grid { grid-template-columns:1fr; gap:14px; }
  .report-ten-pages .insight-card,.report-ten-pages .scripture-card,.report-ten-pages .highlight-box,.report-ten-pages .reflection-box { padding:18px; border-radius:12px; }
  .report-ten-pages .character-type-heading { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
  .report-ten-pages .gob-main-card { padding:18px; flex-direction:column; align-items:flex-start; gap:14px; }
  .report-ten-pages .gob-sensory-row { grid-template-columns:1fr; }
  .report-ten-pages .report-page-marker { margin-bottom:20px; }
  .report-ten-pages .report-final-actions .btn { width:100%; }
  .report-ten-pages .technical-result-grid { grid-template-columns:1fr 1fr; }
  .has-mobile-report-tools .mobile-report-tools { display:grid; grid-template-columns:1fr 1.4fr; gap:10px; }
  .mobile-report-tools { position:fixed; bottom:0; left:0; right:0; z-index:105; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #dce3ea; }
  .mobile-report-tools .btn { display:flex; align-items:center; justify-content:center; gap:8px; }
  .report-sheet { scroll-margin-top:80px; }
  .dyvn-landing .story-hero { min-height:0; padding:0; }
  .dyvn-landing .story-hero-inner { padding:56px 20px 40px; min-height:0; }
  .dyvn-landing .story-kicker { display:none; }
  .dyvn-landing .story-hero h1 { max-width:330px; font-size:36px; line-height:1.15; letter-spacing:-.025em; }
  .dyvn-landing .story-hero p { font-size:16px; line-height:1.65; margin:22px 0; max-width:36ch; }
  .dyvn-landing .story-actions { display:grid; gap:12px; margin-top:24px; }
  .dyvn-landing .story-actions .btn { width:100%; }
  .dyvn-landing .story-text-link { display:flex; align-items:center; min-height:44px; font-size:15px; }
  .dyvn-landing .story-proof { display:grid; gap:8px; margin-top:20px; font-size:13px; }
  .dyvn-landing .dimension-line { grid-template-columns:1fr 1fr; padding:24px 20px; gap:24px 18px; }
  .dyvn-landing .dimension-line > div { padding:0; border:0; }
  .dyvn-landing .dimension-line small { font-size:14px; line-height:1.6; }
  .dyvn-landing .story-section { padding:48px 0; }
  .dyvn-landing .story-split,.dyvn-landing .companion-layout { display:flex; flex-direction:column; gap:28px; }
  .dyvn-landing .container { padding-left:20px; padding-right:20px; }
  .dyvn-landing .story-copy h2 { font-size:28px; line-height:1.25; }
  .dyvn-landing .story-copy p { font-size:16px; line-height:1.7; }
  .dyvn-landing .story-media { width:100%; min-height:0; }
  .dyvn-landing .story-video { width:100%; height:220px; object-fit:cover; }
  .dyvn-landing .companion-section { padding:48px 0; }
  .dyvn-landing .companion-slides { min-height:0; }
  .toast { bottom:calc(18px + env(safe-area-inset-bottom)); left:16px; right:16px; max-width:none; width:auto; transform:none; font-size:14px; line-height:1.5; padding:14px 16px; border-radius:12px; box-shadow:0 6px 18px rgba(5,15,30,.14); }
  .has-mobile-tabs .toast,.has-mobile-report-tools .toast,.assessment-route .toast { bottom:calc(88px + env(safe-area-inset-bottom)); }
  .shell-footer { font-size:12px; padding:20px 16px; }
}
@media screen and (max-width:359px) {
  .dash-main { padding-left:12px; padding-right:12px; }
  .metric-card .metric-val { font-size:22px; }
  .metric-card .metric-lbl { font-size:10px; }
  .mobile-tab span { font-size:10px; }
  .dash-panel-head > .dash-actions { grid-template-columns:1fr; }
  .credit-card { padding:18px; }
  .credit-card .credit-value { font-size:32px; }
  .credit-card .dash-actions { grid-template-columns:1fr; }
  .mobile-report-tools { padding-left:12px; padding-right:12px; }
  .report-ten-pages .report-journey-map { grid-template-columns:1fr; }
}

/* Confirmation fixes: control size, disclosure, and compact metadata. */
@media screen and (min-width:900px) {
  .mobile-registry-filters,.registry-filter-fields { display:contents; }
  .mobile-registry-filters > summary { display:none; }
}
@media screen and (max-width:899px) {
  .shell .brand-beta { display:none !important; }
  .lang-switch button { width:44px; min-width:44px; }
  .metric-card .metric-val.metric-text { font-size:16px; line-height:1.4; letter-spacing:0; }
  .mobile-data-table .badge { white-space:normal; max-width:100%; line-height:1.4; overflow-wrap:break-word; }
  .mobile-report-tools .btn-outline,.auth-card .btn-outline { color:#21344f; border-color:#8391a3; background:#fff; }
  .app-modal-head h3:focus { outline:none; }
  .mobile-explainer > summary::before { display:none; content:none; }
  .mobile-explainer > summary { justify-content:space-between; }
  .mobile-explainer > summary svg { width:18px; height:18px; flex:0 0 18px; transition:transform 150ms ease; }
  .mobile-explainer[open] > summary svg { transform:rotate(180deg); }
  .mobile-registry-filters { grid-column:1/-1; margin:0; }
  .mobile-registry-filters > summary { font-size:15px; border-top:1px solid var(--border); }
  .registry-filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:12px; }
  select[data-action="registry-page-size"] { min-height:44px; min-width:64px; padding:8px; border:1px solid #a7b5c6; border-radius:8px; background:#fff; font-size:16px; }
  .assessment-flow .question-card .question-nav > [data-action="prev-question"] { grid-column:1; grid-row:1; order:0; }
  .assessment-flow .question-card .question-nav > [data-action="next-question"] { grid-column:2; grid-row:1; order:0; }
  .dimension-symbol svg { width:26px; height:26px; }
}

@media screen and (max-width:899px) {
  .registry-controls input,.registry-controls select { min-height:46px; font-size:16px; }
  .mobile-tab span { font-size:12px; }
  .metric-card .metric-lbl { font-size:12px; }
}
@media screen and (max-width:359px) {
  .mobile-tab span,.metric-card .metric-lbl { font-size:11px; }
}
@media screen and (max-width:899px) and (max-height:500px) {
  :root { --mobile-tabs-height:60px; }
  .mobile-tabs { min-height:60px; padding-top:3px; padding-bottom:calc(3px + env(safe-area-inset-bottom)); }
  .mobile-tab { min-height:50px; gap:2px; padding-top:5px; }
  .mobile-tab svg { width:20px; height:20px; }
  .mobile-tab span { font-size:11px; }
}

@media screen and (max-width:899px) {
  .dash-main .mobile-data-table td.record-secondary { order:3; }
  .dash-main .mobile-data-table .mobile-record-toggle-cell { order:2; }
  .dash-main .mobile-data-table td.record-actions { order:4; }
  :where(button,a[href],input,select,textarea) { scroll-margin-top:84px; scroll-margin-bottom:100px; }
}

@media screen and (max-width:899px){.toast.show{transform:none}}
