/* Shared styles for the account, library, lesson, admin and legal pages. Same palette as the home page. */
:root{
  --stone:#F4F5F1;--paper:#FFFFFF;--ink:#1D2824;--muted:#5F6D67;--line:#DDE2DC;
  --verde:#008C45;--verde-soft:#E2F2E9;--rosso:#CD212A;--rosso-soft:#FBE6E7;--bianco:#FFFFFF;
  --navy:#1E2B4D;--giallo:#E3A82B;--giallo-soft:#FBF0D3;
  --shadow:0 1px 2px rgba(29,40,36,.06),0 12px 32px -18px rgba(29,40,36,.25);
  --f-it:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --f-ar:"IBM Plex Sans Arabic","Noto Sans Arabic",Tahoma,sans-serif;
  --f-en:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;--f-ui:var(--f-ar);--r:14px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--stone:#111614;--paper:#18201C;--ink:#E7ECE9;--muted:#9DABA4;--line:#2A3530;--verde:#3DBE7A;--verde-soft:#15301F;--rosso:#F0646B;--rosso-soft:#3A1C1F;--bianco:#E9EEEA;--navy:#DCE4F5;--giallo:#F2C55C;--giallo-soft:#3A3118;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 32px -18px rgba(0,0,0,.7);color-scheme:dark}}
:root[data-theme="dark"]{--stone:#111614;--paper:#18201C;--ink:#E7ECE9;--muted:#9DABA4;--line:#2A3530;--verde:#3DBE7A;--verde-soft:#15301F;--rosso:#F0646B;--rosso-soft:#3A1C1F;--bianco:#E9EEEA;--navy:#DCE4F5;--giallo:#F2C55C;--giallo-soft:#3A3118;color-scheme:dark}
html[lang="en"]{--f-ui:var(--f-en)}
*{box-sizing:border-box}
body{margin:0;background:var(--stone);color:var(--ink);font:400 1.02rem/1.75 var(--f-ui);-webkit-font-smoothing:antialiased}
[lang="it"],.it{font-family:var(--f-it);font-style:italic;direction:ltr;unicode-bidi:isolate}
h1,h2,h3{margin:0;color:var(--navy);text-wrap:balance;line-height:1.3;font-weight:600}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.narrow{max-width:520px}

/* header */
.flag{display:flex;height:5px;direction:ltr}.flag i{flex:1}.flag i:nth-child(1){background:var(--verde)}.flag i:nth-child(2){background:var(--bianco);box-shadow:inset 0 -1px 0 var(--line)}.flag i:nth-child(3){background:var(--rosso)}
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--stone) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{text-decoration:none;font:500 1.22rem/1 var(--f-it);font-style:italic;color:var(--ink);white-space:nowrap;direction:ltr}
.top nav{display:flex;gap:18px;margin-inline-start:auto;font-size:.95rem;align-items:center}
.top nav a{text-decoration:none;color:var(--muted)}.top nav a:hover{color:var(--ink)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--paper)}
.lang button{border:0;background:none;font:600 .82rem var(--f-en);color:var(--muted);padding:.35em .8em;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--verde-soft);color:var(--verde)}
@media (max-width:640px){.top nav a.hide-sm{display:none}.top .wrap{gap:10px}.top nav{gap:12px;font-size:.9rem}.brand{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.lang button{padding:.3em .6em}}
@media (max-width:400px){.brand{max-width:110px}}

/* buttons, forms */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1px solid transparent;border-radius:999px;padding:.66em 1.3em;font:600 .98rem var(--f-ui);cursor:pointer;text-decoration:none;background:var(--verde);color:#fff}
.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:var(--paper);border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--verde)}
.btn.small{padding:.38em .9em;font-size:.86rem}
.btn.danger{background:var(--rosso-soft);color:var(--rosso);border-color:transparent}
label{display:grid;gap:4px;font-size:.92rem;font-weight:500}
input,select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.6em .8em;width:100%}
input:focus,select:focus{outline:2px solid var(--verde);outline-offset:1px}
input[type=email],input[type=password]{direction:ltr;text-align:start}
.form{display:grid;gap:14px}
.msg{border-radius:10px;padding:10px 14px;font-size:.94rem}
.msg.err{background:var(--rosso-soft);color:var(--rosso)}
.msg.ok{background:var(--verde-soft);color:var(--verde)}
.msg.info{background:var(--giallo-soft)}
.msg[hidden]{display:none}

/* cards */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px)}
.page{padding-block:clamp(28px,5vw,56px);display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
.muted{color:var(--muted)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tabs button{border:0;background:none;font:600 1rem var(--f-ui);color:var(--muted);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--verde);border-color:var(--verde)}
.chip{display:inline-block;font-size:.76rem;font-weight:600;border-radius:999px;padding:1px 10px;background:var(--verde-soft);color:var(--verde);white-space:nowrap}
.chip.soon{background:var(--giallo-soft);color:color-mix(in srgb,var(--giallo) 65%,var(--ink))}
.chip.off{background:var(--rosso-soft);color:var(--rosso)}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th{font-size:.8rem;color:var(--muted);font-weight:600;text-align:start;background:var(--stone);padding:9px 12px}
td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:top}
.tw{overflow-x:auto}
.foot{padding-block:32px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;margin-top:24px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:16px}
.foot a{color:var(--muted)}
