:root{--verde: #2f5d3a;--verde-scuro: #1f4129;--sfondo: #f6f4ee;--carta: #ffffff;--testo: #1d2420;--muted: #5b655f;--bordo: #d7d3c6;--libero: #2e8b4a;--parziale: #d99a1b;--occupato: #c0392b;--chiuso: #8a8f8c;--mio: #1f6fb5;--ok-bg: #e2f3e6;--attesa-bg: #fdf1d6;--no-bg: #f8e1de;--errore: #b3261e}@media(prefers-color-scheme:dark){:root{--sfondo: #151a17;--carta: #1e2621;--testo: #eef1ee;--muted: #a2aea6;--bordo: #34403a;--ok-bg: #1d3a26;--attesa-bg: #44361a;--no-bg: #432522;--verde: #3f7a4d;--verde-scuro: #2f5d3a}}*{box-sizing:border-box}html{font-size:20px}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--sfondo);color:var(--testo);line-height:1.45}h1{font-size:1.7rem;margin:.2rem 0 .8rem}h2{font-size:1.3rem;margin:1.4rem 0 .6rem}h3{font-size:1.1rem;margin:0 0 .3rem}a{color:var(--verde)}.contenitore{max-width:960px;margin:0 auto;padding:1rem 16px 5rem}.testata{background:var(--verde);color:#fff}.testata .barra{max-width:960px;margin:0 auto;padding:.6rem 16px;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem}.logo{font-weight:800;font-size:1.35rem;color:#fff;text-decoration:none;display:flex;gap:.5rem;align-items:center}.logo img{width:40px;height:40px;border-radius:10px;background:#f6f4ee}.testata nav{display:flex;flex-wrap:wrap;gap:.3rem;margin-left:auto;align-items:center}.testata nav a,.testata nav button{color:#fff;text-decoration:none;padding:.45rem .8rem;border-radius:10px;background:transparent;border:0;font:inherit;cursor:pointer}.testata nav a.attivo,.testata nav a:hover,.testata nav button:hover{background:#ffffff2e}.scheda{background:var(--carta);border:1px solid var(--bordo);border-radius:16px;padding:1rem 1.1rem;margin:0 0 1rem}.scheda.evidenza{border-width:2px;border-color:var(--verde)}.muted{color:var(--muted)}.piccolo{font-size:.85rem}.riga{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.spazia{justify-content:space-between}button,.btn{font:inherit;font-weight:700;min-height:52px;padding:.6rem 1.2rem;border-radius:14px;border:2px solid var(--verde);background:var(--verde);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:hover:not(:disabled),.btn:hover{background:var(--verde-scuro)}button:disabled{opacity:.55;cursor:not-allowed}button.secondario,.btn.secondario{background:transparent;color:var(--verde)}button.pericolo{background:var(--occupato);border-color:var(--occupato)}button.secondario.pericolo{background:transparent;color:var(--occupato)}button.grande{min-height:76px;font-size:1.35rem;flex:1 1 200px}button.piccolo{min-height:40px;padding:.25rem .8rem;font-size:.9rem}:focus-visible{outline:3px solid var(--mio);outline-offset:2px}label{display:block;font-weight:700;margin:.8rem 0 .25rem}input,select,textarea{font:inherit;width:100%;min-height:52px;padding:.5rem .7rem;border:2px solid var(--bordo);border-radius:12px;background:var(--carta);color:var(--testo)}textarea{min-height:96px}input[type=checkbox]{width:28px;min-height:28px;height:28px;flex:none}.casella{display:flex;gap:.7rem;align-items:flex-start;font-weight:500}.griglia2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:520px){.griglia2{grid-template-columns:1fr}}.nascosto{position:absolute;left:-9999px;height:0;overflow:hidden}.avviso{padding:.8rem 1rem;border-radius:12px;margin:.8rem 0;border:1px solid}.avviso.errore{background:var(--no-bg);border-color:var(--errore);color:var(--testo)}.avviso.ok{background:var(--ok-bg);border-color:var(--libero)}.avviso.info{background:var(--attesa-bg);border-color:var(--parziale)}.badge{display:inline-block;padding:.15rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--libero)}.badge.attesa{background:var(--attesa-bg);color:#8a5a00}.badge.no{background:var(--no-bg);color:var(--errore)}@media(prefers-color-scheme:dark){.badge.attesa{color:#f3c969}.badge.ok{color:#7fd699}.badge.no{color:#f09890}}.cal-testa{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.cal-testa h2{margin:0;text-transform:capitalize}.cal-testa button{min-width:56px}.cal-griglia{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-nome{text-align:center;font-weight:700;font-size:.8rem;color:var(--muted);padding:.2rem 0}.cal-giorno{min-height:62px;padding:.2rem;border-radius:10px;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;font-weight:700;background:var(--carta);color:var(--testo)}.cal-giorno small{font-size:.62rem;font-weight:600;line-height:1.1}.cal-giorno.libero{background:color-mix(in srgb,var(--libero) 22%,var(--carta))}.cal-giorno.parziale{background:color-mix(in srgb,var(--parziale) 30%,var(--carta))}.cal-giorno.occupato{background:color-mix(in srgb,var(--occupato) 28%,var(--carta))}.cal-giorno.chiuso{background:color-mix(in srgb,var(--chiuso) 30%,var(--carta))}.cal-giorno.passato{opacity:.45}.cal-giorno.mio{box-shadow:inset 0 0 0 3px var(--mio)}.cal-giorno.scelto{border-color:var(--testo)}.cal-giorno:hover:not(:disabled){filter:brightness(.96);background:inherit}.cal-giorno.vuoto{background:transparent;border:0;min-height:0}.legenda{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.85rem;margin:.6rem 0}.legenda span:before{content:"";display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:.35rem;vertical-align:-2px;background:var(--c)}.fascia{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--bordo)}.fascia:first-of-type{border-top:0}.contatori{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}.contatore{background:var(--carta);border:1px solid var(--bordo);border-radius:16px;text-align:center;padding:.8rem .3rem}.contatore b{display:block;font-size:2.6rem;line-height:1;color:var(--verde)}.grande-saluto{font-size:2rem;font-weight:800;margin:.3rem 0 1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--bordo);vertical-align:top}.barra-stat{height:14px;background:var(--verde);border-radius:7px}.codice{font-family:ui-monospace,monospace;word-break:break-all;font-size:.85rem;background:var(--sfondo);padding:.4rem .6rem;border-radius:8px}.centrato{text-align:center}.caricamento{padding:2rem;text-align:center;color:var(--muted)}@media print{.testata,button{display:none}}.maiuscola:first-letter{text-transform:uppercase}@media(max-width:520px){.grande-saluto{font-size:1.5rem;margin-bottom:.6rem}.contatore b{font-size:2rem}.testata .barra{gap:.2rem 1rem}.testata nav a,.testata nav button{padding:.35rem .6rem}}@keyframes penna-ondeggia{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes penna-ondeggia-lenta{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(5deg) translateY(-2px)}}@keyframes penna-riga{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes penna-percorso{0%{transform:translate(14px,70px)}18%{transform:translate(52px,62px)}36%{transform:translate(80px,66px)}58%{transform:translate(144px,68px)}to{transform:translate(226px,60px)}}.penna{width:1em;height:1em;display:inline-block;vertical-align:-.12em;transform-origin:15% 90%;animation:penna-ondeggia-lenta 4s ease-in-out infinite}.penna.grande{width:1.3em;height:1.3em}h1 .penna{margin-left:.3rem;color:var(--testo)}.caricamento:before{content:"";display:block;width:44px;height:44px;margin:0 auto .6rem;background:currentColor;opacity:.75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 5C32 8 14 26 9 55c14-4 24-12 30-24 5-9 10-17 15-26z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 5C32 8 14 26 9 55c14-4 24-12 30-24 5-9 10-17 15-26z'/%3E%3C/svg%3E") center / contain no-repeat;transform-origin:15% 90%;animation:penna-ondeggia 1.4s ease-in-out infinite}.penna-scrive{width:260px;max-width:70%;height:auto;display:block;margin:.6rem 0 1rem;color:var(--testo);overflow:visible}.penna-scrive-riga{stroke-dasharray:1;stroke-dashoffset:1;animation:penna-riga 1.8s ease-in-out .2s forwards}.penna-scrive-penna{animation:penna-percorso 1.8s ease-in-out .2s forwards;transform:translate(14px,70px)}.logo img{transition:transform .3s;transform-origin:50% 90%}.logo:hover img,.logo:focus-visible img{transform:rotate(-8deg) scale(1.06)}@media(prefers-reduced-motion:reduce){.penna,.caricamento:before,.penna-scrive-penna,.logo img{animation:none!important;transition:none!important}.penna-scrive-riga{animation:none!important;stroke-dashoffset:0}.penna-scrive-penna{transform:translate(226px,60px)}}.schede-vista{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.schede-vista button{flex:1 1 auto;min-height:44px;padding:.3rem .6rem;font-size:.9rem}.riga-giorno{display:flex;width:100%;gap:.8rem;align-items:center;text-align:left;font-weight:400;min-height:58px;padding:.4rem .7rem;margin:0 0 4px;border:2px solid transparent;border-radius:12px;background:var(--carta);color:var(--testo)}.riga-giorno:hover:not(:disabled){background:var(--carta);filter:brightness(.96)}.riga-giorno.libero{background:color-mix(in srgb,var(--libero) 22%,var(--carta))}.riga-giorno.parziale{background:color-mix(in srgb,var(--parziale) 30%,var(--carta))}.riga-giorno.occupato{background:color-mix(in srgb,var(--occupato) 28%,var(--carta))}.riga-giorno.chiuso{background:color-mix(in srgb,var(--chiuso) 30%,var(--carta))}.riga-giorno.passato{opacity:.5}.riga-giorno.mio{box-shadow:inset 0 0 0 3px var(--mio)}.riga-giorno.scelto{border-color:var(--testo)}.riga-giorno-data{flex:0 0 5.6rem;font-weight:700}.riga-giorno-stato{display:flex;flex-direction:column}.riga-giorno-stato small{color:var(--muted);font-size:.8rem}.anno-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media(max-width:420px){.anno-griglia{grid-template-columns:repeat(2,1fr)}}.anno-mese{flex-direction:column;min-height:78px;font-weight:400;background:transparent;color:var(--muted);border:2px solid var(--bordo);padding:.4rem;text-transform:capitalize;gap:.1rem}.anno-mese b{font-size:1.05rem}.anno-mese small{font-size:.75rem;text-transform:none}.anno-mese:hover{background:var(--carta)}.anno-mese.attivo{background:color-mix(in srgb,var(--parziale) 28%,var(--carta));border-color:var(--parziale);color:var(--testo)}.anno-mese.corrente{box-shadow:inset 0 0 0 3px var(--mio)}.nav-admin{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.burger,.burger-testata{display:none}.burger{width:100%;justify-content:flex-start;min-height:48px;margin-bottom:.6rem}.burger-testata{background:transparent;border:2px solid rgba(255,255,255,.55);color:#fff;min-height:46px;min-width:52px;padding:0 .8rem;font-size:1.4rem;margin-left:auto}.burger-testata:hover:not(:disabled){background:#ffffff2e}@media(max-width:700px){.burger,.burger-testata{display:inline-flex}.testata nav{display:none;width:100%;flex-direction:column;align-items:stretch;margin:0;padding-bottom:.5rem}.testata nav.aperto{display:flex}.testata nav a,.testata nav button{text-align:left;padding:.7rem .9rem;font-size:1.05rem}.nav-admin{display:none;flex-direction:column;align-items:stretch}.nav-admin.aperto{display:flex}.nav-admin .btn{min-height:52px;justify-content:flex-start;font-size:1rem}}
