:root{--olive:#4a5233;--olive-2:#3f462b;--olive-3:#353c25;--olive-line:#66704a;--cream:#fbf8f1;--paper:#fffdf8;--ink:#2a2c1c;--ink-2:#6b6a55;--on-olive:#f4efe0;--on-olive-2:#d6d1b8;--accent:#e7b26a;--border:#ddd3bd;--err-bg:#fbe9e5;--err-fg:#9a2f1f;--ok-bg:#e5efdc;--ok-fg:#2e6328;--serif:"EB Garamond", Georgia, serif;--sans:"Instrument Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font:400 14px/1.45 var(--sans)}a{color:inherit}h1,h2{font-family:var(--serif);margin:0;font-weight:500}h1{font-size:30px}h2{font-size:20px}.muted{color:var(--ink-2)}.small{font-size:12px}.center-screen{place-items:center;min-height:100vh;display:grid}.shell{min-height:100vh;display:flex}.sidebar{background:var(--olive);color:var(--on-olive);flex-direction:column;flex:0 0 240px;gap:28px;padding:24px 18px;display:flex}.sidebar-logo{display:block}.nav{flex-direction:column;gap:4px;display:flex}.nav a{color:var(--on-olive-2);border-radius:8px;padding:9px 12px;font-weight:500;text-decoration:none}.nav a:hover{background:var(--olive-2);color:var(--on-olive)}.nav a.active{background:var(--olive-3);color:var(--on-olive);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{color:var(--on-olive-2);flex-direction:column;gap:8px;margin-top:auto;font-size:12px;display:flex}.sidebar-user{text-overflow:ellipsis;overflow:hidden}.main{flex:auto;min-width:0}.banner{background:var(--accent);color:#262a18;padding:8px 24px;font-size:13px;font-weight:500}.page{flex-direction:column;gap:20px;max-width:1100px;padding:32px clamp(16px,4vw,48px);display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.back{color:var(--ink-2);font-size:13px;text-decoration:none}.btn-primary{background:var(--accent);color:#262a18;height:40px;font:600 14px var(--sans);cursor:pointer;border:none;border-radius:8px;padding:0 18px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--olive-line);height:30px;color:var(--on-olive);font:500 12px var(--sans);cursor:pointer;background:0 0;border-radius:7px;align-self:flex-start;padding:0 12px}.card-list{background:var(--paper);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.wedding-row{border-bottom:1px solid #ece4d2;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;display:grid}.wedding-row:last-child{border-bottom:none}.wedding-row:hover{background:#f7f1e3}.wedding-couple{font:500 19px var(--serif)}.wedding-date,.cap{display:inline-block}.wedding-date:first-letter,.cap:first-letter,.pill:first-letter{text-transform:uppercase}.wedding-meta{color:var(--ink-2);font-size:13px}.pill{color:var(--ink-2);background:#ece4d2;border-radius:999px;place-self:flex-start start;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.pill-confirmada{background:var(--ok-bg);color:var(--ok-fg)}.pill-prospecto{color:#7a4e0e;background:#f7e6c8}.module-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.module-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:18px;display:flex}.module-card p{color:var(--ink-2);margin:0}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid #ece4d2;padding:5px 4px}.table th{color:var(--ink-2);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.login{background:var(--olive);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--olive-2);width:100%;max-width:380px;color:var(--on-olive);border-radius:14px;flex-direction:column;gap:16px;padding:32px 28px;display:flex}.login-card .muted{color:var(--on-olive-2)}.field{color:var(--on-olive-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.field input{background:var(--olive-3);height:40px;color:var(--on-olive);font:500 14px var(--sans);border:1px solid #6e7651;border-radius:7px;padding:0 10px}.note{border-radius:8px;margin:0;padding:8px 12px;font-size:13px}.note.ok{background:var(--ok-bg);color:var(--ok-fg)}.note.err{background:var(--err-bg);color:var(--err-fg)}@media (width<=720px){.shell{flex-direction:column}.sidebar{flex-flow:wrap;flex:none;align-items:center;gap:12px 20px;padding:14px 16px}.nav{flex-direction:row}.sidebar-foot{margin-top:0;margin-left:auto}.wedding-row{grid-template-columns:1fr;gap:4px}}
