/* ===================================================
   ISEI-IVEI · Gestión de Proyectos — style.css
   =================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Variables ─────────────────────────────────── */
:root {
  --bg:        #f0f4fb;
  --bg2:       #ffffff;
  --bg3:       #e8eef8;
  --border:    #d0d9ed;
  --text:      #1a2340;
  --text2:     #5a6a8a;
  --accent:    #1e4fcc;
  --accent2:   #163ba3;
  --success:   #16a34a;
  --warning:   #d97706;
  --danger:    #dc2626;
  --c1: #16a34a; --c2: #d97706; --c3: #ea580c; --c4: #dc2626;
  --radius: 12px; --radius-sm: 8px;
  --shadow: 0 4px 24px rgba(30,79,204,.10);
  --shadow-sm: 0 2px 8px rgba(30,79,204,.07);
  --trans: all .2s ease;
  --sidebar-w: 250px;
  --grad: linear-gradient(135deg, #1e4fcc 0%, #3b82f6 100%);
}

/* ── Reset ─────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit}
ul{list-style:none}

/* ── Layout ────────────────────────────────────── */
.app-layout{display:flex;min-height:100vh}
.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}
.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}

/* ── Sidebar ───────────────────────────────────── */
.sidebar{width:var(--sidebar-w);background:var(--grad);border-right:none;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:transform .3s ease;z-index:100;box-shadow:4px 0 20px rgba(30,79,204,.15)}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1rem}
.sidebar-logo{display:flex;align-items:center;background:#fff;padding:.3rem .5rem;border-radius:var(--radius-sm)}
.sidebar-logo-img{height:36px;width:auto;object-fit:contain}
.logo-icon{font-size:1.5rem}
.logo-title{display:block;font-size:.95rem;font-weight:700;color:#fff}
.logo-sub{display:block;font-size:.65rem;color:rgba(255,255,255,.7)}
.sidebar-toggle{display:none;color:var(--text2);font-size:1rem;padding:.25rem}
.sidebar-nav{flex:1;padding:1rem .5rem;display:flex;flex-direction:column;gap:.25rem}
.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:var(--radius-sm);color:rgba(255,255,255,.75);transition:var(--trans);font-size:.9rem}
.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.18);color:#fff}
.nav-item.active{color:#fff;font-weight:600;background:rgba(255,255,255,.22)}
.nav-icon{font-size:1.1rem;width:1.4rem;text-align:center}
.sidebar-footer{padding:1rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.user-info{flex:1;display:flex;align-items:center;gap:.6rem;min-width:0}
.user-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;color:#fff}
.user-details{display:flex;flex-direction:column;min-width:0}
.user-name{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.user-role{font-size:.65rem;padding:.1rem .4rem;border-radius:20px;font-weight:600;width:fit-content}
.role-tecnico{background:rgba(22,163,74,.3);color:#bbf7d0}
.role-coordinador{background:rgba(217,119,6,.3);color:#fde68a}
.role-directora{background:rgba(255,255,255,.2);color:#fff}
.btn-logout{font-size:1.1rem;padding:.4rem;color:rgba(255,255,255,.6);transition:var(--trans)}
.btn-logout:hover{color:#fca5a5}

/* ── Topbar ────────────────────────────────────── */
.topbar{background:#fff;border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm)}
.menu-btn{display:none;font-size:1.25rem;color:var(--text2);padding:.25rem}
.topbar-team{font-size:.8rem;color:var(--text2);background:var(--bg3);padding:.25rem .75rem;border-radius:20px}

/* ── Page header ───────────────────────────────── */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.page-title{font-size:1.6rem;font-weight:700}
.page-desc{color:var(--text2);font-size:.9rem;margin-top:.2rem}
.page-meta{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.page-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* ── Buttons ───────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;transition:var(--trans);white-space:nowrap}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent2)}
.btn-ghost{background:var(--bg3);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-danger{background:var(--danger);color:#fff}
.btn-danger:hover{background:#c0392b}
.btn-danger-ghost{background:transparent;color:var(--text2);padding:.4rem .5rem}
.btn-danger-ghost:hover{color:var(--danger)}
.btn-sm{padding:.35rem .7rem;font-size:.78rem}
.btn-full{width:100%;justify-content:center}

/* ── KPI Cards ─────────────────────────────────── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:2rem}
.kpi-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:var(--trans);box-shadow:var(--shadow-sm)}
.kpi-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}
.kpi-icon{font-size:2rem}
.kpi-value{display:block;font-size:1.5rem;font-weight:700}
.kpi-label{display:block;font-size:.78rem;color:var(--text2)}

/* ── Projects grid ─────────────────────────────── */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.project-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:var(--trans);box-shadow:var(--shadow-sm)}
.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.card-top{display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:1rem;font-weight:600;line-height:1.3}
.card-title a:hover{color:var(--accent)}
.card-desc{font-size:.82rem;color:var(--text2);line-height:1.5}
.card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--text2)}
.card-actions{display:flex;align-items:center;gap:.4rem;margin-top:auto}

/* Carga badges */
.card-carga,.carga-icon{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}
.carga-1{background:rgba(39,174,96,.2);color:var(--c1)}
.carga-2{background:rgba(243,156,18,.2);color:var(--c2)}
.carga-3{background:rgba(230,126,34,.2);color:var(--c3)}
.carga-4{background:rgba(231,76,60,.2);color:var(--c4)}

/* Estado badges */
.card-estado{font-size:.72rem;padding:.2rem .55rem;border-radius:20px;font-weight:600}
.estado-activo{background:rgba(39,174,96,.15);color:var(--success)}
.estado-pausado{background:rgba(243,156,18,.15);color:var(--warning)}
.estado-finalizado{background:rgba(79,124,255,.15);color:var(--accent)}

/* Progress */
.card-progress,.detail-progress{display:flex;align-items:center;gap:.6rem}
.progress-bar{flex:1;height:6px;background:var(--bg3);border-radius:10px;overflow:hidden}
.progress-bar.large{height:10px}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:10px;transition:width .4s ease}
.progress-label,.progress-pct{font-size:.75rem;color:var(--text2);white-space:nowrap}

/* Meta */
.meta-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0}
.meta-equipo{font-size:.75rem;background:var(--bg3);padding:.15rem .5rem;border-radius:20px}
.meta-dates.vencido{color:var(--danger)}

/* ── Forms ─────────────────────────────────────── */
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;max-width:680px;box-shadow:var(--shadow-sm)}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.form-label{font-size:.82rem;font-weight:600;color:var(--text2)}
.form-input,.form-select,.form-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .9rem;color:var(--text);font-size:.88rem;transition:var(--trans);width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,124,255,.15)}
.form-textarea{resize:vertical;min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}
.input-wrapper{position:relative}
.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.9rem}
.input-wrapper .form-input{padding-left:2.2rem}
.toggle-pwd{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;color:var(--text2)}

