:root{--verde:#1f6f4a;--verde-osc:#14452e;--naranja:#f08a24;--fondo:#f7f5ef;--texto:#222;--gris:#5b6560}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.6}
a{color:var(--verde)}
header{background:var(--verde-osc);position:sticky;top:0;z-index:10}
nav{max-width:1000px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12px 16px}
nav .logo{color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none;margin-right:auto}
nav a.m{color:#e8efe9;text-decoration:none;font-size:.95rem;padding:4px 2px;border-bottom:2px solid transparent}
nav a.m:hover,nav a.m.on{border-bottom-color:var(--naranja);color:#fff}
.hero{background:linear-gradient(135deg,var(--verde),var(--verde-osc));color:#fff;padding:56px 16px}
.hero div{max-width:1000px;margin:auto}
.hero h1{font-size:clamp(1.8rem,5vw,2.8rem);margin:0 0 12px;line-height:1.15}
.hero p{max-width:620px;font-size:1.1rem;margin:0 0 20px}
.btn{display:inline-block;background:var(--naranja);color:#1b1b1b;padding:11px 22px;border-radius:8px;font-weight:700;text-decoration:none}
main{max-width:1000px;margin:auto;padding:32px 16px 48px}
h2{color:var(--verde-osc);margin-top:36px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.card h3{margin-top:0;color:var(--verde)}
.aviso{background:#fff3e2;border-left:4px solid var(--naranja);padding:12px 16px;border-radius:6px;margin:24px 0}
table{border-collapse:collapse;width:100%;background:#fff}
th,td{border:1px solid #ddd;padding:9px 12px;text-align:left;vertical-align:top}
th{background:#e9efe9}
footer{background:var(--verde-osc);color:#d6e2d9;padding:28px 16px;font-size:.92rem}
footer div{max-width:1000px;margin:auto}
footer a{color:#fff}

.lang{margin-left:auto;display:flex;gap:8px}
.lang a{color:#cfe0d4;text-decoration:none;font-size:.85rem;border:1px solid #3d6b52;border-radius:5px;padding:2px 7px}
.lang a.cur{background:var(--naranja);border-color:var(--naranja);color:#1b1b1b;font-weight:700}
ul{padding-left:1.2rem}
li{margin:6px 0}
.choose{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
nav .logo{margin-right:12px}
.form{max-width:640px;display:grid;gap:14px}
.form label{display:grid;gap:5px;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;padding:10px 12px;border:1px solid #c9d2cb;border-radius:8px;background:#fff;width:100%}
.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.form .chk{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.form .chk input{width:auto;margin-top:4px}
.form button{border:0;cursor:pointer;font-size:1rem;justify-self:start}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{padding:12px 16px;border-radius:8px;margin-bottom:18px;max-width:640px}
.notice.ok{background:#e3f4e8;border-left:4px solid var(--verde)}
.notice.bad{background:#fde8e6;border-left:4px solid #c0392b}
.alt{margin-top:28px;color:var(--gris)}
.cal{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:16px 0 28px}
.month{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.month h3{margin:0 0 8px;text-transform:capitalize;color:var(--verde)}
.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.grid7 .wd{font-size:.72rem;color:var(--gris);text-transform:capitalize}
.grid7 .d{padding:6px 0;border-radius:6px;font-size:.85rem;background:#f1f4f1}
.grid7 .d.empty{background:none}
.grid7 .d.blocked{background:#d9dedb;color:#6b746e;text-decoration:line-through}
.grid7 .d.german{background:var(--naranja);color:#1b1b1b;font-weight:700}
.grid7 .d.past{opacity:.45}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.92rem}
.sw{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:middle}
.sw.blocked{background:#d9dedb}
.sw.german{background:var(--naranja)}
