:root{--coral:#ff7a6b;--turq:#2bb5a8;--lav:#9b8cf0;--verde:#8fcf9b;--amar:#ffc857;--crema:#fff7ec;--txt:#3b3350}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;background:var(--crema);color:var(--txt);display:flex;min-height:100vh;font-size:17px}
nav{width:270px;background:linear-gradient(180deg,var(--lav),var(--turq));color:#fff;padding:20px;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0}
nav h1{font-size:20px;margin:0}.sub{font-size:13px;opacity:.95}.note{font-size:12px}
#links button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#fff;padding:12px;border-radius:14px;font-size:16px;cursor:pointer;margin:2px 0}
#links button.on,#links button:hover{background:rgba(255,255,255,.25)}
main{flex:1;padding:24px;max-width:1000px}.card{background:#fff;border-radius:20px;padding:18px;margin:12px 0;box-shadow:0 4px 14px #0001}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.stat{border-radius:20px;padding:18px;color:#fff;font-weight:700}.stat b{display:block;font-size:32px}
.btn{background:var(--coral);color:#fff;border:0;border-radius:14px;padding:12px 18px;font-size:16px;cursor:pointer;margin:4px 4px 4px 0;display:inline-block}
.btn.ghost{background:rgba(255,255,255,.25);width:100%}.btn.danger{background:#d9534f;width:100%}.btn.sm{padding:8px 12px;font-size:14px}.btn.alt{background:var(--turq)}
input,select,textarea{width:100%;padding:12px;border:2px solid #e6dcf5;border-radius:12px;font-size:16px;margin:4px 0 10px;font-family:inherit}
label{font-weight:600;font-size:14px}.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f0e8e0;flex-wrap:wrap}
.chip{display:inline-block;padding:3px 10px;border-radius:99px;color:#fff;font-size:13px}.done{text-decoration:line-through;opacity:.6}
.bar{background:#eee;border-radius:99px;height:16px;overflow:hidden}.bar i{display:block;height:100%;background:var(--turq)}
.empty{text-align:center;padding:24px;opacity:.8}.menu-btn{display:none}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--txt);color:#fff;padding:12px 20px;border-radius:14px;display:none;z-index:9}
.imgslot{border:3px dashed var(--lav);border-radius:20px;padding:16px;text-align:center;background:#f6f2ff;font-size:14px}
@media(max-width:800px){body{display:block}.menu-btn{display:block;position:fixed;top:10px;left:10px;z-index:11;background:var(--coral);color:#fff;border:0;border-radius:14px;padding:12px 16px;font-size:16px}
nav{position:fixed;z-index:10;left:-290px;transition:.25s}nav.open{left:0}main{padding:70px 14px 20px}}
@media print{nav,.menu-btn,.btn{display:none!important}body{display:block}}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ch{text-align:center;font-weight:700}.cd{min-height:70px;background:#faf6ff;border-radius:10px;padding:4px;font-size:12px;overflow:hidden}.cd.hoy{outline:3px solid var(--coral)}.cd small{display:block;color:#fff;border-radius:6px;padding:1px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.act{border:2px solid #efe6ff;border-radius:16px;padding:12px;margin:8px 0}.act h4{margin:0 0 4px}
@media(max-width:800px){.cd{min-height:48px;font-size:10px}}
.ph{border-radius:50%;object-fit:cover;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;border:2px solid;margin-right:6px;color:#fff;font-weight:700;flex-shrink:0;box-sizing:border-box}
.ph.av{border-color:transparent}.ph.sq{border-radius:22px;margin-right:0}
.mcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.mcard{background:#fff;border-radius:20px;padding:16px;box-shadow:0 4px 14px #0001;display:flex;gap:14px;align-items:flex-start}.mcard h3{margin:0}.mcard p{margin:6px 0;font-size:14px}.mcard a{text-decoration:none}
.whoPrev{margin:2px 0 4px;font-weight:600}.fbox{background:#f6f2ff;border-radius:16px;padding:12px;margin:8px 0}
.pk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 12px;padding:8px;border:2px dashed #d8ccf5;border-radius:14px;background:#fbf9ff}.pkshow{font-weight:700;min-width:120px}
.pkov{position:fixed;inset:0;background:#2d234499;z-index:50;display:flex;align-items:center;justify-content:center;padding:14px}
.pkbox{background:#fff;border-radius:22px;padding:18px;max-width:460px;width:100%;max-height:85vh;overflow:auto}
.pkopt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#faf6ff;border:2px solid #e6dcf5;border-radius:16px;padding:10px;margin:6px 0;font-size:16px;cursor:pointer;font-family:inherit}.pkopt.sel{border-color:var(--turq);background:#e8f8f6}.pkopt .ph{margin:0}
.aviso{position:fixed;bottom:0;left:0;right:0;z-index:70;background:#d9534f;color:#fff;padding:10px 14px;font-weight:700;text-align:center;font-size:14px}body.conaviso #toast{bottom:80px}body.conaviso main{padding-bottom:90px}