/* Carga selector */
.carga-selector{display:flex;gap:.5rem}
.carga-btn{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg3);transition:var(--trans);gap:.2rem}
.carga-btn:hover{border-color:var(--text2)}
.carga-btn.selected.carga-1{border-color:var(--c1);background:rgba(39,174,96,.1)}
.carga-btn.selected.carga-2{border-color:var(--c2);background:rgba(243,156,18,.1)}
.carga-btn.selected.carga-3{border-color:var(--c3);background:rgba(230,126,34,.1)}
.carga-btn.selected.carga-4{border-color:var(--c4);background:rgba(231,76,60,.1)}
.carga-num{font-size:1.2rem;font-weight:700}
.carga-lbl{font-size:.65rem;color:var(--text2)}

/* ── Filters ───────────────────────────────────── */
.filters-bar{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:flex-end}
.filter-group{display:flex;flex-direction:column;gap:.3rem}
.filter-group label{font-size:.75rem;color:var(--text2);font-weight:600}
.filter-select,.filter-input{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .75rem;color:var(--text);font-size:.83rem}
.filter-input{width:220px}
.filter-search{flex:1}

/* ── Detail layout ─────────────────────────────── */
.detail-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}
.detail-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}
.detail-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.detail-section-title{font-size:1rem;font-weight:700;margin-bottom:.75rem}
.badge{background:var(--bg3);border-radius:20px;padding:.1rem .5rem;font-size:.75rem;margin-left:.4rem}
.info-list{display:grid;gap:.6rem}
.info-list dt{font-size:.75rem;color:var(--text2);font-weight:600}
.info-list dd{font-size:.88rem;display:flex;flex-direction:column;gap:.4rem}

