/* Common interaction patterns; each app keeps its clinical accent colour. */
body#top[data-ux-input]{--white:var(--surface);--ink:var(--text);--ink-soft:var(--muted);--neutral-200:var(--line);--neutral-300:var(--control-border);--accent:var(--wine);--on-accent:var(--button-text);--nav-bg:var(--surface);--blue-50:var(--blue-soft)}
.ux-navigation,.ux-session-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 24px}
.ux-navigation a,.ux-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--neutral-300,#64748b);border-radius:10px;background:var(--white,#fff);color:var(--ink,#172033);font:600 14px/1.45 var(--font-sans,Arial,sans-serif);cursor:pointer;text-decoration:none}
.ux-navigation .ux-primary{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:var(--on-accent,#fff)}
.ux-session-actions{padding:14px 16px;border:1px solid var(--neutral-300,#64748b);border-left:4px solid var(--accent,#2563eb);border-radius:10px;background:var(--white,#fff);color:var(--ink,#172033)}
.ux-session-actions>span{flex:1;min-width:180px;font-size:14px;line-height:1.6}
.ux-session-actions[hidden],.ux-session-actions [hidden]{display:none!important}
.ux-examples{margin:18px 0 24px;border:1px solid var(--neutral-300,#64748b);border-radius:14px;background:var(--white,#fff)}
.ux-examples>summary{padding:16px 20px;min-height:52px;cursor:pointer;font-size:16px;font-weight:600;color:var(--ink,#172033)}
.ux-examples>section{margin:0!important;border:0!important;border-radius:0 0 14px 14px!important}
.ux-mobile-result{display:none}
.ux-table-scroll{overflow:auto;max-width:100%}
.ux-overview{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.6}
.ux-overview caption{text-align:left;font-size:18px;font-weight:600;padding:0 0 12px;color:var(--ink)}
.ux-overview th,.ux-overview td{padding:12px;border-bottom:1px solid var(--neutral-200);vertical-align:top}
.ux-overview button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:600;min-height:44px;cursor:pointer;text-decoration:underline}
.ux-inline-help{padding:12px 16px;margin:12px 0;border-left:3px solid var(--accent);background:var(--blue-50);color:var(--ink-soft);font-size:14px;line-height:1.65}
.ux-navigation :focus-visible,.ux-session-actions :focus-visible,.ux-examples>summary:focus-visible,.ux-mobile-result a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
body[data-ux-input] :is(.field-hint,.opt-desc,.pc-hint,.pc-section-note,.as-hint,.as-scope,.as-privacy,.rec-note){font-size:max(14px,1em);line-height:1.65}
body[data-ux-input] :is(input,select,textarea){scroll-margin-top:100px}
@media(max-width:800px){
 .ux-has-mobile-result{padding-bottom:84px}
 .ux-mobile-result{display:flex;position:fixed;inset:auto 0 0;z-index:45;gap:12px;align-items:center;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));background:var(--nav-bg,var(--white,#fff));border-top:1px solid var(--neutral-300,#64748b);box-shadow:0 -3px 12px #0001;color:var(--ink,#172033)}
 .ux-mobile-status{flex:1;font-size:13px;line-height:1.4;max-height:3em;overflow:hidden}
 .ux-mobile-result a{display:flex;align-items:center;min-height:44px;color:var(--accent,#2563eb);font-size:14px;font-weight:600;text-decoration:underline;white-space:nowrap}
 .ux-navigation{gap:8px;margin:14px 0 20px}.ux-navigation a{flex:1;padding:10px 12px}
 .ux-session-actions .ux-button{flex:1}.ux-table-scroll{border:1px solid var(--neutral-200);border-radius:10px}
}
@media print{.ux-navigation,.ux-session-actions,.ux-examples,.ux-mobile-result{display:none!important}}

body[data-ux-input] .app-lang button,body[data-ux-input] .theme-btn,body[data-ux-input] .app-theme{min-height:44px;min-width:44px}
