/* MiaScheda · identità condivisa (app cliente, pannello trainer, pagine pubbliche) */
:root{
  --bg:#111A2B; --panel:#1A2538; --panel2:#22304A; --line:#2E3E5C;
  --ink:#F3EEE3; --ink2:#AEB8C9; --ink3:#6F7C94;
  --acc:#FF7A1A; --acc2:#FFB067; --acc-ink:#1A1000; --acc-soft:#3A2A1A;
  --ok:#4FD1A0; --ok-ink:#03251A; --warn:#F35B5B;
  --r:14px; --tap:60px;
  color-scheme:dark;
}
/* tema chiaro: stessi ruoli, colori invertiti con contrasto verificato */
:root[data-theme="light"]{
  --bg:#F1F3F7; --panel:#FFFFFF; --panel2:#E7EBF2; --line:#D3DAE6;
  --ink:#111A2B; --ink2:#485470; --ink3:#7A8499;
  --acc:#E4650A; --acc2:#B8500A; --acc-ink:#FFFFFF; --acc-soft:#FDEBDD;
  --ok:#1B9468; --ok-ink:#FFFFFF; --warn:#C93A3A;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg); color:var(--ink);
  font-family:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:19px; line-height:1.4;
  -webkit-tap-highlight-color:transparent; overscroll-behavior:none;
  -webkit-font-smoothing:antialiased;
}
.cond,h1,h2,h3{font-family:"Barlow Condensed","Barlow",system-ui,sans-serif}
h1{font-weight:800;font-size:42px;line-height:1;letter-spacing:.5px;text-wrap:balance}
h2{font-weight:700;font-size:28px;line-height:1.05}
h3{font-weight:700;font-size:22px;line-height:1.1}
a{color:var(--acc2)}
.sub{color:var(--ink2);font-size:17px}
.muted{color:var(--ink3)}
.row{display:flex;align-items:center;gap:10px}
.grow{flex:1;min-width:0}
.stack>*+*{margin-top:12px}
.hidden{display:none!important}

button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.btn{min-height:var(--tap);padding:0 20px;border-radius:var(--r);font-weight:600;font-size:20px;
     display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;text-decoration:none}
.btn.primary{background:var(--acc);color:var(--acc-ink)}
.btn.ghost{background:var(--panel);border:1px solid var(--line);color:var(--ink)}
.btn.danger{background:none;color:var(--warn);border:1px solid var(--warn)}
.btn.small{min-height:48px;font-size:18px;padding:0 16px;width:auto}
.btn.tiny{min-height:38px;font-size:16px;padding:0 12px;width:auto;border-radius:10px}
.btn[disabled]{opacity:.5;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--acc2);outline-offset:2px}

.card{background:var(--panel);border-radius:var(--r);padding:14px 16px;border:1px solid var(--line)}
.card.done{border-color:var(--ok)}
.tag{display:inline-block;font-size:15px;color:var(--ink2);background:var(--panel2);padding:3px 9px;border-radius:999px;white-space:nowrap}
.tag.ok{background:var(--ok);color:var(--ok-ink)}
.tag.acc{background:var(--acc);color:var(--acc-ink)}
.tag.warn{background:var(--warn);color:#fff}

label.f{display:block;font-size:16px;color:var(--ink2);margin-bottom:6px}
input.t,select.t,textarea.t{width:100%;min-height:54px;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:10px 12px;font:inherit;font-size:19px}
textarea.t{min-height:70px;resize:vertical}
select.t{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),linear-gradient(135deg,var(--ink3) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.check-line{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink2)}
.check-line input{width:24px;height:24px;flex:0 0 24px;margin-top:2px;accent-color:var(--acc)}

table{width:100%;border-collapse:collapse;font-size:17px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--ink3);font-weight:500;font-size:15px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tablewrap{overflow-x:auto}

.empty{padding:28px 16px;text-align:center;color:var(--ink2)}
.toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);background:var(--ok);color:var(--ok-ink);padding:10px 18px;border-radius:999px;font-weight:600;z-index:50;display:none;max-width:calc(100% - 32px);text-align:center}
.toast.bad{background:var(--warn);color:#fff}

.brand{display:inline-flex;align-items:center;gap:10px;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:24px;letter-spacing:.5px;color:var(--ink);text-decoration:none}
.brand i{display:inline-block;width:28px;height:28px;border-radius:7px;background:var(--acc);position:relative;flex:0 0 28px}
.brand i::after{content:"";position:absolute;left:7px;top:7px;width:14px;height:14px;border-radius:3px;background:var(--acc-ink);opacity:.9}
.brand small{font-family:"Barlow",sans-serif;font-weight:500;font-size:14px;color:var(--ink3);letter-spacing:0}

details summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
details summary::-webkit-details-marker{display:none}
.arrow{margin-left:auto;color:var(--ink3);transition:transform .15s}
details[open] .arrow{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
