.jht-ui,.jht-modal{font-family:var(--jht-font);color:var(--jht-text);box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.jht-ui *,.jht-modal *{box-sizing:border-box}.jht-shell{position:relative;isolation:isolate;max-width:1240px;margin:30px auto;padding:22px;background:var(--jht-bg);border-radius:var(--jht-radius-2xl);overflow:hidden}.jht-ambient{position:absolute;z-index:-1;inset:-180px auto auto -150px;width:520px;height:520px;background:radial-gradient(circle,rgba(99,102,241,.16),rgba(34,211,238,.06) 45%,transparent 70%);filter:blur(10px);pointer-events:none}.jht-glass{background:var(--jht-surface);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.jht-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px;border:1px solid var(--jht-border);border-radius:var(--jht-radius-xl);box-shadow:var(--jht-shadow-sm)}.jht-hero-copy{max-width:760px}.jht-kicker,.jht-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;line-height:1.2;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--jht-primary)}.jht-dot{width:7px;height:7px;border-radius:999px;background:linear-gradient(135deg,var(--jht-primary-500),var(--jht-cyan-400));box-shadow:0 0 0 5px var(--jht-ring)}.jht-hero h1{font-size:clamp(30px,4.2vw,52px);line-height:1.03;letter-spacing:-.042em;font-weight:720;margin:14px 0 12px;max-width:760px}.jht-hero p,.jht-panel p,.jht-notice p,.jht-modal p{font-size:14px;line-height:1.65;color:var(--jht-muted);margin:0}.jht-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.jht-card{background:var(--jht-surface);border:1px solid var(--jht-border);border-radius:var(--jht-radius-lg);box-shadow:var(--jht-shadow-xs);transition:transform var(--jht-speed) var(--jht-ease),box-shadow var(--jht-speed) var(--jht-ease),border-color var(--jht-speed) var(--jht-ease),background var(--jht-speed) var(--jht-ease)}.jht-card:hover{transform:translateY(-2px);border-color:var(--jht-border-strong);box-shadow:var(--jht-shadow-md)}.jht-card-accent{background:linear-gradient(145deg,var(--jht-surface),color-mix(in srgb,var(--jht-primary-50) 42%,var(--jht-surface)))}
.jht-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.jht-stat{padding:18px}.jht-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.jht-stat-value{font-size:28px;line-height:1;font-weight:720;letter-spacing:-.04em;margin-top:20px}.jht-stat-label{font-size:12px;color:var(--jht-muted);margin-top:6px}.jht-microcopy{font-size:11px;color:var(--jht-muted);margin-top:14px}.jht-trend{font-size:11px;font-weight:650;color:var(--jht-success);background:var(--jht-success-soft);border-radius:999px;padding:5px 8px}.jht-progress{height:5px;background:var(--jht-slate-100);border-radius:999px;overflow:hidden;margin-top:16px}.jht-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--jht-primary-500),var(--jht-cyan-400))}.jht-sparkline{display:flex;align-items:end;gap:3px;height:22px;margin-top:12px}.jht-sparkline i{display:block;width:5px;border-radius:999px;background:color-mix(in srgb,var(--jht-primary) 65%,transparent)}.jht-sparkline i:nth-child(1){height:32%}.jht-sparkline i:nth-child(2){height:52%}.jht-sparkline i:nth-child(3){height:44%}.jht-sparkline i:nth-child(4){height:78%}.jht-sparkline i:nth-child(5){height:64%}.jht-sparkline i:nth-child(6){height:88%}.jht-sparkline i:nth-child(7){height:100%}
.jht-layout-2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px;margin-top:12px}.jht-panel{padding:20px}.jht-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.jht-panel h2{font-size:18px;line-height:1.2;letter-spacing:-.025em;font-weight:680;margin:5px 0 0}.jht-panel-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--jht-border)}
.jht-btn{min-height:38px;padding:9px 13px;border:1px solid transparent;border-radius:var(--jht-radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 12.5px/1.1 var(--jht-font);letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--jht-speed-fast) var(--jht-ease),box-shadow var(--jht-speed-fast) var(--jht-ease),background var(--jht-speed-fast) var(--jht-ease),border-color var(--jht-speed-fast) var(--jht-ease)}.jht-btn:hover{transform:translateY(-1px)}.jht-btn:active{transform:translateY(0) scale(.985)}.jht-btn:focus-visible,.jht-icon-btn:focus-visible,.jht-input:focus-visible,.jht-select:focus-visible,.jht-textarea:focus-visible{outline:none;box-shadow:0 0 0 4px var(--jht-ring)}.jht-btn-primary{background:linear-gradient(180deg,var(--jht-primary-500),var(--jht-primary-600));color:#fff!important;box-shadow:0 8px 18px rgba(79,70,229,.20),inset 0 1px 0 rgba(255,255,255,.18)}.jht-btn-primary:hover{background:linear-gradient(180deg,var(--jht-primary-600),var(--jht-primary-700));box-shadow:0 10px 22px rgba(79,70,229,.26)}.jht-btn-secondary{background:var(--jht-surface-solid);border-color:var(--jht-border);color:var(--jht-text)!important;box-shadow:var(--jht-shadow-xs)}.jht-btn-secondary:hover{background:var(--jht-surface-2);border-color:var(--jht-border-strong)}.jht-btn-ghost{background:transparent;border-color:transparent;color:var(--jht-muted)!important}.jht-btn-ghost:hover{background:color-mix(in srgb,var(--jht-slate-100) 68%,transparent);color:var(--jht-text)!important}
.jht-icon-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--jht-border);border-radius:var(--jht-radius-sm);background:var(--jht-surface-solid);color:var(--jht-muted);cursor:pointer;box-shadow:var(--jht-shadow-xs);transition:all var(--jht-speed-fast) var(--jht-ease)}.jht-icon-btn:hover{color:var(--jht-text);border-color:var(--jht-border-strong);transform:translateY(-1px)}.jht-icon-btn-sm{width:32px;height:32px}.jht-icon-tile{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--jht-primary-50),rgba(34,211,238,.10));border:1px solid color-mix(in srgb,var(--jht-primary-200) 65%,transparent);color:var(--jht-primary)}.jht-icon-tile-sm{width:32px;height:32px;border-radius:10px;flex:0 0 auto}[data-jht-icon] svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jht-btn [data-jht-icon] svg{width:16px;height:16px}
.jht-badge{min-height:23px;padding:4px 8px;border:1px solid var(--jht-border);border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:var(--jht-surface-2);color:var(--jht-muted);font-size:10.5px;line-height:1;font-weight:600}.jht-badge-success{background:var(--jht-success-soft);border-color:color-mix(in srgb,var(--jht-success) 20%,transparent);color:var(--jht-success)}.jht-badge-info{background:var(--jht-primary-50);border-color:var(--jht-primary-100);color:var(--jht-primary)}.jht-badge-soft{background:color-mix(in srgb,var(--jht-primary-50) 55%,var(--jht-surface));color:var(--jht-primary)}.jht-status-dot{width:6px;height:6px;border-radius:999px;background:currentColor}
.jht-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jht-col-span-2{grid-column:span 2}.jht-label{display:block;margin-bottom:6px;font-size:11.5px;font-weight:620;color:var(--jht-slate-700)}html[data-jht-theme="dark"] .jht-label{color:var(--jht-slate-300)}.jht-input,.jht-select,.jht-textarea{width:100%;border:1px solid var(--jht-border);border-radius:var(--jht-radius-sm);background:var(--jht-surface-solid);color:var(--jht-text);font:450 13px/1.4 var(--jht-font);outline:none;transition:border-color var(--jht-speed-fast),box-shadow var(--jht-speed-fast),background var(--jht-speed-fast)}.jht-input,.jht-select{min-height:40px;padding:9px 11px}.jht-textarea{padding:10px 11px;resize:vertical;min-height:104px}.jht-input::placeholder,.jht-textarea::placeholder{color:var(--jht-slate-400)}.jht-input:focus,.jht-select:focus,.jht-textarea:focus{border-color:color-mix(in srgb,var(--jht-primary) 60%,var(--jht-border));box-shadow:0 0 0 4px var(--jht-ring)}.jht-input-wrap{position:relative}.jht-input-wrap>[data-jht-icon]{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--jht-slate-400);pointer-events:none}.jht-input-wrap .jht-input{padding-left:37px}
.jht-timeline{position:relative;padding:2px 0}.jht-timeline-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;padding:0 0 18px}.jht-timeline-item:last-child{padding-bottom:0}.jht-timeline-item:before{content:"";position:absolute;left:6px;top:12px;bottom:-2px;width:1px;background:var(--jht-border)}.jht-timeline-item:last-child:before{display:none}.jht-timeline-item>span{position:relative;z-index:1;width:13px;height:13px;margin-top:2px;border-radius:999px;background:var(--jht-surface-solid);border:2px solid var(--jht-slate-300)}.jht-timeline-item.is-done>span{background:var(--jht-primary);border-color:var(--jht-primary);box-shadow:0 0 0 4px var(--jht-ring)}.jht-timeline-item.is-current>span{border-color:var(--jht-primary);box-shadow:0 0 0 4px var(--jht-ring)}.jht-timeline-item strong{display:block;font-size:12.5px;font-weight:620}.jht-timeline-item small{display:block;font-size:11px;color:var(--jht-muted);margin-top:3px}.jht-notice{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:12px;border:1px solid var(--jht-border);border-radius:var(--jht-radius-md);background:color-mix(in srgb,var(--jht-primary-50) 35%,var(--jht-surface))}.jht-notice strong{display:block;font-size:12px;margin-bottom:2px}.jht-notice p{font-size:11.5px}
.jht-component-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.jht-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--jht-border);border-radius:999px;background:var(--jht-surface);color:var(--jht-muted);font-size:10.5px;font-weight:600;box-shadow:var(--jht-shadow-xs)}.jht-chip [data-jht-icon] svg{width:14px;height:14px;color:var(--jht-primary)}
.jht-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px}.jht-modal.is-open{display:flex}.jht-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.jht-modal-dialog{position:relative;width:min(500px,100%);background:var(--jht-surface-solid);border:1px solid var(--jht-border);border-radius:var(--jht-radius-xl);padding:26px;box-shadow:var(--jht-shadow-lg);animation:jhtModalIn .22s var(--jht-ease)}.jht-modal-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--jht-primary-50),rgba(34,211,238,.12));color:var(--jht-primary);margin-bottom:18px}.jht-modal-icon [data-jht-icon] svg{width:22px;height:22px}.jht-modal-dialog h3{margin:7px 38px 8px 0;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.03em}.jht-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--jht-border);border-radius:10px;background:var(--jht-surface-2);color:var(--jht-muted);display:grid;place-items:center;cursor:pointer}.jht-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--jht-border)}@keyframes jhtModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}body.jht-modal-open{overflow:hidden}


