
:root{--p:#0077b6;--a:#00b4d8;--dark:#03045e;--bg:#f0f9ff;--wh:#fff;--mu:#6b7280;--txt:#111827;--rad:12px;--rads:8px}
.dcr-app{font-family:'Segoe UI',system-ui,sans-serif;color:var(--txt);background:var(--bg);border-radius:var(--rad);box-shadow:0 8px 40px rgba(0,119,182,.16);overflow:hidden}
.dcr-wrap{display:flex;min-height:540px}
.dcr-cal-col{flex:1 1 55%;padding:28px;background:var(--wh);border-right:1px solid #e0f0fa}
.dcr-cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.dcr-cal-hdr h2{font-size:1.3rem;font-weight:700;color:var(--dark);margin:0}
.dcr-nav{background:var(--bg);border:2px solid #caf0f8;color:var(--p);width:36px;height:36px;border-radius:50%;font-size:1rem;font-weight:700;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}
.dcr-nav:hover{background:var(--p);border-color:var(--p);color:#fff;transform:scale(1.06)}
.dcr-day-names{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}
.dcr-day-names span{text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mu);padding:4px 0}
.dcr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dcr-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rads);font-size:.88rem;font-weight:500;color:var(--txt);transition:.18s;min-height:42px;user-select:none;position:relative}
.dcr-day.today{font-weight:800;color:var(--p)}
.dcr-day.today::after{content:'';position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--p)}
.dcr-day.has-dive{background:linear-gradient(135deg,var(--a),var(--p));color:#fff;cursor:pointer;box-shadow:0 2px 10px rgba(0,119,182,.25);font-weight:700}
.dcr-day.has-dive:hover{transform:translateY(-2px) scale(1.08);box-shadow:0 6px 20px rgba(0,119,182,.4)}
.dcr-day.full{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}
.dcr-day.selected{background:var(--dark)!important;color:#fff!important;transform:scale(1.12);box-shadow:0 6px 20px rgba(3,4,94,.35);z-index:2}
.dcr-dots{display:flex;gap:3px;margin-top:3px;justify-content:center}
.dcr-day-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.8);flex-shrink:0}
.dcr-act-count{font-size:.62rem;font-weight:800;background:rgba(255,255,255,.3);border-radius:999px;padding:0 5px;margin-top:2px;line-height:1.4}
.dcr-legend{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap}
.dcr-legend span{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--mu)}
.dcr-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0}
.dcr-dot-ok{background:linear-gradient(135deg,var(--a),var(--p))}
.dcr-dot-full{background:#e5e7eb;border:1px solid #d1d5db}
.dcr-dot-sel{background:var(--dark)}
.dcr-form-col{flex:1 1 45%;padding:28px;background:var(--bg);overflow-y:auto}
.dcr-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:40px 20px}
.dcr-empty-ico{font-size:3.5rem;margin-bottom:14px;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.dcr-empty-state p{color:var(--mu);font-size:.95rem;line-height:1.6;max-width:260px;margin:0}
.dcr-info-card{background:var(--wh);border-radius:var(--rad);padding:18px;margin-bottom:18px;border-left:4px solid var(--a);box-shadow:0 2px 12px rgba(0,119,182,.08)}
.dcr-info-card h3{margin:0 0 10px;font-size:1rem;font-weight:700;color:var(--dark)}
.dcr-meta{display:flex;flex-direction:column;gap:5px}
.dcr-meta-row{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--mu)}
.dcr-meta-row strong{color:var(--txt)}
.dcr-bar-wrap{margin-top:10px}
.dcr-bar-lbl{font-size:.74rem;color:var(--mu);display:flex;justify-content:space-between;margin-bottom:4px}
.dcr-bar-track{background:#e5e7eb;border-radius:999px;height:7px;overflow:hidden}
.dcr-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--a),var(--p));transition:width .4s}
.dcr-bar-fill.warn{background:linear-gradient(90deg,#f59e0b,#ef4444)}
.dcr-bar-fill.full{background:#ef4444}
.dcr-success{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:var(--rad);padding:28px;text-align:center;margin-bottom:16px}
.dcr-ok-ico{font-size:2.5rem;margin-bottom:8px}
.dcr-success p{margin:5px 0;font-size:.95rem;color:#166534}
.dcr-btn-outline{background:transparent;border:2px solid var(--p);color:var(--p);padding:9px 18px;border-radius:var(--rad);cursor:pointer;font-size:.88rem;font-weight:600;transition:.18s;margin-top:10px}
.dcr-btn-outline:hover{background:var(--p);color:#fff}
.dcr-form-tit{font-size:1rem;font-weight:700;color:var(--dark);margin:0 0 14px}
.dcr-field{margin-bottom:12px}
.dcr-field label{display:block;font-size:.76rem;font-weight:600;color:var(--mu);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.dcr-field input,.dcr-field select,.dcr-field textarea{width:100%;padding:10px 13px;border:2px solid #e5e7eb;border-radius:var(--rads);font-size:.92rem;color:var(--txt);background:var(--wh);transition:.18s;box-sizing:border-box;font-family:inherit}
.dcr-field input:focus,.dcr-field select:focus,.dcr-field textarea:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 3px rgba(0,180,216,.14)}
.dcr-field textarea{resize:vertical;min-height:70px}
.dcr-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dcr-error{background:#fef2f2;border:1px solid #fecaca;color:#ef4444;padding:10px 14px;border-radius:var(--rads);font-size:.86rem;margin-top:6px}
.dcr-submit{width:100%;padding:14px;background:linear-gradient(135deg,var(--a),var(--p));color:#fff;border:none;border-radius:var(--rad);font-size:1rem;font-weight:700;cursor:pointer;transition:.18s;margin-top:8px}
.dcr-submit:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,119,182,.35)}
.dcr-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}
.dcr-loading{grid-column:1/-1;display:flex;justify-content:center;align-items:center;padding:40px}
.dcr-spin{width:30px;height:30px;border:3px solid #caf0f8;border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:740px){.dcr-wrap{flex-direction:column}.dcr-cal-col{border-right:none;border-bottom:1px solid #e0f0fa}.dcr-2col{grid-template-columns:1fr}.dcr-day{font-size:.76rem;min-height:36px}}

/* ── Selector de actividades múltiples ── */
.dcr-picker h3{margin:0 0 4px;font-size:1rem;font-weight:700;color:var(--dark)}
.dcr-picker-sub{margin:0 0 14px;font-size:.86rem;color:var(--mu)}
.dcr-picker-list{display:flex;flex-direction:column;gap:10px}
.dcr-picker-item{background:var(--wh);border:2px solid #e5e7eb;border-radius:var(--rads);padding:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;transition:.18s}
.dcr-picker-item:hover:not(.dcr-picker-full){border-color:var(--a);box-shadow:0 2px 10px rgba(0,180,216,.12)}
.dcr-picker-full{opacity:.55}
.dcr-picker-info{flex:1;display:flex;flex-direction:column;gap:3px}
.dcr-picker-title{font-weight:700;font-size:.92rem;color:var(--dark)}
.dcr-picker-time{font-size:.8rem;color:var(--mu)}
.dcr-picker-spots{display:flex;align-items:center;gap:6px;flex-shrink:0}
.dcr-picker-btn{background:linear-gradient(135deg,var(--a),var(--p));color:#fff;border:none;border-radius:var(--rads);padding:8px 16px;font-size:.84rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:.18s;flex-shrink:0}
.dcr-picker-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,119,182,.3)}
.dcr-picker-badge-full{background:#f3f4f6;color:#9ca3af;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700;flex-shrink:0}

/* ── Aviso de actividad completa ── */
.dcr-full-notice{margin-top:14px;background:#fef2f2;border:2px solid #fecaca;color:#991b1b;padding:12px 14px;border-radius:var(--rads);font-size:.86rem;font-weight:600;text-align:center}
.dcr-picker-btn-full{background:#9ca3af!important}
.dcr-picker-btn-full:hover{background:#6b7280!important}
