.app-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 auto 18px;padding:10px 16px;max-width:1280px;border-block:1px solid var(--line);font-size:.875rem}
.app-tools button,.site-footer .footer-action{min-height:40px;padding:6px 10px;border:1px solid var(--line);background:#fff;color:var(--blue);font:inherit;cursor:pointer}
.app-tools button:hover,.site-footer .footer-action:hover{background:#edf3f8}
.app-tools [hidden],.consent-panel[hidden],.planner-onboarding[hidden]{display:none!important}
.app-tools [data-offline]{padding:4px 9px;background:#fff3db;border:1px solid #a46b17;color:#593800}
.app-update{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:8px 10px;background:#f2f5f7}
.app-tools [data-app-status]{flex-basis:100%;margin:0;color:var(--muted);font-size:.8rem}
.app-tools input[data-share-fallback]{flex:1 1 15rem;min-width:10rem;padding:7px;border:1px solid var(--line);font:inherit}
.app-install-help{flex-basis:100%;margin:4px 0;padding:9px 12px;background:#f5f7f8;line-height:1.7}
.install-help-dialog{box-sizing:border-box;width:min(32rem,calc(100vw - 24px));max-height:min(82vh,42rem);overflow:auto;margin:auto;padding:0;border:1px solid #aab8c2;background:#fff;color:var(--ink);box-shadow:0 12px 40px rgba(18,34,46,.2)}
.install-help-dialog::backdrop{background:rgba(18,34,46,.42)}
.install-help-content{padding:18px 20px}
.install-help-content h2{margin:0 0 10px;font-size:1.15rem}
.install-help-content h3{margin:14px 0 6px;font-size:.95rem}
.install-help-content p,.install-help-content li{font-size:.9rem;line-height:1.7}
.install-help-content ol{margin:5px 0;padding-left:22px}
.install-help-content [data-install]{min-height:42px;padding:7px 12px;border:1px solid var(--blue);background:var(--blue);color:#fff;font:inherit;cursor:pointer}
.install-dialog-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.install-dialog-actions button{min-height:42px;padding:6px 14px;border:1px solid var(--line);background:#fff;color:var(--blue);font:inherit;cursor:pointer}
.install-help-content :focus-visible{outline:3px solid #b35433;outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.consent-panel{margin:12px auto 16px;padding:12px 16px;max-width:1280px;border:1px solid #aab8c2;background:#f7f9fa;color:var(--ink)}
.consent-panel h2{margin:0 0 4px;font-size:1rem}
.consent-panel p{margin:5px 0;font-size:.875rem;line-height:1.65}
.consent-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.consent-actions button{min-height:42px;padding:7px 15px;border:1px solid var(--blue);background:#fff;color:var(--blue);font:inherit;cursor:pointer}
.consent-actions button[data-consent-choice="granted"]{background:var(--blue);color:#fff}
.consent-panel :focus-visible,.app-tools :focus-visible,.site-footer .footer-action:focus-visible{outline:3px solid #b35433;outline-offset:3px}
.site-footer .footer-action{margin-top:8px;font-size:.8125rem}
.planner-onboarding{margin:8px 0 18px;padding:12px 16px;border-inline-start:3px solid var(--blue);background:#f5f7f8}
.planner-onboarding h2{margin:0 0 5px;font-size:1rem}
.planner-onboarding ol{margin:5px 0;padding-left:22px;line-height:1.7}
.planner-onboarding button{min-height:40px;padding:5px 10px;background:#fff;border:1px solid var(--line);font:inherit;color:var(--blue);cursor:pointer}
.manual-toc{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 20px;padding:12px 0;border-block:1px solid var(--line);font-size:.9rem}
.manual-toc a{padding:4px 0}
.manual-page section{scroll-margin-top:16px}
.manual-next{margin-top:22px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:540px){.app-tools{padding:9px 12px;gap:6px 8px}.app-tools button{font-size:.82rem}.consent-panel{margin:8px 10px 14px;padding:10px 12px}.consent-actions>*{flex:1 1 120px}.site-footer .footer-action{white-space:normal}.planner-onboarding{padding:10px 12px}.manual-toc{gap:5px 10px;font-size:.84rem}.install-help-content{padding:15px}.install-help-dialog{max-height:82vh}}
@media print{.app-tools,.consent-panel,.planner-onboarding{display:none!important}}