/* ==========================================================================
   Compatibility + application primitives — 1.1.1
   Canonical API remains .jht-btn. Legacy .jht-button aliases are kept so
   older JHT modules inherit the central visual system without local CSS.
   ========================================================================== */
.jht-button{
  min-height:38px;padding:9px 13px;border:1px solid transparent;
  border-radius:var(--jht-radius-sm);display:inline-flex;align-items:center;
  justify-content:center;gap:8px;font:600 12.5px/1.1 var(--jht-font);
  letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform var(--jht-speed-fast) var(--jht-ease),
             box-shadow var(--jht-speed-fast) var(--jht-ease),
             background var(--jht-speed-fast) var(--jht-ease),
             border-color var(--jht-speed-fast) var(--jht-ease)
}
.jht-button:hover{transform:translateY(-1px)}
.jht-button:active{transform:translateY(0) scale(.985)}
.jht-button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--jht-ring)}
.jht-button-primary{
  background:linear-gradient(180deg,var(--jht-primary-500),var(--jht-primary-600));
  color:#fff!important;
  box-shadow:0 8px 18px rgba(79,70,229,.20),inset 0 1px 0 rgba(255,255,255,.18)
}
.jht-button-primary:hover{
  background:linear-gradient(180deg,var(--jht-primary-600),var(--jht-primary-700));
  box-shadow:0 10px 22px rgba(79,70,229,.26)
}
.jht-button-secondary{
  background:var(--jht-surface-solid);border-color:var(--jht-border);
  color:var(--jht-text)!important;box-shadow:var(--jht-shadow-xs)
}
.jht-button-secondary:hover{
  background:var(--jht-surface-2);border-color:var(--jht-border-strong)
}
.jht-button-ghost{
  background:transparent;border-color:transparent;color:var(--jht-muted)!important
}
.jht-button-ghost:hover{
  background:color-mix(in srgb,var(--jht-slate-100) 68%,transparent);
  color:var(--jht-text)!important
}

