:root{--bg:#F5F7F7;--surface:#fff;--surface2:#F0F2F3;--surface3:#E7EBEC;--text:#12171A;--muted:#5A656E;--text-3:#8B959C;--border:#E2E6E8;--border-strong:#CBD2D6;--brand:#12171A;--brand-2:#5A656E;--accent:#0D9488;--accent-2:#0B7F75;--primary-weak:#E3F3F1;--cta:#EA580C;--cta-2:#C9490A;--on-accent:#FFFFFF;--ok:#15803D;--success-weak:#E4F2E9;--warn:#B45309;--warn-weak:#FAF0DE;--danger:#DC2626;--danger-weak:#FBE9E9;--neutral-weak:#EDEFF1;--info:#0369a1;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--shadow:0 1px 2px rgba(16,22,26,.06);--shadow-lg:0 2px 8px rgba(16,22,26,.09);--dock:74px;--safe:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
html[data-theme="dark"]{--bg:#0D1114;--surface:#141A1E;--surface2:#1A2226;--surface3:#232D32;--text:#E4E9EB;--muted:#97A4AB;--text-3:#6C7B83;--border:#263238;--border-strong:#3A474D;--brand:#E4E9EB;--brand-2:#97A4AB;--accent:#2DD4BF;--accent-2:#5EEAD4;--primary-weak:#0F2B29;--cta:#F97316;--cta-2:#FB923C;--on-accent:#150C06;--ok:#4ade80;--success-weak:#122A1D;--warn:#fbbf24;--warn-weak:#2A2110;--danger:#F87171;--danger-weak:#2E1819;--neutral-weak:#1F282C;--info:#38bdf8;--shadow:0 1px 2px rgba(0,0,0,.4);--shadow-lg:0 2px 10px rgba(0,0,0,.5);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100vh;min-height:100dvh;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden,[hidden]{display:none!important}
*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--muted)}*::-webkit-scrollbar-corner{background:transparent}
.wj-login{min-height:100vh;min-height:100dvh;display:flex;background:var(--surface)}
.wj-login-shell{width:100%;display:grid;grid-template-columns:minmax(320px,55%) 1fr;background:var(--surface);min-height:100vh;min-height:100dvh}
.wj-login-art{padding:40px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden;background-image:var(--login-bg-image,none),linear-gradient(160deg,color-mix(in srgb,var(--accent) 55%,#0b1220) 0%,#0b1220 100%);background-size:cover;background-position:center}
.wj-login-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,20,.1) 0%,rgba(6,10,20,.15) 45%,rgba(6,10,20,.82) 100%)}
.wj-login-art>*{position:relative;z-index:1}
.wj-brand{font-weight:800;letter-spacing:.02em;font-size:16px}
.wj-login-art h1{font-size:clamp(28px,3vw,38px);line-height:1.12;max-width:420px;margin:0 0 8px;letter-spacing:-.02em;font-weight:800;white-space:pre-line}
.wj-login-art p{max-width:400px;color:rgba(255,255,255,.78);font-size:13.5px;line-height:1.6;margin:0 0 14px}
.wj-login-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.9)}
.wj-login-art small{color:rgba(255,255,255,.5);font-size:10.5px;letter-spacing:.04em}
.wj-login-panel{display:grid;place-items:center;padding:32px;position:relative}
.wj-login-card{width:min(400px,100%);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.wj-login-card h2{font-size:26px;margin:0 0 8px;letter-spacing:-.01em}
.wj-login-card>p{color:var(--muted);margin:0 0 26px;font-size:13px}
.wj-inline-link{background:transparent;border:0;padding:0;color:var(--accent);font-weight:650;cursor:pointer;font-size:13px}
.wj-inline-link:hover{text-decoration:underline}
.wj-social-row{display:flex;gap:10px;flex-wrap:wrap}
.wj-social-row>div{flex:1}
.wj-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.wj-sidebar{position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;z-index:30}.wj-side-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 12px}.wj-logo{font-weight:900;font-size:18px;letter-spacing:-.03em}.wj-release{font-size:10px;color:var(--muted);padding:4px 7px;background:var(--surface2);border-radius:999px}.wj-nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.wj-nav-section{padding:14px 10px 6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.wj-nav-group{display:flex;flex-direction:column;gap:3px;margin-top:6px}.wj-nav-group:first-of-type{margin-top:0}.wj-nav-group-label{padding:14px 10px 6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.wj-nav-btn{border:0;background:transparent;display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;border-radius:12px;text-align:left;color:var(--muted);font-weight:650}.wj-nav-btn:hover{background:var(--surface2);color:var(--text)}.wj-nav-btn.active{background:var(--text);color:var(--surface)}.wj-nav-icon{width:22px;height:22px;display:grid;place-items:center;font-size:15px}.wj-side-foot{margin-top:auto;padding:10px 4px}.wj-user-chip{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);border-radius:14px;background:var(--surface2)}.wj-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--surface);font-weight:800}.wj-user-meta{min-width:0;flex:1}.wj-user-meta strong,.wj-user-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-user-meta span{font-size:11px;color:var(--muted)}
.wj-main{min-width:0}.wj-topbar{height:var(--top);position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(20px);display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.wj-title-wrap{min-width:0;flex:1}.wj-eyebrow{font-size:11px;color:var(--muted);font-weight:700}.wj-page-title{font-size:20px;font-weight:800;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-top-actions{display:flex;gap:8px;align-items:center}.wj-content{padding:22px;max-width:1800px;margin:0 auto}.wj-mobile-dock{display:none}
.wj-impersonation-bar{display:flex;align-items:center;gap:10px;padding:8px 22px;background:var(--warn-weak,color-mix(in srgb,var(--warn) 15%,var(--surface)));color:var(--warn);font-size:12px;font-weight:700;border-bottom:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.wj-impersonation-bar span{flex:1;min-width:0}.wj-impersonation-bar .wj-icon{flex:0 0 auto}
.wj-btn{border:1px solid var(--hairline,var(--border));background:var(--surface-raised,var(--surface));min-height:36px;padding:0 14px;border-radius:var(--radius-control,11px);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;cursor:pointer}.wj-btn:hover{border-color:var(--border-strong);background:var(--surface2,var(--surface-sunken))}.wj-btn:active{transform:scale(.98)}.wj-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.wj-btn.primary,.wj-btn.accent{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:none}.wj-btn.primary:hover,.wj-btn.accent:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.wj-btn.cta{background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:none}.wj-btn.cta:hover{background:color-mix(in srgb,var(--cta) 88%,#000)}.wj-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,var(--border))}.wj-btn.success{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 32%,var(--border))}.wj-btn.success:hover{background:color-mix(in srgb,var(--ok) 10%,var(--surface))}.wj-btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.wj-btn.icon,.wj-icon-button{width:40px;padding:0;border-radius:var(--radius-control,11px)}.wj-btn.sm{min-height:34px;padding:0 10px;font-size:12px}.wj-btn.compact{min-height:38px;padding:0 11px}.wj-btn:disabled{opacity:.45;cursor:not-allowed}
.wj-field{display:grid;gap:7px}.wj-field>span{font-size:12px;font-weight:750;color:var(--muted)}.wj-input,.wj-select,.wj-textarea{width:100%;border:1px solid var(--hairline,var(--border-strong));background:var(--surface-raised,var(--surface));border-radius:var(--radius-control,12px);min-height:44px;padding:9px 12px;outline:none;box-shadow:0 1px 2px rgba(16,24,40,.025);transition:border-color .16s ease,box-shadow .16s ease}.wj-textarea{min-height:44px;max-height:320px;resize:none;overflow-y:auto}.wj-input:focus,.wj-select:focus,.wj-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.wj-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.wj-span-2{grid-column:1/-1}.wj-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.wj-page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px}.wj-page-head>div:first-child{flex:1}.wj-page-head h1{margin:0;font-size:26px;letter-spacing:-.035em}.wj-page-head p{margin:5px 0 0;color:var(--muted)}.wj-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.wj-search{min-width:240px;flex:1;max-width:480px;position:relative}.wj-search input{padding-left:36px}.wj-search:before{content:"⌕";position:absolute;left:12px;top:10px;color:var(--muted);z-index:1}.wj-tabs{display:flex;gap:4px;padding:4px;background:var(--surface3);border-radius:12px;width:max-content;max-width:100%;overflow:auto}.wj-tab{border:0;background:transparent;padding:8px 12px;border-radius:9px;font-weight:750;color:var(--muted);white-space:nowrap}.wj-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.07)}
.wj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.wj-stat,.wj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:0 1px 0 rgba(0,0,0,.02)}.wj-stat{padding:17px}.wj-stat span{color:var(--muted);font-size:12px;font-weight:700}.wj-stat strong{display:block;font-size:28px;margin-top:6px;letter-spacing:-.04em}.wj-card{padding:18px}.wj-card h3{margin:0 0 12px;font-size:15px}.wj-card.soft{background:var(--surface2)}.wj-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.wj-stack{display:grid;gap:12px;min-width:0}.wj-stack>*{min-width:0}.wj-empty{padding:42px 22px;text-align:center;border:1px dashed var(--border-strong);border-radius:16px;color:var(--muted);background:var(--surface2)}
.wj-workspace{display:grid;grid-template-columns:minmax(320px,44%) minmax(420px,1fr);height:calc(100vh - var(--top) - 44px);min-height:540px;border:1px solid var(--border);background:var(--surface);border-radius:20px;overflow:hidden}.wj-master{min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--surface)}.wj-master-head{padding:14px;border-bottom:1px solid var(--border);display:grid;gap:10px}.wj-list{overflow:auto;min-height:0}.wj-row{padding:13px 14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:10px;cursor:pointer}.wj-row:hover{background:var(--surface2)}.wj-row.active{background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:inset 3px 0 var(--accent)}.wj-row-title{font-weight:780;line-height:1.25}.wj-row-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;color:var(--muted);font-size:11px}.wj-detail{min-width:0;overflow:auto;background:var(--surface)}.wj-detail-head{position:sticky;top:0;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);z-index:5;padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px}.wj-detail-head>div:first-child{flex:1}.wj-detail-head h2{margin:0;font-size:20px;letter-spacing:-.025em}.wj-detail-body{padding:18px}.wj-kv{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;padding:12px 0;border-bottom:1px solid var(--border)}.wj-kv dt{color:var(--muted);font-size:12px;font-weight:700}.wj-kv dd{margin:0;min-width:0;word-break:break-word}.wj-section{margin:20px 0}.wj-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.wj-section-title h3{margin:0;font-size:14px}.wj-timeline{display:grid;gap:10px}.wj-event{display:grid;grid-template-columns:10px 1fr;gap:10px}.wj-event-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;margin-top:6px}.wj-event-body{padding:0 0 14px;border-bottom:1px solid var(--border)}
.wj-badge{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:0 8px;border-radius:6px;background:var(--neutral-weak);color:var(--muted);font-size:11px;font-weight:600}.wj-badge.ok{background:var(--success-weak);color:var(--ok)}.wj-badge.warn{background:var(--warn-weak);color:var(--warn)}.wj-badge.danger{background:var(--danger-weak);color:var(--danger)}.wj-badge.info,.wj-badge.primary{background:var(--primary-weak);color:var(--accent)}.wj-badge.neutral{background:var(--neutral-weak);color:var(--muted)}
.wj-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--surface);width:100%;min-width:0}.wj-table{width:100%;border-collapse:collapse;min-width:760px}.wj-table th,.wj-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums}.wj-table td.mono,.wj-mono,.wj-kv dd.mono,.wj-detail-head .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.wj-table th{font-size:11px;color:var(--muted);font-weight:800;background:var(--surface2);position:sticky;top:0}.wj-table tbody tr:hover{background:var(--surface2)}
.wj-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(5px);z-index:80;display:grid;place-items:center;padding:20px}.wj-modal{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg)}.wj-modal-head{position:sticky;top:0;background:var(--surface);z-index:3;display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--border)}.wj-modal-head h2{margin:0;flex:1;font-size:19px}.wj-modal-body{padding:18px;overflow-x:hidden;min-width:0}.wj-toast-root{position:fixed;right:18px;top:18px;z-index:100;display:grid;gap:8px}.wj-toast{max-width:380px;padding:12px 14px;background:var(--text);color:var(--surface);border-radius:12px;box-shadow:var(--shadow);font-weight:700}.wj-toast.danger{background:color-mix(in srgb,var(--danger) 78%,#000);color:#fff}.wj-toast.ok{background:#166534;color:#fff}
.wj-skeleton{height:14px;border-radius:8px;background:linear-gradient(90deg,var(--surface3),var(--border),var(--surface3));background-size:200% 100%;animation:shimmer 1.3s linear infinite}.wj-skeleton.lg{height:72px}.wj-skeleton-row{display:grid;gap:9px;padding:14px;border-bottom:1px solid var(--border)}@keyframes shimmer{to{background-position:-200% 0}}
.wj-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wj-product{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.wj-product:hover{border-color:var(--accent)}.wj-product strong{display:block}.wj-product small{color:var(--muted)}
.wj-fab{position:fixed;right:26px;bottom:26px;width:56px;height:56px;border-radius:18px;border:0;background:var(--text);color:var(--surface);box-shadow:var(--shadow-lg);font-size:24px;z-index:40}.wj-back-mobile{display:none}
@media(max-width:1179px){:root{--sidebar:84px}.wj-nav-btn{justify-content:center;padding:10px}.wj-nav-label,.wj-nav-section,.wj-nav-group-label,.wj-user-meta,.wj-release,.wj-nav-count{display:none}.wj-side-head{justify-content:center}.wj-user-chip{justify-content:center}.wj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-workspace{grid-template-columns:minmax(300px,42%) 1fr}}
@media(max-width:699px){:root{--top:60px}.wj-shell{display:block}.wj-sidebar{display:none}.wj-topbar{padding:0 14px}.wj-content{padding:14px 12px calc(var(--dock) + var(--safe) + 18px)}.wj-mobile-dock{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe));height:64px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);z-index:50;padding:6px;gap:4px}.wj-mobile-dock button{flex:1;border:0;background:transparent;border-radius:14px;color:var(--muted);font-size:10px;font-weight:800;display:grid;place-items:center;gap:2px}.wj-mobile-dock button.active{background:var(--text);color:var(--surface)}.wj-mobile-dock b{font-size:17px}.wj-grid,.wj-dashboard-grid{grid-template-columns:1fr}.wj-page-head{align-items:flex-start}.wj-workspace{display:block;height:auto;min-height:calc(100vh - var(--top) - 110px);border-radius:16px}.wj-master{border-right:0}.wj-detail{display:none;position:fixed;inset:var(--top) 0 0 0;z-index:45;background:var(--bg);padding-bottom:calc(var(--dock) + var(--safe))}.wj-workspace.detail-open .wj-detail{display:block}.wj-workspace.detail-open .wj-master{visibility:hidden}.wj-back-mobile{display:inline-flex}.wj-detail-head{top:0}.wj-form-grid{grid-template-columns:1fr}.wj-span-2{grid-column:auto}.wj-modal-backdrop{padding:0;align-items:end}.wj-modal{width:100%;max-height:92vh;border-radius:22px 22px 0 0;border-bottom:0}.wj-product-grid{grid-template-columns:1fr}.wj-fab{right:18px;bottom:calc(var(--dock) + var(--safe) + 18px)}.wj-login{display:block}.wj-kv{grid-template-columns:110px 1fr}}
@media(max-width:520px){.wj-page-head{display:block}.wj-page-head .wj-btn{margin-top:12px}.wj-toolbar{align-items:stretch}.wj-search{min-width:100%;max-width:none}.wj-grid{grid-template-columns:1fr}.wj-top-actions .wj-btn span{display:none}.wj-card{padding:14px}.wj-row{padding:12px}.wj-detail-body{padding:14px}}

/* Native V2 continuous layout contract */
html[data-layout="desktop"] .wj-content{padding-inline:clamp(20px,2vw,34px)}
html[data-layout="desktop"] .wj-workspace{grid-template-columns:minmax(340px,42%) minmax(520px,1fr)}
html[data-layout="tablet"]{--sidebar:82px}
html[data-layout="tablet"] .wj-nav-label,html[data-layout="tablet"] .wj-nav-section,html[data-layout="tablet"] .wj-nav-group-label,html[data-layout="tablet"] .wj-user-meta,html[data-layout="tablet"] .wj-release{display:none}
html[data-layout="tablet"] .wj-nav-btn{justify-content:center}
html[data-layout="tablet"] .wj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout="tablet"] .wj-workspace{grid-template-columns:minmax(300px,40%) minmax(0,1fr);height:calc(100dvh - var(--top) - 44px)}
html[data-layout="mobile"] .wj-shell{display:block}
html[data-layout="mobile"] .wj-sidebar{display:none}
html[data-layout="mobile"] .wj-content{padding:14px 12px calc(var(--dock) + var(--safe) + 18px)}
html[data-layout="mobile"] .wj-mobile-dock{display:flex}
html[data-layout="mobile"] .wj-workspace{display:block;height:auto;min-height:calc(100dvh - var(--top) - 110px)}
html[data-layout="mobile"] .wj-master{border-right:0}
html[data-layout="mobile"] .wj-detail{display:none;position:fixed;inset:var(--top) 0 0;z-index:45;background:var(--bg);padding-bottom:calc(var(--dock) + var(--safe));overflow:auto}
html[data-layout="mobile"] .wj-workspace.detail-open .wj-detail{display:block}
html[data-layout="mobile"] .wj-workspace.detail-open .wj-master{visibility:hidden}
html[data-layout="mobile"] .wj-back-mobile{display:inline-flex}
html[data-layout="mobile"] .wj-grid,html[data-layout="mobile"] .wj-dashboard-grid,html[data-layout="mobile"] .wj-product-grid{grid-template-columns:1fr}
html[data-layout="mobile"] .wj-form-grid{grid-template-columns:1fr}
html[data-layout="mobile"] .wj-span-2{grid-column:auto}
html[data-layout="mobile"] .wj-modal-backdrop{padding:0;align-items:end}
html[data-layout="mobile"] .wj-modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;border-bottom:0}
html[data-layout="mobile"] .wj-fab{right:18px;bottom:calc(var(--dock) + var(--safe) + 18px)}

/* Native V2 parity interaction components */
.wj-actionbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 0 2px}.wj-bottom-actions{position:sticky;bottom:0;z-index:7;display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;background:linear-gradient(180deg,transparent,var(--surface) 26%)}
.wj-doc-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px!important}.wj-doc-icon{font-size:20px}.wj-doc-copy{min-width:0}.wj-doc-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.wj-compact-field{display:grid;gap:4px;min-width:150px}.wj-compact-field>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.wj-compact-field .wj-input,.wj-compact-field .wj-select{min-height:38px;padding-block:6px}
.wj-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;color:var(--muted);font-size:12px}.wj-pager>div{display:flex;align-items:center;gap:10px}.wj-pager .wj-select{width:auto;min-height:34px;padding-block:4px}
.wj-signature{display:block;width:100%;height:220px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface2);touch-action:none}.wj-help{color:var(--muted);line-height:1.55}
.wj-calendar-list{display:grid;gap:12px;max-height:68vh;overflow:auto}.wj-calendar-list .wj-card{padding:14px}
.wj-cv-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.35fr);gap:14px;min-height:620px}.wj-pdf-pane{min-height:620px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface2)}.wj-pdf-pane iframe{display:block;width:100%;height:100%;min-height:620px;border:0}.wj-candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wj-candidate{border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:14px;cursor:pointer}.wj-candidate:hover,.wj-candidate.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.wj-kanban{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px;overflow:auto}.wj-kanban-col{min-width:240px;background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:10px}.wj-kanban-col h3{margin:4px 4px 10px}.wj-kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer}.wj-split-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.wj-metric-strip{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.wj-metric-strip .wj-stat{min-width:160px}
html[data-layout="tablet"] .wj-cv-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}
html[data-layout="tablet"] .wj-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout="tablet"] .wj-doc-row{grid-template-columns:auto minmax(0,1fr)}html[data-layout="tablet"] .wj-doc-actions{grid-column:1/-1;justify-content:flex-start}
html[data-layout="mobile"] .wj-actionbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}html[data-layout="mobile"] .wj-actionbar .wj-btn{width:100%;white-space:normal;text-align:center}
html[data-layout="mobile"] .wj-drawer-foot{flex-wrap:wrap}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar{width:100%}
html[data-layout="mobile"] .wj-bottom-actions{position:fixed;left:0;right:0;bottom:calc(var(--dock) + var(--safe));padding:10px 12px;background:color-mix(in srgb,var(--surface) 96%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(20px)}
html[data-layout="mobile"] .wj-doc-row{grid-template-columns:auto minmax(0,1fr)}html[data-layout="mobile"] .wj-doc-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html[data-layout="mobile"] .wj-doc-actions .wj-btn{width:100%}
html[data-layout="mobile"] .wj-pager{display:grid;grid-template-columns:1fr auto}html[data-layout="mobile"] .wj-pager>span{grid-column:1/-1}
html[data-layout="mobile"] .wj-signature{height:180px}.wj-signature{max-height:40vh}
html[data-layout="mobile"] .wj-cv-layout{display:block}.wj-cv-layout .wj-pdf-pane{min-height:70dvh}html[data-layout="mobile"] .wj-pdf-pane iframe{min-height:70dvh}
html[data-layout="mobile"] .wj-candidate-grid{grid-template-columns:1fr}.wj-candidate-grid{min-width:0}
html[data-layout="mobile"] .wj-kanban{grid-template-columns:repeat(3,82vw);scroll-snap-type:x proximity}.wj-kanban-col{scroll-snap-align:start}
@media(max-width:520px){.wj-actionbar{grid-template-columns:1fr!important}.wj-split-actions{grid-template-columns:1fr}}
.wj-delivery-days{display:grid;gap:8px;margin-top:10px}.wj-delivery-day{display:grid;grid-template-columns:minmax(100px,1fr) 120px auto 120px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.wj-delivery-day .wj-input{min-height:34px}.wj-card.soft.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}@media(max-width:699px){.wj-delivery-day{grid-template-columns:1fr 1fr}.wj-delivery-day label{grid-column:1/-1}.wj-delivery-day span{display:none}}

/* === WJT Product Redesign 2026 === */
:root{
 --rail:232px;--surface-raised:#ffffff;--surface-sunken:#f6f8fb;--focus-ring:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
 --shadow-soft:0 8px 28px rgba(15,23,42,.07);
 --shadow-float:0 20px 60px rgba(15,23,42,.16)
}
html[data-theme="dark"]{--surface-raised:#121a27;--surface-sunken:#0e1520;--shadow-soft:0 10px 28px rgba(0,0,0,.25);--shadow-float:0 24px 70px rgba(0,0,0,.45)}
html,body{overflow-x:hidden}.wj-icon{display:block;flex:0 0 auto}.wj-app-rail{width:var(--rail);padding:16px 12px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:1px 0 0 var(--border)}
.wj-brand-lockup{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:6px 4px;color:var(--text);text-align:left}.wj-brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px;font-weight:900;letter-spacing:-.03em;box-shadow:none}.wj-brand-copy{display:grid;line-height:1.05}.wj-brand-copy b{font-size:15px;letter-spacing:-.02em}.wj-brand-copy small{font-size:11px;color:var(--muted);font-weight:700;margin-top:3px}
.wj-nav{gap:2px}.wj-nav-section{padding:16px 10px 7px;font-size:10px;letter-spacing:.13em}.wj-nav-btn{min-height:42px;padding:9px 10px;border-radius:12px;gap:11px;font-size:13px;transition:background .16s,color .16s,transform .16s}.wj-nav-btn:hover{transform:translateX(1px)}.wj-nav-btn.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.wj-nav-count{margin-left:auto;flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,var(--surface2));color:var(--accent);font-size:11px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;line-height:1}.wj-nav-btn.active .wj-nav-count{background:color-mix(in srgb,var(--accent) 26%,var(--surface));}.wj-side-foot{display:grid;gap:6px}.wj-user-chip{width:100%;border-color:transparent;background:var(--surface2);min-width:0}.wj-user-chip:hover{border-color:var(--border)}
.wj-topbar{height:var(--top);padding:0 24px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(24px) saturate(140%)}.wj-global-search{width:min(360px,32vw);height:40px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted)}.wj-global-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:var(--text)}.wj-top-avatar{width:38px;height:38px;border:0;border-radius:50%;background:var(--text);color:var(--surface);font-size:11px;font-weight:900}.wj-notification-btn{position:relative}.wj-notification-btn sup{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:9px}.wj-btn.compact{min-height:38px;padding:0 11px}
.wj-content{padding:26px;max-width:1760px}.wj-page-head{align-items:center;margin-bottom:20px}.wj-page-head h1{font-size:28px;font-weight:840}.wj-page-head p{font-size:13px;max-width:760px;line-height:1.55}.wj-card,.wj-stat{border-color:color-mix(in srgb,var(--border) 88%,transparent);box-shadow:var(--shadow-soft)}.wj-card{border-radius:18px}.wj-stat{border-radius:16px}.wj-input:focus-visible,.wj-select:focus-visible,.wj-textarea:focus-visible,.wj-nav-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.wj-toolbar{padding:10px 0;margin-bottom:10px}.wj-filter-trigger b{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--surface3);display:grid;place-items:center;font-size:10px}.wj-filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}.wj-filter-chip{border:1px solid var(--border);background:var(--surface2);color:var(--muted);min-height:30px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:750}.wj-filter-panel{display:none;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:12px;margin:0 0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-soft)}.wj-filter-panel.open{display:grid}.wj-filter-panel>.wj-select{max-width:none!important}.wj-filter-sheet{position:relative;z-index:8}
.wj-form-grid{gap:16px}.wj-field{gap:7px}.wj-field>span{font-size:11px;letter-spacing:.015em}.wj-form-actions{position:sticky;bottom:0;margin:0 -1px -1px;background:var(--surface-raised,var(--surface));backdrop-filter:blur(16px);padding:14px 0;border-top:1px solid var(--hairline,var(--border));z-index:2}
.wj-workspace{height:calc(100dvh - var(--top) - 52px);border-radius:22px;box-shadow:var(--shadow-soft);grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.wj-master-head{padding:14px 14px 10px;background:var(--surface)}.wj-row{padding:14px 15px}.wj-row.active{background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:inset 3px 0 var(--accent)}.wj-detail-head{padding:18px 20px}.wj-detail-body{padding:20px}.wj-detail-head h2{font-size:21px}.wj-kv{grid-template-columns:minmax(110px,150px) minmax(0,1fr)}
.wj-settings-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.wj-settings-sidebar{position:sticky;top:calc(var(--top) + 18px);border:1px solid var(--border);background:var(--surface-raised);border-radius:18px;padding:10px;box-shadow:var(--shadow-soft)}.wj-settings-title{font-size:12px;font-weight:850;color:var(--muted);padding:8px 10px 12px;text-transform:uppercase;letter-spacing:.09em}.wj-settings-nav{width:100%;min-height:44px;border:0;background:transparent;border-radius:11px;display:grid;grid-template-columns:22px 1fr 16px;align-items:center;gap:9px;padding:8px 10px;color:var(--muted);text-align:left;font-weight:720}.wj-settings-nav:hover{background:var(--surface2);color:var(--text)}.wj-settings-nav.active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.wj-settings-content{min-width:0}.wj-settings-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:2px 0 16px}.wj-settings-section-head h2{margin:0;font-size:24px;letter-spacing:-.03em}.wj-settings-section-head p{margin:5px 0 0;color:var(--muted);line-height:1.55}.wj-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wj-settings-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:18px;padding:18px;box-shadow:var(--shadow-soft);display:grid;gap:14px;min-width:0}.wj-settings-card h3{margin:0;font-size:15px}.wj-settings-card p{margin:0;color:var(--muted);line-height:1.55}.wj-settings-savebar{position:sticky;bottom:16px;margin-top:14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-raised) 92%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow-float);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.wj-settings-savebar span{color:var(--muted);font-size:12px}.wj-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.wj-switch-row span{display:grid;gap:3px}.wj-switch-row small{color:var(--muted)}.wj-switch-row input{width:42px;height:23px;accent-color:var(--accent)}.wj-settings-list{display:grid}.wj-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.wj-settings-row>div:first-child{display:grid;gap:3px}.wj-settings-row small{color:var(--muted)}.wj-settings-launch{grid-template-columns:36px 1fr 20px;text-align:left;cursor:pointer}.wj-branding-preview{height:180px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,var(--surface2),var(--surface));display:grid;place-items:center;overflow:hidden}.wj-branding-preview.compact{height:120px}.wj-branding-preview img{max-width:86%;max-height:74%;object-fit:contain}.wj-brand-placeholder{font-weight:950;letter-spacing:.03em;font-size:24px}.wj-upload-zone{min-height:96px;border:1px dashed var(--border-strong);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);cursor:pointer}.wj-upload-zone strong{color:var(--text)}.wj-upload-zone:hover,.wj-upload-zone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.wj-branding-preview.light{background:#fff}.wj-branding-preview.dark{background:#15172a}.wj-branding-preview.wide{grid-column:1/-1}.wj-branding-preview.wide img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover}.wj-color-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wj-color-row label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;color:var(--muted)}.wj-color-row input{width:42px;height:32px;border:0;background:transparent}
.wj-mobile-dock button{min-height:44px}.wj-mobile-dock .wj-icon{margin:auto}.wj-modal{box-shadow:var(--shadow-float)}
/* Compact filter/select/date controls */
.wj-toolbar .wj-select,.wj-toolbar input[type="date"],.wj-toolbar input[type="week"],.wj-filter-panel .wj-select,.wj-filter-panel input,.wj-center-filter .wj-select{min-height:36px;padding-block:6px;font-size:12px}
.wj-toolbar input[type="date"],.wj-toolbar input[type="week"]{max-width:150px}
/* Toolbar controls (other than the search box) must not stretch to fill the flex row's full width when they
   wrap onto their own line — otherwise each select/date/button ends up one-per-row on narrow/mobile widths. */
.wj-toolbar>.wj-select,.wj-toolbar>select,.wj-toolbar>input[type="date"],.wj-toolbar>input[type="week"],.wj-toolbar>.wj-btn{width:auto;flex:1 1 130px}
.wj-toolbar>.wj-btn{flex:0 0 auto}
.wj-filter-panel input[type="date"],.wj-filter-panel input[type="week"]{max-width:none}
.wj-center-filter{min-width:130px}
/* Product / supplier media-first cards */
.wj-product{padding:0;overflow:hidden;display:flex;flex-direction:column}.wj-product-media{aspect-ratio:4/3;background:var(--surface-sunken,var(--surface2));display:grid;place-items:center;color:var(--muted);overflow:hidden}.wj-product-media img{width:100%;height:100%;object-fit:cover}.wj-product-copy{padding:12px 13px;display:flex;flex-direction:column;gap:3px;flex:1}.wj-product-copy strong{display:block;font-size:13px}.wj-product-copy small{color:var(--muted);font-size:11px}.wj-product-foot{padding:0 13px 12px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.wj-supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.wj-supplier{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.wj-supplier:hover{border-color:var(--accent)}.wj-supplier-logo{width:56px;height:56px;border-radius:14px;background:var(--surface-sunken,var(--surface2));display:grid;place-items:center;color:var(--muted);overflow:hidden}.wj-supplier-logo img{width:100%;height:100%;object-fit:contain}.wj-supplier strong{font-size:13px}.wj-supplier small{color:var(--muted);font-size:11px}
.wj-product-detail-media{aspect-ratio:16/9;border-radius:14px;background:var(--surface-sunken,var(--surface2));display:grid;place-items:center;color:var(--muted);overflow:hidden;margin-bottom:14px}.wj-product-detail-media img{width:100%;height:100%;object-fit:contain}
.wj-cv-pdf-view{display:flex;flex-direction:column;flex:1;min-height:0;gap:0;padding:0}.wj-cv-pdf-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-bottom:1px solid var(--hairline,var(--border));background:var(--surface-raised,var(--surface))}.wj-cv-pdf-frame{flex:1;width:100%;min-height:0;border:0;border-radius:0;background:var(--surface2)}.wj-cv-detail-view{display:flex;flex-direction:column;flex:1;min-height:0;gap:14px;padding:14px;overflow:auto}
.wj-cv-screen{display:flex;flex-direction:column;height:calc(100dvh - var(--top) - 52px);min-height:0}
.wj-cv-screen .wj-page-head,.wj-cv-screen .wj-toolbar{flex:0 0 auto}
.wj-cv-split{display:grid;grid-template-columns:minmax(280px,340px) 8px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;flex:1;min-height:0}
.wj-cv-split-list{overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--hairline,var(--border));border-radius:16px 0 0 16px;border-right:0;background:var(--surface-raised,var(--surface));padding:8px}.wj-cv-split-list .wj-list{overflow:visible;height:auto}
.wj-cv-split-resize{width:8px;cursor:col-resize;position:relative;flex:0 0 auto;background:var(--surface-raised,var(--surface));border-top:1px solid var(--hairline,var(--border));border-bottom:1px solid var(--hairline,var(--border))}
.wj-cv-split-resize:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3px;height:32px;border-radius:3px;background:var(--border-strong)}
.wj-cv-split-resize:hover:after,.wj-cv-split-resize:active:after{background:var(--accent)}
.wj-cv-split-detail{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;border:1px solid var(--hairline,var(--border));border-top:0;border-bottom:0;border-radius:0;background:var(--surface-raised,var(--surface));overflow:hidden}
.wj-cv-split-resize{min-height:0;height:100%}
.wj-cv-split-empty{flex:1;display:grid;place-items:center;padding:20px}
.wj-cv-pager{display:flex;gap:4px;margin-left:auto}
.wj-cv-pager .wj-cv-next .wj-icon,.wj-cv-pager .wj-cv-next svg{transform:rotate(180deg)}
.wj-cv-back-mobile{display:none}
html[data-layout="mobile"] .wj-cv-screen{height:auto}
html[data-layout="mobile"] .wj-cv-split-resize{display:none}
html[data-layout="mobile"] .wj-cv-split{display:block;height:auto;gap:0;grid-template-columns:none!important}
html[data-layout="mobile"] .wj-cv-split-list{border:0;border-radius:0;background:transparent;padding:0}
html[data-layout="mobile"] .wj-cv-split-detail{display:none;position:fixed;inset:var(--top) 0 0;z-index:45;background:var(--bg);border-radius:0;border:0;padding-bottom:calc(var(--dock) + var(--safe))}
html[data-layout="mobile"] .wj-cv-pdf-toolbar{padding:8px 10px;gap:6px}
html[data-layout="mobile"] .wj-cv-pdf-toolbar .wj-btn.sm{padding:0 8px;font-size:11px}
html[data-layout="mobile"] .wj-cv-detail-view{padding:10px}
html[data-layout="mobile"] .wj-drawer-foot{padding:10px 12px}
html[data-layout="mobile"] .wj-cv-split.detail-open .wj-cv-split-detail{display:flex}
html[data-layout="mobile"] .wj-cv-split.detail-open .wj-cv-split-list{display:none}
html[data-layout="mobile"] .wj-cv-back-mobile{display:inline-flex}
.wj-permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.wj-permissions-group{border:1px solid var(--border);border-radius:14px;padding:12px;min-width:0}.wj-permissions-group legend{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 4px}.wj-permissions-group .wj-check{min-height:0;padding:6px 8px;margin-top:4px;border:0;background:transparent}.wj-permissions-group .wj-check:hover{background:var(--surface2)}.wj-permissions-group .wj-check span{font-size:12px;word-break:break-word}

