
/* FOC — preferenze visive e strumenti di accessibilità */
:root{--a11y-scale:1;--a11y-bg:#fff;--a11y-surface:#faf9f6;--a11y-text:#233940;--a11y-muted:#67777b;--a11y-line:#e5e8e7;--a11y-panel:#fff}
html{font-size:calc(16px * var(--a11y-scale));scroll-padding-top:24px}
body{background:var(--a11y-bg);color:var(--a11y-text)}
.access-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.a11y-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:42px;min-height:42px;padding:8px 12px;border:1px solid var(--a11y-line);background:var(--a11y-panel);color:var(--a11y-text);font-size:16px;border-radius:3px}
.access-label{font-size:11px;font-weight:700;letter-spacing:.02em}
.access-panel[hidden]{display:none!important}
.access-panel{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);overflow-y:auto;z-index:2000;padding:30px;background:var(--a11y-panel);color:var(--a11y-text);box-shadow:-15px 0 60px #0004;border-left:1px solid var(--a11y-line);font-size:14px}
.access-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.access-panel-head h2{font:400 36px/1.2 Georgia,serif;margin:12px 0;color:var(--a11y-text)}
#access-close{background:transparent;color:inherit;border:1px solid var(--a11y-line);width:42px;height:42px}
.access-intro{line-height:1.65;color:var(--a11y-muted);margin:12px 0 28px}
.access-group{border-top:1px solid var(--a11y-line);padding:21px 0}
.access-group-title{display:block;font-weight:700;margin-bottom:14px;font-size:13px}
.access-buttons{display:flex;flex-wrap:wrap;gap:7px}
.access-buttons button{background:var(--a11y-surface);color:var(--a11y-text);border:1px solid var(--a11y-line);padding:11px 12px;font-size:12px;min-height:44px}
.access-buttons button[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:white}
.access-check{display:flex;align-items:center;gap:12px;min-height:45px;font-size:13px;cursor:pointer}
.access-check input{accent-color:var(--coral);width:20px;height:20px;flex-shrink:0}
.access-panel-bottom{display:flex;gap:10px}
.access-panel-bottom button{padding:14px;border:1px solid var(--a11y-line);color:var(--a11y-text);background:var(--a11y-surface);font-size:12px;font-weight:700;flex:1}
#access-done{background:var(--coral);color:white;border-color:var(--coral)}
.access-note{color:var(--a11y-muted);font-size:11px;line-height:1.6;margin-top:20px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid #df4f41!important;outline-offset:4px!important}
body.a11y-font-large{--a11y-scale:1.125}
body.a11y-font-xlarge{--a11y-scale:1.25}
body.a11y-links a,body.a11y-links .feature button,body.a11y-links .navlink{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px}
body.a11y-spacing{letter-spacing:.055em!important;word-spacing:.13em!important;line-height:1.75}
body.a11y-readable{font-family:Verdana,Arial,sans-serif!important}
body.a11y-readable h1,body.a11y-readable h2,body.a11y-readable h3{font-family:Verdana,Arial,sans-serif!important;letter-spacing:-.025em}
body.a11y-motion *,body.a11y-motion *::before,body.a11y-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* dark mode: preserve FOC coral and dark-teal brand, invert editorial surfaces */
html[data-theme="dark"]{color-scheme:dark;--a11y-bg:#101c21;--a11y-surface:#18282f;--a11y-text:#edf2f1;--a11y-muted:#becbcd;--a11y-line:#40545b;--a11y-panel:#192a31;--ink:#e4eff0;--text:#edf2f1;--muted:#b9c8cb;--paper:#17272e;--line:#40545b;--white:#17272e}
html[data-theme="dark"] body,html[data-theme="dark"] .inner,html[data-theme="dark"] .hero,html[data-theme="dark"] .statement{background:var(--a11y-surface);color:var(--a11y-text)}
html[data-theme="dark"] .header,html[data-theme="dark"] .nav,html[data-theme="dark"] .workspace,html[data-theme="dark"] .chat,html[data-theme="dark"] .admin,html[data-theme="dark"] .admin-body,html[data-theme="dark"] .dash,html[data-theme="dark"] .phone{background:var(--a11y-bg);color:var(--a11y-text)}
html[data-theme="dark"] .utility,html[data-theme="dark"] footer,html[data-theme="dark"] .feature-dark,html[data-theme="dark"] .qr-card,html[data-theme="dark"] .admin-nav{background:#091317;color:#f3f6f5}
html[data-theme="dark"] .feature-dark h3,html[data-theme="dark"] .qr-card h3,html[data-theme="dark"] footer p{color:#f3f6f5}
html[data-theme="dark"] .feature-light,html[data-theme="dark"] .workspace-side,html[data-theme="dark"] .admin-stats>div,html[data-theme="dark"] .message.bot{background:#263941;color:#edf2f1}
html[data-theme="dark"] .hero-art{background:#263940}
html[data-theme="dark"] .art-word{color:#fa7c6e}
html[data-theme="dark"] .art-note,html[data-theme="dark"] .art-count{color:#e3eaea}
html[data-theme="dark"] .hero h1,html[data-theme="dark"] .intro h2,html[data-theme="dark"] .statement h2,html[data-theme="dark"] .inner-head h1,html[data-theme="dark"] .workspace-side h3,html[data-theme="dark"] .admin-header h3,html[data-theme="dark"] .dash-top strong,html[data-theme="dark"] .phone h3{color:#edf2f1}
html[data-theme="dark"] .hero h1 em,html[data-theme="dark"] .inner-head h1 em,html[data-theme="dark"] .intro h2 em,html[data-theme="dark"] .statement h2 em{color:#fa897b}
html[data-theme="dark"] .btn.primary,html[data-theme="dark"] .message.user{background:#345b69;color:white;border-color:#345b69}
html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] .suggestion,html[data-theme="dark"] .chat-compose{color:#edf2f1;border-color:#6e858d}
html[data-theme="dark"] .navlink{color:#d7e3e4}
html[data-theme="dark"] .navlink.active{color:#ff9485}
html[data-theme="dark"] .feature-coral{background:#a83229;color:white}
html[data-theme="dark"] .feature-light{color:#edf2f1}
html[data-theme="dark"] .feature-light h3{color:#edf2f1}
html[data-theme="dark"] .phone-top,html[data-theme="dark"] .phone-content{color:#edf2f1}
html[data-theme="dark"] .phone-ai,html[data-theme="dark"] .chat-compose button{background:#b93d32}
html[data-theme="dark"] .admin-item.selected{background:#fff2}
html[data-theme="dark"] .dash-kpis>div,html[data-theme="dark"] .dash-lower>div,html[data-theme="dark"] .admin-table{border-color:#40545b}
html[data-theme="dark"] .brand img,html[data-theme="dark"] footer img,html[data-theme="dark"] .admin-nav img{background:#fff;border-radius:2px}
html[data-theme="dark"] .nav.open{background:#101c21}
body.a11y-contrast{--a11y-muted:#293f49;--a11y-line:#172f39}
body.a11y-contrast .navlink,body.a11y-contrast .lead,body.a11y-contrast .intro p,body.a11y-contrast .inner-head p{color:var(--a11y-text)!important}
body.a11y-contrast .btn,body.a11y-contrast .suggestion,body.a11y-contrast .access-buttons button{border-width:2px}
html[data-theme="dark"] body.a11y-contrast{--a11y-muted:#fff;--a11y-line:#fff}
html[data-theme="dark"] body.a11y-contrast .lead,html[data-theme="dark"] body.a11y-contrast .intro p,html[data-theme="dark"] body.a11y-contrast .inner-head p{color:#fff!important}
@media(max-width:1250px){.access-label{display:none}.access-actions{gap:4px}.a11y-icon{padding:7px;min-width:40px}}
@media(max-width:800px){.access-actions{margin-left:auto}.mobile-menu{margin-left:0}.nav{top:114px}.access-panel{padding:22px}}

/* V4: icone coordinate all'identità FOC, pulsanti sobri e riconoscibili */
.access-actions{gap:10px}.a11y-icon{position:relative;border-radius:999px;width:46px;height:46px;padding:0;transition:background .18s ease,border-color .18s ease,transform .18s ease;border-color:#d9dfdd}.a11y-icon svg{width:21px;height:21px;flex:none}.a11y-icon:hover{background:#fbeae7;border-color:#df4f41;color:#ba3b30;transform:translateY(-1px)}.access-trigger{width:auto;padding:0 16px;gap:9px;border-color:#df4f41;color:#df4f41}.access-trigger svg{width:22px;height:22px}.access-label{font-size:12px;letter-spacing:.02em;font-weight:700}.access-buttons button{display:inline-flex;align-items:center;gap:6px;border-radius:5px}.access-buttons svg{width:16px;height:16px;flex:none}#access-close{display:grid;place-items:center;border-radius:50%;flex:none}#access-close svg{width:20px;height:20px}html[data-theme="dark"] .a11y-icon:hover{background:#334951;color:#ff9d90}html[data-theme="dark"] .access-trigger{border-color:#fa897b;color:#fa897b}@media(max-width:1200px){.access-label{display:none}.access-trigger{width:46px;padding:0}.access-actions{gap:7px}}@media(max-width:800px){.a11y-icon{width:42px;height:42px}.access-trigger{width:42px}.access-actions{gap:5px}}
