:root{
  --bg:#f5f4f0;--surface:#fff;--surface2:#f0efe9;--border:rgba(0,0,0,.10);--border2:rgba(0,0,0,.18);
  --text:#1a1a18;--text2:#6b6b66;--text3:#9e9e99;
  --accent:#d4440a;--accent-bg:#fdf0eb;--accent-text:#8a2a04;
  --info:#1a5fa8;--info-bg:#e8f0fb;--info-text:#0e3d72;
  --warn:#a06500;--warn-bg:#fef6e4;--warn-text:#7a4d00;
  --danger:#a32020;--danger-bg:#fdeaea;--danger-text:#7a1515;
  --success:#2a7a3b;--success-bg:#eaf6ed;--success-text:#1a5228;
  --enc-bg:#fff8e1;--enc-border:#f5c842;--enc-text:#7a5500;
  --exp-bg:#f0e8ff;--exp-border:#b08af0;--exp-text:#4a1fa0;
  --radius:10px;--radius-sm:6px;--shadow:0 1px 3px rgba(0,0,0,.07);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  background:var(--bg);color:var(--text);font-size:14px;min-height:100vh;
}
.app-header{
  background:var(--surface);border-bottom:1px solid var(--border);padding:0 1.5rem;
  display:flex;align-items:center;gap:1.5rem;min-height:54px;position:sticky;top:0;z-index:100;
  box-shadow:var(--shadow);flex-wrap:wrap;
}
.app-logo{font-size:15px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:8px;white-space:nowrap}
.app-logo span{color:var(--text2);font-weight:400}
nav{display:flex;gap:2px;flex:1;flex-wrap:wrap}
.nav-btn{
  padding:6px 15px;border:none;background:transparent;border-radius:var(--radius-sm);
  font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s;white-space:nowrap;
}
.nav-btn:hover{background:var(--surface2);color:var(--text)}
.nav-btn.active{background:var(--accent-bg);color:var(--accent-text);font-weight:600}

.content{padding:1.25rem;max-width:1500px;margin:0 auto}
.section{display:none}.section.active{display:block}
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow);
}
.card-title{
  font-size:14px;font-weight:600;color:var(--text);margin-bottom:1rem;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.actions{display:flex;gap:8px;flex-wrap:wrap}
label{font-size:12px;color:var(--text2);display:block;margin-bottom:3px;font-weight:500}
input[type=text],input[type=number],input[type=time],select,textarea{
  width:100%;padding:7px 10px;border:1px solid var(--border2);border-radius:var(--radius-sm);
  font-size:13px;background:var(--surface);color:var(--text);transition:border-color .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:320px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;resize:vertical;background:var(--surface2)}
.btn{
  padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap;border:1px solid transparent;
}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{opacity:.88}
.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border2)}
.btn-secondary:hover{background:var(--surface2)}
.toolbar{padding:.875rem 1.25rem;display:flex;gap:8px;flex-wrap:wrap}