@media (max-width:1179px){
 :root{--rail:78px}.wj-brand-copy,.wj-nav-label,.wj-user-meta,.wj-user-chip>.wj-icon,.wj-nav-section{display:none}.wj-brand-lockup{justify-content:center}.wj-nav-btn{justify-content:center;padding:9px}.wj-sidebar{padding-inline:10px}.wj-side-foot .wj-user-chip{justify-content:center;padding:7px}.wj-content{padding:20px}.wj-global-search{width:min(300px,34vw)}.wj-workspace{grid-template-columns:minmax(280px,38%) minmax(0,1fr)}.wj-settings-workspace{grid-template-columns:210px minmax(0,1fr)}.wj-settings-grid{grid-template-columns:1fr}.wj-btn,.wj-input,.wj-select{min-height:44px}.wj-nav-btn,.wj-settings-nav,.wj-mobile-dock button{min-height:44px}
}
@media (max-width:699px){
 :root{--rail:0px;--top:60px}.wj-shell{display:block}.wj-sidebar{display:none}.wj-main{min-height:100dvh;padding-bottom:calc(var(--dock) + var(--safe) + 10px)}.wj-topbar{height:var(--top);padding:0 12px}.wj-eyebrow,.wj-global-search{display:none}.wj-page-title{font-size:18px}.wj-top-actions{margin-left:auto}.wj-content{padding:12px;overflow-x:hidden}.wj-mobile-dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(8px + var(--safe));z-index:80;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(22px) saturate(150%);border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:20px;padding:6px;box-shadow:var(--shadow-float)}.wj-mobile-dock button{border:0;background:transparent;border-radius:13px;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:9px;font-weight:750}.wj-mobile-dock button.active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.wj-page-head{margin:5px 2px 12px}.wj-page-head h1{font-size:22px}.wj-page-head p{font-size:12px}.wj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wj-dashboard-grid{grid-template-columns:1fr;gap:10px}.wj-toolbar{gap:6px}.wj-search{min-width:0;max-width:none;width:100%;flex-basis:100%}.wj-filter-panel{position:fixed;left:10px;right:10px;bottom:calc(var(--dock) + var(--safe) + 12px);z-index:100;max-height:62dvh;overflow:auto;border-radius:20px;padding:16px;box-shadow:var(--shadow-float);grid-template-columns:1fr}.wj-filter-panel:not(.open){display:none}.wj-filter-sheet.open:before{content:"Filtros";display:block;font-weight:850;font-size:17px;margin-bottom:4px}.wj-form-grid{grid-template-columns:1fr}.wj-span-2{grid-column:auto}.wj-form-actions{grid-column:1;bottom:0;padding:12px 0 calc(4px + var(--safe))}.wj-modal-backdrop{align-items:flex-end;padding:0}.wj-modal{width:100%;max-width:none;max-height:92dvh;border-radius:24px 24px 0 0}.wj-workspace{display:block;height:calc(100dvh - var(--top) - var(--dock) - 34px);min-height:0;border-radius:16px;position:relative;overflow:hidden}.wj-master{height:100%;border-right:0}.wj-detail{position:absolute;inset:0;transform:translateX(102%);transition:transform .22s ease;z-index:10;background:var(--surface);overflow:auto}.wj-workspace.detail-open .wj-detail{transform:translateX(0)}.wj-back-mobile{display:inline-flex!important}.wj-detail-body{padding:14px}.wj-kv{grid-template-columns:1fr;gap:4px;padding:10px 0}.wj-settings-workspace{display:block}.wj-settings-sidebar{position:static;display:flex;overflow-x:auto;gap:5px;padding:5px;margin-bottom:12px;border-radius:14px}.wj-settings-title{display:none}.wj-settings-nav{min-width:max-content;grid-template-columns:18px auto;min-height:40px;padding:8px 10px}.wj-settings-nav>.wj-icon:last-child{display:none}.wj-settings-section-head h2{font-size:21px}.wj-settings-grid{grid-template-columns:1fr}.wj-settings-savebar{bottom:calc(var(--dock) + var(--safe) + 12px);flex-direction:column;align-items:stretch}.wj-settings-row{grid-template-columns:1fr auto}.wj-settings-row>.wj-segmented{grid-column:1/-1}.wj-branding-preview{height:140px}.wj-product-grid{grid-template-columns:1fr!important}.wj-table-wrap{border-radius:14px;overflow:auto}.wj-table{min-width:720px}.wj-actionbar{flex-wrap:wrap}
}

/* Uelta 2.2 — approved reference visual direction */
:root{
 --surface-canvas:#f7f8fb;--surface-raised:#ffffff;--surface-sunken:#f1f3f7;--surface-overlay:rgba(255,255,255,.94);
 --radius-control:12px;--radius-panel:18px;--radius-workspace:24px;--shadow-soft:0 1px 2px rgba(16,24,40,.03),0 8px 24px rgba(16,24,40,.05);--shadow-float:0 18px 60px rgba(15,23,42,.16);
 --blue:#2f6df6;--blue-soft:#eef4ff;--hairline:#e9edf3;--sidebar:226px;--top:64px;--r:18px;--r2:24px;
}
html[data-theme="dark"]{--surface-canvas:#0c1018;--surface-raised:#111722;--surface-sunken:#0f1520;--surface-overlay:rgba(17,23,34,.94);--hairline:#222c3c;--blue-soft:#142347}
body{background:var(--surface-canvas);font-size:13px;letter-spacing:-.005em}.wj-shell{background:var(--surface-canvas)}
.wj-sidebar{background:var(--surface-raised);border-right:1px solid var(--hairline);padding:16px 12px}.wj-side-head{height:52px}.wj-brand-lockup{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px}.wj-brand-mark{width:30px;height:30px;border-radius:9px;background:#111827;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950}.wj-brand-copy{display:grid;text-align:left;line-height:1.05}.wj-brand-copy small{font-size:10px;color:var(--muted);margin-top:3px}.wj-nav-section{font-size:9px;letter-spacing:.12em;padding:18px 10px 7px}.wj-nav-btn{min-height:40px;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:690}.wj-nav-btn.active{background:var(--blue-soft);color:var(--blue);box-shadow:none}.wj-nav-btn:hover{background:var(--surface-sunken)}
.wj-topbar{height:var(--top);background:color-mix(in srgb,var(--surface-raised) 90%,transparent);border-bottom:1px solid var(--hairline);padding:0 26px}.wj-eyebrow{display:none}.wj-page-title{font-size:17px;font-weight:760}.wj-global-search{height:36px;border-color:var(--hairline);background:var(--surface-sunken);border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.wj-content{padding:24px 28px 40px;max-width:1720px}
.wj-page-head{align-items:center;margin:4px 0 18px}.wj-page-head h1{font-size:24px;font-weight:780}.wj-page-head p{font-size:12px;margin-top:4px}.wj-card,.wj-data-surface{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.wj-card{padding:17px}.wj-stat{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:16px;box-shadow:none}
.wj-commandbar{display:flex;align-items:center;gap:7px;min-height:48px;padding:6px 8px;border:1px solid var(--hairline);border-radius:15px;background:var(--surface-overlay);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}.wj-floating-panel{background:var(--surface-overlay);border:1px solid var(--hairline);border-radius:var(--radius-panel);box-shadow:var(--shadow-float);backdrop-filter:blur(18px)}.wj-section-tabs,.wj-tabs{display:flex;gap:2px;padding:3px;border:1px solid var(--hairline);background:var(--surface-sunken);border-radius:12px}.wj-tab{padding:7px 11px;border-radius:9px}.wj-tab.active{box-shadow:0 1px 3px rgba(16,24,40,.07)}
.wj-workspace{border-color:var(--hairline);border-radius:var(--radius-workspace);box-shadow:var(--shadow-soft);background:var(--surface-raised)}.wj-master{border-right-color:var(--hairline)}.wj-master-head,.wj-detail-head{border-color:var(--hairline)}.wj-row{border-bottom-color:var(--hairline);padding:13px 15px}.wj-row:hover{background:var(--surface-sunken)}.wj-row.active{background:var(--blue-soft);box-shadow:inset 3px 0 var(--blue)}.wj-detail{background:var(--surface-raised)}.wj-detail-head{background:var(--surface-overlay)}
.wj-home-shell{display:grid;gap:16px}.wj-home-stats{gap:10px}.wj-dashboard-stat{display:flex;align-items:center;gap:12px;padding:14px 15px;text-align:left;color:inherit}.wj-dashboard-stat .wj-stat-icon{width:34px;height:34px;border-radius:10px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--blue)}.wj-dashboard-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.wj-dashboard-stat strong{font-size:23px;margin-top:2px}.wj-home-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.7fr);gap:14px;align-items:start}.wj-home-main,.wj-home-side{display:grid;gap:14px}.wj-data-surface{padding:18px}.wj-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.wj-section-heading h3{margin:2px 0 0;font-size:15px}.wj-section-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.wj-kicker{font-size:9px;letter-spacing:.12em;font-weight:850;color:var(--muted)}.wj-release-chip{font-size:10px;font-weight:800;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:5px 8px}.wj-activity-list{display:grid}.wj-activity-row{border:0;border-top:1px solid var(--hairline);background:transparent;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:11px 2px;text-align:left}.wj-activity-row:hover{background:var(--surface-sunken)}.wj-activity-icon{width:30px;height:30px;border-radius:9px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--muted)}.wj-activity-copy{display:grid;gap:3px}.wj-activity-copy strong{display:flex;align-items:center;gap:7px;font-size:12px}.wj-activity-copy small{font-size:10px;color:var(--muted)}.wj-activity-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--muted)}.wj-activity-dot.incidents{background:var(--danger)}.wj-activity-dot.maintenance{background:#d97706}.wj-activity-dot.orders{background:#2563eb}.wj-activity-dot.stock{background:#7c3aed}.wj-activity-dot.cv{background:#0d9488}.wj-activity-dot.requests{background:#4f46e5}.wj-activity-dot.invoices{background:var(--ok)}.wj-activity-dot.assets{background:#64748b}.wj-activity-dot.vehicle{background:#0891b2}.wj-activity-dot.directory{background:#db2777}.wj-activity-dot.gymkana{background:#65a30d}.wj-activity-dot.core{background:#475569}.wj-quick-grid{display:grid;gap:4px}.wj-quick-action{border:0;background:transparent;display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:8px;min-height:42px;border-radius:11px;padding:5px 7px;text-align:left}.wj-quick-action>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--surface-sunken);color:var(--blue)}.wj-quick-action:hover{background:var(--surface-sunken)}.wj-center-list{display:grid}.wj-center-row{border-top:1px solid var(--hairline);display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px}.wj-center-row>span{display:grid;gap:2px}.wj-center-row small{color:var(--muted);font-size:10px}
.wj-changelog{padding-bottom:8px}.wj-changelog-list{display:grid}.wj-changelog-item{display:grid;grid-template-columns:22px 1fr;gap:8px}.wj-changelog-rail{display:flex;align-items:center;flex-direction:column}.wj-changelog-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:#98a2b3;box-shadow:0 0 0 4px var(--surface-raised)}.wj-changelog-dot.feature{background:#2f6df6}.wj-changelog-dot.fix{background:var(--danger)}.wj-changelog-dot.improvement{background:var(--ok)}.wj-changelog-dot.adjustment{background:#a855f7}.wj-changelog-line{width:1px;background:var(--hairline);flex:1;min-height:46px}.wj-changelog-body{padding:0 0 16px;border-bottom:1px solid var(--hairline);margin-bottom:10px}.wj-changelog-item:last-child .wj-changelog-body{border-bottom:0}.wj-changelog-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.wj-changelog-meta strong{font-size:12px}.wj-changelog-meta>span:not(.wj-change-type){color:var(--muted);font-size:10px}.wj-change-type{font-size:9px;font-weight:800;padding:3px 6px;border-radius:999px;background:var(--surface-sunken)}.wj-change-type.feature{color:#2f6df6;background:#eef4ff}.wj-change-type.fix{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.wj-change-type.improvement{color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--surface))}.wj-change-type.adjustment{color:#9333ea;background:#faf5ff}.wj-changelog-body p{font-size:11px;line-height:1.55;color:var(--muted);margin:7px 0}.wj-module-tags{display:flex;gap:5px;flex-wrap:wrap}.wj-module-tags span{font-size:9px;color:var(--muted);border:1px solid var(--hairline);padding:3px 6px;border-radius:999px}
@media(max-width:1179px){.wj-home-layout{grid-template-columns:minmax(0,1fr) 280px}.wj-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-data-surface{padding:16px}}
@media(max-width:699px){.wj-content{padding:12px 10px calc(var(--dock) + var(--safe) + 18px)}.wj-home-layout{grid-template-columns:1fr}.wj-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-data-surface{padding:14px;border-radius:16px}.wj-changelog-body p{font-size:11px}.wj-dashboard-stat{padding:11px}.wj-dashboard-stat strong{font-size:19px}.wj-commandbar{position:sticky;top:var(--top);z-index:15;overflow-x:auto}.wj-floating-panel{border-radius:20px}}

/* 2.3 full-width responsive interaction system */
.wj-content{width:100%;max-width:none;margin:0;padding-inline:clamp(14px,2vw,38px)}
.wj-main{min-width:0;width:100%}.wj-page-head{width:100%}.wj-workspace,.wj-data-surface{max-width:none}
.wj-smart-actions{position:relative;align-items:center;flex-wrap:nowrap}.wj-action-overflow{position:relative}.wj-action-overflow>summary{list-style:none}.wj-action-overflow>summary::-webkit-details-marker{display:none}.wj-action-drawer{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:210px;padding:8px;display:grid;gap:5px;background:var(--surface-overlay);border:1px solid var(--hairline);border-radius:15px;box-shadow:var(--shadow-float);backdrop-filter:blur(18px)}.wj-action-drawer .wj-btn{justify-content:flex-start;width:100%}
.wj-detail-head{position:sticky;top:0;z-index:8}.wj-detail-expand{margin-left:auto}.wj-workspace.detail-expanded{grid-template-columns:minmax(260px,.55fr) minmax(0,2.2fr)}.wj-workspace.detail-expanded .wj-detail{min-width:0}
.wj-form-actions,.wj-sticky-actions{position:sticky;bottom:0;z-index:25;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--hairline);padding:12px max(4px,env(safe-area-inset-right)) calc(12px + var(--safe));margin-top:12px;display:flex;justify-content:flex-end;gap:8px}
.wj-solicitudes-home{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-workspace);padding:18px;box-shadow:var(--shadow-soft)}.wj-solicitudes-home .wj-section-heading h2{margin:2px 0;font-size:17px}.wj-solicitudes-launchers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wj-solicitud-launch{border:1px solid var(--hairline);background:var(--surface-raised);border-radius:16px;min-height:82px;padding:14px;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:12px;text-align:left;transition:.18s ease}.wj-solicitud-launch:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 30%,var(--hairline));box-shadow:var(--shadow-soft)}.wj-solicitud-launch>span:nth-child(2){display:grid;gap:4px}.wj-solicitud-launch strong{font-size:13px}.wj-solicitud-launch small{font-size:10px;color:var(--muted);line-height:1.35}.wj-solicitud-icon,.wj-vehicle-active-icon{width:42px;height:42px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.wj-solicitudes-mini{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.wj-solicitud-launch-row{display:flex;align-items:stretch;gap:6px}.wj-solicitud-launch-row .wj-solicitud-launch{flex:1 1 auto}.wj-solicitud-launch-row .wj-btn.icon{flex:0 0 auto;align-self:center}
.wj-directory-results{display:grid;gap:5px;margin:10px 0}.wj-directory-result{border:0;background:var(--surface-sunken);border-radius:11px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;text-align:left}.wj-directory-result span{display:grid;gap:2px}.wj-directory-result small{color:var(--muted);font-size:10px}
.wj-vehicle-workspace{display:grid;gap:14px;min-width:0}.wj-vehicle-workspace>*{min-width:0}.wj-vehicle-hero{background:linear-gradient(135deg,var(--surface-raised),var(--blue-soft));border:1px solid var(--hairline);border-radius:22px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;min-width:0}.wj-vehicle-hero>*{min-width:0}.wj-vehicle-hero h2{margin:3px 0 5px;font-size:22px}.wj-vehicle-hero p{margin:0;color:var(--muted)}.wj-vehicle-actions{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px;min-width:0}.wj-vehicle-actions .wj-solicitud-launch{grid-template-columns:38px 1fr;min-height:68px}.wj-vehicle-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.wj-vehicle-active{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;border:1px solid var(--hairline);border-radius:16px;padding:13px}.wj-vehicle-active>div:nth-child(2){display:grid;gap:2px}.wj-vehicle-active span{font-size:9px;letter-spacing:.1em;color:var(--blue);font-weight:800}.wj-vehicle-active small{color:var(--muted)}
.wj-asset-list{display:grid}.wj-asset-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:11px 2px;border-top:1px solid var(--hairline)}.wj-asset-row>div{display:grid;gap:2px}.wj-asset-row small{color:var(--muted);font-size:10px}.wj-asset-icon{width:34px;height:34px;border-radius:10px;background:var(--surface-sunken);color:var(--blue);display:grid;place-items:center}
.wj-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:14px}.wj-directory-layout>.wj-workspace{min-width:0}.wj-thread-panel{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:18px;padding:15px;align-self:start;position:sticky;top:calc(var(--top) + 12px)}.wj-thread-row{border:0;border-top:1px solid var(--hairline);background:transparent;width:100%;padding:10px 2px;display:flex;align-items:center;justify-content:space-between;text-align:left}.wj-thread-row>span{display:grid;gap:2px}.wj-thread-row small{color:var(--muted);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wj-thread-messages{display:grid;gap:8px;max-height:55vh;overflow:auto}.wj-message{max-width:82%;background:var(--surface-sunken);border-radius:14px;padding:10px 12px}.wj-message.mine{margin-left:auto;background:var(--blue-soft)}.wj-message p{margin:5px 0}.wj-message small{color:var(--muted);font-size:9px}
@media(max-width:1179px){.wj-directory-layout{grid-template-columns:1fr}.wj-thread-panel{position:relative;top:auto}.wj-vehicle-hero{align-items:stretch;flex-direction:column}.wj-vehicle-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-vehicle-grid{grid-template-columns:1fr}.wj-workspace.detail-expanded{grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr)}}
@media(max-width:699px){.wj-solicitudes-launchers{grid-template-columns:1fr}.wj-solicitud-launch{min-height:68px}.wj-vehicle-actions{grid-template-columns:1fr}.wj-vehicle-hero{padding:15px;border-radius:17px}.wj-vehicle-active{grid-template-columns:40px 1fr}.wj-vehicle-active>.wj-btn{grid-column:1/-1;width:100%}.wj-workspace.detail-expanded{grid-template-columns:1fr}.wj-workspace.detail-expanded .wj-master{display:none}.wj-detail-expand{display:none}.wj-scroll-chrome,.wj-topbar,.wj-mobile-dock{transition:none}.wj-form-actions,.wj-sticky-actions{margin-left:-10px;margin-right:-10px;padding-left:12px;padding-right:12px}.wj-directory-layout{display:block}.wj-thread-panel{margin-top:12px}}
@media(max-width:699px){.wj-scroll-chrome{overflow:visible}.wj-row-overflow .wj-action-drawer{position:fixed;left:12px;right:12px;bottom:calc(var(--dock) + var(--safe) + 10px);top:auto;max-height:60vh;overflow:auto}}


/* 2.4 shell/navigation/account refinements */
:root{--subnav-width:190px}
html,body,#app{height:100%;overflow:hidden}.wj-shell{height:100dvh;overflow:hidden}.wj-sidebar{height:100dvh;overflow:hidden;position:relative}.wj-nav{min-height:0;overflow:auto;overscroll-behavior:contain}.wj-main{height:100dvh;overflow:hidden;display:grid;grid-template-rows:var(--top) minmax(0,1fr)}.wj-content{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.wj-workspace{grid-template-columns:minmax(320px,1fr) minmax(0,0fr);overflow:hidden}.wj-workspace .wj-detail{min-width:0;opacity:0;visibility:hidden;border-left:0;overflow:hidden;transition:grid-template-columns .2s ease,opacity .16s ease}.wj-workspace.detail-open{grid-template-columns:minmax(300px,.9fr) minmax(420px,1.3fr)}.wj-workspace.detail-open .wj-detail{opacity:1;visibility:visible;border-left:1px solid var(--hairline);overflow:hidden}.wj-detail-body{height:calc(100% - 64px);overflow:auto;overscroll-behavior:contain}.wj-detail-close{margin-left:auto}.wj-workspace.detail-expanded{grid-template-columns:minmax(240px,.45fr) minmax(0,2.35fr)}
.wj-module-layout{display:grid;grid-template-columns:var(--subnav-width) minmax(0,1fr);gap:14px;min-height:0}.wj-module-subnav{border:1px solid var(--hairline);border-radius:16px;background:var(--surface-raised);align-self:start;position:sticky;top:0;max-height:calc(100dvh - var(--top) - 48px);overflow:auto}.wj-module-subnav-inner{padding:10px}.wj-module-subnav section{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid var(--hairline)}.wj-module-subnav section:last-child{border-bottom:0}.wj-module-subnav section>span{font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:4px 8px}.wj-module-subnav button{border:0;background:transparent;border-radius:9px;min-height:36px;padding:8px 10px;text-align:left;color:var(--text);font:inherit;font-size:11px;cursor:pointer}.wj-module-subnav button:hover{background:var(--surface-sunken)}.wj-module-subnav button.active{background:var(--blue-soft);color:var(--blue);font-weight:800}.wj-module-stage{min-width:0}.wj-orders-topbar{position:sticky;top:0;z-index:20}.wj-toolbar-title{font-size:12px;font-weight:800;margin-right:auto}
.wj-avatar-media{width:34px;height:34px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:var(--surface-sunken);flex:0 0 auto}.wj-avatar-media img{width:100%;height:100%;object-fit:cover}.wj-avatar-media.compact{width:32px;height:32px}.wj-top-avatar{overflow:hidden}.wj-top-avatar .wj-avatar,.wj-top-avatar .wj-avatar-media{width:100%;height:100%}
.wj-login-stack{width:min(400px,92vw);display:grid}.wj-account-request-card{position:relative}.wj-account-back{position:absolute;right:20px;top:20px}.wj-account-request-card .wj-field{margin-top:11px}.wj-login-error,.wj-login-status{min-height:18px;margin-top:11px;font-size:11px}.wj-login-status.ok{color:var(--ok)}.wj-login-status.danger,.wj-login-error{color:var(--danger)}
@media(max-width:1179px){:root{--subnav-width:168px}.wj-module-layout{grid-template-columns:var(--subnav-width) minmax(0,1fr)}.wj-workspace.detail-open{grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr)}}
@media(max-width:820px){.wj-login-shell{grid-template-columns:1fr;min-height:auto}}
@media(max-width:699px){.wj-btn.icon,.wj-icon-button{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:12px}.wj-top-avatar{width:40px;height:40px;border-radius:50%}.wj-module-layout{display:block}.wj-module-subnav{position:sticky;top:0;z-index:18;max-height:none;overflow:visible;border-radius:14px;margin-bottom:9px}.wj-module-subnav-inner{display:flex;overflow-x:auto;gap:5px;padding:6px}.wj-module-subnav section{display:flex;gap:4px;padding:0;border:0;min-width:max-content}.wj-module-subnav section>span{display:none}.wj-module-subnav button{white-space:nowrap;min-height:38px}.wj-workspace{display:block;height:calc(100dvh - var(--top) - var(--dock) - 24px)}.wj-workspace .wj-detail{position:absolute;inset:0;transform:translateX(102%);opacity:1;visibility:visible;background:var(--surface-raised);z-index:12;transition:transform .2s ease}.wj-workspace.detail-open .wj-detail{transform:translateX(0);border-left:0}.wj-detail-close{display:none}.wj-login{padding:0}.wj-login-shell{border-radius:0;box-shadow:none;min-height:100vh}.wj-login-art{display:none}.wj-login-panel{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px 40px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--bg)) 0%,var(--bg) 220px)}.wj-login-mobile-brand{display:flex;align-items:center;gap:10px;margin:8px 0 22px;font-weight:800;letter-spacing:.03em;font-size:13px;color:var(--text)}.wj-login-mobile-brand .wj-login-mark.sm{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900;font-size:14px}.wj-lang-toggle{top:16px;right:16px}}

.wj-brand-image{display:flex;align-items:center;max-width:150px;height:34px}.wj-brand-image img{max-width:100%;max-height:32px;object-fit:contain;object-position:left center}.wj-profile-avatar-preview{display:flex;justify-content:flex-start;margin:8px 0 16px}.wj-avatar-media.profile,.wj-avatar.profile{width:76px;height:76px;border-radius:24px;font-size:20px}.wj-pending-accounts{margin-bottom:14px}.wj-pending-account{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--hairline)}.wj-pending-account>div:nth-child(2){display:grid;gap:2px}.wj-pending-account small{color:var(--muted);font-size:10px}

/* === WJT 2.5 Shell + Calendar === */
:root{--secondary:214px}
.wj-shell{grid-template-columns:var(--sidebar) minmax(0,1fr);height:100dvh;overflow:hidden}
.wj-shell.has-secondary{grid-template-columns:var(--sidebar) var(--secondary) minmax(0,1fr)}
.wj-sidebar,.wj-secondary-sidebar{height:100dvh;min-height:0;position:relative;top:auto;overflow:hidden}
.wj-sidebar{z-index:32}.wj-nav{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.wj-secondary-sidebar{background:var(--surface-raised);border-right:1px solid var(--hairline,var(--border));z-index:29;display:flex;flex-direction:column;box-shadow:8px 0 24px rgba(15,23,42,.025)}
.wj-secondary-head{height:var(--top);padding:12px 14px;border-bottom:1px solid var(--hairline,var(--border));display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto}
.wj-secondary-head>div{display:grid;gap:3px}.wj-secondary-head strong{font-size:15px}.wj-secondary-close{display:none}
.wj-secondary-nav{padding:12px 10px 22px;overflow:auto;overscroll-behavior:contain;min-height:0}.wj-secondary-nav section{display:grid;gap:3px;padding:8px 0 12px;border-bottom:1px solid var(--hairline,var(--border))}.wj-secondary-nav section:last-child{border-bottom:0}.wj-secondary-nav section>span{padding:2px 9px 6px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.wj-secondary-nav button{border:0;background:transparent;color:var(--text);min-height:38px;border-radius:10px;text-align:left;padding:8px 10px;font:inherit;font-size:11px;cursor:pointer}.wj-secondary-nav button:hover{background:var(--surface-sunken)}.wj-secondary-nav button.active{background:var(--blue-soft,color-mix(in srgb,var(--accent) 10%,transparent));color:var(--blue,var(--accent));font-weight:800}
.wj-secondary-toggle{display:none;flex:0 0 auto;width:38px;height:38px;border-radius:11px}.wj-secondary-toggle-label{display:none}
.wj-main{height:100dvh;min-width:0;overflow:hidden;display:grid;grid-template-rows:var(--top) minmax(0,1fr)}
.wj-content{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;width:100%;max-width:none;margin:0;padding-inline:clamp(14px,2vw,38px)}
.wj-workspace{display:grid;grid-template-columns:minmax(0,1fr);height:min(760px,calc(100dvh - var(--top) - 110px));min-height:520px;width:100%;max-width:none;overflow:hidden}
.wj-workspace:not(.detail-open){grid-template-columns:minmax(0,1fr)}
.wj-workspace:not(.detail-open) .wj-master{border-right:0}
.wj-workspace.detail-open{grid-template-columns:minmax(320px,.88fr) minmax(460px,1.35fr)}
.wj-workspace.detail-expanded{grid-template-columns:minmax(240px,.42fr) minmax(0,2.3fr)}
.wj-master{min-width:0;min-height:0;overflow:hidden}.wj-master-head{flex:0 0 auto}.wj-list{overflow:auto;overscroll-behavior:contain}
.wj-detail{display:flex!important;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--hairline,var(--border));background:var(--surface-raised,var(--surface))}.wj-detail-head{flex:0 0 auto}.wj-detail-body{flex:1;min-height:0;height:auto;overflow:auto;overscroll-behavior:contain;padding-bottom:28px}
.wj-module-stage{min-width:0;width:100%}.wj-module-layout,.wj-module-subnav{display:none!important}

.wj-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.wj-calendar-nav{display:flex;align-items:center;gap:7px}.wj-calendar-nav .wj-input{width:auto;min-width:150px}.wj-calendar-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;padding:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease,padding .2s ease}.wj-calendar-filters.open{max-height:130px;opacity:1;padding:8px 0 14px}.wj-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--hairline,var(--border));border-bottom:0;border-radius:16px 16px 0 0;overflow:hidden;background:var(--surface-sunken)}.wj-calendar-weekdays span{padding:9px;text-align:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--hairline,var(--border));border-left:1px solid var(--hairline,var(--border));background:var(--surface-raised);border-radius:0 0 18px 18px;overflow:hidden}.wj-calendar-day{position:relative;min-height:132px;border:0;border-right:1px solid var(--hairline,var(--border));border-bottom:1px solid var(--hairline,var(--border));background:var(--surface-raised);padding:10px;text-align:left;display:flex;flex-direction:column;gap:7px}.wj-calendar-day:hover{background:var(--surface-sunken)}.wj-calendar-day.selected{box-shadow:inset 0 0 0 2px var(--accent);z-index:2}.wj-calendar-day.empty{background:var(--surface-sunken);opacity:.6}.wj-calendar-day-num{font-weight:800}.wj-calendar-day-count{position:absolute;right:8px;top:8px;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--blue,var(--accent));color:#fff;font-size:10px;font-weight:850}.wj-calendar-day-preview{display:grid;gap:4px;min-width:0}.wj-calendar-day-preview small{display:block;padding:4px 6px;background:var(--surface-sunken);border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:9px}.calendar-agenda{margin-top:14px;background:var(--surface-raised);border:1px solid var(--hairline,var(--border));border-radius:18px;padding:15px}.wj-calendar-event{width:100%;border:0;border-top:1px solid var(--hairline,var(--border));background:transparent;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 4px;text-align:left}.wj-calendar-event:hover{background:var(--surface-sunken)}.wj-calendar-event>span:nth-child(2){display:grid;gap:3px}.wj-calendar-event small{color:var(--muted)}.wj-calendar-module-dot{width:7px;height:7px;border-radius:50%;background:var(--blue,var(--accent))}

@media(max-width:1179px){:root{--secondary:188px}.wj-shell.has-secondary{grid-template-columns:var(--sidebar) var(--secondary) minmax(0,1fr)}.wj-workspace.detail-open{grid-template-columns:minmax(270px,.7fr) minmax(360px,1.3fr)}.wj-calendar-day{min-height:112px}.wj-calendar-day-preview small:nth-child(n+3){display:none}}
@media(max-width:699px){
 .wj-shell,.wj-shell.has-secondary{display:block}.wj-secondary-toggle{display:inline-flex}.wj-secondary-sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(86vw,330px);height:100dvh;z-index:90;transform:translateX(-105%);transition:transform .22s ease;box-shadow:24px 0 70px rgba(15,23,42,.24)}.secondary-open .wj-secondary-sidebar{transform:translateX(0)}.wj-secondary-close{display:inline-flex}.wj-secondary-head{height:64px}.wj-secondary-nav button{min-height:44px;font-size:13px}
 .wj-workspace{display:block;position:relative;height:calc(100dvh - var(--top) - var(--dock) - 24px);min-height:420px;overflow:hidden}.wj-workspace .wj-master{height:100%;overflow:hidden}.wj-workspace.detail-open .wj-master{visibility:visible}.wj-workspace.detail-open .wj-detail{position:absolute;inset:0;z-index:55;display:flex!important;transform:none;border-left:0;background:var(--surface-raised)}.wj-detail-head{min-height:58px}.wj-detail-close{display:none}.wj-back-mobile{display:inline-flex}.wj-detail-expand{display:none}
 .wj-calendar-toolbar{position:sticky;top:0;z-index:15;background:var(--surface-canvas,var(--bg));padding:4px 0 8px}.wj-calendar-toolbar .wj-tabs{order:3;width:100%}.wj-calendar-nav{flex:1;min-width:0}.wj-calendar-nav .wj-input{min-width:0;flex:1}.wj-calendar-filters,.wj-calendar-filters.open{position:fixed;left:10px;right:10px;bottom:calc(var(--dock) + var(--safe) + 10px);z-index:80;grid-template-columns:1fr;max-height:0;opacity:0;padding:0;background:var(--surface-raised);border-radius:20px;box-shadow:var(--shadow-float);overflow:hidden}.wj-calendar-filters.open{max-height:70dvh;opacity:1;padding:14px}.wj-calendar-day{min-height:40px;padding:3px}.wj-calendar-day-num{font-size:11px}.wj-calendar-day-preview{display:none}.wj-calendar-day-count{width:15px;height:15px;min-width:15px;font-size:8px;right:2px;top:2px}.calendar-agenda{margin-top:14px;padding:12px}.wj-calendar-event{min-height:58px}.wj-calendar-event .wj-badge{justify-self:end}
}


/* === WJT 2.6 Shell UX corrections === */
/* Legacy layout selectors were more specific than the optional-detail contract. */
html[data-layout="desktop"] .wj-workspace:not(.detail-open){grid-template-columns:minmax(0,1fr)}
html[data-layout="tablet"] .wj-workspace:not(.detail-open){grid-template-columns:minmax(0,1fr)}
html[data-layout="desktop"] .wj-workspace:not(.detail-open) .wj-master,
html[data-layout="tablet"] .wj-workspace:not(.detail-open) .wj-master{width:100%;max-width:none;border-right:0}
.wj-content:has(.wj-workspace){display:flex;flex-direction:column;overflow:hidden}
.wj-content:has(.wj-workspace)>.wj-page-head{flex:0 0 auto}
.wj-content:has(.wj-workspace)>.wj-workspace{flex:1;height:auto;min-height:0}
.wj-btn.wj-secondary-toggle,.wj-btn.wj-secondary-close{display:none}
.wj-mobile-nav-drawer,.wj-mobile-nav-backdrop{display:none}

html[data-layout="mobile"] .wj-sidebar{display:none}
html[data-layout="tablet"] .wj-mobile-dock,html[data-layout="desktop"] .wj-mobile-dock{display:none}
html[data-layout="mobile"] .wj-main{padding-bottom:0}
html[data-layout="mobile"] .wj-content{padding:12px 12px calc(var(--dock) + var(--safe) + 18px);-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}
html[data-layout="mobile"] .wj-content:has(.wj-workspace){overflow:hidden;padding-bottom:12px}
html[data-layout="mobile"] .wj-content:has(.wj-workspace)>.wj-workspace{height:auto;min-height:0}
html[data-layout="mobile"] .wj-workspace .wj-master{height:100%;min-height:0}
html[data-layout="mobile"] .wj-list{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}
html[data-layout="mobile"] .wj-topbar{transform:none!important;padding:0 10px;gap:7px}
html[data-layout="mobile"] .wj-title-wrap{min-width:0}
html[data-layout="mobile"] .wj-top-actions{gap:5px}
html[data-layout="mobile"] .wj-top-actions #theme-btn,
html[data-layout="mobile"] .wj-top-actions #lang-btn{display:inline-flex}
html[data-layout="mobile"] .wj-top-actions #theme-btn{width:36px;min-width:36px;height:36px;min-height:36px;border-radius:11px}
html[data-layout="mobile"] .wj-top-actions #lang-btn{min-height:36px;height:36px;padding:0 9px;font-size:11px}
html[data-layout="mobile"] .wj-notification-btn{width:36px;min-width:36px;height:36px;min-height:36px}
html[data-layout="mobile"] .wj-top-avatar{width:36px;height:36px;min-width:36px}
html[data-layout="mobile"] .wj-page-title{font-size:17px}
html[data-layout="mobile"] .wj-mobile-dock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:12px;right:12px;bottom:calc(10px + var(--safe));height:62px;padding:5px;z-index:80;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:19px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(26px) saturate(155%);box-shadow:0 16px 42px rgba(15,23,42,.16)}
html[data-layout="mobile"] .wj-mobile-dock button{min-width:0;border:0;background:transparent;border-radius:14px;color:var(--muted);display:grid;place-items:center;align-content:center;gap:2px;font-size:9px;font-weight:780;padding:3px}
html[data-layout="mobile"] .wj-mobile-dock button.active{background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent)}
html[data-layout="mobile"] .wj-mobile-dock .wj-icon{width:20px;height:20px}
html[data-layout="mobile"] .wj-mobile-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.28);backdrop-filter:blur(3px);z-index:96;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
html[data-layout="mobile"] .wj-mobile-nav-drawer{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe));max-height:min(78dvh,680px);z-index:97;flex-direction:column;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.26);transform:translateY(calc(100% + 28px));opacity:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease;overflow:hidden}
html[data-layout="mobile"].mobile-nav-open .wj-mobile-nav-backdrop{opacity:1;visibility:visible}
html[data-layout="mobile"].mobile-nav-open .wj-mobile-nav-drawer{transform:translateY(0);opacity:1}
html[data-layout="mobile"] .wj-mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--border)}
html[data-layout="mobile"] .wj-mobile-nav-drawer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}
html[data-layout="mobile"] .wj-mobile-nav-drawer nav>.wj-kicker{grid-column:1/-1;padding:2px 4px 4px}
html[data-layout="mobile"] .wj-mobile-nav-drawer nav button{min-height:50px;border:0;border-radius:14px;background:var(--surface-sunken);display:flex;align-items:center;gap:9px;padding:9px 11px;text-align:left;color:var(--text);font:inherit;font-weight:720}
html[data-layout="mobile"] .wj-mobile-nav-drawer nav button.active{background:var(--blue-soft);color:var(--accent)}

