
/* Layout: barra scura in alto come il sito magikal.it, una colonna di contenuto fino a 1120px, card bianche con bordo grigio caldo, pulsanti a pillola in maiuscolo. */
:root{
  --bg:#f4f1ed; --surface:#ffffff; --surface-2:#ece8e2; --fg:#2a2a2a; --ink:#0f0f0f; --muted:#6f6a64; --line:#e4e0dc; --line-strong:#cfc9c1;
  --accent:#88143c; --accent-text:#88143c; --accent-ink:#ffffff; --accent-soft:#f3e3e8; --rose:#c9805f;
  --bar:#0f0f0f; --bar-fg:#ffffff; --bar-muted:#a2a1a0; --bar-line:#2a2a2a;
  --good:#0ca30c; --warn:#fab219; --crit:#d03b3b; --good-soft:#e3f3e3; --warn-soft:#fcf0d2; --crit-soft:#f8dfdf;
  --series:#88143c; --series-soft:#e8c9d3;
  --f1:#c9805f; --f2:#88143c; --f3:#4b5563;
  --font-display:"Outfit", "Montserrat", system-ui, sans-serif;
  --font-body:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r:10px; --shadow:0 1px 2px rgba(15,15,15,.06), 0 6px 18px rgba(15,15,15,.06);
  --logo:url("data:image/png;base64,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");
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0f0f0f; --surface:#1a1a1a; --surface-2:#262626; --fg:#f0ebe4; --ink:#ffffff; --muted:#a8a29b; --line:#2c2c2c; --line-strong:#444;
  --accent:#88143c; --accent-text:#e07a9a; --accent-ink:#ffffff; --accent-soft:#3a1a26; --rose:#d99a7c;
  --bar:#0a0a0a; --bar-line:#222;
  --good-soft:#1c321d; --warn-soft:#3a3017; --crit-soft:#3c1f1f;
  --series:#c23f70; --series-soft:#4a2231; --f1:#d99a7c; --f2:#e07a9a; --f3:#a3adb8;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.35); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0f0f0f; --surface:#1a1a1a; --surface-2:#262626; --fg:#f0ebe4; --ink:#ffffff; --muted:#a8a29b; --line:#2c2c2c; --line-strong:#444;
  --accent:#88143c; --accent-text:#e07a9a; --accent-ink:#ffffff; --accent-soft:#3a1a26; --rose:#d99a7c;
  --bar:#0a0a0a; --bar-line:#222;
  --good-soft:#1c321d; --warn-soft:#3a3017; --crit-soft:#3c1f1f;
  --series:#c23f70; --series-soft:#4a2231; --f1:#d99a7c; --f2:#e07a9a; --f3:#a3adb8;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.35); color-scheme:dark }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;text-wrap:balance;line-height:1.12;color:var(--ink)}
h1{font-size:2rem;font-weight:300;letter-spacing:-.01em}
h1 em{font-style:italic;color:var(--rose);font-weight:300}
h2{font-size:1.25rem;font-weight:500}
h3{font-size:1.02rem;font-weight:600}
a{color:var(--accent-text)}
.eyebrow{font-family:var(--font-body);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.eyebrow::before{content:"— "}
.muted{color:var(--muted)}
.small{font-size:.84rem}
.num{font-variant-numeric:tabular-nums}
.crit{color:var(--crit)}
/* barra in alto */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bar);color:var(--bar-fg);border-bottom:1px solid var(--bar-line)}
.topbar-in{max-width:1120px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:var(--bar-fg)}
.brand .logo{width:122px;height:30px;background:currentColor;-webkit-mask:var(--logo) no-repeat left center/contain;mask:var(--logo) no-repeat left center/contain;display:block}
.brand .sep{width:1px;height:22px;background:var(--bar-line)}
.brand .name{font-family:var(--font-display);font-weight:300;font-size:1.25rem;letter-spacing:.02em}
.brand .name em{color:var(--rose);font-style:italic}
.brand small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bar-muted);font-weight:600;margin-left:2px}
.nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nav::-webkit-scrollbar{display:none}
.nav button{border:1px solid transparent;background:transparent;padding:7px 14px;border-radius:999px;color:var(--bar-muted);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.nav button:hover{color:var(--bar-fg);border-color:var(--bar-line)}
.nav button[aria-current="page"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.nav button .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px}
@media (max-width:760px){.nav{order:3;flex-basis:100%}.topbar-in{gap:8px 12px;padding:8px 16px}.brand{flex:1}}
.who{display:flex;align-items:center;gap:2px;border:1px solid var(--bar-line);border-radius:999px;padding:3px}
.who button{border:0;background:transparent;padding:5px 12px;border-radius:999px;font-weight:600;font-size:.74rem;color:var(--bar-muted);cursor:pointer}
.who button[aria-pressed="true"]{background:#fff;color:var(--bar)}
/* pagina */
.page{max-width:1120px;margin:0 auto;padding-inline:16px;padding-block:26px 64px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.page-head p{margin:8px 0 0;color:var(--muted);max-width:64ch;font-size:.92rem}
.page-head .eyebrow{margin-bottom:8px;display:block}
.demo-note{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.demo-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose)}
/* griglie */
.grid{display:grid;gap:14px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}}
/* card e riquadri numerici */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:4px}
.tile .label{font-size:.68rem;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tile .value{font-family:var(--font-display);font-size:2rem;font-weight:300;line-height:1;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--ink);margin-top:4px}
.tile .value small{font-family:var(--font-body);font-size:.78rem;color:var(--muted);font-weight:500}
.tile .target{font-size:.78rem;color:var(--muted)}
.meter{height:4px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-top:6px}
.meter i{display:block;height:100%;border-radius:999px;background:var(--series)}
.meter i.good{background:var(--good)} .meter i.warn{background:var(--warn)} .meter i.crit{background:var(--crit)}
.phase-col{border-top:3px solid var(--pc,var(--accent));cursor:pointer;transition:transform .12s, box-shadow .12s}
.phase-col:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.phase-col h2{font-weight:500}
.phase-col .lead{font-size:.72rem;color:var(--muted);margin:4px 0 14px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.kpis{display:grid;gap:10px}
.kpi{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.kpi:first-child{border-top:0;padding-top:0}
.kpi .k{font-size:.84rem;color:var(--muted)}
.kpi .v{font-family:var(--font-display);font-weight:500;font-size:1.3rem;text-align:right;min-width:0;color:var(--ink)}
.kpi .v small{display:block;font-family:var(--font-body);font-weight:500;font-size:.72rem;color:var(--muted);line-height:1.3}
/* etichette di stato */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-2);color:var(--fg);white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted)}
.pill.good{background:var(--good-soft)} .pill.good::before{background:var(--good)}
.pill.warn{background:var(--warn-soft)} .pill.warn::before{background:var(--warn)}
.pill.crit{background:var(--crit-soft)} .pill.crit::before{background:var(--crit)}
.pill.f1::before{background:var(--f1)} .pill.f2::before{background:var(--f2)} .pill.f3::before{background:var(--f3)}
.pill.plain::before{display:none}
.cls{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;font-size:.74rem;font-weight:700;background:var(--surface-2);color:var(--fg);cursor:help}
.cls.A{background:var(--accent);color:#fff}
/* suggerimento al passaggio del mouse */
[data-tip]{position:relative}
[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:0;background:var(--ink);color:var(--bg);padding:9px 11px;border-radius:8px;font-family:var(--font-body);font-size:.76rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.4;width:max-content;max-width:280px;white-space:normal;text-align:left;z-index:30;box-shadow:var(--shadow);pointer-events:none}
[data-tip]:hover::before,[data-tip]:focus-visible::before{content:"";position:absolute;bottom:calc(100% + 2px);left:14px;border:6px solid transparent;border-top-color:var(--ink);border-bottom:0;z-index:30}
.hint{font-size:.78rem;color:var(--muted);margin-top:6px}
/* righe azione */
.section{margin-top:26px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.section-head h2{font-size:1.1rem;font-weight:500}
.section-head .count{font-size:.72rem;color:var(--muted);font-weight:700;letter-spacing:.1em}
.rows{display:flex;flex-direction:column;gap:8px}
.row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;min-width:0}
.row.late{border-left:3px solid var(--crit)}
.row.today{border-left:3px solid var(--accent)}
.row.soon{border-left:3px solid var(--line-strong)}
.row .when{font-size:.74rem;color:var(--muted);font-weight:600;min-width:68px;padding-top:2px}
.row .when b{display:block;font-family:var(--font-display);font-size:1.1rem;color:var(--ink);font-weight:500}
.row .body{min-width:0}
.row .title{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink)}
.row .title .name{cursor:pointer;border-bottom:1px dotted var(--line-strong)}
.row .title .name:hover{color:var(--accent-text);border-bottom-color:var(--accent-text)}
.row .sub{font-size:.84rem;color:var(--muted);margin-top:3px}
.row .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.row .side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:.74rem;color:var(--muted)}
@media (max-width:640px){.row{grid-template-columns:1fr}.row .when{display:flex;gap:8px;align-items:baseline;min-width:0}.row .when b{font-size:.95rem}.row .side{flex-direction:row;align-items:center;flex-wrap:wrap}}
.drawer .row{grid-template-columns:1fr}.drawer .row .when{display:flex;gap:8px;align-items:baseline}.drawer .row .when b{font-size:.95rem}.drawer .row .side{flex-direction:row;align-items:center;flex-wrap:wrap}
/* pulsanti: pillola, maiuscolo, come il sito */
.btn{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:7px 14px;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.2;transition:background .12s,color .12s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn:focus-visible,.nav button:focus-visible,.who button:focus-visible,.tab:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.12)}
.btn.ghost{border-color:transparent;color:var(--muted)}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn.good{border-color:var(--good);color:var(--good)} .btn.good:hover{background:var(--good);color:#fff}
.btn.crit{border-color:var(--crit);color:var(--crit)} .btn.crit:hover{background:var(--crit);color:#fff}
.btn.sm{padding:5px 11px;font-size:.64rem}
.btn svg{width:13px;height:13px}
/* schede della pagina di fase */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}
.tab{border:0;background:transparent;padding:10px 16px;font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
/* tabelle */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.86rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--surface-2)}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr.clickable{cursor:pointer} tr.clickable:hover td{background:var(--surface-2)}
/* barre */
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;font-size:.84rem}
.bar .track{height:12px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.bar .fill{height:100%;background:var(--series);border-radius:0 3px 3px 0}
.bar .v{font-variant-numeric:tabular-nums;font-weight:600;min-width:64px;text-align:right}
@media (max-width:560px){.bar{grid-template-columns:110px 1fr auto}}
/* scadenziario */
.cal{display:grid;gap:12px}
.cal-day{display:grid;grid-template-columns:96px 1fr;gap:12px}
.cal-day .d{font-family:var(--font-display);font-weight:500;font-size:1rem;color:var(--ink)}
.cal-day .d small{display:block;font-family:var(--font-body);font-weight:600;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.cal-items{display:flex;flex-direction:column;gap:6px}
.cal-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.86rem}
.cal-item.fixed{background:var(--surface-2);border-style:dashed}
@media (max-width:560px){.cal-day{grid-template-columns:1fr}}
/* scheda e finestre */
.overlay{position:fixed;inset:0;background:rgba(10,10,10,.55);z-index:40;display:flex;justify-content:flex-end}
.drawer{width:min(580px,100%);height:100%;background:var(--bg);overflow-y:auto;box-shadow:-8px 0 30px rgba(0,0,0,.3);padding:0 0 40px}
.drawer-head{position:sticky;top:0;background:var(--bar);color:var(--bar-fg);padding:16px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:2}
.drawer-head h2{color:#fff;font-weight:400;font-size:1.4rem}
.drawer-head .eyebrow{color:var(--rose)}
.drawer-head .small{color:var(--bar-muted)}
.drawer-head .btn.ghost{color:var(--bar-muted)} .drawer-head .btn.ghost:hover{background:#262626;color:#fff}
.drawer-head .pill{background:#262626;color:#fff}
.drawer-body{padding:18px 20px;display:flex;flex-direction:column;gap:16px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:7px 12px;font-size:.86rem}
.kv dt{color:var(--muted)} .kv dd{margin:0}
.timeline{display:flex;flex-direction:column;gap:0}
.tl{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.84rem}
.tl:last-child{border-bottom:0}
.tl .d{color:var(--muted);font-variant-numeric:tabular-nums}
.modal-wrap{position:fixed;inset:0;background:rgba(10,10,10,.55);z-index:50;display:grid;place-items:center;padding:16px}
.modal{background:var(--surface);border-radius:14px;width:min(540px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow);padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.modal h3{font-size:1.2rem;font-weight:500}
.field{display:flex;flex-direction:column;gap:5px;font-size:.84rem}
.field label{font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;background:var(--bg);width:100%;font-size:.9rem}
.field textarea{min-height:140px;line-height:1.45;font-family:var(--font-body)}
.choices{display:flex;flex-wrap:wrap;gap:6px}
.msg-box{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px;white-space:pre-wrap;font-size:.9rem;line-height:1.55}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-weight:600;font-size:.84rem;z-index:60;box-shadow:var(--shadow);max-width:calc(100% - 32px)}
.empty{border:1px dashed var(--line-strong);border-radius:var(--r);padding:20px;color:var(--muted);text-align:center;font-size:.9rem}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-top:10px}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--c)}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.alert{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--crit);border-radius:var(--r);padding:11px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;font-size:.88rem}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.settings-grid .card dl{margin:0}
.settings-grid .card .kv{grid-template-columns:1fr auto}
.settings-grid .card dd{font-weight:600;text-align:right}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* accesso */
#app{min-height:100%}
.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--bar)}
.login-card{background:var(--surface);border-radius:16px;padding:28px 26px;width:min(400px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.login-card .logo{width:150px;height:38px;background:var(--ink);-webkit-mask:var(--logo) no-repeat left center/contain;mask:var(--logo) no-repeat left center/contain}
.login-card h1{font-size:1.7rem}
.login-card .err{color:var(--crit);font-size:.86rem;min-height:1.2em}
.loading{display:grid;place-items:center;min-height:60vh;color:var(--muted);font-size:.9rem}
.who-me{font-size:.7rem;color:var(--bar-muted);letter-spacing:.06em}
.topbar .btn.ghost{color:var(--bar-muted)} .topbar .btn.ghost:hover{background:#262626;color:#fff}
.settings-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.settings-form .row2{grid-template-columns:1fr}}
.save-bar{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}

@media (max-width:560px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.tile .value{font-size:1.6rem}.tile .label{font-size:.62rem}}
@media (max-width:480px){.brand .logo{width:92px;height:24px}.brand .sep{display:none}.brand .name{font-size:1.05rem}.who button{padding:4px 9px}.topbar-in{flex-wrap:wrap}.brand{flex:1;min-width:0}}
