:root,html[data-font="large"]{--font-micro:10px;--font-small:11px;--font-body:12px;--font-control:14px}
html[data-font="normal"]{--font-micro:9px;--font-small:10px;--font-body:11px;--font-control:13px}
html[data-font="xlarge"]{--font-micro:11px;--font-small:12px;--font-body:14px;--font-control:16px}
.brand-image{width:38px;height:38px;object-fit:contain;border-radius:10px}
.dashboard-company{margin-bottom:14px;padding:14px 17px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px}
.dashboard-brand-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#283a6d,#6873ed);color:#fff;font-size:12px;font-weight:800;overflow:hidden}
.dashboard-brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.dashboard-company span{color:var(--purple);font-size:8px;font-weight:800;letter-spacing:.1em}
.dashboard-company h2{margin:4px 0 0;font-size:16px}
.salary{margin-top:8px;display:flex;align-items:center;gap:8px}
.salary b{color:#27365e;font-size:9px}
.salary small{color:#929cad;font-size:7px}
.settings-panel{max-width:760px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:17px}
.setting-group+.setting-group{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.setting-group h2{margin:0;font-size:15px}
.setting-group>p{margin:5px 0 18px;color:var(--muted);font-size:9px}
.setting-group>label{display:block;color:#657088;font-size:9px;font-weight:700}
.setting-group input[type="text"],.setting-group input:not([type]){width:100%;margin-top:7px;padding:12px;border:1px solid #dfe4ed;border-radius:10px;outline:0}
.setting-group textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #dfe4ed;border-radius:10px;outline:0;resize:vertical;font:inherit;line-height:1.6}.setting-group textarea:focus{border-color:#717bec;box-shadow:0 0 0 3px #5b66e812}.setting-secondary{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#657088;font-size:var(--font-body)}
.voice-directive{margin:8px 0 13px;display:flex;align-items:center;gap:10px}.voice-directive button{padding:10px 13px;border:1px solid #d9def0;border-radius:10px;background:#f3f4ff;color:var(--purple);font-size:var(--font-body);font-weight:800}.voice-directive button.listening{border-color:#ef7777;background:#fff0f1;color:#d84f56;animation:voicePulse 1s infinite}.voice-directive span{color:var(--muted);font-size:var(--font-small)}@keyframes voicePulse{50%{opacity:.55}}@media(max-width:520px){.voice-directive{align-items:flex-start;flex-direction:column}}
.app-version-row{padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:11px;background:#f8f9fc}.app-version-row span{color:#727d90;font-size:var(--font-body)}.app-version-row strong{color:var(--navy);font-size:var(--font-control);text-align:right}@media(max-width:520px){.app-version-row{align-items:flex-start;flex-direction:column}.app-version-row strong{text-align:left}}
.logo-upload{margin-top:8px;padding:12px;display:flex;align-items:center;gap:13px;border:1px dashed #cfd5e2;border-radius:12px}
#logoPreview{width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#eef0ff;color:var(--purple)}
#logoPreview img{width:100%;height:100%;object-fit:contain;background:#fff}
.logo-upload input{display:block;max-width:100%;font-size:8px}
.logo-upload small{display:block;margin:6px 0;color:#98a1b0;font-size:7px}
.logo-upload button{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#738096;font-size:7px}
.font-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.font-options>label{position:relative}
.font-options input{position:absolute;opacity:0}
.font-options span{min-height:70px;padding:13px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.font-options input:checked+span{border-color:var(--purple);background:#f3f4ff;box-shadow:0 0 0 2px #5b66e817}
.font-options b,.font-options em{display:block}
.font-options b{font-size:10px}
.font-options em{margin-top:5px;color:#8f99aa;font-size:8px;font-style:normal}
.settings-save{width:100%;margin-top:22px}
.career{margin:8px 0;padding:7px 9px;display:flex;gap:10px;border-radius:8px;background:#f3f4ff;font-size:8px}.career b{color:var(--purple)}.career span{color:#7d8798}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.policy-grid.three{grid-template-columns:repeat(3,1fr)}.policy-grid label,.policy-rank{margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px}.policy-grid input{width:100%;margin-top:6px;padding:8px;border:1px solid #dfe4ed;border-radius:7px}.policy-rank{grid-column:1/-1;display:grid;grid-template-columns:90px repeat(4,1fr);align-items:end;gap:8px}.policy-rank label{padding:0;border:0}.policy-check{display:block;margin:10px 0;font-size:10px}.policy-check input{margin-right:7px}
.approval-document{width:min(760px,100%);max-height:90vh;overflow:auto}.document-head{padding:8px 0 18px;border-bottom:1px solid var(--line)}.document-head>span{color:var(--purple);font-size:9px;font-weight:800}.document-head h2{margin:7px 0}.document-head p{margin:0;color:var(--muted);font-size:9px}.document-summary{margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.document-summary>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line)}.document-summary>div:last-child{border:0}.document-summary dt,.document-summary dd{margin:0;padding:11px 13px;font-size:10px}.document-summary dt{background:#f7f8fb;color:#727d90;font-weight:700}.document-summary dd{line-height:1.65;white-space:pre-wrap}.document-section{margin-top:18px}.document-section h3{margin:0 0 9px;font-size:12px}.document-staff{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:11px;overflow:hidden}.document-staff li{padding:10px 12px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font-size:9px}.document-staff li:last-child{border:0}.document-staff span{color:var(--muted);text-align:right}.document-reports{display:flex;flex-direction:column;gap:8px}.document-reports article,.final-report{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.document-reports header{display:flex;justify-content:space-between;font-size:9px}.document-reports header span{color:var(--purple)}.document-reports p,.final-report p{margin:8px 0;line-height:1.7;font-size:10px;white-space:pre-wrap}.document-reports small{color:var(--muted);font-size:8px}.document-empty{padding:20px;border:1px dashed #dfe3eb;border-radius:10px;color:var(--muted);text-align:center;font-size:9px}.document-actions{position:sticky;bottom:-27px;margin:22px -27px -27px;padding:14px 27px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:#fff}.document-actions button{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.document-actions .primary{border-color:var(--navy);background:var(--navy)}.decision-result{margin-top:18px;padding:12px;border-radius:10px;background:#e8f8f4;color:#158b78;text-align:center;font-size:10px;font-weight:700}
@media(max-width:850px){
  .bottom-nav button{width:16.666%}
  .font-options{grid-template-columns:1fr}
  .salary{align-items:flex-start;flex-direction:column;gap:3px}
  .policy-grid,.policy-grid.three{grid-template-columns:1fr}.policy-rank{grid-template-columns:1fr 1fr}.policy-rank>b{grid-column:1/-1}
  .approval-document{padding:20px}.document-summary>div{grid-template-columns:92px 1fr}.document-staff li{flex-direction:column}.document-staff span{text-align:left}.document-actions{bottom:-20px;margin:20px -20px -20px;padding:12px 20px}.document-actions button{flex:1}
}

/* Readability profile: enlarge navigation and supporting text without scaling headings. */
.eyebrow,.dashboard-company span,.meeting-card>span,.top-idea b,.org-ceo span,.employee-list span,.meeting-summary>span,.idea-list span{font-size:var(--font-micro)}
.login-card>small,.ceo span,.approval-main span,.status,.approval-main p,.project-main p,.salary small,.logo-upload small,.logo-upload button,.career,.document-reports small{font-size:var(--font-small)}
.login-card>p,.login-card label,.modal-card label,.app header>span,.app header>button,.stats span,.panel-head p,.approval-main h3,.project-main h3,.approval-actions button,.card-actions button,.project-row>strong,.meeting-card>p,.meeting-card>button,.top-idea strong,.empty,.org-ceo p,.employee-list p,.employee-avatar,.employee-list em,.meeting-summary p,.idea-list p,.modal-card>p,.toast,.salary b,.setting-group>p,.setting-group>label,.logo-upload input,.font-options em,.policy-grid label,.policy-rank,.policy-check,.document-head>span,.document-head p,.document-summary dt,.document-summary dd,.document-staff li,.document-reports header,.document-reports p,.final-report p,.document-empty,.decision-result{font-size:var(--font-body)}
.primary,.app nav button span,.ceo b,.font-options b,.document-section h3,.document-actions button{font-size:var(--font-control)}
.app nav button em{font-size:var(--font-small)}
.bottom-nav button span{font-size:var(--font-small)}

@media(max-width:850px){
  .section-title>.primary{font-size:var(--font-body)}
}
.notification-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.notification-options .policy-check{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8f9fc}.app-update-group .update-latest{margin-top:8px}.app-update-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.app-update-group>small{display:block;margin-top:10px;color:var(--muted);font-size:var(--font-body);line-height:1.6}@media(max-width:600px){.notification-options{grid-template-columns:1fr}.app-update-actions .setting-secondary{width:100%}}