@media(max-width:699px){
 .wj-btn.wj-secondary-toggle{display:inline-flex}
 .wj-btn.wj-secondary-close{display:inline-flex}
 #theme-btn,#lang-btn{display:inline-flex}
 .wj-content:has(.wj-workspace){overflow:hidden}
 .wj-list{-webkit-overflow-scrolling:touch}
}

/* === WJT 2.6 Shell Operations === */
.wj-shell.has-secondary{--secondary:220px;grid-template-columns:var(--sidebar) var(--secondary) minmax(0,1fr)}
.wj-shell.has-secondary.secondary-collapsed{--secondary:0px}
.wj-shell.secondary-collapsed .wj-secondary-sidebar{opacity:0;visibility:hidden;pointer-events:none;border-right:0;overflow:hidden}
.wj-shell.secondary-collapsed .wj-btn.wj-secondary-toggle{display:inline-flex}
.wj-secondary-sidebar{transition:opacity .18s ease,visibility .18s ease}
.wj-secondary-collapse{display:inline-flex!important;transform:rotate(180deg)}
.wj-secondary-head{gap:8px}.wj-secondary-head>div{min-width:0;flex:1}.wj-secondary-head strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wj-shell-center-wrap{display:grid;gap:5px;margin:0 4px 10px;padding:8px;border:1px solid var(--border);border-radius:13px;background:var(--surface-sunken)}
.wj-shell-center-wrap>span,.wj-mobile-center-switch>span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wj-shell-center-wrap .wj-select{min-height:36px;padding:5px 30px 5px 8px;background:var(--surface)}
.wj-overview{display:grid;gap:14px}.wj-overview .wj-metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;overflow:visible}.wj-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.wj-metric-card,.wj-overview-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px;text-align:left;display:flex;align-items:center;gap:11px;min-height:74px;transition:.18s ease;box-shadow:0 1px 0 rgba(15,23,42,.02);min-width:0}.wj-metric-card:hover,.wj-overview-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:var(--shadow-soft)}
.wj-metric-icon{flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:grid;place-items:center}
.wj-metric-copy{display:grid;gap:2px;min-width:0;flex:1}.wj-metric-copy span{font-size:11px;color:var(--muted);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-metric-copy strong{font-size:20px;letter-spacing:-.03em}.wj-metric-copy small{color:var(--muted)}
.wj-sparkline{flex:0 0 auto;width:56px;height:22px;color:var(--accent);opacity:.75}
.wj-vehicle-launcher{position:relative}.wj-vehicle-choice{display:block}.wj-vehicle-choice input{position:absolute;opacity:0;pointer-events:none}.wj-vehicle-choice>span{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--border);border-radius:15px;padding:10px;background:var(--surface);cursor:pointer}.wj-vehicle-choice input:checked+span{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.wj-vehicle-choice img,.wj-vehicle-photo{width:58px;height:48px;object-fit:cover;border-radius:11px;background:var(--surface-sunken)}.wj-vehicle-choice b,.wj-vehicle-placeholder{width:58px;height:48px;border-radius:11px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--accent)}.wj-vehicle-choice i{font-style:normal;display:grid;gap:3px}.wj-vehicle-choice small{color:var(--muted)}.wj-vehicle-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:260px;overflow:auto}.wj-vehicle-mode{width:max-content;max-width:100%;display:flex;flex-wrap:wrap}.wj-vehicle-mode .wj-btn{flex:1 1 auto;white-space:nowrap}.wj-route-planner{display:grid;gap:10px;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface-sunken)}.wj-route-options{display:flex;gap:6px;flex-wrap:wrap}.wj-route-sequence{display:flex;gap:7px;flex-wrap:wrap;min-height:30px}.wj-route-stop{border:1px solid var(--border);background:var(--surface);border-radius:999px;display:flex;align-items:center;gap:6px;padding:5px 8px;color:var(--text)}.wj-route-stop b{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-size:10px}.wj-vehicle-launch-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:15px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-sunken)}.wj-vehicle-launch-card .wj-vehicle-photo{width:86px;height:68px}
.wj-asset-admin-list{display:grid;gap:8px}.wj-asset-admin-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.wj-asset-admin-media{width:64px;height:52px;border-radius:11px;overflow:hidden;background:var(--surface-sunken);display:grid;place-items:center;color:var(--muted)}.wj-asset-admin-media img{width:100%;height:100%;object-fit:cover}.wj-asset-admin-copy{display:grid;gap:3px;min-width:0}.wj-asset-admin-copy strong,.wj-asset-admin-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-asset-admin-copy small{color:var(--muted)}
.wj-mobile-center-switch{display:none}
@media(max-width:699px){
 .wj-shell.has-secondary,.wj-shell.has-secondary.secondary-collapsed{display:block}.wj-secondary-collapse{display:none!important}.wj-shell.secondary-collapsed .wj-secondary-sidebar{opacity:1;visibility:visible;pointer-events:auto}
 .wj-mobile-center-switch{display:grid;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border)}.wj-mobile-center-switch .wj-select{width:100%}
 .wj-overview .wj-metric-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.wj-overview-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
 .wj-vehicle-choices{grid-template-columns:1fr;max-height:220px}.wj-asset-admin-card{grid-template-columns:54px minmax(0,1fr) auto}.wj-asset-admin-card>.wj-actionbar{grid-column:1/-1}.wj-asset-admin-media{width:54px;height:46px}
}


/* === WJT 2.7 Final Shell + i18n === */
.wj-settings-content-full{width:100%;min-width:0}
.wj-shell.has-secondary .wj-content{max-width:none;width:100%}
.wj-workspace:not(.detail-open){grid-template-columns:minmax(0,1fr)!important}
.wj-workspace:not(.detail-open) .wj-master{width:100%;max-width:none;border-right:0}
.wj-workspace.detail-open{grid-template-columns:minmax(320px,.82fr) minmax(480px,1.38fr)!important}
.wj-detail-head .wj-detail-close{margin-left:auto}.wj-detail-head .wj-detail-expand{margin-left:0}
.wj-secondary-nav button{display:flex;align-items:center;gap:9px}
.wj-secondary-nav button>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.wj-content{max-width:none;width:100%}
.wj-content:has(.wj-workspace){overflow:hidden}
.wj-content:has(.wj-workspace)>.wj-workspace{height:auto;flex:1;min-height:0}
.wj-login-v2{background:var(--bg)}
.wj-login-v2 .wj-login-panel{position:relative}
.wj-login-card-head{margin-bottom:24px}
.wj-login-card-head h2{font-size:26px;margin:0 0 8px;letter-spacing:-.01em}
.wj-login-card-head>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}
.wj-lang-toggle{position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline,var(--border));background:var(--surface-raised,var(--surface));color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer;display:grid;place-items:center;transition:border-color .15s ease,color .15s ease,transform .12s ease}
.wj-lang-toggle:hover{border-color:var(--accent);color:var(--accent)}
.wj-lang-toggle:active{transform:scale(.94)}
.wj-login-submit{width:100%;margin-top:18px;min-height:44px;font-size:13px;box-shadow:var(--shadow-soft)}
.wj-google-slot{display:grid;gap:14px;margin-top:22px}
.wj-google-btn-mount{display:flex;justify-content:center;min-height:40px}
.wj-google-btn-mount iframe{margin:0 auto}
.wj-login-divider{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.wj-login-divider:before,.wj-login-divider:after{content:"";flex:1;height:1px;background:var(--hairline,var(--border))}
.wj-account-request-card .wj-field{margin-top:12px}
.wj-account-request-manual{display:grid;gap:12px;margin-top:0}
.wj-google-banner{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--primary-weak);color:var(--accent-2,var(--accent));font-size:12px;font-weight:650;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.wj-login-notice{margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--warn-weak);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--warn);font-size:11.5px;line-height:1.55}
.wj-checkbox-row{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:12px;color:var(--muted);cursor:pointer}
.wj-checkbox-row input{margin-top:2px;width:16px;height:16px;accent-color:var(--accent)}
.wj-checkbox-row a{color:var(--accent);text-decoration:underline}
.wj-login-mobile-brand{display:none}
@media(max-width:1179px){.wj-workspace.detail-open{grid-template-columns:minmax(280px,.72fr) minmax(390px,1.28fr)!important}}
@media(max-width:1024px){.wj-topbar{padding-inline:14px}.wj-global-search{max-width:260px}.wj-workspace.detail-open{grid-template-columns:minmax(260px,.68fr) minmax(360px,1.32fr)!important}}
@media(max-width:768px){.wj-top-actions{gap:5px}.wj-btn.compact{padding-inline:8px}.wj-global-search{display:none}}
@media(max-width:699px){
 :root{--top:64px}
 .wj-main{padding-bottom:0}
 .wj-topbar{padding-top:env(safe-area-inset-top);height:calc(var(--top) + env(safe-area-inset-top));grid-template-columns:minmax(0,1fr) auto;overflow:visible}
 .wj-title-wrap{min-width:0;max-width:calc(100vw - 206px)}
 .wj-page-title{font-size:16px}
 .wj-top-actions{display:flex!important;flex:0 0 auto;gap:4px}
 .wj-top-actions #theme-btn,.wj-top-actions #lang-btn,.wj-notification-btn,.wj-top-avatar{display:inline-flex!important;width:34px;min-width:34px;height:34px;min-height:34px;max-width:34px;padding:0;align-items:center;justify-content:center}
 .wj-top-actions #lang-btn{font-size:10px;border-radius:11px}
 .wj-content{padding:10px 10px calc(82px + env(safe-area-inset-bottom));overscroll-behavior-y:auto;scrollbar-gutter:auto}
 .wj-content:has(.wj-workspace){padding-bottom:10px}
 .wj-workspace,.wj-workspace.detail-open{display:block!important;height:100%;min-height:0}
 .wj-workspace.detail-open .wj-master{display:none}
 .wj-workspace .wj-detail{position:absolute;inset:0;display:flex!important;transform:translateX(102%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
 .wj-workspace.detail-open .wj-detail{transform:translateX(0)}
 .wj-detail-close{display:inline-flex!important}
 .wj-back-mobile{display:inline-flex!important}
 .wj-detail-expand{display:none!important}
 .wj-mobile-dock{bottom:calc(8px + env(safe-area-inset-bottom));height:60px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 18px 55px rgba(15,23,42,.16)}
 .wj-secondary-sidebar{padding-top:env(safe-area-inset-top)}
}
@media(max-width:430px){.wj-title-wrap{max-width:calc(100vw - 190px)}.wj-top-actions #theme-btn,.wj-top-actions #lang-btn,.wj-notification-btn,.wj-top-avatar{width:32px;min-width:32px;height:32px;min-height:32px}.wj-top-actions{gap:3px}}
@media(max-width:390px){.wj-title-wrap{max-width:calc(100vw - 174px)}.wj-page-title{font-size:15px}.wj-topbar{padding-inline:8px}.wj-top-actions #theme-btn,.wj-top-actions #lang-btn,.wj-notification-btn,.wj-top-avatar{width:30px;min-width:30px;height:30px;min-height:30px}.wj-btn.compact{font-size:9px}}
@media(max-width:375px){.wj-title-wrap{max-width:calc(100vw - 166px)}.wj-top-actions{gap:2px}.wj-top-actions #theme-btn,.wj-top-actions #lang-btn,.wj-notification-btn,.wj-top-avatar{width:29px;min-width:29px;height:29px;min-height:29px}}

/* === WJT 2.7.1 Users + account approvals === */
.wj-account-request-inbox{display:grid;gap:10px;margin-bottom:12px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.wj-account-request-list{display:grid;gap:6px}.wj-account-request-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:7px 8px;border-top:1px solid var(--border)}.wj-account-request-row:first-child{border-top:0}.wj-account-request-copy{display:grid;gap:2px;min-width:0}.wj-account-request-copy strong,.wj-account-request-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wj-account-request-copy small{color:var(--muted)}.wj-account-request-actions{display:flex;gap:6px;flex-wrap:wrap}
.wj-user-list-row{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;align-items:center!important;min-height:64px!important;height:auto!important;padding-block:8px!important}.wj-user-list-row .wj-row-check{width:18px;height:18px;margin:0!important}.wj-user-list-row .wj-row-meta{margin-top:3px}
@media(max-width:699px){.wj-account-request-row{grid-template-columns:34px minmax(0,1fr)}.wj-account-request-actions{grid-column:2;justify-content:flex-start}.wj-user-list-row{grid-template-columns:28px minmax(0,1fr)!important;min-height:68px!important}}


/* === WJT 2.8 Consolidated Stabilization === */
.wj-solicitudes-home.wj-home-solicitudes{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.wj-home-solicitudes .wj-solicitudes-launchers{height:auto!important;max-height:none!important;overflow:visible!important}
.wj-date-filter{position:relative;display:inline-flex;align-items:center;min-width:0}
.wj-date-filter input[type="date"]{padding-left:32px;min-width:140px;color:var(--text)}
.wj-date-filter input[type="date"]:invalid,.wj-date-filter input[type="date"]:not(:focus):placeholder-shown{color:var(--muted)}
.wj-date-filter-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);display:flex;z-index:1}
.wj-filter-chip.active{background:var(--accent-soft,var(--surface3));border-color:var(--accent,var(--border));color:var(--text)}
.wj-date-range-filter{position:relative;display:inline-flex;min-width:0}
.wj-date-range-trigger{display:inline-flex;align-items:center;gap:6px;max-width:230px;white-space:nowrap}
.wj-date-range-trigger .wj-date-range-label{overflow:hidden;text-overflow:ellipsis}
.wj-date-range-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:220px;background:var(--surface-raised,var(--surface));border:1px solid var(--hairline,var(--border));border-radius:var(--radius-control);box-shadow:0 8px 24px rgba(16,24,40,.16);padding:4px;display:grid;gap:2px;max-height:340px;overflow:auto}
.wj-date-range-options{display:grid;gap:2px}
.wj-date-range-option{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 10px;border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--text);font-size:12px;font-weight:650;text-align:left;cursor:pointer}
.wj-date-range-option:hover{background:var(--surface3)}
.wj-date-range-option.active{background:var(--accent-soft,var(--surface3));color:var(--text)}
.wj-date-range-inputs{display:grid;gap:8px;padding:8px;margin-top:2px;border-top:1px solid var(--hairline,var(--border))}
.wj-catalog-picker-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px}
.wj-catalog-picker-media{width:44px;height:44px;border-radius:11px;overflow:hidden;background:var(--surface3);display:grid;place-items:center;color:var(--muted)}
.wj-catalog-picker-media img{width:100%;height:100%;object-fit:cover}
.wj-catalog-picker-copy{min-width:0}.wj-catalog-picker-copy strong{display:block;line-height:1.25}.wj-catalog-picker-copy small{color:var(--muted)}
.wj-catalog-picker-stepper{display:flex;align-items:center;gap:6px}
.wj-catalog-picker-stepper .wj-input{width:54px;min-height:34px;text-align:center;padding:0 4px}
.wj-catalog-picker-stepper .wj-btn{width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;font-size:16px;line-height:1}
.wj-catalog-picker-total{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);padding-top:10px}
html[data-layout="mobile"] .wj-catalog-picker-row{grid-template-columns:38px minmax(0,1fr);grid-template-areas:"media copy" "stepper stepper"}
html[data-layout="mobile"] .wj-catalog-picker-row .wj-catalog-picker-media{grid-area:media}
html[data-layout="mobile"] .wj-catalog-picker-row .wj-catalog-picker-copy{grid-area:copy}
html[data-layout="mobile"] .wj-catalog-picker-row .wj-catalog-picker-stepper{grid-area:stepper;justify-content:flex-end;margin-top:8px}
.wj-orders-week-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.wj-orders-week-filter .wj-field{min-width:210px}.wj-week-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0;flex:1}
.wj-managed-order .wj-managed-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
html[data-layout="mobile"] .wj-managed-order .wj-section-title,html[data-layout="mobile"] .wj-managed-order .wj-actionbar,html[data-layout="mobile"] .wj-orders-week-filter{flex-direction:column;align-items:stretch}
html[data-layout="mobile"] .wj-managed-order .wj-section-title .wj-actionbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:8px}
html[data-layout="mobile"] .wj-managed-order .wj-row-meta{flex-wrap:wrap}
html[data-layout="mobile"] section.wj-card .wj-section-title:has(.wj-actionbar){flex-direction:column;align-items:stretch}
html[data-layout="mobile"] section.wj-card .wj-section-title:has(.wj-actionbar) .wj-actionbar{width:100%;margin-top:8px}
html[data-layout="mobile"] section.wj-card .wj-section-title:has(.wj-actionbar)>button.wj-btn{width:100%}
html[data-layout="mobile"] section.wj-card .wj-section-title:has(>button.wj-btn){flex-direction:column;align-items:stretch}
html[data-layout="mobile"] section.wj-card .wj-section-title>button.wj-btn{width:100%;margin-top:8px}
.wj-other-place-toggle{align-self:end}.wj-check{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.wj-field.muted{opacity:.48}
/* Explicitly neutralize legacy scroll-hide animation: iOS Safari viewport resize + transforms caused visual jitter. */
html[data-layout="mobile"].scrolling-down .wj-topbar,html[data-layout="mobile"].scrolling-up .wj-topbar,html[data-layout="mobile"].scrolling-down .wj-scroll-chrome,html[data-layout="mobile"].scrolling-up .wj-scroll-chrome{transform:none!important;opacity:1!important;max-height:none!important;pointer-events:auto!important}
html[data-layout="mobile"] .wj-shell{height:100svh!important;min-height:100svh!important;overflow:hidden!important}
html[data-layout="mobile"] .wj-main{height:100svh!important;min-height:0!important;grid-template-rows:calc(var(--top) + var(--safe-top)) minmax(0,1fr)!important;overflow:hidden!important}
html[data-layout="mobile"] .wj-topbar{height:calc(var(--top) + var(--safe-top))!important;min-height:calc(var(--top) + var(--safe-top))!important;padding-top:var(--safe-top)!important;top:0!important;transform:none!important;transition:none!important;overflow:visible!important}
html[data-layout="mobile"] .wj-content{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch;padding-bottom:calc(86px + var(--safe))!important;scrollbar-gutter:auto!important}
html[data-layout="mobile"] .wj-mobile-dock{position:absolute!important;left:10px!important;right:10px!important;bottom:calc(8px + var(--safe))!important;height:60px!important;transform:none!important;transition:none!important}
html[data-layout="mobile"] .wj-workspace{height:auto!important;min-height:calc(100svh - var(--top) - var(--safe-top) - 110px)!important;overflow:visible!important}
html[data-layout="mobile"] .wj-workspace .wj-master{height:auto!important;min-height:0!important;overflow:visible!important}
html[data-layout="mobile"] .wj-workspace .wj-list{overflow:visible!important;max-height:none!important}
html[data-layout="mobile"] .wj-workspace.detail-open{height:calc(100svh - var(--top) - var(--safe-top) - 12px)!important;overflow:hidden!important}
html[data-layout="mobile"] .wj-workspace.detail-open .wj-detail{position:absolute!important;inset:0!important;height:100%!important;overflow-y:auto!important}
html[data-layout="mobile"] .wj-secondary-toggle{display:inline-flex!important;width:36px!important;min-width:36px!important;height:36px;padding:0!important;gap:0!important;background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 30%,transparent)}
html[data-layout="mobile"] .wj-secondary-toggle-label{display:none}
html[data-layout="mobile"] .wj-top-actions{max-width:58vw;overflow:visible;flex-wrap:nowrap}
html[data-layout="mobile"] .wj-title-wrap{max-width:none!important;min-width:0!important}

/* Team unified 2026-09-01 */
.wj-person-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.wj-person-type-card{appearance:none;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:18px;padding:20px;text-align:left;display:grid;gap:6px;min-height:112px;cursor:pointer;transition:.18s ease}.wj-person-type-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.wj-person-type-card strong{font-size:16px}.wj-person-type-card span{color:var(--muted);font-size:12px}.wj-dropzone{border:1.5px dashed var(--border);border-radius:16px;min-height:96px;display:grid;place-items:center;text-align:center;padding:18px;margin-top:12px;cursor:pointer;background:var(--surface-sunken);transition:.18s ease}.wj-dropzone.dragging,.wj-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface-sunken))}.wj-dropzone strong{font-size:13px}.wj-incident-person-step{padding:4px}.wj-incident-person-step>h2{margin:6px 0 18px;font-size:26px}@media(max-width:699px){.wj-person-type-grid{grid-template-columns:1fr}.wj-person-type-card{min-height:96px}}

/* Vehicle occupancy clarity — 2026-09-01 */
.wj-toast-root{top:84px;right:18px;pointer-events:none}.wj-toast{pointer-events:auto}
.wj-vehicle-status{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1;background:var(--surface-sunken);color:var(--muted);white-space:nowrap}.wj-vehicle-status>i{width:7px;height:7px;border-radius:50%;background:currentColor}.wj-vehicle-status.in-use{background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok)}.wj-vehicle-status.available{background:color-mix(in srgb,#3b82f6 10%,var(--surface));color:#2563eb}.wj-vehicle-status.maintenance{background:color-mix(in srgb,#f59e0b 13%,var(--surface));color:#b45309}.wj-vehicle-status.offline{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}
.wj-vehicle-choice{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit}.wj-vehicle-choice>span{grid-template-columns:58px minmax(0,1fr) auto}.wj-vehicle-choice>span>i{min-width:0}.wj-vehicle-choice>span>i>em{display:flex;align-items:center;gap:8px;margin-top:4px;font-style:normal}.wj-vehicle-choice.is-occupied>span{border-color:color-mix(in srgb,var(--ok) 55%,var(--border));background:color-mix(in srgb,var(--ok) 5%,var(--surface));cursor:pointer}.wj-vehicle-choice.is-occupied:hover>span{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 10%,transparent)}
.wj-vehicle-launch-card.occupied{border-color:color-mix(in srgb,var(--ok) 28%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--ok) 5%,var(--surface)),var(--surface-sunken))}.wj-vehicle-card-copy{min-width:0}.wj-vehicle-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wj-vehicle-card-title h3{margin:3px 0 0}.wj-vehicle-current-user{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--ok) 18%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--ok) 5%,var(--surface));margin-top:12px}.wj-vehicle-current-user>div:last-child{display:grid;gap:3px}.wj-vehicle-current-user span{font-size:9px;letter-spacing:.11em;font-weight:900;color:var(--ok)}.wj-vehicle-current-user small{color:var(--muted)}.wj-vehicle-user-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:900}.wj-vehicle-trip-info{margin-top:12px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.wj-vehicle-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wj-vehicle-trip-grid>div{display:grid;gap:3px;padding:10px;border-radius:12px;background:var(--surface)}.wj-vehicle-trip-grid span{font-size:10px;color:var(--muted)}.wj-vehicle-trip-grid strong{font-size:12px}.wj-vehicle-finish-form{margin-top:14px}.wj-vehicle-photo-drop{position:relative;min-height:76px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;text-align:left;cursor:pointer}.wj-vehicle-photo-drop>span:nth-child(2){display:grid;gap:3px}.wj-vehicle-photo-drop small{color:var(--muted)}.wj-vehicle-photo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.wj-vehicle-photo-drop.dragging,.wj-vehicle-photo-drop.has-file{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.wj-vehicle-row-wrap{display:grid;gap:2px;border-bottom:1px solid var(--hairline)}.wj-vehicle-row-wrap .wj-vehicle-list-row{border-bottom:0}.wj-vehicle-row-extra{padding:0 4px 10px 74px}
.wj-vehicle-active{cursor:pointer;border-color:color-mix(in srgb,var(--ok) 24%,var(--hairline));background:color-mix(in srgb,var(--ok) 3%,var(--surface))}.wj-vehicle-active-icon{overflow:hidden}.wj-vehicle-active-icon img{width:100%;height:100%;object-fit:cover}.wj-vehicle-active-actions{display:flex;align-items:center;gap:8px}.wj-vehicle-status-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wj-vehicle-list{display:grid}.wj-vehicle-list-row{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) minmax(180px,.65fr) 20px;gap:12px;align-items:center;padding:13px 4px;border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--text);text-align:left}.wj-vehicle-list-row:last-child{border-bottom:0}.wj-vehicle-list-row.is-occupied{cursor:pointer}.wj-vehicle-list-row.is-occupied:hover{background:color-mix(in srgb,var(--ok) 4%,var(--surface));border-radius:14px}.wj-vehicle-list-media{width:58px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--surface-sunken);overflow:hidden;color:var(--accent)}.wj-vehicle-list-media img{width:100%;height:100%;object-fit:cover}.wj-vehicle-list-copy,.wj-vehicle-list-state{display:grid;gap:4px;min-width:0}.wj-vehicle-list-copy small,.wj-vehicle-list-state small{color:var(--muted);font-size:10px}.wj-vehicle-list-state{justify-items:start}.wj-vehicle-list-row.oneclick-available{cursor:pointer}.wj-vehicle-list-row.oneclick-available:hover{background:color-mix(in srgb,var(--ok) 5%,var(--surface));border-radius:14px}.wj-vehicle-list-row.mine-oneclick{cursor:pointer;background:color-mix(in srgb,var(--ok) 6%,var(--surface));border-radius:14px}.wj-vehicle-list-row.mine-oneclick:hover{background:color-mix(in srgb,var(--ok) 11%,var(--surface))}
@media(max-width:699px){.wj-toast-root{top:72px;left:12px;right:12px}.wj-toast{max-width:none}.wj-vehicle-trip-grid{grid-template-columns:1fr}.wj-vehicle-card-title{align-items:flex-start}.wj-vehicle-active-actions{grid-column:1/-1;justify-content:space-between}.wj-vehicle-status-legend{display:none}.wj-vehicle-list-row{grid-template-columns:52px minmax(0,1fr) auto;padding:12px 0}.wj-vehicle-list-media{width:48px;height:44px}.wj-vehicle-list-state{grid-column:2/4;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wj-vehicle-list-row>svg{display:none}}
.wj-center-gate{max-width:420px;margin:8vh auto;padding:32px 26px;text-align:center;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);box-shadow:var(--shadow)}.wj-center-gate-icon{width:56px;height:56px;margin:0 auto 16px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.wj-center-gate h2{margin:0 0 8px;font-size:19px;letter-spacing:-.02em}.wj-center-gate p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.55}.wj-center-gate-list{display:grid;gap:8px;text-align:left}.wj-center-gate-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);font-weight:700;font-size:13px;transition:border-color .15s ease,background .15s ease}.wj-center-gate-option>svg:first-child{color:var(--accent);flex:none}.wj-center-gate-option>span{flex:1;text-align:left}.wj-center-gate-option>svg:last-child{color:var(--muted);flex:none}.wj-center-gate-option:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
/* Photo confirm/retake — 2026-09-04 */
.wj-photo-confirm{border:1px solid var(--border-strong);border-radius:14px;background:var(--surface-sunken);padding:10px;display:grid;gap:10px}
.wj-photo-confirm img{width:100%;max-height:280px;object-fit:contain;border-radius:10px;background:var(--surface)}
.wj-photo-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wj-photo-confirm.is-confirmed{border-color:color-mix(in srgb,var(--ok) 45%,var(--border-strong))}
/* Vehicle "in use" topbar indicator */
.wj-vehicle-launcher{position:relative}
.wj-vehicle-launcher.in-use{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}
.wj-vehicle-badge{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--surface)}
/* Pedidos quick access — 2026-09-04 */
.wj-quick-access{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.wj-quick-access-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);text-align:left;box-shadow:0 1px 0 rgba(15,23,42,.02);transition:.18s ease}
.wj-quick-access-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:var(--shadow-soft)}
.wj-quick-access-icon{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.wj-quick-access-card.urgent .wj-quick-access-icon{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.wj-quick-access-copy{display:grid;gap:2px;min-width:0}
.wj-quick-access-copy strong{font-size:14px}
.wj-quick-access-copy small{color:var(--muted);font-size:11.5px}
@media(max-width:699px){
 .wj-overview{gap:12px}
 .wj-overview .wj-metric-strip{grid-template-columns:1fr 1fr;gap:8px}
 .wj-metric-card,.wj-overview-card{padding:11px;gap:8px;min-height:0}
 .wj-overview-grid{grid-template-columns:1fr;gap:8px}
 .wj-quick-access{grid-template-columns:1fr}
 .wj-quick-access-card{padding:14px}
}

/* === 2.7 Shell & primitives — unified visual pass === */
:root{
  --blue:var(--accent);--blue-soft:color-mix(in srgb,var(--accent) 10%,var(--surface-raised,var(--surface)));
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;
  --radius-control:12px;--radius-panel:16px;--radius-workspace:22px;
}
html[data-theme="dark"]{--blue-soft:color-mix(in srgb,var(--accent) 16%,var(--surface-raised,var(--surface)))}

.wj-app-rail,.wj-sidebar{width:var(--rail,var(--sidebar));background:var(--surface-raised,var(--surface));border-right:1px solid var(--hairline,var(--border));padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:2px}
.wj-side-head{height:52px;flex:0 0 auto;display:flex;align-items:center;padding:0 var(--sp-1) var(--sp-2)}
.wj-brand-lockup{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:var(--sp-3);padding:6px;border-radius:var(--radius-control);color:var(--text);text-align:left;transition:background .15s ease}
.wj-brand-lockup:hover{background:var(--surface-sunken)}
.wj-brand-mark{width:32px;height:32px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:linear-gradient(155deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#111));color:#fff;font-size:12px;font-weight:900;letter-spacing:-.02em}
.wj-brand-copy{display:grid;line-height:1.1;min-width:0}
.wj-brand-copy b{font-size:14px;letter-spacing:-.01em}
.wj-brand-copy small{font-size:10.5px;color:var(--muted);font-weight:700;margin-top:2px}

.wj-nav{gap:2px;padding-top:var(--sp-2)}
.wj-nav-section{padding:var(--sp-4) var(--sp-2) 6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.wj-venue-switcher{position:relative;margin:0 0 var(--sp-3)}
.wj-venue-trigger{width:100%;display:flex;align-items:center;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-2);border:1px solid var(--hairline,var(--border));background:var(--surface-sunken);border-radius:var(--radius-control);color:var(--text);font-size:12.5px;font-weight:700}
.wj-venue-trigger:hover{border-color:var(--accent)}
.wj-venue-trigger.hq{color:var(--accent);border-color:var(--accent)}
.wj-venue-trigger-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.wj-venue-trigger>svg:last-child{flex:0 0 auto;opacity:.6}
.wj-venue-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:var(--surface-raised,var(--surface));border:1px solid var(--hairline,var(--border));border-radius:var(--radius-control);box-shadow:0 8px 24px rgba(16,24,40,.16);padding:4px;display:grid;gap:2px;max-height:320px;overflow:auto}
.wj-venue-option{display:flex;align-items:center;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-2);border:0;background:transparent;border-radius:8px;color:var(--text);font-size:12.5px;font-weight:600;text-align:left}
.wj-venue-option span:first-of-type{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-venue-option:hover{background:var(--surface-sunken)}
.wj-venue-option.active{background:var(--blue-soft);color:var(--accent)}
.wj-venue-divider{height:1px;background:var(--hairline,var(--border));margin:4px 2px}
.wj-venue-hq-badge{flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.04em;color:var(--accent);background:var(--blue-soft);padding:2px 5px;border-radius:5px}
html[data-layout="mobile"] .wj-venue-switcher{display:none}
.wj-hq-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;border-radius:6px;background:var(--blue-soft);color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
.wj-nav-btn{min-height:40px;padding:0 var(--sp-3);border-radius:var(--radius-control);gap:var(--sp-3);font-size:13px;font-weight:650;color:var(--muted);transition:background .14s ease,color .14s ease}
.wj-nav-btn:hover{background:var(--surface-sunken);color:var(--text)}
.wj-nav-btn.active{background:var(--blue-soft);color:var(--accent);font-weight:750;box-shadow:none}
.wj-nav-icon,.wj-nav-btn>svg{width:19px;height:19px;flex:0 0 auto}

.wj-side-foot{margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--hairline,var(--border));display:grid;gap:4px}
.wj-user-chip{border:1px solid transparent;background:var(--surface-sunken);border-radius:var(--radius-control);padding:8px;gap:var(--sp-2)}
.wj-user-chip:hover{border-color:var(--hairline,var(--border))}

.wj-topbar{padding:0 var(--sp-5);gap:var(--sp-3);border-bottom:1px solid var(--hairline,var(--border));background:color-mix(in srgb,var(--surface-raised,var(--surface)) 88%,transparent)}
.wj-page-title{font-size:16px;font-weight:750;letter-spacing:-.01em}
.wj-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.wj-global-search{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid transparent;transition:border-color .15s ease,background .15s ease}
.wj-global-search:focus-within{border-color:var(--accent);background:var(--surface-raised,var(--surface))}
.wj-top-actions .wj-btn.icon,.wj-btn.icon{width:38px;height:38px;border-radius:11px}
.wj-top-avatar{width:34px;height:34px}

.wj-card,.wj-data-surface,.wj-stat{border-radius:var(--radius-panel);border-color:var(--hairline,var(--border))}
.wj-card,.wj-data-surface{padding:var(--sp-5)}
.wj-stat{padding:var(--sp-4) var(--sp-4);box-shadow:none}
.wj-stat span{font-size:11px;font-weight:750;letter-spacing:.01em}
.wj-stat strong{font-size:25px;letter-spacing:-.03em;margin-top:5px;font-variant-numeric:tabular-nums}
.wj-section-heading h3{font-weight:750}
.wj-dashboard-stat .wj-stat-icon{color:var(--accent);background:var(--blue-soft)}

.wj-nav-btn:focus-visible,.wj-brand-lockup:focus-visible,.wj-user-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

html[data-layout="mobile"] .wj-mobile-dock button.active,
.wj-mobile-dock button.active{background:var(--blue-soft);color:var(--accent)}

.wj-center-gate{border-radius:var(--radius-workspace);box-shadow:var(--shadow-soft,var(--shadow))}
.wj-center-gate-icon{background:var(--blue-soft);color:var(--accent)}
.wj-center-gate-option:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline,var(--border)))}
.wj-compact-field.wj-center-filter{min-width:150px}

@media(max-width:1179px){
  .wj-app-rail,.wj-sidebar{padding-inline:var(--sp-2)}
}

/* === Detail drawer (overlay panel, list stays full width) === */
.wj-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.34);backdrop-filter:blur(2px);z-index:85;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.wj-drawer-backdrop.open{opacity:1;visibility:visible}
.wj-detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--surface-raised,var(--surface));box-shadow:-24px 0 60px rgba(15,23,42,.18);z-index:86;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.wj-drawer-backdrop.open .wj-detail-drawer{transform:translateX(0)}
.wj-drawer-head{flex:0 0 auto;padding:18px 20px;border-bottom:1px solid var(--hairline,var(--border));display:flex;align-items:flex-start;gap:12px}.wj-drawer-back{flex:0 0 auto}
.wj-drawer-head>div{flex:1;min-width:0}
.wj-drawer-head h2{margin:0;font-size:19px;letter-spacing:-.02em;line-height:1.25}
.wj-drawer-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.wj-drawer-body{flex:1;min-height:0;overflow:auto;padding:20px}
.wj-drawer-foot{flex:0 0 auto;border-top:1px solid var(--hairline,var(--border));padding:14px 20px;display:flex;justify-content:flex-end;gap:8px;background:var(--surface-raised,var(--surface))}
.wj-list-full{gap:8px}
.wj-list-full .wj-row{width:100%;border:1px solid var(--hairline,var(--border));border-radius:var(--radius-control,12px);background:var(--surface-raised,var(--surface));margin-bottom:0}
.wj-list-full .wj-row:hover{background:var(--surface-sunken,var(--surface2));border-color:var(--border-strong)}
@media(max-width:699px){.wj-detail-drawer{width:100%}.wj-drawer-head{padding:16px}.wj-drawer-body{padding:16px}}

