/* TEXTILES NAVARRO · PREMIUM UI — solo presentación */
:root{--np-wine:#7a0013;--np-wine-dark:#53000d;--np-ink:#21191b;--np-muted:#786c70;--np-line:#e9dfe1;--np-bg:#f8f5f5;--np-shadow:0 18px 55px rgba(40,8,15,.09)}
html{scroll-behavior:smooth}body{font-family:'Inter',sans-serif!important;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s,color .2s}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c78391!important;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}::selection{background:#eed1d6;color:#52000c}
/* Bootstrap / forms inside existing modules */
.page-container,.admin-content .card,.admin-content .panel,.client-content .card{border-radius:22px!important}.page-container{box-shadow:var(--np-shadow)!important;border:1px solid var(--np-line)!important}
.form-control,.form-select,input[type=text],input[type=email],input[type=number],input[type=date],input[type=time],input[type=password],select,textarea{min-height:43px;border-radius:11px}.form-control:focus,.form-select:focus{border-color:#a73d50!important;box-shadow:0 0 0 4px rgba(122,0,19,.09)!important}
.btn,.btn-primary-custom,.btn-secondary-custom,.btn-hero,.btn-logout,.btn-logout-admin,.btn-primary,.btn-secondary{font-weight:650;letter-spacing:.005em;border-radius:12px;white-space:normal}.btn:hover,.btn-primary-custom:hover,.btn-secondary-custom:hover,.btn-hero:hover{transform:translateY(-2px)}
.table-responsive{border-radius:18px;border:1px solid var(--np-line);overflow:auto}.table{margin-bottom:0}.table thead th{background:#f8f2f3!important;color:#6f2330!important;font-size:.83rem;font-weight:750;padding:16px 18px!important;white-space:nowrap}.table tbody td{padding:15px 18px!important;vertical-align:middle;border-color:#f1eaec!important}.table tbody tr:hover{background:#fdf9fa}.alert{border-radius:14px!important}.badge{border-radius:999px;padding:.4em .75em}
/* Elegant customer layout */
body.np-client{background:radial-gradient(circle at 85% 0%,#f6e9ec,transparent 40%),#f8f6f5!important;color:var(--np-ink)}
.np-client .client-navbar{background:#fff!important;border-bottom:1px solid #eee4e5;box-shadow:0 8px 25px rgba(39,5,13,.045)!important;padding:14px max(24px,calc((100vw - 1310px)/2))!important;gap:16px}
.np-client .client-navbar .brand{color:#231b1e!important;font-size:1.38rem;white-space:nowrap}.np-client .client-navbar .brand span{color:var(--np-wine)!important;opacity:1}
.np-client .client-navbar .nav-links{gap:6px}.np-client .client-navbar .nav-links a{color:#5e5156!important;font-size:.89rem;border-radius:11px;padding:11px 14px}.np-client .client-navbar .nav-links a:hover,.np-client .client-navbar .nav-links a.active{background:#f7e9ec!important;color:var(--np-wine)!important}.np-client .client-navbar .btn-logout{border:1px solid #efccd3!important;background:#fff7f8!important;color:var(--np-wine)!important;border-radius:11px!important;padding:10px 15px!important}
.np-client .client-content{max-width:1320px;padding:32px 24px 60px}.np-client .page-container{background:#fff;padding:32px;border-radius:24px}
/* Full admin polish, keep existing Blade routes/actions */
.np-admin{background:#f8f5f5!important}.np-admin .admin-wrapper{align-items:stretch}.np-admin .sidebar-admin{width:264px;flex-shrink:0;background:#20191c;padding:28px 18px;box-shadow:8px 0 35px rgba(22,3,8,.09);position:sticky;top:0;height:100vh;overflow:auto;z-index:30}.np-admin .sidebar-logo{padding:8px 8px 22px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:24px}.np-admin .sidebar-logo h2{font-family:'Playfair Display',serif;font-size:21px}.np-admin .sidebar-logo span{font-size:11px;letter-spacing:.14em}.np-admin .logo-mark{height:49px;width:49px;border-radius:15px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(140deg,#a71632,#680011);font-size:21px}.np-admin .sidebar-menu{gap:6px}.np-admin .sidebar-menu a{display:flex;gap:13px;align-items:center;padding:13px 15px!important;font-weight:550;font-size:.92rem;border-radius:12px!important}.np-admin .sidebar-menu a:hover,.np-admin .sidebar-menu a.active{background:#82102a!important;transform:none!important}.np-admin .sidebar-menu a i{font-size:18px;width:22px;text-align:center}.np-admin .admin-main{min-width:0;width:100%;padding:28px 32px}.np-admin .topbar-admin{border-radius:20px;background:#fff;color:#21191c;box-shadow:var(--np-shadow);border:1px solid var(--np-line);padding:20px 24px}.np-admin .topbar-admin h1{font:700 clamp(23px,2.5vw,30px) 'Playfair Display',serif}.np-admin .topbar-admin p{color:var(--np-muted)}.np-admin .topbar-user strong,.np-admin .topbar-user small{display:block}.np-admin .topbar-user small{color:var(--np-muted);font-size:.76rem}.np-admin .topbar-avatar{background:#f6e7eb;color:var(--np-wine);border:1px solid #efd4dc}.np-admin .btn-logout-admin{background:#7a0013!important;color:#fff!important;border:0;border-radius:12px!important;padding:11px 17px!important}.np-admin .admin-content{max-width:1600px;margin:auto}.np-admin .admin-content>div{max-width:100%}
@media(max-width:940px){.np-client .client-navbar{padding:15px 20px!important}.np-admin .admin-wrapper{display:block}.np-admin .sidebar-admin{position:relative;width:100%;height:auto;padding:14px 20px}.np-admin .sidebar-logo{margin-bottom:12px;padding-bottom:12px}.np-admin .sidebar-menu{flex-direction:row;flex-wrap:wrap}.np-admin .sidebar-menu a{padding:10px 12px!important}.np-admin .admin-main{padding:18px}.np-admin .topbar-admin{flex-wrap:wrap;gap:14px}}
@media(max-width:650px){.np-client .client-content{padding:18px 12px 35px}.np-client .client-navbar{padding:12px!important}.np-client .client-navbar .nav-links{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.np-client .client-navbar .nav-links a{white-space:nowrap}.np-client .page-container{padding:20px 15px}.np-admin .topbar-user{flex-wrap:wrap}.np-admin .topbar-admin{padding:17px}.np-admin .sidebar-menu a{font-size:.8rem}.np-admin .admin-main{padding:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* TEXTILES NAVARRO — MOBILE FIRST PATCH (oct 2026) */
html,body{max-width:100%;overflow-x:clip}img,video,canvas,svg{max-width:100%}img{height:auto}main,section,article,.container,.page-container,.admin-content,.client-content{min-width:0}a,button{touch-action:manipulation}input,select,textarea{max-width:100%}input[type=file]{width:100%}
.np-client .client-navbar .nav-links{min-width:0}
.np-menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #ead7dc;border-radius:12px;background:#fff;color:#7a0013;font:700 14px Inter,sans-serif}
.np-admin .np-menu-toggle{border-color:#ead7dc;background:#fff;color:#7a0013}
.np-admin .topbar-user{min-width:0}.np-admin .topbar-user small{overflow-wrap:anywhere}
.np-admin .admin-content table,.np-client .client-content table{min-width:640px;width:100%}
.np-admin .admin-content .table-responsive,.np-client .client-content .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.np-admin .admin-content>div,.np-client .client-content>div{min-width:0}
@media(max-width:980px){
  .np-admin .admin-content [style*="grid-template-columns: repeat(4, 1fr)"],
  .np-admin .admin-content [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .np-admin .admin-content [style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .np-menu-toggle{display:inline-flex}
  .np-client .client-navbar{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:8px!important;padding:11px 16px!important}
  .np-client .client-navbar .brand{font-size:1.1rem!important;max-width:calc(100% - 125px);white-space:normal;line-height:1.25}
  .np-client .client-navbar .nav-links{display:none!important;width:100%;flex-basis:100%;flex-direction:column;align-items:stretch!important;overflow:visible!important;padding:12px 0 4px!important;border-top:1px solid #f1e1e5;gap:5px!important}
  .np-client .client-navbar .nav-links.np-open{display:flex!important}
  .np-client .client-navbar .nav-links a,.np-client .client-navbar .nav-links button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px!important;min-height:46px;font-size:15px!important;text-align:left}
  .np-client .client-navbar .nav-links form{width:100%!important}
  .np-client .client-content{padding:16px 12px 38px!important;max-width:100%}
  .np-client .page-container{padding:18px 14px!important;border-radius:16px!important}
  .np-client .page-header{align-items:stretch}.np-client .page-header h1{font-size:clamp(22px,6vw,29px)!important}
  .np-admin .sidebar-admin{padding:0 15px 12px!important;position:relative!important;box-shadow:none!important}
  .np-admin .sidebar-logo{margin:0!important;padding:13px 0!important;border:0!important}
  .np-admin .sidebar-menu{display:none!important;flex-direction:column!important;gap:4px!important;padding:8px 0 13px!important;border-top:1px solid #ffffff22}
  .np-admin .sidebar-menu.np-open{display:flex!important}
  .np-admin .sidebar-menu a{font-size:15px!important;min-height:45px}
  .np-admin .admin-main{padding:12px!important}
  .np-admin .topbar-admin{padding:17px!important;align-items:flex-start;gap:16px;border-radius:16px!important}
  .np-admin .topbar-user{width:100%;gap:8px;align-items:center}
  .np-admin .topbar-user form{margin-left:auto!important}
  .np-admin .btn-logout-admin{min-height:43px;font-size:13px;padding:10px!important}
  .np-admin .admin-content [style*="padding: 24px"]{padding:14px!important}
  .np-admin .admin-content [style*="padding: 32px 36px"]{padding:23px 18px!important}
  .np-admin .admin-content [style*="grid-template-columns: repeat(4, 1fr)"],
  .np-admin .admin-content [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .np-admin .admin-content [style*="grid-template-columns: repeat(3, 1fr)"],
  .np-admin .admin-content [style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .np-admin .admin-content [style*="font-size: 2.2rem"]{font-size:1.65rem!important}
  .np-admin .admin-content [style*="padding: 22px 24px"]{padding:16px 13px!important}
  .np-admin .admin-content [style*="padding: 24px"]{padding:17px!important}
  .np-admin .admin-content .btn,.np-client .client-content .btn{min-height:42px}
  .np-admin .admin-content table,.np-client .client-content table{font-size:13px}
  .np-admin .admin-content td,.np-client .client-content td{white-space:normal}
  .np-admin .admin-content .row,.np-client .client-content .row{--bs-gutter-x:1rem}
}
@media(max-width:430px){
 .np-admin .admin-content [style*="grid-template-columns: repeat(4, 1fr)"],
 .np-admin .admin-content [style*="grid-template-columns:repeat(4,1fr)"],
 .np-admin .admin-content [style*="grid-template-columns: repeat(3, 1fr)"],
 .np-admin .admin-content [style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:1fr!important}
 .np-admin .topbar-user{flex-wrap:wrap}.np-admin .topbar-user form{margin-left:0!important;width:100%}.np-admin .topbar-user form button{width:100%}
 .np-client .page-container{padding:15px 12px!important}
}
@media(hover:none){.btn:hover,.btn-primary-custom:hover,.btn-secondary-custom:hover,.btn-hero:hover{transform:none!important}}

/* Menú administrativo premium: un botón pulido y solo visible en móvil */
body.np-legacy-admin .np-menu-toggle {
  display: none !important;
  border: 1px solid #e9d8dc !important;
  background: #ffffff !important;
  color: #710016 !important;
  border-radius: 16px !important;
  padding: 9px 15px 9px 9px !important;
  min-height: 52px;
  box-shadow: 0 5px 20px rgba(60, 8, 19, .07);
  font: 600 14px 'Inter', sans-serif !important;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
}
body.np-legacy-admin .np-menu-toggle:hover { background: #fff7f9 !important; box-shadow: 0 8px 24px rgba(60,8,19,.11); }
body.np-legacy-admin .np-toggle-symbol {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 11px;
  background: #7a0013;
  color: white;
  font-size: 20px;
}
body.np-legacy-admin .np-toggle-chevron { margin-left: auto; font-size: 13px; color: #8e6872; transition: transform .2s; }
body.np-legacy-admin .np-menu-toggle[aria-expanded="true"] .np-toggle-chevron { transform: rotate(180deg); }
body.np-legacy-admin .np-menu-toggle:focus-visible { outline: 3px solid #dfa6b3; outline-offset: 3px; }
@media(max-width:767px) {
  body.np-legacy-admin .np-menu-toggle {
    display: flex !important;
    width: calc(100% - 26px);
    margin: 13px !important;
    text-align: left;
  }
  body.np-legacy-admin .sidebar.np-open {
    margin: 0 13px 16px !important;
    width: calc(100% - 26px) !important;
    border: 1px solid #eee2e5 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(40,5,15,.08);
    padding: 13px !important;
  }
  body.np-legacy-admin .sidebar .section-title { display: block !important; padding: 5px 10px 12px !important; }
  body.np-legacy-admin .sidebar .sidebar-link { border-radius: 11px; gap: 11px; font-weight: 550; }
  body.np-legacy-admin .sidebar .sidebar-link.active { background:#f7e9ec !important;color:#7a0013 !important; }
}