.jht-form{display:grid;gap:14px}
.jht-form>label{display:grid;gap:6px;font-size:11.5px;font-weight:620;color:var(--jht-slate-700)}
html[data-jht-theme="dark"] .jht-form>label{color:var(--jht-slate-300)}
.jht-form small{color:var(--jht-muted);font-size:11px;line-height:1.5}

.jht-access-card,.jht-profile-card{width:min(640px,100%);margin-inline:auto;padding:22px}
.jht-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.jht-card-header h1,.jht-card-header h2,.jht-card-header h3{margin:5px 0 0}
.jht-card-header p{margin:6px 0 0;color:var(--jht-muted)}

.jht-app-layout{
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;
  align-items:start;width:min(1440px,100%);margin-inline:auto
}
.jht-app-sidebar{position:sticky;top:18px;padding:16px}
.jht-app-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 14px}
.jht-app-brand strong{display:block;font-size:13px;letter-spacing:-.02em}
.jht-app-brand small{display:block;color:var(--jht-muted);font-size:10px;margin-top:2px}
.jht-app-nav{display:grid;gap:6px}
.jht-app-nav .jht-btn,.jht-app-nav .jht-button{width:100%;justify-content:flex-start}
.jht-app-main{min-width:0;display:grid;gap:14px}
.jht-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jht-app-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.jht-app-account{display:flex;align-items:center;gap:10px;min-width:0}
.jht-app-account-meta{min-width:0}
.jht-app-account-meta strong,.jht-app-account-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jht-app-account-meta small{color:var(--jht-muted);font-size:11px;margin-top:2px}