/* Drawer resize handle */
.wj-drawer-resize{position:absolute;left:-4px;top:0;bottom:0;width:9px;cursor:col-resize;z-index:2;touch-action:none}
.wj-drawer-resize::after{content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:transparent;transition:background .15s ease}
.wj-drawer-resize:hover::after,.wj-drawer-resize:active::after{background:var(--accent)}
@media(max-width:699px){.wj-drawer-resize{display:none}}

/* === WJT 2.7 Premium polish pass (shared components only) === */
/* 0. Buttons: crisper hairlines, single-tier elevation, springy press/hover feedback */
.wj-btn{box-shadow:0 1px 2px rgba(16,24,40,.04);transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
.wj-btn:hover{box-shadow:0 2px 8px rgba(16,24,40,.07);transform:translateY(-1px)}
.wj-btn:active{transform:translateY(0) scale(.97);box-shadow:0 1px 2px rgba(16,24,40,.05)}
.wj-btn.primary,.wj-btn.accent,.wj-btn.cta{box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 16px color-mix(in srgb,var(--accent) 20%,transparent)}
.wj-btn.primary:hover,.wj-btn.accent:hover{box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 28%,transparent);transform:translateY(-1px)}
.wj-btn.cta:hover{box-shadow:0 3px 10px color-mix(in srgb,var(--cta) 28%,transparent);transform:translateY(-1px)}
.wj-btn.ghost{box-shadow:none}.wj-btn.ghost:hover{box-shadow:none;transform:none;background:var(--surface-sunken,var(--surface2))}

/* Cards / list rows: consistent radius scale + single-tier soft elevation + hover lift */
.wj-card,.wj-stat,.wj-settings-card,.wj-data-surface{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.wj-row{transition:background .15s ease,box-shadow .15s ease}
.wj-product,.wj-supplier,.wj-candidate,.wj-solicitud-launch{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,border-color .18s ease}
.wj-product:hover,.wj-supplier:hover,.wj-candidate:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}

/* Inputs / selects: calmer focus ring, smoother transition */
.wj-input,.wj-select,.wj-textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.wj-input:hover,.wj-select:hover,.wj-textarea:hover{border-color:var(--border-strong)}

/* Drawer / modal / overlay surfaces: consistent elevation + smoother entrance */
.wj-modal,.wj-detail-drawer{box-shadow:var(--shadow-float)}
.wj-modal-backdrop{transition:opacity .18s ease}

/* Nav buttons + icon buttons: consistent sizing/stroke, gentle hover motion */
.wj-nav-btn,.wj-secondary-nav button,.wj-module-subnav button,.wj-settings-nav{transition:background .16s ease,color .16s ease,transform .16s ease}
.wj-btn.icon,.wj-icon-button{transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s ease,border-color .16s ease}
.wj-btn.icon:hover,.wj-icon-button:hover{transform:translateY(-1px)}
.wj-btn.icon:active,.wj-icon-button:active{transform:scale(.94)}
.wj-btn.icon.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface-raised,var(--surface)));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}
.wj-list-sortbar{display:flex;justify-content:flex-end;padding:8px 10px;border-bottom:1px solid var(--border)}
.wj-sort-toggle .wj-icon{transition:transform .16s ease}
.wj-sort-toggle.asc .wj-icon{transform:rotate(180deg)}
.wj-master-head .wj-list-sortbar{padding:0;border:0;justify-content:flex-end}

/* Comfortable touch targets, high/low contrast text pairing already via --text/--muted */
.wj-toolbar>.wj-btn,.wj-btn.compact{min-height:38px}

/* 1. Unified filter/toolbar row — Incidencias is the reference: search -> filters -> date -> overflow trigger -> primary action */
.wj-toolbar{align-items:center}
.wj-toolbar .wj-search input,.wj-toolbar>.wj-select,.wj-toolbar>select,.wj-toolbar>input[type="date"],.wj-toolbar>input[type="week"]{min-height:38px}
.wj-toolbar>.wj-btn.primary{margin-left:auto}

/* 3. Bottom-left sidebar utility cluster: theme + language segmented control */
.wj-side-utility{display:flex;align-items:center;gap:2px;padding:3px;margin:0 0 8px;border:1px solid var(--hairline,var(--border));border-radius:12px;background:var(--surface-sunken,var(--surface2))}
.wj-side-utility-btn{flex:1;border:0;background:transparent;min-height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .16s ease,color .16s ease,transform .16s ease}
.wj-side-utility-btn:hover{color:var(--text);transform:translateY(-1px)}
.wj-side-utility-btn:active{transform:scale(.95)}
.wj-side-utility-btn.active{background:var(--surface-raised,var(--surface));color:var(--accent);box-shadow:0 1px 3px rgba(16,24,40,.08)}
.wj-side-utility-lang{font-size:11px;font-weight:800;letter-spacing:.02em}
@media(max-width:1179px){.wj-sidebar .wj-side-utility{flex-direction:column;padding:4px;gap:3px}.wj-sidebar .wj-side-utility-btn{width:100%}}
html[data-layout="mobile"] .wj-sidebar .wj-side-utility{display:none}
.wj-mobile-nav-utility{margin:14px 4px 4px}

/* 5. Shared status-filter segmented control (Todas / Nueva / En proceso / ...) */
.wj-status-tabs{display:flex;gap:2px;padding:3px;border:1px solid var(--hairline,var(--border));background:var(--surface-sunken,var(--surface2));border-radius:12px;width:max-content;max-width:100%;overflow:auto}
.wj-status-tab{border:0;background:transparent;min-height:34px;padding:0 13px;border-radius:9px;font-weight:700;font-size:12px;color:var(--muted);white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.wj-status-tab:hover{color:var(--text)}
.wj-status-tab.active{background:var(--surface-raised,var(--surface));color:var(--accent);box-shadow:0 1px 3px rgba(16,24,40,.08)}
@media(max-width:699px){.wj-status-tabs{width:100%}.wj-status-tab{flex:1;text-align:center}}

/* 4. CV split-list: guarantee the scrolling ancestor can actually shrink to receive wheel/trackpad input */
.wj-cv-split-list{overscroll-behavior:contain}

/* iOS zooms focused text controls below 16px; preserve page pinch zoom while preventing focus zoom. */
@media(max-width:699px){input:not([type="checkbox"]):not([type="radio"]),select,textarea,[contenteditable="true"]{font-size:16px!important}}


/* Productos: editor de horario de pases (timed_slot) */
.wj-product-slot{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) 44px;gap:10px;align-items:end;border:1px solid var(--border);border-radius:14px;padding:12px}
.wj-product-slot label{display:flex;flex-direction:column;gap:4px;min-width:0}
.wj-product-slot label span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
@media(max-width:699px){.wj-product-slot{grid-template-columns:1fr 1fr}.wj-product-slot .wj-btn.icon{grid-column:1/-1;justify-self:end}}

/* Configuración → Reservas: lista ordenada de productos publicados (subir/bajar) */
.wj-reservation-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center}
.wj-reservation-row>div:nth-child(2){min-width:0}
.wj-reservation-row strong,.wj-reservation-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-reservation-row small{color:var(--muted);font-size:11px}
.wj-reservation-order{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--surface2);color:var(--muted);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.wj-reservation-warn{color:var(--warn)!important;font-weight:700}
.wj-reservation-actions{display:flex;gap:6px;flex:0 0 auto}
.wj-reservation-actions [data-move-up] svg{transform:rotate(-90deg)}
.wj-reservation-actions [data-move-down] svg{transform:rotate(90deg)}
.wj-copy-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wj-copy-row .wj-input{flex:1 1 240px;min-width:0}
@media(max-width:520px){.wj-reservation-row{grid-template-columns:28px minmax(0,1fr)}.wj-reservation-actions{grid-column:1/-1;justify-content:flex-end}}

/* ------------------------------------------------------------------
   Página pública de reservas (/reservar/<venueId>) — sin sidebar ni dock.
   Usa los mismos tokens de diseño que el resto de la plataforma; layout propio
   de una sola columna que escala de móvil a escritorio sin breakpoints raros.
------------------------------------------------------------------ */
.wj-public-body{background:var(--bg)}
.wj-public{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}
.wj-public-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px clamp(16px,4vw,32px);border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:5}
.wj-public-brand{font-weight:900;letter-spacing:.04em;font-size:15px}
.wj-public-venue{font-size:12px;font-weight:700;color:var(--muted);padding:4px 10px;border-radius:999px;background:var(--surface2)}
.wj-public-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:clamp(18px,4vw,32px) clamp(14px,4vw,24px) 48px;display:grid;gap:18px;align-content:start}
.wj-public-foot{padding:18px clamp(16px,4vw,32px) calc(18px + var(--safe));border-top:1px solid var(--border);color:var(--muted);font-size:11.5px;text-align:center}
.wj-public-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.wj-public-steps li{display:flex;align-items:center;gap:7px;flex:1 1 120px;min-width:0;font-size:11.5px;font-weight:700;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wj-public-steps li span{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface2);color:var(--muted);font-size:11px}
.wj-public-steps li.current{color:var(--text)}
.wj-public-steps li.current span{background:var(--accent);color:var(--on-accent,#fff)}
.wj-public-steps li.done{color:var(--muted)}
.wj-public-steps li.done span{background:var(--primary-weak);color:var(--accent)}
.wj-public-back{align-self:start;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;gap:4px;padding:6px 2px;border-radius:8px}
.wj-public-back:hover{color:var(--text)}
.wj-public-back svg{transform:rotate(180deg)}
.wj-public-error{border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));background:var(--danger-weak);color:var(--danger);border-radius:12px;padding:11px 14px;font-weight:700;font-size:12.5px}
.wj-public-intro h1,.wj-public-card h1{margin:0 0 6px;font-size:clamp(22px,4.4vw,29px);letter-spacing:-.03em;line-height:1.15}
.wj-public-lead{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.wj-public-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:clamp(18px,4vw,26px);display:grid;gap:16px;align-content:start;box-shadow:var(--shadow)}
.wj-public-card>h1+.wj-public-lead{margin-top:-10px}
.wj-public-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}
.wj-public-product{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transition:border-color .16s ease,transform .12s ease}
.wj-public-product:hover{border-color:var(--accent)}
.wj-public-product:active{transform:scale(.995)}
.wj-public-product:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wj-public-product>svg{flex:0 0 auto;color:var(--muted)}
.wj-public-product-img{flex:0 0 auto;width:64px;height:64px;border-radius:14px;overflow:hidden;background:var(--surface2)}
.wj-public-product-img img{width:100%;height:100%;object-fit:cover;display:block}
.wj-public-product-body{flex:1;min-width:0;display:grid;gap:5px}
.wj-public-product-body strong{font-size:15px;letter-spacing:-.01em}
.wj-public-product-desc{color:var(--muted);font-size:12.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wj-public-product-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-public-price{font-weight:800;font-variant-numeric:tabular-nums}
.wj-public-type{font-size:11px;font-weight:700;color:var(--muted);background:var(--surface2);padding:2px 8px;border-radius:999px}
.wj-public-field{display:grid;gap:7px;border:0;padding:0;margin:0;min-width:0}
.wj-public-field>span,.wj-public-field>legend{font-size:12px;font-weight:750;color:var(--muted);padding:0}
.wj-public-hint{margin:0;color:var(--muted);font-size:12.5px}
.wj-public-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.wj-public-slot{display:grid;gap:2px;place-items:center;padding:10px 6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);min-height:56px}
.wj-public-slot strong{font-size:14px;font-variant-numeric:tabular-nums}
.wj-public-slot small{font-size:10.5px;color:var(--muted)}
.wj-public-slot:hover:not(:disabled){border-color:var(--accent)}
.wj-public-slot.active{border-color:var(--accent);background:var(--primary-weak);color:var(--accent)}
.wj-public-slot.active small{color:inherit}
.wj-public-slot:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.wj-public-total{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}
.wj-public-total strong{font-size:22px;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.wj-public-cta{width:100%;min-height:50px;font-size:14px;border-radius:14px}
.wj-public-note{margin:0;font-size:12px;line-height:1.55;color:var(--muted);background:var(--surface2);border-radius:12px;padding:12px 14px}
#public-form{display:grid;gap:16px}
.wj-public-done .wj-public-check{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--success-weak);color:var(--ok)}
.wj-public-reference{display:grid;gap:4px;justify-items:center;text-align:center;padding:18px;border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface2)}
.wj-public-reference span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wj-public-reference strong{font-size:clamp(22px,5vw,28px);letter-spacing:.06em}
.wj-public-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin:0;font-size:13px}
.wj-public-summary dt{color:var(--muted);font-weight:700;font-size:12px}
.wj-public-summary dd{margin:0;min-width:0;overflow-wrap:anywhere;text-align:right}
@media(max-width:520px){.wj-public-steps li{flex:0 0 auto;font-size:0;gap:0}.wj-public-steps li span{font-size:11px}.wj-public-steps{justify-content:center;gap:8px}.wj-public-summary{grid-template-columns:1fr}.wj-public-summary dd{text-align:left}}
.wj-handbook-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;min-width:0}.wj-handbook-layout>*{min-width:0}
.wj-handbook-sidebar{display:grid;gap:10px;align-content:start}
.wj-handbook-cats{display:grid;gap:6px}
.wj-handbook-cat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;position:relative}
.wj-handbook-cat span{flex:1;min-width:0;font-weight:700;font-size:13px}
.wj-handbook-cat small{color:var(--muted);font-size:11px}
.wj-handbook-cat.active{border-color:var(--accent);background:var(--accent-weak,color-mix(in srgb,var(--accent) 12%,var(--surface)))}
.wj-handbook-cat-actions{display:none;gap:4px}
.wj-handbook-cat:hover .wj-handbook-cat-actions{display:flex}
.wj-handbook-cat-actions button{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:10px}
.wj-handbook-main{min-width:0}
.wj-handbook-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.wj-handbook-article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.wj-handbook-article-card{display:grid;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left}
.wj-handbook-article-card img{width:100%;height:100px;object-fit:cover;border-radius:10px}
.wj-handbook-article-icon{width:100%;height:100px;display:grid;place-items:center;background:var(--surface2);border-radius:10px;color:var(--muted)}
.wj-handbook-article-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.wj-handbook-article-admin{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-handbook-cover{width:100%;max-height:320px;object-fit:cover;border-radius:16px;margin-bottom:14px}
.wj-handbook-content{line-height:1.7;font-size:14px}
.wj-handbook-content h2,.wj-handbook-content h3,.wj-handbook-content h4{margin:18px 0 8px}
.wj-handbook-content p{margin:0 0 12px}
.wj-handbook-content img{max-width:100%;border-radius:10px;margin:8px 0}
.wj-handbook-attachments{display:grid;gap:8px;margin:10px 0}
.wj-handbook-attachment-manage{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:820px){.wj-handbook-layout{grid-template-columns:1fr}.wj-handbook-sidebar{order:1}.wj-handbook-cats{grid-auto-flow:column;overflow-x:auto;padding-bottom:4px}.wj-handbook-cat{flex:0 0 auto}}
@media(min-width:900px){.wj-public-main{max-width:880px}}
.wj-product-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.wj-product-type-card{display:grid;gap:8px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;justify-items:start}
.wj-product-type-card:hover{border-color:var(--accent)}
.wj-product-type-card small{color:var(--muted);font-size:12px;line-height:1.4}
.wj-product-type-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--surface2);font-weight:700;font-size:13px;width:fit-content}
.wj-product-type-chip button{margin-left:8px}
.wj-image-dropzone{position:relative;display:grid;place-items:center;min-height:140px;border:2px dashed var(--border-strong);border-radius:14px;cursor:pointer;color:var(--muted);font-size:13px;text-align:center;padding:12px;overflow:hidden}
.wj-image-dropzone.dragging{border-color:var(--accent);background:var(--accent-weak,color-mix(in srgb,var(--accent) 10%,var(--surface)))}
.wj-image-dropzone-preview{max-width:100%;max-height:180px;border-radius:10px;object-fit:cover}
.wj-field-checklist{border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.wj-field-checklist legend{font-size:12px;font-weight:700;color:var(--muted);padding:0 4px}
.wj-checklist-options{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:180px;overflow-y:auto}
.wj-onboarding-checklist{margin-bottom:16px}
.wj-onboarding-progress-bar{height:8px;border-radius:999px;background:var(--surface2);overflow:hidden;margin:10px 0 14px}
.wj-onboarding-progress-fill{height:100%;background:var(--ok,#16a34a);border-radius:999px;transition:width .3s ease}
.wj-onboarding-steps{display:flex;flex-wrap:wrap;gap:10px}
.wj-onboarding-step{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:13px;font-weight:600}
.wj-onboarding-step.done{border-color:var(--ok,#16a34a);background:color-mix(in srgb,var(--ok,#16a34a) 12%,var(--surface));color:var(--ok,#16a34a)}
.wj-onboarding-step input{accent-color:var(--ok,#16a34a)}
@media(max-width:600px){.wj-onboarding-steps{flex-direction:column}.wj-onboarding-step{width:100%}}
/* Spinner (loading-2.svg del paquete de animaciones del usuario), reutilizado
   como indicador global de navegación en la topbar. */
.wj-spinner{overflow:visible}
.wj-spinner-c{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:wjSpinFade 1.4s ease-out both infinite}
@keyframes wjSpinFade{from{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}
.wj-nav-loading{display:flex;align-items:center;color:var(--muted);flex:0 0 auto}
.wj-nav-loading[hidden]{display:none}
/* Animación de colapso del sidebar: @property registra --sidebar como <length>
   animable, así el cambio de ancho en los breakpoints se ve como una
   contracción suave en vez de un salto instantáneo. Se degrada con
   gracia (salto instantáneo, igual que antes) en navegadores sin soporte. */
@property --sidebar{syntax:'<length>';inherits:true;initial-value:260px}
.wj-shell{transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1)}
.wj-sidebar{transition:padding .28s cubic-bezier(.4,0,.2,1)}
.wj-nav-btn{transition:background .16s,color .16s,padding .28s cubic-bezier(.4,0,.2,1),transform .16s}
.wj-nav-label,.wj-nav-section,.wj-nav-group-label,.wj-user-meta{transition:opacity .18s ease}
/* Reservas: página completa de "Crear reserva" (dos columnas, panel de
   resumen a la derecha, inspirado en el flujo de Roller). */
.wj-booking-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.wj-booking-create-main{min-width:0}
.wj-booking-create-side{position:sticky;top:20px;padding:18px}
@media(max-width:900px){.wj-booking-create-layout{grid-template-columns:1fr}.wj-booking-create-side{position:static}}
/* Reservas: calendario mensual */
.wj-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0 6px;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center}
.wj-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.wj-cal-cell{min-height:96px;border-radius:12px;border:1px solid var(--border);background:var(--surface);padding:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.wj-cal-cell:hover{border-color:var(--accent);transform:translateY(-1px)}
.wj-cal-cell.empty{visibility:hidden;cursor:default}
.wj-cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.wj-cal-daynum{font-weight:800;font-size:12px;color:var(--muted)}
.wj-cal-chip{font-size:11px;padding:2px 6px;border-radius:6px;background:var(--surface2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-cal-more{font-size:11px;color:var(--muted);font-weight:700}
.wj-cal-month-label{font-size:14px}
@media(max-width:700px){.wj-cal-cell{min-height:64px}.wj-cal-chip{display:none}}
/* Price rules: franjas horarias */
.wj-price-window-row{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.wj-price-window-days{display:flex;flex-wrap:wrap;gap:6px}
.wj-check.sm{min-height:32px;padding:5px 8px;font-size:12px}
/* Schedules: fechas excluidas y toggles de días activos */
.wj-exclusion-date-row{display:flex;gap:8px;align-items:center}
.wj-exclusion-date-row input{flex:1}
.wj-check.sm.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
/* POS: caja de venta */
.wj-pos-till-card{max-width:420px;margin:40px auto;padding:32px;text-align:center;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.wj-pos-till-icon{color:var(--accent);display:flex;justify-content:center;margin-bottom:8px}
.wj-pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;margin-top:14px}
.wj-pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.wj-pos-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;text-align:center;transition:transform .14s,border-color .14s}
.wj-pos-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.wj-pos-card:active{transform:scale(.96)}
.wj-pos-card-img{width:44px;height:44px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--muted)}
.wj-pos-card-img img{width:100%;height:100%;object-fit:cover}
.wj-pos-card small{color:var(--muted);font-size:11px}
.wj-pos-cart{position:sticky;top:20px;padding:18px;display:flex;flex-direction:column;gap:12px}
.wj-pos-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
.wj-pos-line-actions{display:flex;align-items:center;gap:6px}
.wj-pos-pay-toggle{display:flex;gap:8px}
.wj-pos-pay-toggle .wj-check{flex:1;justify-content:center;cursor:pointer}
.wj-pos-pay-toggle .wj-check.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
.wj-pos-totals{display:flex;flex-direction:column;gap:4px;font-size:14px}
.wj-pos-totals div{display:flex;justify-content:space-between}
.wj-pos-totals div:last-child strong{font-size:20px}
.wj-btn.icon.sm{width:28px;height:28px;border-radius:8px}
.wj-btn.lg{padding:14px;font-size:15px;font-weight:700}
@media(max-width:900px){.wj-pos-layout{grid-template-columns:1fr}.wj-pos-cart{position:static}}
/* Página pública: acento y fondo por centro (Apariencia del checkout) */
.wj-public[style*="--wj-public-accent"]{--accent:var(--wj-public-accent)}
.wj-public[style*="--wj-public-bg"] .wj-public-head{background-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25)),var(--wj-public-bg);background-size:cover;background-position:center;border-bottom:none;color:#fff}
.wj-public[style*="--wj-public-bg"] .wj-public-head .wj-public-venue{color:#fff}
.wj-public-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.wj-public-check input{margin-top:3px}
/* Calendario de reservas: filtro de productos multi-selección */
.wj-cal-product-filter{position:relative}
.wj-cal-product-filter summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.wj-cal-product-filter summary::-webkit-details-marker{display:none}
.wj-cal-product-filter-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:220px;max-height:320px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.16);display:flex;flex-direction:column;gap:4px}

/* ---- Miniatura de producto en listados (la imagen se ve sin abrir la ficha) ---- */
.wj-row.has-thumb{display:flex;align-items:center;gap:14px}
.wj-row.has-thumb>div:nth-child(2){flex:1;min-width:0}
.wj-row-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.wj-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wj-cat-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--border);flex:0 0 auto}

/* ---- Lanzador del TPV dentro del admin ---- */
.wj-tpv-launch{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);flex-wrap:wrap}
.wj-tpv-launch-art{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);flex:0 0 auto}
.wj-tpv-launch-copy{flex:1;min-width:200px}
.wj-tpv-launch-copy h3{margin:0 0 4px}

/* ---- Ventana independiente del TPV (/tpv) ---- */
.wj-tpv-body{overflow:hidden}
.wj-tpv-body .wj-shell,.wj-tpv-body .wj-topbar,.wj-tpv-body .wj-sidebar{display:none}
.wj-tpv-boot{min-height:100dvh;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:24px;text-align:center}
.wj-tpv{display:grid;grid-template-columns:92px minmax(0,1fr) 344px;height:100dvh;background:var(--bg)}
.wj-tpv-rail{background:var(--text);color:var(--surface);display:flex;flex-direction:column;overflow:visible;z-index:5}
.wj-tpv-rail-top{padding:10px 6px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--surface) 16%,transparent);display:grid;gap:2px}
.wj-tpv-rail-top strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.wj-tpv-rail-top #tpv-clock{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.wj-tpv-rail-top small{font-size:11px;opacity:.55}
.wj-tpv-rail-cats{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
.wj-tpv-cat{width:100%;border:0;background:transparent;color:color-mix(in srgb,var(--surface) 74%,var(--text));padding:10px 5px;font:inherit;font-size:11px;font-weight:600;line-height:1.25;text-transform:uppercase;cursor:pointer;display:grid;justify-items:center;gap:6px;border-bottom:1px solid color-mix(in srgb,var(--surface) 9%,transparent)}
.wj-tpv-cat:hover{background:color-mix(in srgb,var(--surface) 11%,transparent);color:var(--surface)}
.wj-tpv-cat.active{background:var(--accent);color:var(--on-accent)}
.wj-tpv-cat-dot{width:22px;height:6px;border-radius:99px;background:transparent}
.wj-tpv-exit{border:0;background:transparent;color:var(--danger);padding:16px 6px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;display:grid;justify-items:center;gap:6px;border-top:1px solid color-mix(in srgb,var(--surface) 16%,transparent)}
.wj-tpv-exit:hover{background:color-mix(in srgb,var(--surface) 11%,transparent)}
.wj-tpv-main{display:flex;flex-direction:column;min-width:0}
.wj-tpv-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}
.wj-tpv-search{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;color:var(--muted)}
.wj-tpv-search .wj-input{flex:1;font-size:16px;height:46px}
.wj-tpv-head-meta{font-size:12px;color:var(--muted)}
.wj-tpv-scroll{flex:1;overflow-y:auto;padding:14px 16px 40px}
.wj-tpv-group{margin-bottom:20px}
.wj-tpv-group h4{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.wj-tpv-group h4 span{width:26px;height:6px;border-radius:99px;flex:0 0 auto;background:var(--border)}
.wj-tpv-group h4::after{content:'';flex:1;height:1px;background:var(--border)}
.wj-tpv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.wj-tpv-card{border:1px solid var(--border);border-top:5px solid var(--wj-tpv-card-accent,var(--accent));border-radius:12px;background:var(--surface);padding:0;overflow:hidden;cursor:pointer;text-align:left;display:flex;flex-direction:column;transition:transform .12s ease,box-shadow .12s ease}
.wj-tpv-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.wj-tpv-card:active{transform:scale(.98)}
.wj-tpv-card-img{aspect-ratio:1/1;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden}
.wj-tpv-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.wj-tpv-card-body{padding:8px 10px 10px;display:grid;gap:4px}
.wj-tpv-card-body strong{font-size:13px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wj-tpv-card-foot{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.wj-tpv-card-foot b{font-weight:700}
.wj-tpv-card-foot i{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums}
.wj-tpv-ticket{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}
.wj-tpv-ticket-lines{flex:1;overflow-y:auto;padding:8px 0}
.wj-tpv-ticket-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}
.wj-tpv-line{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:'qty name total' '. actions actions';gap:2px 10px;padding:12px 14px;border-bottom:1px solid var(--border)}
.wj-tpv-line-qty{grid-area:qty;font-weight:700;font-variant-numeric:tabular-nums}
.wj-tpv-line-name{grid-area:name;display:grid;min-width:0}
.wj-tpv-line-name strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-tpv-line-name small{color:var(--muted);font-size:12px}
.wj-tpv-line-total{grid-area:total;font-weight:600;font-variant-numeric:tabular-nums}
.wj-tpv-line-actions{grid-area:actions;display:flex;gap:6px;margin-top:6px}
.wj-tpv-ticket-foot{border-top:1px solid var(--border);padding:14px;display:grid;gap:12px}
.wj-tpv-discount{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.wj-tpv-discount .wj-input{width:96px}
.wj-tpv-pay-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wj-tpv-pay{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:11px;font:inherit;font-weight:600;cursor:pointer;color:var(--text)}
.wj-tpv-pay.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.wj-tpv-totals{display:grid;gap:4px;font-size:13px}
.wj-tpv-totals div{display:flex;justify-content:space-between}
.wj-tpv-totals .total{font-size:17px;font-weight:700}
.wj-tpv-pay-btn{border:0;border-radius:12px;background:var(--ok);color:var(--bg);padding:18px;font:inherit;font-size:17px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.wj-tpv-pay-btn:disabled{opacity:.45;cursor:not-allowed}
.wj-tpv-gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:30px}
.wj-tpv-gate form{display:grid;gap:14px;width:min(320px,100%)}
@media(max-width:1100px){.wj-tpv{grid-template-columns:84px minmax(0,1fr) 296px}}
@media(max-width:820px){.wj-tpv{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;height:auto;min-height:100dvh}.wj-tpv-rail{flex-direction:row;overflow-x:auto}.wj-tpv-rail-cats{display:flex}.wj-tpv-cat{border-bottom:0;border-right:1px solid color-mix(in srgb,var(--surface) 9%,transparent);min-width:96px}.wj-tpv-ticket{border-left:0;border-top:1px solid var(--border)}}

/* ---- TPV completo: rail con etiquetas, pestañas, pases y cobro ---- */
.wj-tpv-cat{gap:4px}
.wj-tpv-cat span:last-child{display:block;line-height:1.2}
.wj-tpv-tabs{display:flex;gap:2px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);padding:0 10px}
.wj-tpv-tab{flex:0 0 auto;border:0;background:transparent;padding:14px 14px 11px;font:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;display:grid;justify-items:center;gap:4px;border-bottom:3px solid transparent}
.wj-tpv-tab:hover{color:var(--text)}
.wj-tpv-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.wj-tpv-tab-search{padding:14px 18px 0}
.wj-tpv-date{max-width:170px;height:46px}
.wj-tpv-slots{display:flex;gap:0;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 18px}
.wj-tpv-slot{flex:0 0 auto;border:0;border-right:1px solid var(--border);background:transparent;padding:9px 18px;font:inherit;cursor:pointer;display:grid;gap:1px;justify-items:center;color:var(--text);border-radius:8px}
.wj-tpv-slot strong{font-size:16px;font-variant-numeric:tabular-nums}
.wj-tpv-slot small{font-size:10.5px;color:var(--muted)}
.wj-tpv-slot.active{background:var(--ok);color:var(--bg);border-right-color:transparent}
.wj-tpv-slot.active small{color:inherit}
.wj-tpv-ticket-head{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-bottom:1px solid var(--border)}
.wj-tpv-ticket-booking{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--primary-weak);color:var(--accent);font-size:12px;font-weight:700}
.wj-tpv-discount-btn{width:100%;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);padding:13px;font:inherit;font-weight:800;letter-spacing:.04em;cursor:pointer}
.wj-tpv-pay-row{display:flex;gap:8px;align-items:stretch}
.wj-tpv-pay-row .wj-tpv-pay-btn{flex:1}
.wj-tpv-pay-row .wj-btn.icon.lg{flex:0 0 auto;width:56px;border-radius:12px}
.wj-tpv-tender{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.wj-tpv-tender-btn{display:grid;justify-items:center;gap:8px;padding:20px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;font:inherit}
.wj-tpv-tender-btn:hover{border-color:var(--accent);color:var(--accent)}
.wj-tpv-gate h2{margin:0}
.wj-tpv-gate .wj-stack{width:min(460px,100%)}
.wj-tpv-gate .wj-asset-row{cursor:pointer;width:100%;text-align:left;font:inherit}
.wj-pos-toggles{display:grid;gap:2px}
.wj-pos-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid var(--border);font-size:13px}
.wj-pos-toggle:last-child{border-bottom:0}
.wj-pos-toggle input{flex:0 0 auto;width:20px;height:20px;accent-color:var(--accent)}
.wj-pos-device-launch{display:flex;flex-wrap:wrap;gap:8px}
.wj-pos-gateway-redsys{border:1px solid var(--border);border-radius:14px;padding:16px}
.wj-pos-gateway-redsys legend{font-weight:800;font-size:12px;padding:0 6px}

/* La barra de suplantación añade una fila al grid de .wj-main, que por defecto
   solo declara topbar + contenido; sin esto el topbar se estira a toda la altura. */
.wj-main.wj-has-impersonation{grid-template-rows:auto var(--top) minmax(0,1fr)!important}

/* ---- Resumen del libro de transacciones ---- */
.wj-tx-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.wj-tx-stat{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px 14px;display:grid;gap:3px}
.wj-tx-stat span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.wj-tx-stat strong{font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wj-tx-stat.total{border-color:var(--accent);background:var(--primary-weak)}
.wj-tx-stat.total strong{color:var(--accent)}

/* ---- Pulseras: tabla de colores por hora de fin ---- */
.wj-wb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0}
.wj-wb-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface)}
.wj-wb-chip strong{font-variant-numeric:tabular-nums}
.wj-wb-chip small{color:var(--muted);margin-left:auto}
.wj-wb-dot{width:18px;height:18px;border-radius:50%;flex:0 0 auto;border:1px solid var(--border-strong)}
.wj-wb-dot.lg{width:40px;height:40px}
.wj-wb-result{display:flex;align-items:center;gap:14px;margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface2)}
.wj-wb-result strong{display:block;font-size:19px}
.wj-wb-result small{color:var(--muted)}

/* El selector de centro también dentro del cajón móvil: ahí el menú se abre en
   el flujo (no absoluto) para que el cajón no lo recorte. */
.wj-mobile-nav-venue{padding:0 var(--sp-3,14px) 10px}
html[data-layout="mobile"] .wj-mobile-nav-venue .wj-venue-switcher{display:block}
.wj-mobile-nav-venue .wj-venue-menu{position:static;box-shadow:none;margin-top:6px;max-height:46vh}
.wj-mobile-nav-venue .wj-venue-trigger{min-height:44px}
.wj-wb-row{display:flex;align-items:center;gap:10px}
.wj-wb-row .wj-input:not(.wj-wb-hex){flex:1}
.wj-wb-hex{width:54px;padding:2px;flex:0 0 auto}

/* Selector de modo del calendario (Interna / Reservas) */
.wj-calendar-mode .wj-tab{display:inline-flex;align-items:center;gap:6px}

/* Acceso directo al TPV en la barra superior: color de llamada a la acción para
   que se distinga a simple vista del resto de iconos. */
.wj-tpv-launcher{background:var(--cta);border-color:var(--cta);color:var(--on-accent)}
.wj-tpv-launcher:hover{background:var(--cta-2);border-color:var(--cta-2);color:var(--on-accent)}
.wj-tpv-launcher:focus-visible{outline:2px solid var(--cta);outline-offset:2px}

/* Aviso de contexto HQ: recuerda que lo que se edita aquí es la regla común. */
.wj-hq-note{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--primary-weak);color:var(--accent);border-radius:12px;font-size:12.5px;font-weight:650}

/* ---- Panel de Horarios: calendario continuo + productos por duración ---- */
.wj-sched-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.wj-sched-calendar{padding:16px;max-height:calc(100dvh - 260px);overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.wj-sched-month h4{margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wj-sched-weekdays,.wj-sched-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.wj-sched-weekdays span{text-align:center;font-size:10px;font-weight:700;color:var(--text-3)}
.wj-sched-day{border:0;background:transparent;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;font-size:11px;color:var(--muted);cursor:pointer;font-variant-numeric:tabular-nums}
.wj-sched-day.empty{visibility:hidden}
.wj-sched-day:hover{background:var(--surface2);color:var(--text)}
.wj-sched-day.on{background:var(--accent);color:var(--on-accent);font-weight:700}
.wj-sched-day.on:hover{background:var(--accent-2)}
.wj-sched-day.today{outline:2px solid var(--cta);outline-offset:-2px}
.wj-sched-products{padding:16px;display:grid;gap:12px;align-content:start;position:sticky;top:0;max-height:calc(100dvh - 260px);overflow-y:auto}
.wj-sched-products-head h3{margin:0}
.wj-sched-product-list{display:grid;gap:14px}
.wj-sched-group{display:grid;gap:2px}
.wj-sched-group-label{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 2px}
.wj-sched-product{display:flex;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid transparent;border-bottom-color:var(--border);background:transparent;cursor:pointer;text-align:left;font:inherit;color:var(--text)}
.wj-sched-product:hover{background:var(--surface2);border-radius:10px;border-bottom-color:transparent}
.wj-sched-product.active{background:var(--primary-weak);border-color:var(--accent);border-radius:10px;color:var(--accent)}
.wj-sched-product-name{flex:1;min-width:0;font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-sched-warn{color:var(--warn);display:inline-flex}
.wj-sched-hours-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.wj-hours-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--border);font-size:13px}
.wj-hours-row:last-child{border-bottom:0}
.wj-hours-row strong{min-width:150px}
.wj-hours-row span{font-variant-numeric:tabular-nums}
.wj-hours-edit-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}
.wj-hours-edit-row strong{min-width:96px;font-size:13px}
.wj-hours-edit-row .wj-input{width:118px}
@media(max-width:1080px){.wj-sched-layout{grid-template-columns:1fr}.wj-sched-products{position:static;max-height:none}.wj-sched-calendar{max-height:none}}

