
.jhe-ui,.jhe-modal,.jhe-app-layout,.jhe-site-main,.jhe-home,.jhe-auth-shell{font-family:var(--jhe-font);color:var(--jhe-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.jhe-ui *,.jhe-modal *,.jhe-app-layout *,.jhe-home *,.jhe-auth-shell *{box-sizing:border-box}body.jhe-design-system{background:radial-gradient(circle at top right,rgba(14,165,233,.10),transparent 24%),radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 26%),linear-gradient(180deg,var(--jhe-bg),var(--jhe-bg-2) 50%,var(--jhe-bg));color:var(--jhe-text)}
.jhe-card{background:var(--jhe-surface-soft);border:1px solid var(--jhe-border);border-radius:var(--jhe-radius-md);box-shadow:var(--jhe-shadow-xs);backdrop-filter:blur(14px) saturate(145%);-webkit-backdrop-filter:blur(14px) saturate(145%);transition:transform var(--jhe-speed) var(--jhe-ease),box-shadow var(--jhe-speed) var(--jhe-ease),border-color var(--jhe-speed) var(--jhe-ease),background var(--jhe-speed) var(--jhe-ease)}.jhe-card:hover{border-color:var(--jhe-border-strong);box-shadow:var(--jhe-shadow-sm)}
.jhe-btn,.jhe-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:14px;border:1px solid transparent;text-decoration:none;cursor:pointer;font:700 12.5px/1 var(--jhe-font);white-space:nowrap;transition:all var(--jhe-speed-fast) var(--jhe-ease)}.jhe-btn-primary,.jhe-button-primary{background:linear-gradient(135deg,var(--jhe-primary),var(--jhe-primary-2));color:#fff!important;box-shadow:0 14px 34px rgba(37,99,235,.22)}.jhe-btn-secondary,.jhe-button-secondary{background:var(--jhe-surface);border-color:var(--jhe-border);color:var(--jhe-text)!important;box-shadow:var(--jhe-shadow-xs)}.jhe-btn-ghost,.jhe-button-ghost{background:transparent;color:var(--jhe-muted)!important}.jhe-btn:hover,.jhe-button:hover{transform:translateY(-1px)}.jhe-btn:focus-visible,.jhe-button:focus-visible,.jhe-icon-btn:focus-visible,.jhe-input:focus-visible,.jhe-select:focus-visible,.jhe-textarea:focus-visible{outline:none;box-shadow:0 0 0 4px var(--jhe-ring)}.jhe-icon-btn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--jhe-border);background:var(--jhe-surface);color:var(--jhe-muted);box-shadow:var(--jhe-shadow-xs);cursor:pointer}
[data-jhe-icon]{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:inherit}[data-jhe-icon] svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.jhe-btn [data-jhe-icon] svg,.jhe-button [data-jhe-icon] svg{width:16px;height:16px}.jhe-nav-icon,.jhe-module-card-icon,.jhe-inline-icon,.jhe-home-feature-icon{color:var(--jhe-primary)}.jhe-module-card-icon,.jhe-nav-icon{background:none!important;border:none!important;box-shadow:none!important;padding:0!important}
.jhe-badge,.jhe-hero-kicker,.jhe-panel-role-pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.10);color:var(--jhe-primary);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.jhe-badge-info{background:var(--jhe-info-soft);color:var(--jhe-info)}.jhe-badge-soft{background:rgba(37,99,235,.10);color:var(--jhe-primary)}.jhe-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--jhe-primary),var(--jhe-accent));box-shadow:0 0 0 6px rgba(37,99,235,.08)}
.jhe-hero{position:relative;padding:32px;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.55)),radial-gradient(circle at top right,rgba(6,182,212,.14),transparent 30%),radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 34%);border:1px solid rgba(255,255,255,.35);box-shadow:var(--jhe-shadow-md)}html[data-jhe-theme="dark"] .jhe-hero,body.jhe-dark .jhe-hero{background:linear-gradient(135deg,rgba(11,23,40,.94),rgba(11,23,40,.84)),radial-gradient(circle at top right,rgba(6,182,212,.18),transparent 32%),radial-gradient(circle at top left,rgba(37,99,235,.22),transparent 36%)}.jhe-hero h1,.jhe-panel-topbar h1{margin:10px 0 8px;font-size:clamp(1.8rem,3.4vw,3.4rem);line-height:1.02;letter-spacing:-.05em}.jhe-hero p,.jhe-panel p,.jhe-empty p,.jhe-auth-copy p,.jhe-home p,.jhe-section-header p,.jhe-card-header p{font-size:14px;line-height:1.75;color:var(--jhe-muted)}
.jhe-actions,.jhe-hero-actions,.jhe-page-actions,.jhe-panel-actions,.jhe-modal-actions,.jhe-home-actions,.jhe-auth-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.jhe-section{display:grid;gap:14px}.jhe-section-header,.jhe-page-heading,.jhe-card-header,.jhe-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.jhe-page-heading h2,.jhe-section-header h2,.jhe-form-section-title,.jhe-card-header h2,.jhe-home-section h2{margin:0;font-size:clamp(1.3rem,2.8vw,2rem);line-height:1.08;letter-spacing:-.04em;font-weight:780}
.jhe-stat-grid,.jhe-module-grid,.jhe-selection-grid,.jhe-home-grid,.jhe-home-steps,.jhe-home-feature-grid,.jhe-auth-points{display:grid;gap:14px}.jhe-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.jhe-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.jhe-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jhe-stat{padding:20px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68));border:1px solid rgba(255,255,255,.38);box-shadow:var(--jhe-shadow-sm)}html[data-jhe-theme="dark"] .jhe-stat,body.jhe-dark .jhe-stat{background:linear-gradient(180deg,rgba(11,23,40,.92),rgba(11,23,40,.86));border-color:rgba(148,163,184,.16)}.jhe-stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.jhe-stat-label{display:block;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--jhe-muted)}.jhe-stat-value{display:block;font-size:34px;line-height:1;font-weight:800;letter-spacing:-.05em}.jhe-stat-meta{display:block;margin-top:7px;font-size:12px;color:var(--jhe-muted);line-height:1.55}.jhe-progress{height:7px;margin-top:16px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.16)}.jhe-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--jhe-primary),var(--jhe-accent))}
.jhe-form,.jhe-profile-form{display:grid;gap:14px}.jhe-form-grid,.jhe-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.jhe-col-span-2,.jhe-profile-wide{grid-column:1/-1}.jhe-field,.jhe-form>label,.jhe-form-section label{display:grid;gap:7px;font-size:12px;font-weight:680;color:var(--jhe-text-soft);min-width:0}.jhe-input,.jhe-select,.jhe-textarea{width:100%;min-height:46px;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.88);color:var(--jhe-text);font:500 14px/1.4 var(--jhe-font)}html[data-jhe-theme="dark"] .jhe-input,html[data-jhe-theme="dark"] .jhe-select,html[data-jhe-theme="dark"] .jhe-textarea,body.jhe-dark .jhe-input,body.jhe-dark .jhe-select,body.jhe-dark .jhe-textarea{background:rgba(8,17,31,.9);color:var(--jhe-text);border-color:rgba(148,163,184,.16)}.jhe-textarea{min-height:120px;resize:vertical;padding-top:14px}.jhe-input-wrap{position:relative;display:flex;align-items:center}.jhe-input-wrap>[data-jhe-icon]{position:absolute;left:14px;color:var(--jhe-muted)}.jhe-input-wrap .jhe-input{padding-left:42px}.jhe-form-section{padding:20px;border-radius:20px;border:1px solid var(--jhe-border);background:var(--jhe-surface-soft);box-shadow:var(--jhe-shadow-xs)}
.jhe-auth-shell{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:24px 0}.jhe-auth-stage{width:min(1120px,100%);display:grid;grid-template-columns:minmax(290px,.95fr) minmax(0,1.05fr);gap:20px;align-items:stretch}.jhe-auth-copy,.jhe-auth-card{padding:28px;border-radius:26px}.jhe-auth-copy{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(6,182,212,.84));color:#fff;box-shadow:var(--jhe-shadow-lg)}.jhe-auth-copy h2{margin:14px 0 10px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;line-height:1.02}.jhe-auth-copy p,.jhe-auth-copy li,.jhe-auth-copy .jhe-badge{color:#e8f7ff}.jhe-auth-copy .jhe-badge{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14)}.jhe-auth-points{margin:22px 0 0;padding:0;list-style:none}.jhe-auth-points li{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.65}.jhe-auth-card{background:var(--jhe-surface-soft);border:1px solid var(--jhe-border);box-shadow:var(--jhe-shadow-md)}.jhe-auth-divider{height:1px;background:var(--jhe-border);margin:18px 0}.jhe-checkbox-row{display:flex!important;align-items:center;gap:10px;font-size:12px!important;color:var(--jhe-muted)!important}
.jhe-app-layout{display:grid;grid-template-columns:288px minmax(0,1fr);gap:22px;align-items:start;width:min(1440px,100%);margin:0 auto}.jhe-app-sidebar{position:sticky;top:22px;padding:18px;border-radius:28px;overflow:hidden}.jhe-app-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 10px 18px;border-bottom:1px solid var(--jhe-border);margin-bottom:16px}.jhe-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--jhe-primary),var(--jhe-accent));color:#fff;font-size:12px;font-weight:800;box-shadow:0 14px 28px rgba(37,99,235,.24)}.jhe-app-brand strong,.jhe-app-brand small{display:block}.jhe-app-brand small{font-size:10px;color:var(--jhe-muted);margin-top:4px}.jhe-app-nav{display:grid;gap:7px}.jhe-nav-group-label{display:block;margin:10px 8px 4px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--jhe-muted)}.jhe-nav-link{justify-content:flex-start!important;padding:0 14px!important;min-height:46px!important;border-radius:15px!important;color:var(--jhe-text-soft)!important;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important}.jhe-nav-link:hover{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.12)!important;color:var(--jhe-text)!important}.jhe-nav-link.is-active{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.09))!important;border-color:rgba(37,99,235,.12)!important;color:var(--jhe-primary)!important;box-shadow:0 10px 24px rgba(37,99,235,.10)!important}.jhe-app-main{min-width:0;display:grid;gap:14px}.jhe-panel-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.52));border:1px solid rgba(255,255,255,.36);box-shadow:var(--jhe-shadow-sm);backdrop-filter:blur(16px)}html[data-jhe-theme="dark"] .jhe-panel-topbar,body.jhe-dark .jhe-panel-topbar{background:linear-gradient(135deg,rgba(11,23,40,.92),rgba(11,23,40,.82));border-color:rgba(148,163,184,.16)}.jhe-panel-topbar p{margin:0;max-width:760px}.jhe-panel-topbar-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.jhe-backlink{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--jhe-muted);text-decoration:none;padding:0 4px}
.jhe-module-card{display:grid;align-content:start;gap:10px;min-height:188px;padding:20px;border-radius:22px;border:1px solid var(--jhe-border);background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.72));text-decoration:none;color:inherit;box-shadow:var(--jhe-shadow-xs);transition:all var(--jhe-speed) var(--jhe-ease)}html[data-jhe-theme="dark"] .jhe-module-card,body.jhe-dark .jhe-module-card{background:linear-gradient(180deg,rgba(11,23,40,.9),rgba(11,23,40,.84))}.jhe-module-card:hover{transform:translateY(-4px);box-shadow:var(--jhe-shadow-md);border-color:rgba(37,99,235,.20)}.jhe-module-card h3{margin:0;font-size:18px;line-height:1.15;letter-spacing:-.03em}.jhe-module-card p{margin:0;font-size:13px;line-height:1.68;color:var(--jhe-muted)}.jhe-module-card-footer{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:12px;font-weight:800;color:var(--jhe-primary);text-decoration:none}
.jhe-order-list,.jhe-history-list{display:grid;gap:12px}.jhe-order-row{display:grid;grid-template-columns:minmax(0,1.6fr) auto auto;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:var(--jhe-surface-soft);border:1px solid var(--jhe-border);box-shadow:var(--jhe-shadow-xs)}.jhe-order-row-main strong{display:block;font-size:14px;line-height:1.4}.jhe-order-row-main small,.jhe-order-row-meta{color:var(--jhe-muted);font-size:12px;line-height:1.6}.jhe-status{display:inline-flex;align-items:center;gap:7px;min-height:26px;padding:0 11px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.03em;border:1px solid var(--jhe-border);background:var(--jhe-surface-2);color:var(--jhe-muted)}.jhe-status:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.68}.jhe-status-received,.jhe-status-reviewing{color:#475569}.jhe-status-assigned,.jhe-status-diagnosing,.jhe-status-quoted{color:#1d4ed8}.jhe-status-approved,.jhe-status-in_service{color:#0891b2}.jhe-status-ready{color:#059669}.jhe-status-delivered,.jhe-status-closed{color:#15803d}.jhe-status-cancelled{color:#b91c1c}
.jhe-selection-card{display:grid;gap:6px;padding:16px;border-radius:18px;border:1px solid var(--jhe-border);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.70));cursor:pointer;transition:all var(--jhe-speed) var(--jhe-ease)}.jhe-selection-card:hover{border-color:rgba(37,99,235,.18);box-shadow:var(--jhe-shadow-xs);transform:translateY(-2px)}.jhe-selection-card-title{font-weight:780;font-size:14px;color:var(--jhe-text)}.jhe-selection-card-meta{font-size:12px;line-height:1.6;color:var(--jhe-muted)}
.jhe-timeline{display:grid;gap:14px}.jhe-timeline-item{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:flex-start}.jhe-timeline-item>span{position:relative;display:block;width:22px;height:22px;border-radius:999px;border:2px solid rgba(148,163,184,.32);background:var(--jhe-surface)}.jhe-timeline-item>span:after{content:"";position:absolute;top:20px;left:50%;transform:translateX(-50%);width:2px;height:calc(100% + 8px);background:rgba(148,163,184,.18)}.jhe-timeline-item:last-child>span:after{display:none}.jhe-timeline-item strong{display:block;font-size:14px;margin-top:2px}.jhe-timeline-item small{display:block;margin-top:5px;color:var(--jhe-muted);font-size:12px;line-height:1.55}.jhe-timeline-item.is-done>span{border-color:rgba(22,163,74,.16);background:var(--jhe-success)}.jhe-timeline-item.is-current>span{border-color:rgba(37,99,235,.22);background:var(--jhe-primary);box-shadow:0 0 0 8px rgba(37,99,235,.08)}
.jhe-alert{padding:14px 16px;border-radius:16px;border:1px solid var(--jhe-border);background:var(--jhe-surface-soft);font-size:13px;line-height:1.6;box-shadow:var(--jhe-shadow-xs)}.jhe-alert-success{background:linear-gradient(180deg,#effcf5,#ffffff);border-color:rgba(22,163,74,.18);color:#166534}.jhe-alert-error{background:linear-gradient(180deg,#fff1f2,#ffffff);border-color:rgba(220,38,38,.18);color:#991b1b}.jhe-alert-info{background:linear-gradient(180deg,#eff8ff,#ffffff);border-color:rgba(14,165,233,.18);color:#0c4a6e}.jhe-alert-warning{background:linear-gradient(180deg,#fff8eb,#ffffff);border-color:rgba(217,119,6,.18);color:#92400e}.jhe-empty{padding:30px;border-radius:22px;border:1px dashed var(--jhe-border-strong);text-align:center;background:rgba(255,255,255,.6)}.jhe-empty strong{display:block;font-size:16px;margin-bottom:6px}
.jhe-modal{position:fixed;inset:0;display:none;padding:18px;z-index:9999}.jhe-modal.is-open{display:grid;place-items:center}.jhe-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.46);backdrop-filter:blur(4px)}.jhe-modal-dialog{position:relative;z-index:1;width:min(520px,100%);padding:26px;border-radius:24px;background:var(--jhe-surface);border:1px solid var(--jhe-border);box-shadow:var(--jhe-shadow-lg)}.jhe-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:transparent;color:var(--jhe-muted);cursor:pointer}body.jhe-modal-open{overflow:hidden}


