.admin-body{background:#f7f2ef;min-height:100vh}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top left,#f4e2e6,transparent 34%),linear-gradient(135deg,#fff9f5,#f2e7df)}
.login-card{width:min(430px,94vw);background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow);text-align:center}.login-card img{width:160px;height:80px;object-fit:contain;background:#070707;border-radius:14px;margin:0 auto 18px}.login-card h1{font-size:40px}.login-card p{color:var(--muted)}.login-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;margin:12px 0}.api-warning{margin-top:12px;color:#a44;font-size:13px}
.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;background:#352722;color:#fff;padding:22px 16px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand img{width:66px;height:66px;object-fit:contain;background:#050505;border-radius:13px}.admin-brand strong{display:block;font-family:"Playfair Display",serif}.admin-brand span{font-size:11px;letter-spacing:.17em;color:#d9c6be}
.admin-nav{display:grid;gap:7px;padding-top:20px}.admin-nav button{border:0;background:transparent;color:#e8dcd7;text-align:left;padding:13px 14px;border-radius:12px;font-weight:700}.admin-nav button i{margin-right:8px}.admin-nav button:hover,.admin-nav button.active{background:#533a32;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.btn-dark{background:#241a17;color:#fff}
.admin-main{padding:28px}.admin-top{max-width:1280px;margin:0 auto 22px;display:flex;align-items:start;justify-content:space-between;gap:20px}.admin-top h1{font-size:40px;margin-bottom:0}.online-pill{background:#e9f7ec;color:#2d7a38;padding:9px 13px;border-radius:999px;font-size:13px;font-weight:800}.online-pill span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#39a04b;margin-right:5px}
.admin-view{display:none;max-width:1280px;margin:auto}.admin-view.active{display:block}.admin-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:25px;box-shadow:0 12px 34px rgba(73,48,40,.06)}.admin-card h2{color:var(--berry)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 10px 25px rgba(73,48,40,.05)}.kpi-card span{display:block;color:var(--muted);font-size:13px}.kpi-card strong{font-size:31px;color:var(--berry)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.editor{background:#fff8f7;border:1px solid var(--line);border-radius:20px;padding:20px;margin:16px 0}.editor textarea{min-height:100px}.editor-actions{display:flex;gap:9px;margin-top:12px}.check{display:flex;align-items:center;gap:8px;margin-top:10px}.file-field{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:9px 12px;background:#fff;color:var(--muted)}.file-field input{max-width:210px}
.admin-toolbar{display:flex;gap:10px;margin:16px 0}.admin-toolbar input,.admin-toolbar select{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-toolbar input{flex:1}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:850px}.admin-table th,.admin-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #f0e6e0;vertical-align:middle}.admin-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-table td small{color:var(--muted)}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px}.row-actions .danger{color:#a33}.status-select{padding:8px;border:1px solid var(--line);border-radius:9px}.thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;background:var(--soft)}.summary-list{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row span{color:var(--muted)}
#adminToast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(30px);opacity:0;background:#2d211d;color:#fff;padding:11px 18px;border-radius:12px;z-index:200;transition:.2s}#adminToast.show{opacity:1;transform:translateX(-50%)}
@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-nav{grid-template-columns:repeat(3,1fr)}.sidebar-bottom{margin-top:18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.admin-main{padding:16px}.admin-nav{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr}.card-head{display:block}.card-head .btn{margin-top:10px}.admin-toolbar{flex-direction:column}.file-field{display:block}.file-field input{max-width:100%;margin-top:8px}}

/* LOGO FINAL CPANEL */
.cpanel-brand img{
  width:76px !important;
  height:76px !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:16px !important;
}


/* LOGO CPANEL SIN NEGRO */
.cpanel-brand img{
  background:#fff8ef !important;
  padding:7px !important;
  border-radius:18px !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}


/* CPANEL: coherencia con identidad editorial */
.cpanel-body,
.cpanel-nav,
.cpanel-card,
.cpanel-card input,
.cpanel-card select,
.cpanel-card textarea,
.admin-table{
  font-family:"Manrope",Arial,sans-serif !important;
}
.cpanel-topbar h1,
.cpanel-card h2,
.cpanel-card h3{
  font-family:"Cormorant Garamond",Georgia,serif !important;
  color:#4b3b35 !important;
}
.cpanel-topbar h1{
  font-size:44px !important;
  font-weight:600 !important;
}


/* =========================================================
   CPANEL - LOGO TRANSPARENTE SIN NEGRO
   ========================================================= */
.cpanel-sidebar{
  background:#f7f1ec !important;
  color:#4b3b35 !important;
  border-right:1px solid #e3d7cf !important;
}

.cpanel-brand-logo-only{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  padding-bottom:20px !important;
  border-bottom:1px solid #dfd2ca !important;
}

.cpanel-brand-logo-only img{
  display:block !important;
  width:205px !important;
  height:auto !important;
  max-height:86px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.cpanel-brand-logo-only span{
  color:#9b7a37 !important;
  font-size:10px !important;
  letter-spacing:.25em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
}

.cpanel-nav{
  color:#66544b !important;
}

.cpanel-nav:hover,
.cpanel-nav.active{
  background:#ede2da !important;
  color:#7f5260 !important;
}

.sidebar-bottom .btn-soft{
  background:#fff !important;
  color:#5b473e !important;
  border:1px solid #ddd0c8 !important;
}


/* =========================================================
   CORRECCION FINAL CPANEL LOGO
   ========================================================= */
.admin-sidebar,
.cpanel-sidebar{
  background:linear-gradient(180deg,#4f382f 0%, #3f2e28 100%) !important;
}
.admin-brand img,
.cpanel-brand img,
.cpanel-brand-logo-only img{
  width:180px !important;
  height:auto !important;
  max-height:82px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:#fff8f1 !important;
  padding:10px 14px !important;
  border-radius:16px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
}
.admin-brand strong,
.cpanel-brand strong,
.cpanel-brand-logo-only span,
.admin-brand span{
  color:#fff7ea !important;
}


/* CPANEL - icono más distinguible */
.login-card img{
  width:190px !important;
  height:92px !important;
  object-fit:contain !important;
  background:#fff8f1 !important;
  border-radius:18px !important;
  padding:8px 14px !important;
}
.admin-brand img{
  width:170px !important;
  height:78px !important;
  object-fit:contain !important;
  background:#fff8f1 !important;
  border-radius:16px !important;
  padding:8px 12px !important;
}


/* CPANEL - logo único */
.admin-brand-single{
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
}

.admin-brand-single img{
  width:205px !important;
  height:76px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:#fff8f1 !important;
  padding:8px 12px !important;
  border-radius:16px !important;
}

.admin-brand-single span{
  color:#f3dfb9 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.25em !important;
  text-transform:uppercase !important;
}

/* EDICIÓN RÁPIDA DE PRECIOS */
.quick-price{display:flex;align-items:center;gap:6px;min-width:190px}.quick-price span{font-weight:800;color:var(--berry)}.quick-price input{width:105px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff}.quick-price button{border:1px solid var(--line);background:#fff7f5;color:var(--berry);border-radius:9px;padding:8px 10px;font-weight:800}.quick-price button:disabled{opacity:.6}

/* USUARIOS Y PERFIL */
.admin-userbox{display:flex;align-items:center;gap:10px}.admin-userbox>img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.12);background:#fff}.admin-userbox>div:not(.online-pill){display:grid}.admin-userbox small{color:var(--muted);font-size:12px}.user-editor-grid{display:grid;grid-template-columns:210px 1fr;gap:18px}.profile-upload-box{display:grid;gap:12px;align-content:start}.profile-upload-box img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 8px 24px rgba(73,48,40,.12);background:#f8efea}.password-card{margin-top:18px}.password-row{display:flex;gap:10px;align-items:center}.password-row input{flex:1;padding:13px;border:1px solid var(--line);border-radius:12px}.user-name-cell{display:flex;align-items:center;gap:10px}.user-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#f4ece7}.role-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f6ecef;color:var(--berry);font-size:11px;font-weight:800}.inactive-badge{background:#f4e6e6;color:#a33}.admin-nav button.hidden-role{display:none!important}
@media(max-width:760px){.admin-top{flex-direction:column}.admin-userbox{width:100%;flex-wrap:wrap}.user-editor-grid{grid-template-columns:1fr}.profile-upload-box{justify-items:start}.password-row{flex-direction:column;align-items:stretch}}


/* =========================================================
   CPANEL R4 - SCROLL + MENU HAMBURGUESA / SLIDER
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.admin-body{min-height:100dvh;overflow-x:hidden}
.admin-shell{min-height:100dvh;align-items:start}
.admin-sidebar{
  height:100dvh !important;
  max-height:100dvh;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
  z-index:1000;
}
.admin-sidebar::-webkit-scrollbar{width:7px}
.admin-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:999px}
.admin-nav{padding-bottom:16px}
.sidebar-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.admin-main{min-width:0;width:100%;box-sizing:border-box}
.admin-view,.admin-card{min-width:0}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.admin-table{max-width:none}
.admin-titlebar{display:flex;align-items:flex-start;gap:12px;min-width:0}
.admin-menu-toggle,.sidebar-close{
  border:0;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:13px;
  font-size:24px;
}
.admin-menu-toggle{display:none;background:#fff;color:#4f382f;border:1px solid var(--line);box-shadow:0 7px 20px rgba(73,48,40,.08);flex:0 0 auto}
.sidebar-close{display:none;position:absolute;right:12px;top:12px;background:rgba(255,255,255,.12);color:#fff;z-index:2}
.sidebar-backdrop{display:none}

@media(max-width:1000px){
  .admin-shell{display:block;min-height:100dvh}
  .admin-main{padding:18px 16px 30px}
  .admin-top{
    position:sticky;
    top:0;
    z-index:90;
    margin:-18px -16px 18px;
    padding:14px 16px;
    background:rgba(247,242,239,.96);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(108,83,72,.10);
    align-items:center;
  }
  .admin-top h1{font-size:32px;line-height:1.05}
  .admin-menu-toggle{display:inline-flex}
  .admin-sidebar{
    position:fixed !important;
    inset:0 auto 0 0;
    width:min(84vw,310px);
    height:100dvh !important;
    max-height:100dvh;
    padding:22px 16px;
    transform:translate3d(-105%,0,0);
    transition:transform .24s ease;
    box-shadow:18px 0 42px rgba(35,24,20,.22);
    visibility:hidden;
  }
  .admin-sidebar.is-open{transform:translate3d(0,0,0);visibility:visible}
  .sidebar-close{display:inline-flex}
  .admin-brand-single{padding-right:46px !important}
  .admin-nav{grid-template-columns:1fr !important;gap:6px !important}
  .admin-nav button{width:100%;min-height:46px}
  .sidebar-bottom{margin-top:18px}
  .sidebar-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(34,23,19,.45);
    z-index:999;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease,visibility .24s ease;
  }
  .sidebar-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .admin-body.menu-open{overflow:hidden}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .admin-top{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
  .admin-userbox{width:auto;max-width:52%;margin-left:auto;justify-content:flex-end;flex-wrap:nowrap}
  .admin-userbox>div:not(.online-pill){display:none}
  .online-pill{display:none}
  .admin-userbox>img{width:40px;height:40px}
  .admin-titlebar{align-items:center}
  .admin-top h1{font-size:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54vw}
  .admin-top .eyebrow{font-size:10px}
  .admin-card{padding:18px;border-radius:20px}
  .editor{padding:16px}
  .table-wrap{margin-left:-4px;margin-right:-4px;padding:0 4px}
}

@media(max-width:520px){
  .admin-main{padding:14px 12px 28px}
  .admin-top{margin:-14px -12px 16px;padding:12px}
  .admin-menu-toggle{width:42px;height:42px;border-radius:12px}
  .admin-top h1{font-size:24px;max-width:50vw}
  .kpi-grid{grid-template-columns:1fr}
}

/* R8.7 - editor de producto como modal visible y accesible */
body.product-editor-open{overflow:hidden}
body.product-editor-open::before{content:"";position:fixed;inset:0;background:rgba(32,20,16,.48);backdrop-filter:blur(2px);z-index:1190}
#productEditor:not(.hidden){position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 28px));max-height:min(88vh,820px);overflow:auto;margin:0;padding:22px;background:#fffaf8;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(32,20,16,.28)}
.editor-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.editor-modal-head h3{margin:2px 0 0;font-size:1.35rem}.editor-close-x{border:0;background:#fff;border-radius:999px;width:40px;height:40px;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.08)}
#productEditor .editor-actions{position:sticky;bottom:-22px;background:linear-gradient(180deg,rgba(255,250,248,.6),#fffaf8 35%);padding:16px 0 4px;z-index:2}
@media(max-width:640px){#productEditor:not(.hidden){width:calc(100vw - 16px);max-height:92vh;padding:16px;border-radius:18px}.editor-modal-head{margin-bottom:10px}}

/* =========================================================
   CPANEL R9.2 - CORRECCION VISUAL GLOBAL + NOTIFICACIONES
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
.admin-main,.admin-view,.admin-card,.editor,.form-grid,.field-group,.user-editor-grid,.profile-upload-box{min-width:0}
.admin-card{overflow:visible}
.card-head{flex-wrap:wrap}
.card-head>div{min-width:0}
.card-head h2{margin-bottom:0}

/* Formularios: ninguna etiqueta/control puede montarse sobre otro */
.admin-body .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.admin-body .field-group{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  width:100%;
  min-width:0;
  margin:0;
}
.admin-body .field-group>span,
.admin-body .field-label{
  display:block;
  color:#66544b;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.025em;
}
.admin-body .form-grid input,
.admin-body .form-grid select,
.admin-body .form-grid textarea,
.admin-body .password-row input,
.admin-body .admin-toolbar input,
.admin-body .admin-toolbar select{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:52px;
  padding:13px 15px;
  border:1px solid #e3d5cf;
  border-radius:14px;
  background:#fff;
  color:#392b26;
  font:inherit;
  line-height:1.35;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.admin-body .form-grid textarea{min-height:112px;resize:vertical}
.admin-body .form-grid input:focus,
.admin-body .form-grid select:focus,
.admin-body .form-grid textarea:focus,
.admin-body .password-row input:focus,
.admin-body .admin-toolbar input:focus,
.admin-body .admin-toolbar select:focus{
  border-color:#a87783;
  box-shadow:0 0 0 4px rgba(141,80,96,.10);
}
.admin-body .span-2{grid-column:1/-1}

/* Archivos: integra el selector nativo dentro del diseño */
.admin-body .file-field{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
  width:100%;
  min-width:0;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
}
.admin-body .file-field input[type="file"]{
  display:block;
  width:100%;
  max-width:none !important;
  min-width:0;
  min-height:52px;
  margin:0 !important;
  padding:7px 9px !important;
  border:1px dashed #d7c4bc !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#75645d;
  overflow:hidden;
}
.admin-body input[type="file"]::file-selector-button{
  min-height:36px;
  margin-right:10px;
  padding:8px 13px;
  border:0;
  border-radius:10px;
  background:#533a32;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.admin-body .file-name{display:block;min-height:16px;color:#8b7a73;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Editores */
.editor{padding:22px;margin:18px 0 22px;border-radius:22px;overflow:hidden}
.editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.editor-actions .btn{min-height:44px}
.check{min-height:44px;padding:8px 2px;flex-wrap:wrap}
.check input{width:18px;height:18px;flex:0 0 auto}
.form-help{padding:12px 14px;border-radius:12px;background:#fff7f3;color:#76645d;font-size:12px;line-height:1.5}

/* Usuarios */
.user-editor-grid{
  display:grid;
  grid-template-columns:minmax(180px,220px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.profile-upload-box{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:18px;
  border:1px solid #eadbd5;
  border-radius:20px;
  background:#fff;
}
.profile-upload-box img{
  width:132px;
  height:132px;
  max-width:100%;
  margin:0 auto;
  border-radius:50%;
  object-fit:cover;
  border:5px solid #f7efeb;
  box-shadow:0 8px 24px rgba(73,48,40,.10);
}
.password-card{margin-top:20px}
.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.password-row .btn{min-height:52px;white-space:nowrap}

/* Tablas */
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border-radius:12px;-webkit-overflow-scrolling:touch}
.admin-table{width:100%;min-width:850px;table-layout:auto}
.admin-table th{white-space:nowrap}
.admin-table td{max-width:360px;overflow-wrap:anywhere}
.admin-table td:nth-child(2) small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.row-actions button{white-space:nowrap;min-height:36px}
.status-select{width:100%;min-width:145px;max-width:220px}
.quick-price{max-width:100%;min-width:170px;flex-wrap:nowrap}.quick-price input{min-width:0}

/* Header + campanita */
.admin-top{align-items:center}
.admin-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.notification-wrap{position:relative;flex:0 0 auto}
.notification-bell{
  position:relative;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #dfd0ca;
  border-radius:14px;
  background:#fff;
  color:#533a32;
  font-size:20px;
  cursor:pointer;
  box-shadow:0 7px 20px rgba(73,48,40,.07);
}
.notification-bell:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(73,48,40,.11)}
.notification-badge{
  position:absolute;
  right:-6px;
  top:-7px;
  min-width:21px;
  height:21px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #f7f2ef;
  border-radius:999px;
  background:#a83c52;
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:900;
}
.notification-panel{
  position:absolute;
  z-index:1400;
  top:56px;
  right:0;
  width:min(390px,calc(100vw - 24px));
  max-height:min(72vh,620px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #eadbd5;
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(46,29,24,.20);
}
.notification-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 13px;border-bottom:1px solid #f0e6e1}
.notification-panel-head h3{margin:2px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;color:#4b3b35}
.icon-btn{width:38px;height:38px;border:1px solid #eadbd5;border-radius:12px;background:#fff;color:#59443c;cursor:pointer}
.notification-tools{display:flex;gap:8px;padding:11px 14px;border-bottom:1px solid #f0e6e1;background:#fffaf8}
.notify-tool{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #eadbd5;border-radius:11px;background:#fff;color:#655149;font-size:11px;font-weight:800;cursor:pointer}
.notification-list{overflow:auto;padding:8px;overscroll-behavior:contain}
.notification-empty{padding:28px 16px;text-align:center;color:#8a7871;font-size:13px}
.notification-item{position:relative;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 8px;gap:10px;align-items:center;padding:11px;border:0;border-radius:15px;background:#fff;text-align:left;color:#43332e;cursor:pointer}
.notification-item:hover{background:#fbf5f3}.notification-item.unread{background:#fff5f5}
.notification-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#f2e8e3;color:#7f5260;font-size:18px}.notification-icon.order{background:#eef7ef;color:#397943}.notification-icon.request{background:#f8edf0;color:#9b5266}
.notification-copy{display:grid;gap:2px;min-width:0}.notification-copy strong{font-size:13px}.notification-copy small{color:#77665f;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-copy time{color:#a08e86;font-size:10px}.notification-dot{width:8px;height:8px;border-radius:50%;background:#ae3f55}
.notification-toast-stack{position:fixed;z-index:1600;right:22px;top:84px;width:min(390px,calc(100vw - 28px));display:grid;gap:10px;pointer-events:none}
.notification-toast-card{pointer-events:auto;width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;gap:11px;align-items:center;padding:14px;border:1px solid #e3d4cd;border-radius:18px;background:#fff;color:#43332e;text-align:left;box-shadow:0 18px 50px rgba(48,31,25,.20);opacity:0;transform:translateX(28px);transition:opacity .22s ease,transform .22s ease;cursor:pointer}
.notification-toast-card.show{opacity:1;transform:none}.notification-toast-card small{display:block;margin-bottom:3px;color:#9b5266;font-size:9px;font-weight:900;letter-spacing:.13em}.notification-toast-card strong{display:block;font-size:13px;line-height:1.35}.notification-toast-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f5e9ec;color:#985268;font-size:20px}.notification-toast-card.order .notification-toast-icon{background:#eaf6ed;color:#357b43}.notification-toast-card.order small{color:#357b43}

/* Desktop mediano */
@media(max-width:1180px){
  .admin-main{padding:22px}
  .admin-body .form-grid{gap:14px}
  .admin-userbox .online-pill{display:none}
}
@media(max-width:900px){
  .admin-body .form-grid{grid-template-columns:1fr}
  .admin-body .span-2{grid-column:auto}
  .user-editor-grid{grid-template-columns:1fr}
  .profile-upload-box{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center}
  .profile-upload-box img{margin:0}
  .password-row{grid-template-columns:1fr}
  .password-row .btn{width:100%}
}
@media(max-width:760px){
  .admin-top-actions{gap:8px;margin-left:auto}
  .notification-bell{width:42px;height:42px;border-radius:12px}
  .notification-panel{position:fixed;left:12px;right:12px;top:74px;width:auto;max-height:calc(100dvh - 90px)}
  .notification-toast-stack{left:12px;right:12px;top:78px;width:auto}
  .admin-card{overflow:hidden}
  .profile-upload-box{grid-template-columns:1fr;justify-items:stretch}.profile-upload-box img{margin:0 auto}
  .editor-actions .btn{flex:1 1 150px}
}
@media(max-width:520px){
  .admin-card{padding:15px}
  .editor{padding:14px;margin:14px 0}
  .admin-body .form-grid{gap:13px}
  .admin-body .form-grid input,.admin-body .form-grid select,.admin-body .password-row input{min-height:50px}
  .card-head{align-items:stretch}.card-head>.btn{width:100%;margin-top:4px!important}
  .admin-toolbar{gap:8px}
  .notification-tools{flex-direction:column}
}

/* ========================================================================
   R9.5 · SIDEBAR FIJO + COTIZACIONES + PRODUCTOS
   ======================================================================== */
@media (min-width:1001px){
  .admin-shell{display:block;min-height:100vh}
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:270px;
    height:100dvh!important;
    max-height:100dvh;
    overflow-y:auto;
    overflow-x:hidden;
    z-index:1000;
    transform:translateX(0);
    transition:transform .24s ease;
  }
  .admin-main{
    margin-left:270px;
    transition:margin-left .24s ease;
    min-height:100vh;
  }
  .admin-menu-toggle{display:inline-flex!important}
  .admin-top{
    position:sticky;
    top:0;
    z-index:95;
    padding-top:14px;
    padding-bottom:14px;
    background:rgba(251,248,246,.96);
    backdrop-filter:blur(12px);
  }
  .admin-body.sidebar-collapsed .admin-sidebar{transform:translateX(-102%)}
  .admin-body.sidebar-collapsed .admin-main{margin-left:0}
}

@media (max-width:1000px){
  .admin-main{margin-left:0!important}
  .admin-menu-toggle{display:inline-flex!important}
}

.product-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,320px) auto;align-items:center}
.product-toolbar .btn{min-height:46px;white-space:nowrap}
.product-results-meta{margin:-4px 0 12px;color:var(--muted);font-size:13px;font-weight:700}
#productsTable .admin-table{min-width:1040px}
.quick-price{min-width:245px!important;display:grid!important;grid-template-columns:auto minmax(100px,1fr) 92px!important;align-items:center!important;gap:7px!important}
.quick-price input{width:100%!important;min-width:100px!important}
.quick-price button{min-width:92px!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}

body.quote-editor-open{overflow:hidden}
body.quote-editor-open::before{content:"";position:fixed;inset:0;background:rgba(32,20,16,.48);backdrop-filter:blur(2px);z-index:1190}
#quoteEditor:not(.hidden){position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1080px,calc(100vw - 28px));max-height:min(92vh,920px);overflow:auto;margin:0;padding:22px;background:#fffaf8;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(32,20,16,.28)}
#quoteEditor .editor-actions{position:sticky;bottom:-22px;background:linear-gradient(180deg,rgba(255,250,248,.72),#fffaf8 34%);padding:16px 0 4px;z-index:3}
.quote-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.quote-reference>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.quote-reference span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.quote-reference strong{font-size:16px;color:#4b342d}
.quote-client-grid{margin-bottom:14px}
.quote-add-line{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center;margin:16px 0 12px}
.quote-add-line select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}
.quote-items-head,.quote-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 150px 135px 44px;gap:8px;align-items:center}
.quote-items-head{padding:8px 4px;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800}
.quote-item-row{padding:8px 0;border-top:1px solid #efe4df}
.quote-item-row input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}
.quote-line-total{text-align:right;white-space:nowrap}
.quote-remove{width:40px;height:40px;border-radius:10px;border:1px solid #ead4d4;background:#fff6f6;color:#a33;display:grid;place-items:center;cursor:pointer}
.quote-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start;margin-top:18px}
.quote-bottom-grid textarea{min-height:116px}
.quote-totals{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px;display:grid;gap:10px}
.quote-totals>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid #f0e5e0}
.quote-totals>div:last-child{border-bottom:0;padding-bottom:0}
.quote-grand-total{font-size:18px;color:#4f382f}
.quote-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-whatsapp{background:#1fa855;color:#fff;border:0}.btn-whatsapp:hover{background:#178845;color:#fff}
.pdf-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:#a23d3d;font-weight:800;white-space:nowrap}
#quotesTable .admin-table{min-width:1180px}
#requestsTable .admin-table{min-width:1180px}

@media(max-width:820px){
  .product-toolbar{grid-template-columns:1fr}
  .quote-reference{grid-template-columns:1fr}
  .quote-add-line{grid-template-columns:1fr}
  .quote-items-head{display:none}
  .quote-item-row{grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px;background:#fff}
  .quote-item-row .quote-desc{grid-column:1/-1}
  .quote-line-total{text-align:left;align-self:center}
  .quote-remove{justify-self:end}
  .quote-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  #quoteEditor:not(.hidden){width:calc(100vw - 16px);max-height:94vh;padding:15px;border-radius:18px}
  .quote-item-row{grid-template-columns:1fr}
  .quote-item-row .quote-desc{grid-column:auto}
  .quote-remove{justify-self:start}
  .quote-actions .btn{width:100%}
}


/* ========================================================================
   R9.6 · SLIDER NO BLOQUEANTE + CLIENTES + REPORTES + IMPORTACION XLSX
   ======================================================================== */
.card-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.import-editor:not(.hidden){position:fixed;z-index:1250;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1080px,calc(100vw - 28px));max-height:90dvh;overflow:auto;background:#fffaf8;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 28px 80px rgba(32,20,16,.28)}
body.product-import-open::before{content:"";position:fixed;inset:0;background:rgba(32,20,16,.30);z-index:1240;pointer-events:none}
.import-help{padding:12px 14px;border:1px solid #eaded8;background:#fff;border-radius:14px;margin-bottom:14px;color:#604a42;line-height:1.55}
.import-summary{margin:12px 0;font-weight:700;color:#604a42}.import-preview{max-height:45vh}.import-preview .admin-table{min-width:900px}
.client-toolbar{grid-template-columns:minmax(260px,1fr) auto}.client-toolbar .btn{white-space:nowrap}
.report-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end;margin:14px 0 18px}.report-filters .btn{min-height:50px}
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.report-kpis>div{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:grid;gap:5px}.report-kpis span{font-size:12px;color:var(--muted);font-weight:800}.report-kpis strong{font-size:23px;color:#4f382f}.report-section-title{margin-top:28px}
.linked-phone-note{font-size:11px;color:#8a6e61;margin-top:5px;display:block}.linked-phone{background:#fff8e8!important;border-color:#d9bb72!important}

/* En pantallas pequeñas el menú se desliza sin cubrir/apagar el contenido. */
@media(max-width:1000px){
  .admin-shell{display:block!important;min-height:100vh;overflow-x:hidden}
  .admin-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(280px,82vw)!important;height:100dvh!important;overflow-y:auto!important;transform:translateX(-102%)!important;transition:transform .24s ease!important;z-index:1000!important}
  .admin-sidebar.is-open{transform:translateX(0)!important;visibility:visible!important}
  .sidebar-backdrop{display:none!important}
  .admin-body.menu-open{overflow:auto!important}
  .admin-main{transform:translateX(0);transition:transform .24s ease,margin-left .24s ease!important;min-height:100vh}
  .admin-body.sidebar-peek-open .admin-main{transform:translateX(min(280px,82vw))}
  .sidebar-close{display:inline-flex!important}
  .report-filters{grid-template-columns:1fr 1fr}.report-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){.card-head-actions{width:100%;justify-content:stretch}.card-head-actions .btn{flex:1 1 150px}.report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}.client-toolbar{grid-template-columns:1fr}}


/* ========================================================================
   R9.7 · SIDEBAR ESTABLE / MINI-RAIL + SLIDER SUPERPUESTO
   - El contenido principal NO cambia de ancho al abrir/cerrar el menú.
   - Escritorio: rail 76px siempre visible; expandido 270px sobre el contenido.
   - Móvil/tablet: off-canvas por encima, sin desplazar el contenido.
   ======================================================================== */
:root{
  --aa-sidebar-mini:76px;
  --aa-sidebar-open:270px;
  --aa-topbar-bg:rgba(251,248,246,.97);
}

/* Base común: el contenido tiene una única geometría y no se recompone. */
.admin-body{overflow-x:hidden!important}
.admin-shell{display:block!important;min-height:100dvh!important;overflow-x:hidden!important}
.admin-main{
  min-width:0!important;
  width:auto!important;
  min-height:100dvh!important;
  box-sizing:border-box!important;
  transition:none!important;
  transform:none!important;
}
.admin-top{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  background:var(--aa-topbar-bg)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border-bottom:1px solid rgba(108,83,72,.08)!important;
}
.admin-view,.admin-card{min-width:0!important}
.table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.admin-table{width:100%!important}

/* Escritorio: mini rail estable. El panel abierto se superpone; nunca empuja main. */
@media (min-width:1001px){
  .admin-main{
    margin-left:var(--aa-sidebar-mini)!important;
    padding:28px!important;
  }
  .admin-top{
    margin:0 auto 22px!important;
    padding:14px 0!important;
    max-width:1280px!important;
  }
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:var(--aa-sidebar-open)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:22px 16px!important;
    transform:none!important;
    visibility:visible!important;
    transition:width .22s ease,padding .22s ease,box-shadow .22s ease!important;
    z-index:1000!important;
    box-shadow:18px 0 42px rgba(35,24,20,.14)!important;
  }
  .admin-body.sidebar-collapsed .admin-sidebar{
    width:var(--aa-sidebar-mini)!important;
    padding:18px 10px!important;
    transform:none!important;
    box-shadow:8px 0 24px rgba(35,24,20,.10)!important;
  }
  .admin-body.sidebar-collapsed .admin-main,
  .admin-body:not(.sidebar-collapsed) .admin-main{
    margin-left:var(--aa-sidebar-mini)!important;
    transform:none!important;
  }

  /* Marca compacta */
  .admin-body.sidebar-collapsed .admin-brand-single{
    padding:0 0 18px!important;
    align-items:center!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .admin-body.sidebar-collapsed .admin-brand-single img,
  .admin-body.sidebar-collapsed .admin-brand img{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:5px!important;
    border-radius:14px!important;
  }
  .admin-body.sidebar-collapsed .admin-brand-single span,
  .admin-body.sidebar-collapsed .admin-brand>span,
  .admin-body.sidebar-collapsed .admin-brand>strong{display:none!important}

  /* Navegación compacta: solo iconos, con tooltip nativo title. */
  .admin-body.sidebar-collapsed .admin-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:7px!important;
    padding:16px 0!important;
  }
  .admin-body.sidebar-collapsed .admin-nav button{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    font-size:0!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  .admin-body.sidebar-collapsed .admin-nav button i{
    font-size:20px!important;
    line-height:1!important;
    margin:0!important;
  }

  .admin-body.sidebar-collapsed .sidebar-bottom{
    margin-top:auto!important;
    padding-top:12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:8px!important;
  }
  .admin-body.sidebar-collapsed .sidebar-bottom .btn{
    width:52px!important;
    min-width:52px!important;
    height:48px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
    overflow:hidden!important;
  }
  .admin-body.sidebar-collapsed .sidebar-bottom .btn i{font-size:18px!important;margin:0!important}

  /* En escritorio el X solo aparece cuando el panel está desplegado. */
  .sidebar-close{display:none!important}
  .admin-body:not(.sidebar-collapsed) .sidebar-close{display:inline-flex!important}
  .admin-menu-toggle{display:inline-flex!important}
  .sidebar-backdrop{display:none!important}
}

/* Tablet/móvil: overlay real. No empuja ni traslada el contenido. */
@media (max-width:1000px){
  .admin-main{
    margin-left:0!important;
    padding:18px 16px 30px!important;
    transform:none!important;
  }
  .admin-top{
    margin:-18px -16px 18px!important;
    padding:14px 16px!important;
  }
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(300px,86vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:22px 16px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translate3d(-105%,0,0)!important;
    transition:transform .24s ease!important;
    visibility:hidden!important;
    z-index:1100!important;
    box-shadow:20px 0 48px rgba(35,24,20,.22)!important;
  }
  .admin-sidebar.is-open{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
  }
  .admin-body.sidebar-peek-open .admin-main,
  .admin-body.menu-open .admin-main{
    transform:none!important;
    margin-left:0!important;
  }
  /* Fondo muy sutil: mantiene visible el cPanel y permite cerrar tocando fuera. */
  .sidebar-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1090!important;
    background:rgba(45,30,25,.10)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  .sidebar-backdrop.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .sidebar-close{display:inline-flex!important}
  .admin-menu-toggle{display:inline-flex!important}
}

@media (max-width:620px){
  .admin-main{padding:14px 12px 28px!important}
  .admin-top{margin:-14px -12px 16px!important;padding:12px!important}
  .admin-top h1{font-size:30px!important}
  .admin-top-actions{gap:8px!important}
  .admin-userbox>div:not(.online-pill){max-width:115px!important}
  .admin-userbox strong,.admin-userbox small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .online-pill{padding:8px 10px!important;font-size:12px!important}
}


/* ========================================================================
   R9.8 · COTIZACIONES BUSCABLES + REPORTES PREMIUM + X SIDEBAR VISIBLE
   ======================================================================== */

/* Sidebar: reserva una franja superior propia para cerrar; nunca se monta sobre el logo. */
.sidebar-topbar{
  position:sticky!important;
  top:0!important;
  z-index:25!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:-22px -16px 14px!important;
  padding:12px 14px!important;
  background:#352722!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 10px 24px rgba(27,18,15,.10)!important;
}
.sidebar-topbar-label{font-size:11px!important;font-weight:900!important;letter-spacing:.18em!important;color:#d9c6be!important}
.sidebar-close{
  position:static!important;
  inset:auto!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  flex:0 0 40px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  z-index:30!important;
  cursor:pointer!important;
}
.sidebar-close:hover{background:rgba(255,255,255,.18)!important;transform:none!important}
.admin-brand-single{margin-top:0!important;padding-top:0!important}
@media(min-width:1001px){
  .admin-body.sidebar-collapsed .sidebar-topbar{display:none!important}
  .admin-body:not(.sidebar-collapsed) .sidebar-topbar{display:flex!important}
}
@media(max-width:1000px){.sidebar-topbar{display:flex!important}}

/* Combo filtrable de solicitudes dentro de Cotizaciones. */
.quote-request-association{margin:0 0 16px}
.quote-request-field{position:relative;max-width:100%}
.request-combobox{position:relative;width:100%}
.request-combobox-control{
  min-height:52px;display:grid;grid-template-columns:22px minmax(0,1fr) 38px 38px;align-items:center;
  gap:5px;padding:0 7px 0 14px;border:1px solid #dfd1ca;border-radius:15px;background:#fff;
  box-shadow:0 6px 18px rgba(75,52,44,.05);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.request-combobox:focus-within .request-combobox-control{border-color:#a67868;box-shadow:0 0 0 4px rgba(166,120,104,.12);background:#fffdfc}
.request-combobox-control>i{font-size:16px;color:#9a7d72}
.request-combobox-control input{width:100%;min-width:0;height:48px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0 4px!important;color:#4b3730}
.request-combobox-control input::placeholder{color:#a48f87}
.request-combobox-clear,.request-combobox-toggle{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#7a6258;display:grid;place-items:center;cursor:pointer}
.request-combobox-clear:hover,.request-combobox-toggle:hover{background:#f4ebe7;color:#4d342b}
.request-combobox-results{
  position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:1405;max-height:310px;overflow:auto;
  padding:7px;border:1px solid #e3d5cf;border-radius:15px;background:#fff;box-shadow:0 20px 48px rgba(52,34,28,.18)
}
.request-option{width:100%;display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:0;border-radius:11px;background:#fff;color:#4d3931;text-align:left;cursor:pointer}
.request-option:hover,.request-option.is-active{background:#f7efeb}
.request-option strong{font-size:12px;color:#7a4f42;white-space:nowrap}
.request-option .request-option-main{min-width:0;display:grid;gap:2px}
.request-option .request-option-main b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.request-option .request-option-main small{font-size:11px;color:#8e7970;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.request-option .request-option-state{font-size:10px;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:6px 8px;background:#f2e9e5;color:#71574d;white-space:nowrap}
.request-option-empty{padding:18px 12px;text-align:center;color:#8f7a72;font-size:12px}
.request-combobox-help{display:block;margin-top:7px;color:#8b756c;font-size:11px;line-height:1.45}
.request-combobox-help.is-linked{color:#5d7c58;font-weight:700}
@media(max-width:680px){
  .request-option{grid-template-columns:1fr auto;gap:7px}
  .request-option strong{grid-column:1/-1}
}

/* Filtros generales: controles con superficie consistente. */
.product-toolbar,.client-toolbar{padding:12px!important;border:1px solid #eaded8!important;border-radius:16px!important;background:#fcf8f6!important;box-shadow:0 6px 18px rgba(69,47,39,.035)!important}
.product-toolbar input,.product-toolbar select,.client-toolbar input{
  min-height:48px!important;border:1px solid #dfd1ca!important;border-radius:12px!important;background:#fff!important;padding:0 14px!important;box-shadow:none!important
}
.product-toolbar input:focus,.product-toolbar select:focus,.client-toolbar input:focus{border-color:#a67868!important;box-shadow:0 0 0 4px rgba(166,120,104,.10)!important;outline:0!important}

/* Reportes: dashboard visual, filtros claros, KPIs y tablas en tarjetas. */
.report-dashboard-card{overflow:visible!important}
.report-main-head{padding-bottom:18px!important;border-bottom:1px solid #f0e5e0!important;margin-bottom:18px!important}
.report-main-head h2{margin-bottom:4px!important}
.report-subtitle{margin:0;color:#8a756d;font-size:13px;line-height:1.55}
.report-export-actions .btn{min-height:42px!important;border-radius:12px!important}
.report-filter-card{margin:0 0 18px;padding:16px;border:1px solid #eaded8;border-radius:18px;background:linear-gradient(145deg,#fffaf8,#fff);box-shadow:0 10px 28px rgba(65,43,35,.05)}
.report-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.report-filter-head h3{margin:2px 0 2px!important;font-size:19px!important;color:#4d3932}
.report-filter-head p{margin:0;color:#938078;font-size:12px}
.report-reset-btn{min-height:40px!important;white-space:nowrap!important}
.report-filters{display:grid!important;grid-template-columns:minmax(170px,.8fr) minmax(170px,.8fr) minmax(260px,1.25fr) auto!important;gap:12px!important;align-items:end!important;margin:0!important}
.report-filter-field{display:grid;gap:7px;min-width:0}
.report-filter-field>span{font-size:11px;font-weight:900;letter-spacing:.05em;color:#6e574f}
.report-input-shell{min-height:50px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;border:1px solid #dfd1ca;border-radius:13px;background:#fff;padding:0 12px;transition:border-color .18s ease,box-shadow .18s ease}
.report-input-shell:focus-within{border-color:#a67868;box-shadow:0 0 0 4px rgba(166,120,104,.10)}
.report-input-shell>i{color:#a07f73;font-size:15px}
.report-input-shell input,.report-input-shell select{width:100%;min-width:0;height:46px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:#4b3730;font:inherit}
.report-apply-btn{min-height:50px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 18px!important;border-radius:13px!important;white-space:nowrap!important}
.report-filter-summary{margin-top:12px;display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 11px;border-radius:11px;background:#f5eee9;color:#755e55;font-size:11px;font-weight:700}
.report-filter-summary i{color:#9a6d5e}
.report-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 18px!important}
.report-kpi-card{min-height:112px;border:1px solid #eaded8;border-radius:17px;background:#fff;padding:15px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;box-shadow:0 8px 24px rgba(65,43,35,.045)}
.report-kpi-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f4ebe7;color:#835d50;font-size:19px}
.report-kpi-card>div{min-width:0;display:grid;gap:2px}
.report-kpi-card small{font-size:11px;font-weight:900;color:#806960}
.report-kpi-card strong{font-size:23px;line-height:1.1;color:#4d382f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-kpi-card em{font-style:normal;font-size:10px;color:#a08d85}
.report-kpi-card.sales .report-kpi-icon{background:#eef7ef;color:#3e7c49}
.report-kpi-card.orders .report-kpi-icon{background:#f7efe7;color:#986a3d}
.report-kpi-card.clients .report-kpi-icon{background:#eef2f8;color:#506f9c}
.report-kpi-card.repeat .report-kpi-icon{background:#f6edf6;color:#855987}
.report-section-card{margin-top:16px;border:1px solid #eaded8;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(65,43,35,.035)}
.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid #f0e5e0;background:#fffaf8}
.report-section-head h3{margin:2px 0 0!important;font-size:19px!important;color:#4d3932}
.report-section-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:#f1e7e2;color:#72584e;font-size:10px;font-weight:900;white-space:nowrap}
.report-table-wrap{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
.report-table-wrap .admin-table{min-width:760px!important;margin:0!important}
.report-table-wrap .admin-table th{background:#f8f3f0!important;color:#685148!important;font-size:10px!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.report-table-wrap .admin-table td{vertical-align:middle!important}
@media(max-width:1100px){.report-filters{grid-template-columns:1fr 1fr!important}.report-apply-btn{width:100%!important}.report-kpis{grid-template-columns:1fr 1fr!important}}
@media(max-width:680px){
  .report-main-head,.report-filter-head,.report-section-head{align-items:stretch!important;flex-direction:column!important}
  .report-export-actions{width:100%!important;justify-content:stretch!important}.report-export-actions .btn{flex:1 1 140px!important}
  .report-filters{grid-template-columns:1fr!important}.report-kpis{grid-template-columns:1fr!important}
  .report-reset-btn{width:100%!important}.report-section-badge{align-self:flex-start!important}
}

.report-status-pill{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:999px;background:#f2e9e5;color:#6f554b;font-size:10px;font-weight:900;white-space:nowrap}

/* =========================================================
   CPANEL R9.9 - SELECTORES DE ARCHIVO ALE ATENCIO
   Reemplaza visualmente el control nativo para evitar cortes.
   ========================================================= */
.admin-body .file-field{
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  width:100%;
  min-width:0;
}
.admin-body .file-field .file-input,
.admin-body .file-field input[type="file"]{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  border:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.admin-body .file-picker-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-width:0;
  min-height:46px;
  padding:11px 14px;
  border:1px solid #d9c6bd;
  border-radius:13px;
  background:linear-gradient(180deg,#5a4037,#493129);
  color:#fff;
  box-shadow:0 5px 14px rgba(73,48,40,.10);
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  text-align:center;
  cursor:pointer;
  user-select:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.admin-body .file-picker-btn:hover{
  background:linear-gradient(180deg,#63473d,#51372f);
  box-shadow:0 7px 18px rgba(73,48,40,.15);
  transform:translateY(-1px);
}
.admin-body .file-picker-btn:active{transform:translateY(0)}
.admin-body .file-picker-btn:focus-visible,
.admin-body .file-input:focus + .file-picker-btn{
  outline:none;
  border-color:#a87783;
  box-shadow:0 0 0 4px rgba(141,80,96,.12),0 7px 18px rgba(73,48,40,.12);
}
.admin-body .file-picker-btn i{
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
}
.admin-body .file-picker-text{
  display:block;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}
.admin-body .file-field.has-file .file-picker-btn{
  background:#fff8f5;
  color:#533a32;
  border-color:#d7c0b7;
  box-shadow:none;
}
.admin-body .file-field.has-file .file-picker-btn::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:50%;
  background:#e7f6eb;
  color:#28743b;
  font-size:12px;
  font-weight:900;
}
.admin-body .file-field.has-file .file-picker-btn i{display:none}
.admin-body .file-name{
  display:block;
  width:100%;
  min-width:0;
  min-height:18px;
  color:#8b7a73;
  font-size:11px;
  line-height:1.45;
  white-space:normal;
  overflow-wrap:anywhere;
}
.admin-body .profile-upload-box .file-field{width:100%;max-width:100%}
.admin-body .profile-upload-box .file-picker-btn{min-height:44px;padding-inline:10px}
@media(max-width:760px){
  .admin-body .file-picker-btn{width:100%;min-height:48px}
}


/* ========================================================================
   R9.11 · HAMBURGUESA INTEGRADA EN EL RAIL COMPACTO
   - Escritorio contraído: logo -> hamburguesa -> módulos.
   - La hamburguesa del header se oculta en escritorio para evitar duplicidad.
   - Móvil conserva la hamburguesa del header/off-canvas.
   ======================================================================== */
.sidebar-rail-toggle{
  display:none;
  border:0;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
@media (min-width:1001px){
  /* El control de escritorio vive dentro de la cinta. */
  .admin-menu-toggle{display:none!important}
  .admin-body.sidebar-collapsed .sidebar-rail-toggle{
    display:flex!important;
    width:52px!important;
    min-width:52px!important;
    height:48px!important;
    margin:10px auto 2px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(22,14,12,.10)!important;
    flex:0 0 auto!important;
  }
  .admin-body.sidebar-collapsed .sidebar-rail-toggle:hover{
    background:rgba(255,255,255,.16)!important;
    border-color:rgba(255,255,255,.24)!important;
    transform:translateY(-1px)!important;
  }
  .admin-body.sidebar-collapsed .sidebar-rail-toggle i{
    font-size:23px!important;
    line-height:1!important;
    margin:0!important;
  }
  /* Hay una separación clara antes del primer módulo. */
  .admin-body.sidebar-collapsed .admin-nav{
    padding-top:10px!important;
  }
  /* Expandido: el cierre continúa en la franja superior; no se duplica control. */
  .admin-body:not(.sidebar-collapsed) .sidebar-rail-toggle{display:none!important}
}
@media (max-width:1000px){
  .sidebar-rail-toggle{display:none!important}
  .admin-menu-toggle{display:inline-flex!important}
}


/* R9.12 · Crédito profesional SERVICIOS INFORMÁTICOS AS */
.login-screen{position:relative}
.login-design-credit{
  position:absolute;
  left:20px;right:20px;bottom:16px;
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
  text-align:center;font-size:10.5px;line-height:1.45;letter-spacing:.035em;
  color:#8c7770;
}
.login-design-credit a,.admin-design-credit a{
  color:#5b4037;font-weight:700;text-decoration:none;
  transition:color .18s ease,opacity .18s ease;
}
.login-design-credit a:hover,.login-design-credit a:focus-visible,
.admin-design-credit a:hover,.admin-design-credit a:focus-visible{color:#2f211d;text-decoration:underline;text-underline-offset:3px}
.admin-design-credit{
  max-width:1280px;
  margin:34px auto 4px;
  padding:18px 12px 6px;
  border-top:1px solid #eaded8;
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
  text-align:center;font-size:10.5px;line-height:1.45;letter-spacing:.035em;
  color:#9a8580;
}
.admin-credit-sep{opacity:.55;margin:0 2px}
@media(max-width:620px){
  .login-design-credit{bottom:10px;font-size:9.5px}
  .admin-design-credit{margin-top:24px;padding-top:15px;font-size:9.5px}
}


/* =========================================================
   R9.13 · BLOQUEO VISUAL DEL CPANEL HASTA AUTENTICACION
   Ningún sidebar/hamburguesa/header administrativo puede
   mostrarse mientras la sesión no haya sido validada.
   ========================================================= */
#adminShell.hidden{display:none!important}
.admin-body.auth-locked #adminShell,
.admin-body.auth-locked #adminSidebar,
.admin-body.auth-locked #sidebarBackdrop,
.admin-body.auth-locked #menuToggle,
.admin-body.auth-locked #sidebarRailToggle,
.admin-body.auth-locked #sidebarClose{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.admin-body.auth-locked #loginScreen{display:grid!important}
.admin-body.auth-active #loginScreen{display:none!important}

/* R9.14.4 · Estado Activo/Inactivo de productos */
.product-row-inactive{opacity:.72;background:#fffafa}
.product-row-inactive .thumb{filter:grayscale(.35)}
#productStatusFilter{min-width:150px}
@media(max-width:760px){#productStatusFilter{width:100%;min-width:0}}


/* =========================================================
   CPANEL R9.14.5 - ESTADO DE PRODUCTO LEGIBLE
   ========================================================= */
.admin-body .product-status-field{min-width:0}
.admin-body .product-status-field #pActive{
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:52px!important;
  padding:0 42px 0 14px!important;
  line-height:1.2!important;
  font-size:15px!important;
  font-weight:800!important;
  color:#4b3730!important;
  text-overflow:clip!important;
  overflow:visible!important;
}
.admin-body .product-status-field .field-hint{
  display:block;
  margin-top:7px;
  min-height:18px;
  color:#4f7d5a;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}
.admin-body .product-status-field .field-hint.is-inactive{color:#a24f4f}
.product-state-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:92px;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  white-space:nowrap;
  overflow:visible;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  text-transform:none;
}
.product-state-badge.is-active{background:#e9f6ec;color:#2f7b42;border:1px solid #cce8d3}
.product-state-badge.is-inactive{background:#f8eaea;color:#a23f3f;border:1px solid #ebcaca}
.product-state-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}
#productStatusFilter{min-width:150px!important}
@media(max-width:620px){
  .admin-body .product-status-field #pActive{font-size:14px!important}
  #productStatusFilter{min-width:0!important;width:100%!important}
}

/* =========================================================
   R9.14.6 - MODAL PRODUCTO SINCRONIZADO CON TARJETA WEB
   ========================================================= */
#productEditor:not(.hidden){width:min(1120px,calc(100vw - 28px));}
.product-editor-id{display:block;margin-top:5px;color:#907b71;font-size:11px;font-weight:800;letter-spacing:.04em}
.product-editor-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:22px;align-items:start}
.product-editor-fields{min-width:0}
.product-web-preview-panel{position:sticky;top:0;display:grid;gap:12px;min-width:0;padding:14px;border:1px solid #eadbd5;border-radius:20px;background:linear-gradient(180deg,#fff,#fff9f6)}
.product-preview-heading{display:grid;gap:3px}.product-preview-heading strong{font-size:15px;color:#3b2b25}.product-preview-heading small{color:#8c776e;font-size:11px;line-height:1.35}
.product-web-preview-card{overflow:hidden;border:1px solid #eadbd5;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(73,48,40,.08)}
.product-web-preview-card.is-inactive{opacity:.62;filter:saturate(.72)}
.product-preview-media{position:relative;aspect-ratio:1.1/1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#fff6f1,#f5e6e9);font-size:64px}
.product-preview-media img{width:100%;height:100%;display:block;object-fit:cover}
.product-preview-badge{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:#fff5d9;color:#8b681d;font-size:10px;font-weight:900;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.product-preview-status{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:999px;background:#e9f7ee;color:#247a43;font-size:10px;font-weight:900}.product-web-preview-card.is-inactive .product-preview-status{background:#f7e9ec;color:#a13f53}
.product-preview-body{padding:16px}.product-preview-body>small{display:block;color:#9b7b69;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.product-preview-body h4{margin:5px 0 7px;color:#3e2d26;font-size:20px;font-family:Georgia,serif;line-height:1.08}.product-preview-body p{margin:0;color:#78665e;font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:56px}
.product-preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.product-preview-price{font-size:18px;font-weight:900;color:#8d5060}.product-preview-action{border:0;border-radius:12px;padding:9px 11px;background:#533a32;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}.product-preview-action:disabled{background:#b9aaa4;cursor:not-allowed}
.current-product-image{display:block;color:#927e75;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:860px){.product-editor-layout{grid-template-columns:1fr}.product-web-preview-panel{position:static;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:start}.product-preview-heading{grid-column:1/-1}}
@media(max-width:600px){.product-web-preview-panel{grid-template-columns:1fr}.product-web-preview-card{max-width:320px;width:100%;margin:0 auto}.product-editor-layout{gap:14px}}

/* R9.14.8 · Origen de imagen local / Supabase */
.current-product-image{display:flex!important;flex-wrap:wrap;align-items:center;gap:7px;min-height:22px;margin-top:2px;color:#75645d}
.image-source-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.image-source-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.15;white-space:normal}
.image-source-badge.local{background:#f4f0ee;color:#533a32;border:1px solid #e1d6d1}
.image-source-badge.supabase{background:#edf8f2;color:#17633c;border:1px solid #bfe5cf}
.image-source-badge.remote{background:#eef4fb;color:#315f8a;border:1px solid #cbdced}

/* =========================================================
   R9.14.9 - VISTA PREVIA DE PRODUCTO IGUAL A LA WEB
   ========================================================= */
.product-preview-media{
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  background:#f3eee9 !important;
}
.product-preview-media img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  transform:scale(1.055);
  transform-origin:center center;
}


/* ========================================================================== */
/* R9.15.0 · Selección múltiple y eliminación masiva                          */
/* ========================================================================== */
.bulk-actions{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:14px 0;padding:12px 14px;border:1px solid rgba(117,83,57,.16);
  border-radius:14px;background:linear-gradient(135deg,#fffdfa,#f8f2ec);
  box-shadow:0 8px 24px rgba(74,49,31,.06)
}
.bulk-actions.hidden{display:none!important}
.bulk-actions-info{display:flex;align-items:center;gap:9px;min-width:0;color:#6f5648;font-size:.88rem}
.bulk-actions-info>i{font-size:1.05rem;color:#a87845}
.bulk-actions-info strong{color:#4c3021;white-space:nowrap}
.bulk-actions-info span{color:#8b7567}
.btn-danger-soft{border:1px solid rgba(172,46,46,.26)!important;background:#fff5f5!important;color:#9f2f2f!important;white-space:nowrap}
.btn-danger-soft:hover{background:#fdeaea!important;color:#842424!important}
.admin-table th.bulk-select-col,.admin-table td.bulk-select-col{width:44px;min-width:44px;text-align:center;padding-left:10px;padding-right:6px}
.bulk-check{width:18px;height:18px;accent-color:#a87443;cursor:pointer;vertical-align:middle}
.admin-table tr.is-selected td{background:rgba(213,176,126,.10)}
.admin-table tr.is-selected td:first-child{box-shadow:inset 3px 0 0 #b78149}
@media(max-width:760px){
  .bulk-actions{align-items:flex-start;flex-direction:column}
  .bulk-actions-info{align-items:flex-start;flex-wrap:wrap}
  .bulk-actions .btn{width:100%;justify-content:center}
}

/* R9.15.3 · Estado de sincronización Production Ready */
.online-pill{gap:6px}
.online-pill b{font:inherit;font-weight:700;white-space:nowrap}
.online-pill.syncing span{animation:aleSyncPulse 1s ease-in-out infinite}
.online-pill.warning{opacity:.9}
.online-pill.warning span{box-shadow:0 0 0 4px rgba(181,128,46,.12)}
@keyframes aleSyncPulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.35);opacity:1}}

/* ========================================================================== */
/* R9.16.0 · PEDIDOS: detalle, líneas y PDF                                   */
/* ========================================================================== */
.order-detail-editor{
  position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:min(1080px,calc(100vw - 34px));max-height:90vh;overflow:auto;z-index:1200;
  background:#fff;border:1px solid rgba(97,68,57,.14);border-radius:24px;
  box-shadow:0 30px 80px rgba(51,31,24,.26);padding:24px;
}
.order-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 22px}
.order-detail-summary>div{background:#faf7f5;border:1px solid #eee3de;border-radius:14px;padding:12px;min-width:0}
.order-detail-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b756c;margin-bottom:5px}
.order-detail-summary strong{display:block;font-size:14px;color:#402d26;overflow-wrap:anywhere}
.order-detail-lines{border:1px solid #eee3de;border-radius:16px;overflow:hidden;background:#fff}
.order-detail-lines-head,.order-detail-line{display:grid;grid-template-columns:minmax(220px,1fr) 80px 135px 135px;gap:12px;align-items:center;padding:11px 14px}
.order-detail-lines-head{background:#f7f0ed;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#725a50}
.order-detail-line{border-top:1px solid #f0e7e3;font-size:13px}
.order-detail-line>span:not(:first-child){text-align:right}
.order-detail-line small{display:block;color:#9a847b;margin-top:3px}
.order-detail-totals{margin:18px 0 4px;margin-left:auto;width:min(420px,100%);display:grid;gap:8px}
.order-detail-totals>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #eee3de}
.order-detail-totals .grand{font-size:18px;color:#5c3f34;border-bottom:0}
.order-detail-totals p{grid-column:1/-1;background:#faf7f5;border-radius:12px;padding:12px;margin:4px 0 0;line-height:1.45}
body.order-detail-open{overflow:hidden}
.muted-text{color:#9a847b;font-size:12px}
@media(max-width:820px){
  .order-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-detail-lines{overflow:auto}
  .order-detail-lines-head,.order-detail-line{min-width:690px}
}
@media(max-width:520px){.order-detail-summary{grid-template-columns:1fr}.order-detail-editor{padding:16px;border-radius:18px}}

/* R9.17.0 · Integraciones ecommerce + pasarela de pago */
.module-help{margin:7px 0 0;color:var(--muted);max-width:840px;line-height:1.55}
.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.integration-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;display:grid;gap:13px}
.integration-provider{display:flex;align-items:center;gap:11px}.integration-provider>i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f8f2ef;font-size:20px}.integration-provider strong,.integration-provider small{display:block}.integration-provider small{color:var(--muted);margin-top:3px}
.integration-toggle{display:flex;align-items:center;gap:8px;font-weight:800}.integration-toggle input{width:18px;height:18px;accent-color:var(--berry)}
.integration-note{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;margin:0 0 16px;border-radius:14px;background:#faf7f4;color:var(--muted);line-height:1.5}.integration-note i{color:var(--berry);font-size:18px;margin-top:1px}
.payment-provider-card{border:1px solid var(--line);border-radius:22px;padding:20px;background:linear-gradient(180deg,#fff,#fcfafc)}
.payment-provider-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:18px}.payment-provider-logo{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#4d2f78;color:#fff;font-size:23px}.payment-provider-head strong,.payment-provider-head small{display:block}.payment-provider-head small{color:var(--muted);margin-top:3px}.gateway-status{padding:7px 10px;border-radius:999px;background:#f1ece8;color:var(--muted);font-size:12px;font-weight:900}.gateway-status.is-ready{background:#eaf8ef;color:#237544}
.gateway-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.gateway-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:13px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.gateway-flow span{font-weight:700}.gateway-flow b{color:var(--berry)}
@media(max-width:760px){.integration-grid{grid-template-columns:1fr}.payment-provider-head{grid-template-columns:auto 1fr}.gateway-status{grid-column:1/-1;justify-self:start}.gateway-flow i{transform:rotate(90deg)}}


/* ========================================================================
   R9.17.1 · PULIDO VISUAL PREMIUM · INTEGRACIONES + TRANSBANK
   - Inputs URL consistentes con el resto del cPanel.
   - Switches modernos accesibles, sin checkbox nativo crudo.
   - Tarjetas con jerarquía visual, estados activos y responsive real.
   ======================================================================== */
#view-integrations .admin-card,
#view-payments .admin-card{
  background:linear-gradient(180deg,#fff 0%,#fffdfc 100%);
}

#view-integrations .card-head,
#view-payments .card-head{
  margin-bottom:4px;
}

#view-integrations .module-help,
#view-payments .module-help{
  max-width:920px;
  color:#7b6960;
  font-size:13px;
}

.integration-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:22px 0 20px;
}

.integration-card{
  position:relative;
  overflow:hidden;
  gap:15px;
  padding:19px;
  border:1px solid #eaded8;
  border-radius:20px;
  background:linear-gradient(145deg,#ffffff 0%,#fffdfc 58%,#faf6f3 100%);
  box-shadow:0 8px 24px rgba(69,43,34,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.integration-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#cba9a1,#8d5060);
  opacity:.34;
  transition:opacity .18s ease,width .18s ease;
}
.integration-card:hover{
  transform:translateY(-2px);
  border-color:#dcc8c0;
  box-shadow:0 14px 34px rgba(69,43,34,.095);
}
.integration-card:has(.integration-toggle input:checked){
  border-color:#cba7b1;
  background:linear-gradient(145deg,#fff 0%,#fffaf9 56%,#f8eff1 100%);
  box-shadow:0 12px 34px rgba(141,80,96,.11);
}
.integration-card:has(.integration-toggle input:checked)::before{
  width:5px;
  opacity:1;
}

.integration-provider{
  gap:13px;
  min-width:0;
}
.integration-provider>i{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border:1px solid #eaded8;
  border-radius:15px;
  background:linear-gradient(145deg,#fbf5f2,#f5ece8);
  color:#70404d;
  font-size:20px;
  box-shadow:0 6px 15px rgba(83,52,42,.07);
}
.integration-provider>div{min-width:0}
.integration-provider strong{
  color:#3d2e28;
  font-size:15px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:-.01em;
}
.integration-provider small{
  margin-top:4px;
  color:#8d7a71;
  font-size:12px;
  line-height:1.25;
}

/* Switch moderno: mantiene el input real para teclado, lector de pantalla y JS. */
.integration-toggle{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:46px;
  padding:9px 11px 9px 13px;
  border:1px solid #eee3de;
  border-radius:14px;
  background:rgba(250,247,245,.88);
  color:#5c4840;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  user-select:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.integration-toggle span{order:1;flex:1;min-width:0}
.integration-toggle input{
  order:2;
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 46px;
  width:46px;
  height:26px;
  margin:0;
  border:1px solid #d5c6bf;
  border-radius:999px;
  outline:none;
  cursor:pointer;
  background:
    radial-gradient(circle at 13px 50%,#fff 0 9px,transparent 9.5px),
    #d9cec8;
  box-shadow:inset 0 1px 2px rgba(61,42,34,.08),0 1px 2px rgba(61,42,34,.06);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.integration-toggle input:checked{
  border-color:#8d5060;
  background:
    radial-gradient(circle at 32px 50%,#fff 0 9px,transparent 9.5px),
    linear-gradient(135deg,#9f6271,#7f4655);
  box-shadow:inset 0 1px 2px rgba(65,26,38,.16),0 0 0 3px rgba(141,80,96,.07);
}
.integration-toggle:has(input:checked){
  border-color:#d9bec5;
  background:#fff8fa;
  color:#70404d;
}
.integration-toggle input:focus-visible{
  box-shadow:0 0 0 4px rgba(141,80,96,.16);
}

/* Cajas URL: acabado premium y estado de foco inequívoco. */
#view-integrations .integration-card .field-group{
  gap:8px;
}
#view-integrations .integration-card .field-group>span{
  color:#705c53;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
#view-integrations .integration-card .field-group input[type="url"]{
  min-height:50px;
  padding:12px 14px;
  border:1px solid #dfd1cb;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fdfbfa);
  color:#3c2d27;
  font-size:13px;
  font-weight:600;
  caret-color:#8d5060;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 2px 7px rgba(69,43,34,.035);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}
#view-integrations .integration-card .field-group input[type="url"]::placeholder{
  color:#ad9d96;
  font-weight:500;
  opacity:1;
}
#view-integrations .integration-card .field-group input[type="url"]:hover{
  border-color:#cdbab2;
  background:#fff;
}
#view-integrations .integration-card .field-group input[type="url"]:focus{
  border-color:#9c6674;
  background:#fff;
  box-shadow:0 0 0 4px rgba(141,80,96,.105),0 7px 18px rgba(69,43,34,.06);
}
#view-integrations .integration-card:has(.integration-toggle input:checked) .field-group input[type="url"]{
  border-color:#d7c1c7;
}

.integration-note{
  position:relative;
  gap:12px;
  align-items:flex-start;
  padding:15px 17px;
  margin:2px 0 18px;
  border:1px solid #eee1dc;
  border-radius:16px;
  background:linear-gradient(135deg,#fcf8f5,#faf5f2);
  color:#79665d;
  font-size:12.5px;
  box-shadow:0 5px 16px rgba(69,43,34,.035);
}
.integration-note i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  margin:0;
  border-radius:10px;
  background:#fff;
  color:#8d5060;
  box-shadow:0 3px 10px rgba(69,43,34,.06);
}
#saveIntegrations{
  min-height:48px;
  padding-inline:18px;
  border-radius:14px;
  box-shadow:0 9px 20px rgba(109,63,76,.14);
}

/* Transbank: mismo lenguaje visual que Integraciones. */
.payment-provider-card{
  border-color:#e6d7d1;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fffdfc 56%,#faf6f3 100%);
  box-shadow:0 10px 30px rgba(69,43,34,.065);
}
.payment-provider-logo{
  border:1px solid rgba(255,255,255,.3);
  background:linear-gradient(145deg,#6b4892,#4d2f78);
  box-shadow:0 8px 18px rgba(77,47,120,.20);
}
#view-payments .payment-form-grid .field-group input{
  min-height:50px;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fdfbfa);
}
#view-payments .payment-form-grid .field-group input:focus{
  background:#fff;
}
.gateway-status{
  border:1px solid #e7dcd7;
  box-shadow:0 3px 10px rgba(69,43,34,.035);
}
.gateway-status.is-ready{
  border-color:#c8e7d3;
  background:#edf9f1;
  color:#237544;
}

@media(max-width:760px){
  .integration-grid{grid-template-columns:1fr;gap:14px;margin-top:17px}
  .integration-card{padding:16px;border-radius:18px}
  .integration-card:hover{transform:none}
  .integration-provider>i{width:44px;height:44px;flex-basis:44px}
  .integration-note{padding:14px}
  #saveIntegrations{width:100%;justify-content:center}
  .payment-provider-card{padding:16px}
}

@media(max-width:440px){
  .integration-card{padding:14px;gap:13px}
  .integration-provider{gap:10px}
  .integration-provider strong{font-size:14px}
  .integration-toggle{min-height:44px}
  #view-integrations .integration-card .field-group input[type="url"]{min-height:48px;font-size:16px}
  #view-payments .payment-form-grid .field-group input{font-size:16px}
}


/* ========================================================================
   R9.17.2 · SIDEBAR HOVER FLOW
   Escritorio: rail compacto estable de 76 px. Al entrar con cursor/foco,
   se expande a 270 px sobre el contenido; al salir vuelve al rail.
   Móvil/tablet conserva el flujo off-canvas existente.
   ======================================================================== */
@media (min-width:1001px){
  .admin-sidebar{
    will-change:width,box-shadow;
    transition:width .18s cubic-bezier(.2,.8,.2,1),padding .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease!important;
  }
  .admin-body.sidebar-collapsed .admin-sidebar{
    width:var(--aa-sidebar-mini)!important;
    padding:18px 10px!important;
  }
  .admin-body.sidebar-hover-open .admin-sidebar{
    width:var(--aa-sidebar-open)!important;
    padding:22px 16px!important;
    box-shadow:18px 0 42px rgba(35,24,20,.16)!important;
  }
  /* El contenido nunca salta ni cambia de ancho durante el hover. */
  .admin-body.sidebar-hover-open .admin-main,
  .admin-body.sidebar-collapsed .admin-main{
    margin-left:var(--aa-sidebar-mini)!important;
    transform:none!important;
  }
  /* Con hover automático ya no hace falta un segundo botón hamburguesa dentro del rail. */
  .sidebar-rail-toggle{display:none!important}
  .admin-body.sidebar-collapsed .sidebar-rail-toggle{display:none!important}

  /* Microfeedback visual del rail compacto para indicar que es interactivo. */
  .admin-body.sidebar-collapsed .admin-sidebar::after{
    content:"";
    position:fixed;
    left:calc(var(--aa-sidebar-mini) - 3px);
    top:0;
    width:3px;
    height:100dvh;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.18),rgba(255,255,255,.05));
    pointer-events:none;
    opacity:.65;
  }
  .admin-body.sidebar-hover-open .admin-sidebar::after{opacity:0}
}


/* R9.18.0 · Webpay Plus real */
.gateway-runtime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.gateway-runtime-item{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:5px}
.gateway-runtime-item span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.gateway-runtime-item strong{font-size:14px;color:var(--ink)}
.gateway-runtime-item strong.is-ok{color:#237544}.gateway-runtime-item strong.is-error{color:#9b3b36}
.gateway-status.is-warning{background:#fff4dc;color:#8b6416}
.transbank-secret-note code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#fff;padding:2px 5px;border-radius:6px;border:1px solid var(--line)}
.payment-status-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.02em;background:#f1ece8;color:#6f625c;white-space:nowrap}
.payment-pagado{background:#eaf8ef;color:#237544}.payment-rechazado,.payment-cancelado{background:#fdeceb;color:#9b3b36}.payment-iniciado,.payment-verificacion-pendiente{background:#fff4dc;color:#8b6416}
@media(max-width:760px){.gateway-runtime-grid{grid-template-columns:1fr}}


/* =========================================================
   R9.18.6 · MONTOS LINEALES EN TODOS LOS MÓDULOS
   Evita cortes como $40.0 / 00 y mantiene CLP en una línea.
   ========================================================= */
.admin-table th.money-column,
.admin-table td.money-column{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  min-width:118px !important;
  width:1% !important;
  font-variant-numeric:tabular-nums;
}
.admin-table td.money-column strong,
.admin-table td.money-column span,
.admin-table td.money-column a{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.order-detail-line>span:nth-child(3),
.order-detail-line>span:nth-child(4),
.order-detail-totals strong,
.quote-line-total,
.quote-totals strong,
.product-preview-price,
.report-kpi-card strong{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  font-variant-numeric:tabular-nums;
}
@media (max-width:760px){
  .admin-table th.money-column,
  .admin-table td.money-column{min-width:104px !important;}
}

/* R9.18.7 · Reportes conectados + dashboard circular */
.notification-icon.payment,.notification-toast-card.payment .notification-toast-icon{background:#e7f7ed;color:#176d39}
.report-pro{overflow:visible}.report-filters-pro{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.report-kpis-pro{grid-template-columns:repeat(4,minmax(180px,1fr))}
.report-circular-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.report-circle-card,.report-highlight-card{background:linear-gradient(145deg,#fff,#faf6f3);border:1px solid #eadfd9;border-radius:22px;padding:20px;display:flex;align-items:center;gap:18px;min-height:160px;box-shadow:0 12px 30px rgba(74,50,43,.05)}
.report-circle{--pct:0;width:112px;height:112px;border-radius:50%;background:conic-gradient(#8f5c69 calc(var(--pct)*3.6deg),#eee5e1 0);display:grid;place-items:center;position:relative;flex:0 0 auto}.report-circle:after{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%}.report-circle>div{position:relative;z-index:1;text-align:center}.report-circle strong{display:block;font-size:1.25rem}.report-circle span{font-size:.7rem;color:#8b7770}.report-circle.negative{background:conic-gradient(#b85048 calc(var(--pct)*3.6deg),#eee5e1 0)}.report-circle.positive{background:conic-gradient(#4f8e67 calc(var(--pct)*3.6deg),#eee5e1 0)}
.report-circle-card>div:last-child small,.report-highlight-card .eyebrow{display:block;color:#8b7770}.report-circle-card>div:last-child strong,.report-highlight-card>strong{display:block;font-size:1.25rem;margin:5px 0;white-space:nowrap}.report-circle-card>div:last-child span,.report-highlight-card small{color:#8b7770}.report-highlight-card{display:block}.report-highlight-card h3{margin:8px 0 2px;font-size:1.35rem}.report-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demand-change{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:700;font-size:.78rem;white-space:nowrap}.demand-change.up{background:#e7f7ed;color:#176d39}.demand-change.down{background:#fdebea;color:#a23c35}
@media(max-width:1180px){.report-kpis-pro{grid-template-columns:repeat(2,minmax(180px,1fr))}.report-filters-pro{grid-template-columns:repeat(2,minmax(180px,1fr))}.report-circular-grid{grid-template-columns:1fr 1fr}.report-highlight-card{grid-column:1/-1}.report-grid-2{grid-template-columns:1fr}}
@media(max-width:700px){.report-kpis-pro,.report-filters-pro,.report-circular-grid{grid-template-columns:1fr}.report-highlight-card{grid-column:auto}.report-circle-card{min-height:auto}.report-grid-2{grid-template-columns:1fr}}
.order-detail-history{margin-top:18px;padding:18px;border:1px solid #eadfd9;border-radius:18px;background:#fcf9f7}.order-detail-history h4{margin:4px 0 14px}.order-history-row{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:0 0 14px}.order-history-row:not(:last-child):before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#e4d7d1}.order-history-dot{width:14px;height:14px;border-radius:50%;background:#8f5c69;margin-top:3px;z-index:1}.order-history-row strong{display:block}.order-history-row small{display:block;color:#88756d;margin-top:2px}

/* R9.18.14 · hotfix modal Crear pedido cPanel */
body.order-create-open{overflow:hidden!important}
#orderCreateBackdrop{
  position:fixed!important;inset:0!important;z-index:1390!important;
  background:rgba(32,20,16,.52)!important;
  backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important;
  opacity:1;visibility:visible;pointer-events:auto;
}
#orderCreateEditor:not(.hidden){
  position:fixed!important;z-index:1400!important;
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:min(920px,calc(100vw - 30px))!important;
  max-width:920px!important;max-height:min(92dvh,900px)!important;
  overflow:auto!important;overscroll-behavior:contain;
  margin:0!important;padding:22px!important;
  background:#fffaf8!important;border:1px solid var(--line)!important;
  border-radius:24px!important;box-shadow:0 32px 90px rgba(32,20,16,.34)!important;
  isolation:isolate;
}
#orderCreateEditor .editor-modal-head{
  position:sticky;top:-22px;z-index:5;
  margin:-22px -22px 16px;padding:22px 22px 14px;
  background:linear-gradient(180deg,#fffaf8 78%,rgba(255,250,248,.92));
  border-bottom:1px solid rgba(120,95,76,.10);
}
#orderCreateEditor .editor-actions{
  position:sticky!important;bottom:-22px!important;z-index:5!important;
  margin:18px -22px -22px!important;padding:16px 22px 18px!important;
  background:linear-gradient(180deg,rgba(255,250,248,.80),#fffaf8 32%)!important;
  border-top:1px solid rgba(120,95,76,.10);
}
#orderCreateEditor .editor-close-x{position:relative;z-index:6;flex:0 0 auto}
.order-transfer-proof{margin-top:18px;padding:18px;border:1px solid rgba(120,95,76,.18);border-radius:18px;background:rgba(255,250,245,.8);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.order-transfer-proof h4{width:100%;margin:2px 0 8px}.order-transfer-proof.hidden{display:none!important}
@media(max-width:640px){
  #orderCreateEditor:not(.hidden){width:calc(100vw - 14px)!important;max-height:95dvh!important;padding:16px!important;border-radius:18px!important}
  #orderCreateEditor .editor-modal-head{top:-16px;margin:-16px -16px 12px;padding:16px 16px 12px}
  #orderCreateEditor .editor-actions{bottom:-16px!important;margin:16px -16px -16px!important;padding:14px 16px 16px!important}
  #orderCreateEditor .form-grid{grid-template-columns:1fr!important}
  #orderCreateEditor .span-2{grid-column:auto!important}
  #orderCreateEditor .editor-actions .btn{flex:1 1 100%}
}


/* R9.18.15 · asignación explícita de vigencia para enlaces Transbank */
body.payment-link-open{overflow:hidden!important}
#orderPaymentLinkEditor:not(.hidden){position:fixed!important;z-index:1510!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(650px,calc(100vw - 28px))!important;max-height:90dvh!important;overflow:auto!important;margin:0!important;padding:22px!important;background:#fffaf8!important;border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:0 34px 100px rgba(32,20,16,.38)!important}
#orderPaymentLinkEditor:not(.hidden)::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(32,20,16,.58);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#orderPaymentLinkEditor .editor-modal-head{margin-bottom:14px}
.payment-link-form{margin-top:18px}.payment-link-form input[type="datetime-local"]{min-height:50px}
.payment-link-form small{display:block;color:var(--muted);margin-top:6px;line-height:1.4}
.payment-link-warning{display:flex;gap:10px;align-items:flex-start;margin:16px 0;padding:13px 14px;border-radius:14px;background:#f8f2ef;color:#6d5a52;line-height:1.45}.payment-link-warning i{color:var(--berry);font-size:18px;margin-top:1px}
@media(max-width:640px){#orderPaymentLinkEditor:not(.hidden){padding:16px!important;border-radius:18px!important}.payment-link-editor .editor-actions .btn{width:100%;justify-content:center}}

/* R9.18.21 · CLP + dictado monetario + vigencia Transbank premium */
.clp-input-shell{position:relative;display:flex;align-items:center;width:100%;min-width:0}
.clp-input-shell .clp-money-input{width:100%;padding-left:68px!important;padding-right:48px!important;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.01em}
.clp-input-prefix{position:absolute;left:14px;z-index:2;color:#8f7164;font-size:11px;font-weight:900;letter-spacing:.08em;pointer-events:none}
.clp-voice-btn{width:36px;height:36px;border:0;border-radius:12px;display:grid;place-items:center;background:#f6ece8;color:#7d4e43;cursor:pointer;transition:.18s ease;flex:0 0 auto}
.clp-input-shell>.clp-voice-btn{position:absolute;right:7px;z-index:2}
.clp-voice-btn:hover{background:#ead9d2;transform:translateY(-1px)}
.clp-voice-btn.is-listening{background:#7d4e43;color:#fff;box-shadow:0 0 0 5px rgba(125,78,67,.13);animation:aleClpMicPulse 1s infinite alternate}
@keyframes aleClpMicPulse{to{transform:scale(1.06)}}
.quote-price-shell{display:grid;grid-template-columns:auto minmax(0,1fr) 34px;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px 5px 4px 10px;min-width:0}
.quote-price-shell>span{font-size:10px;font-weight:900;color:#8f7164;white-space:nowrap;letter-spacing:.05em}
.quote-price-shell .quote-price{border:0!important;box-shadow:none!important;padding:8px 2px!important;min-width:0!important;background:transparent!important;font-weight:800;font-variant-numeric:tabular-nums}
.quote-price-shell .quote-price:focus{outline:none!important}
.quote-price-shell:focus-within{border-color:#a86f61;box-shadow:0 0 0 3px rgba(168,111,97,.10)}
.quote-price-shell .quote-voice-btn{width:32px;height:32px;border-radius:10px}
.payment-link-order-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}
.payment-link-order-summary>div{padding:14px 15px;border:1px solid #eaded9;border-radius:16px;background:linear-gradient(180deg,#fff,#fff9f6)}
.payment-link-order-summary span,.payment-link-order-summary small{display:block;color:#8d7770;font-size:11px;font-weight:800;letter-spacing:.04em}
.payment-link-order-summary strong{display:block;margin-top:5px;color:#4e382f;font-size:17px;font-variant-numeric:tabular-nums}
.payment-link-order-summary small{margin-top:4px;font-size:10px;color:#a18e86}
.payment-expiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.payment-expiry-field{display:grid;gap:8px;min-width:0}
.payment-expiry-field>span{display:flex;align-items:center;gap:7px;color:#6d554c;font-size:12px;font-weight:900;letter-spacing:.02em}
.payment-expiry-field>span i{color:#a06a5e}
.payment-expiry-control{position:relative;border:1px solid #dbcac3;border-radius:16px;background:#fff;box-shadow:0 5px 14px rgba(65,42,34,.04);transition:.18s ease;overflow:hidden}
.payment-expiry-control:focus-within{border-color:#9e675b;box-shadow:0 0 0 4px rgba(158,103,91,.11)}
.payment-expiry-control input{width:100%;min-height:54px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0 15px!important;color:#3f302b!important;font-size:15px!important;font-weight:750!important;font-family:inherit!important;color-scheme:light}
.payment-expiry-control input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;width:20px;height:20px;padding:8px}
.payment-expiry-help{display:flex!important;align-items:center;gap:7px;margin:10px 1px 0!important;color:#8c7770!important;font-size:11px!important}
.payment-link-warning strong{color:#6b3f35}
@media(max-width:640px){.payment-link-order-summary,.payment-expiry-grid{grid-template-columns:1fr}.payment-expiry-control input{min-height:52px;font-size:16px!important}}


/* R9.18.23 · Modal Transbank claro / premium + backdrop fuera del panel */
body.payment-link-open{overflow:hidden!important}
body.payment-link-open::before{
  content:"";position:fixed;inset:0;z-index:1500;
  background:rgba(49,33,27,.34);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
#orderPaymentLinkEditor:not(.hidden){
  position:fixed!important;z-index:1510!important;
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:min(680px,calc(100vw - 28px))!important;max-height:92dvh!important;
  overflow:auto!important;overscroll-behavior:contain;
  margin:0!important;padding:26px!important;
  background:linear-gradient(145deg,#fffdf9 0%,#fff8f2 54%,#fffdfb 100%)!important;
  border:1px solid #ead8c9!important;border-radius:28px!important;
  box-shadow:0 34px 95px rgba(61,37,28,.28)!important;
  isolation:isolate;
}
#orderPaymentLinkEditor:not(.hidden)::before{display:none!important;content:none!important}
#orderPaymentLinkEditor .editor-modal-head{
  position:sticky;top:-26px;z-index:5;
  margin:-26px -26px 16px!important;padding:24px 26px 16px!important;
  background:linear-gradient(180deg,rgba(255,253,249,.99) 72%,rgba(255,248,242,.95));
  border-bottom:1px solid rgba(191,151,107,.14);
}
#orderPaymentLinkEditor .editor-modal-head .eyebrow{color:#b48a39!important}
#orderPaymentLinkEditor .editor-modal-head h3{color:#4f392f!important;font-size:27px!important;margin-bottom:0!important}
#orderPaymentLinkEditor .editor-close-x{
  width:42px!important;height:42px!important;border-radius:50%!important;
  background:#fff!important;border:1px solid #ead8c9!important;color:#5a4036!important;
  box-shadow:0 8px 22px rgba(91,64,54,.10)!important;
}
#orderPaymentLinkEditor .editor-close-x:hover{background:#fff4ea!important;transform:translateY(-1px)}
#orderPaymentLinkEditor .module-help{color:#806c62!important;line-height:1.55!important;margin:0 0 16px!important}
#orderPaymentLinkEditor .payment-link-order-summary{gap:14px!important;margin:12px 0 20px!important}
#orderPaymentLinkEditor .payment-link-order-summary>div{
  padding:16px 17px!important;border:1px solid #eadacb!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(91,64,54,.055)!important;
}
#orderPaymentLinkEditor .payment-link-order-summary>div:last-child{
  background:linear-gradient(145deg,#fffaf0,#fff3e5)!important;
  border-color:#e8cfaa!important;
}
#orderPaymentLinkEditor .payment-link-order-summary span,
#orderPaymentLinkEditor .payment-link-order-summary small{color:#8b7469!important}
#orderPaymentLinkEditor .payment-link-order-summary strong{color:#50382f!important;font-size:19px!important}
#orderPaymentLinkEditor .payment-expiry-field>span{color:#62483e!important}
#orderPaymentLinkEditor .payment-expiry-field>span i{color:#b48a39!important}
#orderPaymentLinkEditor .payment-expiry-control{
  border:1px solid #e4d3c6!important;border-radius:17px!important;background:#fff!important;
  box-shadow:0 8px 22px rgba(91,64,54,.045)!important;
}
#orderPaymentLinkEditor .payment-expiry-control:focus-within{
  border-color:#c59a4b!important;box-shadow:0 0 0 4px rgba(197,154,75,.12)!important;
}
#orderPaymentLinkEditor .payment-expiry-control input{color:#49352e!important;background:#fff!important}
#orderPaymentLinkEditor .payment-expiry-help{color:#8c766c!important}
#orderPaymentLinkEditor .payment-link-warning{
  margin:18px 0!important;padding:15px 16px!important;border-radius:17px!important;
  border:1px solid #ead8c9!important;background:linear-gradient(135deg,#fff8ef,#fffdf9)!important;
  color:#695249!important;box-shadow:none!important;
}
#orderPaymentLinkEditor .payment-link-warning i{color:#b48a39!important}
#orderPaymentLinkEditor .payment-link-warning strong{color:#7d5436!important}
#orderPaymentLinkEditor .editor-actions{
  position:sticky;bottom:-26px;z-index:5;
  margin:20px -26px -26px!important;padding:17px 26px 20px!important;
  background:linear-gradient(180deg,rgba(255,250,245,.88),#fffdf9 32%)!important;
  border-top:1px solid rgba(191,151,107,.14);
  display:flex!important;gap:10px!important;flex-wrap:wrap!important;
}
#orderPaymentLinkEditor #generatePaymentLinkWhatsapp{
  background:linear-gradient(135deg,#5b4036,#755247)!important;color:#fff!important;
  box-shadow:0 9px 20px rgba(91,64,54,.18)!important;
}
#orderPaymentLinkEditor #generatePaymentLinkCopy{
  background:#fff!important;color:#875c63!important;border:1px solid #e4cfd3!important;
}
#orderPaymentLinkEditor #cancelOrderPaymentLink{
  background:#fffaf6!important;color:#745f55!important;border:1px solid #eadbd2!important;
}
#orderPaymentLinkEditor .editor-actions .btn:hover{transform:translateY(-1px)}
@media(max-width:640px){
  #orderPaymentLinkEditor:not(.hidden){width:calc(100vw - 14px)!important;max-height:95dvh!important;padding:18px!important;border-radius:22px!important}
  #orderPaymentLinkEditor .editor-modal-head{top:-18px;margin:-18px -18px 14px!important;padding:18px 18px 14px!important}
  #orderPaymentLinkEditor .editor-actions{bottom:-18px;margin:18px -18px -18px!important;padding:15px 18px 18px!important}
  #orderPaymentLinkEditor .payment-link-order-summary,#orderPaymentLinkEditor .payment-expiry-grid{grid-template-columns:1fr!important}
  #orderPaymentLinkEditor .editor-actions .btn{width:100%!important;justify-content:center!important}
}


/* R9.18.24 · Pedidos finalizados / anulación obligatoria */
.status-select.is-final{background:#f4efec;color:#7d6860;border-color:#dfd3ce;cursor:not-allowed;font-weight:700}
.order-final-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f4efec;border:1px solid #dfd3ce;color:#6b554d;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.order-final-chip.cancelled{background:#fff1f1;border-color:#efcccc;color:#9a3131}
.order-cancel-editor{position:fixed!important;z-index:10050!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(620px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;background:#fffaf6!important;border:1px solid #eadbd3!important;border-radius:26px!important;box-shadow:0 28px 80px rgba(61,39,31,.28)!important;padding:24px!important}
body.order-cancel-open{overflow:hidden}
body.order-cancel-open:before{content:"";position:fixed;inset:0;background:rgba(52,37,31,.45);backdrop-filter:blur(3px);z-index:10040}
.order-cancel-warning{display:flex;gap:14px;align-items:flex-start;margin:14px 0 18px;padding:16px;border:1px solid #edcaca;border-radius:16px;background:#fff4f4;color:#793838}
.order-cancel-warning>i{font-size:22px;color:#a63838;margin-top:1px}.order-cancel-warning strong,.order-cancel-warning span{display:block}.order-cancel-warning span{margin-top:5px;line-height:1.5;color:#7b5d58}
.order-cancel-reason textarea{min-height:130px;resize:vertical;background:#fff;border:1px solid #dbcac2;border-radius:14px;padding:13px}.order-cancel-reason b{color:#a63838}.order-cancel-reason small{color:#8b756c;margin-top:6px}
.order-detail-final-note{grid-column:1/-1!important;background:#fff4f4!important;border-color:#edcaca!important}.order-detail-final-note.delivered{background:#f4faf5!important;border-color:#cfe3d3!important}.order-detail-final-note strong{font-size:13px!important}
.row-actions .cancel-order-row{border-color:#e6c3c3;color:#9a3131;background:#fff7f7}.row-actions .cancel-order-row:hover{background:#ffeded}
@media(max-width:620px){.order-cancel-editor{padding:18px!important;border-radius:20px!important}}

/* =========================================================
   R9.18.25 · TABLA PEDIDOS COMPACTA + PAGO VISUAL
   Compacta solo Pedidos sin aplicar zoom global al cPanel.
   ========================================================= */
#ordersTable{overflow-x:auto!important;overflow-y:hidden!important}
#ordersTable .admin-table{
  min-width:1080px!important;
  table-layout:fixed!important;
  font-size:13px!important;
  line-height:1.28!important;
}
#ordersTable .admin-table th{
  padding:10px 7px!important;
  font-size:9.5px!important;
  letter-spacing:.055em!important;
  white-space:nowrap!important;
}
#ordersTable .admin-table td{
  padding:10px 7px!important;
  vertical-align:middle!important;
  font-size:13px!important;
}
#ordersTable .admin-table th:nth-child(1),#ordersTable .admin-table td:nth-child(1){width:8%!important}
#ordersTable .admin-table th:nth-child(2),#ordersTable .admin-table td:nth-child(2){width:9%!important}
#ordersTable .admin-table th:nth-child(3),#ordersTable .admin-table td:nth-child(3){width:11%!important}
#ordersTable .admin-table th:nth-child(4),#ordersTable .admin-table td:nth-child(4){width:11%!important}
#ordersTable .admin-table th:nth-child(5),#ordersTable .admin-table td:nth-child(5){width:12%!important}
#ordersTable .admin-table th:nth-child(6),#ordersTable .admin-table td:nth-child(6){width:9%!important}
#ordersTable .admin-table th:nth-child(7),#ordersTable .admin-table td:nth-child(7){width:9%!important}
#ordersTable .admin-table th:nth-child(8),#ordersTable .admin-table td:nth-child(8){width:12%!important}
#ordersTable .admin-table th:nth-child(9),#ordersTable .admin-table td:nth-child(9){width:6%!important}
#ordersTable .admin-table th:nth-child(10),#ordersTable .admin-table td:nth-child(10){width:13%!important}
#ordersTable .order-number-cell strong,
#ordersTable .money-column strong,
#ordersTable .order-pdf-cell,
#ordersTable .order-payment-cell .payment-status-badge{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
#ordersTable .order-number-cell strong{font-size:13px!important;letter-spacing:.01em}
#ordersTable .order-date-cell{font-variant-numeric:tabular-nums}
#ordersTable .order-date-cell span,#ordersTable .order-date-cell small{display:block;white-space:nowrap!important}
#ordersTable .order-date-cell small{margin-top:3px;font-size:10.5px!important}
#ordersTable .order-client-cell strong,#ordersTable .order-client-cell small,
#ordersTable .order-contact-cell span,#ordersTable .order-contact-cell small,
#ordersTable .order-delivery-cell span,#ordersTable .order-delivery-cell small,
#ordersTable .order-payment-cell small{display:block}
#ordersTable .order-client-cell small,#ordersTable .order-contact-cell small,
#ordersTable .order-delivery-cell small,#ordersTable .order-payment-cell small{
  margin-top:4px;font-size:10.5px!important;line-height:1.25!important;color:var(--muted)!important;
}
#ordersTable .order-contact-cell small,#ordersTable .order-delivery-cell small{
  overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow-wrap:anywhere!important;
}
#ordersTable .order-payment-cell{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
#ordersTable .order-payment-cell .payment-status-badge{
  padding:5px 8px!important;
  font-size:10px!important;
  line-height:1!important;
  max-width:100%;
}
.payment-pendiente{background:#fff4dc!important;color:#8b6416!important;border:1px solid #efd9a0!important}
#ordersTable .order-payment-cell small{text-transform:uppercase;letter-spacing:.025em;white-space:nowrap!important}
#ordersTable .status-select{
  width:100%!important;min-width:0!important;max-width:100%!important;
  padding:8px 26px 8px 8px!important;font-size:12px!important;border-radius:10px!important;
}
#ordersTable .order-pdf-cell .pdf-link{white-space:nowrap!important;font-size:12px!important}
#ordersTable .row-actions{
  display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-items:stretch!important;
}
#ordersTable .row-actions button,#ordersTable .row-actions .order-final-chip{
  width:100%!important;min-width:0!important;padding:7px 7px!important;font-size:11.5px!important;
  justify-content:center!important;white-space:nowrap!important;
}
#ordersTable .order-final-chip{font-size:9.5px!important;letter-spacing:.025em!important}
@media(max-width:1180px){
  #ordersTable .admin-table{min-width:1030px!important;font-size:12.5px!important}
  #ordersTable .admin-table td{font-size:12.5px!important;padding-left:6px!important;padding-right:6px!important}
  #ordersTable .status-select{font-size:11.5px!important}
}
@media(max-width:760px){
  #ordersTable .admin-table{min-width:1000px!important}
}

/* R9.18.32 · Cotización consumida */
.quote-used-badge{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;
  background:#eef7ef;color:#35663d;border:1px solid #cfe4d2;font-size:11px;font-weight:800;
  letter-spacing:.04em;white-space:nowrap;
}


/* R9.18.33 · Solicitud consumida por cotización */
.request-used-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(72,117,72,.28);
  border-radius:10px;
  background:rgba(232,245,232,.78);
  color:#416343;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
#qRequestSearch[readonly]{
  background:#f4efe8;
  cursor:not-allowed;
}
#toggleQuoteRequest:disabled,
#clearQuoteRequest:disabled{
  opacity:.48;
  cursor:not-allowed;
}


/* ========================================================================
   R9.18.34 · Gestor seguro de Secret Keys para pasarelas de pago
   ======================================================================== */
.payment-secrets-panel{margin:18px 0 20px;border:1px solid #eaded8;border-radius:18px;background:linear-gradient(180deg,#fff,#fffaf7);padding:18px;box-shadow:0 12px 30px rgba(70,43,32,.05)}
.payment-secrets-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.payment-secrets-head h3{margin:4px 0 6px;font-size:20px;color:#4e352d}.payment-secrets-head p{margin:0;max-width:760px;color:#80695f;line-height:1.5;font-size:13px}
.secret-manager-status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid #e6d9d1;background:#f8f2ef;color:#7b6258;font-size:12px;font-weight:800;white-space:nowrap}.secret-manager-status.is-ready{background:#eef8f0;border-color:#cce7d1;color:#28743d}.secret-manager-status.is-warning{background:#fff6df;border-color:#eed69b;color:#8a6617}
.secret-bootstrap-note{display:flex;gap:12px;align-items:flex-start;border:1px solid #efd9a5;background:#fff8e8;border-radius:14px;padding:13px 14px;margin:12px 0 16px;color:#654d2d}.secret-bootstrap-note>i{font-size:19px;margin-top:2px}.secret-bootstrap-note>div{display:grid;gap:4px}.secret-bootstrap-note span{font-size:12px;line-height:1.5}.secret-bootstrap-note code,.secret-security-note code{background:rgba(255,255,255,.75);padding:2px 5px;border-radius:6px}
.secret-editor-head,.payment-secret-row{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(300px,1.35fr) 42px;gap:10px;align-items:center}.secret-editor-head{padding:0 2px 7px;color:#8a7167;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.payment-secret-row{margin-bottom:9px}.payment-secret-row>input,.secret-value-wrap{min-width:0}.payment-secret-row input{width:100%;height:46px;border:1px solid #e7d9d3;border-radius:12px;background:#fff;padding:10px 12px;color:#4e382f;outline:none}.payment-secret-row input:focus{border-color:#c89e76;box-shadow:0 0 0 3px rgba(200,158,118,.12)}.secret-name-input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700}
.secret-value-wrap{position:relative}.secret-value-wrap input{padding-right:46px}.secret-eye{position:absolute;right:5px;top:5px;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#7f665c;cursor:pointer}.secret-eye:hover{background:#f6eeea}.secret-row-remove,.secret-delete-btn{width:40px;height:40px;border:1px solid #ead4d4;border-radius:10px;background:#fff6f6;color:#a74343;display:grid;place-items:center;cursor:pointer}.secret-row-remove:hover,.secret-delete-btn:hover{background:#ffeaea}
.payment-secret-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0 16px}.payment-secret-toolbar .btn{min-height:42px}.stored-secrets-box{border-top:1px solid #efe5e0;padding-top:14px}.stored-secrets-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:9px}.stored-secrets-title{color:#513a31}.stored-secrets-title small{color:#947b70}.stored-secrets-list{display:grid;gap:8px}.stored-secret-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #eee2dc;background:#fff;border-radius:12px;padding:10px 11px}.stored-secret-item>div:first-child{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.stored-secret-item strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#4d372f;overflow-wrap:anywhere}.stored-secret-item span{letter-spacing:.08em;color:#9c847a}.stored-secret-item small{color:#9c847a}.stored-secret-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.stored-secret-actions .btn{min-height:38px;padding:8px 10px}.secret-empty{display:block;padding:13px;border:1px dashed #ddcec7;border-radius:12px;color:#947c72;background:#fff}.secret-security-note{margin-top:14px}
@media(max-width:780px){.payment-secrets-head{display:grid}.secret-manager-status{justify-self:start}.secret-editor-head{display:none}.payment-secret-row{grid-template-columns:1fr 42px}.payment-secret-row>.secret-name-input{grid-column:1/-1}.payment-secret-row>.secret-value-wrap{grid-column:1}.stored-secret-item{align-items:flex-start;display:grid}.stored-secret-actions{justify-content:flex-start;flex-wrap:wrap}}

/* R9.18.35 · PDF de pedido protegido */
.order-pdf-secure-btn{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
}
.order-pdf-secure-btn:hover{text-decoration:underline}


/* =========================================================
   R9.18.36 · TABLAS SIN DESBORDE / TEXTOS LARGOS
   - No reduce tipografía para "hacer caber" contenido.
   - Mantiene cada valor dentro de su celda.
   - Los selectores conservan ancho útil y la tabla desplaza
     horizontalmente cuando el viewport no alcanza.
   ========================================================= */

/* Base defensiva para todas las tablas del cPanel */
.table-wrap{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}
.admin-table,
.admin-table th,
.admin-table td,
.admin-table td > *{
  box-sizing:border-box;
}
.admin-table td{
  min-width:0;
  overflow:hidden;
}
.admin-table td strong,
.admin-table td span,
.admin-table td small,
.admin-table td a{
  max-width:100%;
}
.admin-table td input,
.admin-table td select,
.admin-table td textarea{
  box-sizing:border-box!important;
  max-width:100%!important;
}

/* Pedidos: anchos estables; ningún campo invade la celda vecina. */
#ordersTable .admin-table{
  min-width:1360px!important;
  table-layout:fixed!important;
}
#ordersTable .admin-table th:nth-child(1),#ordersTable .admin-table td:nth-child(1){width:110px!important}
#ordersTable .admin-table th:nth-child(2),#ordersTable .admin-table td:nth-child(2){width:125px!important}
#ordersTable .admin-table th:nth-child(3),#ordersTable .admin-table td:nth-child(3){width:145px!important}
#ordersTable .admin-table th:nth-child(4),#ordersTable .admin-table td:nth-child(4){width:160px!important}
#ordersTable .admin-table th:nth-child(5),#ordersTable .admin-table td:nth-child(5){width:175px!important}
#ordersTable .admin-table th:nth-child(6),#ordersTable .admin-table td:nth-child(6){width:105px!important}
#ordersTable .admin-table th:nth-child(7),#ordersTable .admin-table td:nth-child(7){width:140px!important}
#ordersTable .admin-table th:nth-child(8),#ordersTable .admin-table td:nth-child(8){width:155px!important}
#ordersTable .admin-table th:nth-child(9),#ordersTable .admin-table td:nth-child(9){width:85px!important}
#ordersTable .admin-table th:nth-child(10),#ordersTable .admin-table td:nth-child(10){width:160px!important}

/* Medio de pago: permite 2 líneas (ej. TARJETA · TRANSBANK) sin salirse. */
#ordersTable .order-payment-cell{
  overflow:hidden!important;
}
#ordersTable .order-payment-cell .payment-status-badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#ordersTable .order-payment-cell small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  line-height:1.25!important;
  text-overflow:clip!important;
}

/* Estados: el select nunca rebasa su columna. */
#ordersTable .order-status-cell{
  overflow:visible!important;
}
#ordersTable .status-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:40px!important;
  padding:8px 30px 8px 10px!important;
  box-sizing:border-box!important;
  font-size:12px!important;
  line-height:1.2!important;
}

/* Datos largos: truncado visual solo donde conviene, con title en HTML. */
#ordersTable .order-client-cell strong,
#ordersTable .order-contact-cell span,
#ordersTable .order-contact-cell small,
#ordersTable .order-delivery-cell span,
#ordersTable .order-delivery-cell small{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#ordersTable .order-client-cell strong,
#ordersTable .order-contact-cell span,
#ordersTable .order-delivery-cell span{
  display:block!important;
  white-space:nowrap!important;
}
#ordersTable .order-contact-cell small,
#ordersTable .order-delivery-cell small{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Badges/acciones largas de otras tablas también quedan contenidos. */
.quote-used-badge,
.request-used-badge,
.order-final-chip,
.payment-status-badge{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.quote-used-badge,
.request-used-badge{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* En pantallas pequeñas se conserva tamaño legible: se desplaza la tabla,
   no se comprime el contenido hasta hacerlo ilegible. */
@media(max-width:1180px){
  #ordersTable .admin-table{min-width:1360px!important}
  #ordersTable .status-select{font-size:12px!important}
}
@media(max-width:760px){
  #ordersTable .admin-table{min-width:1360px!important}
}


/* =========================================================
   R9.18.37 · FILA DE PEDIDO CLICKEABLE
   Toda la fila abre el detalle, excepto controles interactivos.
   ========================================================= */
#ordersTable .order-row-clickable{
  cursor:pointer;
  transition:background-color .16s ease,box-shadow .16s ease;
  outline:none;
}
#ordersTable .order-row-clickable:hover td{
  background:rgba(185,145,104,.065)!important;
}
#ordersTable .order-row-clickable:focus-visible td{
  background:rgba(185,145,104,.085)!important;
  box-shadow:inset 0 1px 0 rgba(185,145,104,.20),inset 0 -1px 0 rgba(185,145,104,.20);
}
#ordersTable .order-row-clickable button,
#ordersTable .order-row-clickable a,
#ordersTable .order-row-clickable select,
#ordersTable .order-row-clickable input,
#ordersTable .order-row-clickable textarea,
#ordersTable .order-row-clickable label{
  cursor:auto;
}
#ordersTable .order-row-clickable button,
#ordersTable .order-row-clickable a,
#ordersTable .order-row-clickable select{
  cursor:pointer;
}


/* R9.18.38 · Buscador + calendario en Pedidos, Solicitudes y Cotizaciones */
.module-filter-bar{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(150px,.72fr) minmax(150px,.72fr) auto auto;gap:10px;align-items:end;margin:14px 0 8px;padding:12px;border:1px solid #eaded8;border-radius:16px;background:linear-gradient(145deg,#fffaf8,#fff)}
.module-search-box{height:46px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;min-width:0}
.module-search-box:focus-within{border-color:#a67868;box-shadow:0 0 0 3px rgba(166,120,104,.10)}
.module-search-box i{color:#977a70}.module-search-box input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-width:0;height:42px;padding:0!important}
.module-date-filter{display:grid;gap:5px}.module-date-filter>span{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#80685f}.module-date-filter input{height:46px;width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px;color:#4d3931;cursor:pointer}
.module-filter-bar .btn{min-height:46px;white-space:nowrap}.module-filter-today.is-active{background:#6f4d41!important;color:#fff!important;border-color:#6f4d41!important}.module-filter-meta{min-height:26px;margin:0 2px 8px;color:#806e67;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.module-filter-meta:before{content:"";width:7px;height:7px;border-radius:50%;background:#a77b6b;flex:none}
.request-closed-lock{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eef3ec;color:#53704d;font-size:10px;font-weight:900;letter-spacing:.035em;white-space:nowrap}.status-select.is-request-closed{opacity:.84;cursor:not-allowed;background:#f2f6f0}.bulk-locked{display:inline-grid;place-items:center;width:22px;height:22px;color:#698064}.request-row-closed{background:rgba(239,246,236,.42)}
@media(max-width:1120px){.module-filter-bar{grid-template-columns:1fr 1fr 1fr}.module-search-box{grid-column:1/-1}.module-filter-bar .btn{width:100%}}
@media(max-width:680px){.module-filter-bar{grid-template-columns:1fr 1fr}.module-search-box{grid-column:1/-1}.module-date-filter{min-width:0}.module-filter-bar .btn{width:100%}}

/* R9.18.39 · Clientes potenciados */
.client-search-shell{display:flex;align-items:center;gap:10px;flex:1;min-width:260px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px}.client-search-shell i{color:var(--muted)}.client-search-shell input{border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;width:100%;min-height:44px;padding:10px 0!important}
.client-row{cursor:pointer;transition:background .16s ease,transform .16s ease}.client-row:hover,.client-row:focus{background:#fff7f3;outline:none}.client-row:focus-visible{box-shadow:inset 0 0 0 2px rgba(154,96,69,.28)}
.transport-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#f5eee9;color:#6f5144;font-size:11px;font-weight:800;white-space:nowrap}.client-address{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis}.client-address small{color:var(--muted)}
body.client-editor-open{overflow:hidden}body.client-editor-open::before{content:"";position:fixed;inset:0;background:rgba(32,20,16,.48);backdrop-filter:blur(2px);z-index:1190}
#clientEditor:not(.hidden){position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,calc(100vw - 28px));max-height:min(90vh,860px);overflow:auto;margin:0;padding:22px;background:#fffaf8;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(32,20,16,.28)}
.client-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-form-grid .span-2{grid-column:1/-1}.client-form-grid label{display:grid;gap:7px;font-weight:700;color:#5b463d}.client-form-grid input,.client-form-grid select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;color:#3f312b}
.client-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.client-summary-strip>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:3px}.client-summary-strip small{color:var(--muted)}.client-summary-strip strong{font-size:18px;color:#4f392f}
#clientEditor .editor-actions{position:sticky;bottom:-22px;background:linear-gradient(180deg,rgba(255,250,248,.65),#fffaf8 35%);padding:16px 0 4px;z-index:2}
@media(max-width:720px){.client-form-grid{grid-template-columns:1fr}.client-form-grid .span-2{grid-column:auto}.client-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}#clientEditor:not(.hidden){width:calc(100vw - 16px);max-height:94vh;padding:16px;border-radius:18px}.client-toolbar{align-items:stretch}.client-search-shell{min-width:100%}}

/* R9.18.40 · cliente por RUT */
.client-rut-lookup-state{display:block;margin-top:6px;min-height:18px;font-size:.78rem;color:#7b6d68;line-height:1.35}
.client-rut-lookup-state.is-loading{color:#8b6d35}
.client-rut-lookup-state.is-found{color:#2f7a4d;font-weight:700}
.client-rut-lookup-state.is-new{color:#8b6d35}
.client-rut-lookup-state.is-error{color:#a33a3a;font-weight:700}
.request-client-editor{width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}
.request-client-state{display:none;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#fff5df;color:#7a5717;font-size:.9rem}
.request-client-state.is-visible{display:block}
.request-row-client-clickable{cursor:pointer}
.request-row-client-clickable:hover td{background:rgba(170,134,81,.07)}
.request-row-client-clickable:focus{outline:2px solid rgba(170,134,81,.42);outline-offset:-2px}