/* Pie fijo del rail del TPV: configuración, tema/idioma y salida. */
.wj-tpv-rail-foot{margin-top:auto;border-top:1px solid color-mix(in srgb,var(--surface) 16%,transparent)}
.wj-tpv-rail-utility{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px 6px;border-bottom:1px solid color-mix(in srgb,var(--surface) 9%,transparent)}
.wj-tpv-util-btn{border:1px solid color-mix(in srgb,var(--surface) 20%,transparent);background:transparent;color:color-mix(in srgb,var(--surface) 74%,var(--text));border-radius:9px;padding:7px 0;display:grid;place-items:center;cursor:pointer;font:inherit;font-size:11px;font-weight:800}
.wj-tpv-util-btn:hover,.wj-tpv-util-btn.active{background:color-mix(in srgb,var(--surface) 14%,transparent);color:var(--surface)}
.wj-tpv-rail-foot .wj-tpv-exit{width:100%;border-top:1px solid color-mix(in srgb,var(--surface) 9%,transparent)}

/* ---- Editor de disposición del TPV (menús / secciones / baldosas) ---- */
.wj-template-tabs{margin-bottom:14px}
.wj-menu-editor{display:grid;grid-template-columns:186px minmax(0,1fr);gap:14px;align-items:start}
.wj-menu-list{display:grid;gap:3px;align-content:start;border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--surface)}
.wj-menu-item{display:flex;align-items:center;gap:7px;width:100%;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--text)}
.wj-menu-item:hover{background:var(--surface2)}
.wj-menu-item.active{background:var(--primary-weak);border-color:var(--accent);color:var(--accent)}
.wj-menu-grip{color:var(--text-3);cursor:grab;display:inline-flex}
.wj-menu-name{flex:1;min-width:0;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-menu-canvas{display:grid;gap:12px;min-width:0}
.wj-menu-canvas-head{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.wj-menu-canvas-head .wj-field{flex:1;min-width:140px}
.wj-menu-section{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.wj-menu-section>header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface2);border-bottom:1px solid var(--border)}
.wj-menu-section-name{flex:1;border:0;background:transparent;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.wj-menu-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:12px}
.wj-menu-tile{position:relative;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);display:grid}
.wj-menu-tile-img{aspect-ratio:4/3;display:grid;place-items:center;background:var(--surface2);color:var(--muted);overflow:hidden}
.wj-menu-tile-img img{width:100%;height:100%;object-fit:cover}
.wj-menu-tile small{padding:5px 6px;font-size:10.5px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wj-menu-tile.editing{outline:1px dashed var(--accent)}
.wj-menu-tile-actions{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:2px;padding:3px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.wj-menu-section-actions,.wj-menu-canvas-actions{display:flex;gap:10px;align-items:center;padding:0 12px 12px;flex-wrap:wrap}
.wj-menu-canvas-actions{padding:0}
.wj-menu-empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:14px}
.wj-row-thumb.sm{width:34px;height:34px;border-radius:8px}
@media(max-width:720px){.wj-menu-editor{grid-template-columns:1fr}}

/* Editor de disposición a pantalla completa: el lienzo es lo importante. */
.wj-tpl-editor-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:14px;min-height:calc(100dvh - var(--top) - 44px)}
.wj-tpl-editor-page>#tpl-body{align-self:start}
.wj-tpl-editor-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:0;z-index:6;padding:10px 0;background:var(--bg)}
.wj-tpl-editor-title{flex:1;min-width:200px}
.wj-tpl-editor-title h1{margin:0;font-size:22px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.wj-tpl-editor-title p{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.wj-tpl-editor-page .wj-menu-editor{grid-template-columns:220px minmax(0,1fr)}
.wj-tpl-editor-page .wj-menu-tiles{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}

/* El menú de centros se ancla por coordenadas al abrirse, así que necesita
   ancho propio: pegado al rail colapsado los nombres salían cortados. */
.wj-venue-menu{min-width:232px;max-width:280px;z-index:120}
.wj-mobile-nav-venue .wj-venue-menu{min-width:0;max-width:none}
.wj-venue-option{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;background:transparent;border-radius:10px;cursor:pointer;font:inherit;text-align:left;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wj-venue-option>span:not(.wj-venue-hq-badge){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ---- Guía: bloque social (me gusta, comentarios y respuestas) ---- */
.wj-hb-social{margin-top:26px;padding-top:20px;border-top:1px solid var(--border);display:grid;gap:14px}
.wj-hb-social-bar{display:flex;align-items:center;gap:14px}
.wj-hb-like{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 15px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;color:var(--text)}
.wj-hb-like:hover{border-color:var(--accent);color:var(--accent)}
.wj-hb-like.on{background:var(--primary-weak);border-color:var(--accent);color:var(--accent)}
.wj-hb-comment-form{display:grid;gap:8px;justify-items:end}
.wj-hb-comment-form .wj-textarea{width:100%}
.wj-hb-comments{display:grid;gap:12px}
.wj-hb-comment{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px 14px}
.wj-hb-comment>p,.wj-hb-reply>p{margin:6px 0 0;font-size:13.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.wj-hb-comment-head{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.wj-hb-comment-head strong{color:var(--text);font-size:13px}
.wj-hb-comment-head button{margin-left:auto}
.wj-hb-replies{display:grid;gap:8px;margin:10px 0 0 16px;padding-left:12px;border-left:2px solid var(--border)}
.wj-hb-reply{padding:6px 0}
.wj-hb-reply-form{display:flex;gap:8px;margin-top:10px}
.wj-hb-reply-form .wj-input{flex:1}
/* Contenido enriquecido de los artículos: código y vídeo incrustado. */
.wj-code{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.6}
.wj-embed{position:relative;margin:14px 0;border-radius:14px;overflow:hidden;background:var(--surface2);aspect-ratio:16/9}
.wj-embed iframe,.wj-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- TPV: franjas con color de pulsera, arqueo y sesiones ---- */
.wj-tpv-slot{border-top:4px solid var(--wj-tpv-card-accent,transparent);border-radius:10px 10px 8px 8px;min-width:132px}
.wj-tpv-slot-band{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.wj-tpv-slot.active .wj-tpv-slot-band{color:inherit}
.wj-wb-handout{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.wj-wb-handout strong{display:block;font-size:15px}
.wj-wb-handout small{color:var(--muted)}
.wj-wb-handout b{margin-left:auto;font-size:20px;font-variant-numeric:tabular-nums}
.wj-close-expected,.wj-close-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wj-close-expected div,.wj-close-totals div{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:grid;gap:2px;background:var(--surface)}
.wj-close-expected span,.wj-close-totals span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.wj-close-expected strong,.wj-close-totals strong{font-size:18px;font-variant-numeric:tabular-nums}
.wj-close-totals #tpv-diff.off{color:var(--danger)}
.wj-denoms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.wj-denom{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:7px 9px;background:var(--surface)}
.wj-denom>span{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.wj-denom>b{grid-column:1/-1;text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.wj-denom .wj-input{padding:5px 8px;text-align:right}
.wj-till-session{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px 14px}
.wj-till-session>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.wj-till-session dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0}
.wj-till-session dl div{display:grid;gap:1px}
.wj-till-session dt{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.wj-till-session dd{margin:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}

/* Un hijo flex no encoge por debajo de su contenido sin min-height:0, así que
   la zona de scroll del TPV crecía y las páginas largas (Dispositivo,
   Hardware) no se podían desplazar. */
.wj-tpv-main{min-height:0}
.wj-tpv-scroll{min-height:0}
.wj-tpv-ticket-lines{min-height:0}

/* ---- TPV: relevo de turno (tarjetas centradas) ---- */
.wj-tpv-login-card.wide{width:min(560px,100%)}
.wj-tpv-login-brand{display:grid;justify-items:center;gap:4px;color:var(--accent)}
.wj-tpv-login-brand strong{font-size:15px;letter-spacing:.08em}
.wj-tpv-login-brand small{color:var(--muted);font-size:12px}

/* El centro al que pertenece esta caja, siempre visible en el rail. */
.wj-tpv-venue{display:flex;align-items:center;justify-content:center;gap:4px;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-tpv-venue-warn{display:flex;align-items:center;gap:8px;padding:9px 18px;background:var(--warn-weak);color:var(--warn);font-size:12.5px;font-weight:700;border-bottom:1px solid var(--border)}

/* Barra de salidas: qué pulsera sale y en cuánto, siempre visible en caja. */
.wj-tpv-departures{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--border);background:var(--surface)}
.wj-tpv-departure{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:12.5px;color:var(--muted);background:var(--bg)}
.wj-tpv-departure b{font-size:15px;font-variant-numeric:tabular-nums;color:var(--text)}
.wj-tpv-departure.next{border-color:var(--cta);background:var(--surface);color:var(--text);font-weight:700}
.wj-tpv-departure.next b{color:var(--cta);font-size:17px}
.wj-tpv-departure .wj-wb-dot{width:13px;height:13px}


/* ---------- TPV: acabado y microinteracciones ---------- */
/* La baldosa se levanta al pasar por encima, la imagen se acerca un punto y al
   pulsar cede: el gesto se nota antes de que llegue la respuesta del servidor. */
.wj-tpv-card{position:relative;border-radius:14px}
.wj-tpv-card-img img{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.wj-tpv-card:hover .wj-tpv-card-img img{transform:scale(1.06)}
.wj-tpv-card:hover{border-color:var(--wj-tpv-card-accent,var(--accent))}
.wj-tpv-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wj-tpv-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--wj-tpv-card-accent,var(--accent));opacity:0;transition:opacity .18s ease}
.wj-tpv-card:active::after{opacity:.16;transition:none}
.wj-tpv-card-foot b{font-size:14px;font-variant-numeric:tabular-nums}

/* Entrada escalonada de las baldosas, muy corta, solo para dar sensación de
   que la rejilla se compone en vez de aparecer de golpe. */
@keyframes wj-tile-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wj-tpv-grid .wj-tpv-card{animation:wj-tile-in .22s cubic-bezier(.22,1,.36,1) both}
.wj-tpv-grid .wj-tpv-card:nth-child(1){animation-delay:0ms}
.wj-tpv-grid .wj-tpv-card:nth-child(2){animation-delay:20ms}
.wj-tpv-grid .wj-tpv-card:nth-child(3){animation-delay:40ms}
.wj-tpv-grid .wj-tpv-card:nth-child(4){animation-delay:60ms}
.wj-tpv-grid .wj-tpv-card:nth-child(5){animation-delay:80ms}
.wj-tpv-grid .wj-tpv-card:nth-child(n+6){animation-delay:100ms}

/* Operador: quién está cobrando, arriba a la izquierda y siempre a la vista. */
.wj-tpv-operator{display:flex;align-items:center;justify-content:center;gap:5px;margin:5px 0 3px;min-width:0}
.wj-tpv-avatar{width:22px;height:22px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:9.5px;font-weight:800;letter-spacing:.02em}
.wj-tpv-operator strong{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:none;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-tpv-rail-top .wj-tpv-venue{font-size:9px;padding:2px 6px}

/* "Más": un panel que sube desde el pie del carril. No cambia de página, así
   que no se pierde de vista lo que se estaba vendiendo. */
.wj-tpv-rail-foot{position:relative}
.wj-tpv-more-btn{width:100%;border:0;background:transparent;color:color-mix(in srgb,var(--surface) 74%,var(--text));padding:9px 4px;font:inherit;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;display:grid;justify-items:center;gap:3px}
.wj-tpv-more-btn:hover,.wj-tpv-more-btn[aria-expanded=true]{background:color-mix(in srgb,var(--surface) 12%,transparent);color:var(--surface)}
.wj-tpv-more-pop{position:absolute;left:6px;bottom:calc(100% + 6px);width:206px;z-index:40;padding:6px;border-radius:14px;background:var(--text);border:1px solid color-mix(in srgb,var(--surface) 20%,transparent);box-shadow:0 18px 44px rgba(0,0,0,.42);animation:wj-more-up .16s cubic-bezier(.22,1,.36,1) both}
@keyframes wj-more-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wj-tpv-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.wj-tpv-more-grid .wj-tpv-cat{border-bottom:0;border-radius:10px;padding:11px 4px;font-size:10px}
.wj-tpv-more-pop .wj-tpv-rail-utility{border-bottom:0;padding:6px 0 4px}
.wj-tpv-more-pop .wj-tpv-exit{width:100%;border-radius:10px;padding:11px 6px;font-size:11.5px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:0;background:color-mix(in srgb,var(--danger) 16%,transparent)}
.wj-tpv-more-pop .wj-tpv-exit:hover{background:color-mix(in srgb,var(--danger) 28%,transparent)}

@media(prefers-reduced-motion:reduce){
 .wj-tpv-grid .wj-tpv-card,.wj-tpv-more-pop{animation:none}
 .wj-tpv-card-img img{transition:none}
 .wj-tpv-card:hover{transform:none}
}


/* ---------- Interruptor ---------- */
.wj-switch{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;width:42px;height:24px;cursor:pointer}
.wj-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.wj-switch span{position:absolute;inset:0;border-radius:999px;background:var(--border-strong,var(--border));transition:background .18s ease}
.wj-switch span::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s cubic-bezier(.22,1,.36,1)}
.wj-switch input:checked+span{background:var(--ok)}
.wj-switch input:checked+span::after{transform:translateX(18px)}
.wj-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.wj-switch input:disabled+span{opacity:.5}

/* ---------- Señal de estado (correos) ----------
   Un punto con un anillo que respira cuando el aviso está entregando. */
.wj-signal{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 auto}
.wj-signal i{width:9px;height:9px;border-radius:50%;background:var(--muted);display:block}
.wj-signal::before{content:'';position:absolute;inset:0;border-radius:50%;opacity:0}
.wj-signal.live i,.wj-signal.ready i{background:var(--ok)}
.wj-signal.live::before{background:var(--ok);opacity:.35;animation:wj-signal-pulse 1.8s ease-out infinite}
.wj-signal.warn i{background:var(--warn)}
.wj-signal.error i{background:var(--danger)}
.wj-signal.error::before{background:var(--danger);opacity:.3;animation:wj-signal-pulse 1.2s ease-out infinite}
.wj-signal.off i{background:var(--border-strong,var(--border))}
@keyframes wj-signal-pulse{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.9);opacity:0}}
.wj-mail-state{font-size:11.5px;font-weight:750;letter-spacing:.01em}
.wj-mail-state.live,.wj-mail-state.ready{color:var(--ok)}
.wj-mail-state.warn{color:var(--warn)}
.wj-mail-state.error{color:var(--danger)}
.wj-mail-state.off{color:var(--muted)}

/* ---------- Correos automáticos ---------- */
.wj-mail-smtp{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);margin-bottom:18px}
.wj-mail-smtp.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:var(--warn-weak)}
.wj-mail-smtp>div{flex:1;min-width:0;display:grid;gap:2px}
.wj-mail-smtp strong{font-size:13.5px}.wj-mail-smtp small{color:var(--muted);font-size:12px}
.wj-mail-section{margin-bottom:26px}
.wj-mail-list{display:grid;gap:8px}
.wj-mail-row{display:grid;grid-template-columns:18px minmax(0,1.6fr) minmax(0,1fr) auto 16px;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.wj-mail-row:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm,0 6px 18px rgba(0,0,0,.06))}
.wj-mail-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wj-mail-row.off .wj-mail-copy{opacity:.6}
.wj-mail-copy{min-width:0;display:grid;gap:3px}
.wj-mail-copy strong{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-mail-copy p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.wj-mail-copy small{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}
.wj-mail-stats{display:grid;gap:3px;min-width:0}
.wj-mail-stats small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-mail-chevron{color:var(--muted)}
.wj-mail-legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 4px;font-size:12px;color:var(--muted)}
.wj-mail-legend span{display:inline-flex;align-items:center;gap:7px}
.wj-mail-editor{display:grid;gap:16px}
.wj-mail-editor-meta{display:flex;align-items:center;gap:8px;font-size:12.5px}
.wj-mail-body{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;min-height:220px}
.wj-mail-vars{display:flex;flex-wrap:wrap;gap:6px}
.wj-mail-var{border:1px solid var(--border);background:var(--surface2);color:var(--accent);border-radius:999px;padding:4px 10px;font:inherit;font-size:11.5px;font-weight:700;font-family:ui-monospace,Menlo,Consolas,monospace;cursor:pointer}
.wj-mail-var:hover{border-color:var(--accent);background:var(--primary-weak)}
.wj-mail-preview{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface2)}
.wj-mail-preview-head{padding:8px 14px;border-bottom:1px solid var(--border)}
.wj-mail-preview-mail{padding:14px 16px;background:var(--surface);display:grid;gap:10px}
.wj-mail-preview-mail strong{font-size:14px}
.wj-mail-preview-mail pre{margin:0;white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.6;color:var(--text)}
.wj-mail-test{display:flex;align-items:end;gap:10px}
.wj-mail-test .wj-field{flex:1}
@media(max-width:820px){.wj-mail-row{grid-template-columns:18px minmax(0,1fr) auto;gap:10px}.wj-mail-stats,.wj-mail-chevron{display:none}}

/* ---------- Base de conocimiento ---------- */
.wj-kb{display:grid;gap:22px}
.wj-kb-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.wj-kb-head-copy h1{margin:2px 0 4px;font-size:26px;letter-spacing:-.02em}
.wj-kb-head-copy p{margin:0;color:var(--muted);font-size:13.5px}
.wj-kb-search{display:flex;align-items:center;gap:8px;flex:0 1 420px;min-width:240px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted)}
.wj-kb-search .wj-input{border:0;background:transparent;box-shadow:none;height:44px;padding-left:0}
.wj-kb-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-weak)}
.wj-kb-section{display:grid;gap:12px}
.wj-kb-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wj-kb-section-head h2{margin:0;font-size:16px;letter-spacing:-.01em}
.wj-kb-tile{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:color-mix(in srgb,var(--wj-tpv-card-accent,var(--accent)) 16%,var(--surface));color:var(--wj-tpv-card-accent,var(--accent));font-size:18px;line-height:1}
.wj-kb-tile.md{width:44px;height:44px;border-radius:13px;font-size:23px}
.wj-kb-tile.lg{width:64px;height:64px;border-radius:18px;font-size:34px}
.wj-kb-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--primary-weak);color:var(--accent)}
.wj-kb-badge.team{background:var(--surface2);color:var(--muted)}
.wj-kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.wj-kb-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.wj-kb-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm,0 8px 22px rgba(0,0,0,.07))}
.wj-kb-card-copy{min-width:0;display:grid;gap:4px}
.wj-kb-card-copy strong{display:flex;align-items:center;gap:8px;font-size:14px;overflow:hidden;white-space:nowrap}
.wj-kb-card-copy strong>span:first-child{overflow:hidden;text-overflow:ellipsis}
.wj-kb-card-copy small{color:var(--muted);font-size:12px}
.wj-kb-card.inactive,.wj-kb-row.inactive{opacity:.55}
.wj-kb-table{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.wj-kb-row{display:grid;grid-template-columns:minmax(0,2.2fr) 80px minmax(0,1fr) minmax(0,1fr) 84px;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border);cursor:pointer;transition:background .14s ease}
.wj-kb-row:first-child{border-top:0}
.wj-kb-row:hover{background:var(--surface2)}
.wj-kb-row.head{cursor:default;background:var(--surface2);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.wj-kb-row.head:hover{background:var(--surface2)}
.wj-kb-row-name{display:flex;align-items:center;gap:12px;min-width:0}
.wj-kb-row-title{min-width:0;display:grid;gap:1px}
.wj-kb-row-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-kb-row-title small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-kb-row-cell{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-kb-row-actions{display:flex;justify-content:flex-end;gap:4px;opacity:.55;transition:opacity .14s ease}
.wj-kb-row:hover .wj-kb-row-actions{opacity:1}
.wj-kb-pin{border:0;background:transparent;color:var(--border-strong,var(--muted));padding:4px;border-radius:8px;cursor:pointer;display:inline-grid;place-items:center;font:inherit}
.wj-kb-pin:hover{color:var(--cta,var(--accent));background:var(--surface2)}
.wj-kb-pin.on{color:var(--cta,var(--warn))}
.wj-kb-results{display:grid;gap:12px}
.wj-kb-result-list{display:grid;gap:6px}
.wj-kb-result{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;font:inherit;color:var(--text);cursor:pointer}
.wj-kb-result:hover{border-color:var(--accent)}
.wj-kb-result>span:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}
.wj-kb-result strong{font-size:13.5px}.wj-kb-result small{color:var(--muted);font-size:12px}
/* Dentro de una base: árbol a la izquierda, página a la derecha. */
.wj-kb-book{display:grid;grid-template-columns:272px minmax(0,1fr);gap:18px;align-items:start;min-width:0}
.wj-kb-tree{position:sticky;top:calc(var(--top) + 12px);display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);max-height:calc(100dvh - var(--top) - 32px);overflow:auto}
.wj-kb-tree-back{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:700;padding:0;cursor:pointer;justify-self:start}
.wj-kb-tree-back svg{transform:rotate(180deg)}
.wj-kb-tree-back:hover{color:var(--accent)}
.wj-kb-tree-title{display:flex;align-items:center;gap:10px}
.wj-kb-tree-title>div{flex:1;min-width:0;display:grid}
.wj-kb-tree-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-kb-tree-title small{color:var(--muted);font-size:11.5px}
.wj-kb-tree-search .wj-input{height:36px;font-size:13px}
.wj-kb-pages{display:grid;gap:2px}
.wj-kb-page-link{display:flex;align-items:center;gap:9px;padding:8px 9px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:13px;color:var(--text);text-align:left;cursor:pointer;min-width:0}
.wj-kb-page-link:hover{background:var(--surface2)}
.wj-kb-page-link.active{background:var(--primary-weak);color:var(--accent);font-weight:700}
.wj-kb-page-num{width:20px;height:20px;flex:0 0 auto;display:grid;place-items:center;border-radius:6px;background:var(--surface2);font-size:10.5px;font-weight:800;color:var(--muted)}
.wj-kb-page-link.active .wj-kb-page-num{background:var(--accent);color:var(--on-accent)}
.wj-kb-page-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-kb-draft{font-style:normal;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--warn);background:var(--warn-weak);padding:2px 5px;border-radius:5px}
.wj-kb-new-page{justify-self:stretch}
.wj-kb-main{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:22px 26px;min-height:420px}
.wj-kb-overview{display:grid;gap:22px}
.wj-kb-overview-head{display:flex;align-items:center;gap:16px}
.wj-kb-overview-head h1{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}
.wj-kb-overview-head p{margin:0 0 6px;color:var(--muted);font-size:13.5px}
.wj-kb-overview-head small{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.wj-kb-page-grid .wj-handbook-article-card small{color:var(--muted);font-size:11.5px}
/* Alta de una base: galería de plantillas con vista previa a la derecha. */
.wj-modal:has(.wj-kb-new){width:min(940px,96vw)}
.wj-kb-new{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:18px;align-items:start}
.wj-kb-new-gallery{display:grid;gap:10px}
.wj-kb-new-gallery h4{margin:6px 0 0;font-size:13px;color:var(--muted)}
.wj-kb-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.wj-kb-tpl{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}
.wj-kb-tpl:hover{border-color:var(--accent)}
.wj-kb-tpl.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-weak)}
.wj-kb-tpl-emoji{font-size:26px;line-height:1;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface2);flex:0 0 auto}
.wj-kb-tpl-copy{min-width:0;display:grid;gap:2px}
.wj-kb-tpl-copy strong{font-size:13.5px}
.wj-kb-tpl-copy small{color:var(--muted);font-size:11.5px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wj-kb-new-side{position:sticky;top:0;display:grid;gap:8px;padding:18px;border-left:1px solid var(--border);min-height:300px}
.wj-kb-new-side h3{margin:8px 0 0;font-size:16px}
.wj-kb-new-side p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.wj-kb-new-side .wj-kicker{margin-top:10px}
.wj-kb-tpl-pages{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.wj-kb-tpl-pages li{display:flex;align-items:center;gap:7px;font-size:12.5px;padding:6px 8px;border-radius:8px;background:var(--surface2)}
.wj-kb-tpl-pages li.muted{color:var(--muted)}
.wj-kb-form-top{display:flex;align-items:flex-start;gap:14px}
.wj-kb-colors{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.wj-kb-color{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--border) inset}
.wj-kb-color.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}
@media(max-width:900px){.wj-kb-book{grid-template-columns:1fr}.wj-kb-tree{position:static;max-height:none}.wj-kb-row{grid-template-columns:minmax(0,1fr) 60px;}.wj-kb-row>.wj-kb-row-cell:nth-child(3),.wj-kb-row>.wj-kb-row-cell:nth-child(4),.wj-kb-row-actions{display:none}.wj-kb-new{grid-template-columns:1fr}.wj-kb-new-side{border-left:0;border-top:1px solid var(--border);position:static}}

/* ---------- Panel de cambio de centro ----------
   Mismo lenguaje que la navegación secundaria: sale del carril hacia la
   derecha y se retira igual. */
#venue-panel-root .wj-venue-panel-backdrop{position:fixed;inset:0;z-index:95;background:transparent}
#venue-panel-root .wj-venue-panel{position:fixed;top:0;bottom:0;width:264px;display:flex;flex-direction:column;background:var(--surface-raised,var(--surface));border-right:1px solid var(--hairline,var(--border));box-shadow:12px 0 32px rgba(15,23,42,.08);transform:translateX(-14px);opacity:0;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .18s ease}
#venue-panel-root.open .wj-venue-panel{transform:none;opacity:1}
#venue-panel-root .wj-secondary-collapse{display:inline-flex}
.wj-venue-panel-nav section{display:grid;gap:3px}
.wj-venue-panel-opt{display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px;border:0;border-radius:11px;background:transparent;font:inherit;font-size:13.5px;font-weight:600;color:var(--text);text-align:left;cursor:pointer}
.wj-venue-panel-opt:hover{background:var(--surface-sunken,var(--surface2))}
.wj-venue-panel-opt.active{background:var(--primary-weak);color:var(--accent)}
.wj-venue-panel-ico{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:var(--surface2);color:inherit}
.wj-venue-panel-opt.active .wj-venue-panel-ico{background:var(--accent);color:var(--on-accent)}
.wj-venue-panel-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-venue-panel-check{color:var(--accent);display:inline-grid}
@media(prefers-reduced-motion:reduce){#venue-panel-root .wj-venue-panel{transition:none}}

/* ---------- TPV: acceso ----------
   Mitad marca (oscura, con el reloj y el centro), mitad teclado. */
.wj-tpv-login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}
.wj-tpv-login-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(28px,5vw,64px);background:linear-gradient(160deg,var(--text) 0%,color-mix(in srgb,var(--text) 78%,var(--accent)) 100%);color:var(--surface)}
.wj-tpv-login-orbs i{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:wj-orb 14s ease-in-out infinite alternate}
.wj-tpv-login-orbs i:nth-child(1){width:360px;height:360px;right:-120px;top:-90px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 80%,transparent),transparent 65%)}
.wj-tpv-login-orbs i:nth-child(2){width:280px;height:280px;left:-80px;bottom:10%;background:radial-gradient(circle at 60% 40%,color-mix(in srgb,var(--cta,var(--accent)) 70%,transparent),transparent 65%);animation-delay:-5s}
.wj-tpv-login-orbs i:nth-child(3){width:200px;height:200px;right:12%;bottom:-60px;background:radial-gradient(circle,color-mix(in srgb,var(--surface) 35%,transparent),transparent 65%);animation-delay:-9s}
@keyframes wj-orb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(24px,-18px,0) scale(1.08)}}
.wj-tpv-login-brand-row{position:relative;display:flex;align-items:center;gap:12px}
.wj-tpv-login-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--surface) 12%,transparent);border:1px solid color-mix(in srgb,var(--surface) 22%,transparent)}
.wj-tpv-login-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;opacity:.85}
.wj-tpv-login-hero-copy{position:relative}
.wj-tpv-login-hero-copy h1{margin:0 0 10px;font-size:clamp(30px,4.2vw,52px);line-height:1.05;letter-spacing:-.03em;font-weight:800}
.wj-tpv-login-hero-copy p{margin:0;font-size:15px;opacity:.78;max-width:38ch}
.wj-tpv-login-clock{position:relative;display:grid;gap:2px}
.wj-tpv-login-clock strong{font-size:clamp(44px,6vw,72px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.wj-tpv-login-clock span{font-size:13.5px;opacity:.75}
.wj-tpv-login-clock span::first-letter{text-transform:uppercase}
.wj-tpv-login-venue{position:relative;display:inline-flex;align-items:center;gap:7px;justify-self:start;align-self:flex-start;padding:7px 12px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.wj-tpv-login-panel{display:grid;place-items:center;padding:clamp(20px,4vw,48px)}
.wj-tpv-login-card{width:min(380px,100%);display:grid;gap:16px;padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-lg)}
.wj-tpv-login-card header h2{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}
.wj-tpv-login-card header p{margin:0;color:var(--muted);font-size:13px}
.wj-tpv-login-card.shake{animation:wj-shake .4s cubic-bezier(.36,.07,.19,.97)}
@keyframes wj-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}
.wj-tpv-login-note{margin:0;padding:11px 14px;border-radius:12px;background:var(--warn-weak);color:var(--warn);font-size:13px;font-weight:650;line-height:1.5}
.wj-tpv-pin-dots{display:flex;justify-content:center;gap:12px;min-height:22px}
.wj-tpv-pin-dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong,var(--border));transition:background .12s ease,transform .12s ease,border-color .12s ease}
.wj-tpv-pin-dots i.on{background:var(--accent);border-color:var(--accent);transform:scale(1.15)}
.wj-tpv-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wj-tpv-keypad button{height:64px;border:1px solid var(--border);border-radius:16px;background:var(--surface2);font:inherit;font-size:24px;font-weight:700;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:background .12s ease,transform .1s ease,border-color .12s ease;font-variant-numeric:tabular-nums}
.wj-tpv-keypad button:hover{border-color:var(--accent);background:var(--surface)}
.wj-tpv-keypad button:active{transform:scale(.94);background:var(--primary-weak);border-color:var(--accent)}
.wj-tpv-keypad button.tap{animation:wj-key-tap .28s ease}
@keyframes wj-key-tap{0%{transform:scale(.94);background:var(--primary-weak);border-color:var(--accent)}100%{transform:none}}
.wj-tpv-keypad button.soft{font-size:16px;color:var(--muted);background:transparent}
.wj-tpv-login-go{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;border:0;border-radius:16px;background:var(--accent);color:var(--on-accent);font:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:opacity .15s ease,transform .1s ease}
.wj-tpv-login-go:hover{filter:brightness(1.05)}
.wj-tpv-login-go:active{transform:scale(.98)}
.wj-tpv-login-go:disabled{opacity:.4;cursor:not-allowed}
.wj-tpv-login-alt-btn{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;padding:4px}
.wj-tpv-login-alt-btn:hover{color:var(--text)}
.wj-tpv-pass{padding-top:6px;border-top:1px solid var(--border)}
@media(max-width:900px){.wj-tpv-login{grid-template-columns:1fr}.wj-tpv-login-hero{min-height:38dvh;padding:24px}.wj-tpv-login-hero-copy h1{font-size:28px}.wj-tpv-login-clock strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){.wj-tpv-login-orbs i{animation:none}.wj-tpv-login-card.shake{animation:none}.wj-signal::before{animation:none}}
.wj-tpv-login-center{grid-template-columns:1fr;place-items:center;padding:24px}
.wj-tpv-login-center .wj-tpv-login-card{width:min(420px,100%)}
.wj-tpv-login-center .wj-tpv-login-card.wide{width:min(560px,100%)}


/* ---------- Documentos firmados (admin) ---------- */
.wj-doc-section{margin-bottom:28px}
.wj-doc-section .wj-section-heading{align-items:center}
.wj-doc-section .wj-search{max-width:360px}
.wj-doc-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}
.wj-doc-qr{display:flex;gap:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.wj-doc-qr-code{flex:0 0 auto;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.wj-doc-qr-code svg{display:block;border-radius:8px}
.wj-doc-qr-copy{min-width:0;display:grid;gap:6px;align-content:start}
.wj-doc-qr-copy h3{margin:0;font-size:15px}
.wj-doc-qr-copy p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}
.wj-doc-qr-url{font-size:11.5px;color:var(--muted);word-break:break-all;background:var(--surface2);padding:6px 8px;border-radius:8px}
.wj-doc-qr-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.wj-doc-table{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.wj-doc-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);cursor:pointer}
.wj-doc-row:first-child{border-top:0}
.wj-doc-row:hover{background:var(--surface2)}
.wj-doc-row.head{cursor:default;background:var(--surface2);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.wj-doc-row.revoked{opacity:.55}
.wj-doc-row-main{display:grid;gap:2px;min-width:0}
.wj-doc-row-main strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-doc-row-main small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-doc-row-cell{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-doc-sig{display:grid;place-items:center;padding:12px;border:1px dashed var(--border-strong,var(--border));border-radius:14px;background:var(--surface2);color:var(--text)}
.wj-sign-preview{max-width:100%}
.wj-cust-docs{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:grid;gap:8px}
.wj-cust-docs h4{margin:0 0 4px;display:flex;align-items:center;gap:7px;font-size:13px}
.wj-cust-docs h4 small{color:var(--muted);font-weight:600}
.wj-cust-doc{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.wj-cust-doc.revoked{opacity:.55}
.wj-cust-doc>span:first-child{flex:1;min-width:0;display:grid;gap:1px}
.wj-cust-doc strong{font-size:13px}
.wj-cust-doc small{color:var(--muted);font-size:11.5px}
@media(max-width:900px){.wj-doc-qr-grid{grid-template-columns:1fr}.wj-doc-row{grid-template-columns:minmax(0,1fr) auto}.wj-doc-row>.wj-doc-row-cell:nth-child(2),.wj-doc-row>.wj-doc-row-cell:nth-child(3),.wj-doc-row>.wj-doc-row-cell:nth-child(4){display:none}}

/* ---------- Firma pública ---------- */
.wj-sign .wj-public-main{display:grid;gap:16px}
.wj-sign-doc{padding:0;overflow:hidden}
.wj-sign-doc-head{display:grid;gap:2px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface2)}
.wj-sign-doc-head strong{font-size:14px}.wj-sign-doc-head small{color:var(--muted);font-size:12px}
.wj-sign-doc-body{max-height:46vh;overflow:auto;padding:16px 18px;font-size:13.5px;line-height:1.6}
.wj-sign-doc-body h3{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wj-sign-doc-body h3:first-child{margin-top:0}
.wj-sign-doc-body h4{margin:12px 0 4px;font-size:13.5px}
.wj-sign-doc-body p{margin:0 0 10px}
.wj-sign-form{display:grid;gap:14px}
.wj-sign-form h2{margin:0;font-size:18px}
.wj-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wj-sign-guardian{display:grid;gap:10px;padding:12px;border-radius:14px;background:var(--warn-weak)}
.wj-sign-pad{position:relative;height:190px;border:2px dashed var(--border-strong,var(--border));border-radius:16px;background:var(--surface);color:var(--text);touch-action:none;overflow:hidden}
.wj-sign-pad canvas{display:block;width:100%;height:100%;cursor:crosshair}
.wj-sign-pad-hint{position:absolute;inset:auto 0 12px 0;text-align:center;color:var(--muted);font-size:12.5px;pointer-events:none}
.wj-sign-clear{position:absolute;top:8px;right:8px}
.wj-sign-done{text-align:center;display:grid;justify-items:center;gap:10px}
.wj-sign-done-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--ok);color:var(--bg)}
@media(max-width:600px){.wj-sign-grid{grid-template-columns:1fr}.wj-sign-doc-body{max-height:40vh}}

.wj-sign-form .wj-public-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45}
.wj-sign-form .wj-public-check input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.wj-sign-form .wj-public-cta{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.wj-sign-form .wj-public-cta:disabled{opacity:.6}

.wj-detail-pairs{margin:0;display:grid}
.wj-detail-pairs div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}
.wj-detail-pairs dt{color:var(--muted);font-weight:600}
.wj-detail-pairs dd{margin:0;overflow-wrap:anywhere}