.text-sm{font-size:12px;color:var(--text2);line-height:1.45}
.table-wrap{
  overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);
  max-height:70vh;
}
table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px}
th{
  background:var(--surface2);border:1px solid var(--border);padding:7px 6px;
  font-size:11px;font-weight:600;color:var(--text2);text-align:center;white-space:nowrap;
  position:sticky;top:0;z-index:5;
}
td{border:1px solid var(--border);padding:3px;vertical-align:middle;text-align:center;min-width:108px;height:58px}
td:first-child,th:first-child{
  text-align:left;min-width:210px;padding-left:12px;background:var(--surface2);
  position:sticky;left:0;z-index:4;
}
th:first-child{z-index:8}
tbody tr:hover td{background:#fbfaf6}
tbody tr:hover td:first-child{background:#e9e8e1}

.badge{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;
}
.badge-enc{background:var(--enc-bg);color:var(--enc-text);border:1px solid var(--enc-border)}
.badge-emp{background:var(--surface2);color:var(--text2);border:1px solid var(--border)}
.turno{
  padding:4px 7px;border-radius:5px;margin:3px;height:calc(100% - 6px);
  display:flex;flex-direction:column;justify-content:center;background:var(--info-bg);
  border-left:3px solid var(--info);font-weight:700;color:var(--info);
}
.turno.enc{background:var(--enc-bg);border-left-color:var(--enc-border);color:var(--enc-text)}
.turno .sub{font-size:10px;color:var(--text2);font-weight:500;margin-top:1px}
.libre{
  display:flex;align-items:center;justify-content:center;height:100%;
  font-size:10px;color:var(--text3);
  background:repeating-linear-gradient(-45deg,var(--surface2),var(--surface2) 3px,var(--surface) 3px,var(--surface) 8px);
}
.alert{
  padding:9px 13px;border-radius:var(--radius-sm);font-size:12px;display:flex;
  align-items:flex-start;gap:7px;margin-bottom:8px;line-height:1.5;border:1px solid var(--border);
}
.alert-danger{background:var(--danger-bg);color:var(--danger-text);border-color:#f0b0b0}
.alert-warn{background:var(--warn-bg);color:var(--warn-text);border-color:#f5d88a}
.alert-success{background:var(--success-bg);color:var(--success-text);border-color:#8fc99c}

.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.config-grid>div{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}
.config-grid input{margin-top:3px;margin-bottom:7px;background:var(--surface)}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:1rem}
.kpi div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;box-shadow:var(--shadow)}
.kpi strong{font-size:28px;font-weight:700;color:var(--text);line-height:1;display:block}
.kpi span{font-size:11px;color:var(--text2);margin-top:4px;display:block}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:500}
.modal-overlay[hidden]{display:none}
.modal{
  background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;
  width:720px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.15);
}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.modal-close{background:none;border:none;cursor:pointer;color:var(--text2);font-size:18px;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}
.modal-close:hover{background:var(--surface2)}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:1rem}

#employees-list.table-wrap,#projection-table.table-wrap,#schedule-table.table-wrap{padding:0}
#projection-table td{height:42px;min-width:112px}
#projection-table td:first-child{min-width:80px}
#projection-table .text-sm{font-size:10px;color:var(--text3)}
#schedule-table td:first-child strong{font-size:12px;color:var(--text)}
#schedule-table td:first-child .text-sm{font-size:10px;color:var(--text2)}
#schedule-table.card{padding:0;overflow:auto}

@media(max-width:800px){
  .app-header{height:auto;padding:.75rem}
  .content{padding:.75rem}
  .nav-btn{padding:6px 9px;font-size:12px}
  table{min-width:850px}
}


/* ===== V9 refinamiento visual estilo HTML antiguo ===== */
body{background:#f5f4f0}
.content{max-width:1320px}
.card{border-radius:10px}
.app-header{height:54px;min-height:54px}
#employees-list table{min-width:760px}
#employees-list td{height:auto;padding:9px 10px}
#employees-list td:first-child{background:#f7f6f1}
#employees-list strong{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--info-bg);color:var(--info-text);font-size:12px;margin-right:8px}
#employees-list tr:has(.badge-enc) td:first-child strong{background:var(--enc-bg);color:var(--enc-text)}
#employees-list .badge{font-size:10px}
#schedule-table table{font-size:12px}
#schedule-table th{
  height:50px;
  vertical-align:bottom;
}
#schedule-table th span.text-sm{
  display:block;
  margin-top:4px;
  font-size:10px;
  color:#7b7b75;
}
#schedule-table td{
  height:58px;
  background:#fff;
}
#schedule-table td:first-child{
  min-width:190px;
  background:#f0efe9;
}
#schedule-table tbody tr:nth-child(even) td:not(:first-child){background:#fdfdfb}
.turno{
  box-shadow:inset 0 0 0 1px rgba(26,95,168,.05);
  line-height:1.25;
}
.turno.enc{
  box-shadow:inset 0 0 0 1px rgba(245,200,66,.08);
}
.libre{
  min-height:52px;
  border-radius:4px;
}
#projection-table table{min-width:760px}
#projection-table td{height:38px;font-size:12px}
#projection-table td:first-child{min-width:80px;background:#f0efe9;color:#6b6b66;font-weight:600}
#projection-table th:first-child{min-width:80px}
#projection-table tr:nth-child(27) td,
#projection-table tr:nth-child(28) td,
#projection-table tr:nth-child(29) td,
#projection-table tr:nth-child(43) td,
#projection-table tr:nth-child(44) td,
#projection-table tr:nth-child(45) td{
  background:#fffbe8;
}
.toolbar{
  justify-content:space-between;
  align-items:center;
}
.toolbar::before{
  content:"Semana de turnos";
  font-weight:700;
  color:var(--text2);
  margin-right:auto;
}
#schedule-alerts .alert{
  margin-left:0;
  margin-right:0;
}
.kpi div{
  background:#fff;
}
.modal{
  width:560px;
}
@media(max-width:900px){
  .toolbar::before{display:none}
  #schedule-table td:first-child{min-width:160px}
}


