/* CMSConnect Manager v13.7.44 — diseño compartido por todos los módulos.
   No altera rutas, base de datos ni reglas de negocio. */
:root {
  --g:#008243; --g2:#006d38; --bg:#f4f7f5; --card:#fff;
  --text:#182a20; --muted:#627569; --line:#dce8df; --soft:#eaf6ef;
  --cms-radius:14px; --cms-shadow:0 3px 18px rgba(22,52,34,.055);
  font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  font-size:14px;
}
html {min-width:0; max-width:100%; scroll-padding-top:90px;}
body {min-width:0; max-width:100%; overflow-x:hidden; font:400 14px/1.5 Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif; -webkit-text-size-adjust:100%;}
body, input, select, textarea, button {font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;}
button,.btn {font-size:13px; line-height:1.35; min-height:40px; white-space:normal; text-align:center;}
button:not(:disabled):hover,.btn:not(:disabled):hover {filter:brightness(.97)}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #3abf80;outline-offset:2px}
input,select,textarea {font-size:14px;min-height:42px;max-width:100%;color:var(--text)}
input[type=checkbox],input[type=radio],input[type=hidden],input[type=submit] {min-height:0;width:auto;accent-color:var(--g)}
textarea{line-height:1.5}
label{font-size:13px;color:#2c4737}
h1{font-size:clamp(23px,2.3vw,29px);line-height:1.2;letter-spacing:-.45px}
h2{font-size:19px;line-height:1.25;letter-spacing:-.15px}
h3{font-size:16px;line-height:1.35}
.muted,.small{font-size:12px;line-height:1.5;color:var(--muted)}
.stat{font-size:clamp(25px,2.8vw,32px);line-height:1.2}
main{max-width:1600px;width:100%;margin:24px auto;padding:0 clamp(12px,2.1vw,28px);min-width:0}
.top{align-items:flex-start;flex-wrap:wrap;row-gap:12px;margin-bottom:17px;min-width:0}
.top>*,.actions>*,.toolbar>*{min-width:0}
.card{border-radius:var(--cms-radius);box-shadow:var(--cms-shadow);padding:clamp(14px,1.65vw,22px);min-width:0;overflow-wrap:anywhere;margin-bottom:16px}
.row,.grid{gap:14px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))}
.row2{gap:16px;min-width:0}
.row>*,.grid>*,.row2>*{min-width:0;max-width:100%}
.card img,.card video,.card iframe,main img,main video{max-width:100%;height:auto}
.card iframe{border:0}
.card .actions,.card .toolbar{max-width:100%;}
.card form,.card form>div{max-width:100%}
.card [style*="max-width:760px"],.card [style*="max-width:360px"]{max-width:100%!important}
.card .section{font-size:15px}
.code,pre{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
.notice{line-height:1.5}
/* Navegación común, misma altura/tipografía en todas las vistas. */
.cms-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;flex-wrap:nowrap;gap:18px;
  height:64px;min-height:64px;padding:0 clamp(12px,2vw,28px);background:#008243;color:white;
  box-shadow:0 3px 14px #133b2520;overflow:visible}
.cms-nav a{font-size:13px;font-weight:680;min-height:36px;padding:8px 10px;border-radius:9px}
.cms-nav a:hover{background:#ffffff26}
.cms-nav .cms-brand{padding:0;display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;max-width:245px;flex:0 0 auto;font-weight:850;font-size:15px;line-height:1.05;letter-spacing:-.25px;text-decoration:none;color:white}
.cms-nav .cms-brand small{display:block;margin-top:3px;font-size:12px;letter-spacing:0;opacity:.87}
.cms-mark{display:flex;align-items:center;justify-content:center;flex:0 0 37px;width:37px;height:37px;border-radius:11px;background:white;color:#008243;font-size:12px;letter-spacing:-.5px}
.cms-nav-links{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto}
.cms-nav-links>a{white-space:nowrap}
.cms-nav-more{position:relative;flex:0 0 auto}
.cms-nav-more>summary{list-style:none;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:9px;min-height:36px;padding:8px 11px;font-size:13px;font-weight:680;white-space:nowrap;user-select:none}
.cms-nav-more>summary::-webkit-details-marker{display:none}
.cms-nav-more[open]>summary,.cms-nav-more>summary:hover,.cms-nav-more>summary.cms-nav-active{background:#ffffff28}
.cms-nav-submenu{position:absolute;top:calc(100% + 10px);left:0;z-index:80;background:white;color:#1d3326;
 border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 40px #071b1250;min-width:196px;padding:7px;display:grid;gap:2px}
.cms-nav-submenu>a{display:block;color:#1d3326;min-height:38px;padding:9px 11px}
.cms-nav-submenu>a:hover,.cms-nav-submenu>a[aria-current="page"]{background:#e6f5ec;color:#006d38;box-shadow:none}
.cms-nav-user{margin-left:auto;display:flex;align-items:center;gap:7px;min-width:0;flex:0 0 auto}
.cms-user-label{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#e5f8ec}
.cms-nav-toggle{display:none;background:#ffffff22;border:1px solid #ffffff4a;color:white;padding:8px 11px;font-weight:700;min-height:40px;gap:7px;flex:0 0 auto}
.cms-nav-toggle:hover{background:#ffffff33}
.cms-nav a[aria-current="page"]{background:#ffffff30;box-shadow:inset 0 -2px 0 white}
#livebar{z-index:15;min-height:34px;padding:5px clamp(12px,2.1vw,28px);gap:8px 13px;font-size:12px;line-height:1.35;background:#edf7f1}
#livebar .line{font-size:12px}
/* Tablas: nunca agrandar el ancho del documento. */
.cms-table-scroll{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
 scrollbar-width:thin;scrollbar-color:#b5cabe transparent;border-radius:10px}
.cms-table-scroll:focus-visible{outline:2px solid var(--g);outline-offset:2px}
table{width:100%;max-width:100%;border-collapse:collapse;font-size:13px}
th{font-size:11px;font-weight:750;line-height:1.4;white-space:nowrap}
td{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
td .actions{min-width:0}
.cms-table-scroll table:not(.cms-table-cards){min-width:var(--cms-table-min,650px)}
/* Laptop compacta / iPad apaisado: navegación contraíble. */
@media(max-width:1100px){
  .cms-nav{gap:10px;justify-content:space-between}
  .cms-nav-toggle{display:inline-flex;margin-left:auto}
  .cms-nav-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:75;background:#fff;color:#183524;
    box-shadow:0 15px 30px #0c331c29;padding:10px 14px 14px;max-height:calc(100dvh - 64px);overflow:auto;
    flex-direction:column;align-items:stretch;gap:2px}
  .cms-nav-links.cms-nav-open{display:flex}
  .cms-nav-links>a,.cms-nav-more>summary{color:#173a26;font-size:14px;min-height:44px;padding:11px 12px}
  .cms-nav-links>a:hover,.cms-nav-links>a[aria-current="page"],.cms-nav-more>summary:hover,.cms-nav-more>summary.cms-nav-active{background:#eaf6ef;color:#006d38;box-shadow:none}
  .cms-nav-more{position:static}
  .cms-nav-submenu{position:static;min-width:0;padding:3px 0 3px 12px;box-shadow:none;border:0;border-left:2px solid #cfe6d7;background:#f7fbf8;border-radius:0}
  .cms-nav-submenu>a{color:#2d4838;padding:11px 12px;min-height:44px}
  .cms-nav-user{margin-left:0;flex:0 0 auto}
  .cms-user-label{max-width:110px}
  .row2{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
}
/* Tablet portrait + large phones: grid/controls without horizontal clipping. */
@media(max-width:760px){
  main{margin:16px auto;padding:0 12px}
  .row,.grid,.row2{grid-template-columns:minmax(0,1fr);gap:12px}
  .row>[style*="grid-column"]{grid-column:1/-1!important}
  .top{gap:10px}
  .top .actions{width:100%;justify-content:flex-start}
  .card{padding:15px;margin-bottom:12px;border-radius:13px}
  .toolbar{flex-wrap:wrap;gap:8px}
  .toolbar>input,.toolbar>select{flex:1 1 160px}
  .card input,.card select,.card textarea{min-height:44px;font-size:16px}
  .card input[type=checkbox],.card input[type=radio]{min-height:0;flex:0 0 auto}
  .btn,button{min-height:42px}
  .cms-nav{height:60px;min-height:60px;padding:0 12px;gap:8px;flex-wrap:nowrap;overflow:visible}
  .cms-nav .cms-brand{font-size:13px;gap:7px}
  .cms-mark{width:32px;height:32px;flex-basis:32px;font-size:11px}
  .cms-nav .cms-brand small{font-size:11px;margin-top:1px}
  .cms-nav-links{max-height:calc(100dvh - 60px)}
  .cms-nav-user .cms-user-label{display:none}
  .cms-nav-user>a{padding:8px 9px}
  #livebar{padding:5px 12px;font-size:11px}
  #livebar .line{font-size:11px}
  #livewebhook{display:none}
  .card[style*="overflow:auto"],.card[style*="overflow: auto"]{overflow:visible!important}
  .cms-table-scroll table:not(.cms-table-cards){min-width:var(--cms-table-min,700px)}
  /* compact tables as labeled touch-friendly cards; wide operations tables stay scrollable. */
  .cms-table-cards{min-width:0!important;width:100%;display:block}
  .cms-table-cards thead,.cms-table-cards .cms-table-head{display:none}
  .cms-table-cards tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .cms-table-cards tr{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:0 2px 8px #13291b0c}
  .cms-table-cards td{display:grid;grid-template-columns:minmax(88px,35%) minmax(0,1fr);align-items:start;gap:8px;
    border-bottom:1px solid #f0f3f0;padding:9px 0;font-size:13px;white-space:normal;overflow-wrap:anywhere}
  .cms-table-cards td:last-child{border-bottom:0}
  .cms-table-cards td:before{content:attr(data-cms-label);font-size:11px;font-weight:760;line-height:1.55;color:#527262;text-transform:uppercase;letter-spacing:.18px}
  .cms-table-cards td>.actions{justify-content:flex-start}
  .cms-table-cards td form{min-width:0;max-width:100%}
  .cms-table-cards td input,.cms-table-cards td select{min-width:0;max-width:100%}
}
@media(max-width:420px){
  .cms-nav-toggle span{display:none}
  .cms-nav-toggle{padding:7px 10px}
  .cms-nav .cms-brand{font-size:12px}
  .cms-nav-user>a{font-size:12px}
  main{padding:0 9px;margin:12px auto}
  .top .actions .btn{flex:1 1 auto}
  .cms-table-cards td{grid-template-columns:minmax(76px,32%) minmax(0,1fr);gap:6px}
}
/* Uniform login screen (own template doesn't extend base). */
.cms-login-card{width:min(370px,calc(100vw - 30px))!important;max-width:100%;margin:18px!important;padding:clamp(18px,5vw,35px)!important}
.cms-login-card h1{font-size:clamp(23px,6vw,29px)!important;overflow-wrap:anywhere}
.cms-login-card input{font-size:16px;min-height:44px;border:1px solid #cad9d1;border-radius:10px;max-width:100%}
.cms-login-card button{min-height:44px;font-size:15px;cursor:pointer}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