/* ---------- Página pública: se desliza entera, como una web ----------
   La cáscara de la app bloquea el scroll del documento (html, body y #app a
   100% con overflow hidden); las páginas públicas lo devuelven. */
html.wj-public-html,html.wj-public-html body,html.wj-public-html #app{height:auto;min-height:100%;overflow:visible}
html.wj-public-html{scroll-behavior:smooth}
.wj-sign .wj-public-main{display:grid;gap:22px;padding-bottom:110px}
.wj-sign-section{display:grid;gap:16px;scroll-margin-top:72px}
.wj-sign-block{display:grid;gap:14px;scroll-margin-top:72px;padding:clamp(16px,4vw,24px);border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}
.wj-sign-block h2{margin:0;font-size:19px}
.wj-sign-block h3{margin:4px 0 0;font-size:15px}
/* El documento va en la página, sin caja con scroll propio. */
.wj-sign-doc{display:grid;gap:4px}
.wj-sign-doc-head{display:grid;gap:2px;padding:0 0 12px;border-bottom:1px solid var(--border)}
.wj-sign-doc-head strong{font-size:15px}.wj-sign-doc-head small{color:var(--muted);font-size:12.5px}
.wj-sign-doc-body{padding:14px 0 4px;font-size:14.5px;line-height:1.7;max-height:none;overflow:visible}
.wj-sign-doc-body h3{margin:18px 0 6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.wj-sign-doc-body h3:first-child{margin-top:0}
.wj-sign-doc-body h4{margin:14px 0 4px;font-size:15px}
.wj-sign-doc-body p{margin:0 0 12px}
.wj-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wj-sign-age{padding:12px 14px;border-radius:14px;background:var(--primary-weak);font-size:13.5px;line-height:1.5;display:grid;gap:8px}
.wj-sign-who{display:grid;gap:6px}
.wj-sign-who label{display:flex;align-items:center;gap:8px;font-weight:600}
.wj-sign-guardian{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--warn-weak)}
.wj-sign-consents{display:grid;gap:10px}
.wj-sign-consent{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface2);font-size:13.5px;line-height:1.5}
.wj-sign-consent input{margin-top:2px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}
.wj-sign-consent span{flex:1}
.wj-sign-consent b{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:5px;margin-right:6px;vertical-align:1px}
.wj-sign-consent.req b{background:var(--warn-weak);color:var(--warn)}
.wj-sign-consent.opt b{background:var(--primary-weak);color:var(--accent)}
.wj-sign-consent.opt{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
.wj-sign-pad{position:relative;height:200px;border:2px dashed var(--border-strong,var(--border));border-radius:16px;background:var(--surface);color:var(--text);touch-action:none;overflow:hidden}
.wj-sign-pad canvas{display:block;width:100%;height:100%;cursor:crosshair}
.wj-sign-pad-hint{position:absolute;inset:auto 0 12px 0;text-align:center;color:var(--muted);font-size:12.5px;pointer-events:none}
.wj-sign-clear{position:absolute;top:8px;right:8px}
.wj-sign-done{text-align:center;display:grid;justify-items:center;gap:10px}
.wj-sign-done-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--ok);color:var(--bg)}
.wj-sign-decisions{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%;text-align:left}
.wj-sign-decisions li{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.45;background:var(--surface2)}
.wj-sign-decisions li.yes{color:var(--ok)}.wj-sign-decisions li.no{color:var(--muted)}
.wj-sign-decisions li span{color:var(--text)}
.wj-sign .wj-public-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.wj-sign .wj-public-cta.danger{background:var(--danger);border-color:var(--danger)}
.wj-sign .wj-public-cta:disabled{opacity:.6}
/* Barra de pasos fija abajo. */
.wj-sign-steps{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px max(10px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--border)}
.wj-sign-step{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:0;border-radius:14px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}
.wj-sign-step-num{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--surface2);font-size:11px;font-weight:800}
.wj-sign-step.active{background:var(--accent);color:var(--on-accent)}
.wj-sign-step.active .wj-sign-step-num{background:color-mix(in srgb,var(--on-accent) 25%,transparent);color:var(--on-accent)}
@media(max-width:600px){.wj-sign-grid{grid-template-columns:1fr}.wj-sign-step span:last-child{display:none}.wj-sign-step{gap:5px}}

/* ---------- Documentos (admin): tipos editables y versiones ---------- */
.wj-doc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.wj-doc-section-head h2{margin:2px 0 4px;font-size:17px}
.wj-doc-section-head p{margin:0;color:var(--muted);font-size:12.5px;max-width:70ch}
.wj-doc-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.wj-doc-type{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.wj-doc-type.off{opacity:.6}
.wj-doc-type-head{display:flex;gap:12px;align-items:flex-start}
.wj-doc-type-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:var(--primary-weak);color:var(--accent)}
.wj-doc-type-copy{min-width:0;display:grid;gap:4px}
.wj-doc-type-copy strong{font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-doc-type-copy p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}
.wj-doc-type-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}
.wj-doc-type-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-doc-type-actions .wj-switch{margin-left:auto}
.wj-doc-ver{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;letter-spacing:.02em;padding:2px 8px;border-radius:999px;white-space:nowrap}
.wj-doc-ver.current{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok)}
.wj-doc-ver.outdated{background:var(--warn-weak);color:var(--warn)}
.wj-doc-version-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--warn-weak);color:var(--warn);font-size:13px;line-height:1.5}
.wj-doc-version-note p{margin:2px 0 0;color:var(--text)}
.wj-doc-editor{display:grid;gap:16px}
.wj-doc-editor-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;min-height:320px}
.wj-doc-preview{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface2)}
.wj-doc-preview-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border)}
.wj-doc-preview-minor{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}
.wj-doc-preview-body{padding:14px 16px;background:var(--surface);font-size:13px;line-height:1.6;max-height:420px;overflow:auto}
.wj-doc-preview-body h3{margin:12px 0 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wj-doc-preview-body h4{margin:10px 0 3px;font-size:13px}
.wj-doc-preview-body p{margin:0 0 8px}
.wj-doc-consents{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.wj-doc-consents li{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--surface2);font-size:12.5px;line-height:1.45}
.wj-doc-consents li.yes{color:var(--ok)}.wj-doc-consents li.no{color:var(--muted)}
.wj-doc-consents li span{color:var(--text)}
.wj-doc-row{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1fr) auto}
.wj-doc-consent-editor{display:grid;gap:8px}
.wj-doc-consent-editor .row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
@media(max-width:900px){.wj-doc-row{grid-template-columns:minmax(0,1fr) auto}.wj-doc-row>.wj-doc-row-cell:nth-child(2),.wj-doc-row>.wj-doc-row-cell:nth-child(4),.wj-doc-row>.wj-doc-row-cell:nth-child(5){display:none}}

/* Cabecera pública: centro + botón de tema. */
.wj-public-head-right{display:flex;align-items:center;gap:8px}
.wj-public-theme{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);cursor:pointer;transition:background .15s ease,transform .1s ease}
.wj-public-theme:hover{background:var(--primary-weak);color:var(--accent)}
.wj-public-theme:active{transform:scale(.94)}
.wj-public-logo{height:30px;width:auto;max-width:180px;display:block;object-fit:contain}
.wj-public-brand{display:flex;align-items:center;min-height:30px}


/* ---------- Campana: punto rojo mientras haya algo sin atender ---------- */
.wj-notification-btn{position:relative}
.wj-notification-btn sup{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:var(--bg);font-size:10.5px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.wj-notification-btn.has-unread::before{content:'';position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--danger);opacity:.5;animation:wj-signal-pulse 1.6s ease-out infinite}
.wj-notification-btn.has-unread{color:var(--danger)}

/* ---------- Proyectos ---------- */
.wj-prj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:14px}
.wj-prj-card{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.wj-prj-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm,0 8px 22px rgba(0,0,0,.07))}
.wj-prj-card.completed{opacity:.8}
.wj-prj-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wj-prj-card-head strong{font-size:15px;line-height:1.3}
.wj-prj-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.wj-prj-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted)}
.wj-prj-meta span{display:inline-flex;align-items:center;gap:4px}
.wj-prj-bar{display:block;height:8px;border-radius:999px;background:var(--surface2);overflow:hidden}
.wj-prj-bar i{display:block;height:100%;width:0;border-radius:999px;background:var(--accent);transition:width .4s cubic-bezier(.22,1,.36,1)}
.wj-prj-bar.done i{background:var(--ok)}
.wj-prj-card-foot{display:flex;align-items:center;justify-content:space-between}
.wj-prj-card-foot b{font-size:13px;font-variant-numeric:tabular-nums}
.wj-prj-avatars{display:flex}
.wj-prj-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary-weak);color:var(--accent);font-size:10px;font-weight:800;border:2px solid var(--surface);margin-left:-6px}
.wj-prj-avatar:first-child{margin-left:0}
.wj-prj-avatar.more{background:var(--surface2);color:var(--muted)}
.wj-prj-detail{gap:14px}
.wj-prj-desc{margin:0;white-space:pre-wrap;line-height:1.6;font-size:14px}
.wj-prj-progress-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.wj-prj-progress-row b{color:var(--text);font-variant-numeric:tabular-nums}
.wj-prj-members{display:flex;flex-wrap:wrap;gap:6px}
.wj-prj-chip{font-size:12px;font-weight:650;padding:4px 10px;border-radius:999px;background:var(--surface2)}
.wj-prj-tasks{display:grid;gap:8px}
.wj-prj-task{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.wj-prj-task.done{background:color-mix(in srgb,var(--ok) 6%,var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}
.wj-prj-task-num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface2);font-size:12px;font-weight:800;color:var(--muted)}
.wj-prj-task.done .wj-prj-task-num{background:var(--ok);color:var(--bg)}
.wj-prj-task-copy{min-width:0;display:grid;gap:4px}
.wj-prj-task-copy strong{font-size:14px}
.wj-prj-task.done .wj-prj-task-copy strong{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text) 40%,transparent)}
.wj-prj-task-copy p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.wj-prj-task-copy small{font-size:12px;color:var(--muted)}
.wj-prj-task-note{padding:8px 10px;border-radius:10px;background:var(--surface2);color:var(--text)!important;font-size:12.5px!important}
.wj-prj-task-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.wj-prj-task-photos img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}
.wj-prj-task-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.wj-prj-people{max-height:220px;overflow:auto}
@media(max-width:700px){.wj-prj-task{grid-template-columns:28px minmax(0,1fr)}.wj-prj-task-actions{grid-column:2;flex-direction:row;justify-content:flex-start}}

/* Un modal abierto desde el panel lateral (editar tarea, confirmar) va por encima del panel, no detrás. */
.wj-modal-backdrop{z-index:96}

.wj-prj-people-box{display:grid;gap:8px}
.wj-prj-people-box legend small{color:var(--muted);font-weight:600;margin-left:6px}
.wj-prj-people-search .wj-input{height:38px;font-size:13px}
.wj-prj-people-filters{display:flex;flex-wrap:wrap;gap:6px}
.wj-prj-people-filters button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.wj-prj-people-filters button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.wj-prj-people{max-height:260px;overflow:auto;display:grid;gap:2px}
.wj-prj-people .wj-checklist-option{padding:6px 8px;border-radius:8px}
.wj-prj-people .wj-checklist-option:hover{background:var(--surface2)}
.wj-prj-hq{display:inline-flex;align-items:center;gap:4px;background:var(--primary-weak);color:var(--accent)}
.wj-prj-from-hq{margin:0;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--primary-weak);color:var(--accent);font-size:13px;font-weight:700}
.wj-input-static{display:flex;align-items:center;background:var(--surface2);color:var(--muted);cursor:default}
.wj-prj-venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}


/* ---------- Cabecera móvil: centro a un toque ---------- */
.wj-topbar-venue{display:none}
html[data-layout="mobile"] .wj-eyebrow-text{display:none}
html[data-layout="mobile"] .wj-topbar-venue{display:inline-flex;align-items:center;gap:4px;max-width:56vw;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--accent);font:inherit;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;cursor:pointer}
html[data-layout="mobile"] .wj-topbar-venue span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-layout="mobile"] .wj-topbar-venue.hq{background:var(--primary-weak)}
html[data-layout="mobile"] .wj-topbar-venue+.wj-hq-indicator{display:none}
html[data-layout="mobile"] #venue-panel-root .wj-venue-panel{left:0!important;width:min(88vw,320px)}