/* ==========================================================================
   JH Technology Design System 1.2.0 — application visual layer
   ========================================================================== */

.jht-page-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:6px
}
.jht-page-heading h1,.jht-page-heading h2{margin:0;letter-spacing:-.035em}
.jht-page-heading p{margin:6px 0 0;color:var(--jht-muted);max-width:720px}
.jht-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.jht-hero{
  position:relative;overflow:hidden;padding:26px;
  background:
    radial-gradient(circle at 90% 10%,rgba(99,102,241,.15),transparent 34%),
    radial-gradient(circle at 10% 90%,rgba(6,182,212,.10),transparent 35%),
    var(--jht-surface-solid);
}
.jht-hero:after{
  content:"";position:absolute;inset:auto -70px -100px auto;width:210px;height:210px;
  border-radius:999px;border:32px solid rgba(99,102,241,.06);pointer-events:none
}
.jht-hero-kicker{
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;
  color:var(--jht-primary-600);text-transform:uppercase;letter-spacing:.08em
}
.jht-hero h1{margin:8px 0 7px;font-size:clamp(24px,3vw,34px);line-height:1.05;letter-spacing:-.045em}
.jht-hero p{max-width:700px;margin:0;color:var(--jht-muted);font-size:13.5px;line-height:1.7}
.jht-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}

