.wrap{max-width:1100px;margin:0 auto;padding:1rem}
.card{background:#fff;border:1px solid #eee2d8;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.05);padding:1rem;margin:.75rem 0}
.card h2{margin:.2rem 0 .6rem;font-size:1.1rem}
.form .grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,1fr)}
.form label{display:grid;gap:.25rem}
.form span{font-size:.85rem;color:#6b5b4b}
.form input,.form select{padding:.6rem .75rem;border:1px solid #d9cfc7;border-radius:10px;min-height:42px}
.form label.wide{grid-column:1 / -1}
.actions{display:flex;gap:.5rem;margin-top:.5rem}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-radius:.7rem;border:1px solid #ccb9ad;background:#fff;color:#2A1D16;text-decoration:none;cursor:pointer}
.btn.primary{background:#C75B35;border-color:#C75B35;color:#fff}
.results .stat{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.results .stat div{background:#faf7f2;border:1px solid #efe4d9;border-radius:10px;padding:.6rem;text-align:center}
.results .stat strong{font-size:1.2rem}
.calendar-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;margin-top:.5rem}
.calendar-grid .m{height:22px;border-radius:4px;background:#eee;position:relative}
.calendar-grid .m[data-s="sem"]{background:#cde7ff}
.calendar-grid .m[data-s="tras"]{background:#ffe3a8}
.calendar-grid .m[data-s="cose"]{background:#bde5c0}
.calendar-grid .m::after{content:attr(data-l);position:absolute;inset:0;display:grid;place-items:center;font-size:.65rem;color:#000;opacity:.38}
@media(max-width:760px){.form .grid{grid-template-columns:1fr 1fr}.form label.wide{grid-column:1/-1}}