/* ---------- Stock → Retirar ---------- */
.wj-wd-search{display:flex;align-items:center;gap:8px;padding:0 12px;margin:0 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted)}
.wj-wd-search .wj-input{border:0;background:transparent;box-shadow:none;height:48px;font-size:16px;padding-left:0}
.wj-wd-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-weak)}
.wj-wd-list{display:grid;gap:8px}
.wj-wd-row{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.wj-wd-row.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-weak)}
.wj-wd-row.out .wj-wd-qty b{color:var(--danger)}
.wj-wd-row.low .wj-wd-qty b{color:var(--warn)}
.wj-wd-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:0;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer;min-height:64px}
.wj-wd-head:hover{background:var(--surface2)}
.wj-wd-thumb{width:44px;height:44px;border-radius:10px;background:var(--surface2);display:grid;place-items:center;color:var(--muted);overflow:hidden}
.wj-wd-thumb img{width:100%;height:100%;object-fit:cover}
.wj-wd-copy{min-width:0;display:grid;gap:2px}
.wj-wd-copy strong{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-wd-copy small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-wd-qty{display:grid;justify-items:end;gap:2px;text-align:right}
.wj-wd-qty b{font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.wj-wd-qty small{font-size:11px;color:var(--muted)}
.wj-wd-form{display:grid;gap:10px;padding:12px;border-top:1px solid var(--border);background:var(--surface2)}
.wj-wd-units{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wj-wd-unit{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;font-size:13px;font-weight:700;color:var(--text);cursor:pointer}
.wj-wd-unit small{font-size:11px;color:var(--muted);font-weight:600}
.wj-wd-unit.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.wj-wd-unit.active small{color:inherit;opacity:.85}
.wj-wd-unit:disabled{opacity:.4;cursor:not-allowed}
.wj-wd-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px auto;gap:8px;align-items:center}
.wj-wd-step{height:52px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;font-size:24px;font-weight:700;cursor:pointer;color:var(--text)}
.wj-wd-step:active{background:var(--primary-weak)}
.wj-wd-count{height:52px;text-align:center;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.wj-wd-equals{font-size:13px;color:var(--muted);white-space:nowrap}
.wj-wd-equals b{color:var(--text);font-size:15px}
.wj-wd-go{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font:inherit;font-size:16px;font-weight:800;cursor:pointer}
.wj-wd-go:disabled{opacity:.6}
@media(max-width:520px){.wj-wd-stepper{grid-template-columns:52px minmax(0,1fr) 52px}.wj-wd-equals{grid-column:1/-1;text-align:center}}


/* Sin avatar arriba a la derecha en escritorio: ya está en el menú lateral. */
html:not([data-layout="mobile"]) .wj-top-avatar{display:none!important}
/* Menú principal más compacto. */
.wj-nav-btn{padding:8px 10px;min-height:38px}
.wj-nav-group{gap:1px}
.wj-nav-group-label{margin:10px 0 4px}
@media(prefers-reduced-motion:reduce){.wj-shell.has-secondary,.wj-secondary-sidebar{transition:none}}
.wj-user-lastlogin{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}

/* ---------- Navegación secundaria: botón de plegado ----------
   Un botón en la cabecera del panel lo contrae; el botón "Menú" de la barra
   superior lo muestra u oculta. La columna se estrecha con animación. */
.wj-shell.has-secondary{transition:grid-template-columns .22s cubic-bezier(.22,1,.36,1)}
.wj-shell.has-secondary.secondary-collapsed{--secondary:0px}
.wj-secondary-sidebar{overflow:hidden;transition:opacity .16s ease,visibility .16s ease}
.wj-secondary-fold{display:inline-flex;flex:0 0 auto;width:32px;height:32px;border-radius:9px;color:var(--muted)}
.wj-secondary-fold .wj-icon{transform:rotate(180deg)}
.wj-secondary-fold:hover{color:var(--accent);background:var(--surface2)}
.wj-secondary-collapse{display:none!important}
html:not([data-layout="mobile"]) .wj-shell.has-secondary .wj-btn.wj-secondary-toggle{display:inline-flex;width:38px;height:38px;padding:0;border-radius:11px;color:var(--muted)}
html:not([data-layout="mobile"]) .wj-btn.wj-secondary-toggle.is-collapsed{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
html[data-layout="mobile"] .wj-secondary-fold{display:none}

/* ---------- Pendientes: número + punto rojo en cada función ---------- */
.wj-nav-count,.wj-sub-count{margin-left:auto;flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-variant-numeric:tabular-nums}
.wj-sub-count{min-width:18px;height:18px;font-size:10.5px}
.wj-nav-btn,.wj-mobile-dock button,.wj-secondary-nav button{position:relative}
.wj-nav-btn.has-pending>.wj-icon::after,.wj-mobile-dock button.has-pending>.wj-icon::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--surface)}
.wj-nav-btn>.wj-icon,.wj-mobile-dock button>.wj-icon{position:relative;overflow:visible}
.wj-nav-btn.has-pending>.wj-icon::after{top:-3px;right:-3px}
.wj-mobile-dock button.has-pending>.wj-icon::after{top:-2px;right:-2px}
.wj-dock-count{position:absolute;top:4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.wj-mobile-dock button.has-pending>.wj-icon::after{display:none}
@media(max-width:1179px){.wj-nav-btn .wj-nav-count{display:none}}


/* ---------- TPV en el móvil: tablero de pulseras ---------- */
.wj-band-hero{border-radius:22px;padding:18px 18px 16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#000) 0%,var(--accent) 60%,color-mix(in srgb,var(--accent) 70%,#fff) 100%);color:#fff;box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 35%,transparent);margin-bottom:14px}
.wj-band-hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wj-band-hero .wj-kicker{color:rgba(255,255,255,.85)}
.wj-band-day{font-size:12px;font-weight:700;opacity:.9;font-variant-numeric:tabular-nums}
.wj-band-clock{font-size:52px;font-weight:850;letter-spacing:-.02em;line-height:1.05;margin-top:8px;font-variant-numeric:tabular-nums}
.wj-band-now{margin-top:6px;font-size:13.5px;font-weight:650;opacity:.92}
.wj-band-list{display:grid;gap:10px}
.wj-band{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;padding:0 16px 0 0;border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.wj-band-strip{align-self:stretch;width:14px;border-radius:0}
.wj-band-copy{display:grid;gap:2px;padding:12px 0}
.wj-band-copy strong{font-size:16px}
.wj-band-copy small{color:var(--muted);font-size:12.5px}
.wj-band-copy small b{color:var(--text);font-variant-numeric:tabular-nums}
.wj-band-timer{display:grid;justify-items:end;gap:1px;text-align:right}
.wj-band-timer b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.wj-band-timer small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.wj-band.done{opacity:.5}
.wj-band.done .wj-band-timer b{font-size:15px;color:var(--muted)}
.wj-band.next .wj-band-timer b{font-size:15px;color:var(--muted)}
.wj-band.live{grid-template-columns:22px minmax(0,1fr) auto;border-color:transparent;box-shadow:0 12px 30px rgba(15,23,42,.14);transform:scale(1.015)}
.wj-band.live .wj-band-strip{width:22px}
.wj-band.live .wj-band-copy strong{font-size:18px}
.wj-band.live .wj-band-timer b{font-size:30px;color:var(--danger)}
.wj-band-note{margin-top:16px;text-align:center}

/* ---------- Pulseras: compartir tablero + página pública ---------- */
.wj-wb-share{display:flex;gap:18px;align-items:flex-start}
.wj-wb-share-qr{flex:0 0 auto;padding:8px;border:1px solid var(--border);border-radius:14px;background:#fff}
.wj-wb-share-qr svg{display:block;width:132px;height:132px}
.wj-wb-share-copy{min-width:0;flex:1;display:grid;gap:10px}
.wj-wb-share-copy h3{margin:0}
.wj-wb-share-link .wj-input{font-size:13px}
@media(max-width:699px){.wj-wb-share{flex-direction:column;align-items:stretch}.wj-wb-share-qr{align-self:center}}
.wj-board-public{display:grid;gap:14px}
.wj-board-public .wj-band-hero{margin-bottom:0}

/* ---------- TPV: requisitos de venta ---------- */
.wj-tpv-ticket-req{display:flex;gap:8px;align-items:flex-start;margin:0 12px 8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--warn) 14%,var(--surface));color:var(--text);font-size:12.5px;line-height:1.35}
.wj-tpv-ticket-req .wj-icon{flex:none;color:var(--warn);margin-top:1px}
.wj-doc-qr-copy{min-width:0;flex:1;display:grid;gap:8px}
.wj-doc-qr-copy .wj-input{font-size:12px}

/* ---------- Reserva pública: documento requerido (waiver) ---------- */
.wj-public-req{display:grid;gap:8px;margin:6px 0 10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface2)}
.wj-public-req strong{display:flex;align-items:center;gap:8px;font-size:14px}
.wj-public-req p{margin:0;font-size:13px;color:var(--muted);line-height:1.4}
.wj-public-req-actions{display:flex;gap:8px;flex-wrap:wrap}
.wj-public-req.missing{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}
.wj-public-req.missing strong{color:var(--danger)}
.wj-public-req .wj-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--text);border:1px solid var(--border)}
.wj-public-req .wj-btn.primary{background:var(--wj-public-accent,var(--accent,#0f766e));color:#fff;border-color:var(--wj-public-accent,var(--accent,#0f766e))}

/* ---------- TPV: quién entra ---------- */
.wj-tpv-people{display:grid;gap:8px}
.wj-tpv-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}
.wj-tpv-person input{width:18px;height:18px}
.wj-tpv-person-copy{display:grid;gap:2px;min-width:0}
.wj-tpv-person-copy small{color:var(--muted);font-size:12px}
.wj-tpv-person-state{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px}
.wj-tpv-person.ok .wj-tpv-person-state{background:var(--success-weak);color:var(--ok)}
.wj-tpv-person.missing .wj-tpv-person-state{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.wj-tpv-person-add summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--accent);display:flex;align-items:center;gap:6px;padding:6px 0}
.wj-tpv-person-add form{margin-top:8px}
.wj-tpv-ticket-people{margin:0 12px 8px}
.wj-tpv-people-btn{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:8px 10px;border:1px dashed var(--border);border-radius:10px;background:transparent;font:inherit;font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer;text-align:left}
.wj-tpv-person-chip{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}
.wj-tpv-person-chip.ok{background:var(--success-weak);color:var(--ok)}
.wj-tpv-person-chip.missing{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
/* ---------- Ficha de cliente: actividad ---------- */
.wj-cust-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:grid;gap:8px}
.wj-cust-block h4{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}
.wj-cust-block h4 small{color:var(--muted);font-weight:600}
.wj-cust-block h4 .wj-btn{margin-left:auto}
.wj-cust-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;color:var(--text);text-align:left}
.wj-cust-row>span:first-child{display:grid;gap:2px;min-width:0}
.wj-cust-row small{color:var(--muted);font-size:12px}
.wj-cust-row b{font-variant-numeric:tabular-nums}
.wj-cust-link{cursor:pointer;width:100%}
.wj-cust-link:hover{border-color:var(--accent)}
.wj-cust-row-actions{display:flex;gap:4px}

/* ---------- Tienda online (/reservar/<centro>) ---------- */
/* ---------- Tienda pública (/reservar): diseño «Vuelta» ---------- */
.wj-shop-body{background:rgb(244,246,250)}
.wj-shop{--shop-accent:rgb(25,230,193);--shop-navy:rgb(8,17,38);--shop-navy-2:rgb(16,30,64);--shop-ink:rgb(17,24,39);--shop-muted:rgb(100,112,132);--shop-line:rgb(226,231,239);--shop-card:rgb(255,255,255);--shop-bg:rgb(244,246,250);--shop-radius:16px;background:var(--shop-bg);color:var(--shop-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.wj-shop .wj-btn.primary{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-navy);font-weight:800}
.wj-shop .wj-btn.primary:hover{filter:brightness(.95)}
.wj-shop .wj-btn.primary:disabled{opacity:.45;filter:none}
.wj-shop .wj-input,.wj-shop .wj-textarea{background:var(--shop-card);border:1px solid var(--shop-line);color:var(--shop-ink)}
/* cabecera */
.wj-shop-head{position:sticky;top:0;z-index:20;background:var(--shop-navy);color:rgb(255,255,255);border-bottom:1px solid rgba(255,255,255,.06)}
.wj-shop-head-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:12px clamp(14px,4vw,32px)}
.wj-shop-head .wj-public-brand{flex:0 0 auto;cursor:pointer;color:rgb(255,255,255);display:flex;align-items:center}
.wj-shop-head .wj-public-logo{height:38px;width:auto;max-width:170px;object-fit:contain}
.wj-shop-nav{display:flex;gap:2px;margin-left:auto;margin-right:auto;flex-wrap:wrap;justify-content:center}
.wj-shop-navlink{border:0;background:transparent;color:rgba(255,255,255,.86);font:inherit;font-size:14px;font-weight:600;padding:8px 12px;border-radius:10px;cursor:pointer;text-decoration:none}
.wj-shop-navlink:hover,.wj-shop-navlink.active{color:var(--shop-accent);background:rgba(255,255,255,.06)}
.wj-shop .wj-public-head-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.wj-shop-cartbtn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgb(255,255,255);cursor:pointer}
.wj-shop-cartbtn b{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--shop-accent);color:var(--shop-navy);font-size:11px;font-weight:800;display:grid;place-items:center}
.wj-shop-lang{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;color:rgb(255,255,255)}
/* hero */
.wj-shop-hero{background:radial-gradient(120% 140% at 85% 20%,rgba(25,230,193,.28),transparent 55%),linear-gradient(120deg,var(--shop-navy) 0%,var(--shop-navy-2) 60%,rgb(32,18,74) 100%);color:rgb(255,255,255);overflow:hidden}
.wj-shop-hero-inner{position:relative;max-width:1180px;margin:0 auto;padding:28px clamp(14px,4vw,32px) 26px;display:flex;align-items:center;gap:20px;min-height:150px}
.wj-shop-hero.tall .wj-shop-hero-inner{min-height:320px;padding-top:40px;padding-bottom:40px}
.wj-shop-hero-copy{position:relative;z-index:2;max-width:560px;display:grid;gap:8px}
.wj-shop-kicker{font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--shop-accent)}
.wj-shop-hero h1{margin:0;font-size:clamp(30px,5vw,58px);line-height:1;font-weight:900;letter-spacing:-.02em}
.wj-shop-hero h1 em{font-style:normal;color:var(--shop-accent);display:block}
.wj-shop-hero:not(.tall) h1{font-size:clamp(24px,3.4vw,34px)}
.wj-shop-hero:not(.tall) h1 em{display:inline}
.wj-shop-hero p{margin:4px 0 0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.86);max-width:460px}
.wj-shop-hero:not(.tall) p{display:none}
.wj-shop-back{align-self:flex-start;order:-1;display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:rgb(255,255,255);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;padding:7px 14px 7px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.wj-shop-back:hover{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-navy)}
.wj-shop-back svg{transform:rotate(180deg)}
.wj-shop-hero-art{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:center;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,rgb(0,0,0) 30%);mask-image:linear-gradient(90deg,transparent,rgb(0,0,0) 30%)}
.wj-shop-hero:not(.tall) .wj-shop-hero-art{opacity:.55}
.wj-shop-sticker{position:absolute;right:clamp(14px,4vw,40px);top:50%;transform:translateY(-50%) rotate(-10deg);z-index:2;font-size:clamp(18px,2.6vw,30px);font-weight:900;letter-spacing:.04em;line-height:1.05;white-space:pre-line;text-align:center;color:rgb(255,255,255);text-shadow:0 2px 12px rgba(0,0,0,.45);max-width:150px}
.wj-shop-hero:not(.tall) .wj-shop-sticker{display:none}
/* pasos */
.wj-shop-stepwrap{background:var(--shop-card);border-bottom:1px solid var(--shop-line)}
.wj-shop-steps{list-style:none;margin:0 auto;padding:14px clamp(14px,4vw,32px);max-width:1180px;display:flex;align-items:center;gap:0;counter-reset:s}
.wj-shop-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;color:var(--shop-muted);font-size:13px;font-weight:600}
.wj-shop-steps li:not(:last-child)::after{content:"";position:absolute;top:14px;left:calc(50% + 20px);right:calc(-50% + 20px);border-top:2px dashed var(--shop-line)}
.wj-shop-step-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--shop-bg);border:2px solid var(--shop-line);font-size:12px;font-weight:800;color:var(--shop-muted)}
.wj-shop-steps li.active{color:var(--shop-ink)}
.wj-shop-steps li.active .wj-shop-step-n{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-navy);box-shadow:0 0 0 5px rgba(25,230,193,.18)}
.wj-shop-steps li.done{color:rgb(14,150,126)}
.wj-shop-steps li.done .wj-shop-step-n{background:rgba(25,230,193,.22);border-color:var(--shop-accent);color:rgb(14,150,126)}
.wj-shop-steps li.done .wj-shop-step-n svg{stroke-width:3}
.wj-shop-steps li.done::after{border-top-style:solid;border-color:var(--shop-accent)}
/* cuerpo */
.wj-shop-main{max-width:1180px;width:100%;margin:0 auto;padding:22px clamp(14px,4vw,32px) 40px;display:grid;gap:18px;box-sizing:border-box}
.wj-shop-main.with-aside{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.wj-shop-content{display:grid;gap:16px;min-width:0}
.wj-shop-aside{display:grid;gap:16px;position:sticky;top:76px}
.wj-shop-panel{background:var(--shop-card);border:1px solid var(--shop-line);border-radius:var(--shop-radius);padding:18px 20px;box-shadow:0 8px 24px rgba(15,23,42,.05);display:grid;gap:14px}
.wj-shop-panel-head{display:flex;align-items:center;gap:10px}
.wj-shop-panel-head h2{margin:0;font-size:17px;font-weight:800}
.wj-shop-panel-head h2 small{font-weight:500;color:var(--shop-muted);font-size:14px}
.wj-shop-panel-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(25,230,193,.16);color:rgb(14,150,126)}
.wj-shop .wj-public-lead{margin:0;color:var(--shop-muted);font-size:14.5px;line-height:1.5}
.wj-shop .wj-public-hint{margin:0;color:var(--shop-muted);font-size:14px}
.wj-shop .wj-public-error{background:rgb(254,242,242);color:rgb(185,28,28);border:1px solid rgb(254,202,202);border-radius:12px;padding:10px 14px;font-size:14px}
/* fechas */
.wj-shop-dates{display:grid;gap:10px}
.wj-shop-dates-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wj-shop-month{font-size:14px;font-weight:700;color:var(--shop-muted)}
.wj-shop-dates-nav{display:flex;align-items:center;gap:4px}
.wj-shop-day-nav{width:32px;height:32px;border-radius:9px;border:1px solid var(--shop-line);background:var(--shop-card);display:grid;place-items:center;cursor:pointer;color:var(--shop-ink)}
.wj-shop-day-nav svg{transform:rotate(180deg)}.wj-shop-day-nav.next svg{transform:none}
.wj-shop-day-nav:disabled{opacity:.35;cursor:default}
.wj-shop-day-pick{width:32px;height:32px;border-radius:9px;border:1px solid var(--shop-line);background:var(--shop-card);display:grid;place-items:center;cursor:pointer;color:var(--shop-ink)}
.wj-shop-day-pick:hover{border-color:var(--shop-accent)}
/* calendario emergente */
.wj-shop-cal-backdrop{align-items:center;padding:12px}
.wj-shop-cal{width:min(440px,100%);background:var(--shop-card);border-radius:18px;padding:16px;display:grid;gap:10px;box-shadow:0 24px 60px rgba(8,17,38,.35)}
.wj-shop-cal-head{display:flex;align-items:center;gap:8px}
.wj-shop-cal-head strong{flex:1;text-align:center;font-size:16px;font-weight:800}
.wj-shop-cal-x{margin-left:4px}
.wj-shop-cal-sub{margin:-4px 0 0;text-align:center;font-size:12.5px;color:var(--shop-muted)}
.wj-shop-cal-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:800;color:var(--shop-muted);text-transform:uppercase}
.wj-shop-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;transition:opacity .15s}
.wj-shop-cal-grid.loading{opacity:.45}
.wj-shop-cal-day{position:relative;display:grid;justify-items:center;align-content:start;gap:2px;padding:6px 2px 5px;min-height:54px;border-radius:10px;border:1px solid var(--shop-line);background:var(--shop-card);font:inherit;color:var(--shop-ink);cursor:pointer}
.wj-shop-cal-day.empty{border:0;background:transparent;cursor:default}
.wj-shop-cal-day.off{opacity:.35;cursor:default;background:var(--shop-bg)}
.wj-shop-cal-day:not(.off):hover{border-color:var(--shop-accent)}
.wj-shop-cal-day.today .wj-shop-cal-n{text-decoration:underline;text-underline-offset:3px}
.wj-shop-cal-day.sel{background:var(--shop-navy);border-color:var(--shop-navy);color:rgb(255,255,255)}
.wj-shop-cal-n{font-size:14px;font-weight:800;line-height:1}
.wj-shop-cal-p{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:700;color:var(--shop-muted);line-height:1}
.wj-shop-cal-day.p-low .wj-shop-cal-p{color:rgb(14,150,126)}
.wj-shop-cal-day.p-high .wj-shop-cal-p{color:rgb(217,119,6)}
.wj-shop-cal-day.sel .wj-shop-cal-p{color:rgba(255,255,255,.85)}
.wj-shop-cal-occ{display:block;width:70%;height:4px;border-radius:2px;background:rgba(15,23,42,.1);overflow:hidden}
.wj-shop-cal-occ b{display:block;height:100%;width:0;background:rgb(31,157,85)}
.wj-shop-cal-day.medium .wj-shop-cal-occ b{background:rgb(224,164,0)}
.wj-shop-cal-day.low .wj-shop-cal-occ b{background:rgb(249,115,22)}
.wj-shop-cal-day.full{background:rgb(254,242,242);color:rgb(185,28,28)}
.wj-shop-cal-day.full .wj-shop-cal-occ b{background:rgb(214,69,69)}
.wj-shop-cal-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;color:var(--shop-muted);border-top:1px solid var(--shop-line);padding-top:8px}
.wj-shop-cal-legend span{display:inline-flex;align-items:center;gap:5px}
.wj-shop-cal-legend .lv{width:14px;height:4px;border-radius:2px;background:rgb(31,157,85)}
.wj-shop-cal-legend .lv.medium{background:rgb(224,164,0)}.wj-shop-cal-legend .lv.low{background:rgb(249,115,22)}.wj-shop-cal-legend .lv.full{background:rgb(214,69,69)}
.wj-shop-cal-legend .pl{width:8px;height:8px;border-radius:50%;background:rgb(217,119,6)}
/* cuenta de cliente */
.wj-shop-userbtn.on{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-navy)}
.wj-shop-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--shop-navy);color:var(--shop-accent);font-size:12px;font-weight:800}
.wj-shop-userbtn .wj-shop-avatar{width:100%;height:100%;border-radius:11px;background:transparent;color:inherit;font-size:13px}
.wj-shop-avatar.lg{width:48px;height:48px;font-size:17px}
.wj-shop-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--shop-bg)}
.wj-shop-auth-tabs button{border:0;border-radius:9px;padding:9px;background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--shop-muted);cursor:pointer}
.wj-shop-auth-tabs button.on{background:var(--shop-card);color:var(--shop-ink);box-shadow:0 2px 8px rgba(15,23,42,.08)}
.wj-shop-auth-form{display:grid;gap:12px}
.wj-shop-auth .wj-public-cta{min-height:46px;border-radius:12px;width:100%}
.wj-shop-acct{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--shop-line);border-radius:12px}
.wj-shop-acct>div{flex:1;min-width:0;display:grid}.wj-shop-acct strong{font-size:14.5px}.wj-shop-acct small{color:var(--shop-muted);font-size:12.5px}
.wj-shop-acct-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wj-shop-inline-link{border:0;background:transparent;color:rgb(14,150,126);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wj-shop-mybookings{display:grid;gap:8px}
.wj-shop-mybooking{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--shop-line);border-radius:12px}
.wj-shop-mybooking>div{display:grid;gap:2px;min-width:0}.wj-shop-mybooking strong{font-size:14.5px}.wj-shop-mybooking small{color:var(--shop-muted);font-size:12.5px}
.wj-shop-ref{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.wj-shop-bstatus{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:rgba(224,164,0,.16);color:rgb(150,100,0);white-space:nowrap}
.wj-shop-bstatus.ok{background:rgba(31,157,85,.16);color:rgb(21,110,60)}.wj-shop-bstatus.ko{background:rgb(254,226,226);color:rgb(185,28,28)}
/* pasos clicables */
.wj-shop-steps li button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}
.wj-shop-steps li button:hover .wj-shop-step-n{border-color:var(--shop-accent)}
.wj-shop-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wj-shop-day{display:grid;justify-items:center;gap:2px;padding:10px 4px;border-radius:12px;border:1px solid var(--shop-line);background:var(--shop-card);cursor:pointer;color:var(--shop-ink);font:inherit}
.wj-shop-day small{font-size:11px;font-weight:700;color:var(--shop-muted);text-transform:uppercase;letter-spacing:.02em}
.wj-shop-day strong{font-size:20px;font-weight:800;line-height:1.1}
.wj-shop-day:hover{border-color:var(--shop-accent)}
.wj-shop-day.active{background:linear-gradient(135deg,var(--shop-accent),rgb(14,150,126));border-color:transparent;color:rgb(255,255,255);box-shadow:0 8px 20px rgba(25,230,193,.35)}
.wj-shop-day.active small{color:rgba(255,255,255,.9)}
.wj-shop-day:disabled{opacity:.35;cursor:default}
/* horas */
.wj-shop-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.wj-shop-slot{display:grid;justify-items:center;gap:2px;padding:12px 8px;border-radius:12px;border:1px solid var(--shop-line);background:var(--shop-card);cursor:pointer;color:var(--shop-ink);font:inherit}
.wj-shop-slot strong{font-size:16px;font-weight:800}
.wj-shop-slot small{font-size:12px;color:var(--shop-muted)}
.wj-shop-slot:hover{border-color:var(--shop-accent)}
.wj-shop-slot.active{background:linear-gradient(135deg,var(--shop-accent),rgb(14,150,126));border-color:transparent;color:rgb(255,255,255)}
.wj-shop-slot.active small{color:rgba(255,255,255,.9)}
.wj-shop-slot:disabled{opacity:.4;cursor:default;text-decoration:line-through}
/* producto */
.wj-shop-product-head{display:flex;gap:18px;align-items:flex-start}
.wj-shop-product-img{width:min(300px,42%);aspect-ratio:4/3;object-fit:cover;border-radius:14px;flex:0 0 auto;display:grid;place-items:center;background:var(--shop-bg);color:var(--shop-muted)}
.wj-shop-product-copy{display:grid;gap:8px;min-width:0}
.wj-shop-product-copy h2{margin:0;font-size:22px;font-weight:900}
.wj-shop-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--shop-muted)}
.wj-shop-meta span{display:inline-flex;align-items:center;gap:5px}
.wj-shop-qty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--shop-line);border-radius:12px}
.wj-shop-qty-copy{display:grid;gap:2px}.wj-shop-qty-copy strong{font-size:15px}.wj-shop-qty-copy small{color:var(--shop-muted);font-size:12.5px}.wj-shop-qty-copy b{font-size:14px}
.wj-shop-stepper{display:inline-flex;align-items:center;border:1px solid var(--shop-line);border-radius:10px;overflow:hidden;background:var(--shop-bg)}
.wj-shop-stepper button{width:36px;height:36px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--shop-ink)}
.wj-shop-stepper button:disabled{opacity:.35;cursor:default}
.wj-shop-stepper output{min-width:38px;text-align:center;font-weight:800;background:var(--shop-card);height:36px;display:grid;place-items:center}
.wj-shop-stepper.big button{width:42px;height:42px}.wj-shop-stepper.big output{height:42px;min-width:46px;font-size:16px}
.wj-shop-addons{display:grid;gap:10px}
.wj-shop-addon{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--shop-line);border-radius:12px}
.wj-shop-addon-img{width:64px;height:64px;border-radius:10px;background:var(--shop-bg);display:grid;place-items:center;overflow:hidden;color:var(--shop-muted)}
.wj-shop-addon-img img{width:100%;height:100%;object-fit:cover}
.wj-shop-addon-copy{display:grid;gap:2px;min-width:0}.wj-shop-addon-copy strong{font-size:14.5px}.wj-shop-addon-copy small{color:var(--shop-muted);font-size:12.5px;line-height:1.4}
.wj-shop-addon-price{font-size:15px;font-weight:800}
.wj-shop-add{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--shop-card);border:1px solid var(--shop-line);border-radius:var(--shop-radius)}
.wj-shop .wj-public-total{display:flex;align-items:baseline;gap:8px;font-size:15px;color:var(--shop-muted)}.wj-shop .wj-public-total strong{font-size:24px;color:var(--shop-ink);font-weight:900}
.wj-shop-addbtn{display:inline-flex;align-items:center;gap:8px;padding:0 20px;min-height:46px;border-radius:12px}
/* catálogo */
.wj-shop-section{display:grid;gap:12px}
.wj-shop-section h2{margin:0;font-size:20px;font-weight:900}
.wj-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px}
.wj-shop-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--shop-line);background:var(--shop-card);border-radius:14px;overflow:hidden;cursor:pointer;padding:8px 10px 8px 8px;font:inherit;color:var(--shop-ink);box-shadow:0 4px 14px rgba(15,23,42,.04);transition:transform .15s,box-shadow .15s}
.wj-shop-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.1)}
.wj-shop-card-img{display:block;width:72px;height:72px;border-radius:10px;background:var(--shop-bg);overflow:hidden}
.wj-shop-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.wj-shop-card-ph{display:grid;place-items:center;height:100%;color:var(--shop-muted)}
.wj-shop-card-body{display:grid;gap:3px;min-width:0}
.wj-shop-card-body strong{font-size:14px;font-weight:800;line-height:1.2}
.wj-shop-card-desc{font-size:12px;color:var(--shop-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.wj-shop-card-go{color:var(--shop-muted)}
.wj-shop-grid.dim .wj-shop-card{opacity:.6}
.wj-shop-card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.wj-shop-card-price{font-weight:900;font-size:14px;color:rgb(14,150,126)}
.wj-shop-card-foot small{color:var(--shop-muted);font-size:12px}
/* carrito */
.wj-shop-cart{background:var(--shop-card);border:1px solid var(--shop-line);border-radius:var(--shop-radius);padding:16px 18px;display:grid;gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.wj-shop-cart-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--shop-line)}
.wj-shop-cart-head h3{margin:0;font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.wj-shop-line{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:start}
.wj-shop-line-img{width:52px;height:44px;border-radius:8px;background:var(--shop-bg);display:grid;place-items:center;overflow:hidden;color:var(--shop-muted)}
.wj-shop-line-img img{width:100%;height:100%;object-fit:cover}
.wj-shop-line-copy{display:grid;gap:1px;min-width:0}.wj-shop-line-copy strong{font-size:14px}.wj-shop-line-copy small{font-size:12px;color:var(--shop-muted)}
.wj-shop-line-right{display:grid;justify-items:end;gap:4px}.wj-shop-line-right b{font-size:15px}
.wj-shop-line-del{border:0;background:transparent;color:var(--shop-muted);cursor:pointer;padding:2px}.wj-shop-line-del:hover{color:rgb(185,28,28)}
.wj-shop-promo-code{display:flex;align-items:center;gap:6px;border:1px solid var(--shop-line);border-radius:10px;padding:4px 4px 4px 10px}
.wj-shop-promo-code .wj-input{border:0;background:transparent;flex:1;min-width:0;padding:6px 4px}
.wj-shop-promo-ico{color:var(--shop-muted);display:grid}
.wj-shop-cart-sums{margin:0;display:grid;gap:6px}
.wj-shop-cart-sums div{display:flex;justify-content:space-between;font-size:13.5px;color:var(--shop-muted)}.wj-shop-cart-sums dd{margin:0;color:var(--shop-ink)}
.wj-shop-cart-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--shop-line);padding-top:10px;font-size:18px;font-weight:800}
.wj-shop-cart-total b{font-size:22px;font-weight:900}
.wj-shop-cart .wj-public-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:12px;width:100%}
.wj-shop-secure{margin:0;text-align:center;font-size:12px;color:var(--shop-muted);display:flex;justify-content:center;align-items:center;gap:5px}
.wj-shop-cart-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:16px 0;color:var(--shop-muted);font-size:13.5px}
/* confianza, promo, grupos */
.wj-shop-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wj-shop-badge{display:grid;justify-items:center;text-align:center;gap:4px;font-size:12px;color:var(--shop-muted)}
.wj-shop-badge strong{font-size:12.5px;color:var(--shop-ink)}
.wj-shop-badge-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(25,230,193,.16);color:rgb(14,150,126)}
.wj-shop-promo{position:relative;overflow:hidden;border-radius:var(--shop-radius);background:radial-gradient(90% 120% at 100% 0%,rgba(25,230,193,.35),transparent 55%),linear-gradient(135deg,var(--shop-navy),var(--shop-navy-2));color:rgb(255,255,255);min-height:190px;display:flex;align-items:flex-end}
.wj-shop-promo-copy{position:relative;z-index:2;padding:18px;display:grid;gap:8px;max-width:62%}
.wj-shop-promo-copy h3{margin:0;font-size:22px;line-height:1.05;font-weight:900}.wj-shop-promo-copy h3::first-line{font-weight:600;font-size:16px}
.wj-shop-promo-copy p{margin:0;font-size:13px;color:rgba(255,255,255,.85);line-height:1.4}
.wj-shop-promo-btn{display:inline-flex;align-items:center;gap:6px;justify-self:start;border:0;border-radius:10px;padding:9px 14px;background:var(--shop-accent);color:var(--shop-navy);font:inherit;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}
.wj-shop-promo-art{position:absolute;inset:0 0 0 45%;background-size:cover;background-position:center;-webkit-mask-image:linear-gradient(90deg,transparent,rgb(0,0,0) 35%);mask-image:linear-gradient(90deg,transparent,rgb(0,0,0) 35%)}
.wj-shop-group{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--shop-line);border-radius:var(--shop-radius);background:var(--shop-card);color:var(--shop-ink);text-decoration:none}
.wj-shop-group-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(25,230,193,.16);color:rgb(14,150,126)}
.wj-shop-group strong{display:block;font-size:14.5px}.wj-shop-group small{color:var(--shop-muted);font-size:12.5px;line-height:1.4}
/* checkout / listo */
.wj-shop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wj-shop-checkout form{display:grid;gap:12px}
.wj-shop .wj-public-field{display:grid;gap:5px;font-size:13px;font-weight:600}
.wj-shop .wj-public-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--shop-muted)}
.wj-shop .wj-public-note{margin:0;font-size:13px;color:var(--shop-muted);display:flex;gap:6px;align-items:center}
.wj-shop-checkout .wj-public-cta{min-height:48px;border-radius:12px;font-size:15px}
.wj-shop-done{text-align:center;justify-items:center}
.wj-shop-done .wj-public-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(25,230,193,.2);color:rgb(14,150,126)}
.wj-shop-done .wj-public-check.ko{background:rgb(254,226,226);color:rgb(185,28,28)}
.wj-shop-done h2{margin:0;font-size:24px;font-weight:900}
.wj-shop .wj-public-reference{display:grid;gap:4px;padding:12px 20px;border:1px dashed var(--shop-line);border-radius:12px}
.wj-shop .wj-public-reference strong{font-size:22px;letter-spacing:.06em}
.wj-shop .wj-public-summary{width:100%;max-width:420px;margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;text-align:left;font-size:13.5px}
.wj-shop .wj-public-summary dt{color:var(--shop-muted)}.wj-shop .wj-public-summary dd{margin:0;font-weight:600}
/* barra móvil y hoja del carrito */
.wj-shop-bar{position:sticky;bottom:0;z-index:15;display:none;align-items:center;gap:10px;padding:10px 14px;background:var(--shop-navy);color:rgb(255,255,255)}
.wj-shop-bar-open{flex:1;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.wj-shop-bar-open b{font-size:17px}
.wj-shop-bar-go{min-height:42px;border-radius:10px;padding:0 16px}
.wj-shop-sheet-backdrop{position:fixed;inset:0;z-index:30;background:rgba(8,17,38,.55);display:flex;align-items:flex-end;justify-content:center}
.wj-shop-sheet{width:min(560px,100%);max-height:86vh;overflow:auto;background:var(--shop-card);border-radius:18px 18px 0 0;padding:6px}
/* pie */
.wj-shop-foot{background:var(--shop-navy);color:rgb(255,255,255);padding:28px clamp(14px,4vw,32px);display:grid;gap:14px}
.wj-shop-foot-inner{max-width:1180px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.wj-shop-foot-brand .wj-public-logo{height:44px;width:auto;max-width:200px;object-fit:contain}
.wj-shop-foot-tag{font-size:clamp(14px,2vw,22px);letter-spacing:.32em;font-weight:600;text-transform:uppercase;color:rgba(255,255,255,.9)}
.wj-shop-foot-note{font-size:clamp(16px,2vw,22px);font-weight:900;letter-spacing:.04em;transform:rotate(-6deg);color:rgb(255,255,255)}
.wj-shop-foot-links{max-width:1180px;margin:0 auto;width:100%;display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.wj-shop-foot-links a{color:inherit}
@media(max-width:899px){
 .wj-shop-main.with-aside{grid-template-columns:1fr}
 .wj-shop-aside{position:static}
 .wj-shop-aside .wj-shop-cart{display:none}
 .wj-shop-bar{display:flex}
 .wj-shop-nav{display:none}
 .wj-shop-hero-art{inset:0 0 0 30%;opacity:.5}
}
@media(min-width:900px){
 .wj-shop-sheet-backdrop{align-items:center}
 .wj-shop-sheet{border-radius:18px}
}
@media(max-width:520px){
 .wj-shop-form-grid{grid-template-columns:1fr}
 .wj-shop-steps li .wj-shop-step-l{font-size:11px;text-align:center}
 .wj-shop-day strong{font-size:16px}
 .wj-shop-product-head{flex-direction:column}
 .wj-shop-product-img{width:100%}
 .wj-shop-addon{grid-template-columns:52px minmax(0,1fr);grid-template-areas:"img copy" "price step"}
 .wj-shop-addon-img{grid-area:img}.wj-shop-addon-copy{grid-area:copy}.wj-shop-addon-price{grid-area:price}.wj-shop-addon .wj-shop-stepper{grid-area:step;justify-self:end}
 .wj-shop-badges{grid-template-columns:1fr 1fr 1fr;gap:6px}
 .wj-shop-promo-copy{max-width:100%}
 .wj-shop-sticker{display:none}
}

/* ---------- Ventanas a pantalla completa ---------- */
.wj-modal-backdrop.is-full{padding:12px}
.wj-modal.full{width:100%;height:100%;max-height:none;max-width:1180px;display:flex;flex-direction:column;border-radius:20px}
.wj-modal.full .wj-modal-head{flex:0 0 auto;position:sticky;top:0;z-index:2;background:var(--surface)}
.wj-modal.full .wj-modal-body{flex:1;min-height:0;overflow:auto}
html[data-layout="mobile"] .wj-modal-backdrop.is-full{padding:0}
html[data-layout="mobile"] .wj-modal.full{border-radius:0;max-height:100dvh}
/* ---------- IVA ---------- */
.wj-tax-rates{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}
.wj-tax-rate{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}
.wj-tax-rate b{font-size:18px;font-variant-numeric:tabular-nums}
.wj-tax-rate span{font-size:12.5px;color:var(--muted)}
.wj-tax-rate.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.wj-tax-cats{display:grid;gap:8px}
.wj-tax-cat{display:grid;grid-template-columns:14px minmax(0,1fr) minmax(200px,320px);gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.wj-tax-cat-dot{width:14px;height:14px;border-radius:50%;background:var(--surface3)}
@media(max-width:620px){.wj-tax-cat{grid-template-columns:14px minmax(0,1fr)}.wj-tax-cat .wj-select{grid-column:1/-1}}
/* ---------- Selector de fecha ---------- */
.wj-date{position:relative;display:block;width:100%}
.wj-date input[type="date"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.wj-date-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;font-size:14px;color:var(--text);cursor:pointer;text-align:left}
.wj-date-btn>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-date-btn.empty>span{color:var(--muted)}
.wj-date-btn:hover{border-color:var(--accent)}
.wj-date-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.wj-date-btn.disabled{opacity:.6;cursor:not-allowed}
.wj-date-btn i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.wj-date-btn i:hover{background:var(--surface2);color:var(--danger)}
.wj-date-pop{position:fixed;z-index:120;width:300px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 18px 44px rgba(15,23,42,.18);animation:wjDateIn .14s ease}
@keyframes wjDateIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.wj-date-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.wj-date-head .wj-btn svg{transform:rotate(180deg)}
.wj-date-head .wj-btn.next svg{transform:none}
.wj-date-title{display:flex;gap:4px;flex:1;justify-content:center}
.wj-date-month,.wj-date-year{border:1px solid transparent;border-radius:8px;background:transparent;font:inherit;font-weight:800;font-size:13.5px;color:var(--text);padding:4px 6px;cursor:pointer;text-transform:capitalize}
.wj-date-month:hover,.wj-date-year:hover{background:var(--surface2)}
.wj-date-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;margin-bottom:2px}
.wj-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.wj-date-cell{height:36px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums}
.wj-date-cell:hover:not(:disabled){background:var(--surface2)}
.wj-date-cell.today{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}
.wj-date-cell.sel{background:var(--accent);color:var(--on-accent,#fff)}
.wj-date-cell:disabled{opacity:.3;cursor:not-allowed}
.wj-date-cell.pad{pointer-events:none}
.wj-date-foot{display:flex;gap:6px;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}

/* ---------- Roles y permisos legibles ---------- */
.wj-perm-tools{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wj-perm-tools .wj-search{flex:1}
.wj-perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.wj-perm-group{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.wj-perm-group.has-some{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.wj-perm-group-head{padding:10px 12px;background:var(--surface2);border-bottom:1px solid var(--border)}
.wj-perm-all{display:flex;align-items:center;gap:10px;cursor:pointer}
.wj-perm-all input{width:18px;height:18px}
.wj-perm-all strong{flex:1;font-size:14px}
.wj-perm-all small{color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.wj-perm-group-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface);color:var(--accent)}
.wj-perm-list{display:grid;gap:2px;padding:6px}
.wj-perm-item{display:flex;align-items:flex-start;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.wj-perm-item:hover{background:var(--surface2)}
.wj-perm-item input{margin-top:2px;width:17px;height:17px;flex:none}
.wj-perm-copy{display:grid;gap:1px;min-width:0}
.wj-perm-copy strong{font-size:13.5px;font-weight:600;line-height:1.3}
.wj-perm-copy small{font-size:11px;color:var(--text-3,var(--muted));font-family:ui-monospace,Menlo,Consolas,monospace}
.wj-perm-summary{display:grid;gap:10px}
.wj-perm-sum-group h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px}
.wj-perm-sum-group h4 small{color:var(--muted);font-weight:600}
.wj-perm-sum-group ul{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.wj-perm-sum-group li{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;font-size:13px}
.wj-perm-sum-group li small{color:var(--text-3,var(--muted));font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10.5px;white-space:nowrap}
.wj-perm-id{margin-top:14px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}

/* ---------- Configuración: pestañas y volver ---------- */
.wj-settings-tabs{margin:0 0 14px;display:flex;gap:6px;flex-wrap:wrap}
.wj-settings-back{margin-bottom:12px;display:inline-flex;align-items:center;gap:6px}
.wj-settings-back svg{transform:rotate(180deg)}

/* ---------- Login ---------- */
.wj-login-art-top{display:flex;align-items:center;min-height:44px}
.wj-login-logo{height:44px;width:auto;max-width:220px;object-fit:contain}
.wj-login-logo.sm{height:34px}
.wj-login-art-copy{display:grid;gap:10px;max-width:460px}
.wj-login-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.7)}
.wj-login-features{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.wj-login-features li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,.88)}
.wj-login-features li svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:rgba(255,255,255,.14)}
.wj-login-version{font-size:11px;color:rgba(255,255,255,.55);font-weight:700;letter-spacing:.04em}
.wj-login-mobile-brand{display:none;align-items:center;gap:10px;justify-content:center;padding:26px 0 6px}
@media(max-width:820px){.wj-login-art{display:none}.wj-login-mobile-brand{display:flex}.wj-login-panel{padding:8px 18px 32px}.wj-login-stack{max-width:440px;margin:0 auto;width:100%}.wj-login-card{box-shadow:none;border:0;padding:8px 0}}
/* ---------- Perfil ---------- */
.wj-me{display:grid;gap:16px}
.wj-me-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#000) 0%,var(--accent) 55%,color-mix(in srgb,var(--accent) 65%,#fff) 100%);color:#fff;box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 35%,transparent)}
.wj-me-hero-main{display:flex;align-items:center;gap:18px;min-width:0}
.wj-me-avatar{position:relative;flex:none;width:84px;height:84px;border-radius:50%;padding:0;border:3px solid rgba(255,255,255,.55);background:rgba(255,255,255,.15);cursor:pointer;overflow:visible}
.wj-me-avatar .wj-avatar,.wj-me-avatar .wj-avatar-media{width:100%;height:100%;border-radius:50%;font-size:26px}
.wj-me-avatar .wj-avatar-media img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wj-me-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accent);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.wj-me-id{min-width:0;display:grid;gap:4px}
.wj-me-id h1{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;line-height:1.1}
.wj-me-id p{margin:0;opacity:.9;font-size:14px}
.wj-me-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.wj-me-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}
.wj-me-hero-actions .wj-btn{background:rgba(255,255,255,.92);color:var(--accent);border-color:transparent}
.wj-me-ring{display:flex;align-items:center;gap:12px}
.wj-me-ring svg{width:96px;height:96px;transform:rotate(-90deg)}
.wj-me-ring circle{fill:none;stroke:rgba(255,255,255,.22);stroke-width:9}
.wj-me-ring .wj-me-ring-fill{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)}
.wj-me-ring div{display:grid}
.wj-me-ring b{font-size:24px;line-height:1}
.wj-me-ring span{font-size:12px;opacity:.85;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.wj-me-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.wj-me-stat{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.wj-me-stat-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);margin-bottom:4px}
.wj-me-stat b{font-size:26px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wj-me-stat span:not(.wj-me-stat-icon){font-size:12.5px;color:var(--muted);font-weight:700}
.wj-me-stat small{font-size:11.5px;color:var(--muted)}
.wj-me-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
.wj-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.wj-ach{position:relative;display:grid;gap:4px;padding:14px 12px 12px;border:1px solid var(--border);border-radius:18px;background:var(--surface);text-align:center;justify-items:center;filter:grayscale(1);opacity:.62;transition:transform .2s ease,box-shadow .2s ease,filter .3s ease,opacity .3s ease}
.wj-ach.on{filter:none;opacity:1;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 18%,transparent)}
.wj-ach.on:hover{transform:translateY(-2px)}
.wj-ach-emoji{font-size:32px;line-height:1;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--surface2)}
.wj-ach.on .wj-ach-emoji{background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}
.wj-ach strong{font-size:13px;line-height:1.2}
.wj-ach small{font-size:11px;color:var(--muted);line-height:1.3;min-height:28px}
.wj-ach-bar{width:100%;height:5px;border-radius:999px;background:var(--surface2);overflow:hidden}
.wj-ach-bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .6s ease}
.wj-ach em{font-style:normal;font-size:11px;font-weight:800;color:var(--muted)}
.wj-ach.on em{color:var(--accent)}
.wj-me-acts{display:grid;gap:6px}
.wj-me-act{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-me-act:hover{border-color:var(--accent)}
.wj-me-act>span:nth-child(2){display:grid;gap:1px;min-width:0}
.wj-me-act strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-me-act small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-me-widget{display:flex;gap:10px;align-items:center}
@media(max-width:899px){.wj-me-grid{grid-template-columns:1fr}.wj-me-hero{grid-template-columns:1fr}.wj-me-ring{justify-content:flex-start}}
@media(max-width:520px){.wj-me-hero{padding:18px}.wj-me-hero-main{flex-direction:column;align-items:flex-start}.wj-me-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wj-ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Libros de la Guía ---------- */
.wj-shelf .wj-section-heading{margin-bottom:12px}
.wj-shelf-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px 14px;padding:6px 2px 2px}
.wj-book{display:grid;gap:8px;padding:0;border:0;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-book-cover{position:relative;display:grid;place-items:center;aspect-ratio:3/4;border-radius:6px 12px 12px 6px;background:linear-gradient(160deg,color-mix(in srgb,var(--wj-tpv-card-accent,var(--accent)) 92%,#fff) 0%,var(--wj-tpv-card-accent,var(--accent)) 55%,color-mix(in srgb,var(--wj-tpv-card-accent,var(--accent)) 70%,#000) 100%);color:#fff;overflow:hidden;box-shadow:0 10px 22px rgba(15,23,42,.18),inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .2s ease,box-shadow .2s ease}
.wj-book:hover .wj-book-cover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 18px 34px rgba(15,23,42,.24)}
.wj-book-cover.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wj-book-cover.sm{width:96px;aspect-ratio:3/4}
.wj-book-spine{position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.08));pointer-events:none}
.wj-book-emoji{font-size:34px;line-height:1;margin-bottom:8px}
.wj-book-emoji svg{width:30px;height:30px}
.wj-book-title{position:absolute;left:14px;right:10px;bottom:12px;font-size:12.5px;font-weight:800;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.35);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wj-book-cover>.wj-book-emoji{align-self:start;margin-top:16px}
.wj-book-meta{display:grid;gap:1px;min-width:0}
.wj-book-meta strong{font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-book-meta small{color:var(--muted);font-size:11.5px}
.wj-kb-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px 14px}
.wj-kb-cover-row{display:flex;gap:14px;align-items:flex-start}
.wj-upload-zone.compact{padding:12px}
.wj-kb-move-down svg{transform:rotate(90deg)}
.wj-kb-row-actions [data-kb-move="up"] svg{transform:rotate(-90deg)}
/* ---------- Guía: base a pantalla completa ---------- */
.wj-kb-book{min-height:calc(100dvh - var(--top) - 32px);align-items:stretch}
.wj-kb-tree{position:sticky;top:calc(var(--top) + 12px);height:calc(100dvh - var(--top) - 32px);overflow:auto;align-content:start}
.wj-kb-main{display:flex;flex-direction:column;min-height:calc(100dvh - var(--top) - 32px)}
.wj-kb-main .wj-handbook-article{display:flex;flex-direction:column;flex:1}
.wj-kb-main .wj-handbook-content{flex:1}
.wj-hb-social{margin-top:auto;padding-top:14px}
.wj-hb-social-bar{gap:10px}
.wj-hb-comment-form{position:sticky;bottom:calc(var(--safe,0px) + 8px);z-index:3;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 10px 30px rgba(15,23,42,.12)}
.wj-hb-comment-form .wj-textarea{min-height:40px;max-height:120px;border:0;background:var(--surface2);resize:none}
.wj-hb-comment-form .wj-btn{height:40px}
.wj-hb-comments{max-height:none}
.wj-kb-mobilebar{display:none}
@media(max-width:900px){
 .wj-kb-book{min-height:0}
 .wj-kb-tree{display:none}
 .wj-kb-main{min-height:0;padding:14px}
 .wj-kb-mobilebar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;margin-bottom:12px;position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:8px}
 .wj-hb-comment-form{bottom:calc(var(--dock,64px) + var(--safe,0px) + 12px)}
 .wj-shelf-row{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px 10px}
}
/* ---------- Buscador global ---------- */
.wj-global-search{position:relative}
.wj-search-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:70;display:grid;gap:2px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 44px rgba(15,23,42,.18)}
.wj-search-hit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:0;border-radius:10px;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-search-hit:hover,.wj-search-hit.first{background:var(--surface2)}
.wj-search-hit-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.wj-search-hit>span:nth-child(2){display:grid;min-width:0}
.wj-search-hit strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-search-hit small{font-size:11.5px;color:var(--muted)}
.wj-search-hit em{font-style:normal;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

/* ---------- Pie del menú: perfil + cerrar sesión ---------- */
.wj-side-user{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.wj-side-user .wj-user-chip{min-width:0;gap:8px;padding:8px}
.wj-side-user .wj-user-meta{min-width:0}
.wj-side-user .wj-user-meta span{display:block;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-side-logout{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font:inherit;font-size:12.5px;font-weight:700;color:var(--danger);cursor:pointer}
.wj-side-logout:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-color:var(--danger)}
.wj-side-logout span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1179px){.wj-side-user{grid-template-columns:1fr;gap:4px}.wj-side-logout span{display:none}}

.wj-me-widgets{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:0}
.wj-me-widgets summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--muted)}
.wj-me-widgets-body{padding:0 16px 14px;display:grid;gap:10px}
.wj-me-widgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.wj-me-widget{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:12px}
.wj-me-widget small{display:block;color:var(--muted);font-size:11.5px}