/* ── Tasks ─────────────────────────────────────── */
.task-list{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0}
.task-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--bg);border:1px solid transparent;transition:var(--trans)}
.task-item:hover{border-color:var(--border)}
.task-item.done .task-name{text-decoration:line-through;color:var(--text2)}
.task-check{display:flex;align-items:center;flex-shrink:0;cursor:pointer}
.task-checkbox{display:none}
.checkmark{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);background:var(--bg2);display:flex;align-items:center;justify-content:center;transition:var(--trans)}
.task-checkbox:checked + .checkmark{background:var(--success);border-color:var(--success)}
.task-checkbox:checked + .checkmark::after{content:'✓';font-size:.7rem;color:#fff}
.task-name{flex:1;font-size:.88rem}
.task-desc{font-size:.75rem;color:var(--text2)}
.btn-task-delete{color:var(--text2);font-size:.75rem;opacity:0;transition:var(--trans);margin-left:auto}
.task-item:hover .btn-task-delete{opacity:1}
.btn-task-delete:hover{color:var(--danger)}
.task-empty{color:var(--text2);font-size:.85rem;text-align:center;padding:1rem}
.add-task-form{display:flex;gap:.5rem;margin-top:.75rem}
.add-task-form .form-input{flex:1}

/* ── Comentarios / Bitácora ────────────────────── */
.comments-list{display:flex;flex-direction:column;gap:1.25rem;max-height:400px;overflow-y:auto;padding-right:.5rem}
.comment-item{display:flex;gap:1rem}
.comment-avatar{width:36px;height:36px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}
.comment-body{background:var(--bg);border:1px solid var(--border);padding:.85rem;border-radius:var(--radius);flex:1;position:relative}
.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;gap:.5rem}
.comment-author{font-size:.85rem;font-weight:700;color:var(--accent)}
.comment-date{font-size:.7rem;color:var(--text2)}
.comment-text{font-size:.88rem;color:var(--text);line-height:1.4}

/* ── Calendar ──────────────────────────────────── */
.calendar-nav{display:flex;align-items:center;gap:.75rem}
.calendar-month-label{font-weight:700;font-size:1rem;min-width:140px;text-align:center}
.cal-legend{display:flex;gap:1.25rem;margin-bottom:1rem;flex-wrap:wrap}
.leg-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text2)}
.leg-dot{width:10px;height:10px;border-radius:50%}
.leg-dot.carga-1{background:var(--c1)}
.leg-dot.carga-2{background:var(--c2)}
.leg-dot.carga-3{background:var(--c3)}
.leg-dot.carga-4{background:var(--c4)}

