/* ArteMedia Service Manager 1.1 · isolated public-facing dashboard */
body.asm-fullscreen{margin:0;background:#f4f6fa;color:#22334d;min-height:100vh}body.asm-fullscreen #wpadminbar{display:none}html:has(body.asm-fullscreen){margin-top:0!important}
.asm-frontend{margin:0 auto;max-width:none;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;color:#26364b;min-height:100vh;background:#f4f6fa}
.asm-frontend *{box-sizing:border-box}.asm-frontend .asm-shell{border:0;border-radius:0;min-height:100vh;box-shadow:none;grid-template-columns:234px minmax(0,1fr)}
.asm-frontend .asm-main{min-width:0}.asm-frontend .asm-side{position:relative;min-height:100vh}.asm-frontend .asm-nav-item{font-size:13px}.asm-frontend .asm-topbar{height:70px;background:#fff;border-bottom:1px solid #e5ebf3;display:flex;align-items:center;justify-content:space-between;padding:0 32px}
.asm-frontend .asm-content{padding:30px 34px 60px;max-width:1700px;margin:auto}.asm-frontend .asm-topbar-label{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#9aa7b6}.asm-frontend .asm-user{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:#53657b}.asm-frontend .asm-user>a{color:#cf3889;margin-left:10px;text-decoration:none;font-weight:750}
.asm-frontend .asm-kicker{color:#ca3b87;font-size:10px;font-weight:850;letter-spacing:1.7px;margin:0 0 9px}.asm-frontend .asm-heading{margin:0 0 25px}.asm-frontend .asm-heading h1{font-size:31px;color:#15253d;margin:0 0 8px;font-weight:800;letter-spacing:-.8px}.asm-frontend .asm-heading>div>p:last-child{font-size:13px;color:#8492a5;margin:0}
.asm-frontend a{text-decoration:none}.asm-frontend .asm-tools{margin:16px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.asm-frontend .asm-tools .asm-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.asm-frontend .asm-tools form{margin:0}
.asm-frontend .asm-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:750;line-height:1.25;padding:11px 15px;border-radius:9px;border:1px solid transparent;cursor:pointer;transition:.15s}
.asm-frontend .asm-btn-primary{background:#d23f90;border-color:#d23f90;color:#fff!important}.asm-frontend .asm-btn-primary:hover{background:#b82f78;border-color:#b82f78;color:#fff!important}.asm-frontend .asm-btn-outline{background:#fff;color:#45546a!important;border-color:#dce3ec}.asm-frontend .asm-btn-outline:hover{background:#f7f9fc}.asm-frontend .asm-btn-danger{color:#ae2946;background:#fff5f7;border-color:#fad4dd}.asm-frontend .asm-btn-danger:hover{background:#f9dfe5}
.asm-frontend .asm-stat-grid{margin:0 0 22px}.asm-frontend .asm-stat{min-height:130px}.asm-frontend .asm-grid{margin:0}.asm-frontend .asm-mt{margin-top:20px}.asm-frontend .asm-card-heading .asm-btn{padding:8px 12px}.asm-frontend .asm-quick{display:flex;flex-wrap:wrap;gap:10px;padding:10px 19px 22px}.asm-frontend .asm-quick .asm-btn{flex:1;min-width:140px}
.asm-frontend .asm-form{max-width:920px}.asm-frontend .asm-form-grid{gap:19px}.asm-frontend .asm-filters{gap:13px}.asm-frontend .asm-field input[type=number]{appearance:textfield}.asm-frontend .asm-delete{margin-top:20px;max-width:920px}.asm-frontend .asm-row-small{display:block}.asm-frontend .asm-muted{color:#8b9aac;font-size:12px}.asm-frontend .asm-pagination{padding:20px 4px}.asm-frontend .asm-map-grid{grid-template-columns:minmax(0,1.6fr) minmax(245px,.7fr)}
.asm-frontend.asm-guest{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 90% 5%,#26304a,transparent 45%),linear-gradient(150deg,#0c1829,#182b46)}.asm-frontend .asm-login{background:white;width:min(440px,100%);border-radius:19px;padding:37px 34px 33px;box-shadow:0 20px 70px #02061133}.asm-frontend .asm-login-icon{width:52px;height:52px;background:linear-gradient(145deg,#ee60a5,#aa2a75);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;border-radius:13px}.asm-frontend .asm-login h1{font-size:26px;color:#182b42;margin:23px 0 10px;letter-spacing:-.8px}.asm-frontend .asm-login h1 span{display:block;color:#d23f90}.asm-frontend .asm-login p{font-size:13px;color:#8191a2;line-height:1.65;margin:0 0 23px}.asm-frontend .asm-login form{margin:0}.asm-frontend .asm-login form p{margin:0 0 14px}.asm-frontend .asm-login form label{font-size:11px;color:#4a596d;font-weight:750;display:block;margin-bottom:6px}.asm-frontend .asm-login form input[type=text],.asm-frontend .asm-login form input[type=password]{width:100%;border:1px solid #d6dfec;border-radius:8px;padding:11px;background:#fff;color:#24334a;font-size:14px}.asm-frontend .asm-login form .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}.asm-frontend .asm-login #wp-submit{background:#d23f90;border:0;border-radius:9px;color:#fff;padding:12px;width:100%;font-size:13px;font-weight:800;cursor:pointer}.asm-frontend .asm-login>small{color:#97a4b5;font-size:11px;display:block;text-align:center;margin-top:20px}
@media(max-width:1120px){.asm-frontend .asm-map-grid{grid-template-columns:1fr}.asm-frontend .asm-content{padding:22px}.asm-frontend .asm-topbar{padding:0 22px}}
@media(max-width:950px){.asm-frontend .asm-shell{grid-template-columns:1fr}.asm-frontend .asm-side{min-height:auto}.asm-frontend .asm-nav{flex-direction:row;overflow-x:auto}.asm-frontend .asm-content{padding:20px 18px 40px}.asm-frontend .asm-topbar{height:55px}}
@media(max-width:600px){.asm-frontend .asm-content{padding:19px 12px 45px}.asm-frontend .asm-heading h1{font-size:25px}.asm-frontend .asm-stat-grid{grid-template-columns:1fr 1fr}.asm-frontend .asm-stat{min-height:105px}.asm-frontend .asm-topbar-label{display:none}.asm-frontend .asm-topbar{justify-content:flex-end}.asm-frontend .asm-form-grid{grid-template-columns:1fr}.asm-frontend .asm-login{padding:28px 23px}.asm-frontend .asm-filters{grid-template-columns:1fr 1fr}.asm-frontend .asm-filters .asm-field:first-of-type{grid-column:1/-1}.asm-frontend .asm-quick .asm-btn{min-width:120px}.asm-frontend .asm-table{min-width:700px}}
/* CSV import view */
.asm-frontend .asm-csv-panel{max-width:950px}.asm-frontend .asm-import-note{padding:12px 14px;margin:16px 0;background:#f5f8fc;border:1px solid #e2e9f1;border-radius:9px;color:#41536b;font-size:12px;line-height:1.65}
.asm-frontend .asm-import-form{margin-top:18px}.asm-frontend .asm-import-form input[type=file]{width:100%;padding:14px;background:#fff;border:1px dashed #c5cfdf;border-radius:10px;color:#30435d;cursor:pointer}.asm-frontend .asm-import-form input[type=file]::file-selector-button{margin-right:12px;border:1px solid #d5deea;background:#f8fafc;border-radius:6px;padding:8px;cursor:pointer}
.asm-frontend .asm-csv-preview{margin-top:14px;background:#f8fafc;border:1px solid #e1e6ef;border-radius:10px;padding:15px;color:#53647a;font-size:12px;overflow-x:auto}.asm-frontend .asm-csv-preview.is-error{border-color:#f3b3c4;background:#fff4f7;color:#a02244}.asm-frontend .asm-csv-preview .asm-import-summary{font-weight:750;margin:0 0 12px}.asm-frontend .asm-csv-preview .asm-table{min-width:450px;font-size:12px}.asm-frontend .asm-csv-preview small{display:block;margin-top:12px;color:#7a8a9d}.asm-frontend .asm-import-count{display:inline-block;padding:3px 9px;margin:3px;background:#ffffffaa;border-radius:5px}.asm-frontend .asm-import-form button:disabled{opacity:.5;cursor:not-allowed}

/* v1.4 — recordatorios */
.asm-reminder-fields { grid-column: 1 / -1; padding: 13px 14px; border: 1px solid #e5e9f3; border-radius: 10px; background: #f8f9fd; }
.asm-reminder-fields h3 { margin: 0 0 4px; font-size: 16px; color: #1c2a44; }
.asm-reminder-fields p { margin: 0; }
.asm-reminder-toggles { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 10px; }
.asm-reminder-toggles label { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.5; color: #344054; }
.asm-reminder-toggles input { margin-top: 2px; flex-shrink: 0; }
@media(max-width:650px) { .asm-reminder-toggles { grid-column: 1 / -1; } }

/* v1.4.2 — Los checkboxes no deben heredar el ancho de inputs de texto.
 * El bloque ocupa una fila completa y mantiene las etiquetas legibles. */
.asm-form-grid > .asm-reminder-toggles {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 13px;
  min-width: 0;
  width: 100%;
  flex: none;
  padding: 15px 17px;
  border: 1px solid #e5e9f3;
  border-radius: 10px;
  background: #fff;
}
.asm-form-grid .asm-reminder-toggles label {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  width: 100%;
  margin: 0;
  flex: none;
  white-space: normal;
  overflow-wrap: break-word;
  color: #344054;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}
.asm-form-grid .asm-reminder-toggles input[type="checkbox"] {
  box-sizing: border-box;
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 1px 0 0;
  padding: 0;
  border-radius: 4px;
  box-shadow: none;
  cursor: pointer;
}
@media (max-width: 600px) {
  .asm-form-grid > .asm-reminder-toggles { padding: 14px 12px; }
}

/* v1.4.3 — mapa integrado al panel principal, responsive y con enlaces a expedientes. */
.asm-dashboard-map-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;flex-wrap:wrap}
.asm-dashboard-map-header h2{font-size:18px;line-height:1.3;margin:0 0 4px;color:#243650}
.asm-dashboard-map-header p{font-size:12px;line-height:1.55;color:#7a8ba0;margin:0}
.asm-dashboard-map .asm-map-title{margin-bottom:12px;color:#324961;font-size:13px}
.asm-dashboard-map .asm-map-fallback,.asm-dashboard-map .asm-leaflet-map{height:345px}
.asm-dashboard-map .asm-map-fallback{margin:0}
.asm-dashboard-map .asm-dashboard-map-note{margin:12px 0 0}
.asm-dashboard-map .asm-approx-dot{color:#269f97}
.asm-dashboard-map .asm-map-list-body{max-height:340px;overflow-y:auto}
.asm-dashboard-map-list{display:flex;flex-direction:column;min-height:0}
.asm-dashboard-map-list .asm-map-list-body{flex:1}
.asm-dashboard-map-list-footer{border-top:1px solid #e9eef4;padding:12px 16px}
.asm-dashboard-map-list-footer .asm-btn{width:100%}
@media(max-width:600px){
  .asm-dashboard-map-header{align-items:flex-start}
  .asm-dashboard-map-header .asm-btn{width:100%}
  .asm-dashboard-map .asm-map-fallback,.asm-dashboard-map .asm-leaflet-map{height:300px}
  .asm-dashboard-map .asm-map-title{flex-wrap:wrap}
}