/* ---------- Gymkana: cajón ---------- */
.wj-gym-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.wj-gym-ref{display:grid;gap:6px}
.wj-gym-pills{display:flex;gap:8px;flex-wrap:wrap}
.wj-pill-select{position:relative;display:inline-flex;align-items:center;gap:4px;padding:0 10px 0 0;border-radius:999px;background:var(--surface2);color:var(--text);font-size:12px;font-weight:800;text-transform:capitalize}
.wj-pill-select select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-weight:800;color:inherit;padding:5px 4px 5px 12px;cursor:pointer;text-transform:capitalize}
.wj-pill-select select:focus{outline:none}
.wj-pill-select svg{pointer-events:none;opacity:.7;transform:rotate(90deg)}
.wj-pill-select.status.nuevo{background:color-mix(in srgb,var(--warn) 18%,var(--surface));color:color-mix(in srgb,var(--warn) 70%,#000)}
.wj-pill-select.status.preparando{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}
.wj-pill-select.status.confirmado{background:var(--success-weak);color:var(--ok)}
.wj-pill-select.status.realizado{background:var(--surface3);color:var(--muted)}
.wj-pill-select.pay.no_pagado{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.wj-pill-select.pay.parcial{background:color-mix(in srgb,var(--warn) 18%,var(--surface));color:color-mix(in srgb,var(--warn) 70%,#000)}
.wj-pill-select.pay.pagado{background:var(--success-weak);color:var(--ok)}
.wj-gym-notes{margin-top:10px}
.wj-drawer-foot .wj-actionbar{flex-wrap:wrap;gap:6px}
.wj-drawer-foot .wj-actionbar .wj-btn.primary{margin-left:auto}

/* ---------- Móvil: sin zoom por doble toque ---------- */
html{touch-action:manipulation}
/* ---------- Pie del cajón: rejilla, sin desbordar ---------- */
.wj-drawer-foot .wj-actionbar{display:flex;flex-wrap:wrap;gap:6px}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar{display:grid;grid-template-columns:1fr 1fr;gap:6px}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar .wj-btn{min-height:40px;font-size:12.5px;padding:0 8px}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar .wj-btn.primary{grid-column:1/-1;order:-1;margin-left:0}
/* ---------- Calendario: modo arriba ---------- */
.wj-calendar-head{margin-bottom:8px}
.wj-calendar-head .wj-calendar-mode{display:inline-flex}
/* ---------- Selector de mes ---------- */
.wj-date.wj-month{width:auto;min-width:170px}
.wj-month-pop{width:260px}
.wj-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.wj-month-grid .wj-date-cell{text-transform:capitalize}
/* ---------- Botón de menú visible ---------- */
html:not([data-layout="mobile"]) .wj-shell.has-secondary .wj-btn.wj-secondary-toggle{width:auto;padding:0 12px 0 10px;gap:7px;font-size:12.5px;font-weight:700;color:var(--muted);border:1px solid var(--border)}
html:not([data-layout="mobile"]) .wj-shell.has-secondary .wj-secondary-toggle-label{display:inline}
html:not([data-layout="mobile"]) .wj-btn.wj-secondary-toggle.is-collapsed{color:var(--on-accent,#fff);background:var(--accent);border-color:var(--accent);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}
/* ---------- Historial: rastro de versiones ---------- */
.wj-changelog-older{margin-top:8px;border-top:1px dashed var(--border);padding-top:10px}
.wj-changelog-older summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--accent);list-style:none}
.wj-changelog-older summary::-webkit-details-marker{display:none}
.wj-changelog-older summary svg{transform:rotate(90deg);transition:transform .15s}
.wj-changelog-older[open] summary svg{transform:rotate(-90deg)}
.wj-changelog-trace{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.wj-changelog-older .wj-changelog-list{margin-top:10px}
/* ---------- Contactos ---------- */
.wj-contacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.wj-contact{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface);transition:border-color .15s,box-shadow .15s}
.wj-contact:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.wj-contact-avatar-btn{border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%}
.wj-contact-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--wj-tpv-card-accent,var(--accent));color:#fff;font-weight:800;font-size:16px;overflow:hidden;flex:none}
.wj-contact-avatar img{width:100%;height:100%;object-fit:cover}
.wj-contact-avatar-btn:hover .wj-contact-avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.wj-contact-body{display:grid;gap:2px;min-width:0;border:0;background:transparent;padding:0;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-contact-body strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-contact-body small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-contact-tags{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px}
.wj-contact-tags i{font-style:normal;display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted)}
.wj-contact-cta{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.wj-contact-hero{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.wj-contact-hero .wj-contact-avatar{width:64px;height:64px;font-size:20px}
.wj-contact-hero strong{display:block;font-size:17px}
.wj-contact-hero small{color:var(--muted)}
.wj-contact-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.wj-contact-actions .wj-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.wj-contact-threads{margin-top:16px}
.wj-home-contacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:10px}
.wj-home-contact{display:grid;justify-items:center;gap:4px;padding:10px 6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font:inherit;color:var(--text);cursor:pointer;min-width:0}
.wj-home-contact:hover{border-color:var(--accent)}
.wj-home-contact .wj-contact-avatar{width:44px;height:44px;font-size:14px}
.wj-home-contact strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-home-contact small{font-size:10.5px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.wj-changelog-older:not([open])>.wj-changelog-list{display:none}

/* ---------- Stock: retirar más compacto ---------- */
.wj-wd-head{min-height:56px;padding:8px 12px}
.wj-wd-form{gap:8px;padding:10px 12px}
.wj-wd-units{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:420px}
.wj-wd-unit{padding:7px 6px;font-size:12.5px;border-radius:10px}
.wj-wd-stepper{grid-template-columns:40px 96px 40px auto;gap:6px}
.wj-wd-step{height:40px;font-size:20px;border-radius:10px}
.wj-wd-count{height:40px;font-size:17px}
.wj-wd-form .wj-input:not(.wj-wd-count){height:38px}
.wj-wd-go{height:42px;font-size:14px;border-radius:12px;max-width:320px}
@media(max-width:520px){.wj-wd-stepper{grid-template-columns:40px minmax(0,1fr) 40px}.wj-wd-go{max-width:none}}
/* ---------- Historial de pedidos ---------- */
.wj-order-hist-list{display:grid;gap:10px}
.wj-order-hist{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer}
.wj-order-hist:hover{border-color:var(--accent)}
.wj-order-hist-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wj-order-hist-head strong{font-size:14.5px}
.wj-order-hist-head small{display:block;color:var(--muted);font-size:12px}
.wj-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wj-stage{position:relative;display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--muted);text-align:center}
.wj-stage i{display:block;height:5px;border-radius:999px;background:var(--surface3)}
.wj-stage.done i{background:var(--ok)}
.wj-stage.now i{background:var(--accent)}
.wj-stage.now{color:var(--accent)}
.wj-stage.done{color:var(--ok)}
.wj-order-hist-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}
.wj-order-hist-meta span{display:inline-flex;align-items:center;gap:4px}

/* ---------- Stock: ajuste ---------- */
.wj-wd-adjust{border-top:1px dashed var(--border);padding-top:6px}
.wj-wd-adjust summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.wj-wd-adjust-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:end;padding-top:8px}
@media(max-width:520px){.wj-wd-adjust-body{grid-template-columns:1fr}}
/* ---------- Selector de productos del pedido semanal ---------- */
.wj-picker-filters{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:10px;margin-bottom:6px;background:var(--surface)}
.wj-picker-filters .wj-search{grid-column:1/-1}
.wj-picker-only{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap;grid-column:1/-1}
.wj-catalog-picker-row.picked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.wj-drawer-foot .wj-catalog-picker-total{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}

/* ---------- Botón del segundo menú: legible ---------- */
html:not([data-layout="mobile"]) .wj-btn.wj-secondary-toggle.is-collapsed,html:not([data-layout="mobile"]) .wj-btn.wj-secondary-toggle.is-collapsed .wj-secondary-toggle-label{color:#fff}
.wj-secondary-toggle-fam{display:none}

html[data-layout="mobile"].secondary-open::after{content:'';position:fixed;inset:0;background:rgba(6,10,24,.38);z-index:89}


/* ---------- Catálogo: más densidad + vista lista ---------- */
.wj-view-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.wj-view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.wj-view-toggle button:hover{color:var(--text)}
.wj-view-toggle button.is-on{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.wj-product-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.wj-product{border-radius:12px}
.wj-product-media{aspect-ratio:1/1}
.wj-product-copy{padding:9px 11px 4px;gap:2px}
.wj-product-copy strong{font-size:12.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wj-product-foot{padding:0 11px 9px}
.wj-product-grid.is-list{display:flex;flex-direction:column;gap:6px}
.wj-product-grid.is-list .wj-product{flex-direction:row;align-items:center;gap:12px;padding:6px 12px 6px 6px;border-radius:12px}
.wj-product-grid.is-list .wj-product-media{aspect-ratio:1/1;width:52px;height:52px;flex:0 0 52px;border-radius:9px}
.wj-product-grid.is-list .wj-product-media svg{width:20px;height:20px}
.wj-product-grid.is-list .wj-product-copy{padding:0;flex:1;min-width:0;flex-direction:column}
.wj-product-grid.is-list .wj-product-copy strong{-webkit-line-clamp:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.wj-product-grid.is-list .wj-product-foot{padding:0;flex:0 0 auto;gap:12px}
html[data-layout="mobile"] .wj-product-grid:not(.is-list){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
html[data-layout="mobile"] .wj-product-grid.is-list{grid-template-columns:1fr}
html[data-layout="mobile"] .wj-product-grid.is-list .wj-product{padding:6px 10px 6px 6px}

/* ---------- Botón menú móvil: solo icono, hamburguesa animada ---------- */
.wj-burger{display:none}
html[data-layout="mobile"] .wj-topbar .wj-btn.wj-secondary-toggle{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px;padding:0!important;border-radius:13px;position:relative;overflow:visible}
html[data-layout="mobile"] .wj-secondary-toggle>svg,html[data-layout="mobile"] .wj-secondary-toggle-label{display:none!important}
html[data-layout="mobile"] .wj-burger{display:block;position:relative;width:20px;height:14px}
html[data-layout="mobile"] .wj-burger i{position:absolute;left:0;height:2.5px;border-radius:3px;background:currentColor;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s,top .28s cubic-bezier(.4,0,.2,1)}
html[data-layout="mobile"] .wj-burger i:nth-child(1){top:0;width:20px}
html[data-layout="mobile"] .wj-burger i:nth-child(2){top:5.75px;width:13px}
html[data-layout="mobile"] .wj-burger i:nth-child(3){top:11.5px;width:17px}
html[data-layout="mobile"] .wj-secondary-toggle:active .wj-burger i:nth-child(2){width:20px}
html[data-layout="mobile"].secondary-open .wj-burger i:nth-child(1){top:5.75px;width:20px;transform:rotate(45deg)}
html[data-layout="mobile"].secondary-open .wj-burger i:nth-child(2){opacity:0;transform:translateX(-8px)}
html[data-layout="mobile"].secondary-open .wj-burger i:nth-child(3){top:5.75px;width:20px;transform:rotate(-45deg)}

/* ---------- TPV: filas de reservas / documentos ---------- */
.wj-tpv-line{display:flex!important;grid-template-columns:none!important;gap:10px;align-items:center;min-width:0}
.wj-tpv-line>div{display:grid;gap:2px;min-width:0}
.wj-tpv-line .wj-row-meta{display:flex;flex-wrap:wrap;gap:4px 10px}
.wj-tpv-link{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-all;font-size:13px}
.wj-wb-hours{font-style:normal;font-weight:600;color:var(--accent);margin-left:6px;text-transform:none;letter-spacing:0}

/* ---------- TPV: tema / idioma / bloqueo siempre a la vista ---------- */
.wj-tpv-quick{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px 6px 8px}
.wj-tpv-quick .wj-tpv-util-btn{padding:8px 0;min-height:34px}
.wj-tpv-quick .wj-tpv-lock{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
.wj-tpv-quick .wj-tpv-lock:hover{background:color-mix(in srgb,var(--danger) 22%,transparent);color:#fff}

/* ---------- Pie del menú: salir (icono) + usuario ---------- */
.wj-side-user{grid-template-columns:auto minmax(0,1fr);gap:6px}
.wj-side-logout{width:40px;height:40px;padding:0;border-radius:12px;flex:none}
.wj-side-logout span{display:none}
.wj-side-user .wj-user-chip{padding:5px 8px 5px 5px;min-height:40px}
.wj-side-user .wj-user-meta span{color:var(--text);font-weight:700;font-size:12px}
@media(max-width:1179px){.wj-side-user{grid-template-columns:1fr}.wj-side-logout{width:100%}}

/* ---------- Documentos en cajones: acciones en su propia fila ---------- */
.wj-card.wj-doc-row{grid-template-columns:auto minmax(0,1fr)!important;gap:10px 12px}
.wj-doc-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:16px}
.wj-card.wj-doc-row .wj-doc-actions{grid-column:1/-1;justify-content:flex-start;gap:6px}
.wj-doc-actions .wj-btn{padding:6px 10px}

/* ---------- Contactos: tarjetas con más presencia ---------- */
.wj-contacts{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}
.wj-contact{padding:16px;gap:14px;border-radius:20px}
.wj-contact-avatar{width:64px;height:64px;font-size:20px}
.wj-contact-body{gap:4px}
.wj-contact-body strong{font-size:16px}
.wj-contact-body small{font-size:13px}
.wj-contact-tags i{font-size:12px}
.wj-contact-cta{width:40px;height:40px;border-radius:12px}

/* ---------- Login móvil: formas flotando ---------- */
.wj-login-float{display:none}
@media(max-width:820px){
 .wj-login-panel{overflow:hidden}
 .wj-login-float{display:block;position:absolute;inset:0;pointer-events:none;z-index:0}
 .wj-login-float i{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 55%,#fff),color-mix(in srgb,var(--accent) 22%,transparent));opacity:.35;filter:blur(1px);animation:wj-float 14s ease-in-out infinite}
 .wj-login-float i:nth-child(1){width:180px;height:180px;left:-60px;top:-40px;animation-duration:16s}
 .wj-login-float i:nth-child(2){width:90px;height:90px;right:-20px;top:12%;animation-duration:12s;animation-delay:-3s}
 .wj-login-float i:nth-child(3){width:56px;height:56px;left:14%;top:38%;animation-duration:10s;animation-delay:-6s;opacity:.28}
 .wj-login-float i:nth-child(4){width:140px;height:140px;right:-40px;bottom:18%;animation-duration:18s;animation-delay:-9s}
 .wj-login-float i:nth-child(5){width:40px;height:40px;left:8%;bottom:14%;animation-duration:9s;animation-delay:-2s;opacity:.3}
 .wj-login-float i:nth-child(6){width:24px;height:24px;left:60%;top:20%;animation-duration:8s;animation-delay:-5s;opacity:.45}
 .wj-login-panel>*:not(.wj-login-float){position:relative;z-index:1}
}
@keyframes wj-float{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(14px,-22px,0) scale(1.06)}66%{transform:translate3d(-12px,12px,0) scale(.96)}}
@media(prefers-reduced-motion:reduce){.wj-login-float i{animation:none}}

/* ---------- Campana: buzón desplegable ---------- */
.wj-notif-wrap{position:relative;display:inline-flex}
.wj-notif-pop{position:absolute;right:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);display:flex;flex-direction:column;z-index:80;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 18px 44px rgba(15,23,42,.18);overflow:hidden;animation:wj-notif-in .16s ease}
@keyframes wj-notif-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.wj-notif-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}
.wj-notif-head strong{font-size:14px}
.wj-notif-list{overflow:auto;flex:1;min-height:0}
.wj-notif-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid var(--hairline,var(--border));background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-notif-item:hover{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.wj-notif-item:last-child{border-bottom:0}
.wj-notif-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none}
.wj-notif-copy{display:grid;gap:2px;min-width:0}
.wj-notif-copy strong{font-size:13px;line-height:1.3}
.wj-notif-copy small{color:var(--muted);font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wj-notif-copy em{font-style:normal;font-size:11px;color:var(--muted)}
.wj-notif-item>svg{color:var(--muted)}
.wj-notif-empty{display:grid;justify-items:center;gap:6px;padding:28px 14px;color:var(--muted);font-size:13px}
.wj-notif-empty svg{color:var(--ok)}
.wj-notif-foot{padding:10px 14px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}
.wj-notif-loading{padding:14px}
html[data-layout="mobile"] .wj-notif-pop{position:fixed;left:12px;right:12px;top:64px;width:auto}

/* ---------- Nunca un input de mes nativo a la vista ---------- */
.wj-date input[type="month"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}

/* ---------- Selector de periodo ---------- */
.wj-range-pop{width:auto;max-width:calc(100vw - 16px);padding:0;display:flex;overflow:hidden}
.wj-range-presets{display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-right:1px solid var(--border);min-width:150px;background:var(--surface2)}
.wj-range-presets button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}
.wj-range-presets button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.wj-range-body{display:flex;flex-direction:column}
.wj-range-months{display:flex;gap:0}
.wj-range-month{padding:12px 12px 6px;width:296px}
.wj-range-month+.wj-range-month{border-left:1px solid var(--border)}
.wj-range-month .wj-date-title{font-size:14px;font-weight:800;text-transform:capitalize}
.wj-range-month .wj-date-cell.pad{color:var(--muted);opacity:.45;display:grid;place-items:center;font-weight:500}
.wj-range-month .wj-date-cell.in{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:0}
.wj-range-month .wj-date-cell.sel{background:var(--accent);color:#fff}
.wj-range-month .wj-date-cell.edge-l{border-radius:10px 0 0 10px}
.wj-range-month .wj-date-cell.edge-r{border-radius:0 10px 10px 0}
.wj-range-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--border);flex-wrap:wrap}
.wj-range-values{display:flex;align-items:center;gap:8px}
.wj-range-value{padding:8px 12px;border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:600;min-width:120px;font-variant-numeric:tabular-nums}
.wj-range-value.empty{color:var(--muted)}
.wj-range-values i{color:var(--muted);font-style:normal}
.wj-range-actions{display:flex;gap:6px;margin-left:auto}
@media(max-width:760px){.wj-range-pop{flex-direction:column;left:8px!important;right:8px;width:auto}.wj-range-presets{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border);min-width:0}.wj-range-month{width:100%}.wj-range-value{min-width:0;flex:1}}
.wj-calendar-period{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-transform:capitalize;white-space:nowrap}
.wj-calendar-period>svg:last-child{transform:rotate(90deg);color:var(--muted)}

/* ---------- Pulseras: orden arrastrable ---------- */
.wj-wb-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px}
.wj-wb-grip{display:grid;place-items:center;width:28px;height:36px;border-radius:8px;color:var(--muted);cursor:grab;user-select:none;touch-action:none}
.wj-wb-grip:hover{background:var(--surface2);color:var(--text)}
#wb-colors.is-locked .wj-wb-grip{cursor:not-allowed;opacity:.45}
.wj-wb-row.dragging{opacity:.5}

/* ---------- Pedidos · Gestión: tarjetas que abren un panel ---------- */
button.wj-managed-order{width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}
button.wj-managed-order:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.wj-managed-order .wj-section-title>svg{color:var(--muted);transform:rotate(0);flex:none}
.wj-managed-meta{margin-bottom:12px}
.wj-week-pick{display:flex;align-items:center;gap:6px}
.wj-catalog-note{margin:-4px 0 10px}
.wj-product-media.sm{width:40px;height:40px;aspect-ratio:1/1;border-radius:9px;flex:none}
.wj-product-media.sm img{width:100%;height:100%;object-fit:cover}
/* ---------- Calendario en móvil: navegación arriba, filtros y vistas en filas propias ---------- */
@media(max-width:699px){
 .wj-calendar-toolbar{gap:8px}
 .wj-calendar-nav{order:1;width:100%;flex:none;display:flex}
 .wj-calendar-nav .wj-calendar-period{flex:1;min-width:0;justify-content:center;overflow:hidden}
 .wj-calendar-nav .wj-calendar-period span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .wj-cal-product-filter,#calendar-filter-toggle{order:2;flex:1;min-width:0}
 .wj-cal-product-filter summary,#calendar-filter-toggle{width:100%;justify-content:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .wj-cal-product-filter-menu{left:0;right:auto;max-width:calc(100vw - 32px)}
 .wj-calendar-toolbar .wj-tabs{order:3}
}

/* ---------- Aforo: recursos ---------- */
.wj-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.wj-res-card{display:grid;gap:10px}
.wj-res-head{display:flex;align-items:center;gap:12px}
.wj-res-head strong{display:block;font-size:15px}.wj-res-head small{color:var(--muted);font-size:12px}
.wj-res-kind{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);flex:none}
.wj-res-kind.exclusive{background:color-mix(in srgb,var(--warn) 18%,var(--surface));color:color-mix(in srgb,var(--warn) 70%,#000)}
/* editor de tramos */
.wj-res-editor{display:grid;gap:10px;margin-top:8px}
.wj-res-row{display:grid;gap:6px}
.wj-res-row-head{display:flex;gap:6px;align-items:center}
.wj-res-row-head .wj-select.sm{min-height:34px;padding:4px 28px 4px 10px;font-size:12.5px;width:auto}
.wj-res-track{position:relative;height:34px;border-radius:9px;background:repeating-linear-gradient(90deg,var(--surface2) 0,var(--surface2) 1px,transparent 1px,transparent 12.5%),var(--surface-sunken,var(--surface2));border:1px solid var(--border);overflow:hidden;touch-action:none}
.wj-res-bar{position:absolute;top:3px;bottom:3px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap}
.wj-res-bar i{font-style:normal;padding:0 8px;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:center}
.wj-res-bar.fixed{cursor:grab}.wj-res-bar.fixed.dragging{cursor:grabbing;opacity:.85}
.wj-res-bar b{width:10px;align-self:stretch;cursor:ew-resize;background:rgba(255,255,255,.28);flex:none}
.wj-res-bar.fill{background:color-mix(in srgb,var(--accent) 30%,var(--surface));color:var(--text);border:1px dashed color-mix(in srgb,var(--accent) 60%,transparent)}
.wj-res-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}

/* ---------- Crear reserva ---------- */
.wj-bc-layout{display:grid;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:16px;align-items:start}
.wj-bc-left{display:grid;gap:12px}
.wj-bc-cal{padding:10px}
.wj-bc-cal .wj-date-cell.past{color:var(--muted);opacity:.55}
.wj-bc-cal .wj-date-cell.sel{background:var(--accent);color:#fff}
.wj-bc-products h3{margin:0 0 8px;font-size:14px}
.wj-bc-product{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wj-bc-product:hover{border-color:var(--accent)}
.wj-bc-product.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.wj-bc-product-media{width:38px;height:38px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:var(--surface2);color:var(--muted);flex:none}
.wj-bc-product-media img{width:100%;height:100%;object-fit:cover}
.wj-bc-product-copy{display:grid;min-width:0}.wj-bc-product-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wj-bc-product-copy small{color:var(--muted);font-size:11.5px}
.wj-bc-slots{min-height:320px}
.wj-bc-empty{display:grid;justify-items:center;gap:8px;padding:60px 20px;color:var(--muted);text-align:center;max-width:360px;margin:0 auto}
.wj-bc-form{position:sticky;top:16px}
.wj-occ-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 12px;font-size:12px;color:var(--muted)}
.wj-occ-legend span{display:inline-flex;align-items:center;gap:6px}.wj-occ-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.lv-free{--lv:var(--muted)}.lv-low{--lv:var(--info,color-mix(in srgb,var(--accent) 55%,blue))}.lv-mid{--lv:var(--ok)}.lv-high{--lv:var(--warn)}.lv-full{--lv:var(--danger)}
.wj-occ-legend i{background:var(--lv)}
.wj-slot-list{display:grid;gap:6px}
.wj-slot-bar{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;color:var(--text);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s}
.wj-slot-bar:hover{border-color:var(--lv);transform:translateX(2px)}
.wj-slot-bar.sel{border-color:var(--lv);box-shadow:0 0 0 2px color-mix(in srgb,var(--lv) 40%,transparent)}
.wj-slot-fill{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--lv) 22%,transparent);pointer-events:none;transition:width .3s}
.wj-slot-bar.lv-free .wj-slot-fill{width:0!important}
.wj-slot-bar::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lv)}
.wj-slot-time{position:relative;font-weight:800;font-variant-numeric:tabular-nums}
.wj-slot-meta{position:relative;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-slot-level{position:relative;font-size:11px;font-weight:800;color:var(--lv);white-space:nowrap}
@media(max-width:699px){.wj-bc-layout{grid-template-columns:1fr}.wj-slot-bar{grid-template-columns:1fr auto}.wj-slot-meta{grid-column:1/-1}}

/* ---------- Vista previa de correo con el mismo diseño que el HTML real ---------- */
.wj-mailpv{background:rgb(238,241,243);padding:18px 12px;border-radius:14px}
.wj-mailpv-card{max-width:520px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(15,23,42,.10);color:rgb(18,23,26);font-family:Inter,Arial,sans-serif}
.wj-mailpv-head{background:var(--accent);padding:22px 26px;display:flex;align-items:center;gap:12px;color:#fff}
.wj-mailpv-head img{height:32px;width:auto;max-width:180px}
.wj-mailpv-head strong{font-size:17px;letter-spacing:-.01em}
.wj-mailpv-body{padding:26px 26px 8px}
.wj-mailpv-body h2{margin:0 0 14px;font-size:19px;line-height:1.25;letter-spacing:-.02em}
.wj-mailpv-body p{margin:0 0 12px;font-size:14px;line-height:1.6;color:rgb(45,54,60)}
.wj-mailpv-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0 0 14px;padding:12px 14px;border-radius:10px;background:rgb(244,246,247);font-size:13px}
.wj-mailpv-kv span{color:rgb(90,101,110)}.wj-mailpv-kv strong{font-weight:700}
.wj-mailpv-cta{display:inline-block;margin:4px 0 16px;padding:11px 18px;border-radius:10px;background:var(--accent);color:#fff;font-weight:800;font-size:13.5px}
.wj-mailpv-foot{padding:16px 26px 22px;border-top:1px solid rgb(230,234,236);font-size:11.5px;color:rgb(122,133,140);line-height:1.5}

/* ---------- Horarios: panel de producto y editor (estilo Roller) ---------- */
.wj-sched-day.tinted{color:#fff;font-weight:700}
.wj-sched-panel-head{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.wj-sched-panel-head h3{margin:0;font-size:18px;letter-spacing:-.01em}
.wj-sched-back{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;font:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;width:fit-content}
.wj-sched-back svg{transform:rotate(180deg)}
.wj-sched-back:hover{color:var(--accent)}
.wj-sched-list{display:grid;gap:2px}
.wj-sched-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 6px;border:0;border-bottom:1px solid var(--hairline,var(--border));background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer;border-radius:8px}
.wj-sched-item:hover{background:var(--surface2)}
.wj-sched-item.off{opacity:.55}
.wj-sched-item-copy{display:grid;gap:2px;min-width:0}
.wj-sched-item-copy strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-sched-item-copy small{color:var(--muted);font-size:12px}
.wj-sched-item-time{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.wj-sched-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none;display:inline-block}
.wj-sched-dot.lg{width:14px;height:14px}
.wj-sched-panel-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border);margin-top:auto}
.wj-sched-panel-actions .wj-btn{flex:1;justify-content:center}
.wj-sched-editor{display:grid;gap:14px;position:relative}
.wj-sched-title-row{display:flex;align-items:center;gap:8px}
.wj-sched-title{flex:1;min-width:0;border:0;border-bottom:1px solid transparent;background:transparent;font:inherit;font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--text);padding:2px 0}
.wj-sched-title:focus{outline:none;border-bottom-color:var(--accent)}
.wj-sched-desc{border:0;background:transparent;font:inherit;font-size:13px;color:var(--muted);padding:0;font-style:italic}
.wj-sched-desc:focus{outline:none;color:var(--text);font-style:normal}
.wj-sched-menu{position:absolute;right:0;top:64px;z-index:5;display:grid;min-width:160px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 12px 32px rgba(15,23,42,.16)}
.wj-sched-menu button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}
.wj-sched-menu button:hover{background:var(--surface2)}
.wj-sched-menu button.danger{color:var(--danger)}
.wj-sched-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wj-sched-two .wj-field{display:grid;gap:6px}
.wj-sched-interval{display:flex;gap:6px}
.wj-sched-interval .wj-select,.wj-sched-interval .wj-input{min-width:0;flex:1}
.wj-sched-daychips{display:flex;flex-wrap:wrap;gap:6px}
.wj-sched-daychip{min-width:44px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
.wj-sched-daychip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.wj-sched-excl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px;min-height:46px}
.wj-sched-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;border-radius:999px;background:var(--surface2);font-size:12px;font-weight:700}
.wj-sched-chip button{border:0;background:transparent;padding:0;display:grid;place-items:center;color:var(--muted);cursor:pointer}
.wj-sched-chip button:hover{color:var(--danger)}
.wj-sched-excl-add{flex:1;min-width:150px}
.wj-sched-excl-add .wj-date-btn{min-height:34px}
@media(max-width:699px){.wj-sched-two{grid-template-columns:1fr}}

/* ---------- Ficha de reserva ---------- */
.wj-text-ok{color:var(--ok)}.wj-text-warn{color:color-mix(in srgb,var(--warn) 75%,#000)}.wj-text-danger{color:var(--danger)}
.wj-bk-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.wj-bk-num{font-size:22px;font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.wj-bk-section{padding:14px 0;border-top:1px solid var(--border)}
.wj-bk-section h3{margin:0 0 4px;font-size:14px}
.wj-bk-customer-row{display:flex;align-items:center;gap:12px}
.wj-bk-customer-copy{flex:1;min-width:0;display:grid;gap:2px}
.wj-bk-customer-copy strong{font-size:15px}.wj-bk-customer-copy small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-bk-people{display:grid;gap:6px;margin-top:10px}
.wj-bk-person{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);width:100%;text-align:left;font:inherit;color:var(--text)}
button.wj-bk-person{cursor:pointer}button.wj-bk-person:hover{border-color:var(--accent)}
.wj-bk-person.ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}
.wj-bk-person.bad{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
.wj-bk-person.empty{border-style:dashed;color:var(--muted);background:transparent}
.wj-bk-check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);color:var(--muted);flex:none}
.wj-bk-person.ok .wj-bk-check{background:var(--success-weak);color:var(--ok)}
.wj-bk-person.bad .wj-bk-check{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}
.wj-bk-person-copy{flex:1;min-width:0;display:grid;gap:1px}
.wj-bk-person-copy strong{font-size:13.5px}.wj-bk-person-copy small{color:var(--muted);font-size:12px}
.wj-bk-person-copy small b{color:var(--danger);font-weight:700}
.wj-bk-person-copy a{color:var(--accent);font-weight:700}
.wj-bk-money{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:8px}
.wj-bk-money>div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--surface2)}
.wj-bk-money span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.wj-bk-money strong{font-size:16px;font-variant-numeric:tabular-nums}
.wj-bk-refunds{display:grid;gap:4px;margin-top:10px}
.wj-bk-refund{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted)}
.wj-bk-refund strong{color:var(--danger);font-variant-numeric:tabular-nums}
.wj-bk-refund-lines{display:grid;gap:6px}
.wj-bk-refund-lines .wj-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}
.wj-bk-refund-lines .wj-check span{flex:1}.wj-bk-refund-lines .wj-check em{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums}
.wj-bk-refund-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--surface2);font-weight:700}
.wj-bk-refund-total strong{font-size:18px;font-variant-numeric:tabular-nums}

.wj-price-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:center}
.wj-sched-swatches{display:flex;gap:6px;flex-wrap:wrap}
.wj-sched-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.wj-sched-swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}
.wj-sched-item-time{display:grid;justify-items:end;gap:1px}.wj-sched-item-time small{font-weight:600;font-size:11px;color:var(--muted)}

/* Horarios: vista previa del borrador y aviso de cambios sin guardar */
.wj-sched-preview-pill{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 10px;border-radius:999px;background:var(--warn-soft,rgba(224,164,0,.14));color:var(--warn-text,rgb(150,100,0));font-size:12px;font-weight:700}
.wj-leave-actions{flex-wrap:wrap;justify-content:flex-end}
/* Solicitudes: editor por secciones, reembolso y adjuntos */
.wj-req-form{display:grid;gap:14px}
.wj-req-section{border:1px solid var(--hairline,var(--border));border-radius:14px;padding:14px;background:var(--surface-raised,var(--surface));display:grid;gap:12px}
.wj-req-section-head h3{margin:0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.wj-req-section-head p{margin:2px 0 0}
.wj-req-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--accent);color:var(--on-accent,#fff)}
.wj-req-summary .wj-kicker{color:inherit;opacity:.8}
.wj-req-summary strong{display:block;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.wj-req-summary p{margin:0;color:inherit;opacity:.9;text-align:right;max-width:55%}
.wj-req-breakdown{margin:0;display:grid;gap:6px}
.wj-req-breakdown div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.wj-req-breakdown dt{color:var(--muted)}.wj-req-breakdown dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.wj-req-breakdown .total{border-top:1px solid var(--hairline,var(--border));padding-top:6px;font-size:14px}
.wj-sched-daychip:disabled{opacity:.4;cursor:not-allowed}
.wj-filepick{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wj-filepick .wj-filepick-name{font-size:12.5px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-filepick.has-file .wj-filepick-name{color:var(--text);font-weight:600}
.wj-filepick .wj-help{flex-basis:100%}
.wj-req-expense{display:grid;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--hairline,var(--border));background:var(--surface-raised,var(--surface));margin-bottom:14px}
.wj-req-total{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.wj-req-total strong{display:block;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.wj-req-chips{display:flex;gap:6px;flex-wrap:wrap}
.wj-req-files{display:grid;gap:8px}
.wj-req-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--hairline,var(--border))}
.wj-req-file>div{flex:1;min-width:0}.wj-req-file strong{display:block;font-size:13px}.wj-req-file small{color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wj-req-file.warn{border-color:rgba(224,164,0,.5);background:rgba(224,164,0,.08)}
.wj-req-file.ok{border-color:rgba(31,157,85,.45);background:rgba(31,157,85,.08)}
.wj-req-file-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface2)}
.wj-req-details{margin:0;white-space:pre-wrap;font-size:13.5px}

/* Acciones compactas en el pie del panel de detalle (icono + etiqueta corta) */
.wj-drawer-foot .wj-actionbar-compact{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding:0;align-items:center}
.wj-actionbar-compact .wj-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12.5px;white-space:nowrap}
.wj-actionbar-compact .wj-btn svg{flex:0 0 auto}
.wj-drawer-foot .wj-actionbar-compact .wj-btn.primary,.wj-drawer-foot .wj-actionbar-compact .wj-btn.success{margin-left:auto}
.wj-drawer-foot .wj-actionbar-compact .wj-btn.success~.wj-btn.primary,.wj-drawer-foot .wj-actionbar-compact .wj-btn.primary~.wj-btn.success{margin-left:0}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar-compact{display:flex;flex-wrap:wrap;gap:6px}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar-compact .wj-btn{width:auto;min-height:36px;padding:0 10px;grid-column:auto;order:0;margin-left:0}
html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar-compact .wj-btn.primary,html[data-layout="mobile"] .wj-drawer-foot .wj-actionbar-compact .wj-btn.success{margin-left:auto}
@media(max-width:520px){.wj-actionbar-compact{grid-template-columns:none!important}.wj-actionbar-compact .wj-btn span{display:none}.wj-actionbar-compact .wj-btn{padding:0 9px;min-width:36px;justify-content:center}}
.wj-leave-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wj-leave-actions .wj-btn{display:inline-flex;align-items:center;gap:6px}

/* Configuración → Diseño de la tienda */
.wj-shop-imgslot{display:grid;gap:8px}
.wj-shop-imgslot img{display:none;width:100%;max-width:320px;max-height:140px;object-fit:contain;border:1px solid var(--hairline,var(--border));border-radius:10px;background:var(--surface2)}
.wj-shop-imgslot.has-img img{display:block}
.wj-shop-imgslot-actions{display:flex;gap:6px}
.wj-shop-imgslot:not(.has-img) [data-img-clear]{display:none}
.wj-shop-accent-row{display:flex;align-items:center;gap:8px}
.wj-shop-accent-dot{width:28px;height:28px;border-radius:50%;border:1px solid var(--hairline,var(--border));flex:0 0 auto}

/* Tienda: cómo empezar, guía tras la fecha, selector de mes */
.wj-shop-start{display:grid;gap:10px}
.wj-shop-start h2{margin:0;font-size:20px;font-weight:900}
.wj-shop-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wj-shop-start-card{display:grid;justify-items:start;gap:6px;text-align:left;padding:16px 18px;border-radius:var(--shop-radius);border:2px solid var(--shop-line);background:var(--shop-card);font:inherit;color:var(--shop-ink);cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.05);transition:border-color .15s,transform .15s}
.wj-shop-start-card:hover{transform:translateY(-2px);border-color:var(--shop-accent)}
.wj-shop-start-card.on{border-color:var(--shop-accent);background:linear-gradient(135deg,rgba(25,230,193,.16),var(--shop-card))}
.wj-shop-start-card strong{font-size:16px;font-weight:900}.wj-shop-start-card small{font-size:12.5px;color:var(--shop-muted);line-height:1.4}
.wj-shop-start-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(25,230,193,.18);color:rgb(14,150,126)}
.wj-shop-guide{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--shop-navy);color:rgb(255,255,255);position:relative}
.wj-shop-guide>div{flex:1;min-width:0;display:grid;gap:2px}.wj-shop-guide strong{font-size:14px}.wj-shop-guide small{font-size:12.5px;color:rgba(255,255,255,.8)}
.wj-shop-guide-ico{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--shop-accent);color:var(--shop-navy);flex:0 0 auto}
.wj-shop-guide .wj-btn.primary{display:inline-flex;align-items:center;gap:6px;min-height:38px;border-radius:10px;padding:0 14px}
.wj-shop-guide .wj-btn.primary svg{transform:rotate(90deg)}
.wj-shop-guide-arrow{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%) rotate(90deg);width:28px;height:28px;border-radius:50%;background:var(--shop-accent);color:var(--shop-navy);display:grid;place-items:center;box-shadow:0 6px 14px rgba(25,230,193,.4);animation:wj-shop-bounce 1.4s ease-in-out infinite}
@keyframes wj-shop-bounce{0%,100%{transform:translateX(-50%) rotate(90deg) translateX(0)}50%{transform:translateX(-50%) rotate(90deg) translateX(5px)}}
.wj-shop-guide.pulse{animation:wj-shop-pulse .6s ease-out}
@keyframes wj-shop-pulse{0%{box-shadow:0 0 0 0 rgba(25,230,193,.6)}100%{box-shadow:0 0 0 14px rgba(25,230,193,0)}}
.wj-shop-month{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--shop-muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:8px}
.wj-shop-month:hover{background:var(--shop-bg);color:var(--shop-ink)}
.wj-shop-month svg{transform:rotate(90deg)}
.wj-shop-cal-title{flex:1;border:0;background:transparent;font:inherit;font-size:16px;font-weight:800;color:var(--shop-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:8px}
.wj-shop-cal-title:hover{background:var(--shop-bg)}.wj-shop-cal-title svg{transform:rotate(90deg)}
.wj-shop-cal-months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-height:352px;align-content:start}
.wj-shop-cal-months button{padding:16px 8px;border-radius:12px;border:1px solid var(--shop-line);background:var(--shop-card);font:inherit;font-size:14px;font-weight:700;color:var(--shop-ink);cursor:pointer}
.wj-shop-cal-months button:hover{border-color:var(--shop-accent)}
.wj-shop-cal-months button.sel{background:var(--shop-navy);border-color:var(--shop-navy);color:rgb(255,255,255)}
.wj-shop-cal-months button:disabled{opacity:.35;cursor:default}
@media(max-width:520px){.wj-shop-start-grid{grid-template-columns:1fr}.wj-shop-guide{flex-wrap:wrap}.wj-shop-guide .wj-btn.primary{width:100%;justify-content:center}}

/* Inicio por fecha: calendario grande y productos del día */
.wj-shop-hcal{display:grid;gap:8px}
.wj-shop-hcal .wj-shop-cal-day{min-height:44px;padding:8px 2px}
.wj-shop-hcal .wj-shop-cal-months{min-height:0}
.wj-shop-hcal-hint{display:flex;align-items:center;gap:6px}
.wj-shop-dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.wj-shop-dayhead strong{font-size:18px;font-weight:900}.wj-shop-dayhead small{color:var(--shop-muted);font-size:13px}
.wj-shop-av{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px}
.wj-shop-av.ok{background:rgba(31,157,85,.14);color:rgb(21,110,60)}.wj-shop-av.ko{background:rgb(254,226,226);color:rgb(185,28,28)}
.wj-shop-section h2 small{font-size:13px;font-weight:700;color:var(--shop-muted);margin-left:4px}
.wj-shop-ko{margin-top:12px}.wj-shop-ko summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--shop-muted);margin-bottom:8px}
@media(min-width:900px){.wj-shop-hcal .wj-shop-cal-day{min-height:52px}}

/* ---------- Marca Uelta (interfaz interna) y "Tecnología de Uelta" (páginas públicas) ---------- */
.wj-side-head{height:auto;min-height:52px;padding-top:4px}
.wj-brand-lockup{padding:4px 2px}
.wj-brand-image.uelta-brand{max-width:100%;width:100%;height:auto;display:block}
.wj-brand-image.uelta-brand img{max-height:none}
.wj-brand-image.uelta-brand .uelta-full{display:block;width:100%;max-width:196px;height:auto}
.wj-brand-image.uelta-brand .uelta-mark{display:none;width:40px;height:40px}
@media(max-width:1179px){.wj-brand-image.uelta-brand .uelta-full{display:none}.wj-brand-image.uelta-brand .uelta-mark{display:block;margin:0 auto}}
.wj-mobile-nav-head .wj-brand-image.uelta-brand .uelta-full{display:block;max-width:170px}.wj-mobile-nav-head .wj-brand-image.uelta-brand .uelta-mark{display:none}
.wj-login-logo{height:auto;width:230px;max-width:60vw}
.wj-login-logo.sm{width:170px}
.wj-shop-powered{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.75)!important;text-decoration:none;font-weight:600;white-space:nowrap}
.wj-shop-powered img{height:18px;width:auto;display:block}

/* ---------- Marca más discreta, centro único y guía de puesta en marcha ---------- */
.wj-brand-image.uelta-brand .uelta-full{max-width:140px}
.wj-mobile-nav-head .wj-brand-image.uelta-brand .uelta-full{max-width:140px}
.wj-venue-trigger.is-static{cursor:default;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text)}
.wj-setup-guide{margin-bottom:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface))}
.wj-setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wj-setup-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}
.wj-setup-steps li.done{opacity:.7}
.wj-setup-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent,#062A22);font-weight:800;font-size:13px;flex:0 0 auto}
.wj-setup-steps li.done .wj-setup-num{background:color-mix(in srgb,var(--accent) 25%,var(--surface));color:var(--accent)}
.wj-setup-text{flex:1;font-weight:600}
.wj-setup-ok{font-size:12px;font-weight:700;color:var(--accent)}

.wj-side-help{text-decoration:none}