.jht-stat-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px
}
.jht-stat{
  position:relative;overflow:hidden;padding:17px;
  background:var(--jht-surface-solid);border:1px solid var(--jht-border);
  border-radius:var(--jht-radius-md);box-shadow:var(--jht-shadow-xs)
}
.jht-stat-label{font-size:10.5px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--jht-muted)}
.jht-stat-value{display:block;margin-top:7px;font-size:24px;font-weight:760;letter-spacing:-.045em;color:var(--jht-text)}
.jht-stat-meta{display:block;margin-top:4px;font-size:11px;color:var(--jht-muted)}

.jht-module-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px
}
.jht-module-card{
  display:flex;flex-direction:column;min-height:164px;padding:18px;
  border:1px solid var(--jht-border);border-radius:var(--jht-radius-md);
  background:var(--jht-surface-solid);box-shadow:var(--jht-shadow-xs);
  text-decoration:none!important;color:var(--jht-text)!important;
  transition:transform var(--jht-speed-fast) var(--jht-ease),
             box-shadow var(--jht-speed-fast) var(--jht-ease),
             border-color var(--jht-speed-fast) var(--jht-ease)
}
.jht-module-card:hover{
  transform:translateY(-2px);box-shadow:var(--jht-shadow-md);border-color:var(--jht-border-strong)
}
.jht-module-card-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--jht-primary-500) 9%,transparent);
  color:var(--jht-primary-600);font-size:16px;margin-bottom:14px
}
.jht-module-card h3{font-size:14px;margin:0;letter-spacing:-.025em}
.jht-module-card p{font-size:11.5px;line-height:1.55;color:var(--jht-muted);margin:6px 0 14px}
.jht-module-card-footer{margin-top:auto;font-size:11px;font-weight:650;color:var(--jht-primary-600)}

.jht-selection-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px
}
.jht-selection-card{
  position:relative;display:block;padding:14px;border:1px solid var(--jht-border);
  border-radius:var(--jht-radius-sm);background:var(--jht-surface-solid);
  cursor:pointer;transition:.18s ease
}
.jht-selection-card:hover{border-color:var(--jht-border-strong);box-shadow:var(--jht-shadow-xs)}
.jht-selection-card input{position:absolute;opacity:0;pointer-events:none}
.jht-selection-card:has(input:checked){
  border-color:var(--jht-primary-500);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--jht-primary-500) 12%,transparent)
}
.jht-selection-card-title{display:block;font-size:12px;font-weight:700;color:var(--jht-text)}
.jht-selection-card-meta{display:block;margin-top:4px;font-size:10.5px;line-height:1.5;color:var(--jht-muted)}

.jht-order-list{display:grid;gap:9px}
.jht-order-row{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;
  gap:14px;align-items:center;padding:15px 16px;border:1px solid var(--jht-border);
  border-radius:var(--jht-radius-sm);background:var(--jht-surface-solid)
}
.jht-order-row-main{min-width:0}
.jht-order-row-main strong,.jht-order-row-main small{display:block}
.jht-order-row-main strong{font-size:12.5px}
.jht-order-row-main small{font-size:10.5px;color:var(--jht-muted);margin-top:3px}
.jht-order-row-meta{font-size:11px;color:var(--jht-muted)}

