/* Stili specifici di Zampagenda. Solo variabili della palette (var(--pri), var(--panel), ...). */
.ap{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.ap:last-child{border-bottom:0}
.ap .ot{width:48px;flex:none;text-align:center}.ap .ot b{display:block;font-size:16px}
.ap .act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ap.fatto{opacity:.78}.ap.assente,.ap.annullato{opacity:.6}
.grow{flex:1;min-width:0}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px}
.dy{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--tx);text-decoration:none;min-height:44px}
.dy b{font-size:17px}.dy small{font-size:11px}
.dy.td{border-color:var(--pri)}.dy.on{background:var(--pri);color:var(--pri-tx);border-color:var(--pri)}.dy.on small{color:var(--pri-tx)}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ph{width:96px;height:96px;object-fit:cover;border-radius:14px;cursor:zoom-in;flex:none}
.th{width:84px;height:84px;object-fit:cover;border-radius:10px;cursor:zoom-in}
.hs{padding:10px 0;border-bottom:1px solid var(--line)}.hs:last-child{border-bottom:0}
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px}
.mx input{width:68px}.mx td,.mx th{padding:4px 6px;font-size:13px}
.btn,.nav-a,.dy{min-height:44px}.btn.sm{min-height:36px}
@media (max-width:640px){.ap{flex-wrap:wrap}.ap .act{width:100%;justify-content:flex-start}.week{gap:3px}}
