:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #17323a;
  background: #eef4f5;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: linear-gradient(180deg,#e9f4f5 0,#f7fafb 40%,#eef4f5 100%); }
button,input,textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.app { width: min(100%,720px); margin: 0 auto; min-height: 100vh; padding: max(18px,env(safe-area-inset-top)) 16px max(26px,env(safe-area-inset-bottom)); }
.brand { display:flex; gap:14px; align-items:center; }
.brand-logo { width:58px; height:58px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(135deg,#0b5f6a,#158b91); color:white; font-size:29px; box-shadow:0 12px 28px rgba(11,95,106,.22); }
.brand h1 { margin:0; font-size:2rem; letter-spacing:-.04em; }
.brand p { margin:3px 0 0; color:#6f8186; }
.panel { background:#fff; border:1px solid rgba(20,79,87,.08); border-radius:24px; box-shadow:0 14px 36px rgba(24,67,73,.09); }
.login-wrap { min-height:calc(100vh - 44px); display:grid; align-content:center; gap:22px; }
.login-card { padding:24px; }
.login-card h2 { margin:0 0 6px; }
.login-card .hint { color:#74858a; margin:0 0 22px; }
.field { display:grid; gap:7px; margin:14px 0; }
.field label { font-weight:700; font-size:.9rem; }
.field input,.field textarea { width:100%; border:1px solid #cad7da; border-radius:14px; padding:14px; background:#fbfdfd; color:#17323a; outline:none; }
.field input:focus,.field textarea:focus { border-color:#158b91; box-shadow:0 0 0 4px rgba(21,139,145,.11); }
.btn { border:0; border-radius:14px; padding:14px 17px; font-weight:800; cursor:pointer; }
.btn-primary { background:#0b6f78; color:#fff; width:100%; box-shadow:0 8px 18px rgba(11,111,120,.20); }
.btn-secondary { background:#e5f0f1; color:#0a6169; }
.btn-danger { background:#feecec; color:#a12929; }
.error { min-height:20px; color:#b42a2a; font-size:.9rem; margin-top:10px; }
.demo { margin-top:18px; padding:12px 14px; border-radius:14px; background:#f0f7f7; color:#567177; font-size:.88rem; }
.topbar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:18px; }
.topbar-actions { display:flex; gap:9px; }
.icon-btn { width:44px; height:44px; border:0; border-radius:14px; background:white; box-shadow:0 6px 16px rgba(24,67,73,.08); font-size:20px; }
.hero { padding:22px; color:white; background:linear-gradient(135deg,#0b5f6a,#168d92); margin-bottom:16px; }
.hero-row { display:flex; justify-content:space-between; align-items:end; gap:14px; }
.hero h2 { margin:0 0 6px; font-size:1.55rem; }
.hero p { margin:0; opacity:.85; }
.stat { text-align:right; }
.stat strong { display:block; font-size:2rem; }
.toolbar { display:flex; gap:10px; margin:15px 0; }
.search { flex:1; border:1px solid #cad7da; border-radius:14px; padding:13px 14px; background:#fff; }
.add-btn { flex:0 0 auto; padding-inline:16px; }
.empty { padding:35px 22px; text-align:center; color:#6c7f84; }
.empty .big { font-size:42px; margin-bottom:8px; }
.client-list { display:grid; gap:12px; }
.client-card { padding:17px; display:grid; gap:11px; }
.client-head { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.client-head h3 { margin:0 0 4px; font-size:1.08rem; }
.client-head p { margin:0; color:#708187; font-size:.9rem; }
.badge { white-space:nowrap; padding:6px 9px; border-radius:999px; background:#e8f3f3; color:#116b72; font-size:.78rem; font-weight:800; }
.client-meta { display:grid; gap:6px; color:#536d73; font-size:.92rem; }
.card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.card-actions button,.card-actions a { border:0; text-decoration:none; border-radius:11px; padding:10px 12px; background:#eef5f5; color:#0b6870; font-weight:750; }
.modal-backdrop { position:fixed; inset:0; background:rgba(15,40,44,.42); display:grid; place-items:end center; padding-top:30px; z-index:10; }
.modal { width:min(100%,720px); max-height:92vh; overflow:auto; background:#fff; border-radius:26px 26px 0 0; padding:20px 18px max(24px,env(safe-area-inset-bottom)); }
.modal-head { display:flex; justify-content:space-between; align-items:center; }
.modal-head h2 { margin:0; }
.close { border:0; width:40px; height:40px; border-radius:12px; background:#edf3f4; font-size:22px; }
.modal-actions { display:flex; gap:10px; margin-top:18px; }
.modal-actions .btn { flex:1; }
.footer-note { text-align:center; color:#829095; font-size:.8rem; margin-top:22px; }
@media (max-width:420px) { .brand h1{font-size:1.75rem}.hero-row{align-items:center}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.add-btn{width:100%} }

/* v0.2: fichas, equipos y fotografías */
.card-open,.equipment-open { width:100%; border:0; background:transparent; padding:0; color:inherit; text-align:left; cursor:pointer; }
.danger-link { color:#9d3333 !important; }
.stats { display:flex; gap:18px; }
.detail-nav { display:grid; grid-template-columns:44px 1fr 44px; gap:12px; align-items:center; margin-bottom:18px; }
.detail-nav h1 { margin:1px 0 0; font-size:1.35rem; line-height:1.15; }
.detail-nav small { color:#708187; }
.detail-card,.equipment-detail { padding:18px; margin-bottom:20px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.detail-grid > div { display:grid; gap:4px; min-width:0; }
.detail-grid .wide { grid-column:1/-1; }
.detail-grid span { color:#708187; font-size:.78rem; }
.detail-grid strong,.detail-grid a { color:#17323a; text-decoration:none; overflow-wrap:anywhere; }
.detail-notes { margin:16px 0 0; padding:12px; border-radius:13px; background:#f0f6f6; color:#526c72; }
.map-full { display:block; text-align:center; margin-top:14px; }
.section-head { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:20px 2px 12px; }
.section-head h2 { margin:0; font-size:1.25rem; }
.section-head p { margin:3px 0 0; color:#708187; font-size:.82rem; }
.compact { width:auto; padding:11px 14px; }
.equipment-list { display:grid; gap:12px; }
.equipment-card { background:#fff; border:1px solid rgba(20,79,87,.08); border-radius:20px; padding:15px; box-shadow:0 10px 26px rgba(24,67,73,.07); }
.equipment-open { display:flex; gap:12px; align-items:center; }
.equipment-icon { width:48px; height:48px; flex:0 0 auto; border-radius:15px; display:grid; place-items:center; background:#e6f3f3; font-size:23px; }
.equipment-info { flex:1; min-width:0; }
.equipment-title { display:flex; justify-content:space-between; gap:8px; align-items:start; }
.equipment-title strong { font-size:1rem; }
.equipment-title span { font-size:.72rem; color:#116b72; background:#e8f3f3; border-radius:999px; padding:5px 7px; white-space:nowrap; }
.equipment-info p { margin:5px 0 2px; color:#60777c; }
.equipment-info small { color:#87969a; }
.equipment-summary { display:flex; gap:14px; align-items:center; margin-bottom:17px; }
.equipment-big-icon { width:66px; height:66px; border-radius:20px; display:grid; place-items:center; background:linear-gradient(135deg,#0b5f6a,#168d92); font-size:30px; box-shadow:0 10px 22px rgba(11,95,106,.18); }
.equipment-summary h2 { margin:8px 0 0; font-size:1.2rem; }
.equipment-specs { padding-top:14px; border-top:1px solid #edf2f3; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.field select { width:100%; border:1px solid #cad7da; border-radius:14px; padding:14px; background:#fbfdfd; color:#17323a; outline:none; }
.photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.photo-card { background:#fff; border-radius:18px; overflow:hidden; border:1px solid rgba(20,79,87,.08); box-shadow:0 10px 24px rgba(24,67,73,.07); }
.photo-open { border:0; padding:0; background:#e9f0f1; width:100%; aspect-ratio:1/1; display:block; }
.photo-open img { width:100%; height:100%; object-fit:cover; display:block; }
.photo-card > div { padding:10px; }
.photo-card p { margin:0 0 5px; font-size:.84rem; overflow-wrap:anywhere; }
.photo-card small { display:block; color:#849397; font-size:.68rem; }
.photo-delete { margin-top:8px; border:0; background:#feecec; color:#9d3333; border-radius:9px; padding:7px 9px; font-weight:700; }
.photo-empty { grid-column:1/-1; }
.viewer-backdrop { position:fixed; inset:0; background:rgba(5,18,20,.94); z-index:50; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:55px 16px 30px; }
.viewer-backdrop img { max-width:100%; max-height:78vh; border-radius:16px; object-fit:contain; }
.viewer-backdrop p { color:white; margin:12px 0 0; }
.viewer-close { position:absolute; top:max(16px,env(safe-area-inset-top)); right:16px; width:44px; height:44px; border:0; border-radius:14px; background:rgba(255,255,255,.16); color:white; font-size:28px; }
@media (max-width:520px) { .form-row{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid .wide{grid-column:auto}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stat strong{font-size:1.55rem} }


/* v0.3: selector explícito de cámara o galería */
.sheet-backdrop { position:fixed; inset:0; z-index:80; display:grid; align-items:end; background:rgba(9,30,34,.48); padding:0 12px max(12px,env(safe-area-inset-bottom)); }
.source-sheet { width:min(100%,680px); margin:0 auto; padding:10px 16px 16px; border-radius:26px; background:#fff; box-shadow:0 22px 60px rgba(7,31,35,.28); animation:sheetUp .18s ease-out; }
.sheet-handle { width:42px; height:5px; margin:2px auto 14px; border-radius:999px; background:#d7e1e3; }
.source-sheet h3 { margin:0 0 4px; font-size:1.2rem; }
.source-sheet > p { margin:0 0 14px; color:#71858a; font-size:.9rem; }
.source-option { width:100%; display:flex; align-items:center; gap:13px; margin:9px 0; padding:14px; border:1px solid #dce8e9; border-radius:17px; background:#f8fbfb; color:#17323a; text-align:left; }
.source-option > span { width:43px; height:43px; display:grid; place-items:center; flex:0 0 auto; border-radius:14px; background:#e5f2f2; font-size:23px; }
.source-option div { display:grid; gap:3px; }
.source-option strong { font-size:.98rem; }
.source-option small { color:#71858a; }
.sheet-cancel { width:100%; margin-top:8px; padding:13px; border:0; border-radius:14px; background:#edf3f4; color:#496268; font-weight:800; }
@keyframes sheetUp { from { transform:translateY(22px); opacity:0; } to { transform:translateY(0); opacity:1; } }

.equipment-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px;padding:7px;background:#e8eef2;border-radius:16px;position:sticky;top:8px;z-index:8;box-shadow:0 6px 18px rgba(15,39,66,.08)}
.equipment-tab{position:relative;border:0;background:transparent;border-radius:12px;padding:10px 4px;color:#667585;display:grid;place-items:center;gap:3px;font-size:1.05rem}
.equipment-tab span{font-size:.68rem;font-weight:800}.equipment-tab b{position:absolute;right:5px;top:4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:#d5dfe5;color:#345;font-size:.62rem}
.equipment-tab.active{background:#fff;color:#0f6d67;box-shadow:0 3px 10px rgba(15,39,66,.09)}.equipment-tab.active b{background:#e0f5f1;color:#0b7168}
.history-list,.document-list{display:grid;gap:12px}.history-card,.part-card,.document-card{padding:16px}.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.history-head small{color:#71808e;font-weight:700}.history-head h3{margin:3px 0 0;font-size:1.05rem}.status-pill,.qty-pill{white-space:nowrap;border-radius:99px;padding:6px 9px;background:#e5f6f2;color:#087068;font-size:.72rem;font-weight:800}.qty-pill{background:#edf1f5;color:#40556a}
.history-block{margin-top:13px;padding:12px;border-radius:12px;background:#f5f8fa}.history-block span,.part-grid span{display:block;color:#71808e;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.history-block p{margin:5px 0 0;white-space:pre-wrap}
.history-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.history-meta span{padding:6px 8px;border-radius:9px;background:#edf3f6;color:#526373;font-size:.78rem}.repair-photo-strip{display:flex;gap:7px;margin-top:12px;overflow:auto}
.repair-photo-strip button{border:0;padding:0;background:none;flex:0 0 68px;height:68px;border-radius:11px;overflow:hidden}.repair-photo-strip img{width:100%;height:100%;object-fit:cover}
.part-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.part-grid>div{padding:10px;border-radius:11px;background:#f5f8fa}.part-grid strong{display:block;margin-top:4px;font-size:.88rem}
.shared-docs-info{padding:16px;display:flex;gap:13px;align-items:flex-start;margin-bottom:16px;background:linear-gradient(135deg,#f0f8f7,#fff)}.shared-icon{font-size:2rem}.shared-docs-info h2{margin:0 0 5px;font-size:1.05rem}.shared-docs-info p{margin:0;color:#60717f;line-height:1.45}
.document-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center}.document-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#edf3f6;font-size:1.45rem}
.document-main h3{margin:0 0 3px;font-size:.95rem;overflow-wrap:anywhere}.document-main p{margin:0;color:#60717f;font-size:.82rem}.document-main small{display:block;margin-top:4px;color:#85919c}
.document-actions{display:grid;gap:6px}.document-actions button{border:0;border-radius:9px;padding:7px 9px;background:#e8f3f1;color:#0b7168;font-weight:800}.document-actions .danger-link{background:#fbeeee;color:#a72e2e}
@media(max-width:520px){.equipment-tabs{gap:4px;padding:5px}.equipment-tab{padding:9px 2px}.equipment-tab span{font-size:.59rem}.document-card{grid-template-columns:40px minmax(0,1fr)}.document-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}

.cloud-tools{display:flex;align-items:center;gap:7px}
.cloud-sync{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:11px;background:rgba(255,255,255,.14);color:#fff;font-size:.72rem;font-weight:800;white-space:nowrap}
.cloud-sync[data-state="ok"]{background:rgba(31,190,133,.22)}
.cloud-sync[data-state="syncing"],.cloud-sync[data-state="pending"]{background:rgba(255,193,7,.22)}
.cloud-sync[data-state="offline"],.cloud-sync[data-state="error"]{background:rgba(220,70,70,.25)}
@media(max-width:430px){.cloud-sync{max-width:92px;overflow:hidden;text-overflow:ellipsis}.cloud-tools{gap:4px}}

.role-badge,.role-mini{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.16);color:#fff;font-size:.72rem;font-weight:900;white-space:nowrap}
.role-mini{background:#e7f1f1;color:#176e73}
body[data-role="tecnico"] .danger-link,
body[data-role="cliente"] .danger-link{display:none!important}
body[data-role="cliente"] #addPhoto,
body[data-role="cliente"] #newRepair,
body[data-role="cliente"] #newPart,
body[data-role="cliente"] #addDocument,
body[data-role="cliente"] [data-add-repair-photo],
body[data-role="cliente"] [data-edit-repair],
body[data-role="cliente"] [data-edit-part],
body[data-role="cliente"] .photo-delete{display:none!important}

.company-list{display:grid;gap:13px}
.company-card{overflow:hidden;padding:0}
.company-open{
  width:100%;border:0;background:transparent;padding:17px;
  display:flex;align-items:center;gap:13px;text-align:left;color:inherit
}
.company-icon{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:14px;background:#e8f5f3;font-size:1.55rem;flex:0 0 auto
}
.company-info{min-width:0;flex:1}
.company-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.company-title h3{margin:0;font-size:1.08rem}
.company-title span{
  background:#e8f1f4;color:#506473;border-radius:99px;
  padding:5px 8px;font-size:.72rem;font-weight:800;white-space:nowrap
}
.company-info p{margin:6px 0 0;color:#687985;font-size:.87rem}
.company-summary{margin-bottom:17px}
.company-kpis{display:flex;gap:10px;margin-top:14px}
.company-kpis span{
  flex:1;padding:12px;border-radius:12px;
  background:#eef5f6;text-align:center;color:#61727e
}
.company-kpis strong{display:block;font-size:1.25rem;color:#17323a}
.stats{display:flex;gap:7px;flex-wrap:wrap}

@media(max-width:430px){
  .company-title{align-items:flex-start}
  .company-title span{font-size:.64rem}
  .company-open{padding:14px}
}

.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;color:#fff;font-weight:700}
.role-admin{background:#c62828}
.role-tech{background:#1565c0}
.role-client{background:#2e7d32}

.role-badge{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:700;color:#fff}
.role-badge.admin,.role-admin{background:#c62828}
.role-badge.tecnico,.role-tecnico{background:#1976d2}
.role-badge.cliente,.role-cliente{background:#2e7d32}


.role-badge.admin{background:#d32f2f!important;color:#fff!important}
.role-badge.tech{background:#1976d2!important;color:#fff!important}
.role-badge.client{background:#2e7d32!important;color:#fff!important}

/* v4.0.1 · Acceso a ClimaTrack IA */
.ai-access-card{
  width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) 28px;
  align-items:center;gap:13px;margin:0 0 16px;padding:15px;border:0;
  color:#17323a;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff,#eef9f8)
}
.ai-access-icon,.ai-intro-icon{
  width:52px;height:52px;display:grid;place-items:center;border-radius:17px;
  background:linear-gradient(135deg,#0b5f6a,#168d92);color:#fff;font-size:25px;
  box-shadow:0 9px 20px rgba(11,95,106,.2)
}
.ai-access-copy{display:grid;gap:4px}.ai-access-copy strong{font-size:1.05rem}.ai-access-copy small{color:#647a80;line-height:1.3}
.ai-access-arrow{font-size:31px;color:#0b6f78;text-align:right}.ai-head-icon{font-size:25px;text-align:center}
.ai-intro{display:flex;gap:14px;align-items:center;padding:18px;margin-bottom:14px;background:linear-gradient(135deg,#f3fbfa,#fff)}
.ai-intro h2{margin:0 0 5px;font-size:1.2rem}.ai-intro p{margin:0;color:#60777c;line-height:1.45}
.ai-form-card{padding:18px}.ai-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:17px}
.ai-actions .btn{width:100%}.ai-status{min-height:22px;margin:12px 2px 0;color:#0b6f78;font-weight:700;font-size:.88rem}
.ai-warning{margin:14px 2px 0;padding:14px;border-radius:16px;background:#fff8e8;border:1px solid #f0dfb5;color:#745b22}
.ai-warning strong{display:block;margin-bottom:4px}.ai-warning p{margin:0;line-height:1.42;font-size:.88rem}
@media(max-width:480px){.ai-actions{grid-template-columns:1fr}.ai-intro{align-items:flex-start}.ai-intro-icon{width:46px;height:46px;flex:0 0 auto}}

/* v4.0.2 · ClimaTrack Expert */
.ai-demo-badge{margin:0 0 12px;padding:9px 12px;border-radius:12px;background:#fff3cd;color:#795b00;font-size:.78rem;font-weight:900;text-align:center;letter-spacing:.04em}
.ai-result-card{padding:20px}.ai-result-heading span{font-size:.72rem;font-weight:900;color:#0b6f78;letter-spacing:.08em}.ai-result-heading h2{margin:6px 0 5px;font-size:1.35rem}.ai-result-heading p{margin:0;color:#61767b}
.ai-equipment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;padding:13px;border-radius:14px;background:#eef6f6;font-size:.84rem}.ai-result-section{padding:14px 0;border-top:1px solid #e8eeee}.ai-result-section h3{margin:0 0 8px;font-size:1rem}.ai-result-section ol{margin:0;padding-left:21px}.ai-result-section li{margin:8px 0;line-height:1.45}.ai-result-warning{margin-top:12px;padding:14px;border-radius:14px;background:#fff8e4;border:1px solid #f0d489}.ai-result-warning p{margin:5px 0 0}.ai-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.ai-result-actions .btn{width:100%}
@media(max-width:480px){.ai-equipment-summary{grid-template-columns:1fr}.ai-result-actions{grid-template-columns:1fr}}

/* v5.0 · Fase 1 · Escaneo de placas */
.plate-scan-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;margin-bottom:18px;padding:16px;border:1px solid #cfe5e4;border-radius:18px;background:linear-gradient(135deg,#eef9f8,#fff)}
.plate-scan-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#0b5f6a,#168d92);font-size:28px;box-shadow:0 8px 18px rgba(11,95,106,.18)}
.plate-scan-copy h2{margin:0 0 4px;font-size:1.05rem;color:#17323a}.plate-scan-copy p{margin:0;color:#657b80;font-size:.84rem;line-height:1.38}
.plate-scan-button{grid-column:1/-1;width:100%}.plate-photo-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.plate-preview-panel{margin:-3px 0 18px;padding:13px;border-radius:18px;background:#eef5f5;border:1px solid #d7e7e7}.plate-preview-panel.hidden{display:none}
.plate-preview-frame{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#dce6e7;display:grid;place-items:center}.plate-preview-frame img{width:100%;height:100%;object-fit:contain;background:#172125}
.plate-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.plate-preview-actions .btn{width:100%}
.plate-scan-status{min-height:20px;margin:10px 3px 0;color:#0b6f78;font-size:.84rem;font-weight:750;line-height:1.4}
.scan-spinner{display:inline-block;width:14px;height:14px;margin-right:6px;border:2px solid #b8d6d5;border-top-color:#0b6f78;border-radius:50%;vertical-align:-2px;animation:plateSpin .8s linear infinite}@keyframes plateSpin{to{transform:rotate(360deg)}}
@media(max-width:480px){.plate-preview-actions{grid-template-columns:1fr}.plate-scan-card{grid-template-columns:50px minmax(0,1fr)}.plate-scan-icon{width:50px;height:50px;border-radius:15px;font-size:24px}}


/* v5.1 mobile optimization */
.app{padding:12px!important}
header,.header,.topbar{padding:10px 12px!important;min-height:auto!important}
.stats,.stats-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
.search-actions,.toolbar,.client-toolbar{display:flex!important;flex-direction:column!important;gap:10px!important}
.search-actions button,.toolbar button,.client-toolbar button{width:100%!important}
input[type="search"],.search-actions input{width:100%!important}
.card,.client-card{padding:12px!important;margin-bottom:10px!important}


/* v5.2 UI Pro visual refresh */
:root{
  --radius-xl:20px;
  --shadow-soft:0 10px 28px rgba(0,0,0,.08);
}
.card,.panel,.accordion,.diagnostic-card,.section{
  border-radius:var(--radius-xl)!important;
  box-shadow:var(--shadow-soft)!important;
}
button,.btn{
  border-radius:16px!important;
  transition:all .2s ease;
}
button:hover,.btn:hover{transform:translateY(-1px)}

/* v5.2 UI Pro · Diagnóstico mobile-first */
.diagnostic-mobile-shell{max-width:620px;margin:0 auto;padding:0 12px 28px!important;background:linear-gradient(180deg,#edf5f6 0,#f7fafb 36%,#f7fafb 100%);min-height:100vh}
.diagnostic-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:0 -12px 14px;padding:12px 14px!important;background:linear-gradient(135deg,#063f4b,#096979);color:#fff;box-shadow:0 8px 24px rgba(4,63,75,.22)}
.diagnostic-back,.diagnostic-voice{width:42px;height:42px;border:0;border-radius:14px!important;background:rgba(255,255,255,.13);color:#fff;font-size:29px;display:grid;place-items:center;box-shadow:none!important}.diagnostic-voice{font-size:20px}
.diagnostic-title-block{text-align:center;min-width:0}.diagnostic-title-block small{display:block;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.diagnostic-title-block h1{margin:1px 0;font-size:1.25rem;line-height:1.1;color:#fff}.diagnostic-title-block span{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}
.diagnostic-summary-card{display:grid;grid-template-columns:54px 1fr;gap:13px;padding:16px;margin-bottom:13px;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(21,62,72,.11);border:1px solid rgba(18,112,120,.1)}
.diagnostic-status-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#ff9a31,#e96926);color:#fff;font-size:26px;font-weight:950;box-shadow:0 9px 18px rgba(234,105,38,.24)}
.diagnostic-summary-copy span{font-size:.66rem;font-weight:950;letter-spacing:.09em;color:#08717a}.diagnostic-summary-copy h2{margin:4px 0 5px;font-size:1.12rem;line-height:1.22;color:#18363d}.diagnostic-summary-copy p{margin:0;color:#65777c;font-size:.84rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.diagnostic-quick-meta{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.diagnostic-quick-meta span{padding:8px 5px;border-radius:12px;background:#edf6f5;color:#315b60;text-align:center;font-size:.7rem;font-weight:850}
.first-check-card{padding:17px;border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(21,62,72,.14);border:2px solid #19a892;margin-bottom:14px;overflow:hidden}
.first-check-label{display:flex;align-items:center;gap:7px;color:#08766d;font-weight:950;font-size:.76rem;letter-spacing:.07em}.first-check-label span{font-size:17px}.first-check-card>h2{margin:9px 0 13px;font-size:1.12rem;line-height:1.35;color:#16373c}
.terminal-visual{position:relative;height:205px;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 50% 10%,#45555c,#1e2a30 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.terminal-strip{position:absolute;left:50%;top:24px;transform:translateX(-50%);display:flex;gap:14px;padding:13px 17px;border-radius:13px;background:#d7d9d8;box-shadow:0 5px 12px rgba(0,0,0,.35)}.terminal{width:58px;height:58px;border-radius:8px;background:#f4f1e9;display:grid;place-items:center;position:relative;color:#2f3e42;font-size:1.05rem;border:2px solid #a9b0af}.terminal i{position:absolute;bottom:8px;width:20px;height:20px;border-radius:50%;background:#647174;box-shadow:inset 0 2px 4px rgba(0,0,0,.5)}.terminal-neutral{border-top:5px solid #1d3652}.terminal-live{border-top:5px solid #c0342e}
.probe-lines .probe{position:absolute;width:8px;height:115px;border-radius:8px;bottom:-20px;transform-origin:bottom;box-shadow:0 2px 4px rgba(0,0,0,.35)}.probe.black{left:38%;background:#15191b;transform:rotate(10deg)}.probe.red{right:38%;background:#d72f29;transform:rotate(-10deg)}
.meter-face{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:132px;height:64px;border-radius:15px;background:#eef0de;border:8px solid #eebd28;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 18px rgba(0,0,0,.36)}.meter-face small{position:absolute;top:4px;left:8px;font-size:.58rem;color:#3d4a45}.meter-face strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;color:#202d29}
.expected-value-box{display:flex;justify-content:space-between;align-items:center;margin:12px 0;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#e9f8f4,#f7fffd);border:1px solid #bfe8df}.expected-value-box small{font-size:.7rem;font-weight:950;color:#4c6f70;letter-spacing:.06em}.expected-value-box strong{font-size:1.35rem;color:#06866f}
.measurement-done-btn{width:100%;min-height:56px;border:0;border-radius:17px!important;background:linear-gradient(135deg,#08a47d,#087c72);color:#fff;font-size:.92rem;font-weight:950;letter-spacing:.04em;box-shadow:0 10px 22px rgba(8,137,112,.28)}.dictate-measurement-btn{width:100%;margin-top:9px;padding:12px;border:1px solid #cfe4e2;border-radius:15px!important;background:#f4f9f9;color:#17686b;font-weight:850}
.measurement-panel{margin-top:12px;padding:14px;border-radius:17px;background:#eef7f6;border:1px solid #cce4e1}.measurement-panel.hidden,.next-step-card.hidden{display:none}.measurement-panel label{display:block;margin-bottom:9px;font-weight:900;color:#23494d}.measurement-input-row{display:flex;align-items:center;border:1px solid #b8d5d2;border-radius:14px;background:#fff;overflow:hidden;margin-bottom:10px}.measurement-input-row input{flex:1;min-width:0;border:0!important;box-shadow:none!important;font-size:1.2rem;font-weight:900;padding:13px}.measurement-input-row span{padding:0 13px;font-weight:900;color:#557478}.measurement-panel .btn{width:100%}
.next-step-card{margin-top:12px;padding:15px;border-radius:17px;background:#e7f7ed;border:1px solid #9ed8b4}.next-step-card span{display:block;font-size:.67rem;font-weight:950;color:#2e7d4d;letter-spacing:.06em}.next-step-card strong{display:block;margin:3px 0;font-size:1.25rem;color:#185e38}.next-step-card p{margin:0;color:#456a54;font-size:.84rem}
.diagnostic-accordions{display:grid;gap:9px}.diagnostic-accordion{border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(25,68,77,.08);overflow:hidden;border:1px solid #e1ecec}.diagnostic-accordion summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto 20px;align-items:center;gap:8px;padding:14px;cursor:pointer}.diagnostic-accordion summary::-webkit-details-marker{display:none}.accordion-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eaf5f4}.accordion-count{min-width:24px;padding:4px 7px;border-radius:999px;background:#eaf1f2;color:#5b7277;text-align:center;font-size:.68rem;font-weight:900}.accordion-chevron{font-size:20px;color:#759095;transition:.2s}.diagnostic-accordion[open] .accordion-chevron{transform:rotate(180deg)}.accordion-body{padding:0 16px 14px;border-top:1px solid #edf2f2}.accordion-body ol{margin:11px 0 0;padding-left:20px}.accordion-body li{margin:9px 0;line-height:1.4;color:#435d62}.accordion-body p{margin:12px 0 0;color:#516a70;line-height:1.45}
.diagnostic-warning{margin:13px 0;padding:14px;border-radius:16px;background:#fff7e4;border:1px solid #eed495;color:#6e5925}.diagnostic-warning p{margin:5px 0 0;font-size:.82rem;line-height:1.4}.diagnostic-actions{margin-bottom:18px}
@media(max-width:380px){.diagnostic-quick-meta{grid-template-columns:1fr}.terminal-visual{height:190px}.diagnostic-summary-card{grid-template-columns:46px 1fr}.diagnostic-status-icon{width:46px;height:46px}.first-check-card{padding:14px}.expected-value-box strong{font-size:1.1rem}}

/* ClimaTrack v5.3 · validación obligatoria de modelos */
.model-verification-shell{max-width:720px;margin:0 auto;padding-bottom:32px}.verification-stop-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#b42318;color:#fff;font-weight:900;font-size:24px}.model-not-verified-card{text-align:center;border:1px solid #f0b4ae;background:linear-gradient(180deg,#fff 0%,#fff7f6 100%)}.model-not-verified-icon{display:grid;place-items:center;width:72px;height:72px;margin:4px auto 14px;border-radius:50%;background:#b42318;color:#fff;font-size:36px;font-weight:900;box-shadow:0 10px 28px rgba(180,35,24,.2)}.model-status-label{display:inline-block;padding:6px 10px;border-radius:999px;background:#fee4e2;color:#912018;font-size:12px;font-weight:900;letter-spacing:.08em}.model-not-verified-card h2{margin:14px 0 8px;color:#172b31;font-size:24px}.model-not-verified-card p{margin:0 auto;max-width:560px;color:#526a70;line-height:1.55}.model-verification-reason{margin-top:18px;padding:14px;border-radius:12px;background:#fff;border:1px solid #efc9c5;color:#7a271a;text-align:left;line-height:1.45}.model-verification-actions h3{margin-top:0}.model-verification-actions ol{padding-left:22px;color:#40575d;line-height:1.6}.model-verification-actions .btn{width:100%;margin-top:10px}.model-safety-note{margin:14px 18px;padding:14px;border-radius:12px;background:#edf5f5;color:#4f666b;font-size:13px;line-height:1.45;text-align:center}

/* v5.4 · Biblioteca Técnica v1 */
.library-shell{max-width:820px;margin:0 auto;padding-bottom:32px!important}.library-upload-card{padding:18px;margin-bottom:14px}.library-upload-card .section-head{margin-bottom:14px}.library-upload-card .section-head h2{margin:0 0 4px}.library-upload-card .section-head p{margin:0;color:#667b80}.library-upload-card #uploadLibrary{width:100%;min-height:50px}.library-upload-status{min-height:20px;margin:10px 2px 0;color:#08766d;font-size:.84rem;font-weight:800}.library-toolbar{margin:0 0 12px}.library-toolbar .search{width:100%}.library-list{display:grid;gap:11px}.library-document-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px;align-items:start;padding:15px}.library-document-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#e8f5f4;font-size:25px}.library-document-copy{min-width:0}.library-brand{display:block;color:#08717a;font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.library-document-copy h3{margin:4px 0 5px;color:#17363d;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-document-copy p{margin:0;color:#60777c;font-size:.84rem}.library-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.library-meta>span{padding:5px 8px;border-radius:999px;background:#eef4f4;color:#557075;font-size:.7rem;font-weight:800}.library-meta .library-status.pending{background:#fff4cf;color:#7b5e00}.library-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.library-card-actions .btn{width:100%}.btn-danger{background:#fff0ee!important;border:1px solid #efc3bd!important;color:#a62c20!important}@media(max-width:480px){.library-document-card{grid-template-columns:44px minmax(0,1fr)}.library-document-icon{width:44px;height:44px}.library-card-actions{grid-template-columns:1fr}.library-upload-card .form-row{grid-template-columns:1fr!important}}
.catalog-picker{position:relative;overflow:visible!important}
.catalog-options{position:absolute;z-index:1200;top:calc(100% + 4px);left:0;right:0;max-height:min(42dvh,320px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px;border:1px solid #cddfe2;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(20,57,64,.2);touch-action:pan-y}
.catalog-options[hidden]{display:none}
.catalog-options button{display:grid;width:100%;min-height:48px;padding:9px 10px;border:0;border-radius:9px;background:#fff;color:#23464d;text-align:left;cursor:pointer;touch-action:manipulation}
.catalog-options button:hover,.catalog-options button:focus{outline:0;background:#eaf6f6}
.catalog-options button strong{font-size:.9rem}.catalog-options button span{margin-top:2px;color:#6b8186;font-size:.72rem}
@media(max-width:520px){.catalog-options{position:fixed;z-index:20000;top:var(--picker-top);left:var(--picker-left);right:auto;bottom:auto;width:var(--picker-width);max-width:calc(100vw - 16px);max-height:var(--picker-max-height);box-sizing:border-box}}
.language-modal{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:16px;background:rgba(12,35,40,.7)}
.language-dialog{width:min(420px,100%);box-sizing:border-box;padding:22px;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.3)}
.language-dialog h2{margin:0 0 7px}.language-dialog p{color:#60777c}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.language-options button{min-height:46px;border:1px solid #cfdfe1;border-radius:11px;background:#f7fbfb;color:#23464d;font-weight:850}.language-options button.selected{border:3px solid #08747e;background:#e8f6f6}
.contribution-dialog{max-height:92dvh;overflow:auto}.contribution-dialog details{margin:10px 0;padding:10px;border:1px solid #dce7e9;border-radius:11px}.contribution-dialog summary{font-weight:850;color:#08747e}.contribution-rights{display:flex;gap:8px;margin:12px 0;color:#526d73;font-size:.8rem;line-height:1.4}.contribution-link{width:100%;margin-top:7px}
.universal-result-title{margin:14px 0 6px;color:#193c44;font-size:.8rem;text-transform:uppercase}.universal-location-action{margin:7px 0 0!important}.universal-what p{margin:8px 0 0;line-height:1.45}
@media(max-width:360px){.language-options{grid-template-columns:1fr}.universal-row{grid-template-columns:1fr!important}.universal-result-actions button{overflow-wrap:anywhere}}

/* Universal diagnostic cards: keep technical actions and narrow-screen submeasurements readable. */
.universal-visual-actions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.universal-visual-actions .universal-action{margin:0}
.universal-check,.universal-details,.universal-measurements,.universal-measurement-group,.universal-submeasurement{min-width:0;max-width:100%;box-sizing:border-box}
.universal-submeasurement-points{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.universal-submeasurement-expected,.universal-submeasurement-range,.universal-submeasurement-criteria,.universal-qualitative-hint{min-width:0;overflow-wrap:anywhere}
.universal-qualitative-hint{grid-column:3;grid-row:1/span 3;color:#49676d;font-size:.76rem}
.universal-reading{min-width:0;max-width:100%}.universal-reading input{width:100%;max-width:100%;box-sizing:border-box}
.universal-reading-feedback{grid-column:1/-1;min-height:1.1em;font-size:.7rem}.universal-reading-feedback.ok{color:#176b39}.universal-reading-feedback.fail{color:#a72828}
.universal-check-what p,.universal-advanced-test p,.universal-supported-note{margin:5px 0;color:#49676d;line-height:1.45}.universal-advanced-test{margin-top:10px;padding:11px 12px;border:1px solid #ead7aa;border-radius:11px;background:#fffaf0}.universal-advanced-test h4{margin:0 0 4px;color:#765c24;font-size:.76rem}.universal-advanced-test h4:not(:first-child){margin-top:10px}
.wizard-peer-experience{margin-top:17px;padding:16px;border:2px solid #7fc8c5;border-radius:17px;background:linear-gradient(145deg,#effbfa,#fff)}.wizard-peer-experience h3{margin:0;color:#075e66}.wizard-peer-experience p{margin:7px 0 0;color:#58747a;line-height:1.45}
@media(max-width:520px){
  .universal-check-list{margin-left:8px!important;margin-right:8px!important}
  .universal-check{padding:12px!important;overflow:hidden}
  .universal-submeasurement{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch;gap:9px!important;padding:12px!important;overflow:hidden}
  .universal-submeasurement-points,.universal-submeasurement-expected,.universal-submeasurement-range,.universal-submeasurement-criteria,.universal-reading,.universal-qualitative-hint{grid-column:1!important;grid-row:auto!important;width:100%;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}
  .universal-submeasurement [data-field-label]::before,.universal-reading>span{display:block;margin-bottom:3px;color:#71858a;font-size:.63rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
  .universal-submeasurement [data-field-label]::before{content:attr(data-field-label)}
  .universal-result-actions{grid-template-columns:minmax(0,1fr)!important}.universal-result-actions button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .universal-row{grid-template-columns:minmax(0,1fr)!important}.universal-row span,.universal-row strong{min-width:0;overflow-wrap:anywhere}
}

/* F8 technical visual: keep the existing modal usable on narrow field devices. */
.diagnostic-visual-dialog {
  overscroll-behavior: contain;
}

@media (max-width: 520px) {
  .diagnostic-visual-modal {
    padding: 8px !important;
  }

  .diagnostic-visual-dialog {
    width: 100% !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 16px !important;
  }

  .diagnostic-visual-content {
    padding: 14px !important;
  }

  .diagnostic-visual-content h2 {
    margin-right: 46px !important;
    font-size: 1.05rem;
    overflow-wrap: anywhere;
  }

  .diagnostic-visual-image.zoomed {
    transform: none !important;
    width: 200% !important;
    max-width: none !important;
  }
}
.expert-header-actions,.admin-header-actions{display:flex;align-items:center;gap:8px}.expert-header-actions .icon-btn{flex:0 0 auto}
.my-diagnostics-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.my-diagnostics-toggle>span{display:grid;gap:3px;min-width:0}.my-diagnostics-toggle small{color:#08747e;font-size:.68rem;font-weight:900;letter-spacing:.08em}.my-diagnostics-toggle strong{color:#173c44;font-size:1.18rem}.my-diagnostics-toggle em{color:#557075;font-size:.88rem;font-style:normal}.my-diagnostics-toggle i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#e8f5f4;color:#08747e;font-size:1.8rem;font-style:normal;font-weight:900}.my-diagnostics-content{padding-top:2px}.my-diagnostics-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.my-diagnostics-tabs button{min-height:44px;border:1px solid #cedfe1;border-radius:11px;background:#f5f9fa;color:#31575e;font-weight:850}.my-diagnostics-tabs button[aria-selected="true"]{border:2px solid #08747e;background:#e7f5f5;color:#075e66}.my-diagnostics-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:4px;border-radius:999px;background:#fff}.my-diagnostics-list{display:grid;gap:9px}.my-diagnostic-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce7e9;border-radius:13px;background:#f9fbfb}.my-diagnostic-card h3{margin:3px 0;color:#193c44;font-size:.96rem}.my-diagnostic-card p{margin:0;color:#58747a}.my-diagnostic-card small{color:#71858a}.my-diagnostic-actions{display:grid;gap:7px;justify-items:stretch}.my-diagnostic-card .btn{width:auto;min-height:44px;white-space:nowrap}.pending-diagnosis-delete{font-size:.8rem}.pending-diagnosis-confirmation .modal-card{width:min(430px,calc(100vw - 28px))}
@media(max-width:520px){.expert-header-actions{gap:4px}.expert-header-actions .ai-head-icon{display:none}.admin-header-actions{gap:5px}.my-diagnostics-toggle{gap:8px}.my-diagnostics-toggle i{flex-basis:38px;width:38px;height:38px}.my-diagnostic-card{grid-template-columns:minmax(0,1fr);overflow:hidden}.my-diagnostic-actions{grid-template-columns:minmax(0,1fr)}.my-diagnostic-card .btn{width:100%;white-space:normal}.pending-diagnosis-confirmation{padding:14px}.pending-diagnosis-confirmation .modal-actions{display:grid;grid-template-columns:1fr 1fr}.pending-diagnosis-confirmation .modal-actions .btn{min-width:0;width:100%}}

/* Teclavis Expert section hierarchy */
.ai-intro {
  border-color:rgba(20,79,87,.06);
  box-shadow:0 8px 22px rgba(24,67,73,.06);
}
.my-diagnostics {
  margin:20px 0;
  padding:16px 18px;
  border-color:rgba(8,116,126,.18);
  background:linear-gradient(135deg,#edf8f7,#f8fcfc);
  box-shadow:0 10px 25px rgba(24,67,73,.07);
}
.structured-lab-card {
  margin:20px 0 22px;
  padding:18px;
  border-color:rgba(92,107,145,.18);
  border-left:4px solid #7d8da8;
  background:linear-gradient(135deg,#f5f7fb,#fff);
  box-shadow:0 10px 25px rgba(48,62,91,.07);
}
.structured-lab-card .section-head {
  margin:0 0 10px;
}
.structured-lab-card .section-head small,
.expert-section-heading small {
  display:block;
  color:#08747e;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.09em;
}
.structured-lab-card .section-head h2 {
  margin-top:5px;
}
.ai-form-card {
  margin-top:22px;
  border-color:rgba(8,116,126,.2);
  box-shadow:0 16px 38px rgba(24,67,73,.11);
}
.expert-section-heading {
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e1ecee;
}
.expert-section-heading p {
  margin:6px 0 0;
  color:#60777c;
  font-size:.88rem;
  line-height:1.4;
}
@media(max-width:520px) {
  .my-diagnostics { margin:17px 0;padding:15px; }
  .structured-lab-card { margin:17px 0 19px;padding:16px; }
  .ai-form-card { margin-top:19px;padding:16px; }
}
.identified-system{grid-column:1/-1;display:grid;gap:.35rem;padding:.85rem 1rem;border:1px solid rgba(14,165,233,.3);border-radius:14px;background:rgba(14,165,233,.08)}
.identified-system[hidden]{display:none}
.identified-system small{text-transform:uppercase;letter-spacing:.08em;color:#0284c7;font-weight:700}
.identified-system>div{display:flex;gap:1rem;flex-wrap:wrap}
.identified-system span{display:inline-flex;gap:.35rem}

.diagnostic-history-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;white-space:nowrap}
.diagnostic-history-confirmation .modal-card{width:min(430px,calc(100vw - 28px))}
.diagnostic-history-summary{padding:10px 12px;border-radius:10px;background:#f4f8f9;color:#45646a;overflow-wrap:anywhere}
@media(max-width:520px){.diagnostic-history-table-wrap{overflow:visible}.diagnostic-history-table,.diagnostic-history-table tbody,.diagnostic-history-table tr,.diagnostic-history-table td{display:block;width:100%}.diagnostic-history-table thead{display:none}.diagnostic-history-table tbody{display:grid;gap:12px}.diagnostic-history-table tr{padding:10px;border:1px solid #dfe8e9;border-radius:12px}.diagnostic-history-table td{display:grid;grid-template-columns:minmax(92px,.45fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px;overflow-wrap:anywhere}.diagnostic-history-table td::before{content:attr(data-label);color:#708388;font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.diagnostic-history-delete{justify-self:start;min-width:44px;min-height:44px;padding:9px}.diagnostic-history-delete span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.diagnostic-history-confirmation{padding:14px}.diagnostic-history-confirmation .modal-actions{display:grid;grid-template-columns:1fr 1fr}.diagnostic-history-confirmation .modal-actions .btn{min-width:0;width:100%}}

.universal-qualitative-results{grid-column:1/-1;flex-wrap:wrap;min-width:0}
.universal-qualitative-results button{min-height:44px;flex:1 1 100px;white-space:normal;overflow-wrap:anywhere}