.cal-grid{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.cal-header-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}
.cal-header-cell{padding:.6rem;text-align:center;font-size:.75rem;font-weight:700;color:var(--text2);background:var(--bg3)}
.cal-body{display:grid}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}
.cal-week:last-child{border-bottom:none}
.cal-day{min-height:90px;padding:.4rem;border-right:1px solid var(--border);position:relative;transition:background .15s}
.cal-day:last-child{border-right:none}
.cal-day:hover{background:var(--bg3)}
.cal-day.today .day-num{background:var(--accent);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.cal-day.other-month{opacity:.35}
.day-num{font-size:.75rem;font-weight:600;color:var(--text2);margin-bottom:.3rem}
.day-users{display:flex;flex-direction:column;gap:2px}
.day-user{display:flex;align-items:center;gap:3px;padding:2px 4px;border-radius:4px;cursor:pointer;transition:opacity .15s}
.day-user:hover{opacity:.8}
.day-avatar{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;flex-shrink:0}
.day-name{font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}
.day-user.carga-1{background:rgba(39,174,96,.15)}.day-user.carga-1 .day-avatar{background:var(--c1)}
.day-user.carga-2{background:rgba(243,156,18,.15)}.day-user.carga-2 .day-avatar{background:var(--c2)}
.day-user.carga-3{background:rgba(230,126,34,.15)}.day-user.carga-3 .day-avatar{background:var(--c3)}
.day-user.carga-4{background:rgba(231,76,60,.15)}.day-user.carga-4 .day-avatar{background:var(--c4)}
.cal-loading{padding:3rem;text-align:center;color:var(--text2)}

/* Tooltip */
.cal-tooltip{position:fixed;z-index:999;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;box-shadow:var(--shadow);min-width:180px;pointer-events:none;font-size:.8rem}
.tooltip-name{font-weight:700;margin-bottom:.3rem}
.tooltip-proj{color:var(--text2);margin:.15rem 0}
.tooltip-carga{margin-top:.4rem;font-size:.75rem}

/* ── Weekly Calendar Priorities ────────────────── */
.prio-1 { --border-color: var(--success); }
.prio-2 { --border-color: var(--warning); }
.prio-3 { --border-color: var(--danger); }
.prio-1-bg { background: var(--success); }
.prio-2-bg { background: var(--warning); }
.prio-3-bg { background: var(--danger); }

/* ── Login ─────────────────────────────────────── */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;overflow:hidden;position:relative;background:linear-gradient(135deg,#dbe9ff 0%,#f0f4fb 50%,#e8f0ff 100%)}
.login-bg{position:fixed;inset:0;z-index:0}
.login-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 12s ease-in-out infinite alternate}
.orb1{width:500px;height:500px;background:#3b82f6;top:-150px;left:-150px;animation-duration:14s}
.orb2{width:400px;height:400px;background:#6366f1;bottom:-100px;right:-100px;animation-duration:10s}
.orb3{width:300px;height:300px;background:#22d3ee;top:50%;left:40%;animation-duration:16s}
@keyframes drift{to{transform:translate(40px,30px) scale(1.05)}}
.login-container{position:relative;z-index:1;width:100%;max-width:440px;padding:1rem}
.login-card{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px rgba(30,79,204,.15)}
.login-logo{text-align:center;margin-bottom:2rem}
.login-logo-icon{font-size:3rem;margin-bottom:.5rem}
.login-title{font-size:1.6rem;font-weight:700;color:var(--accent);letter-spacing:-.01em}
.login-subtitle{color:var(--text2);font-size:.85rem;margin-top:.2rem}
.login-demo{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}
.demo-title{font-size:.75rem;color:var(--text2);text-align:center;margin-bottom:.5rem}
.demo-accounts{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.demo-btn{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:.3rem .75rem;font-size:.72rem;color:var(--text2);transition:var(--trans);font-weight:500}
.demo-btn:hover{border-color:var(--accent);color:var(--accent);background:#dce8ff}

/* ── Alerts / Modal ────────────────────────────── */
.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.alert-error{background:rgba(231,76,60,.15);border:1px solid rgba(231,76,60,.4);color:#ff8a80}
.alert-success{background:rgba(39,174,96,.15);border:1px solid rgba(39,174,96,.4);color:#69f0ae}
.modal-overlay{position:fixed;inset:0;background:rgba(30,67,204,.25);z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.modal{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;max-width:380px;text-align:center;box-shadow:0 20px 60px rgba(30,79,204,.2)}
.modal-icon{font-size:2.5rem;margin-bottom:.75rem}
.modal-title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.modal-desc{color:var(--text2);font-size:.88rem;margin-bottom:1.25rem}
.modal-actions{display:flex;gap:.75rem;justify-content:center}
.hidden{display:none!important}
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1.25rem;font-size:.85rem;box-shadow:0 8px 30px rgba(30,79,204,.15);z-index:2000;animation:slideUp .3s ease;font-weight:500}
.toast.success{border-color:var(--success);color:var(--success)}
.toast.error{border-color:var(--danger);color:var(--danger)}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* Section */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.section-title{font-size:1rem;font-weight:700}
.link-more{font-size:.82rem;color:var(--accent)}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--text2)}
.empty-icon{font-size:3rem;margin-bottom:.75rem}
.empty-state .btn{margin-top:1rem}

/* ── Team view ─────────────────────────────────── */
.tabs-bar{display:flex;gap:.4rem;margin-bottom:1.5rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:.5rem}
.tab-btn{padding:.5rem 1.1rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:.85rem;font-weight:600;color:var(--text2);background:var(--bg3);border:1px solid var(--border);border-bottom:none;transition:var(--trans);display:flex;align-items:center;gap:.4rem}
.tab-btn:hover{color:var(--text);background:var(--bg2)}
.tab-btn.active{background:var(--bg2);color:var(--accent);border-color:var(--accent);border-bottom-color:var(--bg2);margin-bottom:-1px}
.tab-badge{background:var(--bg);border-radius:20px;padding:.05rem .4rem;font-size:.7rem;font-weight:700}

.team-section-header{margin-bottom:1.25rem}
.team-section-title{font-size:1.1rem;font-weight:700}
.team-section-desc{font-size:.82rem;color:var(--text2);margin-top:.25rem}

.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2rem}
.member-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:var(--trans);box-shadow:var(--shadow-sm)}
.member-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}

.member-card-header{display:flex;align-items:center;gap:.75rem}
.member-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;border:2px solid var(--border)}
.carga-avatar-0{background:var(--bg3);color:var(--text2)}
.carga-avatar-1{background:rgba(39,174,96,.2);color:var(--c1);border-color:var(--c1)}
.carga-avatar-2{background:rgba(243,156,18,.2);color:var(--c2);border-color:var(--c2)}
.carga-avatar-3{background:rgba(230,126,34,.2);color:var(--c3);border-color:var(--c3)}
.carga-avatar-4{background:rgba(231,76,60,.2);color:var(--c4);border-color:var(--c4)}
.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.member-name{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-email{font-size:.72rem;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-carga-badge{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}

.member-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--bg3);border-radius:var(--radius-sm);padding:.65rem}
.mstat{display:flex;flex-direction:column;align-items:center;gap:.1rem}
.mstat-val{font-size:1.15rem;font-weight:700}
.mstat-lbl{font-size:.62rem;color:var(--text2);text-align:center}
.text-danger{color:var(--danger)}

.member-progress{display:flex;align-items:center;gap:.6rem}

.member-projects-title{font-size:.75rem;font-weight:700;color:var(--text2);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}
.member-proj-list{display:flex;flex-direction:column;gap:.3rem}
.member-proj-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--bg3);font-size:.8rem}
.member-proj-item:hover{background:var(--bg)}
.carga-xs{width:20px!important;height:20px!important;font-size:.7rem!important;border-radius:4px!important}
.member-proj-name{flex:1;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-proj-name:hover{color:var(--accent)}
.member-proj-dates{font-size:.7rem;color:var(--text2);white-space:nowrap;flex-shrink:0}
.member-no-proj{font-size:.8rem;color:var(--text2);text-align:center;padding:.5rem}

/* ── Responsive ────────────────────────────────── */
@media(max-width:900px){
  .detail-layout{grid-template-columns:1fr}
  .sidebar{position:fixed;transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-toggle,.menu-btn{display:flex}
  .main-content{padding:1rem}
  .projects-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:500px){
  .kpi-grid{grid-template-columns:1fr}
  .carga-selector{gap:.25rem}
}