/* =========================================================
   JH ENCAJA 1.1.0 · Identidad Oliva Patrimonio
   Capa visual oficial sobre el núcleo estable de JHTSAS.
   ========================================================= */
body.jhe-design-system{
 background:
   radial-gradient(circle at top right,rgba(200,169,107,.12),transparent 25%),
   radial-gradient(circle at top left,rgba(85,107,47,.09),transparent 27%),
   linear-gradient(180deg,var(--jhe-bg),var(--jhe-bg-2) 54%,var(--jhe-bg));
}
.jhe-card{border-color:var(--jhe-border);box-shadow:var(--jhe-shadow-xs)}
.jhe-card:hover{border-color:var(--jhe-border-strong);box-shadow:var(--jhe-shadow-sm)}
.jhe-btn-primary,.jhe-button-primary{
 background:linear-gradient(135deg,var(--jhe-primary),var(--jhe-primary-2));
 color:#fff!important;
 box-shadow:0 12px 28px rgba(63,78,36,.18)
}
.jhe-btn-secondary,.jhe-button-secondary{background:#fff;border-color:var(--jhe-border);color:var(--jhe-text)!important}
.jhe-nav-icon,.jhe-module-card-icon,.jhe-inline-icon,.jhe-home-feature-icon{color:var(--jhe-primary)}
.jhe-badge,.jhe-hero-kicker,.jhe-panel-role-pill{
 background:rgba(85,107,47,.10);
 border-color:rgba(85,107,47,.13);
 color:var(--jhe-primary-2)
}
.jhe-dot{
 background:linear-gradient(135deg,var(--jhe-primary),var(--jhe-accent));
 box-shadow:0 0 0 6px rgba(85,107,47,.08)
}
.jhe-hero{
 background:
   linear-gradient(135deg,rgba(255,255,255,.91),rgba(250,249,244,.84)),
   radial-gradient(circle at top right,rgba(200,169,107,.18),transparent 31%),
   radial-gradient(circle at top left,rgba(85,107,47,.13),transparent 35%);
 border-color:rgba(200,169,107,.30);
 box-shadow:var(--jhe-shadow-md)
}
.jhe-stat{
 background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,249,244,.80));
 border-color:rgba(85,107,47,.13)
}
.jhe-progress span{background:linear-gradient(90deg,var(--jhe-primary),var(--jhe-accent))}
.jhe-input,.jhe-select,.jhe-textarea{border-color:rgba(85,107,47,.19);background:rgba(255,255,255,.94)}
.jhe-input:focus,.jhe-select:focus,.jhe-textarea:focus{border-color:var(--jhe-primary);box-shadow:0 0 0 4px var(--jhe-ring)}