/* ===== V10: cuadro de turnos visual como HTML antiguo ===== */
.content{
  max-width:1320px;
  padding:1.25rem;
}
.turnos-toolbar{
  padding:.875rem 1.25rem!important;
}
.flex-between{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.semana-nav{
  display:flex;
  align-items:center;
  gap:8px;
}
.semana-label{
  font-size:14px;
  font-weight:700;
  min-width:210px;
  text-align:center;
}
.toolbar-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.btn-sm{padding:4px 10px;font-size:12px}
.btn-ghost{
  background:transparent;
  color:var(--text2);
  border-color:transparent;
}
.btn-ghost:hover{background:var(--surface2)}
.turnos-card{
  padding:0!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.turnos-wrap{
  overflow:auto;
  max-height:70vh;
}
.turnos-table{
  border-collapse:collapse;
  width:100%;
  min-width:980px;
  font-size:12px;
}
.turnos-table th{
  background:var(--surface2);
  border:1px solid var(--border);
  padding:7px 6px;
  font-size:11px;
  font-weight:600;
  color:var(--text2);
  text-align:center;
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:6;
}
.turnos-table th:first-child{
  text-align:left;
  min-width:240px;
  padding-left:12px;
  z-index:9;
  left:0;
}
.turnos-table td{
  border:1px solid var(--border);
  padding:3px;
  vertical-align:middle;
  height:58px;
  min-width:112px;
  background:#fff;
}
.turnos-table td:first-child{
  position:sticky;
  left:0;
  z-index:4;
  background:var(--surface2);
}
.th-emp{
  vertical-align:bottom;
  color:var(--text2)!important;
}
.day-head{
  min-width:118px;
  vertical-align:bottom;
}
.day-title{
  color:var(--text);
  font-weight:700;
  font-size:12px;
  line-height:1.1;
}
.day-date{
  color:var(--text3);
  font-size:10px;
  font-weight:500;
  margin-top:1px;
}
.ratio-pill{
  height:17px;
  border-radius:5px;
  margin:5px auto 3px;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:17px;
  width:86%;
  max-width:98px;
}
.ratio-ok{background:#c73329}
.ratio-high{background:#c73329}
.ratio-low{background:#d96a3b}
.day-sales{
  color:var(--text2);
  font-size:10px;
  font-weight:500;
  line-height:1.15;
}
.day-hours{
  color:var(--text2);
  font-size:10px;
  font-weight:500;
  line-height:1.15;
}
.td-emp{
  padding:8px 12px!important;
  background:var(--surface2)!important;
  white-space:nowrap;
}
.td-emp-inner{
  display:flex;
  align-items:center;
  gap:8px;
}
.emp-avatar{
  width:30px!important;
  height:30px!important;
  border-radius:50%;
  background:var(--info-bg)!important;
  color:var(--info-text)!important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  flex-shrink:0;
}
.emp-avatar.enc{
  background:var(--enc-bg)!important;
  color:var(--enc-text)!important;
}
.td-emp-info{flex:1;min-width:0}
.td-emp-name{
  font-size:12px;
  font-weight:700;
  color:var(--text);
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.td-emp-hrs{
  font-size:10px;
  color:var(--text2);
  margin-top:1px;
}
.hrs-bar{
  height:4px;
  border-radius:2px;
  background:var(--border);
  margin-top:3px;
  overflow:hidden;
}
.hrs-fill{
  height:100%;
  border-radius:2px;
  background:var(--info);
  transition:width .3s;
}
.emp-avatar.enc + .td-emp-info .hrs-fill,
.td-emp-inner:has(.emp-avatar.enc) .hrs-fill{
  background:#a06b00;
}
.hrs-fill.warn{background:var(--warn)}
.hrs-fill.over{background:var(--danger)}
.turno-cell{
  cursor:pointer;
  min-width:105px;
  height:58px;
  transition:background .1s;
}
.turno-cell:hover{background:var(--info-bg)!important}
.t-libre{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  min-height:52px;
  font-size:10px;
  color:var(--text3);
  background:repeating-linear-gradient(-45deg,var(--surface2),var(--surface2) 3px,var(--surface) 3px,var(--surface) 8px);
}
.t-asignado{
  padding:4px 7px;
  border-radius:5px;
  margin:3px;
  height:calc(100% - 6px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.t-emp-c{
  background:var(--info-bg);
  border-left:3px solid var(--info);
}
.t-enc-c{
  background:var(--enc-bg);
  border-left:3px solid var(--enc-border);
}
.t-horas{
  font-size:12px;
  font-weight:800;
}
.t-emp-c .t-horas{color:var(--info)}
.t-enc-c .t-horas{color:var(--enc-text)}
.t-sub{
  font-size:10px;
  color:var(--text2);
  margin-top:1px;
}
#schedule-table.card::before,
.toolbar::before{
  content:none!important;
}
@media(max-width:900px){
  .content{padding:.75rem}
  .turnos-table th:first-child{min-width:190px}
  .td-emp-name{max-width:125px}
}


/* ===== V11: edición manual de turnos ===== */
.form-group{margin-bottom:12px}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-danger{
  background:transparent;
  color:var(--danger);
  border-color:#f0b0b0;
}
.btn-danger:hover{background:var(--danger-bg)}
.alert-info{
  background:var(--info-bg);
  color:var(--info-text);
  border-color:#7aaee8;
}
.modal-shift{width:480px!important}
.t-vac{
  background:var(--success-bg)!important;
  border-left:3px solid var(--success)!important;
}
.t-vac .t-horas{
  color:var(--success-text)!important;
  font-size:11px;
}
.t-baja{
  background:var(--danger-bg)!important;
  border-left:3px solid var(--danger)!important;
}
.t-baja .t-horas{
  color:var(--danger-text)!important;
  font-size:11px;
}
.turno-cell{cursor:pointer}
.turno-cell:hover .t-asignado,
.turno-cell:hover .t-libre{
  outline:2px solid rgba(212,68,10,.20);
}

.day-original{
  color:#9e9e99;
  font-size:9px;
  font-weight:500;
  line-height:1.1;
  margin-top:1px;
}

/* V15 ratio visual */
.ratio-ok{background:#2a7a3b!important}
.ratio-high{background:#c73329!important}
.ratio-low{background:#d96a3b!important}

/* V17 variantes + aptitudes */
.variant-card{
  padding:.75rem 1rem!important;
  margin-bottom:.75rem!important;
}
.variant-title{
  font-weight:700;
  color:var(--text2);
  margin-bottom:.5rem;
}
.variant-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.aptitudes-table select{
  min-width:130px;
}
.aptitudes-table td{
  height:auto!important;
  padding:7px 8px!important;
}

/* V18 aptitudes, disponibilidad y sugerencias */
.availability-grid{
  overflow:auto;
}
.availability-table{
  min-width:1100px;
}
.availability-table td{
  height:auto!important;
  padding:8px!important;
  vertical-align:top;
}
.mini-check{
  display:flex;
  gap:5px;
  align-items:center;
  justify-content:center;
  font-size:11px;
  color:var(--text2);
}
.mini-times{
  margin-top:5px;
}
.mini-times input{
  font-size:11px;
  padding:4px;
}
.suggestions-box{
  margin-top:10px;
}
.suggest-title{
  font-weight:700;
  color:var(--text2);
  margin:6px 0;
}
.suggest-item{
  width:100%;
  border:1px solid var(--border);
  background:var(--surface2);
  border-radius:7px;
  padding:8px;
  margin-bottom:6px;
  cursor:pointer;
  text-align:left;
}
.suggest-item:hover{
  background:var(--accent-bg);
  border-color:var(--accent);
}
.suggest-item strong{
  color:var(--accent);
  margin-right:5px;
}
.suggest-item span{
  display:block;
  color:var(--text2);
  font-size:11px;
  margin-top:2px;
}

/* V19 validación importante en pestaña Horario */
.schedule-validation-mini{
  border:1px solid var(--border);
  border-radius:8px;
  padding:10px 12px;
  margin:-2px 0 10px;
  font-size:12px;
}
.schedule-validation-mini.ok{
  background:var(--success-bg);
  border-color:#8fc99c;
  color:var(--success-text);
}
.schedule-validation-mini.bad{
  background:var(--danger-bg);
  border-color:#f0b0b0;
  color:var(--danger-text);
}
.schedule-validation-mini.warn{
  background:var(--warn-bg);
  border-color:#f5d88a;
  color:var(--warn-text);
}
.sv-title{
  font-weight:800;
  margin-bottom:4px;
}
.sv-text{
  color:inherit;
  opacity:.9;
}
.sv-subtitle{
  font-weight:700;
  margin-top:7px;
  margin-bottom:2px;
}
.sv-list{
  margin:4px 0 0 18px;
  padding:0;
  line-height:1.45;
}
.sv-list li{
  margin:2px 0;
}

/* V21 ordenar tabla por entrada del día */
.sort-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.sort-controls label{
  margin:0;
  font-weight:700;
  color:var(--text2);
}
.sort-controls select{
  width:auto;
  min-width:150px;
  padding:5px 8px;
}

/* V24 aptitudes avanzadas */
.aptitudes-table{
  min-width:1250px;
}
.aptitudes-table th,
.aptitudes-table td{
  white-space:nowrap;
}
.aptitudes-table select{
  min-width:120px;
}

/* V33 empleados editar/eliminar */
.employee-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.days-checks{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface2);
}
.days-checks label{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:12px;
  font-weight:700;
}

/* V35 descanso preferente */
#employee-edit-rest-preference{
  max-width:280px;
}

/* V36 descansos dentro del apartado horario */
.rest-week-card{
  margin-bottom:.75rem;
}
.weekly-rest-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:8px;
}
.weekly-rest-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--border);
  background:var(--surface2);
  border-radius:8px;
  padding:8px 10px;
}
.weekly-rest-item strong{
  color:var(--text);
}
.weekly-rest-item span{
  display:block;
  font-size:11px;
  color:var(--text2);
  margin-top:2px;
}
.weekly-rest-item select{
  width:auto;
  min-width:150px;
  padding:5px 7px;
}

/* V37 calidad de avisos */
.info-list li{
  color:#48616b;
}
.info-panel{
  border:1px solid #b8d8e6;
  background:#eef8fc;
  color:#25566a;
  border-radius:8px;
  padding:10px 12px;
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
}
.info-panel strong{
  display:block;
  margin-bottom:4px;
}
.muted-warn{
  opacity:.82;
}

/* V39 import Orquest XLSX */
.import-block{
  border:1px solid var(--border);
  background:var(--surface2);
  border-radius:10px;
  padding:12px;
  margin-bottom:12px;
}
.import-block strong{display:block;margin-bottom:4px;color:var(--text)}
.import-result{margin-top:8px;line-height:1.45;color:var(--text2)}
.import-separator{
  text-align:center;
  color:var(--text2);
  font-weight:700;
  margin:10px 0;
}
#orquest-projection-files{padding:7px;background:var(--surface);border:1px solid var(--border);border-radius:7px;width:100%}

/* V40 descansos manuales de encargados */
.manager-rest-card{
  margin-bottom:.75rem;
}
.manager-rest-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(290px, 1fr));
  gap:8px;
}
.manager-rest-item{
  border:1px solid var(--border);
  background:var(--surface2);
  border-radius:8px;
  padding:8px 10px;
}
.manager-rest-head strong{
  color:var(--text);
}
.manager-rest-head span{
  display:block;
  font-size:11px;
  color:var(--text2);
  margin-top:2px;
}
.manager-rest-days{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.manager-rest-days label{
  border:1px solid var(--border);
  border-radius:7px;
  padding:4px 7px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  background:var(--surface);
}
.manager-rest-days label.active,
.manager-rest-days label:has(input:checked){
  border-color:var(--accent);
  background:var(--accent-bg);
  color:var(--accent);
}
.manager-rest-days input{
  margin-right:3px;
}
.manager-rest-quick{
  margin-top:7px;
  display:flex;
  gap:6px;
}
.btn-xs{
  padding:4px 7px!important;
  font-size:11px!important;
}

/* V41 memoria de turnos */
.schedule-memory-card{
  margin-bottom:.75rem;
}
.memory-empty{
  border:1px dashed var(--border);
  border-radius:8px;
  padding:10px 12px;
  color:var(--text2);
  background:var(--surface2);
  font-size:12px;
}
.memory-summary{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--text2);
  margin-bottom:8px;
}
.memory-summary strong{
  color:var(--accent);
  font-size:16px;
}
.memory-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:8px;
}
.memory-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--border);
  border-radius:8px;
  padding:8px 10px;
  background:var(--surface2);
}
.memory-item span{
  display:block;
  font-size:11px;
  color:var(--text2);
  margin-top:2px;
}
