:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20182c;background:#f5f3f8}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8f7fb,#eee8f6);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}
.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;color:#7c5b91}.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(440px,100%);padding:34px;border:1px solid #e6dff0;border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 30px 80px rgba(58,26,82,.18);text-align:center}.brand-mark{width:78px;height:78px;margin:0 auto 16px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#4d196f,#8b2b66);color:white;font-size:28px;font-weight:950;box-shadow:0 14px 32px rgba(77,25,111,.28)}.brand-mark.small{width:46px;height:46px;margin:0;border-radius:14px;font-size:17px}.login-card h1{margin:5px 0 8px;font-size:34px}.login-card p{margin:0 auto 22px;max-width:330px;color:#6b6173;line-height:1.55}.login-card form{display:grid;gap:14px;text-align:left}.login-card label{display:grid;gap:6px;font-weight:750}.login-card input,.filters input,.filters select,.modal-form input,.modal-form select,.modal-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d9cfdf;border-radius:12px;background:white;outline:none}.login-card input:focus,.filters input:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.12)}.login-card button,.top-actions button,.primary{min-height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,#542076,#7c2c73);color:white;font-weight:900;padding:10px 15px}.error{min-height:20px;color:#b91c1c;font-size:12px}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 16px;display:flex;flex-direction:column;background:#281637;color:white;box-shadow:12px 0 35px rgba(31,16,45,.16)}.brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.brand>div:last-child{display:grid}.brand strong{font-size:18px}.brand span{font-size:11px;color:#cbbbd7}.sidebar nav{display:grid;gap:7px}.nav,.logout{width:100%;padding:11px 12px;border:0;border-radius:11px;background:transparent;color:#d9cce3;text-align:left;font-weight:800}.nav:hover,.nav.active{background:#513265;color:white}.logout{margin-top:auto;color:#f0c8d0}.main{min-width:0;padding:24px 28px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.topbar h1{margin:4px 0 0;font-size:30px}.top-actions{display:flex;gap:8px}.top-actions .secondary,.secondary{background:white;color:#4a315d;border:1px solid #d8cede}.view{display:none}.view.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{padding:18px;border:1px solid #e5deeb;border-radius:18px;background:white;box-shadow:0 10px 26px rgba(56,34,71,.07)}.kpi span{display:block;color:#746a7a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.kpi strong{display:block;margin-top:8px;font-size:27px}.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.panel{padding:18px;border:1px solid #e5deeb;border-radius:19px;background:white;box-shadow:0 10px 26px rgba(56,34,71,.07)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.panel h2{margin:4px 0;font-size:19px}.compact-list{display:grid;gap:8px}.compact-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px;border:1px solid #ece6f0;border-radius:12px}.compact-item div{display:grid;gap:3px}.compact-item small{color:#786d7d}.plan-stats{display:grid;gap:10px}.plan-stat{display:grid;grid-template-columns:110px 1fr 34px;align-items:center;gap:9px}.bar{height:10px;border-radius:999px;background:#eee9f2;overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:#71336f}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters input{min-width:230px}.filters select{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{padding:11px 9px;border-bottom:1px solid #eee8f1;text-align:left;vertical-align:top}th{color:#6e6375;font-size:9px;text-transform:uppercase;letter-spacing:.06em}td{font-size:12px}td small{display:block;margin-top:3px;color:#7a7080}.pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.pill.basic{background:#e2e8f0;color:#334155}.pill.professional{background:#e0f2fe;color:#075985}.pill.enterprise{background:#ede9fe;color:#5b21b6}.pill.active{background:#dcfce7;color:#166534}.pill.blocked{background:#fee2e2;color:#991b1b}.pill.cancelled{background:#f1f5f9;color:#475569}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.row-actions button{padding:6px 8px;border:1px solid #ded5e4;border-radius:8px;background:white;color:#4c3659;font-size:10px;font-weight:800}.row-actions button.danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-card{padding:15px;border:1px solid #e6dfeb;border-radius:15px;background:#fbfafc}.client-card h3{margin:0 0 5px}.client-card p{margin:3px 0;color:#6c6173;font-size:11px}.client-card .count{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:10px;font-weight:850}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{padding:22px;border-radius:20px;background:white;border:1px solid #e5deeb}.plan-card>span{font-size:9px;font-weight:950;letter-spacing:.1em}.plan-card h2{margin:8px 0}.plan-card strong{display:block;margin-bottom:10px}.plan-card p{color:#695f70;line-height:1.5}.plan-card.professional{border-color:#bae6fd}.plan-card.enterprise{border-color:#ddd6fe}.toast{position:fixed;z-index:1000;right:20px;bottom:20px;max-width:340px;padding:12px 15px;border-radius:12px;background:#1f1727;color:white;box-shadow:0 14px 35px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}dialog{border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px rgba(35,19,45,.3);width:min(620px,calc(100% - 24px))}dialog::backdrop{background:rgba(30,18,37,.55)}#modalContent{padding:22px}.modal-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{margin:0}.modal-head button{border:0;background:transparent;font-size:22px}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form label{display:grid;gap:6px;font-size:11px;font-weight:800}.modal-form .full{grid-column:1/-1}.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.danger-btn{background:#b91c1c!important;color:white!important;border-color:#b91c1c!important}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.client-grid{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.logout{margin-top:10px}.main{padding:18px 14px}.topbar{align-items:flex-start;flex-direction:column}.kpi-grid,.client-grid{grid-template-columns:1fr}.modal-form{grid-template-columns:1fr}.modal-form .full{grid-column:auto}}

/* v1.1 — eliminación robusta y mejor lectura móvil */
.delete-confirm{
 display:grid;
 gap:12px;
 text-align:center
}
.delete-icon{
 width:64px;
 height:64px;
 margin:auto;
 display:grid;
 place-items:center;
 border-radius:50%;
 background:#fee2e2;
 font-size:28px
}
.delete-confirm h3{
 margin:0;
 color:#991b1b
}
.delete-confirm p{
 margin:0;
 color:#5f5565;
 line-height:1.5
}
.delete-confirm label{
 display:grid;
 gap:6px;
 margin-top:4px;
 text-align:left;
 font-size:11px;
 font-weight:800
}
.delete-confirm input{
 width:100%;
 min-height:44px;
 padding:10px 12px;
 border:1px solid #fecaca;
 border-radius:12px;
 outline:none
}
.delete-confirm input:focus{
 border-color:#dc2626;
 box-shadow:0 0 0 3px rgba(220,38,38,.12)
}
.danger-btn:disabled{
 opacity:.55;
 cursor:not-allowed
}
@media(max-width:760px){
 .panel{
  padding:14px
 }
 .panel-head{
  display:grid;
  grid-template-columns:1fr;
 }
 .filters{
  display:grid;
  grid-template-columns:1fr;
  width:100%
 }
 .filters input,
 .filters select{
  width:100%;
  min-width:0
 }
 .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch
 }
 table{
  min-width:1180px
 }
 .row-actions{
  min-width:245px
 }
}
