/* ===== SOURCE: styles.css ===== */
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f5f7;color:#202124}.layout{display:flex;min-height:100vh}aside{position:fixed;left:0;top:0;bottom:0;width:230px;background:#111;color:#fff;padding:22px 14px}aside h2{margin:0 10px 25px}aside small{color:#aaa}nav button{width:100%;border:0;background:none;color:#ddd;text-align:left;padding:12px;border-radius:7px;margin:2px 0;cursor:pointer}nav button.active,nav button:hover{background:#b3131b;color:#fff}main{margin-left:230px;width:calc(100% - 230px);padding:28px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.red{background:#b3131b;color:#fff;border:0;border-radius:7px;padding:11px 16px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card,.panel{background:white;border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 2px 12px #0001}.card strong{display:block;font-size:28px;margin-top:8px}.toolbar{display:flex;gap:10px;margin-bottom:15px}.toolbar>*{padding:10px;border:1px solid #ddd;border-radius:7px}.toolbar input{flex:1}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #eee;text-align:left}.table button{border:0;padding:7px;border-radius:5px;cursor:pointer}.paid{color:#177a36;font-weight:bold}.pending{color:#b3131b;font-weight:bold}.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;z-index:10}.hidden{display:none}.box,.receiptBox{background:#fff;border-radius:12px;padding:25px;width:min(700px,95%);max-height:90vh;overflow:auto}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.box label{font-size:13px}.box input,.box select{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #ddd;border-radius:6px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.empty{text-align:center;padding:50px}.receiptPaper{max-width:700px;margin:auto;border:1px solid #ddd;padding:35px}.receiptPaper h1{text-align:center}.receiptHeader{display:flex;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:15px}.receiptTotal{font-size:25px;font-weight:bold;text-align:right;margin-top:30px}.receiptActions{display:flex;gap:10px;justify-content:center;margin-top:20px}@media(max-width:800px){aside{width:65px}aside h2{font-size:0}aside h2:first-letter{font-size:25px}nav button span{display:none}main{margin-left:65px;width:calc(100% - 65px);padding:15px}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media print{aside,header,.receiptActions{display:none!important}main{margin:0;width:100%;padding:0}.receiptBox{box-shadow:none;width:100%}}
.editBtn{background:#eee;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer}.editBtn:hover{background:#ddd}

.payEditBtn{background:#eee;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer}.box>label{display:block;margin-top:10px}.box>label input,.box>label select{width:100%;padding:9px;margin-top:5px;border:1px solid #ddd;border-radius:6px}
.receiptAction{background:#eee;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer}.receiptAction:hover{background:#ddd}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}.card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.card strong{display:block;font-size:22px;margin-top:6px}

.gradeEditBtn,.gradeHistoryBtn{background:#eee;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer}.box textarea{width:100%;min-height:80px;padding:9px;margin-top:5px;border:1px solid #ddd;border-radius:6px}

.actions button{cursor:pointer}
.card{min-height:92px}

.pdfBtn,.sharePdfBtn{background:#eee;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer}

#reportSede,#reportMonth{min-width:180px}

#backupFile{display:block;margin:10px 0;padding:8px;border:1px solid #ddd;border-radius:6px;background:#fff}

/* v0.19 — mobile/responsive polish */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{max-width:100%;height:auto}
button,select,input,textarea{font:inherit}
button{min-height:42px}
.table{width:100%}
.panel{max-width:100%}
.mobile-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:800px){
  body{font-size:15px}
  header{position:sticky;top:0;z-index:20}
  nav{display:flex;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:thin}
  nav button{flex:0 0 auto;white-space:nowrap;padding:9px 11px}
  main,#content,.content{padding:10px!important}
  .panel{padding:12px!important;margin:10px 0!important;border-radius:10px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .card{padding:12px!important;min-width:0}
  .card strong{font-size:20px}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .toolbar select,.toolbar input{width:100%!important;min-width:0!important;min-height:42px}
  .actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .actions button{flex:1 1 145px}
  table.table{min-width:680px}
  .modal{padding:10px!important}
  .modal .box,.box{width:min(100%,560px)!important;max-height:92vh;overflow-y:auto;padding:16px!important}
}
@media (max-width:480px){
  .cards{grid-template-columns:1fr!important}
  h1{font-size:20px}
  h2{font-size:19px}
  .actions button{flex:1 1 100%}
}
@media print{
  nav,header .actions,.no-print{display:none!important}
  body{background:#fff}
  .panel{box-shadow:none!important;border:none!important}
}

/* KWAN SUL MANAGER v1.0 */
.card span{display:block;margin-top:6px;opacity:.8;font-size:.92em}

/* v1.0.1 — identidad visual KWAN SUL */
.main-logo{width:82px;height:82px;object-fit:cover;border-radius:50%;display:block;margin:6px auto;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.brand-logo-wrap{text-align:center;padding:8px}
@media (max-width:600px){.main-logo{width:64px;height:64px}}
@media print{.main-logo{width:72px;height:72px;box-shadow:none}}

/* v2.0 online */
#onlineEmail,#onlinePass{display:block;width:100%;padding:9px;margin:7px 0;border:1px solid #ddd;border-radius:6px}

/* KWAN SUL MANAGER MOBILE v1 */
.mobile-menu-btn{
  display:none;
  position:fixed;
  top:calc(10px + env(safe-area-inset-top));
  left:12px;
  z-index:1002;
  min-width:46px;
  min-height:46px;
  border:0;
  border-radius:12px;
  font-size:26px;
  line-height:1;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.mobile-menu-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.35);
}
.mobile-menu-backdrop.show{display:block}

@media (max-width: 820px){
  .mobile-menu-btn{display:block}
  body{padding-top:env(safe-area-inset-top)}
  nav{
    position:fixed!important;
    top:0;
    left:0;
    bottom:0;
    width:min(82vw,320px)!important;
    max-width:320px!important;
    z-index:1001!important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-top:calc(70px + env(safe-area-inset-top))!important;
    padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;
    display:block!important;
  }
  nav.mobile-open{transform:translateX(0)}
  nav button{
    display:flex!important;
    width:calc(100% - 20px)!important;
    margin:6px 10px!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:16px!important;
    padding:10px 12px!important;
  }
  main,#content,.content{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:72px 12px 18px!important;
  }
  header{
    margin-left:0!important;
    padding-left:68px!important;
    min-height:64px;
  }
  .cards{
    grid-template-columns:1fr!important;
  }
  .toolbar{
    grid-template-columns:1fr!important;
  }
  .toolbar select,.toolbar input{
    width:100%!important;
  }
  .panel{
    width:100%!important;
    max-width:100%!important;
  }
  .mobile-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  table.table{
    min-width:720px!important;
  }
  .modal .box,.box{
    width:calc(100vw - 24px)!important;
    max-width:560px!important;
    max-height:88vh!important;
    overflow:auto!important;
  }
}

@media (max-width: 480px){
  main,#content,.content{padding-left:10px!important;padding-right:10px!important}
  .card{padding:14px!important}
  h1{font-size:22px!important}
  h2{font-size:20px!important}
}

/* KWAN SUL MANAGER MOBILE v1.1 — menú lateral corregido */
@media (max-width: 820px){
  .mobile-menu-btn{
    display:flex!important;
    align-items:center;
    justify-content:center;
    position:fixed!important;
    top:calc(10px + env(safe-area-inset-top))!important;
    left:12px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    z-index:3001!important;
    border:0!important;
    border-radius:14px!important;
    font-size:28px!important;
    line-height:1!important;
    padding:0!important;
    margin:0!important;
  }

  .mobile-menu-backdrop{
    display:none!important;
    position:fixed!important;
    inset:0!important;
    z-index:2999!important;
    background:rgba(0,0,0,.38)!important;
  }
  .mobile-menu-backdrop.show{display:block!important}

  nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:300px!important;
    max-width:84vw!important;
    min-width:0!important;
    height:100dvh!important;
    z-index:3000!important;
    transform:translateX(-102%)!important;
    transition:transform .2s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:calc(78px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom)) 10px!important;
    margin:0!important;
    display:block!important;
    box-sizing:border-box!important;
  }

  nav.mobile-open{transform:translateX(0)!important}

  nav button,
  nav .nav-btn,
  nav [data-p]{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    margin:4px 0!important;
    padding:11px 12px!important;
    border-radius:10px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25!important;
    font-size:15px!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }

  nav button *{
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
  }

  body{
    overflow-x:hidden!important;
  }

  header{
    margin-left:0!important;
    padding-left:74px!important;
    min-height:66px!important;
    width:100%!important;
    box-sizing:border-box!important;
  }

  main,#content,.content{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:74px 12px 18px!important;
    box-sizing:border-box!important;
  }

  .cards{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .panel{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .toolbar{
    grid-template-columns:1fr!important;
  }

  .toolbar input,
  .toolbar select{
    width:100%!important;
    min-width:0!important;
  }

  table.table{
    min-width:720px!important;
  }
}

@media (max-width: 430px){
  nav{
    width:286px!important;
    max-width:88vw!important;
  }
  nav button,
  nav .nav-btn,
  nav [data-p]{
    font-size:14px!important;
    padding:10px 11px!important;
  }
}

/* MOBILE v1.2 — corrección real del contenedor ASIDE */
@media (max-width: 820px){
  aside{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:300px!important;
    max-width:84vw!important;
    min-width:0!important;
    height:100dvh!important;
    z-index:3000!important;
    transform:translateX(-102%)!important;
    transition:transform .22s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:calc(74px + env(safe-area-inset-top)) 10px calc(22px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
  }

  aside.mobile-open{
    transform:translateX(0)!important;
  }

  aside h2{
    display:block!important;
    margin:0 8px 14px!important;
    font-size:20px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }

  aside .club{
    display:block!important;
    margin:14px 8px 0!important;
    font-size:13px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }

  aside nav{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    transform:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }

  aside nav.mobile-open{
    transform:none!important;
  }

  aside nav button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    margin:4px 0!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25!important;
    font-size:15px!important;
    text-align:left!important;
  }

  aside nav button span{
    display:inline!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .mobile-menu-btn{
    z-index:3002!important;
  }

  .mobile-menu-backdrop{
    z-index:2999!important;
  }

  body.mobile-drawer-open{
    overflow:hidden!important;
  }

  main{
    margin-left:0!important;
    width:100%!important;
  }
}

@media (max-width:430px){
  aside{
    width:286px!important;
    max-width:88vw!important;
  }
}

@media (max-width:820px){
  header{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:92px!important;
    margin:0 0 14px!important;
    padding:calc(14px + env(safe-area-inset-top)) 14px 10px 150px!important;
    box-sizing:border-box!important;
  }
  header .main-logo, header img.main-logo{
    position:absolute!important;
    left:78px!important;
    top:calc(12px + env(safe-area-inset-top))!important;
    width:56px!important;
    height:56px!important;
    margin:0!important;
    z-index:2!important;
  }
  #title, header h1, header h2{
    margin:0!important;
    padding:0!important;
    font-size:21px!important;
    line-height:1.1!important;
    text-align:left!important;
    white-space:normal!important;
  }
  header p, header .subtitle, header small{
    display:block!important;
    margin:6px 0 0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.25!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .mobile-menu-btn{
    top:calc(12px + env(safe-area-inset-top))!important;
    left:12px!important;
  }
  main,#content,.content{padding-top:14px!important}
}
@media (max-width:430px){
  header{
    min-height:88px!important;
    padding-left:138px!important;
  }
  header .main-logo, header img.main-logo{
    left:74px!important;
    width:52px!important;
    height:52px!important;
  }
  #title, header h1, header h2{font-size:20px!important}
  header p, header .subtitle, header small{font-size:12px!important}
}

/* MOBILE v1.4 — Alumnos, Cuotas y Recibos táctiles */
@media (max-width:820px){
  body[data-page="students"] .panel,
  body[data-page="payments"] .panel,
  body[data-page="receipts"] .panel{
    padding:14px!important;
  }

  body[data-page="students"] .toolbar,
  body[data-page="payments"] .toolbar,
  body[data-page="receipts"] .toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .touch-field,
  body[data-page="students"] input,
  body[data-page="students"] select,
  body[data-page="payments"] input,
  body[data-page="payments"] select,
  body[data-page="receipts"] input,
  body[data-page="receipts"] select{
    width:100%!important;
    min-height:48px!important;
    padding:11px 12px!important;
    border-radius:10px!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }

  .touch-action,
  body[data-page="students"] button,
  body[data-page="payments"] button,
  body[data-page="receipts"] button{
    min-height:46px!important;
    padding:10px 14px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }

  .touch-phone{
    display:inline-block!important;
    padding:7px 9px!important;
    border-radius:8px!important;
    text-decoration:none!important;
    font-weight:600!important;
  }

  body[data-page="students"] .mobile-table-wrap,
  body[data-page="payments"] .mobile-table-wrap,
  body[data-page="receipts"] .mobile-table-wrap{
    margin:0 -4px!important;
    padding-bottom:6px!important;
  }

  body[data-page="students"] table.table,
  body[data-page="payments"] table.table,
  body[data-page="receipts"] table.table{
    min-width:760px!important;
    font-size:14px!important;
  }

  body[data-page="students"] table.table th,
  body[data-page="students"] table.table td,
  body[data-page="payments"] table.table th,
  body[data-page="payments"] table.table td,
  body[data-page="receipts"] table.table th,
  body[data-page="receipts"] table.table td{
    padding:10px 9px!important;
    vertical-align:middle!important;
  }

  body[data-page="students"] .actions,
  body[data-page="payments"] .actions,
  body[data-page="receipts"] .actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body[data-page="students"] .actions button,
  body[data-page="payments"] .actions button,
  body[data-page="receipts"] .actions button{
    width:100%!important;
  }

  /* Receipt modal optimized for sharing from iPhone */
  body[data-page="receipts"] .modal .box,
  body[data-page="receipts"] .box{
    width:calc(100vw - 20px)!important;
    max-height:90dvh!important;
    padding:14px!important;
    border-radius:14px!important;
  }

  body[data-page="receipts"] .receiptActions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body[data-page="receipts"] .receiptActions button{
    width:100%!important;
  }
}

@media (max-width:430px){
  body[data-page="students"] table.table,
  body[data-page="payments"] table.table,
  body[data-page="receipts"] table.table{
    min-width:720px!important;
  }
}

@media (max-width:820px){
 body[data-page="expenses"] .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
 body[data-page="expenses"] .toolbar select,body[data-page="expenses"] .toolbar button{width:100%!important;min-height:48px!important}
 body[data-page="expenses"] table.table{min-width:720px!important}
}

@media (max-width:820px){
 body[data-page="enrollment"] .panel{padding:14px!important}
 body[data-page="enrollment"] table.table{min-width:760px!important}
 body[data-page="enrollment"] button{min-height:46px!important;padding:10px 12px!important;border-radius:10px!important}
}

@media (max-width:820px){
  body[data-page="groups"] .panel{padding:14px!important}
  body[data-page="groups"] table.table{min-width:700px!important}
  body[data-page="groups"] button{min-height:46px!important;padding:10px 12px!important;border-radius:10px!important}
  body[data-page="groups"] .schedule-group h2{font-size:18px!important}
}
.registration-detail{background:#f7f7f7;border:1px solid #ddd;border-radius:12px;padding:12px 16px;margin:12px 0}.registration-detail p{line-height:1.55}.registration-detail b{color:#222}

/* KWAN SUL MANAGER v2.3 — Asistencia rápida por grupo */
.attendance-head .att-toolbar{align-items:end}
.att-toolbar label{display:flex;flex-direction:column;gap:5px;font-weight:600;flex:1}
.att-toolbar input,.att-toolbar select{min-height:44px;padding:9px;border:1px solid #ddd;border-radius:7px;background:#fff}
.att-day-hint{margin:8px 0 0;opacity:.75;font-size:.92em}
.att-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.att-actions button{padding:10px 14px;border-radius:8px;border:1px solid #ccc;cursor:pointer}
.att-summary .card strong{font-size:26px}
.att-add-extra{display:flex;gap:10px;align-items:center}
.att-add-extra select{flex:1;min-width:0;min-height:44px;padding:9px;border:1px solid #ddd;border-radius:7px;background:#fff}
.att-add-extra button{min-width:110px}
.att-list{display:grid;gap:8px}
.att-student{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #ddd;border-radius:10px;padding:10px 12px;background:#fff}
.att-student.is-absent{border-width:2px}
.att-student-main{min-width:0}
.att-student-main strong{display:block;white-space:normal}
.att-student-main span{display:block;margin-top:3px;font-size:.85em;opacity:.7}
.attToggle{min-width:118px;border:0;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer}
.attToggle.present{background:#e8f5ec;color:#176b35}
.attToggle.absent{background:#fdebec;color:#a20f1a}
.attRemoveExtra{width:42px;min-width:42px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer}
.att-note{margin:14px 0 0;font-size:.9em;opacity:.7}
@media(max-width:600px){
  .att-actions>*{flex:1 1 145px}
  .att-add-extra{display:grid;grid-template-columns:1fr}
  .att-add-extra button{width:100%}
  .att-student{grid-template-columns:minmax(0,1fr) auto}
  .attToggle{min-width:108px}
  .attRemoveExtra{grid-column:2;justify-self:end}
}

/* v2.4 completa */
.dash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e7e7e7}.dash-row:last-child{border-bottom:0}.link-btn{background:none!important;border:0!important;padding:0!important;text-align:left;color:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.profile-box{max-width:920px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.save-state{font-weight:700;color:#277a36;margin-left:8px}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}.dash-row{align-items:flex-start;flex-direction:column;gap:5px}.profile-box{width:min(96vw,920px)}}

#kwSyncNotice {position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff3cd;color:#513c00;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));font-size:14px;border-top:2px solid #b47700;box-shadow:0 -2px 8px #0002;}
#kwSyncNotice[hidden]{display:none;}
body:has(#kwSyncNotice:not([hidden])){padding-bottom:110px;}
/* Aviso persistente de almacenamiento. */
#storageWarning{position:sticky;bottom:0;z-index:10000;background:#fff3cd;color:#543c00;padding:14px;font:16px sans-serif;border-top:2px solid #ad7900;}

/* v2.6.0: ficha y controles de gestión */
.profile-box details{border-top:1px solid #ddd;padding:12px 0}.profile-box summary{cursor:pointer;font-weight:700;padding:8px 0}.profile-box .actions{flex-wrap:wrap}.profile-box details>p{line-height:1.5}.profile-box .table td{white-space:normal;overflow-wrap:anywhere}#globalSearchButton{flex-shrink:0}@media(max-width:650px){header{flex-wrap:wrap}#globalSearchButton{margin-left:auto}.profile-box{max-width:100%;box-sizing:border-box}}

/* v2.6.2: edición completa de ficha existente */
#modal .box{max-height:92vh;overflow:auto;-webkit-overflow-scrolling:touch}
#modal h3{margin:22px 0 10px}
#modal textarea{width:100%;box-sizing:border-box;resize:vertical}
#modal .full-width{grid-column:1/-1}
#modal .form-help{margin-top:-4px;color:#555}
.profile-alert{margin:10px 0 14px;padding:12px 14px;border:1px solid #e0a400;border-radius:10px;background:#fff8d8}
.button-link{display:inline-block;padding:7px 10px;border:1px solid #bbb;border-radius:8px;text-decoration:none;color:inherit;background:#fff;margin:2px}
.contact-actions{margin:10px 0 16px}

/* KWAN SUL MANAGER v2.7.2 — Frontend UX refresh */
:root{
  --ks-red:#b3131b;--ks-red-dark:#8f0f16;--ks-bg:#f6f7f9;--ks-surface:#fff;--ks-text:#1f2328;
  --ks-muted:#667085;--ks-border:#e4e7ec;--ks-success:#16794a;--ks-warning:#a15c00;--ks-radius:14px;
  --ks-shadow:0 6px 24px rgba(16,24,40,.07);
}
body{background:var(--ks-bg);color:var(--ks-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}
aside{background:linear-gradient(180deg,#141414 0%,#0d0d0e 100%);padding:18px 12px;border-right:1px solid #242424;display:flex;flex-direction:column}
aside h2{letter-spacing:.02em;margin:2px 10px 14px}.club{margin-top:auto;padding:14px 10px 4px;color:#ddd;border-top:1px solid #2b2b2b;font-size:12px}
.nav-group{margin:4px 0 12px}.nav-group-title{padding:7px 12px 4px;color:#7f8791;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#cfd3d8;font-weight:600;transition:background .15s ease,color .15s ease,transform .15s ease}
nav button:hover{background:#26282b;color:#fff}nav button.active{background:var(--ks-red);color:#fff;box-shadow:0 5px 14px rgba(179,19,27,.28)}
.nav-icon{width:24px;text-align:center;font-size:16px;flex:0 0 24px}.nav-label{min-width:0}
main{padding:26px 30px 40px;max-width:1600px}header{background:rgba(246,247,249,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 0 14px;border-bottom:1px solid transparent}
header h1{margin:0;font-size:28px;letter-spacing:-.02em}header p{margin:4px 0 0;color:var(--ks-muted)}
#globalSearchButton,#newBtn,.hero-actions button,.quick-grid button,.kpi-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
button{border:1px solid var(--ks-border);background:#fff;color:var(--ks-text);font-weight:650;border-radius:10px;padding:9px 13px}
button:hover{border-color:#cfd4dc;box-shadow:0 3px 12px rgba(16,24,40,.08)}button:active{transform:translateY(1px)}
button.red,.red{background:var(--ks-red);border-color:var(--ks-red);color:#fff}button.red:hover,.red:hover{background:var(--ks-red-dark);border-color:var(--ks-red-dark)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(179,19,27,.22);outline-offset:2px}
.panel,.card{border:1px solid var(--ks-border);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);background:var(--ks-surface)}
.panel{padding:20px}.panel h2,.panel h3{letter-spacing:-.015em;margin-top:0}.card{margin:0;min-height:112px}
.hero-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fff7f7 100%);border:1px solid #edd9da;box-shadow:var(--ks-shadow)}
.hero-panel h2{margin:3px 0 4px;font-size:26px;letter-spacing:-.025em}.hero-panel p{margin:0;color:var(--ks-muted)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.eyebrow{display:block;color:var(--ks-red);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.kpi-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 16px}.kpi-card{text-align:left;cursor:pointer;padding:17px;border:1px solid var(--ks-border)}.kpi-card span{font-weight:700;color:#49505a}.kpi-card strong{font-size:30px;line-height:1.05;margin:9px 0 5px}.kpi-card small{color:var(--ks-muted);font-weight:550}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-heading h2{margin:3px 0 0}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-grid button{display:grid;grid-template-columns:38px 1fr;text-align:left;column-gap:10px;align-items:center;padding:14px;background:#fbfbfc}.quick-grid button>span{grid-row:1/3;font-size:24px}.quick-grid b{align-self:end}.quick-grid small{color:var(--ks-muted);align-self:start}
.toolbar{background:#fff;border:1px solid var(--ks-border);padding:10px;border-radius:12px;box-shadow:0 2px 10px rgba(16,24,40,.03)}.toolbar>*{border-color:var(--ks-border)!important;background:#fff}
.mobile-table-wrap{border:1px solid var(--ks-border);border-radius:12px;overflow:auto}.table{background:#fff}.table th{position:sticky;top:0;background:#f8f9fb;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.045em;z-index:1}.table th,.table td{padding:12px 11px;border-bottom:1px solid #edf0f2}.table tr:hover td{background:#fbfcfd}.table tr:last-child td{border-bottom:0}
.paid{color:var(--ks-success)}.pending{color:#a1121a}
.modal{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.box,.receiptBox{border:1px solid var(--ks-border);box-shadow:0 18px 60px rgba(0,0,0,.22);border-radius:18px}.box input,.box select,.box textarea{border-color:var(--ks-border);min-height:42px}.box label{color:#475467;font-weight:650}.box h3{padding-top:6px;border-top:1px solid #eef0f3}
.profile-alert{border-color:#efc14d;background:#fff9e8}.dash-row{padding:12px 2px}
@media(max-width:1100px){.kpi-cards,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:820px){
  main{padding:76px 12px 24px!important}.nav-group-title{padding-left:14px}.club{display:none}header{border-radius:0;padding-right:2px!important}
  .hero-panel{padding:18px;border-radius:14px}.hero-panel h2{font-size:22px}.hero-actions{width:100%}.hero-actions button{flex:1 1 160px}
  .kpi-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi-card{min-height:104px!important;padding:14px!important}.kpi-card strong{font-size:26px}
  .quick-grid{grid-template-columns:1fr 1fr}.quick-grid button{min-height:76px}
  .table th{position:static}
}
@media(max-width:520px){.kpi-cards,.quick-grid{grid-template-columns:1fr!important}.hero-actions{display:grid;grid-template-columns:1fr}.quick-grid button{min-height:72px}.main-logo{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* v2.7.3 — copias automáticas de nube */
.kw-backup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(127,127,127,.18)}
.kw-backup-row:first-child{border-top:0}.kw-backup-row span{min-width:0;overflow-wrap:anywhere}.kw-backup-row button{flex:0 0 auto}


/* v2.7.4 — comodidad */
.header-back{white-space:nowrap}
.filter-active{background:var(--ks-red)!important;border-color:var(--ks-red)!important;color:#fff!important;box-shadow:0 4px 12px rgba(179,19,27,.2)!important}
.profileQuickPay,.profileQuickAttendance{font-weight:750}
@media(max-width:650px){header{gap:7px}.header-back{order:3;flex:0 0 auto}#globalSearchButton{order:4}#newBtn{order:5}.profile-box>.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-box>.actions button{width:100%}}


/* KWAN SUL MANAGER v2.7.6 — comodidad total */
#kwToast{position:fixed;left:50%;bottom:92px;z-index:12000;transform:translate(-50%,18px);opacity:0;background:#151515;color:#fff;padding:11px 16px;border-radius:999px;box-shadow:0 8px 28px #0004;pointer-events:none;transition:.18s ease}#kwToast.show{opacity:1;transform:translate(-50%,0)}
.kw-wa-box{max-width:650px}.kw-wa-box textarea{width:100%;box-sizing:border-box}.kw-search-box{max-width:760px;max-height:86vh;overflow:auto}.kw-search-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.kw-search-box>input{width:100%;font-size:17px;padding:12px;margin:8px 0 10px}.kw-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:11px 2px;border-top:1px solid var(--ks-border)}.kw-search-row>span{grid-column:1/2;color:var(--ks-muted);font-size:13px}.kw-search-row>div{grid-column:2;grid-row:1/3;display:flex;gap:6px}.kw-fav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kw-fav-list label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--ks-border);border-radius:10px}.kw-fav-list input{width:20px;height:20px}.kw-recent-list .dash-row>div{display:flex;gap:6px}
#kwQuickFab{display:none;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:8500;width:58px;height:58px;border-radius:50%;font-size:27px;background:var(--ks-red);color:#fff;border:0;box-shadow:0 10px 30px rgba(179,19,27,.38)}.kw-action-sheet{position:fixed;inset:0;z-index:13000;background:#0006;display:flex;align-items:flex-end;justify-content:center}.kw-action-sheet-card{width:min(100%,560px);background:#fff;border-radius:20px 20px 0 0;padding:10px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0003}.kw-action-handle{width:42px;height:5px;border-radius:999px;background:#d5d8dd;margin:1px auto 12px}.kw-action-sheet-card h3{margin:6px 4px 10px}.kw-action-sheet-card button{width:100%;min-height:48px;text-align:left;margin:4px 0}.studentWaBtn,.studentPayBtn,.studentAttBtn,.attWhatsapp{min-width:44px}.payMessageBtn{white-space:nowrap}
.status-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.status-chip.pending{background:#fff1f1;color:#9e151c}.status-chip.paid{background:#eaf8ef;color:#14683d}.status-chip.exempt{background:#eef1f4;color:#5d6670}
@media(max-width:820px){#kwQuickFab{display:block}.kw-search-box{width:96vw}.kw-fav-list{grid-template-columns:1fr}.att-student{grid-template-columns:minmax(0,1fr) auto auto}.attWhatsapp{grid-column:3;grid-row:1}.attRemoveExtra{grid-column:3;grid-row:2}.table td:last-child{min-width:185px}.studentWaBtn,.studentPayBtn,.studentAttBtn{padding:8px 9px}.kw-action-sheet-card button{font-size:16px}}
@media(max-width:520px){.kw-search-row{grid-template-columns:1fr}.kw-search-row>span,.kw-search-row>div{grid-column:1;grid-row:auto}.kw-search-row>div{justify-content:flex-start}.att-student{grid-template-columns:minmax(0,1fr) auto}.attWhatsapp{grid-column:2;grid-row:2}.attRemoveExtra{grid-column:2;grid-row:3}}

/* KWAN SUL MANAGER v2.7.6 — corrección móvil de ficha */
/* Los modales deben quedar por encima del menú móvil y del botón flotante. */
.modal{z-index:10000!important}
@media(max-width:650px){
  /* La tabla de la ficha no debe heredar el ancho mínimo de las tablas de listados. */
  .profile-box .table{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .profile-box .table th:first-child,.profile-box .table td:first-child{width:42%!important}
  .profile-box .table th,.profile-box .table td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  /* Las acciones principales de la ficha deben ocupar dos columnas en móvil. */
  .profile-box>.actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .profile-box>.actions button{width:100%!important;min-width:0!important;flex:none!important;margin:0!important}
}
@media(max-width:390px){
  .profile-box>.actions{grid-template-columns:1fr 1fr!important}
  .profile-box>.actions button{padding:10px 7px!important;font-size:14px!important}
}

/* ===== v2.7.8 · Pulido final de comodidad y prevención de errores ===== */
:root{--ks-ok:#176c3a;--ks-warn:#9a5b00;--ks-danger:#a71920}
.kw-sync-pill{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:8500;background:#fff;border:1px solid #d9dde3;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750;box-shadow:0 4px 18px #0002;max-width:min(78vw,340px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kw-sync-pill[data-state="ok"]{color:var(--ks-ok);border-color:#b9dfc7}.kw-sync-pill[data-state="warn"]{color:var(--ks-warn);border-color:#f0cc8c}
.kw-copy-btn{margin-left:8px!important;padding:4px 7px!important;font-size:11px!important;vertical-align:middle;background:#f2f4f7!important;border:1px solid #d8dde5!important;border-radius:7px!important}
.kw-skeleton{display:grid;gap:11px}.kw-skeleton span{height:18px;border-radius:7px;background:linear-gradient(90deg,#eef0f3 25%,#f8f9fb 37%,#eef0f3 63%);background-size:400% 100%;animation:kwShimmer 1.2s ease infinite}.kw-skeleton span:nth-child(2){width:80%}.kw-skeleton span:nth-child(3){width:58%}.kw-skeleton small{color:#667085}@keyframes kwShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.table td,.table th,.profile-box td,.profile-box th{overflow-wrap:anywhere;word-break:normal}.profile-box p,.profile-box details{overflow-wrap:anywhere}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1113;outline-offset:2px}
button:active{transform:scale(.985)}
.status-chip,.paid,.pending{font-variant-numeric:tabular-nums}
@media(max-width:800px){
  header{top:0;padding-top:max(6px,env(safe-area-inset-top));background:rgba(244,245,247,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .table th,.table td{padding:9px 8px;font-size:14px}.mobile-table-wrap{max-width:100%}
  .profile-box .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.profile-box .actions button{min-height:44px;width:100%}
  .box input,.box select,.box textarea{font-size:16px!important;min-height:44px}
  .kw-sync-pill{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 2px);right:10px;font-size:11px;max-width:62vw}
  #kwQuickFab{bottom:76px!important}
}
@media(prefers-reduced-motion:reduce){.kw-skeleton span{animation:none}button:active{transform:none}}

/* ===== v2.7.9 · Menos esfuerzo: centro de trabajo, excepciones y modo clase ===== */
.kw-v279-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.kw-big-action{min-height:112px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:16px;border-radius:18px}.kw-big-action span{font-size:28px}.kw-big-action b{font-size:17px}.kw-big-action small{opacity:.72}.kw-v279-kpis .card{cursor:pointer}.kw-v279-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.kw-v279-head>button{min-width:44px}.kw-attention-box,.kw-class-box{max-width:940px}.kw-attention-box details{margin:10px 0;padding:10px 0;border-top:1px solid var(--line,#ddd)}.kw-attention-box summary{font-weight:800;cursor:pointer}.kw-class-box{height:min(92vh,900px);display:flex;flex-direction:column}.kw-class-box #kwClassStudents{overflow:auto;overscroll-behavior:contain}.kw-class-summary{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;background:var(--surface,#fff);padding:10px 2px;border-bottom:1px solid var(--line,#ddd)}.kw-class-row{display:grid;grid-template-columns:118px minmax(140px,1fr) minmax(90px,.5fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#e5e5e5)}.kw-class-presence{white-space:nowrap}.kw-class-presence.is-absent{background:#fee2e2;border-color:#fecaca;color:#991b1b}.kw-class-actions{display:flex;gap:5px}.kw-class-actions button{min-width:42px}.kw-profile-command{margin:12px 0}.kw-profile-command .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.kw-profile-command .card strong{font-size:16px;overflow-wrap:anywhere}.kw-profile-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.kw-profile-actions button{min-height:44px}.kw-quick-edit{max-width:760px}.kw-family-card .section-heading{align-items:center}.kw-v279-search>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.kw-v279-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-v279-hero .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.kw-profile-command .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-profile-actions button:first-child{grid-column:span 2}.kw-class-row{grid-template-columns:106px minmax(0,1fr) auto}.kw-class-belt{grid-column:2}.kw-class-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}.kw-class-actions button{min-width:42px;min-height:40px}.kw-attention-box .dash-row,.kw-family-card .dash-row{align-items:flex-start}.kw-v279-search{grid-template-columns:minmax(0,1fr) auto}.kw-v279-search>span{grid-column:1 / -1;grid-row:2}}
@media(max-width:430px){.kw-v279-primary{gap:8px}.kw-big-action{min-height:100px;padding:12px}.kw-class-box{height:96vh;padding:14px}.kw-profile-actions{position:sticky;bottom:0;background:var(--surface,#fff);padding:8px 0;z-index:3}}
.kw-family-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.kw-family-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.kw-family-actions button{width:100%}}

/* ===== v2.8.0 · Asistente del club: Hoy, alertas, historial y menos esfuerzo ===== */
.kw-v280-box{max-width:940px}.kw-today-box{max-height:94vh;overflow:auto}.kw-v280-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0}.kw-v280-main-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kw-v280-main-actions button{min-height:88px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:16px}.kw-v280-main-actions small{font-size:12px;opacity:.72;font-weight:600}.kw-v280-secondary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.kw-v280-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.kw-alert-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ks-border,#e4e7ec)}.kw-alert-row>div:first-child{display:flex;flex-direction:column;min-width:0}.kw-alert-row small{display:block;color:var(--ks-muted,#667085)}.kw-alert-row.high,.kw-alert-row.p3{border-left:4px solid #b3191f;padding-left:10px}.kw-alert-row.medium,.kw-alert-row.p2{border-left:4px solid #c47a00;padding-left:10px}.kw-alert-row.low,.kw-alert-row.p1{border-left:4px solid #98a2b3;padding-left:10px}.kw-empty-ok{padding:18px;border-radius:12px;background:#edf8f1;color:#176c3a;font-weight:700}.kw-timeline{position:relative;margin:8px 0}.kw-timeline:before{content:"";position:absolute;left:18px;top:10px;bottom:10px;width:2px;background:#e2e5e9}.kw-timeline-row{display:grid;grid-template-columns:38px 1fr;gap:10px;position:relative;padding:9px 0}.kw-timeline-icon{width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #dde1e6;border-radius:50%;z-index:1}.kw-timeline-row div{display:flex;flex-direction:column}.kw-timeline-row small{color:#667085}.kw-batch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:50vh;overflow:auto;margin:12px 0}.kw-batch-list label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #e1e4e8;border-radius:10px}.kw-batch-list input{width:18px;height:18px}.kw-offline-banner{position:fixed;left:50%;transform:translateX(-50%);top:max(8px,env(safe-area-inset-top));z-index:20000;background:#7a4b00;color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:800;box-shadow:0 5px 20px #0003}.kw-offline-banner[hidden]{display:none}.kw-v280-command{margin-bottom:14px}
@media(max-width:800px){.kw-v280-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-v280-main-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-v280-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-batch-list{grid-template-columns:1fr}.kw-alert-row{align-items:flex-start}.kw-v280-secondary{display:grid;grid-template-columns:1fr 1fr}.kw-v280-secondary button{width:100%}}
@media(max-width:420px){.kw-v280-main-actions{gap:7px}.kw-v280-main-actions button{min-height:82px;padding:11px}.kw-v280-secondary{grid-template-columns:1fr}.kw-offline-banner{max-width:92vw;width:max-content;text-align:center}}

/* ===== v2.8.1 · Piloto cómodo: siguiente tarea y dock móvil ===== */
.kw-next-task{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#e7c6c8;background:linear-gradient(135deg,#fff 0%,#fff8f8 100%);margin-bottom:14px}.kw-next-task h2{margin:4px 0 3px;font-size:22px}.kw-next-task p{margin:0;color:var(--ks-muted,#667085)}.kw-next-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.kw-next-buttons button{min-height:44px}.kw-ease-dock{display:none}.kw-ease-dock button{border:0;background:transparent;box-shadow:none!important;border-radius:12px;padding:5px 8px;min-width:54px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#50555d}.kw-ease-dock button span{font-size:20px;line-height:1.1}.kw-ease-dock button small{font-size:10px;font-weight:750}.kw-ease-dock .kw-ease-main{background:var(--ks-red,#b3131b);color:#fff;min-width:62px;transform:translateY(-12px);box-shadow:0 8px 18px rgba(179,19,27,.25)!important}.kw-ease-dock.is-hidden,.kw-ease-dock.keyboard-hidden{display:none!important}
@media(max-width:820px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.kw-ease-dock{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:62px;z-index:8400;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #dfe3e8;border-radius:20px;box-shadow:0 8px 28px #0002;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:4px 6px}.kw-next-task{display:block;padding:15px}.kw-next-buttons{margin-top:12px;display:grid;grid-template-columns:1fr}.kw-next-buttons button{width:100%}#kwQuickFab{display:none!important}.kw-sync-pill{bottom:calc(82px + env(safe-area-inset-bottom))!important}}
@media(min-width:821px){.kw-ease-dock{display:none!important}}

/* v3.0.13 · Piloto automático */
.kw-auto-command{border:1px solid rgba(220,38,38,.18);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.kw-auto-main-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.kw-auto-box{max-width:820px}
.kw-auto-box .kw-toggle{display:flex;align-items:center;gap:10px;padding:12px 0}
.kw-auto-box .kw-toggle input{width:22px;height:22px}
.kw-auto-task{align-items:center;gap:12px}
.kw-auto-task>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.kw-auto-match{display:block;margin-top:5px;font-weight:700;color:#8a4b00}
@media(max-width:700px){.kw-auto-main-actions>button{flex:1 1 100%}.kw-auto-task{align-items:flex-start}.kw-auto-task>div:last-child{width:100%;justify-content:flex-start}.kw-auto-box .grid{grid-template-columns:1fr}}

/* KWAN SUL MANAGER v3.0.13 — comodidad acumulada */
.kw-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.kw-live-strip button{border:1px solid #e4e8ee;background:#fff;border-radius:18px;padding:12px 8px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 8px 22px rgba(17,24,39,.05)}.kw-live-strip b{font-size:1.25rem;line-height:1}.kw-live-strip span{font-size:.78rem;color:#667085;text-align:center;font-weight:700}.kw-sync-compact{max-width:min(72vw,320px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media(max-width:820px){.kw-live-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 14px}.kw-live-strip button{min-height:64px;border-radius:16px}.kw-live-strip b{font-size:1.15rem}.kw-live-strip span{font-size:.76rem}body[data-page="home"] #backButton{display:none!important}}

/* ===== v3.0.13 · Comodidad optimizada: menos ruido y más información útil ===== */
.kw-dock-badge{position:absolute;top:2px;right:8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#b3131b;color:#fff;font-size:10px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 1px 4px #0003}.kw-ease-dock button{position:relative}.kw-dock-badge[hidden]{display:none!important}.kw-context-action{white-space:nowrap}.kw-home-simplified .kw-next-task,.kw-home-simplified .kw-v280-command{display:none!important}
@media(max-width:820px){body[data-page="home"] .kw-v279-primary,body[data-page="home"] .kw-v279-kpis{display:none!important}#globalSearchButton{display:none!important}header{gap:8px}header>div{min-width:0}header h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kw-context-action{min-height:42px;padding:8px 10px;font-size:13px}.kw-premium-overview{margin-top:8px}.kw-auto-command{margin-bottom:10px}.kw-live-strip{margin-top:8px}}

/* v3.0.13 · horarios flexibles */
.flex-schedule-box{max-width:680px}
.flex-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.flex-session-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--card,#fff)}
.flex-session-row input{width:22px;height:22px}
.flex-schedule-btn,#kwQFlexSchedule{margin-top:8px}
@media(max-width:640px){.flex-schedule-grid{grid-template-columns:1fr}.flex-schedule-box{max-height:88vh;overflow:auto}}
/* v3.0.13 · selector simple de horario fijo / mixto */
.schedule-editor-label{grid-column:span 1}.schedule-mode{display:block;margin-top:6px}.schedule-tabs,.quick-schedule-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;padding:4px;background:#f2f4f7;border-radius:12px}.schedule-tab{min-height:40px;border:0!important;background:transparent!important;color:#475467!important;box-shadow:none!important;border-radius:9px!important;font-weight:800}.schedule-tab.is-active{background:#fff!important;color:#b3131b!important;box-shadow:0 2px 8px #00000012!important}.schedule-panel select,#kwQScheduleFixed{width:100%}.schedule-mixed-summary{padding:10px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#fafafa;font-weight:700;line-height:1.35;margin-bottom:8px}.schedule-mixed-config,#kwQFlexSchedule{width:100%;min-height:44px}.quick-schedule-tabs{margin-top:6px}
.weekly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.week-day{background:var(--card,#fff);border:1px solid rgba(127,127,127,.18);border-radius:16px;padding:12px}.week-day h3{margin:0 0 10px}.week-session{width:100%;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:4px;margin:8px 0;padding:11px;border-radius:12px}.capacity-bar{height:6px;border-radius:999px;background:rgba(127,127,127,.18);overflow:hidden}.capacity-bar i{display:block;height:100%;background:currentColor;border-radius:inherit}.warning-panel{border-left:4px solid #c77b00}.compact{padding:10px;margin:10px 0}@media(max-width:800px){.weekly-grid{grid-template-columns:1fr 1fr}.week-session{min-height:76px}}@media(max-width:480px){.weekly-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading>.actions{width:100%}.section-heading>.actions button{flex:1 1 45%}}


/* ===== SOURCE: premium-v291.css ===== */
/* KWAN SUL MANAGER v3.0.13 — Visual Premium */
:root{
  --kw-ink:#111318;--kw-charcoal:#191c22;--kw-red:#b3131b;--kw-red-2:#d52a32;
  --kw-cream:#fffaf7;--kw-surface:#ffffff;--kw-bg:#f2f4f7;--kw-line:#e6e9ee;
  --kw-muted:#667085;--kw-green:#157347;--kw-amber:#b26a00;--kw-blue:#1f5ca8;
  --kw-radius-xl:22px;--kw-radius-lg:16px;--kw-shadow-premium:0 14px 40px rgba(17,19,24,.09);
}
body{background:radial-gradient(circle at 90% -10%,rgba(179,19,27,.07),transparent 30%),linear-gradient(180deg,#f8f9fb 0,#f2f4f7 100%);}
main{position:relative}.panel,.card{overflow:hidden}
.panel{border-color:rgba(17,19,24,.08);box-shadow:0 7px 26px rgba(17,19,24,.055)}
.card{border-color:rgba(17,19,24,.08);box-shadow:0 6px 18px rgba(17,19,24,.045)}
header{position:sticky;top:0;z-index:40;background:rgba(248,249,251,.86)!important;border-bottom:1px solid rgba(17,19,24,.06)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.main-logo{border:3px solid #fff;box-shadow:0 7px 24px rgba(17,19,24,.14)!important}
.hero-panel,.kw-auto-command{position:relative;isolation:isolate;border-radius:var(--kw-radius-xl)!important;border:1px solid rgba(179,19,27,.13)!important;background:linear-gradient(135deg,#fff 0%,#fff9f8 55%,#f7f3f2 100%)!important;box-shadow:var(--kw-shadow-premium)!important}
.hero-panel:after,.kw-auto-command:after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(179,19,27,.13),rgba(179,19,27,0) 70%);z-index:-1}
.eyebrow{color:var(--kw-red)!important;letter-spacing:.11em!important}
.kw-auto-command h2,.hero-panel h2{font-weight:850;letter-spacing:-.035em!important}
.kw-auto-main-actions,.kw-v280-main-actions,.kw-v279-primary{gap:12px!important}
.kw-auto-main-actions button,.kw-v280-main-actions button,.kw-v279-primary button{border-radius:15px!important}
button.red,.red{background:linear-gradient(135deg,var(--kw-red-2),var(--kw-red))!important;box-shadow:0 8px 20px rgba(179,19,27,.22)}
button.red:hover,.red:hover{filter:brightness(.96)}

/* Premium overview */
.kw-premium-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin:0 0 16px}
.kw-premium-card{background:rgba(255,255,255,.92);border:1px solid rgba(17,19,24,.08);border-radius:var(--kw-radius-xl);box-shadow:var(--kw-shadow-premium);padding:19px}
.kw-premium-card h3{margin:2px 0 14px;font-size:18px;letter-spacing:-.02em}.kw-premium-card p{margin:0;color:var(--kw-muted)}
.kw-premium-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kw-metric{padding:13px;border-radius:15px;background:#f8f9fb;border:1px solid var(--kw-line)}
.kw-metric b{display:block;font-size:24px;line-height:1.05;letter-spacing:-.035em}.kw-metric small{display:block;margin-top:5px;color:var(--kw-muted);font-weight:650}
.kw-progress-list{display:grid;gap:12px}.kw-progress-line{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.kw-progress-line>span{font-weight:720;font-size:13px}.kw-progress-line>small{color:var(--kw-muted);font-weight:700}.kw-progress-track{grid-column:1/-1;height:8px;border-radius:999px;background:#edf0f3;overflow:hidden}.kw-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--kw-red),var(--kw-red-2));min-width:3px}
.kw-progress-fill.green{background:linear-gradient(90deg,#157347,#2ea867)}.kw-progress-fill.blue{background:linear-gradient(90deg,#1f5ca8,#4e8dd2)}

/* KPI cards */
.cards .card{position:relative}.cards .card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent}
.cards .card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,19,24,.08)}
.kpi-card,.kw-v279-kpis .card{border-radius:17px!important;background:linear-gradient(180deg,#fff,#fbfcfd)!important}
.kpi-card strong,.kw-v279-kpis strong{font-weight:860;letter-spacing:-.04em}

/* Status pills */
.kw-status-badge,.status-pill{display:inline-flex!important;align-items:center;gap:5px;width:auto!important;padding:5px 9px!important;border-radius:999px!important;font-size:11px!important;line-height:1!important;font-weight:850!important;letter-spacing:.025em!important;text-transform:uppercase;background:#eef1f4;color:#475467;white-space:nowrap}
.kw-status-paid{background:#e8f6ee!important;color:#146c43!important}.kw-status-pending{background:#fff0f1!important;color:#a1121a!important}.kw-status-warning{background:#fff6df!important;color:#9a5b00!important}.kw-status-info{background:#eaf2fc!important;color:#1f5ca8!important}.kw-status-muted{background:#eef0f2!important;color:#5d6672!important}

/* Visual lists */
.dash-row{border-bottom:1px solid rgba(17,19,24,.06)!important}.dash-row:last-child{border-bottom:0!important}.dash-row:hover{background:#fafbfc;border-radius:10px}
.table{border-collapse:separate!important;border-spacing:0}.table th{background:#f6f7f9!important}.table td{vertical-align:middle}.table tbody tr{transition:.15s ease}.table tbody tr:hover{transform:scale(1.002)}
.link-btn{font-weight:780!important;color:var(--kw-ink)!important;text-decoration:none!important}.link-btn:hover{color:var(--kw-red)!important}
.kw-avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;margin-right:8px;background:linear-gradient(135deg,#22262d,#111318);color:#fff;font-size:11px;font-weight:850;vertical-align:middle;box-shadow:0 4px 10px rgba(17,19,24,.13)}

/* Profile */
.profile-box,.kw-v279-box,.kw-v280-box{background:linear-gradient(180deg,#fff,#fbfcfd)!important}.kw-profile-command{border:0!important;background:linear-gradient(135deg,#f9fafb,#fff6f6)!important;border-radius:18px!important;padding:14px!important}.kw-profile-command .card{min-height:88px!important;background:#fff!important}.kw-profile-actions{position:sticky;bottom:-1px;z-index:4;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:10px 0 2px!important;border-top:1px solid rgba(17,19,24,.06)}
details{border:1px solid var(--kw-line);border-radius:14px;margin:9px 0;background:#fff;overflow:hidden}details summary{padding:13px 15px;cursor:pointer;font-weight:800;background:#fafbfc}details[open] summary{border-bottom:1px solid var(--kw-line)}

/* Bottom navigation */
.kw-bottom-nav{background:rgba(18,20,25,.92)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 14px 40px rgba(0,0,0,.28)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}.kw-bottom-nav button{color:#f0f2f4!important;background:transparent!important;border:0!important}.kw-bottom-nav button:hover{box-shadow:none!important;background:rgba(255,255,255,.08)!important}.kw-bottom-nav .primary,.kw-bottom-nav button:nth-child(3){background:linear-gradient(135deg,var(--kw-red-2),var(--kw-red))!important;color:#fff!important;box-shadow:0 7px 20px rgba(179,19,27,.34)!important}

/* Modals and forms */
.modal{background:rgba(10,12,16,.58)!important}.box,.receiptBox{border-radius:22px!important}.box input,.box select,.box textarea{border-radius:11px!important;background:#fcfcfd}.box input:focus,.box select:focus,.box textarea:focus{background:#fff;border-color:rgba(179,19,27,.55)!important;box-shadow:0 0 0 4px rgba(179,19,27,.08)}
.kw-search-box>input{border:1px solid var(--kw-line);border-radius:14px;background:#f9fafb}.kw-search-row{padding:13px 4px!important}.kw-search-row:hover{background:#fafbfc;border-radius:12px}

/* Empty states */
.empty,.kw-premium-empty{border:1px dashed #d7dce2;border-radius:18px;background:linear-gradient(180deg,#fff,#fafbfc);color:var(--kw-muted)}

/* Premium registration form */
.kw-reg-premium .card{box-shadow:0 9px 30px rgba(17,19,24,.07)!important;border-color:rgba(17,19,24,.08)!important}.kw-reg-premium .head{padding:18px 8px}.kw-reg-premium .head h1{letter-spacing:-.025em}.kw-reg-premium .submit{background:linear-gradient(135deg,var(--kw-red-2),var(--kw-red))!important;box-shadow:0 10px 24px rgba(179,19,27,.23)}

@media(max-width:980px){.kw-premium-overview{grid-template-columns:1fr}.kw-premium-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
  body{background:#f5f6f8}.kw-premium-card{padding:15px;border-radius:17px}.kw-premium-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kw-metric{padding:10px}.kw-metric b{font-size:20px}.kw-metric small{font-size:11px}
  .panel{border-radius:16px!important}.kw-profile-actions{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}.mobile-table-wrap{border-radius:14px!important}
}
@media(max-width:480px){.kw-premium-metrics{grid-template-columns:1fr 1fr}.kw-premium-metrics .kw-metric:last-child{grid-column:1/-1}.kw-avatar{width:27px;height:27px;border-radius:9px}}

/* v3.0.13 — privacidad visual al pasar la app a segundo plano */
#kwPrivacyShield{position:fixed;inset:0;z-index:2147483647;background:#111318;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font:700 18px/1.5 system-ui,-apple-system,sans-serif;opacity:0;pointer-events:none;transition:opacity .12s ease}#kwPrivacyShield.show{opacity:1;pointer-events:auto}#kwPrivacyShield small{font-weight:500;opacity:.75}.security-transport-warning{position:sticky;top:0;z-index:2147483646;background:#7f1d1d;color:white;padding:10px 14px;text-align:center;font-weight:700}


/* ===== SOURCE: platform-v300.css ===== */

/* KWAN SUL MANAGER v3.0.13 · estabilidad, accesibilidad y rendimiento */
.skip-link{position:fixed;left:12px;top:-80px;z-index:100000;background:#111318;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800}.skip-link:focus{top:12px}
.kw-sr-live{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid #0b6cff!important;outline-offset:3px!important}
button,input,select,textarea{touch-action:manipulation}
button{min-height:44px}
.kw-offline #onlineSyncBadge,.kw-offline .online-badge{border-color:#b36a00!important}
@media(max-width:720px){header button,.actions button,.quick-grid button,.kw-live-strip button{min-height:46px}.table td,.table th{overflow-wrap:anywhere}.modal .box{max-height:calc(100dvh - 20px);overflow:auto;-webkit-overflow-scrolling:touch}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){:root{--line:#7d838c}.panel,.card,.modal .box{border-width:2px!important}button{border-width:2px!important}}


/* ===== SOURCE: enhancements-v320.css ===== */
.kw-att-search320 input{width:100%;margin-bottom:.5rem}.kw-search-results320{display:grid;gap:.4rem}.kw-search-results320 button{text-align:left;display:flex;justify-content:space-between;gap:1rem}.kw-search-results320 small{opacity:.75}.kw-v320-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0 1rem}.kw-profile-actions320{margin-bottom:1rem}.kw-history320{max-height:320px;overflow:auto}.kw-history320 p{margin:.4rem 0;padding-bottom:.4rem;border-bottom:1px solid var(--line,#ddd)}@media(max-width:700px){.kw-search-results320 button{display:block}.kw-search-results320 small{display:block;margin-top:.2rem}}


/* ===== SOURCE: enhancements-v330.css ===== */
/* KWAN SUL MANAGER v3.5.0 */
.kw330-message-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin:1rem 0}.kw330-message-grid button{min-height:48px}.kw330-bulk-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:320px;overflow:auto;gap:.35rem;padding:.6rem;border:1px solid #d9dde5;border-radius:12px;margin:.5rem 0 1rem}.kw330-bulk-list label{display:flex;align-items:center;gap:.45rem;padding:.35rem}.kw330-profile .cards{margin-bottom:.8rem}body[data-page="followup"] #newBtn,body[data-page="admin330"] #newBtn{display:none!important}@media(max-width:700px){.kw330-message-grid{grid-template-columns:1fr}.kw330-bulk-list{grid-template-columns:1fr}}


/* ===== SOURCE: enhancements-v340.css ===== */
/* KWAN SUL MANAGER v3.5.0 */
#kwBell340,#kwModeButton340{position:relative;white-space:nowrap}.kw340-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px}.kw340-notice{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;margin:8px 0;padding:12px;border:1px solid #d9dde5;border-radius:12px;background:#fff}.kw340-notice.danger{border-color:#f1b4ae}.kw340-notice.warn{border-color:#f1d18a}.kw340-notice.info{border-color:#b8d8ef}.kw340-notice span,.kw340-event small{display:block;color:#667085;margin-top:3px}.kw340-timeline{display:grid;gap:8px}.kw340-event{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.kw340-event.is-done{opacity:.55}.kw340-event.is-done b{text-decoration:line-through}.kw340-chart-row{display:grid;grid-template-columns:32px 1fr 90px;gap:10px;align-items:center;margin:8px 0}.kw340-chart-row>div{height:26px;display:flex;flex-direction:column;gap:3px;justify-content:center}.kw340-chart-row i,.kw340-chart-row em{display:block;height:9px;border-radius:999px;background:currentColor;min-width:1px}.kw340-chart-row i{color:#344054}.kw340-chart-row em{color:#98a2b3}.kw340-check{display:block;padding:10px 0;border-bottom:1px solid #eee}.kw340-class-search{margin:10px 0}.kw340-class-search #kwClassResults340{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.kw340-dashboard .card{cursor:pointer}.dash-row small{display:block;color:#667085;margin-top:2px}body[data-kw-mode="class"] #kwToolsNav340 button[data-p="inventory340"],body[data-kw-mode="class"] #kwAdvancedNav330{display:none!important}body[data-kw-mode="admin"] #kwToolsNav340 button[data-p="calendar340"]{display:none!important}@media(max-width:760px){#kwModeButton340{font-size:0}#kwModeButton340::first-letter{font-size:16px}.kw340-event{align-items:flex-start;flex-direction:column}.kw340-chart-row{grid-template-columns:28px 1fr 72px}.kw340-dashboard .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kw340-search-result{display:block;width:100%;text-align:left;margin:5px 0;padding:10px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.kw340-search-result:hover{background:#f7f8fa}#kwUResults340 h3{margin:14px 0 5px}


/* ===== SOURCE: design-v370.css ===== */
/* KWAN SUL MANAGER v3.7.0 · UX/UI/Product refinement */
:root{
  --ks-bg:#f5f6f8;--ks-surface:#fff;--ks-surface-2:#fafbfc;--ks-ink:#15171b;--ks-muted:#667085;
  --ks-line:#e7e9ee;--ks-red:#b3131b;--ks-red-dark:#8f0e15;--ks-green:#157347;--ks-amber:#a15c00;
  --ks-radius:18px;--ks-radius-sm:12px;--ks-shadow:0 10px 30px rgba(17,19,24,.06);
}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;background:var(--ks-bg);color:var(--ks-ink)}
main{max-width:1500px}
header{min-height:82px;gap:14px;padding:10px 0;margin-bottom:18px}
header>div{min-width:0;flex:1}header h1{font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.035em;margin:0 0 3px}header p{margin:0;color:var(--ks-muted);font-size:13px}
#globalSearchButton,#newBtn,.header-back{border:1px solid var(--ks-line);background:#fff;border-radius:13px;padding:10px 14px;font-weight:750;color:var(--ks-ink);box-shadow:0 2px 8px rgba(17,19,24,.04)}
#newBtn{border:0!important;color:#fff!important}
.panel,.card{border:1px solid var(--ks-line)!important;border-radius:var(--ks-radius)!important;box-shadow:var(--ks-shadow)!important}
.panel{padding:20px}.card{padding:17px}
.section-heading{align-items:flex-start}.section-heading h2,.section-heading h3{letter-spacing:-.025em;margin-top:4px}.section-heading p{color:var(--ks-muted)}
button{font-weight:720}.panel button:not(.red),.card button:not(.red),.actions button:not(.red){border:1px solid var(--ks-line);background:#fff;color:var(--ks-ink);border-radius:11px}
button.red,.red{background:linear-gradient(135deg,#c31922,var(--ks-red-dark))!important}

/* Sidebar: clearer hierarchy and less visual noise */
aside{background:#14161a!important;border-right:1px solid rgba(255,255,255,.06);padding-top:20px}
aside h2{letter-spacing:-.02em}.nav-group{margin:0 0 14px}.nav-group-title{padding:0 12px 5px;color:#737985!important;font-size:10px!important;font-weight:850!important;letter-spacing:.12em;text-transform:uppercase}
nav button{border-radius:11px!important;min-height:44px;padding:10px 11px!important;display:flex;align-items:center;gap:10px;font-weight:680;color:#c8ccd3!important}
nav button .nav-icon{width:22px;text-align:center;opacity:.9}nav button.active{background:#fff!important;color:#17191d!important;box-shadow:0 6px 18px rgba(0,0,0,.18)}nav button.active .nav-icon{filter:none}
.club{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;color:#d9dde3}.club small{display:block;margin-top:4px;color:#747b86!important;font-size:10px}

/* Home: product hierarchy */
.kw370-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 13px;border:1px solid var(--ks-line);background:rgba(255,255,255,.72);border-radius:14px;color:var(--ks-muted);font-size:13px}
.kw370-context b{color:var(--ks-ink)}.kw370-context-actions{display:flex;gap:6px;flex-wrap:wrap}.kw370-chip{min-height:32px!important;padding:6px 10px!important;border-radius:999px!important;font-size:12px!important}
.kw-next-task{border:1px solid rgba(179,19,27,.18)!important;background:linear-gradient(145deg,#fff,#fff8f8)!important;padding:22px!important}.kw-next-task .eyebrow{font-size:10px}.kw-next-task h2{font-size:clamp(22px,3vw,30px)!important;max-width:760px}.kw-next-buttons .red{min-width:150px}
.kw370-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.kw370-primary button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:15px;min-height:100px;border:1px solid var(--ks-line);background:#fff;border-radius:16px;box-shadow:0 3px 12px rgba(17,19,24,.035)}.kw370-primary button:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(17,19,24,.07)}.kw370-primary span{font-size:22px}.kw370-primary b{font-size:15px}.kw370-primary small{color:var(--ks-muted);font-weight:560;line-height:1.3}.kw370-primary button.is-primary{background:#191b20;color:#fff;border-color:#191b20}.kw370-primary button.is-primary small{color:#c9cdd4}
.kpi-cards,.kw-v279-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}.kpi-card,.kw-v279-kpis .card{min-height:112px!important}.kpi-card strong,.kw-v279-kpis strong{font-size:30px!important}
.kw370-more{margin-top:14px;border:1px solid var(--ks-line);border-radius:16px;background:#fff;overflow:hidden}.kw370-more>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.kw370-more>summary::-webkit-details-marker{display:none}.kw370-more>summary:after{content:"⌄";font-size:18px;color:var(--ks-muted)}.kw370-more[open]>summary:after{transform:rotate(180deg)}.kw370-more-body{padding:0 12px 12px}.kw370-more-body>.panel{box-shadow:none!important;margin:10px 0!important;background:var(--ks-surface-2)!important}

/* Lists and tables */
.table th{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#707782;background:#f7f8fa!important}.table td{padding-top:12px!important;padding-bottom:12px!important}.table tbody tr:hover{background:#fbfbfc;transform:none!important}.dash-row{padding:11px 4px}.dash-row small{color:var(--ks-muted)}
.toolbar{padding:10px;background:#fff;border:1px solid var(--ks-line);border-radius:15px;position:sticky;top:92px;z-index:8;box-shadow:0 5px 18px rgba(17,19,24,.04)}.toolbar>*{border-color:var(--ks-line)!important;background:#fafbfc!important;border-radius:10px!important}

/* Forms: scan by section, better tap targets */
.modal .box{border:1px solid rgba(255,255,255,.7);box-shadow:0 28px 70px rgba(0,0,0,.22)!important}.box h2{letter-spacing:-.03em}.box h3{margin:24px -2px 10px;padding-top:16px;border-top:1px solid var(--ks-line);font-size:15px}.box label{font-size:12px!important;font-weight:720;color:#4d5561}.box input,.box select,.box textarea{min-height:46px!important;border:1px solid #dfe3e8!important;background:#fbfcfd!important}.box textarea{min-height:92px!important}.box .actions{position:sticky;bottom:-16px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);padding:12px 0 calc(2px + env(safe-area-inset-bottom));border-top:1px solid var(--ks-line);z-index:5}

/* Status and destructive intent */
.paid{color:var(--ks-green)!important}.pending{color:#a40f17!important}.kw370-danger{color:#9f1118!important;border-color:#efc9cc!important;background:#fff8f8!important}

/* Mobile: compact top bar + strong 5-item dock */
@media(max-width:820px){
  body{background:#f6f7f9;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  main,#content,.content{padding-left:12px!important;padding-right:12px!important}
  main{padding-top:66px!important}
  header{position:fixed!important;top:0!important;left:0!important;right:0!important;height:64px!important;min-height:64px!important;margin:0!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px 66px!important;background:rgba(247,248,250,.94)!important;z-index:1200!important}
  .main-logo{display:none!important}header p{display:none}header h1{font-size:19px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #globalSearchButton{font-size:0!important;width:42px!important;min-width:42px!important;padding:0!important}#globalSearchButton::before{content:"⌕";font-size:24px!important;line-height:1}
  #newBtn{font-size:0!important;width:42px!important;min-width:42px!important;padding:0!important}#newBtn::before{content:"＋";font-size:25px!important;line-height:1}.header-back{font-size:0!important;width:42px!important;min-width:42px!important;padding:0!important}.header-back::before{content:"←";font-size:20px}
  .mobile-menu-btn{top:calc(8px + env(safe-area-inset-top))!important;left:10px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:12px!important;background:#17191d!important;color:#fff!important;box-shadow:none!important;font-size:23px!important}
  .kw370-context{margin-top:8px;display:block;padding:9px 11px}.kw370-context-actions{margin-top:7px}.kw370-primary{grid-template-columns:1fr 1fr;gap:8px}.kw370-primary button{min-height:92px;padding:12px}.kw370-primary span{font-size:20px}
  .kpi-cards,.kw-v279-kpis{grid-template-columns:1fr 1fr!important}.kpi-card,.kw-v279-kpis .card{min-height:96px!important;padding:13px!important}.kpi-card strong,.kw-v279-kpis strong{font-size:25px!important}
  .hero-panel{padding:16px!important}.hero-panel h2{font-size:22px!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}.hero-actions button{width:100%}
  .toolbar{top:70px!important;padding:8px!important;border-radius:13px!important}
  .kw-ease-dock{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;height:66px!important;border-radius:19px!important;background:rgba(19,21,25,.95)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 14px 36px rgba(0,0,0,.28)!important;padding:4px 5px!important}
  .kw-ease-dock button{color:#d9dde2!important;min-width:0!important;border-radius:11px!important}.kw-ease-dock button span{font-size:19px!important}.kw-ease-dock button small{font-size:9px!important;letter-spacing:.01em}.kw-ease-dock button.kw370-active{background:rgba(255,255,255,.11)!important;color:#fff!important}.kw-ease-dock .kw-ease-main{transform:translateY(-10px)!important;border:3px solid #f6f7f9!important;background:linear-gradient(145deg,#c81922,#8e0d14)!important;box-shadow:0 9px 24px rgba(179,19,27,.36)!important}
  .panel,.card{border-radius:15px!important}.panel{padding:14px!important}.cards{gap:8px!important}
  .modal{align-items:flex-end!important;padding:0!important}.modal .box,.box{width:100%!important;max-width:none!important;max-height:94dvh!important;border-radius:22px 22px 0 0!important;padding:18px 14px!important}.modal .box:before{content:"";display:block;width:40px;height:4px;border-radius:99px;background:#d7dbe0;margin:-7px auto 15px}
  .grid{gap:10px!important}.box .actions{bottom:-18px!important;margin-left:-14px!important;margin-right:-14px!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important}.box .actions button{min-height:48px!important}
  table.table{font-size:13px!important}.mobile-table-wrap{border:1px solid var(--ks-line);background:#fff}
}
@media(max-width:430px){.kw370-primary{grid-template-columns:1fr 1fr}.kw370-primary small{font-size:10.5px}.kpi-cards,.kw-v279-kpis{grid-template-columns:1fr 1fr!important}.kw370-context-actions .kw370-chip{flex:1}}


/* ===== SOURCE: resilience-v381.css ===== */
/* KWAN SUL MANAGER v3.13.4 · cierre profesional */
.kw380-cloud{display:inline-flex!important;align-items:center;gap:7px;min-height:36px!important;padding:7px 10px!important;border-radius:999px!important;border:1px solid var(--ks-line,#e7e9ee)!important;background:#fff!important;color:#4d5561!important;font-size:11px!important;font-weight:800!important;white-space:nowrap;box-shadow:none!important}
.kw380-dot{width:8px;height:8px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.13)}
.kw380-cloud.ok .kw380-dot{background:#198754;box-shadow:0 0 0 3px rgba(25,135,84,.13)}
.kw380-cloud.pending .kw380-dot,.kw380-cloud.checking .kw380-dot{background:#d48a00;box-shadow:0 0 0 3px rgba(212,138,0,.13)}
.kw380-cloud.conflict .kw380-dot,.kw380-cloud.error .kw380-dot{background:#b3131b;box-shadow:0 0 0 3px rgba(179,19,27,.13)}
.kw380-cloud.offline .kw380-dot,.kw380-cloud.nosession .kw380-dot{background:#667085}
.kw380-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 14px}.kw380-status-grid>div{padding:12px;border:1px solid var(--ks-line,#e7e9ee);border-radius:12px;background:#fafbfc}.kw380-status-grid small{display:block;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.kw380-status-grid b{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.kw380-safety small,.kw380-support .muted{color:#667085}.kw380-sync-panel{border-left:4px solid #d48a00!important}
@media(max-width:820px){.kw380-cloud{position:fixed!important;right:108px;top:calc(14px + env(safe-area-inset-top));z-index:1202;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center}.kw380-cloud-label{display:none}.kw380-dot{width:9px;height:9px}.kw380-status-grid{grid-template-columns:1fr}.kw380-support .actions,.kw380-safety .actions{display:grid!important;grid-template-columns:1fr!important}.kw380-support .actions button,.kw380-safety .actions button{width:100%}}


/* ===== SOURCE: material-v384.css ===== */
/* KWAN SUL MANAGER v3.13.4 — material claro */
.kw-material-overview384{overflow:visible}.kw-mat-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.kw-mat-title h2{margin:.1rem 0 .35rem}.kw-mat-title p,.kw-mat-section-head p{margin:.15rem 0;color:var(--muted,#687083)}.kw-mat-actions{display:flex;gap:8px;flex-wrap:wrap}.kw-mat-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.kw-mat-summary article{border:1px solid var(--line,#e2e5ea);border-radius:18px;padding:14px;background:var(--card,#fff);min-width:0}.kw-mat-summary small{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:var(--muted,#687083)}.kw-mat-summary strong{display:block;font-size:2rem;line-height:1.1;margin:7px 0 4px}.kw-mat-summary span{font-size:.8rem;color:var(--muted,#687083)}.kw-mat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 18px}.kw-mat-tabs button{min-height:48px;border-radius:14px;font-weight:800}.kw-mat-tabs button.active{background:#111318;color:#fff;border-color:#111318}.kw-mat-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}.kw-mat-section-head h3{margin:0 0 4px}.kw-mat-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kw-mat-size{border:1px solid var(--line,#e2e5ea);border-radius:16px;padding:12px;background:var(--card,#fff);opacity:.66}.kw-mat-size.has-data{opacity:1;border-color:#c7cbd3}.kw-mat-size-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.kw-mat-size-head strong{font-size:1.15rem}.kw-mat-dot{width:9px;height:9px;border-radius:50%;background:#b4000f;box-shadow:0 0 0 4px rgba(180,0,15,.08)}.kw-mat-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.kw-mat-metrics span{background:rgba(127,127,127,.07);border-radius:10px;padding:8px;min-width:0}.kw-mat-metrics b{display:block;font-size:1.15rem}.kw-mat-metrics small{display:block;font-size:.7rem;color:var(--muted,#687083);line-height:1.2}.kw-mat-pending{margin-top:8px;font-size:.75rem;font-weight:800;color:#8a5b00;background:#fff4d6;border-radius:9px;padding:6px 8px}.kw-mat-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--muted,#687083);font-size:.78rem}.kw-mat-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.kw-mat-legend .free{background:#17864b}.kw-mat-legend .reserved{background:#b4000f}.kw-mat-legend .incoming{background:#9b6b00}.kw-mat-details384{padding:0!important;overflow:hidden}.kw-mat-details384>summary{cursor:pointer;padding:18px 20px;font-weight:900;list-style:none}.kw-mat-details384>summary::-webkit-details-marker{display:none}.kw-mat-details384>summary:after{content:'▾';float:right}.kw-mat-details384[open]>summary:after{content:'▴'}.kw-mat-details-body{padding:0 14px 14px}.kw-mat-details-body>.panel{box-shadow:none;margin:10px 0;border:1px solid var(--line,#e2e5ea)}
@media(max-width:820px){.kw-mat-title{display:block}.kw-mat-actions{margin-top:12px}.kw-mat-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-mat-summary article:first-child{grid-column:1/-1}.kw-mat-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-mat-tabs{grid-template-columns:1fr}.kw-mat-tabs button{min-height:46px}.kw-mat-legend{display:grid;gap:6px}.kw-mat-details-body{padding:0 8px 8px}}
@media(max-width:390px){.kw-mat-size-grid{grid-template-columns:1fr}.kw-mat-summary{grid-template-columns:1fr 1fr}.kw-mat-summary strong{font-size:1.65rem}}


/* ===== SOURCE: enhancements-v385.css ===== */
/* KWAN SUL MANAGER v3.13.4 — mejoras de uso diario */
.kw385-filterbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:10px 0 12px;flex-wrap:wrap}.kw385-chips{display:flex;gap:6px;flex-wrap:wrap}.kw385-chips button{min-height:38px;border-radius:999px;padding:7px 12px;font-weight:800}.kw385-chips button.active{background:#111318;color:#fff;border-color:#111318}.kw385-filterbar select{min-height:42px;max-width:180px}.kw-mat-size[role="button"]{cursor:pointer}.kw-mat-size[role="button"]:focus-visible{outline:3px solid rgba(180,0,15,.25);outline-offset:2px}.kw385-detail-list{display:grid;gap:8px;margin:14px 0}.kw385-detail-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 12px;border:1px solid var(--line,#e1e4e9);border-radius:12px}.kw385-detail-list>div span{grid-column:1;color:var(--muted,#687083);font-size:.82rem}.kw385-detail-list>div button{grid-column:2;grid-row:1/3}.kw385-profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.kw385-profile-row small{display:block;font-weight:900;color:var(--muted,#687083);letter-spacing:.08em}.kw385-profile-row strong{display:block;margin-top:4px;font-size:1.05rem}.kw385-ok{font-weight:900;color:#18794e}.kw385-missing-reg .section-heading{align-items:center}.kw385-att-search{display:grid;gap:5px;margin:0 0 12px}.kw385-att-search input{min-height:44px}.kw385-att-search small{color:var(--muted,#687083)}.kw385-today{margin-top:12px}.kw385-cloudstate{font-size:.82rem;font-weight:900;padding:7px 10px;border-radius:999px;background:rgba(127,127,127,.09)}.kw385-today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.kw385-today-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:13px;border-radius:15px}.kw385-today-grid small{font-size:.68rem;font-weight:900;letter-spacing:.07em;color:var(--muted,#687083)}.kw385-today-grid strong{font-size:1.55rem}.kw385-today-grid span{font-size:.78rem;color:var(--muted,#687083)}.kw385-modal>input[type="search"]{width:100%;min-height:48px;margin:8px 0 12px}.kw385-search-out{display:grid;gap:7px;max-height:58vh;overflow:auto}.kw385-search-result{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:12px;border-radius:13px}.kw385-search-result b{font-size:1rem}.kw385-search-result span{font-size:.8rem;color:var(--muted,#687083)}
@media(max-width:760px){.kw385-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kw385-filterbar{align-items:stretch}.kw385-filterbar select{max-width:none;width:100%}.kw385-detail-list>div{grid-template-columns:1fr}.kw385-detail-list>div span,.kw385-detail-list>div button{grid-column:1;grid-row:auto}.kw385-profile-row{align-items:flex-start;flex-direction:column}.kw385-profile-row button{width:100%}.panel{margin-bottom:10px}.kw385-today-grid button{min-height:92px}.kw-mat-size-grid{gap:7px}.kw-mat-size{padding:10px}}

.kw385-search-modules{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#e1e4e9)}.kw385-search-modules>small{font-weight:900;letter-spacing:.08em;color:var(--muted,#687083)}.kw385-search-modules button{text-align:left;padding:10px 12px;border-radius:12px}


/* ===== SOURCE: enhancements-v391.css ===== */
/* KWAN SUL MANAGER v3.13.4 — interfaz diaria */
:root{--kw391-red:#df151d;--kw391-dark:#151515;--kw391-soft:#f6f7f9;--kw391-green:#17824b;--kw391-orange:#df7900;--kw391-blue:#2067b1}
.kw391-page-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.kw391-page-head h2{margin:.15rem 0;font-size:clamp(1.65rem,4vw,2.25rem)}.kw391-page-head p{margin:.2rem 0;color:#667085}
.kw391-prospect-grid{display:grid;gap:12px}.kw391-prospect-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #e7e9ee;border-radius:18px;padding:14px;box-shadow:0 7px 22px rgba(0,0,0,.04)}.kw391-prospect-card.is-registered{border-color:#bce6ce;background:#fbfffc}.kw391-avatar,.kw391-profile-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eef0f4;font-weight:900;color:#25272b}.kw391-prospect-main h3{margin:0 0 3px}.kw391-prospect-main p,.kw391-prospect-main small{margin:0;color:#667085;display:block}.kw391-status-pill{display:inline-flex;margin-top:6px;padding:5px 9px;border-radius:999px;background:#edf7f1;color:#126a3d;font-weight:800;font-size:.78rem}.kw391-prospect-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.kw391-prospect-actions button,.kw391-prospect-actions .button-link{min-height:40px}
.kw391-habit-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 10px;padding:10px 12px;border-radius:14px;background:#fff7e8;border:1px solid #ffd99c}.kw391-habit-banner div{display:flex;flex-direction:column}.kw391-habit-banner span,.kw391-habit-banner small{color:#82500a}.kw391-habit-row{border-left:4px solid #f0a227!important;background:#fffaf0!important}
.kw391-pay-toolbar{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(180px,2fr);gap:10px;align-items:center}.kw391-filter-chips{grid-column:1/-1;display:flex;gap:8px;overflow:auto}.kw391-filter-chips button.active{background:var(--kw391-red);color:#fff;border-color:var(--kw391-red)}.kw391-pay-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.kw391-pay-summary article{border-radius:16px;background:#f7f8fa;padding:12px}.kw391-pay-summary small{display:block;color:#667085;font-weight:800;font-size:.72rem}.kw391-pay-summary strong{display:block;font-size:1.45rem;margin-top:4px}.kw391-pay-list{display:grid;gap:8px}.kw391-pay-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid #eceef2}.kw391-pay-row:last-child{border-bottom:0}.kw391-pay-row.is-paid{background:#fbfffc}.kw391-pay-main{min-width:0;display:flex;flex-direction:column}.kw391-pay-main .link-btn{text-align:left;font-size:1rem;font-weight:900}.kw391-pay-main span{font-size:.8rem;color:#667085}.kw391-pay-actions{display:flex;gap:6px;align-items:center}.kw391-pay-actions button{min-height:38px}
.kw391-profile-hero{border-radius:20px;background:#f8f9fb;border:1px solid #e7e9ee;padding:16px;margin-bottom:14px}.kw391-profile-main{display:flex;align-items:center;gap:12px}.kw391-profile-main h2{margin:0 0 3px!important;display:block!important}.kw391-profile-main p{margin:0;color:#667085}.kw391-profile-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.kw391-profile-actions button{min-height:48px;font-weight:900}.kw391-profile-glance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.kw391-profile-glance article{background:#fff;border:1px solid #e7e9ee;border-radius:14px;padding:10px}.kw391-profile-glance small,.kw391-profile-glance span{display:block;color:#667085}.kw391-profile-glance strong{display:block;font-size:1.08rem;margin:4px 0}
.kw391-tracksuit{margin-top:12px}.kw391-tracksuit>.section-heading>strong{font-size:1.5rem}.kw391-tracksuit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.kw391-tracksuit-list>div{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:#f7f8fa}.kw391-tracksuit-list span,.kw391-tracksuit-list small{color:#667085;font-size:.82rem}
.kw391-home-trial{width:100%;display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid #e4e6eb;border-radius:16px;background:#fff;text-align:left}.kw391-home-trial>span{font-size:1.5rem}.kw391-home-trial div{display:grid;grid-template-columns:1fr auto;column-gap:12px;width:100%}.kw391-home-trial small{grid-column:1/-1;color:#667085;font-weight:900}.kw391-home-trial strong{font-size:1.55rem}.kw391-home-trial em{font-style:normal;color:#667085;align-self:center}
@media(max-width:760px){.kw391-page-head{align-items:flex-start}.kw391-prospect-card{grid-template-columns:auto 1fr}.kw391-prospect-actions{grid-column:1/-1;justify-content:stretch}.kw391-prospect-actions>*{flex:1}.kw391-pay-toolbar{grid-template-columns:1fr 1fr}.kw391-pay-toolbar input{grid-column:1/-1}.kw391-pay-summary{grid-template-columns:1fr 1fr}.kw391-pay-summary article:last-child{grid-column:1/-1}.kw391-pay-row{grid-template-columns:auto 1fr auto}.kw391-pay-row>strong{grid-column:3}.kw391-pay-actions{grid-column:2/4;justify-content:flex-end}.kw391-profile-actions{grid-template-columns:repeat(3,1fr)}.kw391-profile-glance{grid-template-columns:1fr}.kw391-habit-banner{align-items:flex-start;flex-direction:column}}


/* ===== SOURCE: enhancements-v393.css ===== */
/* KWAN SUL MANAGER v3.13.4 — cache/version hardening */


/* ===== SOURCE: enhancements-v398.css ===== */
/* KWAN SUL MANAGER v3.13.4 — rediseño visual fiel a la maqueta aprobada */
:root{
  --kw396-red:#df171e;--kw396-red2:#b90f15;--kw396-black:#111318;--kw396-black2:#25272b;
  --kw396-bg:#f3f4f6;--kw396-card:#fff;--kw396-line:#e4e6ea;--kw396-text:#17191d;
  --kw396-muted:#727886;--kw396-green:#14834b;--kw396-blue:#245f9f;--kw396-orange:#ef7c00;
  --kw396-radius:18px;--kw396-shadow:0 7px 24px rgba(22,25,30,.08)
}
html,body{background:var(--kw396-bg)}
body{color:var(--kw396-text)}
main{background:var(--kw396-bg)}
main>header{background:var(--kw396-black);color:#fff;border:0!important;box-shadow:none!important}
main>header h1{color:#fff!important} main>header p{color:#c6c9cf!important}.main-logo{border:2px solid var(--kw396-red)!important}
main>header button:not(.header-back){border-color:#41444b!important;background:#25282e!important;color:#fff!important}
#content{max-width:980px;margin:0 auto;padding-bottom:16px}
.panel{border:1px solid var(--kw396-line)!important;border-radius:var(--kw396-radius)!important;box-shadow:none!important;background:var(--kw396-card)!important}

/* INICIO */
.kw396-home{display:grid;gap:12px}.kw396-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-radius:20px;background:linear-gradient(135deg,#101216,#24272d);color:#fff;box-shadow:var(--kw396-shadow)}
.kw396-top-brand{display:flex;align-items:center;gap:10px;min-width:0}.kw396-top-brand img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--kw396-red)}.kw396-top-brand div{display:grid;line-height:1.04}.kw396-top-brand b{font-size:1rem;letter-spacing:.02em}.kw396-top-brand b span{color:#ff2d34}.kw396-top-brand small{margin-top:5px;color:#cfd2d7;font-size:.69rem}.kw396-sync{border-radius:14px;background:#30333a;padding:8px 10px;font-size:.7rem;font-weight:800;white-space:nowrap;color:#fff}.kw396-sync.ok{color:#9ce6ba}
.kw396-section{background:#fff;border:1px solid var(--kw396-line);border-radius:20px;padding:14px;box-shadow:var(--kw396-shadow)}.kw396-section-head{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:10px}.kw396-section-head h2{margin:0;font-size:1.08rem}.kw396-section-head a,.kw396-section-head button{font-size:.75rem;background:none;border:0;color:#666d79;padding:0}.kw396-eyebrow{display:block;font-size:.64rem;font-weight:950;letter-spacing:.13em;color:#848a95;margin-bottom:3px}
.kw396-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.kw396-kpi{border:0;border-radius:14px;min-height:94px;padding:9px 6px;display:grid;justify-items:center;align-content:center;gap:3px;text-align:center}.kw396-kpi i{font-style:normal;font-size:1.2rem}.kw396-kpi small{font-size:.64rem;font-weight:800;line-height:1.08;color:#343943}.kw396-kpi strong{font-size:1.45rem;line-height:1}.kw396-kpi.pay{background:#fff1f2;color:#d40f19}.kw396-kpi.reg{background:#f0f5ff;color:#1f5d9c}.kw396-kpi.rec{background:#eef9f2;color:#08753d}.kw396-kpi.mat{background:#fff5e8;color:#dd6900}
.kw396-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kw396-main-actions button{min-height:104px;border:0;border-radius:17px;padding:15px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'ico ttl' 'ico sub';align-items:center;column-gap:11px;text-align:left;color:#fff;box-shadow:var(--kw396-shadow)}.kw396-main-actions button.red{background:linear-gradient(145deg,#ed1c24,#c70f16)}.kw396-main-actions button.dark{background:linear-gradient(145deg,#292b30,#111318)}.kw396-main-actions i{grid-area:ico;font-style:normal;font-size:1.75rem}.kw396-main-actions b{grid-area:ttl;font-size:1.05rem}.kw396-main-actions small{grid-area:sub;font-size:.72rem;color:#e8e9ec;line-height:1.2}
.kw396-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.kw396-quick button{position:relative;min-height:72px;border:1px solid var(--kw396-line);border-radius:13px;background:#fff;display:grid;place-items:center;align-content:center;gap:4px;padding:7px}.kw396-quick span{font-size:1.12rem}.kw396-quick b{font-size:.66rem;text-align:center}.kw396-quick em{position:absolute;right:5px;top:5px;background:var(--kw396-red);color:#fff;border-radius:999px;padding:1px 5px;font-style:normal;font-size:.58rem}
.kw396-activity{display:grid}.kw396-activity-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:9px 1px;border-top:1px solid #edf0f2}.kw396-activity-row:first-child{border-top:0}.kw396-activity-icon{width:34px;height:34px;border-radius:50%;background:#f0f1f3;display:grid;place-items:center;font-size:.86rem}.kw396-activity-row b{font-size:.78rem}.kw396-activity-row small{font-size:.67rem;color:var(--kw396-muted)}.kw396-activity-row time{font-size:.62rem;color:#777d87}

/* bottom nav */
.kw394-bottom-nav,.kw390-bottom-nav{display:none!important}.kw396-bottom-nav{display:none}

/* ASISTENCIA: aspecto de la maqueta sin cambiar la lógica */
body[data-page="attendance"] #content{max-width:760px}.kw396-att-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px}.kw396-att-tabs button{height:46px;border:0;border-radius:12px;background:#eef0f3;font-weight:900;color:#1b1e23}.kw396-att-tabs button.active{background:var(--kw396-red);color:#fff}
body[data-page="attendance"] .attendance-head{background:transparent!important;border:0!important;padding:0!important;margin:0 0 10px!important}body[data-page="attendance"] .attendance-head>h2{font-size:1.25rem;margin:0 0 2px}body[data-page="attendance"] .attendance-head>p{font-size:.75rem;color:var(--kw396-muted);margin:0 0 8px}body[data-page="attendance"] .att-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#fff;border:1px solid var(--kw396-line);border-radius:14px;padding:8px}body[data-page="attendance"] .att-toolbar label{font-size:.62rem;color:var(--kw396-muted)}body[data-page="attendance"] .att-toolbar input,body[data-page="attendance"] .att-toolbar select{min-height:38px;border-radius:10px}.att-day-hint{display:none}.att-actions{display:none!important}
body[data-page="attendance"] .att-summary{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin:0 0 10px!important}.att-summary .card{min-height:86px!important;border:0!important;border-radius:14px!important;display:grid!important;place-items:center!important;align-content:center!important;gap:2px!important;text-align:center!important;font-size:.65rem!important}.att-summary .card:nth-child(1){background:#fff1f2!important}.att-summary .card:nth-child(2){background:#eef9f2!important}.att-summary .card:nth-child(3){background:#fff1f2!important}.att-summary .card strong{font-size:1.45rem!important}
body[data-page="attendance"] #content>.panel:nth-of-type(2){padding:11px!important}body[data-page="attendance"] #content>.panel:nth-of-type(2) h3{font-size:.9rem;margin:0 0 5px}body[data-page="attendance"] #content>.panel:nth-of-type(2) p{display:none}.att-add-extra{display:grid!important;grid-template-columns:1fr auto!important;gap:7px!important}.att-add-extra select,.att-add-extra button{min-height:42px!important;border-radius:11px!important}
body[data-page="attendance"] #content>.panel:last-child{padding:10px!important}body[data-page="attendance"] #content>.panel:last-child>h3{font-size:1rem;margin:0 0 7px}.att-list{display:grid;gap:2px}.att-student{min-height:54px!important;padding:6px 5px!important;border:0!important;border-bottom:1px solid #edf0f2!important;border-radius:0!important;background:#fff!important;grid-template-columns:1fr auto auto!important}.att-student-main strong{font-size:.8rem}.att-student-main span{font-size:.6rem;color:#858b95}.attToggle{min-width:102px!important;min-height:37px!important;border-radius:10px!important;font-size:.72rem!important;font-weight:900!important}.attToggle.present{background:#17884e!important;color:#fff!important;border-color:#17884e!important}.attToggle.absent{background:#eef0f3!important;color:#30343a!important;border-color:#eef0f3!important}.att-note{font-size:.62rem!important;color:#868c96!important}.kw396-att-save{position:sticky;bottom:76px;width:100%;margin-top:10px;min-height:48px;border:0;border-radius:13px;background:var(--kw396-red);color:#fff;font-weight:950;font-size:.88rem;z-index:40;box-shadow:0 8px 22px rgba(215,20,29,.24)}

/* PAGOS */
body[data-page="payments"] #content{max-width:820px}.kw396-pay-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px}.kw396-pay-summary article{min-height:84px;border-radius:14px;display:grid;place-items:center;align-content:center;gap:2px;text-align:center}.kw396-pay-summary article:nth-child(1){background:#fff1f2;color:#d20e18}.kw396-pay-summary article:nth-child(2){background:#eff5ff;color:#205d9c}.kw396-pay-summary article:nth-child(3){background:#eef9f2;color:#08743d}.kw396-pay-summary small{font-size:.67rem;font-weight:800}.kw396-pay-summary strong{font-size:1.42rem}.kw396-pay-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px}.kw396-pay-head h2{margin:0;font-size:1.22rem}.kw396-pay-head button{border:1px solid var(--kw396-line);background:#fff;border-radius:10px;padding:8px 10px;font-weight:800;font-size:.7rem}
body[data-page="payments"] #content>.toolbar{border:1px solid var(--kw396-line);border-radius:14px;background:#fff;padding:8px;margin-bottom:8px;display:grid;grid-template-columns:1fr 1fr;gap:7px}body[data-page="payments"] #content>.toolbar input{grid-column:1/-1}body[data-page="payments"] #content>.panel:nth-of-type(1){padding:10px!important;margin-bottom:8px!important}body[data-page="payments"] #content>.panel:nth-of-type(1)>h2,body[data-page="payments"] #content>.panel:nth-of-type(1)>p{display:none}body[data-page="payments"] #content>.panel:nth-of-type(1) .actions{gap:5px!important}body[data-page="payments"] #content>.panel:nth-of-type(1) .actions button{font-size:.65rem!important;min-height:36px!important;border-radius:9px!important;padding:6px 8px!important}body[data-page="payments"] #payTable{padding:8px!important}.kw396-pay-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #eceef1;padding:9px 2px}.kw396-pay-avatar{width:38px;height:38px;border-radius:50%;background:#eef0f3;display:grid;place-items:center;font-weight:900;font-size:.72rem}.kw396-pay-card b{font-size:.8rem}.kw396-pay-card small{display:block;font-size:.64rem;color:var(--kw396-muted)}.kw396-pay-amount{font-weight:950;color:var(--kw396-red);font-size:.85rem}.kw396-pay-card button{margin-left:6px;min-height:36px;border:0;border-radius:9px;background:var(--kw396-red);color:#fff;font-weight:900;font-size:.68rem;padding:6px 10px}

/* PERFIL */
#studentProfileModal .profile-box{max-width:720px!important;border-radius:22px!important;padding:14px!important;background:#f7f8fa!important}#studentProfileModal .profile-box>h2{font-size:1.35rem;margin:0 0 4px}#studentProfileModal .profile-box>p{background:#fff;border:1px solid var(--kw396-line);border-radius:13px;padding:9px;font-size:.7rem;color:#565c66}#studentProfileModal .profile-box>.actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important}#studentProfileModal .profile-box>.actions button{min-height:58px!important;border:0!important;border-radius:13px!important;background:#fff!important;font-size:.7rem!important;font-weight:900!important;box-shadow:inset 0 0 0 1px var(--kw396-line)}#studentProfileModal .profile-box>.actions .profileQuickPay{background:var(--kw396-red)!important;color:#fff!important}#studentProfileModal .profile-box>.actions .profileQuickWhatsapp{background:#eaf8ef!important;color:#08743d!important}#studentProfileModal .profile-box>.actions .profileQuickAttendance{background:var(--kw396-red)!important;color:#fff!important}#studentProfileModal details{background:#fff;border:1px solid var(--kw396-line);border-radius:13px;margin:7px 0;padding:10px}#studentProfileModal summary{font-weight:900;font-size:.78rem}.profile-alert{border-radius:12px!important;font-size:.72rem!important}

/* MATERIAL */
body[data-page="uniforms"] #content{max-width:850px}body[data-page="uniforms"] .kw-material-v384,body[data-page="uniforms"] .material-v384{border-radius:18px!important}

@media(max-width:760px){
  body{padding-bottom:76px!important} .layout main{padding-bottom:18px!important} main>header{min-height:76px!important;padding:12px 12px!important;gap:8px!important}main>header .main-logo{width:42px!important;height:42px!important}main>header h1{font-size:1.1rem!important}main>header p{font-size:.68rem!important}#globalSearchButton,#newBtn{display:none!important}#content{padding:10px!important}
  .kw396-top{padding:10px 11px}.kw396-top-brand img{width:43px;height:43px}.kw396-top-brand b{font-size:.82rem}.kw396-top-brand small{font-size:.6rem}.kw396-sync{font-size:.58rem;padding:6px 7px}.kw396-section{padding:11px}.kw396-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.kw396-kpi{min-height:86px;padding:7px 3px}.kw396-kpi small{font-size:.55rem}.kw396-kpi strong{font-size:1.3rem}.kw396-main-actions{gap:7px}.kw396-main-actions button{min-height:91px;padding:12px}.kw396-main-actions i{font-size:1.5rem}.kw396-main-actions b{font-size:.9rem}.kw396-main-actions small{font-size:.62rem}.kw396-quick{gap:5px}.kw396-quick button{min-height:65px}.kw396-quick b{font-size:.58rem}.kw396-activity-row{padding:7px 0}
  .kw396-bottom-nav{position:fixed;z-index:5100;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:#111318;border-top:1px solid rgba(255,255,255,.08);padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -7px 22px rgba(0,0,0,.2)}.kw396-bottom-nav button{border:0;background:transparent;color:#c8cbd1;display:grid;justify-items:center;gap:2px;min-height:50px;padding:3px}.kw396-bottom-nav span{font-size:1.05rem}.kw396-bottom-nav b{font-size:.6rem}.kw396-bottom-nav button.active{color:#ff2b33}.kw396-bottom-nav button.active:after{content:'';width:22px;height:3px;background:#ff2b33;border-radius:3px;margin-top:1px}body.menu-open .kw396-bottom-nav{display:none!important}
  aside{width:min(84vw,340px)!important}aside h2{margin-bottom:14px!important}.kw394-side-daily button{padding:10px 12px!important;font-size:.86rem!important}.kw394-side-label{font-size:.62rem!important}
}
@media(max-width:760px){body[data-page="home"] main>header{display:none!important}body[data-page="home"] #content{padding-top:max(10px,env(safe-area-inset-top))!important}}

/* v3.13.4 — Asistencia y Pagos fieles a la maqueta aprobada */
@media(max-width:760px){
  body[data-page="attendance"] main>header,
  body[data-page="payments"] main>header{display:none!important}
  body[data-page="attendance"] #content,
  body[data-page="payments"] #content{padding:max(10px,env(safe-area-inset-top)) 10px 84px!important;max-width:none!important}
  body[data-page="attendance"] .sync-toast,
  body[data-page="payments"] .sync-toast{display:none!important}

  /* ASISTENCIA */
  .kw396-att-tabs{display:none!important}
  .kw398-att-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 8px}
  .kw398-att-tabs button{height:42px;border:0;border-radius:11px;background:#eef0f3;color:#1c2026;font-size:.82rem;font-weight:950}
  .kw398-att-tabs button.active{background:#d7141d;color:#fff}
  body[data-page="attendance"] .kw398-att-head{margin:0 0 8px!important;padding:8px!important;background:#fff!important;border:1px solid #e4e6ea!important;border-radius:14px!important}
  body[data-page="attendance"] .kw398-att-head>h2{font-size:1rem!important;margin:0 0 6px!important}
  body[data-page="attendance"] .kw398-att-head>p,.att-day-hint,.att-actions{display:none!important}
  body[data-page="attendance"] .att-toolbar{display:grid!important;grid-template-columns:.82fr 1.18fr!important;gap:6px!important;padding:0!important;border:0!important;background:transparent!important}
  body[data-page="attendance"] .att-toolbar label{position:relative;display:grid;gap:3px;font-size:.55rem!important;font-weight:800;color:#7a818c!important}
  body[data-page="attendance"] .att-toolbar input,
  body[data-page="attendance"] .att-toolbar select{height:39px!important;min-height:39px!important;padding:0 9px!important;border:1px solid #e0e3e8!important;border-radius:9px!important;background:#f7f8fa!important;font-size:.7rem!important;font-weight:850!important}
  body[data-page="attendance"] .att-summary{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:0 0 8px!important}
  body[data-page="attendance"] .att-summary .card{min-height:66px!important;padding:7px 3px!important;border-radius:12px!important;font-size:.57rem!important}
  body[data-page="attendance"] .att-summary .card strong{font-size:1.2rem!important;margin-top:1px!important}
  body[data-page="attendance"] .kw398-att-add{padding:8px!important;margin:0 0 8px!important;border-radius:13px!important}
  body[data-page="attendance"] .kw398-att-add h3{font-size:.8rem!important;margin:0 0 6px!important}
  body[data-page="attendance"] .att-add-extra{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important}
  body[data-page="attendance"] .att-add-extra select{height:39px!important;min-height:39px!important;font-size:.68rem!important}
  body[data-page="attendance"] .att-add-extra button{height:39px!important;min-height:39px!important;padding:0 10px!important;font-size:.66rem!important}
  body[data-page="attendance"] .kw398-att-session{padding:8px!important;margin:0!important;border-radius:13px!important}
  body[data-page="attendance"] .kw398-att-session>h3{font-size:.8rem!important;margin:0 0 5px!important;color:#59606b!important}
  body[data-page="attendance"] .att-student{min-height:48px!important;padding:5px 2px!important;grid-template-columns:1fr auto auto!important;gap:5px!important}
  body[data-page="attendance"] .att-student-main strong{font-size:.74rem!important}
  body[data-page="attendance"] .att-student-main span{font-size:.54rem!important}
  body[data-page="attendance"] .attToggle{min-width:88px!important;min-height:34px!important;height:34px!important;font-size:.64rem!important;border-radius:9px!important}
  body[data-page="attendance"] .attRemoveExtra{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important}
  body[data-page="attendance"] .att-note{font-size:.55rem!important;margin:6px 0 0!important}
  body[data-page="attendance"] .kw391-habit-banner{margin:4px 0 6px!important;padding:7px 8px!important;border-radius:10px!important;gap:2px!important}
  body[data-page="attendance"] .kw391-habit-banner b{font-size:.66rem!important}
  body[data-page="attendance"] .kw391-habit-banner span,
  body[data-page="attendance"] .kw391-habit-banner small{font-size:.54rem!important}
  body[data-page="attendance"] .kw396-att-save{display:none!important}
  .kw398-att-save{position:static!important;width:100%;min-height:45px;margin:8px 0 0;border:0;border-radius:12px;background:#d7141d;color:#fff;font-size:.78rem;font-weight:950;box-shadow:none}

  /* PAGOS */
  body[data-page="payments"] .kw398-pay-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:8px 9px!important;margin:0 0 7px!important;border-radius:13px!important}
  body[data-page="payments"] .kw398-pay-head .eyebrow{display:none!important}
  body[data-page="payments"] .kw398-pay-head h2{font-size:1rem!important;margin:0!important}
  body[data-page="payments"] .kw398-pay-head p{display:none!important}
  body[data-page="payments"] .kw398-pay-head>button{min-height:36px!important;padding:6px 9px!important;border-radius:9px!important;font-size:.62rem!important}
  body[data-page="payments"] .kw398-pay-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:8px!important;margin:0 0 7px!important;border-radius:13px!important}
  body[data-page="payments"] .kw398-pay-toolbar select{height:38px!important;min-height:38px!important;font-size:.67rem!important;padding:0 8px!important;border-radius:9px!important}
  body[data-page="payments"] .kw398-pay-toolbar input{grid-column:1/-1!important;height:39px!important;min-height:39px!important;font-size:.7rem!important;padding:0 10px!important;border-radius:9px!important}
  body[data-page="payments"] .kw391-filter-chips{grid-column:1/-1!important;display:flex!important;gap:5px!important;overflow-x:auto!important;padding:0!important}
  body[data-page="payments"] .kw391-filter-chips button{flex:0 0 auto!important;min-height:34px!important;padding:5px 10px!important;border-radius:9px!important;font-size:.62rem!important}
  body[data-page="payments"] #payTable{padding:8px!important;margin:0!important;border-radius:13px!important}
  body[data-page="payments"] .kw391-pay-summary{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:0 0 5px!important}
  body[data-page="payments"] .kw391-pay-summary article,
  body[data-page="payments"] .kw391-pay-summary article:last-child{grid-column:auto!important;min-height:65px!important;padding:7px 4px!important;border-radius:11px!important;text-align:center!important;display:grid!important;align-content:center!important}
  body[data-page="payments"] .kw391-pay-summary small{font-size:.54rem!important}
  body[data-page="payments"] .kw391-pay-summary strong{font-size:1.15rem!important;margin:1px 0!important}
  body[data-page="payments"] .kw391-pay-summary .p{background:#fff1f2!important;color:#c80e18!important}
  body[data-page="payments"] .kw391-pay-summary .c{background:#eff5ff!important;color:#205d9c!important}
  body[data-page="payments"] .kw391-pay-summary .r{background:#eef9f2!important;color:#08743d!important}
  body[data-page="payments"] .kw391-pay-list{gap:0!important}
  body[data-page="payments"] .kw391-pay-row{grid-template-columns:34px minmax(0,1fr) auto!important;gap:7px!important;padding:7px 2px!important;min-height:52px!important}
  body[data-page="payments"] .kw391-avatar{width:34px!important;height:34px!important;font-size:.62rem!important}
  body[data-page="payments"] .kw391-pay-main .link-btn{font-size:.72rem!important;line-height:1.1!important}
  body[data-page="payments"] .kw391-pay-main span{font-size:.53rem!important}
  body[data-page="payments"] .kw391-pay-row>strong{grid-column:3!important;font-size:.72rem!important;color:#d7141d!important;white-space:nowrap!important}
  body[data-page="payments"] .kw391-pay-actions{grid-column:2/4!important;justify-content:flex-end!important;gap:4px!important;margin-top:-2px!important}
  body[data-page="payments"] .kw391-pay-actions button{min-height:31px!important;padding:4px 8px!important;border-radius:8px!important;font-size:.58rem!important}
}

/* v3.13.4 — correcciones finales de uso diario */
.kw-sync-pill[data-state="ok"],.kw-sync-pill[data-state="idle"]{display:none!important}
body[data-page="payments"] .kw391-pay-main .kw-avatar{display:none!important}
.kw398-back-button{position:fixed;z-index:5300;top:calc(14px + env(safe-area-inset-top));left:96px;width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #dfe3e8;border-radius:13px;background:#fff;color:#15171b;display:grid;place-items:center;font-size:1.35rem;font-weight:950;box-shadow:0 5px 18px rgba(0,0,0,.10);padding:0}
.kw398-back-button[hidden]{display:none!important}
@media(max-width:760px){
 body:not([data-page="home"]) #content{padding-top:70px!important}
 body[data-page="attendance"] #content,body[data-page="payments"] #content{padding-top:70px!important}
 .kw398-att-tabs{margin-top:0!important}
}
@media(min-width:761px){.kw398-back-button{top:18px;left:calc(280px + 18px)}}

/* Un único botón Volver en todas las pantallas secundarias */
#backButton{display:none!important}

/* v3.13.4 — remate visual verificado */
body[data-page="payments"] .kw391-pay-row .kw-avatar{display:none!important}
.kw-sync-pill[data-state="ok"],.kw-sync-pill[data-state="idle"],body[data-page="attendance"] .sync-toast,body[data-page="payments"] .sync-toast{display:none!important}
#backButton{display:none!important}
@media(max-width:760px){
  .kw398-back-button{top:calc(14px + env(safe-area-inset-top));left:88px;width:42px;height:42px;min-width:42px;min-height:42px;border-radius:12px}
  body[data-page="attendance"] .att-toolbar select{font-size:.66rem!important;padding-right:24px!important}
}

/* v3.13.4 final navigation/screen hardening */
body.kw398-has-back #content{padding-top:70px!important}
body[data-page="payments"] .kw391-pay-row .kw-avatar{display:none!important}
body[data-page="payments"] .kw391-pay-summary em{display:none!important}
@media(max-width:760px){.kw398-back-button{left:76px;top:calc(14px + env(safe-area-inset-top))}}
\n\n/* v3.9.9 — legibilidad móvil en Pagos */\n@media(max-width:760px){\n  body[data-page="payments"] .kw398-pay-head h2{font-size:1.16rem!important}\n  body[data-page="payments"] .kw398-pay-head>button{font-size:.74rem!important;min-height:39px!important;padding:7px 11px!important}\n  body[data-page="payments"] .kw398-pay-toolbar select{font-size:.78rem!important;height:42px!important;min-height:42px!important}\n  body[data-page="payments"] .kw398-pay-toolbar input{font-size:.80rem!important;height:42px!important;min-height:42px!important}\n  body[data-page="payments"] .kw391-filter-chips button{font-size:.73rem!important;min-height:38px!important;padding:6px 12px!important}\n  body[data-page="payments"] .kw391-pay-summary small{font-size:.65rem!important}\n  body[data-page="payments"] .kw391-pay-summary strong{font-size:1.32rem!important}\n  body[data-page="payments"] .kw391-pay-row{grid-template-columns:38px minmax(0,1fr) auto!important;gap:8px!important;padding:10px 3px!important;min-height:64px!important}\n  body[data-page="payments"] .kw391-avatar{width:38px!important;height:38px!important;font-size:.72rem!important}\n  body[data-page="payments"] .kw391-pay-main .link-btn{font-size:.86rem!important;line-height:1.18!important}\n  body[data-page="payments"] .kw391-pay-main span{font-size:.64rem!important;line-height:1.25!important}\n  body[data-page="payments"] .kw391-pay-row>strong{font-size:.86rem!important}\n  body[data-page="payments"] .kw391-pay-actions button{font-size:.70rem!important;min-height:35px!important;padding:5px 10px!important}\n}\n

/* v3.9.10 — nombres de alumnos más grandes en Pagos */
@media(max-width:760px){
  body[data-page="payments"] .kw391-pay-main .link-btn{font-size:1.08rem!important;line-height:1.18!important;font-weight:900!important}
  body[data-page="payments"] .kw396-pay-card b{font-size:1.08rem!important;line-height:1.18!important;font-weight:900!important}
}


/* ===== SOURCE: hotfix-v3911.css ===== */
/* KWAN SUL MANAGER v3.13.4 — legibilidad definitiva en Pagos */

/* Mantener los nombres de alumno limpios y legibles en cualquier estado táctil. */
body[data-page="payments"] .kw391-pay-main .link-btn,
body[data-page="payments"] .kw391-pay-main .link-btn:hover,
body[data-page="payments"] .kw391-pay-main .link-btn:focus,
body[data-page="payments"] .kw391-pay-main .link-btn:focus-visible,
body[data-page="payments"] .kw391-pay-main .link-btn:active {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#17191d !important;
  text-align:left !important;
  text-decoration:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  transform:none !important;
}

@media (max-width:760px) {
  body[data-page="payments"] #content {
    font-size:16px !important;
  }

  body[data-page="payments"] .kw398-pay-head h2 {
    font-size:1.30rem !important;
    line-height:1.15 !important;
    font-weight:950 !important;
  }

  body[data-page="payments"] .kw398-pay-head > button {
    min-height:42px !important;
    padding:8px 12px !important;
    font-size:.86rem !important;
    font-weight:900 !important;
  }

  body[data-page="payments"] .kw398-pay-toolbar select,
  body[data-page="payments"] .kw398-pay-toolbar input {
    min-height:46px !important;
    height:46px !important;
    font-size:.94rem !important;
    font-weight:750 !important;
  }

  body[data-page="payments"] .kw391-filter-chips button {
    min-height:41px !important;
    padding:7px 12px !important;
    font-size:.84rem !important;
    font-weight:900 !important;
  }

  body[data-page="payments"] .kw391-pay-summary small {
    font-size:.76rem !important;
    line-height:1.15 !important;
    font-weight:850 !important;
  }

  body[data-page="payments"] .kw391-pay-summary strong {
    font-size:1.52rem !important;
    line-height:1.05 !important;
    font-weight:950 !important;
  }

  body[data-page="payments"] .kw391-pay-row {
    grid-template-columns:42px minmax(0,1fr) auto !important;
    gap:10px !important;
    min-height:82px !important;
    padding:13px 3px !important;
    align-items:center !important;
  }

  body[data-page="payments"] .kw391-avatar {
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    font-size:.82rem !important;
    font-weight:950 !important;
  }

  body[data-page="payments"] .kw391-pay-main {
    min-width:0 !important;
    gap:5px !important;
  }

  body[data-page="payments"] .kw391-pay-main .link-btn {
    font-size:1.20rem !important;
    line-height:1.22 !important;
    font-weight:950 !important;
    letter-spacing:-.01em !important;
  }

  body[data-page="payments"] .kw391-pay-main span {
    font-size:.79rem !important;
    line-height:1.25 !important;
    font-weight:650 !important;
    color:#667085 !important;
  }

  body[data-page="payments"] .kw391-pay-row > strong {
    grid-column:3 !important;
    font-size:1.00rem !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
    color:#d7141d !important;
  }

  body[data-page="payments"] .kw391-pay-actions {
    grid-column:2 / 4 !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:6px !important;
    margin-top:0 !important;
  }

  body[data-page="payments"] .kw391-pay-actions button {
    min-height:38px !important;
    padding:6px 11px !important;
    border-radius:9px !important;
    font-size:.82rem !important;
    font-weight:900 !important;
  }

  body[data-page="payments"] .kw391-pay-actions > span {
    font-size:.86rem !important;
    line-height:1.2 !important;
    font-weight:850 !important;
    color:#17191d !important;
    white-space:nowrap !important;
  }

  /* Compatibilidad con la vista de pagos alternativa. */
  body[data-page="payments"] .kw396-pay-card b {
    font-size:1.20rem !important;
    line-height:1.22 !important;
    font-weight:950 !important;
  }
  body[data-page="payments"] .kw396-pay-card small {
    font-size:.79rem !important;
  }
  body[data-page="payments"] .kw396-pay-amount {
    font-size:1rem !important;
  }
}


/* ===== SOURCE: hotfix-v3912.css ===== */
/* KWAN SUL MANAGER v3.13.4 — nombres de alumnos unificados con la vista de Cobros */

@media (max-width:760px){
  /* Pagos / Cobros: referencia visual */
  body[data-page="payments"] .kw391-pay-main .link-btn,
  body[data-page="payments"] .kw396-pay-card b{
    font-size:1.20rem!important;
    line-height:1.22!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
  }

  /* Alumnos: mismo tamaño y peso que Cobros. */
  body[data-page="students"] table.table tr td:first-child,
  body[data-page="students"] table.table tr td:first-child .link-btn,
  body[data-page="students"] .student-name,
  body[data-page="students"] .kw-student-name{
    font-size:1.20rem!important;
    line-height:1.22!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
    color:#17191d!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body[data-page="students"] table.table tr td:first-child{
    min-width:220px!important;
    width:220px!important;
  }

  /* Asistencia: mismo tamaño y peso que Cobros. */
  body[data-page="attendance"] .att-student{
    min-height:82px!important;
    padding:12px 6px!important;
    gap:10px!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
  }
  body[data-page="attendance"] .att-student-main strong,
  body[data-page="attendance"] .kw-class-name{
    font-size:1.20rem!important;
    line-height:1.22!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
    color:#17191d!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body[data-page="attendance"] .att-student-main span,
  body[data-page="attendance"] .kw-class-belt{
    font-size:.79rem!important;
    line-height:1.25!important;
    font-weight:650!important;
  }
}


/* ===== SOURCE: enhancements-v3913.css ===== */
/* KWAN SUL MANAGER v3.13.4 — Federación */
.fed-hero{display:flex;justify-content:space-between;gap:16px;align-items:center}.fed-hero h2{margin:.2rem 0}.fed-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;background:#111827;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.fed-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.fed-kpis button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px;text-align:left;min-height:86px}.fed-kpis button.active{outline:2px solid #b91c1c;border-color:#b91c1c}.fed-kpis small{font-weight:700;color:#6b7280}.fed-kpis strong{font-size:1.8rem;line-height:1;color:#111827}.fed-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eceff3}.fed-row:last-child{border-bottom:0}.fed-name{min-width:0}.fed-name b{display:block;font-size:1.02rem;line-height:1.25}.fed-name small{display:block;color:#6b7280;margin-top:4px}.fed-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800;white-space:nowrap}.fed-badge.verified{background:#ecfdf3;color:#166534}.fed-badge.pending{background:#fff7ed;color:#9a3412}.fed-badge.none{background:#f3f4f6;color:#4b5563}.fed-edit{min-height:40px;padding:0 12px}.fed-home{padding:0!important;overflow:hidden}.fed-home>button{width:100%;border:0;background:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;padding:14px 16px}.fed-home>button>span{font-size:1.7rem}.fed-home small,.fed-home em{display:block;color:#6b7280;font-style:normal}.fed-home b{display:block;font-size:1rem;margin:2px 0}.fed-home>button>strong{font-size:1.8rem}.fed-modal{max-width:620px}
#kwFederationNav3913{margin-top:4px}
@media(max-width:720px){.fed-hero{align-items:stretch;flex-direction:column}.fed-open{width:100%}.fed-kpis{grid-template-columns:1fr 1fr}.fed-row{grid-template-columns:minmax(0,1fr) auto}.fed-row .fed-badge{justify-self:end}.fed-row .fed-edit{grid-column:1/-1;width:100%}.fed-name b{font-size:1.08rem}.fed-kpis strong{font-size:1.65rem}}


/* ===== SOURCE: enhancements-v3914.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw3914-control{border:1px solid rgba(153,27,27,.16)}
.kw3914-cards{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.kw3914-cards .card{text-align:left;cursor:pointer}.kw3914-cards .card strong{font-size:1.8rem;display:block;margin:.2rem 0}
.kw3914-row{display:grid;grid-template-columns:minmax(180px,1fr) 1.4fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.kw3914-row:last-child{border-bottom:0}.kw3914-row span{color:var(--muted,#6b7280)}
.kw3914-attendance>.section-heading>strong,.kw3914-control>.section-heading>strong{font-size:1.5rem}
.kw3914-stockchips{display:flex;flex-wrap:wrap;gap:8px}.kw3914-stockchips span{padding:8px 10px;border-radius:999px;background:rgba(180,83,9,.09);border:1px solid rgba(180,83,9,.18)}
.kw3914-ok{font-weight:700;color:#166534}
@media(max-width:720px){.kw3914-row{grid-template-columns:1fr;gap:4px}.kw3914-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kw3914-cards .card strong{font-size:1.6rem}}


/* ===== SOURCE: enhancements-v3915.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
#kw3915Float{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1200;width:54px;height:54px;border-radius:50%;border:0;background:#991b1b;color:#fff;font-size:24px;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.kw3915-assistant{max-width:760px}.kw3915-command{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:12px 0}.kw3915-command input{min-height:46px;font-size:16px}.kw3915-results{display:grid;gap:8px}.kw3915-results button,.kw3915-results>div{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;padding:11px 12px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--card,#fff)}.kw3915-results span{color:var(--muted,#6b7280)}
.kw3915-examples{display:flex;flex-wrap:wrap;gap:8px}.kw3915-examples button{font-size:14px}.kw3915-row{display:grid;grid-template-columns:minmax(170px,1fr) 1.4fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}.kw3915-row:last-child{border-bottom:0}.kw3915-row span{color:var(--muted,#6b7280)}.kw3915-ok{font-weight:700;color:#166534}
.kw3915-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.kw3915-kpis button{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px;border-radius:12px}.kw3915-kpis strong{font-size:1.45rem}.kw3915-kpis span{font-size:.82rem;color:var(--muted,#6b7280)}
#nav [data-assistant3915] span{margin-right:6px}
@media(max-width:720px){#kw3915Float{right:14px;bottom:calc(74px + env(safe-area-inset-bottom))}.kw3915-command{grid-template-columns:minmax(0,1fr) auto}.kw3915-command #kw3915Run{grid-column:1/-1}.kw3915-row{grid-template-columns:1fr;gap:4px}.kw3915-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== SOURCE: enhancements-v3918.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw3918-people{display:grid;gap:10px}.kw3918-person{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--line,#ddd);border-radius:14px}.kw3918-person div{display:grid;gap:3px}.kw3918-person small{opacity:.72}@media(max-width:700px){.kw3918-person{align-items:flex-start;flex-direction:column}.kw3918-person button{width:100%}}


/* ===== SOURCE: enhancements-v3920.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw3919-collab-row{border-left:4px solid #b5161b;background:#fffdf8}
.kw3919-collab-row .att-student-main span{font-weight:700;color:#6b7280}
.kw3919-collab-row .attToggle.pending,.kw3919-class-collab .kw-class-presence.is-pending{background:#fff;border:1px solid #cbd5e1;color:#475569}
.kw3919-pending-card{background:#fff7ed!important}
.kw3919-team-att{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.kw3919-team-att>strong{font-size:.96rem;color:#111827}
.kw3919-team-att>small{color:#6b7280}
.kw3919-date-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.kw3919-date-chips span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:.82rem;font-weight:800;color:#334155}
.kw3919-class-collab{border-left:4px solid #b5161b;padding-left:8px}


/* ===== SOURCE: enhancements-v3921.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw3921-master-photo,.kw3921-person-avatar{display:flex;align-items:center;gap:12px;margin:10px 0 14px}.kw3921-person-avatar{margin:0 0 10px}
.kw3921-avatar{width:68px;height:68px;border-radius:50%;overflow:hidden;flex:0 0 68px;background:#eef0f3;border:1px solid rgba(17,19,24,.12);display:grid;place-items:center}
.kw3921-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.kw3921-avatar-fallback{font-weight:900;font-size:22px;color:#323842}
.kw3921-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.kw3921-photo-actions button,.kw3921-reset{min-height:40px;border-radius:12px;padding:9px 12px;font-weight:800}
.kw3921-photo-actions .quiet{opacity:.72}.kw3921-reset{margin-top:10px;width:100%}
.kw3918-person>.kw3921-person-avatar{grid-column:1/-1}
@media(max-width:700px){.kw3921-avatar{width:60px;height:60px;flex-basis:60px}.kw3921-photo-actions button{font-size:14px}}


/* ===== SOURCE: assistant-v3100.css ===== */
/* KWAN SUL MANAGER v3.13.4 — Asistente escrito profesional */
.kw3925-assistant{max-width:820px;max-height:min(92vh,900px);overflow:auto}.kw3925-status{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted,#6b7280);margin-top:4px}.kw3925-status span{width:8px;height:8px;border-radius:50%;background:#9ca3af}.kw3925-status.online span{background:#16a34a}.kw3925-status.local span{background:#d97706}.kw3925-topchips{margin:10px 0 4px}.kw3925-chips{display:flex;gap:7px;flex-wrap:wrap}.kw3925-chips button{font-size:.88rem;padding:8px 10px}.kw3925-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0 4px}.kw3925-command input{min-height:48px;font-size:16px}.kw3925-command button{min-width:48px}.kw3925-helper{font-size:.8rem;color:var(--muted,#6b7280);margin:0 0 12px}.kw3925-result-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.kw3925-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.kw3925-dashboard button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px;border-radius:12px}.kw3925-dashboard b{font-size:1.45rem}.kw3925-dashboard span{font-size:.82rem;color:var(--muted,#6b7280)}.kw3925-list{display:grid;gap:8px}.kw3925-list-row{display:grid;grid-template-columns:minmax(150px,1fr) 1.3fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line,#e5e7eb);border-radius:12px}.kw3925-list-row span{font-size:.86rem;color:var(--muted,#6b7280)}.kw3925-student-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kw3925-kv{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:3px}.kw3925-kv span{font-size:.8rem;color:var(--muted,#6b7280)}.kw3925-kv b{font-size:.98rem}.kw3925-card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}.kw3925-context-note{margin-top:10px;padding:10px;border-radius:10px;background:rgba(153,27,27,.06);font-size:.86rem}.kw3925-history{display:grid;gap:7px}.kw3925-history>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line,#e5e7eb)}.kw3925-history span{font-size:.82rem;color:var(--muted,#6b7280)}.kw3925-undo{margin-top:10px}.kw3925-confirm{max-width:650px}
@media(max-width:720px){.kw3925-assistant{max-height:96vh}.kw3925-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.kw3925-command{grid-template-columns:minmax(0,1fr) auto}.kw3925-command #kw3925Run{grid-column:1/-1}.kw3925-list-row{grid-template-columns:1fr auto}.kw3925-list-row span{grid-column:1/-1;grid-row:2}.kw3925-student-card{grid-template-columns:1fr}.kw3925-card-actions{grid-column:1}.kw3925-history>div{flex-direction:column;gap:2px}}

.kw3925-command-text #kw3925Run{min-width:100px}.kw3925-command-text input{width:100%}


/* v3.13.4 — autocompletado, órdenes rápidas e historial operativo */
.kw3100-command-wrap{align-items:start}.kw3100-input-wrap{position:relative;min-width:0}.kw3925-command textarea{width:100%;min-height:48px;max-height:120px;resize:vertical;font:inherit;font-size:16px;line-height:1.35;padding:12px;border:1px solid var(--line,#d1d5db);border-radius:10px;background:var(--card,#fff);color:inherit}.kw3100-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);overflow:auto;max-height:330px}.kw3100-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--line,#eee);border-radius:0;background:transparent;color:inherit}.kw3100-suggestion:last-child{border-bottom:0}.kw3100-suggestion:hover,.kw3100-suggestion.active{background:rgba(153,27,27,.08)}.kw3100-suggestion span{display:flex;flex-direction:column;gap:2px}.kw3100-suggestion small{color:var(--muted,#6b7280);font-weight:400}.kw3100-suggestion em{font-style:normal;font-size:.75rem;color:var(--muted,#6b7280)}.kw3100-student-actions{margin-top:8px}.kw3100-history-row b{font-weight:650}.kw3100-history-row span{text-align:right}@media(max-width:720px){.kw3100-history-row span{text-align:left}.kw3925-command textarea{min-height:52px}.kw3100-suggestions{max-height:42vh}}


/* ===== SOURCE: enhancements-v3110.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw311-hero{align-items:center}.kw311-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kw311-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;margin:16px 0}.kw311-alerts{display:grid;gap:10px}.kw311-alert{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line,#ddd);border-radius:14px;background:var(--panel,#fff)}.kw311-alert-icon{font-size:22px}.kw311-alert small{display:block;margin-top:3px;opacity:.72}.kw311-money{display:grid;gap:12px}.kw311-money>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#ddd)}.kw311-money>div:last-child{border-bottom:0}.kw311-money strong{font-size:1.25rem}.kw311-pending-box{width:min(980px,94vw);max-height:92vh;overflow:auto}.kw311-pending-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 14px}.kw311-pending-tabs button{white-space:nowrap}.kw311-pending-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.kw311-pending-section{border:1px solid var(--line,#ddd);border-radius:14px;padding:14px}.kw311-pending-section h3{display:flex;justify-content:space-between;gap:10px;margin-top:0}.kw311-pending-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#ddd)}.kw311-pending-row:last-child{border-bottom:0}.kw311-pending-row span{font-size:.88rem;opacity:.72;text-align:right}.kw311-profile-summary{margin:14px 0 18px;padding:14px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--surface,#fafafa)}.kw311-profile-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.kw311-profile-kpis>div{padding:12px;border-radius:12px;background:var(--panel,#fff);border:1px solid var(--line,#ddd)}.kw311-profile-kpis span,.kw311-profile-kpis small{display:block;opacity:.72}.kw311-profile-kpis strong{display:block;margin:4px 0;font-size:1.05rem}.kw311-profile-kpis .warn{color:#a33}.kw311-profile-fast{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.kw311-timeline-list{display:grid}.kw311-timeline-list>div{display:grid;grid-template-columns:96px 100px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line,#ddd)}.kw311-timeline-list time{opacity:.7}.kw311-timeline-list span{min-width:0}
@media(max-width:760px){.kw311-grid{grid-template-columns:1fr}.kw311-alert{grid-template-columns:auto 1fr}.kw311-alert button{grid-column:2;justify-self:start}.kw311-pending-content{grid-template-columns:1fr}.kw311-timeline-list>div{grid-template-columns:82px 1fr}.kw311-timeline-list span{grid-column:2}.kw311-profile-kpis{grid-template-columns:1fr 1fr}}


/* ===== SOURCE: enhancements-v3120.css ===== */
/* KWAN SUL MANAGER v3.13.4 */
.kw3120-audit{border-left:4px solid currentColor}.kw3120-audit details p{margin:.45rem 0}.week-session small{font-weight:650}


/* ===== SOURCE: birthday-v3121.css ===== */
.kw3121-birthday{border:1px solid rgba(184,22,22,.22);background:linear-gradient(180deg,#fff,#fff8f8)}
.kw3121-birthday-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.kw3121-birthday-head h2{margin:2px 0 0}.kw3121-birthday-head>strong{font-size:1.45rem;min-width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#b3151b;color:#fff}
.kw3121-birthday-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(0,0,0,.08)}.kw3121-birthday-row:first-of-type{border-top:0}.kw3121-birthday-row b{display:block;font-size:1.05rem}.kw3121-birthday-row small{display:block;margin-top:3px;color:#5d6169}.kw3121-birthday-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:680px){.kw3121-birthday-row{align-items:flex-start;flex-direction:column}.kw3121-birthday-actions{width:100%}.kw3121-birthday-actions button{flex:1}}


/* ===== SOURCE: enhancements-v3130.css ===== */
/* KWAN SUL MANAGER v3.13.4 — legibilidad, Equipo y menú */
.kw3130-menu-hero{display:grid;gap:8px;padding:10px 10px 12px;margin:0 0 8px}.kw3130-menu-hero>img{width:100%;height:auto;max-height:235px;object-fit:cover;object-position:top center;border-radius:18px;display:block;box-shadow:0 12px 24px rgba(0,0,0,.22)}.kw3130-menu-hero>div{display:flex;align-items:baseline;gap:8px;padding:0 4px}.kw3130-menu-hero strong{font-size:1.12rem;font-weight:950;color:#fff}.kw3130-menu-hero small{font-size:.86rem;font-weight:800;color:#aeb4c0;letter-spacing:.08em}
.kw3130-occ-sep{margin:14px 0 6px;padding:10px 12px;border-radius:12px;background:#f3f5f8;display:grid;gap:2px}.kw3130-occ-sep strong{font-size:1rem}.kw3130-occ-sep small{font-size:.86rem;color:#626977}.kw3130-occ-row{background:#fbfcfd}.kw3130-occ-team{display:grid;gap:10px}.kw3130-occ-team article{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:14px;border:1px solid #e4e7eb;border-radius:16px}.kw3130-occ-team article>div{display:grid;gap:5px}.kw3130-occ-team b{font-size:1.05rem}.kw3130-occ-team small{color:#646b77}.kw3130-occ-team strong{font-size:.94rem}
/* Fotos de Equipo: más grandes y completas, sin recorte */
body[data-page="team"] .kw3921-master-photo,body[data-page="team"] .kw3921-person-avatar{align-items:flex-start;gap:14px}.kw3921-avatar{width:180px!important;height:230px!important;flex:0 0 180px!important;border-radius:18px!important;background:#f3f4f6!important;padding:6px!important;box-sizing:border-box!important}.kw3921-avatar-img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:12px!important}.kw3921-avatar-fallback{font-size:34px!important}
/* Legibilidad general */
@media(max-width:760px){
  html{font-size:17px!important}body{font-size:17px!important;line-height:1.42!important}
  p,small,label,td,th,li,.att-student-main span,.kw391-pay-main span,.kw394-brand small,.kw390-brandline small{font-size:.90rem!important;line-height:1.38!important}
  button,input,select,textarea{font-size:1rem!important}
  nav button,nav .nav-btn,nav [data-p],.kw394-side-daily button{font-size:1.02rem!important;min-height:52px!important}
  .nav-icon,.kw394-side-daily button>span:first-child,.kw394-bottom-nav button span,.kw390-bottom-nav button span{font-size:1.45rem!important}
  .kw394-bottom-nav button b,.kw390-bottom-nav button b{font-size:.78rem!important}
  .mobile-menu-btn{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;font-size:31px!important}
  .kw398-back-button{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;font-size:1.48rem!important}
  body[data-page="attendance"] .att-student-main strong,body[data-page="payments"] .kw391-pay-main .link-btn,.kw396-pay-card b{font-size:1.02rem!important;line-height:1.22!important}
  body[data-page="attendance"] .att-student-main span,body[data-page="attendance"] .att-note,body[data-page="payments"] .kw391-pay-main span{font-size:.83rem!important;line-height:1.3!important}
  body[data-page="attendance"] .attToggle{font-size:.86rem!important;min-height:40px!important;height:auto!important;min-width:105px!important}
  .card{font-size:.94rem!important}.card strong{font-size:1.3rem!important}
  body:not([data-page="home"]) main>header{background:#fff!important;position:relative!important;z-index:2!important}
  body:not([data-page="home"]) header .main-logo{display:none!important}
  body:not([data-page="home"]) header{padding-left:142px!important}
  .kw3130-menu-hero>img{max-height:220px}
  body[data-page="team"] .kw3921-master-photo,body[data-page="team"] .kw3921-person-avatar{display:grid!important;grid-template-columns:1fr!important}.kw3921-avatar{width:100%!important;height:260px!important;max-width:330px!important;flex-basis:auto!important}.kw3921-photo-actions{width:100%}
}
@media(max-width:760px){
  .eyebrow,.kw394-side-label,.kw3918-person small,.kw3919-team-att small{font-size:.82rem!important}
  .kw3918-person b{font-size:1.08rem!important}
  .kw394-quick-grid button,.kw390-quick-grid button{font-size:1.12rem!important}
  .kw394-quick-grid button b,.kw390-quick-grid button b{font-size:.86rem!important}
}

/* v3.13.4 — hero móvil robusto, sin imagen-cartel ni recortes extraños */
.kw3130-menu-hero{display:grid!important;gap:8px!important;padding:8px 8px 12px!important;margin:0 0 8px!important;overflow:visible!important;background:transparent!important}
.kw3133-menu-visual{position:relative!important;width:100%!important;height:250px!important;overflow:hidden!important;border-radius:18px!important;background:linear-gradient(145deg,#08090c,#17191f 58%,#21090b)!important;box-shadow:0 12px 24px rgba(0,0,0,.24)!important;isolation:isolate!important}
.kw3133-menu-visual::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,transparent 0 50%,rgba(174,0,8,.18) 72%,transparent 100%);pointer-events:none}
.kw3133-menu-group{position:absolute!important;left:8px!important;top:8px!important;width:58%!important;height:132px!important;object-fit:cover!important;object-position:center 28%!important;border-radius:13px!important;display:block!important;z-index:1!important;box-shadow:0 8px 18px rgba(0,0,0,.28)!important}
.kw3133-menu-master{position:absolute!important;right:4px!important;bottom:0!important;width:53%!important;height:236px!important;object-fit:contain!important;object-position:center bottom!important;border-radius:0!important;display:block!important;z-index:2!important;filter:none!important}
.kw3133-menu-brand{display:flex!important;align-items:baseline!important;gap:8px!important;padding:0 4px!important;white-space:nowrap!important;min-width:0!important}
.kw3133-menu-brand strong{font-size:1.08rem!important;font-weight:950!important;color:#fff!important;white-space:nowrap!important}
.kw3133-menu-brand small{font-size:.78rem!important;font-weight:800!important;color:#aeb4c0!important;letter-spacing:.07em!important;white-space:nowrap!important}
.kw3130-menu-hero>img{display:none!important}
@media(max-width:430px){
  .kw3133-menu-visual{height:236px!important}
  .kw3133-menu-group{height:124px!important;width:59%!important}
  .kw3133-menu-master{height:224px!important;width:53%!important}
  .kw3133-menu-brand{gap:7px!important}
  .kw3133-menu-brand strong{font-size:1rem!important}
  .kw3133-menu-brand small{font-size:.72rem!important;letter-spacing:.055em!important}
}


/* ===== SOURCE: enhancements-v3131.css ===== */
/* KWAN SUL MANAGER v3.13.4 — cumpleaños visibles + menú móvil limpio */
.kw3131-birthdays{margin-top:14px;border:1px solid #ead9b2;border-radius:18px;overflow:hidden;background:#fffaf0}
.kw3131-bday-head{width:100%;border:0;background:#fff7df;padding:14px 16px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;text-align:left;font:inherit;color:#1c1d20;cursor:pointer}
.kw3131-bday-head b{font-size:1.08rem}.kw3131-bday-head strong{min-width:34px;height:34px;border-radius:999px;background:#ffd76a;display:grid;place-items:center;font-size:1rem}.kw3131-bday-head .chev{font-size:1.2rem}.kw3131-bday-list{background:#fff}.kw3131-bday-row{width:100%;border:0;border-top:1px solid #eee;background:#fff;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:left;font:inherit;color:#202124;cursor:pointer}.kw3131-bday-row:first-child{border-top:0}.kw3131-bday-row .avatar{width:38px;height:38px;border-radius:50%;background:#eef3ff;display:grid;place-items:center;font-size:1.2rem}.kw3131-bday-row .main{display:grid;gap:2px;min-width:0}.kw3131-bday-row .main b{font-size:1rem;white-space:normal;overflow-wrap:anywhere}.kw3131-bday-row .main small{font-size:.86rem;color:#626873}.kw3131-bday-row .days{font-size:.82rem;font-weight:900;background:#eef2ff;color:#3154b8;border-radius:999px;padding:6px 9px;white-space:nowrap}.kw3131-bday-card{cursor:pointer}.kw3131-bday-card:focus-visible{outline:3px solid #f0b429;outline-offset:3px}
/* Importante: no volver a usar menu-fondo-v3131.png ni alturas fijas. El hero real de v3.13.4/3.13.4 queda como unica fuente visual. */
@media(max-width:820px){
  aside{background:#0a0b0e!important;padding-top:calc(10px + env(safe-area-inset-top))!important}
  .kw3130-menu-hero{height:auto!important;min-height:0!important;margin:0 0 8px!important;padding:8px 8px 12px!important;display:grid!important;align-items:initial!important}
  .kw3130-menu-hero>div{width:auto!important;padding:0 4px!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
  aside nav{width:100%!important;max-width:none!important;padding:0!important;position:static!important}
  aside nav button{margin:2px 0!important;min-height:52px!important}
  aside .club{width:auto!important;max-width:none!important;margin:12px 8px 0!important}
  .kw3131-bday-row{grid-template-columns:auto minmax(0,1fr)}
  .kw3131-bday-row .days{grid-column:2;justify-self:start}.kw3131-bday-row .main b{font-size:1.02rem}.kw3131-bday-row .main small{font-size:.9rem}
}

/* ===== KWAN SUL MANAGER v3.14.7 — menú móvil estable ===== */
@media (max-width:820px){
  aside{
    width:min(82vw,620px)!important;
    max-width:min(82vw,620px)!important;
    padding:0 16px calc(30px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    background:
      radial-gradient(ellipse at 84% 48%,rgba(145,0,9,.30) 0 15%,transparent 42%),
      linear-gradient(145deg,#08090c 0%,#0b0c10 58%,#140406 100%)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
  }
  aside::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:linear-gradient(160deg,transparent 0 50%,rgba(160,9,18,.18) 51% 52%,transparent 53% 100%);
  }
  .kw3130-menu-hero{
    position:relative!important;
    height:360px!important;
    min-height:360px!important;
    margin:0 -16px 0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    pointer-events:none!important;
    z-index:1!important;
  }
  .kw3133-menu-visual{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    border-radius:0!important;overflow:hidden!important;background:#090a0d!important;box-shadow:none!important;
  }
  .kw3133-menu-visual::after{
    content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
    background:linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 58%,#090a0d 100%);
  }
  .kw3133-menu-group{
    position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:center 27%!important;border-radius:0!important;
    box-shadow:none!important;z-index:1!important;opacity:1!important;
  }
  .kw3133-menu-master{display:none!important}
  .kw3133-menu-brand{
    position:absolute!important;left:18px!important;bottom:14px!important;z-index:5!important;
    width:55%!important;padding:0 0 8px!important;border-bottom:1px solid rgba(255,255,255,.22)!important;
    display:flex!important;align-items:baseline!important;gap:8px!important;
  }
  .kw3133-menu-brand strong{font-size:1.05rem!important;font-weight:950!important;color:#fff!important;letter-spacing:.06em!important;text-shadow:0 2px 8px #000!important}
  .kw3133-menu-brand small{font-size:.70rem!important;font-weight:850!important;color:#c0c4cc!important;letter-spacing:.14em!important}
  aside nav{
    position:relative!important;z-index:6!important;width:58%!important;max-width:58%!important;
    margin:0!important;padding:12px 0 0!important;background:transparent!important;overflow:visible!important;
  }
  aside nav .nav-group{margin:0 0 20px!important}
  aside nav .nav-group-title,.kw394-side-label{
    display:flex!important;align-items:center!important;gap:10px!important;padding:12px 4px 7px!important;
    color:#9ca2ad!important;font-size:.68rem!important;letter-spacing:.18em!important;font-weight:900!important;text-transform:uppercase!important;
  }
  aside nav .nav-group-title::after,.kw394-side-label::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.18)}
  aside nav button,aside nav .nav-btn,aside nav [data-p],.kw394-side-daily button{
    position:relative!important;width:100%!important;min-height:55px!important;margin:2px 0!important;
    padding:9px 30px 9px 8px!important;border:1px solid transparent!important;border-radius:11px!important;
    background:transparent!important;color:#f1f2f4!important;font-size:1rem!important;font-weight:800!important;
    text-shadow:0 2px 7px rgba(0,0,0,.72)!important;box-shadow:none!important;
  }
  aside nav button::after,aside nav .nav-btn::after,aside nav [data-p]::after,.kw394-side-daily button::after{
    content:"›";position:absolute;right:8px;top:50%;transform:translateY(-52%);color:#dfe2e7;font-size:1.55rem;line-height:1;opacity:.86;
  }
  aside nav button .nav-icon,.kw394-side-daily button>span:first-child{width:28px!important;flex:0 0 28px!important;font-size:1.38rem!important;text-align:center!important}
  aside nav button.active,aside nav button[aria-current="page"],.kw394-side-daily button.active{
    color:#fff!important;background:linear-gradient(90deg,rgba(189,9,20,.38),rgba(90,0,5,.10))!important;
    border-color:rgba(240,18,31,.42)!important;border-left:4px solid #f01622!important;
    box-shadow:0 0 20px rgba(224,11,24,.28)!important;
  }
  /* Columna visual derecha. Nunca captura pulsaciones ni tapa el menú. */
  aside::after{
    content:"";position:absolute;right:0;top:250px;bottom:0;width:44%;z-index:2;pointer-events:none;
    background-image:
      linear-gradient(to right,rgba(8,9,12,1) 0%,rgba(8,9,12,.18) 18%,rgba(8,9,12,.02) 52%),
      linear-gradient(to bottom,transparent 0 78%,#0b0709 100%),
      url('assets/menu-maestro-original-v3133.jpg');
    background-size:100% 100%,100% 100%,auto 100%;
    background-position:center,center,center top;
    background-repeat:no-repeat;
    opacity:.96;
    -webkit-mask-image:radial-gradient(ellipse 92% 72% at 70% 48%,#000 0 62%,rgba(0,0,0,.92) 72%,transparent 100%);
    mask-image:radial-gradient(ellipse 92% 72% at 70% 48%,#000 0 62%,rgba(0,0,0,.92) 72%,transparent 100%);
  }
  aside .club{position:relative!important;z-index:6!important;width:58%!important;margin:16px 0 0!important;padding:14px 4px 24px!important;border-top:1px solid rgba(255,255,255,.15)!important;color:#f0f1f4!important;font-size:.76rem!important;letter-spacing:.07em!important}
  aside .club small{display:block!important;margin-top:5px!important;color:#9ca2ad!important;font-size:.70rem!important;letter-spacing:0!important}
  .mobile-menu-btn{z-index:10020!important;background:rgba(12,13,16,.86)!important;border:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
}
@media (max-width:430px){
  aside{width:84vw!important;max-width:84vw!important}
  .kw3130-menu-hero{height:330px!important;min-height:330px!important}
  aside nav,aside .club{width:60%!important;max-width:60%!important}
  aside nav button,aside nav .nav-btn,aside nav [data-p],.kw394-side-daily button{font-size:.95rem!important;min-height:53px!important}
}

/* ===== KWAN SUL MANAGER v3.14.7 — menú visual según referencia ===== */
@media (max-width:820px){
  aside{
    position:fixed!important;
    width:min(88vw,680px)!important;
    max-width:min(88vw,680px)!important;
    padding:0 14px calc(32px + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(ellipse at 77% 58%,rgba(126,0,8,.42) 0 15%,rgba(64,0,4,.22) 31%,transparent 54%),
      linear-gradient(154deg,transparent 0 44%,rgba(169,13,22,.22) 45% 47%,transparent 48% 100%),
      linear-gradient(180deg,#08090b 0%,#0a0b0e 52%,#130406 100%)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  aside::before{
    content:""!important;
    position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;
    background:
      repeating-linear-gradient(168deg,transparent 0 70px,rgba(255,255,255,.018) 72px,transparent 75px),
      linear-gradient(105deg,transparent 0 68%,rgba(175,6,16,.18) 70%,transparent 74%)!important;
    opacity:1!important;
  }
  /* Texto coreano de la referencia. */
  aside::after{
    content:"합기도"!important;
    position:absolute!important;right:7px!important;top:54px!important;bottom:auto!important;width:auto!important;height:auto!important;
    z-index:2!important;pointer-events:none!important;
    writing-mode:vertical-rl!important;text-orientation:upright!important;
    font-size:3.15rem!important;line-height:.95!important;font-weight:900!important;letter-spacing:.08em!important;
    color:rgba(210,210,210,.62)!important;text-shadow:0 3px 12px rgba(0,0,0,.8)!important;
    background:none!important;opacity:1!important;
    -webkit-mask-image:none!important;mask-image:none!important;
  }
  .kw3130-menu-hero{
    position:static!important;height:330px!important;min-height:330px!important;
    margin:0!important;padding:0!important;overflow:visible!important;pointer-events:none!important;
  }
  .kw3133-menu-visual{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;background:none!important;box-shadow:none!important}
  .kw3133-menu-visual::before,.kw3133-menu-visual::after{display:none!important}
  .kw3133-menu-group{
    display:block!important;position:absolute!important;left:0!important;top:0!important;
    width:66%!important;height:300px!important;z-index:2!important;
    object-fit:cover!important;object-position:center 30%!important;border-radius:0!important;box-shadow:none!important;
    -webkit-mask-image:linear-gradient(to right,#000 0 84%,rgba(0,0,0,.72) 92%,transparent 100%),linear-gradient(to bottom,#000 0 82%,rgba(0,0,0,.72) 91%,transparent 100%)!important;
    -webkit-mask-composite:source-in!important;
    mask-image:linear-gradient(to right,#000 0 84%,rgba(0,0,0,.72) 92%,transparent 100%)!important;
  }
  .kw3133-menu-master{
    display:block!important;position:absolute!important;right:-7%!important;top:255px!important;
    width:58%!important;height:1000px!important;z-index:3!important;pointer-events:none!important;
    object-fit:cover!important;object-position:50% 48%!important;border-radius:0!important;box-shadow:none!important;
    -webkit-mask-image:radial-gradient(ellipse 75% 64% at 57% 48%,#000 0 58%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.65) 75%,transparent 91%)!important;
    mask-image:radial-gradient(ellipse 75% 64% at 57% 48%,#000 0 58%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.65) 75%,transparent 91%)!important;
    filter:contrast(1.03) saturate(.94)!important;
  }
  .kw3133-menu-brand{
    position:absolute!important;left:20px!important;top:285px!important;bottom:auto!important;z-index:7!important;
    width:54%!important;padding:0 0 8px!important;border-bottom:1px solid rgba(255,255,255,.26)!important;
    display:flex!important;align-items:baseline!important;gap:7px!important;white-space:nowrap!important;
  }
  .kw3133-menu-brand strong{font-size:1.05rem!important;letter-spacing:.075em!important;color:#fff!important}
  .kw3133-menu-brand small{font-size:.71rem!important;letter-spacing:.13em!important;color:#c8cbd0!important}
  aside nav{
    position:relative!important;z-index:8!important;width:54%!important;max-width:54%!important;
    padding:0!important;margin:0!important;background:transparent!important;overflow:visible!important;
  }
  aside nav .nav-group{margin:0 0 18px!important}
  aside nav .nav-group-title,.kw394-side-label{
    padding:11px 4px 7px!important;color:#a5a8b0!important;font-size:.68rem!important;letter-spacing:.18em!important;
  }
  aside nav button,aside nav .nav-btn,aside nav [data-p],.kw394-side-daily button{
    min-height:58px!important;padding:10px 30px 10px 7px!important;margin:1px 0!important;
    border-radius:10px!important;font-size:1rem!important;font-weight:850!important;color:#f6f6f7!important;
    background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;
  }
  aside nav button.active,aside nav button[aria-current="page"],.kw394-side-daily button.active{
    background:linear-gradient(90deg,rgba(211,6,19,.54),rgba(103,0,8,.16))!important;
    border:1px solid rgba(245,18,31,.46)!important;border-left:4px solid #ff1725!important;
    box-shadow:0 0 24px rgba(231,8,21,.34),inset 0 0 18px rgba(255,18,31,.07)!important;
  }
  aside .club{position:relative!important;z-index:8!important;width:54%!important;max-width:54%!important;margin:14px 0 0!important}
  .mobile-menu-btn{z-index:10020!important}
}
@media (max-width:430px){
  aside{width:90vw!important;max-width:90vw!important}
  .kw3130-menu-hero{height:310px!important;min-height:310px!important}
  .kw3133-menu-group{width:69%!important;height:282px!important}
  .kw3133-menu-brand{top:266px!important;width:55%!important}
  .kw3133-menu-master{top:240px!important;right:-10%!important;width:62%!important;height:980px!important}
  aside nav,aside .club{width:55%!important;max-width:55%!important}
  aside nav button,aside nav .nav-btn,aside nav [data-p],.kw394-side-daily button{font-size:.94rem!important;min-height:56px!important}
  aside::after{font-size:2.8rem!important;right:4px!important;top:48px!important}
}


/* v3.14.7 — Equipo: fotos completas sin recorte */
body[data-page="team"] .kw3921-avatar{
  width:min(100%,420px)!important;
  max-width:420px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  padding:0!important;
  background:#f5f5f5!important;
  border-radius:18px!important;
}
body[data-page="team"] .kw3921-avatar-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:18px!important;
}
body[data-page="team"] .kw3921-master-photo,
body[data-page="team"] .kw3921-person-avatar{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:start!important;
}
body[data-page="team"] .kw3921-photo-actions{width:100%!important}

/* v3.14.7 — usa la imagen de equipo aprobada sin generar rostros nuevos */
@media (max-width:760px){
  .kw3133-menu-group{object-fit:cover!important;object-position:center 22%!important;}
}