.jht-status{
  display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 8px;
  border-radius:999px;font-size:10px;font-weight:720;white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--jht-border) 82%,transparent);
  background:var(--jht-surface-2);color:var(--jht-muted)
}
.jht-status:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.65}
.jht-status-received,.jht-status-reviewing{color:#475569}
.jht-status-assigned,.jht-status-diagnosing,.jht-status-quoted{color:#4f46e5}
.jht-status-approved,.jht-status-in_service{color:#0891b2}
.jht-status-ready{color:#059669}
.jht-status-delivered,.jht-status-closed{color:#15803d}
.jht-status-cancelled{color:#b91c1c}

.jht-section{display:grid;gap:11px}
.jht-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.jht-section-header h2,.jht-section-header h3{margin:0}
.jht-section-header p{margin:3px 0 0;color:var(--jht-muted);font-size:11px}

.jht-empty{
  padding:28px;text-align:center;border:1px dashed var(--jht-border-strong);
  border-radius:var(--jht-radius-md);background:color-mix(in srgb,var(--jht-surface-solid) 85%,transparent)
}
.jht-empty strong{display:block;font-size:13px}
.jht-empty p{max-width:500px;margin:6px auto 14px;font-size:11.5px;color:var(--jht-muted);line-height:1.6}

.jht-view-shell{display:grid;gap:14px}
.jht-backlink{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:var(--jht-muted);text-decoration:none}
.jht-backlink:hover{color:var(--jht-text)}

.jht-schedule-card{
  display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:14px;
  align-items:center;padding:14px 15px;border:1px solid var(--jht-border);
  border-radius:var(--jht-radius-sm);background:var(--jht-surface-solid)
}
.jht-schedule-time{
  padding-right:13px;border-right:1px solid var(--jht-border);text-align:center
}
.jht-schedule-time strong{display:block;font-size:15px;letter-spacing:-.03em}
.jht-schedule-time small{font-size:9.5px;color:var(--jht-muted)}
.jht-schedule-main strong,.jht-schedule-main small{display:block}
.jht-schedule-main strong{font-size:12px}
.jht-schedule-main small{font-size:10.5px;color:var(--jht-muted);margin-top:3px}

.jht-form-section{
  padding:18px;border:1px solid var(--jht-border);border-radius:var(--jht-radius-md);
  background:var(--jht-surface-solid)
}
.jht-form-section-title{font-size:12px;font-weight:720;margin:0 0 12px;color:var(--jht-text)}
.jht-help{font-size:10.5px;color:var(--jht-muted);line-height:1.55}

.jht-progress{
  height:7px;border-radius:999px;overflow:hidden;background:var(--jht-surface-2)
}
.jht-progress>span{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--jht-primary-500),var(--jht-cyan-500));
}

html[data-jht-theme="dark"] .jht-module-card-icon{
  background:rgba(99,102,241,.15)
}


/* 1.3.0 — ajustes tras validación visual real */
.jht-app-layout{grid-template-columns:220px minmax(0,1fr);width:min(1320px,100%);gap:16px}
.jht-app-sidebar{border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.045)}
.jht-app-main{width:100%;max-width:none}
.jht-hero{min-height:210px;display:flex;flex-direction:column;justify-content:center}
.jht-hero h1{max-width:900px;overflow-wrap:anywhere;word-break:normal}
.jht-stat-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.jht-stat{min-height:116px}
.jht-stat-value{font-size:28px}
.jht-module-grid{grid-template-columns:repeat(3,minmax(190px,1fr))}
.jht-module-card{min-height:176px}
.jht-app-nav .jht-btn,.jht-app-nav .jht-button{min-height:42px;padding-inline:13px}
.jht-auth-shell{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:28px 0}
.jht-auth-card{width:min(520px,100%);padding:26px;border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.07)}
.jht-auth-card .jht-card-header h2{font-size:24px;letter-spacing:-.04em}
.jht-auth-card .jht-card-header p{font-size:12px;line-height:1.6}
.jht-auth-divider{height:1px;background:var(--jht-border);margin:6px 0}
.jht-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jht-profile-form>label{min-width:0}
.jht-profile-form>.jht-profile-wide{grid-column:1/-1}
.jht-profile-form>.jht-page-actions{grid-column:1/-1}
.jht-profile-card{width:min(900px,100%);padding:24px;border-radius:18px}
@media(max-width:980px){
  .jht-app-layout{grid-template-columns:1fr}
  .jht-app-sidebar{position:static}
  .jht-app-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jht-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .jht-app-nav{grid-template-columns:1fr 1fr}
  .jht-profile-form{grid-template-columns:1fr}
  .jht-profile-form>.jht-profile-wide,.jht-profile-form>.jht-page-actions{grid-column:auto}
}
