:root { --primary:#1b382b; --gold:#d4af37; --sage:#589a6c; --bg:#fafcfa; --surface:#fff; --text:#111915; --muted:#526258; --border:#d8e2da; --warning:#fce4d6; }
* { box-sizing:border-box; }
html { font-family:'Plus Jakarta Sans',system-ui,sans-serif; color:var(--text); background:var(--bg); line-height:1.6; }
body { max-width:920px; margin:0 auto; padding:2rem max(2rem,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left)); }
a { color:var(--primary); overflow-wrap:anywhere; }
.header { padding-bottom:1.5rem; margin-bottom:2rem; border-bottom:3px solid var(--primary); }
.header h1 { margin:.4rem 0; color:var(--primary); font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.85rem,7vw,2.2rem); line-height:1.2; }
.eyebrow { color:#805e00; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0 2rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.7rem 1rem; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--primary); font-weight:800; text-decoration:none; cursor:pointer; }
.btn-primary { border-color:var(--gold); background:var(--gold); color:#111; }
.card { margin:1rem 0; padding:1.35rem; border:1px solid var(--border); border-radius:12px; background:var(--surface); break-inside:avoid; }
.card h2,.card h3 { margin-top:0; color:var(--primary); }
.notice { padding:1rem 1.2rem; border-left:4px solid var(--gold); border-radius:8px; background:var(--warning); }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.day { margin-bottom:1rem; }
.day-header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.day-number { color:#805e00; font-weight:850; }
.reference { color:var(--primary); font-weight:750; }
.agenda { width:100%; border-collapse:collapse; }
.agenda th { background:var(--primary); color:#fff; }
.agenda th,.agenda td { padding:.65rem; border-bottom:1px solid var(--border); text-align:left; }
.footer { margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--border); color:var(--muted); font-size:.82rem; overflow-wrap:anywhere; }
.print-only { display:none; }
@media (max-width:700px) { body{padding:1rem max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.grid{grid-template-columns:1fr}.day-header{display:block}.agenda{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.card{padding:1rem} }
@media (max-width:480px) { .actions{display:grid;grid-template-columns:1fr}.actions .btn{width:100%}.notice{padding:.9rem 1rem} }
@media print { body{max-width:none;padding:0;background:#fff}.actions{display:none}.card{box-shadow:none}.print-only{display:block}a{color:inherit;text-decoration:none} }
