:root{
    --ink:#1C2333;
    --ink-soft:#3A4358;
    --paper:#F3F4F1;
    --surface:#FFFFFF;
    --surface-subtle:#FAFBFC;
    --control-bg:#FFFFFF;
    --line:#E1E3DC;
    --copper:#1B3A63;
    --copper-soft:#DCE6F2;
    --green:#3F7859;
    --green-soft:#E1EEE6;
    --red:#B54B4B;
    --red-soft:#F5E3E1;
    --warning-soft:#FFF8EB;
    --warning-line:#E8C678;
    --sidebar-bg:#1C2333;
    --sidebar-text:#EDEEEB;
    --sidebar-muted:#C7CAD6;
    --sidebar-hover:rgba(255,255,255,0.06);
    --sidebar-active:#1B3A63;
    --sidebar-foot:#7C8298;
    --focus-ring:rgba(27,58,99,.20);
    --font-display:'Fraunces', Georgia, serif;
    --font-body:'IBM Plex Sans', system-ui, sans-serif;
    --font-mono:'IBM Plex Mono', ui-monospace, monospace;
  }

  * { box-sizing:border-box; }

  #erp-root{
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--paper);
    min-height:600px;
    display:flex;
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--line);
  }

  /* ---------- Sidebar ---------- */
  .sidebar{
    width:200px;
    flex-shrink:0;
    background:var(--sidebar-bg);
    color:var(--sidebar-text);
    padding:22px 16px;
    display:flex;
    flex-direction:column;
    gap:26px;
  }
  .brand{
    font-family:var(--font-display);
    font-size:20px;
    font-weight:600;
    letter-spacing:0.02em;
    display:flex;
    align-items:baseline;
    gap:6px;
  }
  .brand small{
    font-family:var(--font-mono);
    font-size:10px;
    color:var(--copper);
    font-weight:400;
    letter-spacing:0.08em;
  }
  .nav{ display:flex; flex-direction:column; gap:4px; }
  .nav button{
    all:unset;
    cursor:pointer;
    padding:9px 12px;
    border-radius:7px;
    font-size:13.5px;
    color:var(--sidebar-muted);
    display:flex;
    align-items:center;
    gap:9px;
    transition:background .15s, color .15s;
  }
  .nav button:hover{ background:var(--sidebar-hover); color:var(--sidebar-text); }
  .nav button.active{ background:var(--sidebar-active); color:#fff; font-weight:600; }
  .nav .tag{
    font-family:var(--font-mono);
    font-size:10px;
    opacity:.55;
    width:18px;
  }
  .sidebar-logo-wrap{
    margin-top:auto;
    background:#fff; border-radius:8px; padding:12px 10px;
    display:flex; align-items:center; justify-content:center;
  }
  .sidebar-logo-wrap img{ width:100%; height:auto; display:block; }
  .sidebar-logo-wrap.celda-brand-interactive{position:relative;cursor:pointer;outline:none;isolation:isolate;overflow:visible;transition:transform .18s ease,box-shadow .18s ease;}
  .sidebar-logo-wrap.celda-brand-interactive:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);}
  .celda-brand-hover{position:absolute;left:50%;bottom:4px;transform:translate(-50%,5px);max-width:calc(100% - 14px);padding:3px 7px;border-radius:999px;background:rgba(27,58,99,.92);color:#fff;font:700 8px var(--font-body);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:3;}
  .celda-brand-interactive:hover .celda-brand-hover,.celda-brand-interactive:focus-visible .celda-brand-hover{opacity:1;transform:translate(-50%,0);}
  .celda-brand-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:2;}
  .celda-brand-shine::after{content:"";position:absolute;top:-30%;left:-45%;width:28%;height:160%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);opacity:0;}
  .celda-brand-interactive:hover .celda-brand-shine::after{animation:celda-brand-sweep .85s ease-out;}
  .celda-brand-popover{position:absolute;left:0;bottom:calc(100% + 10px);width:100%;min-width:168px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 16px 38px rgba(16,30,43,.22);opacity:0;transform:translateY(7px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:120;}
  .celda-brand-popover b,.celda-brand-popover span,.celda-brand-popover small{display:block;}
  .celda-brand-popover b{font:700 16px var(--font-display);color:var(--copper);}.celda-brand-popover span{margin-top:2px;font-size:9.5px;font-weight:650;}.celda-brand-popover small{margin-top:7px;padding-top:7px;border-top:1px solid var(--line);color:var(--ink-soft);font:600 8.5px var(--font-mono);}
  .celda-brand-interactive.is-open .celda-brand-popover{opacity:1;transform:none;pointer-events:auto;}
  @keyframes celda-brand-sweep{0%{left:-45%;opacity:0}18%{opacity:.8}100%{left:120%;opacity:0}}
  .sidebar-foot{
    margin-top:10px;
    font-size:11px;
    color:var(--sidebar-foot);
    line-height:1.5;
    font-family:var(--font-mono);
  }

  /* ---------- Main ---------- */
  .main{ flex:1; padding:26px 32px; overflow-y:auto; max-height:720px; }
  .view-title{
    font-family:var(--font-display);
    font-size:26px;
    font-weight:600;
    margin:0 0 4px 0;
  }
  .view-sub{
    font-size:13px;
    color:var(--ink-soft);
    margin:0 0 22px 0;
  }

  .grid{ display:grid; gap:16px; }
  .grid-4{ grid-template-columns:repeat(4,1fr); }
  .grid-3{ grid-template-columns:repeat(3,1fr); }
  .grid-2{ grid-template-columns:1.3fr 1fr; }

  .card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:10px;
    padding:16px 18px;
  }
  .stat-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--ink-soft);
    margin-bottom:6px;
  }
  .stat-value{
    font-family:var(--font-mono);
    font-size:24px;
    font-weight:600;
    font-variant-numeric:tabular-nums;
  }
  .stat-value.green{ color:var(--green); }
  .stat-value.red{ color:var(--red); }
  .stat-value.copper{ color:var(--copper); }

  .section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:26px 0 12px 0;
  }
  .section-head h2{
    font-family:var(--font-display);
    font-size:17px;
    margin:0;
  }

  table{ width:100%; border-collapse:collapse; font-size:13px; }
  th{
    text-align:left;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--ink-soft);
    padding:8px 10px;
    border-bottom:1px solid var(--line);
  }
  td{
    padding:9px 10px;
    border-bottom:1px solid var(--line);
    font-family:var(--font-mono);
    font-variant-numeric:tabular-nums;
  }
  td.txt{ font-family:var(--font-body); font-variant-numeric:normal; }
  tr:last-child td{ border-bottom:none; }
  tr.low-stock td{ background:var(--red-soft); }

  .stamp{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:.04em;
    padding:2px 8px;
    border-radius:20px;
    border:1px solid currentColor;
  }
  .stamp.green{ color:var(--green); background:var(--green-soft); }
  .stamp.red{ color:var(--red); background:var(--red-soft); }
  .stamp.copper{ color:var(--copper); background:var(--copper-soft); }

  button.btn{
    all:unset;
    cursor:pointer;
    background:var(--ink);
    color:#fff;
    font-size:12.5px;
    font-weight:600;
    padding:8px 14px;
    border-radius:7px;
  }
  button.btn:hover{ background:var(--ink-soft); }
  button.btn.copper{ background:var(--copper); }
  button.btn.copper:hover{ background:#12294a; }
  button.btn-ghost{
    all:unset;
    cursor:pointer;
    font-size:12px;
    color:var(--ink-soft);
    padding:4px 8px;
    border-radius:5px;
  }
  button.btn-ghost:hover{ background:var(--paper); color:var(--red); }

  input, select, textarea{
    font-family:var(--font-body);
    font-size:13px;
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--control-bg);
    color:var(--ink);
    width:100%;
  }
  label{ font-size:11px; color:var(--ink-soft); display:block; margin-bottom:4px; }
  textarea{ min-height:72px; resize:vertical; }
  input:focus, select:focus, textarea:focus{ outline:3px solid var(--focus-ring); outline-offset:1px; border-color:var(--copper); }
  .form-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; margin-bottom:12px; }

  .empty{
    text-align:center;
    padding:36px 12px;
    color:var(--ink-soft);
    font-size:13px;
  }
  .bar-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
  .bar-track{ flex:1; height:8px; background:var(--paper); border-radius:5px; overflow:hidden; }
  .bar-fill{ height:100%; border-radius:5px; }
  .bar-label{ font-size:11px; width:90px; color:var(--ink-soft); }
  .bar-value{ font-family:var(--font-mono); font-size:11px; width:70px; text-align:right; }

  .cart-item{ display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--line); font-size:13px;}
  .cart-item:last-child{ border-bottom:none; }
  .cart-item .name{ flex:1; }
  .cart-item input{ width:60px; }
  .toast{
    position:fixed; bottom:18px; right:18px;
    background:var(--ink); color:#fff; font-size:12.5px;
    padding:9px 14px; border-radius:8px; opacity:0; transform:translateY(8px);
    transition:opacity .25s, transform .25s; pointer-events:none; z-index:99;
  }
  .toast.show{ opacity:1; transform:translateY(0); }

  /* ---------- Tema dinámico del ERP (v0.5.4) ---------- */
  html[data-celda-theme-effective="dark"]{
    color-scheme:dark;
    --ink:#E5EDF1;
    --ink-soft:#9EB0BA;
    --paper:#0F171C;
    --surface:#162127;
    --surface-subtle:#111A20;
    --control-bg:#10191E;
    --line:#344751;
    --copper:#D8A64F;
    --copper-soft:#3A2E1B;
    --green:#55C693;
    --green-soft:#19372C;
    --red:#EB7777;
    --red-soft:#3D2428;
    --warning-soft:#302719;
    --warning-line:#775A29;
    --sidebar-bg:#111A20;
    --sidebar-text:#ECF2F5;
    --sidebar-muted:#A8B8C1;
    --sidebar-hover:rgba(255,255,255,.07);
    --sidebar-active:#B9802D;
    --sidebar-foot:#82959F;
    --focus-ring:rgba(216,166,79,.22);
  }
  html[data-celda-theme-effective="dark"] body{ background:#0B1115; color:var(--ink); }
  html[data-celda-theme-effective="dark"] #erp-root{ background:var(--paper); border-color:#2C3D46; }
  html[data-celda-theme-effective="dark"] .main{ background:var(--paper); }
  html[data-celda-theme-effective="dark"] .sidebar{ box-shadow:inset -1px 0 0 rgba(255,255,255,.035); }
  html[data-celda-theme-effective="dark"] .sidebar-logo-wrap{ background:#F7F9FA; }
  html[data-celda-theme-effective="dark"] .card{ background:var(--surface); border-color:var(--line); }
  html[data-celda-theme-effective="dark"] table{ color:var(--ink); }
  html[data-celda-theme-effective="dark"] th{ color:#AFC0C9; border-color:var(--line); }
  html[data-celda-theme-effective="dark"] td{ border-color:#2B3C44; }
  html[data-celda-theme-effective="dark"] tr.low-stock td{ background:var(--red-soft); }
  html[data-celda-theme-effective="dark"] input,
  html[data-celda-theme-effective="dark"] select,
  html[data-celda-theme-effective="dark"] textarea{ background:var(--control-bg); color:var(--ink); border-color:#405560; }
  html[data-celda-theme-effective="dark"] input::placeholder,
  html[data-celda-theme-effective="dark"] textarea::placeholder{ color:#6F838E; }
  html[data-celda-theme-effective="dark"] select option{ background:#10191E; color:#E5EDF1; }
  html[data-celda-theme-effective="dark"] .bar-track{ background:#26343B; }
  html[data-celda-theme-effective="dark"] .stamp.copper{ color:#E8BB70; background:#362B1B; }
  html[data-celda-theme-effective="dark"] .stamp.green{ color:#6FD4A7; background:#18352B; }
  html[data-celda-theme-effective="dark"] .stamp.red{ color:#F18B8B; background:#3A2326; }
  html[data-celda-theme-effective="dark"] .modal-overlay{ background:rgba(3,8,11,.72); }

  /* Los documentos son papel: permanecen claros aunque la aplicación esté en modo oscuro. */
  html[data-celda-theme-effective="dark"] .quote-sheet{
    color-scheme:light;
    --ink:#1C2333;
    --ink-soft:#3A4358;
    --paper:#F3F4F1;
    --surface:#FFFFFF;
    --surface-subtle:#FAFBFC;
    --control-bg:#FFFFFF;
    --line:#E1E3DC;
    --copper:#1B3A63;
    --copper-soft:#DCE6F2;
    --green:#3F7859;
    --green-soft:#E1EEE6;
    --red:#B54B4B;
    --red-soft:#F5E3E1;
    background:#fff !important;
    color:#1A1A1A !important;
  }
  html[data-celda-theme-effective="dark"] .quote-sheet table{ color:#1A1A1A; background:#fff; }
  html[data-celda-theme-effective="dark"] .quote-sheet .quote-table tbody tr:nth-child(even){ background:#F5F8FC; }
  html[data-celda-theme-effective="dark"] .quote-sheet .doc-info-table td.label{ background:#F2F5F9; color:#1B3A63; }
  html[data-celda-theme-effective="dark"] .quote-sheet .doc-notes-box,
  html[data-celda-theme-effective="dark"] .quote-sheet .doc-bottom-row .obs{ background:#FAFBFD; color:#1A1A1A; }
  html[data-celda-theme-effective="dark"] .quote-sheet .cf-box{ background:#F5F8FC; color:#1B3A63; }
  html[data-celda-theme-effective="dark"] .quote-sheet .cf-box.cf-start{ background:#1B3A63; color:#fff; }

  /* ---------- Cotizaciones ---------- */
  .quote-list-item{
    display:flex; justify-content:space-between; align-items:center;
    padding:10px 0; border-bottom:1px solid var(--line); font-size:13px;
  }
  .quote-list-item:last-child{ border-bottom:none; }
  .modal-overlay{
    position:fixed; inset:0; background:rgba(28,35,51,0.55);
    display:flex; align-items:flex-start; justify-content:center;
    padding:24px; overflow-y:auto; z-index:200;
  }
  .modal-toolbar{
    width:780px; max-width:100%; margin:0 auto 10px auto; display:flex; justify-content:flex-end; gap:8px;
  }
  .quote-sheet{
    position:relative; overflow:hidden;
    width:780px; max-width:100%; background:#fff; margin:0 auto;
    padding:28px 34px; font-family:'Calibri','Segoe UI',Arial,sans-serif; color:#1a1a1a; font-size:11pt;
    box-shadow:0 8px 30px rgba(0,0,0,0.25); border-radius:4px;
  }
  .quote-watermark{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:60%; max-width:420px; opacity:0.10; z-index:-1; pointer-events:none;
  }
  .quote-sheet h1,.quote-sheet h2,.quote-sheet h3{ font-family:var(--font-display); }
  .quote-header{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px;}
  .quote-header img{ height:70px; }
  .quote-header .ruc{ text-align:right; font-size:13.5px; }
  .quote-title-row{ text-align:center; margin:10px 0 18px 0; }
  .quote-title-row .badge{
    display:inline-block; font-family:var(--font-display); font-weight:700;
    letter-spacing:.06em; border:2px solid #1a1a1a; padding:7px 24px; margin-top:6px;
  }
  .quote-title-row .badge .badge-title{ font-size:21px; }
  .quote-title-row .badge .badge-num{ font-size:14.5px; font-weight:600; letter-spacing:.02em; margin-top:2px; }
  .quote-client{ font-size:14.5px; line-height:1.9; margin-bottom:14px; }
  .quote-client b{ display:inline-block; width:118px; }
  .quote-table{ width:100%; table-layout:fixed; border-collapse:collapse; margin:8px 0; font-size:9.5pt; border:1px solid #1B3A63; }
  .quote-table th, .quote-table td{ border:1px solid #C7D1DE; padding:5px 8px; font-family:'Calibri','Segoe UI',Arial,sans-serif; overflow-wrap:break-word; word-break:normal; line-height:1.35; }
  .quote-table th{ background:#1B3A63; color:#fff; text-align:center; font-size:9.5pt; font-weight:700; letter-spacing:.02em; }
  .quote-table tbody tr:nth-child(even){ background:#F5F8FC; }
  .quote-table td.concept{ text-align:justify; }
  .quote-table td.mid{ text-align:center; }
  .quote-table td.num{ text-align:center; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .quote-table td.center{ text-align:center; }
  .quote-cond{ font-size:14px; line-height:1.9; margin:16px 0; }
  .quote-cond b{ display:inline-block; width:158px; }
  .quote-obs{ font-size:14px; margin:14px 0; }
  .quote-sign{ margin-top:38px; text-align:center; }
  .quote-sign img{ height:76px; margin-bottom:4px; }
  .quote-footer{ margin-top:34px; }
  .quote-footer-inner{ border-top:1px solid #999; padding-top:8px; font-size:12px; text-align:center; color:#444; }

  /* ---------- Formato oficial de cotización CELDA (3 páginas) ---------- */
  .doc-page{ position:relative; }
  .doc-page + .doc-page{ margin-top:16px; padding-top:16px; border-top:2px dashed #ccc; }
  .doc-page-topline{ display:flex; justify-content:flex-end; font-size:9pt; color:#666; margin-bottom:4px; }
  .doc-header-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
  .doc-header-row img{ height:38px; }
  .doc-title-box{ text-align:center; margin:4px 0 10px 0; }
  .doc-title-box .box{
    display:inline-block; border:1.5px solid #1B3A63; border-radius:5px; padding:4px 16px;
    font-weight:700; letter-spacing:.03em; font-size:12pt; color:#1B3A63; background:#F5F8FC;
  }
  .doc-info-table{ width:100%; border-collapse:collapse; font-size:11pt; margin-bottom:8px; border:1px solid #B7C2D0; }
  .doc-info-table td{ border:1px solid #D8DEE6; padding:3px 8px; vertical-align:top; font-family:'Calibri','Segoe UI',Arial,sans-serif; line-height:1.3; }
  .doc-info-table td.label{ background:#F2F5F9; color:#1B3A63; font-weight:700; width:16%; }
  .doc-info-table td.value{ width:34%; }
  .doc-subref{ font-size:10.5pt; color:#555; text-align:center; margin:0 0 8px 0; padding-bottom:5px; border-bottom:1px solid #D8DEE6; }
  .doc-intro{ font-size:11pt; margin:6px 0 8px 0; }
  .doc-notes-box{ border:1px solid #1B3A63; border-radius:6px; font-size:11pt; padding:7px 10px; margin:8px 0; line-height:1.4; background:#FAFBFD; }
  .doc-notes-box b{ display:block; margin-bottom:2px; color:#1B3A63; }
  .doc-bottom-row{ display:flex; gap:8px; margin:0 0 8px 0; align-items:stretch; }
  .doc-bottom-row .obs{ flex:1; border:1px solid #1B3A63; border-radius:6px; font-size:11pt; padding:7px 10px; line-height:1.35; background:#FAFBFD; }
  .doc-bottom-row .totals{ width:220px; border-collapse:collapse; font-size:11pt; border:1px solid #1B3A63; border-radius:6px; overflow:hidden; height:fit-content; }
  .doc-bottom-row .totals td{ border:1px solid #C7D1DE; padding:4px 9px; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .doc-bottom-row .totals td.tlabel{ background:#1B3A63; color:#fff; font-weight:700; }
  .doc-bottom-row .totals td.tval{ text-align:right; font-family:'Calibri','Segoe UI',Arial,sans-serif; font-weight:600; }
  .doc-bank-table{ width:100%; border-collapse:collapse; font-size:11pt; margin:8px 0; border:1px solid #1B3A63; border-radius:6px; overflow:hidden; }
  .doc-bank-table td{ border:1px solid #C7D1DE; padding:4px 9px; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .doc-bank-table tr.total td{ background:#EAF0F8; font-weight:700; }
  .doc-seal-sign{ margin-top:14px; text-align:center; }
  .doc-seal-sign img{ height:72px; }
  .doc-seal-sign .role{ margin-top:2px; font-size:11pt; }
  .doc-legal{ font-size:10pt; line-height:1.35; }
  .doc-legal .sec-title{ font-weight:700; margin:7px 0 2px 0; color:#1B3A63; }
  .doc-legal .clause{ display:flex; gap:8px; margin:1px 0; }
  .doc-legal .clause .num{ flex-shrink:0; width:30px; font-weight:600; }
  .doc-complaints-title{ text-align:center; font-weight:700; font-size:10pt; margin:10px 0 8px 0; color:#1B3A63; }
  .doc-complaints-img{ display:block; margin:0 auto; max-width:190px; }
  .cf-flow{ margin:0 0 10px 0; }
  .cf-row{ display:flex; align-items:stretch; justify-content:center; gap:4px; }
  .cf-box{
    flex:1; border:1.2px solid #1B3A63; border-radius:5px; background:#F5F8FC;
    padding:5px 6px; font-size:7.3pt; font-weight:700; color:#1B3A63; text-align:center;
    display:flex; flex-direction:column; justify-content:center; line-height:1.25;
  }
  .cf-box.cf-start{ flex:0 0 60px; background:#1B3A63; color:#fff; }
  .cf-box .cf-resp{ display:block; margin-top:3px; font-size:6.8pt; font-weight:400; font-style:italic; color:#555; }
  .cf-arrow{ display:flex; align-items:center; justify-content:center; font-size:11pt; color:#1B3A63; font-weight:700; flex:0 0 auto; width:12px; }
  .cf-connector{ text-align:center; font-size:13pt; color:#1B3A63; font-weight:700; margin:1px 0; }
  .doc-footer{ margin-top:12px; padding-top:5px; border-top:1px solid #1B3A63; font-size:9pt; color:#333; display:flex; justify-content:space-between; gap:12px; line-height:1.4; }
  .doc-footer-print{ display:none; }
  .doc-footer > div{ flex:1; white-space:nowrap; }
  .doc-footer .code{ text-align:center; }
  .doc-footer .addr{ text-align:center; }
  .doc-footer .contact{ text-align:center; }

  /* ---------- Ficha de personal imprimible (SIG-F-028) ---------- */
  .ficha-header-table{ width:100%; border-collapse:collapse; font-size:9.5pt; margin-bottom:8px; font-family:'Calibri','Segoe UI',Arial,sans-serif; border:1.2px solid #1a1a1a; }
  .ficha-header-table td{ border:1px solid #1a1a1a; padding:3px 8px; vertical-align:middle; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .ficha-header-table .logo-cell{ width:110px; text-align:center; }
  .ficha-header-table .logo-cell img{ max-width:85px; display:block; margin:0 auto; }
  .ficha-header-table .title-cell{ text-align:center; font-weight:700; color:#1B3A63; font-size:11pt; }
  .ficha-header-table .label-cell{ font-weight:700; width:70px; }
  .ficha-header-table .value-cell{ width:95px; text-align:center; }
  .ficha-photos-row{ display:flex; justify-content:center; align-items:flex-start; gap:50px; margin:14px 0 18px 0; }
  .ficha-photos-row img{ height:135px; border:1px solid var(--line); }
  .ficha-data-list{ font-size:9.5pt; line-height:1.35; margin-bottom:8px; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .ficha-data-list .row{ display:flex; border-bottom:1px solid #eee; padding:1px 0; }
  .ficha-data-list .lbl{ width:150px; font-weight:700; flex-shrink:0; }
  .ficha-obs{ font-size:9.5pt; margin:8px 0 14px 0; font-family:'Calibri','Segoe UI',Arial,sans-serif; }
  .ficha-obs b{ display:block; margin-bottom:4px; }
  .ficha-firma{ text-align:center; margin-top:10px; }
  .solicitud-table th, .solicitud-table td{ padding:3px 5px; text-align:center; font-size:9pt; }
  .ficha-firma img{ height:115px; }
  @media print{
    /* Compatibilidad histórica + fallback para motores de impresión antiguos. */
    .doc-page + .doc-page{ page-break-before: always; }
    .doc-page{ display:block; break-after:page; page-break-after:always; }
    .doc-page.doc-page-last{ break-after:auto; page-break-after:auto; }
    .doc-page + .doc-page{ break-before:page; page-break-before:always; margin-top:0; padding-top:0; border-top:none; }
    .quote-table tr{ page-break-inside: avoid; break-inside: avoid; }
    .quote-table thead{ display: table-header-group; }
    .doc-bottom-row, .doc-bottom-row .obs, .doc-bottom-row .totals{ page-break-inside: avoid; break-inside: avoid; }
    .doc-notes-box{ page-break-inside: avoid; break-inside: avoid; }
    .doc-bank-table tr{ page-break-inside: avoid; break-inside: avoid; }
    .doc-info-table tr{ page-break-inside: avoid; break-inside: avoid; }
    .ficha-data-list .row{ page-break-inside: avoid; break-inside: avoid; }
  }
  @media print{
    @page{ size: A4; margin: 10mm 10mm 20mm 10mm; }
    @page solicitud-landscape{ size: A4 landscape; margin: 10mm; }
    #solicitud-sheet-print{ page: solicitud-landscape; padding:16px 22px !important; }
    .solicitud-print-wrap{ width:100% !important; max-width:none !important; }
    body *{ visibility:hidden; }
    .quote-sheet, .quote-sheet *{ visibility:visible; }
    body{ margin:0 !important; }
    .toast{ display:none !important; }
    #erp-root{
      overflow:visible !important; height:auto !important; min-height:0 !important;
      display:block !important; border:none !important;
    }
    .sidebar{ display:none !important; }
    .main{
      overflow:visible !important; max-height:none !important; height:auto !important;
      padding:0 !important;
    }
    .main > *{ display:none !important; }
    .main > .modal-overlay{ display:block !important; }
    .modal-overlay{
      position:static !important; inset:auto !important; background:none !important;
      padding:0 !important; overflow:visible !important; height:auto !important;
    }
    .quote-sheet{
      position:static !important; box-shadow:none;
      width:100% !important; max-width:none !important; margin:0;
      padding:0 !important;
      overflow:visible !important; height:auto !important;
    }
    #quote-sheet-print .doc-page{ padding-bottom:8mm; }
    .modal-toolbar{ display:none; }
    .doc-page > .doc-footer{ display:none !important; }
    .doc-footer-print{
      display:flex !important; position:fixed !important; left:0; right:0; bottom:0; margin-top:0 !important;
      justify-content:space-between; font-size:9pt; color:#333;
      padding:5px 34px 0 34px; border-top:1px solid #1B3A63; background:#fff;
    }
    *{
      -webkit-print-color-adjust:exact !important;
      print-color-adjust:exact !important;
      color-adjust:exact !important;
    }
  }

  /* ---------- v0.5.5: navegación estable ---------- */
  .nav button.nav-group{ position:relative; }
  .nav button.nav-group .nav-chevron{ margin-left:auto; opacity:.58; font-size:11px; transition:transform .15s ease; }
  .nav button.nav-group.expanded{ background:var(--sidebar-hover); color:var(--sidebar-text); }
  .nav button.nav-group.contains-active{ color:var(--sidebar-text); font-weight:600; }
  .nav button.nav-group.contains-active::before{
    content:""; position:absolute; left:2px; top:9px; bottom:9px; width:2px; border-radius:2px; background:var(--sidebar-active);
  }
  .nav button.nav-sub{ padding-left:34px; font-size:12.5px; position:relative; }
  .nav button.nav-sub.active{ background:var(--sidebar-active); color:#fff; font-weight:600; }
  .nav button:focus-visible{ outline:2px solid color-mix(in srgb,var(--sidebar-active) 70%,#fff 30%); outline-offset:2px; }

  /* ---------- v0.5.5: login integrado ---------- */
  #erp-root.celda-auth-locked .sidebar,
  #erp-root.celda-auth-locked .main{ pointer-events:none; user-select:none; filter:saturate(.75) brightness(.92); }
  #celda-login-gate{ position:fixed; inset:0; z-index:12000; display:grid; place-items:center; min-height:100dvh; padding:24px; overflow:auto; font-family:var(--font-body); isolation:isolate; }
  .celda-login-backdrop{ position:fixed; inset:0; background:rgba(13,24,31,.62); backdrop-filter:blur(8px); animation:celda-login-backdrop-in .34s ease-out both; }
  .celda-login-shell{
    position:relative; z-index:1; width:min(920px,100%); min-height:540px; display:grid;
    grid-template-columns:minmax(285px,.9fr) minmax(360px,1.1fr); overflow:hidden;
    border:1px solid rgba(255,255,255,.22); border-radius:22px; background:var(--surface);
    color:var(--ink); box-shadow:0 30px 90px rgba(5,18,27,.38); animation:celda-login-shell-in .5s cubic-bezier(.2,.8,.2,1) both; transform-origin:center;
  }
  .celda-login-brand{
    position:relative; overflow:hidden; padding:42px 38px; color:#fff;
    background:linear-gradient(155deg,#102d50 0%,#173f6b 55%,#b57a26 145%);
    display:flex; flex-direction:column; justify-content:center;
  }
  .celda-login-brand::before,.celda-login-brand::after{ content:""; position:absolute; border-radius:50%; border:32px solid rgba(255,255,255,.055); pointer-events:none; }
  .celda-login-brand::before{ width:240px; height:240px; right:-135px; top:-100px; }
  .celda-login-brand::after{ width:180px; height:180px; left:-105px; bottom:-100px; }
  .celda-login-logo{ position:relative; z-index:1; width:max-content; max-width:100%; padding:11px 13px; margin-bottom:30px; border-radius:13px; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.14); }
  .celda-login-logo img{ display:block; width:161px; max-width:100%; height:auto; }
  .celda-login-kicker{ position:relative; z-index:1; margin-bottom:8px; font:700 10px var(--font-mono); text-transform:uppercase; letter-spacing:.14em; color:#e5bd72; }
  .celda-login-brand h1{ position:relative; z-index:1; margin:0 0 12px; font:600 clamp(28px,4vw,42px)/1 var(--font-display); }
  .celda-login-brand>p{ position:relative; z-index:1; max-width:330px; margin:0; color:rgba(255,255,255,.76); font-size:13px; line-height:1.65; }
  .celda-login-security{ position:relative; z-index:1; display:flex; gap:10px; margin-top:34px; padding:13px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.07); }
  .celda-login-security>span{ color:#71d7aa; font-size:12px; padding-top:2px; }
  .celda-login-security b,.celda-login-security small{ display:block; }
  .celda-login-security b{ font-size:11.5px; }
  .celda-login-security small{ margin-top:3px; color:rgba(255,255,255,.67); font-size:10.5px; line-height:1.45; }
  .celda-login-form-panel{ padding:48px clamp(28px,5vw,58px); display:flex; flex-direction:column; justify-content:center; background:var(--surface); }
  .celda-login-heading{ margin-bottom:20px; }
  .celda-login-eyebrow{ display:block; margin-bottom:7px; color:var(--copper); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
  .celda-login-heading h2{ margin:0; font:600 28px/1.15 var(--font-display); color:var(--ink); }
  .celda-login-heading p{ margin:9px 0 0; color:var(--ink-soft); font-size:12px; line-height:1.55; }
  .celda-login-notice{ margin-bottom:17px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-subtle); color:var(--ink-soft); font-size:11px; line-height:1.45; }
  .celda-login-notice.warning{ background:var(--warning-soft); border-color:var(--warning-line); color:#8a5a11; }
  .celda-login-notice.error{ background:var(--red-soft); border-color:color-mix(in srgb,var(--red) 45%,var(--line)); color:var(--red); }
  .celda-login-notice.success{ background:var(--green-soft); border-color:color-mix(in srgb,var(--green) 45%,var(--line)); color:var(--green); }
  .celda-login-field{ display:block; margin:0 0 15px; color:var(--ink-soft); font-size:11px; font-weight:700; }
  .celda-login-field>input,.celda-login-password-wrap>input{ min-height:44px; margin-top:6px; padding:10px 11px; border-radius:9px; }
  .celda-login-password-wrap{ position:relative; display:block; }
  .celda-login-password-wrap>input{ padding-right:76px; }
  #celda-login-password-toggle{ position:absolute; right:7px; top:50%; transform:translateY(-42%); border:0; background:transparent; color:var(--copper); padding:6px 7px; font:800 10px var(--font-body); cursor:pointer; }
  .celda-login-submit{ width:100%; min-height:45px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid #153b65; border-radius:9px; background:linear-gradient(180deg,#234d80,#17375e); color:#fff; font:800 12px var(--font-body); cursor:pointer; box-shadow:0 5px 15px rgba(23,55,94,.18); }
  .celda-login-submit:hover:not(:disabled){ filter:brightness(1.06); transform:translateY(-1px); }
  .celda-login-submit:disabled{ opacity:.65; cursor:wait; }
  .celda-login-spinner{ width:14px; height:14px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:celda-login-spin .7s linear infinite; }
  @keyframes celda-login-spin{ to{ transform:rotate(360deg); } }
  .celda-login-help{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:10.5px; line-height:1.5; }
  .celda-login-help b{ color:var(--ink); }
  html[data-celda-theme-effective="dark"] .celda-login-backdrop{ background:rgba(3,8,11,.78); }
  html[data-celda-theme-effective="dark"] .celda-login-shell{ border-color:#40515a; background:#162127; }
  html[data-celda-theme-effective="dark"] .celda-login-form-panel{ background:#162127; }
  html[data-celda-theme-effective="dark"] .celda-login-notice.warning{ color:#efc87d; }
  html[data-celda-theme-effective="dark"] .celda-login-notice.error{ color:#ffabab; }
  @media(max-width:760px){
    #celda-login-gate{ padding:12px; align-items:start; overflow:auto; }
    .celda-login-shell{ grid-template-columns:1fr; min-height:0; margin:auto 0; }
    .celda-login-brand{ padding:28px 24px; }
    .celda-login-logo{ margin-bottom:18px; }
    .celda-login-brand>p,.celda-login-security{ display:none; }
    .celda-login-form-panel{ padding:30px 24px; }
  }
  @media print{ #celda-login-gate{ display:none!important; } }


  /* ---------- v0.6.0: login centrado, seguridad y usuarios ---------- */
  @keyframes celda-login-backdrop-in{ from{opacity:0} to{opacity:1} }
  @keyframes celda-login-shell-in{ from{opacity:0;transform:translateY(24px) scale(.975)} to{opacity:1;transform:translateY(0) scale(1)} }
  @keyframes celda-login-content-in{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
  #celda-login-gate .celda-login-brand>*{ animation:celda-login-content-in .45s .16s ease-out both; }
  #celda-login-gate .celda-login-form-panel>*{ animation:celda-login-content-in .45s .22s ease-out both; }
  #celda-login-gate .celda-login-shell{ margin:auto; }
  @media(max-height:650px) and (min-width:761px){
    #celda-login-gate{ align-items:start; }
    #celda-login-gate .celda-login-shell{ min-height:500px; margin:16px auto; }
  }

  #celda-password-gate{ position:fixed; inset:0; z-index:12100; display:grid; place-items:center; padding:24px; overflow:auto; font-family:var(--font-body); }
  .celda-password-shell{ position:relative; z-index:1; width:min(520px,100%); margin:auto; padding:34px; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:var(--ink); box-shadow:0 26px 80px rgba(5,18,27,.36); animation:celda-login-shell-in .38s cubic-bezier(.2,.8,.2,1) both; }
  .celda-password-shell h2{ margin:6px 0 10px; font:600 25px/1.15 var(--font-display); }
  .celda-password-shell>p{ margin:0 0 18px; color:var(--ink-soft); font-size:12.5px; line-height:1.55; }
  .celda-password-icon{ width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--copper-soft);font-size:20px;margin-bottom:14px; }
  .celda-password-shell label{ display:block; margin:0 0 13px; font-weight:700; }
  .celda-password-shell input{ margin-top:5px; min-height:42px; }
  .celda-password-hint{ margin:-2px 0 17px; padding:10px 12px; border-radius:9px; background:var(--surface-subtle); color:var(--ink-soft); font-size:10.5px; line-height:1.5; }
  .celda-password-actions{ display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
  .celda-password-actions button{ border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--ink); padding:8px 12px; font:700 11px var(--font-body); cursor:pointer; }
  .celda-password-actions button.primary{ background:var(--copper); border-color:var(--copper); color:#fff; }
  html[data-celda-theme-effective="dark"] .celda-password-shell{ background:var(--surface); border-color:var(--line); }

  .user-stats{ margin-top:14px; }
  .user-editor-card,.user-reset-card{ border-left:3px solid var(--copper); }
  .user-form-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; }
  .user-password-row{ grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(240px,1.1fr); align-items:end; }
  .user-check{ display:flex!important; align-items:center; gap:8px; min-height:38px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:var(--surface-subtle); color:var(--ink)!important; }
  .user-check input{ width:auto!important; margin:0; }
  .user-security-hint,.field-hint{ display:block; margin-top:5px; color:var(--ink-soft); font-size:10.5px; line-height:1.45; }
  .user-role-details{ margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }
  .user-role-details summary{ cursor:pointer; color:var(--copper); font-size:11px; font-weight:700; }
  .user-role-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin-top:10px; }
  .user-role-help{ padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface-subtle); }
  .user-role-help b,.user-role-help span{ display:block; }
  .user-role-help b{ margin-bottom:3px; font-size:11px; color:var(--ink); }
  .user-role-help span{ font-size:10px; line-height:1.45; color:var(--ink-soft); }
  .user-directory-toolbar{ margin-bottom:10px; }
  .user-directory-toolbar .form-row{ margin-bottom:0; align-items:end; }
  .user-toolbar-action{ display:flex; align-items:flex-end; min-height:38px; }
  .user-table-wrap{ padding:0; overflow:hidden; }
  .table-scroll{ overflow:auto; max-width:100%; }
  .user-account-meta{ display:block; margin-top:3px; color:var(--ink-soft); font:10px var(--font-mono); }
  .user-self-stamp{ margin-left:7px; vertical-align:middle; }
  .user-inactive-row{ opacity:.68; }
  .user-security-warning{ color:var(--red); font-weight:700; }
  .user-actions{ min-width:230px; }

  html[data-celda-theme-effective="dark"] .user-check,
  html[data-celda-theme-effective="dark"] .user-role-help{ background:var(--surface-subtle); }

  @media(max-width:760px){
    #celda-login-gate{ padding:12px; align-items:start; }
    #celda-login-gate .celda-login-shell{ margin:auto 0; }
    #celda-password-gate{ padding:12px; }
    .celda-password-shell{ padding:26px 20px; }
    .user-password-row{ grid-template-columns:1fr; }
  }
  @media print{ #celda-login-gate,#celda-password-gate{ display:none!important; } }
  .celda-permission-hidden{ display:none!important; }
  #celda-login-gate.celda-login-steady .celda-login-shell,
  #celda-login-gate.celda-login-steady .celda-login-backdrop,
  #celda-login-gate.celda-login-steady .celda-login-brand>*,
  #celda-login-gate.celda-login-steady .celda-login-form-panel>*{ animation:none!important; }


  /* ---------- v0.6.2: accesos y validación administrativa ---------- */
  .user-stat-note{ margin-top:6px; color:var(--ink-soft); font-size:9.5px; line-height:1.4; max-width:210px; }
  .user-availability{ display:block; min-height:14px; margin-top:4px; font-size:9.5px; line-height:1.35; font-weight:600; }
  .user-availability.available{ color:var(--green); }
  .user-availability.taken{ color:var(--red); }
  .user-availability.neutral{ color:var(--ink-soft); font-weight:500; }
  html[data-celda-theme-effective="dark"] .user-availability.available{ color:#8fd4ac; }
  html[data-celda-theme-effective="dark"] .user-availability.taken{ color:#ffabab; }

/* v0.6.3 — ayudas rápidas y anclaje cómodo de formularios */
.card{scroll-margin-top:20px;}
.celda-quick-suggestions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;}
.celda-quick-suggestions>span{font-size:10px;color:var(--ink-soft);font-weight:700;}
.celda-quick-suggestions button{appearance:none;border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);color:var(--ink-soft);padding:4px 8px;font:650 10px var(--font-body);cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .15s;}
.celda-quick-suggestions button:hover,.celda-quick-suggestions button:focus-visible{border-color:var(--copper);color:var(--copper);background:var(--copper-soft);outline:none;transform:translateY(-1px);}
html[data-celda-theme-effective="dark"] .celda-quick-suggestions button{background:#17242b;border-color:#40545f;color:#bdcbd2;}
html[data-celda-theme-effective="dark"] .celda-quick-suggestions button:hover,html[data-celda-theme-effective="dark"] .celda-quick-suggestions button:focus-visible{background:#213746;border-color:#6d9ac4;color:#b9d9f5;}
@media(max-width:760px){.celda-quick-suggestions{align-items:flex-start}.celda-quick-suggestions>span{width:100%}}


/* ---------- v0.6.4: realce de editor y legibilidad ---------- */
/* Editor navigation keeps scrolling/focus without decorative pulse or halo. */

/* ---------- v0.7.0: Solicitudes y Técnicos centralizados ---------- */
.celda-module-toolbar{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; align-items:end;
  margin-bottom:14px;
}
.celda-toolbar-actions,.celda-inline-actions,.celda-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.celda-toolbar-actions{justify-content:flex-end;}
.celda-inline-actions{justify-content:flex-end;}
.celda-subhead{margin:20px 0 10px!important;padding-top:2px;}
.celda-subhead h2{font-size:15px!important;}
.celda-legacy-notice{
  margin-bottom:14px; border-left:3px solid var(--copper); background:var(--copper-soft); color:var(--ink-soft);
  font-size:12px; line-height:1.55;
}
.celda-legacy-notice b{color:var(--ink);}

#main [hidden]{display:none!important;}
.celda-advisory{
  --advisory-accent:#4f8499;
  --advisory-soft:color-mix(in srgb,var(--advisory-accent) 7%,var(--surface));
  margin:0 0 16px; border:1px solid color-mix(in srgb,var(--advisory-accent) 26%,var(--line));
  border-left:4px solid var(--advisory-accent); border-radius:11px; overflow:hidden;
  background:var(--surface); color:var(--ink); box-shadow:0 1px 0 rgba(15,38,49,.02);
}
.celda-advisory.info{--advisory-accent:#4f8499;}
.celda-advisory.warning{--advisory-accent:#b47a24;}
.celda-advisory.danger{--advisory-accent:#b94a48;}
.celda-advisory summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 12px 10px 10px; color:var(--ink); background:linear-gradient(90deg,var(--advisory-soft),transparent 62%);
}
.celda-advisory summary::-webkit-details-marker{display:none;}
.celda-advisory-title{display:flex;align-items:center;gap:10px;min-width:0;}
.celda-advisory-icon{
  flex:0 0 auto; display:grid; place-items:center; width:24px; height:24px; border-radius:7px;
  background:color-mix(in srgb,var(--advisory-accent) 13%,var(--surface));
  border:1px solid color-mix(in srgb,var(--advisory-accent) 34%,var(--line));
  color:var(--advisory-accent); font-weight:900; font-size:12px; font-family:var(--font-mono);
}
.celda-advisory-copy{display:flex;flex-direction:column;gap:1px;min-width:0;}
.celda-advisory-kind{
  color:var(--advisory-accent);font-size:9px;line-height:1.1;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.celda-advisory-heading{font-size:12.5px;line-height:1.35;font-weight:800;color:var(--ink);}
.celda-advisory-toggle{
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:4px 9px;
  border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink-soft);
  font-size:10px; line-height:1; font-weight:750; white-space:nowrap;
}
.celda-advisory[open] .celda-advisory-toggle{color:var(--advisory-accent);border-color:color-mix(in srgb,var(--advisory-accent) 30%,var(--line));}
.celda-advisory-body{
  padding:10px 14px 12px 44px;border-top:1px solid color-mix(in srgb,var(--advisory-accent) 13%,var(--line));
  color:var(--ink-soft);font-size:11.5px;line-height:1.6;background:color-mix(in srgb,var(--advisory-accent) 2.5%,var(--surface));
}
.celda-advisory:not([open]) .celda-advisory-body{display:none;}
@media (max-width:640px){
  .celda-advisory-toggle{font-size:9px;padding:4px 7px;}
  .celda-advisory-body{padding-left:12px;}
}
.celda-admin-maintenance{margin-top:22px;padding:0;overflow:hidden;}
.celda-admin-maintenance>summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;
}
.celda-admin-maintenance>summary::-webkit-details-marker{display:none;}
.celda-admin-maintenance>summary span:first-child{display:flex;flex-direction:column;gap:3px;}
.celda-admin-maintenance>summary small{font-size:10.5px;color:var(--ink-soft);font-weight:500;}
.celda-admin-maintenance-body{border-top:1px solid var(--line);padding:14px 16px 16px;}
.celda-admin-maintenance-body p{margin:0 0 12px;color:var(--ink-soft);font-size:11.5px;line-height:1.55;}
.celda-state-message{margin:10px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle);font-size:12px;line-height:1.5;}
.celda-state-message.warning{background:var(--warning-soft);border-color:var(--warning-line);color:#86580f;}
.celda-state-message.danger{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 42%,var(--line));color:var(--red);}
.celda-request-item{margin:8px 0 11px;padding:13px 14px;background:var(--surface-subtle);}
.celda-request-item-title{margin-bottom:10px;font-size:12.5px;font-weight:800;color:var(--ink);}
.celda-request-item-title span{font-weight:600;color:var(--ink-soft);}
.celda-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:8px 0 12px;}
.celda-check-card{display:flex!important;align-items:center;gap:8px;min-height:42px;margin:0!important;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle);color:var(--ink)!important;font-size:11.5px!important;cursor:pointer;}
.celda-check-card input{width:auto!important;margin:0!important;}
.celda-check-card:hover{border-color:color-mix(in srgb,var(--copper) 55%,var(--line));}
.celda-request-program-summary{margin:8px 0 12px;padding:10px 12px;border-radius:9px;background:var(--surface-subtle);color:var(--ink-soft);font-size:11.5px;line-height:1.55;}
.celda-request-program-summary b{color:var(--ink);}
.celda-request-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0 14px;}
.celda-request-summary>div{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle);}
.celda-request-summary b,.celda-request-summary small{display:block;}
.celda-request-summary b{font-size:12px;color:var(--ink);}
.celda-request-summary small{margin-top:3px;font-size:10.5px;color:var(--ink-soft);line-height:1.4;}
.celda-request-generation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.celda-request-generation>span{font-size:11px;font-weight:800;color:var(--ink-soft);}
.celda-danger-link{color:var(--red)!important;}
.celda-technician-media{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:8px 0 16px;}
.celda-tech-photo{width:122px;height:148px;object-fit:cover;border:1px solid var(--line);border-radius:11px;background:var(--surface-subtle);}
.celda-tech-signature{max-width:220px;max-height:90px;object-fit:contain;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;}
.celda-media-placeholder,.celda-sign-placeholder{display:grid;place-items:center;border:1px dashed var(--line);border-radius:10px;background:var(--surface-subtle);color:var(--ink-soft);font-size:10.5px;text-align:center;}
.celda-media-placeholder{width:122px;height:148px;padding:12px;}
.celda-sign-placeholder{width:220px;min-height:76px;padding:12px;}
.celda-tech-info{margin-top:8px;}
.celda-procedure-list{margin-top:10px;}
.celda-archived-procedures{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle);}
.celda-archived-procedures summary{cursor:pointer;font-size:11px;font-weight:800;color:var(--ink-soft);}
html[data-celda-theme-effective="dark"] .celda-legacy-notice{background:color-mix(in srgb,var(--copper-soft) 55%,var(--surface));}
html[data-celda-theme-effective="dark"] .celda-state-message.warning{color:#efc87d;}
html[data-celda-theme-effective="dark"] .celda-tech-signature{background:#f8fafb;}
@media(max-width:900px){
  .celda-module-toolbar{grid-template-columns:1fr 1fr;}
  .celda-toolbar-actions{grid-column:1/-1;justify-content:flex-start;}
}
@media(max-width:640px){
  .celda-module-toolbar{grid-template-columns:1fr;}
  .celda-inline-actions{justify-content:flex-start;}
  .celda-check-grid{grid-template-columns:1fr;}
}

/* ---------- Etapa G: tablas técnicas adaptables ---------- */
.celda-stage-table-card{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.celda-stage-table-card table{
  min-width:900px;
}
@media (max-width:760px){
  .celda-stage-table-card table{ min-width:820px; }
}

/* ---------- v0.7.1: estabilización de Laboratorio ---------- */
.celda-choice-panel{margin:8px 0 14px;display:grid;gap:9px;}
.celda-choice-card{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-subtle);color:var(--ink)!important;cursor:pointer;min-height:54px;transition:border-color .15s,background .15s,box-shadow .15s;}
.celda-choice-card:hover{border-color:color-mix(in srgb,var(--copper) 55%,var(--line));box-shadow:0 4px 14px color-mix(in srgb,var(--copper) 8%,transparent);}
.celda-choice-card input[type="checkbox"],.celda-choice-card input[type="radio"]{width:17px!important;height:17px!important;flex:0 0 17px;margin:2px 0 0!important;accent-color:var(--copper);}
.celda-choice-card span{display:block;min-width:0;}
.celda-choice-card b,.celda-choice-card small{display:block;}
.celda-choice-card b{font-size:13.5px;line-height:1.35;color:var(--ink);}
.celda-choice-card small{margin-top:3px;font-size:12px;line-height:1.45;color:var(--ink-soft);font-weight:500;}
.celda-close-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 10px;}
.celda-close-status{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;padding:10px 12px;margin-bottom:10px;border-radius:10px;background:var(--surface-subtle);border:1px solid var(--line);}
.celda-close-status b{font-size:13px;color:var(--ink);white-space:nowrap;}.celda-close-status span{font-size:12px;line-height:1.45;color:var(--ink-soft);text-align:right;}
html[data-celda-theme-effective="dark"] .celda-choice-card,html[data-celda-theme-effective="dark"] .celda-close-status,html[data-celda-theme-effective="dark"] .celda-request-item,html[data-celda-theme-effective="dark"] .celda-request-program-summary,html[data-celda-theme-effective="dark"] .celda-request-summary>div,html[data-celda-theme-effective="dark"] .celda-archived-procedures{background:#152229;border-color:#344751;color:#dce7ec;}
html[data-celda-theme-effective="dark"] .celda-choice-card b,html[data-celda-theme-effective="dark"] .celda-close-status b{color:#e7f0f4;}
html[data-celda-theme-effective="dark"] .celda-choice-card small,html[data-celda-theme-effective="dark"] .celda-close-status span{color:#9eb1ba;}

/* Ficha imprimible de personal: aspecto documental y firma protegida por defecto. */
.celda-personnel-print-wrap{width:820px;max-width:100%;margin:0 auto;}
.celda-personnel-sheet{padding:30px 34px!important;color:#1e2933!important;background:#fff!important;}
.celda-personnel-header{display:grid;grid-template-columns:120px 1fr 110px;align-items:stretch;border:1.5px solid #1b3a63;margin-bottom:18px;}
.celda-personnel-logo{display:grid;place-items:center;padding:10px;border-right:1px solid #bfc9d3}.celda-personnel-logo img{max-width:94px;max-height:58px;}
.celda-personnel-title{padding:10px 15px;text-align:center}.celda-personnel-title span{font-size:8.5pt;letter-spacing:.12em;color:#657482;font-weight:700}.celda-personnel-title h1{margin:3px 0!important;font:700 16pt/1.15 'Calibri','Segoe UI',Arial,sans-serif!important;color:#1b3a63!important}.celda-personnel-title p{margin:0;font-size:9pt;color:#657482;}
.celda-personnel-code{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:9px;text-align:center;border-left:1px solid #bfc9d3;font-size:8.5pt}.celda-personnel-code b{font-size:10pt;color:#1b3a63;}
.celda-personnel-hero{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid #d2dbe3;border-radius:8px;background:#f7f9fb;margin-bottom:15px;}
.celda-personnel-photo{width:90px;height:108px;object-fit:cover;border:1px solid #b8c4cf;border-radius:6px;background:#fff}.celda-personnel-photo-empty{display:grid;place-items:center;color:#778691;font-size:9pt;}
.celda-personnel-identity h2{margin:0 0 4px!important;font:700 16pt/1.2 'Calibri','Segoe UI',Arial,sans-serif!important;color:#172f4d!important}.celda-personnel-identity p{margin:0 0 8px;color:#52616d;font-size:10pt}.celda-personnel-badges{display:flex;gap:6px;flex-wrap:wrap}.celda-personnel-badges span{padding:3px 7px;border-radius:999px;background:#e8eef5;color:#1b3a63;font-size:8pt;font-weight:700;}
.celda-personnel-section{margin-top:14px}.celda-personnel-section h3{margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #1b3a63;font:700 10.5pt 'Calibri','Segoe UI',Arial,sans-serif!important;color:#1b3a63!important;}
.celda-personnel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.celda-personnel-grid>div{padding:6px 8px;border-bottom:1px solid #e5e9ed}.celda-personnel-grid>div.wide{grid-column:1/-1}.celda-personnel-grid span,.celda-personnel-grid b{display:block}.celda-personnel-grid span{font-size:8pt;color:#687681;text-transform:uppercase;letter-spacing:.03em}.celda-personnel-grid b{margin-top:2px;font-size:9.5pt;color:#24313a;font-weight:600;}
.celda-personnel-procedures{font-size:9pt!important;border:1px solid #c9d2db}.celda-personnel-procedures th{background:#1b3a63!important;color:#fff!important;padding:5px 7px!important}.celda-personnel-procedures td{padding:5px 7px!important;font-family:'Calibri','Segoe UI',Arial,sans-serif!important;color:#24313a!important;border-bottom:1px solid #e0e5e9!important}.celda-personnel-empty{font-size:9pt;color:#687681;}
.celda-personnel-privacy{margin-top:16px;padding:8px 10px;border-left:3px solid #b77b25;background:#fff8eb;color:#695126;font-size:8.5pt;line-height:1.4;}
.celda-personnel-signoff{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:38px}.celda-personnel-signoff div{border-top:1px solid #4b5962;text-align:center;padding-top:5px;font-size:8.5pt;color:#52616d;}
@media(max-width:700px){.celda-close-progress{grid-template-columns:1fr}.celda-close-status{flex-direction:column}.celda-close-status span{text-align:left}.celda-personnel-grid{grid-template-columns:1fr}.celda-personnel-grid>div.wide{grid-column:auto}}
@media print{#technician-sheet-print.celda-personnel-sheet{width:100%!important;max-width:none!important;padding:0!important}.celda-personnel-print-wrap{width:100%!important;max-width:none!important}.celda-personnel-privacy{background:#fff8eb!important}}

/* v0.7.1: completar tema oscuro en fichas internas de Laboratorio. */
html[data-celda-theme-effective="dark"] .celda-tech-info{
  border-color:#344751;
  background:#10191e;
}
html[data-celda-theme-effective="dark"] .celda-tech-info td{
  border-color:#344751;
  color:#dce7ec;
  background:#10191e;
}
html[data-celda-theme-effective="dark"] .celda-tech-info td.label{
  background:#1b303a;
  color:#9fc9d4;
}
html[data-celda-theme-effective="dark"] .celda-tech-info td.value{
  background:#152229;
  color:#e6eff3;
}
html[data-celda-theme-effective="dark"] .celda-module-toolbar,
html[data-celda-theme-effective="dark"] .celda-stage-table-card{
  border-color:#344751;
}
.celda-switch-line{
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  min-height:40px;
  margin:0!important;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-subtle);
  color:var(--ink)!important;
  font-size:12px!important;
  font-weight:650;
  cursor:pointer;
}
.celda-switch-line input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  margin:0!important;
  flex:0 0 17px;
  accent-color:var(--copper);
}
html[data-celda-theme-effective="dark"] .celda-switch-line{
  background:#152229;
  border-color:#344751;
  color:#dce7ec!important;
}

/* ---------- v0.8.0: Patrones, trazabilidad y tarifario MySQL ---------- */
.celda-metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:0 0 15px;}
.celda-metric-strip>div{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 4px 16px rgba(22,40,48,.035);}
.celda-metric-strip span,.celda-metric-strip b{display:block}.celda-metric-strip span{font-size:11px;color:var(--ink-soft);font-weight:700}.celda-metric-strip b{margin-top:4px;font-size:22px;color:var(--ink);font-family:var(--font-display)}
.celda-metric-strip>div.warning{border-color:var(--warning-line);background:var(--warning-soft)}.celda-metric-strip>div.danger{border-color:color-mix(in srgb,var(--red) 40%,var(--line));background:var(--red-soft)}
.celda-toolbar-search{min-width:210px}.celda-toolbar-search label{display:block;margin-bottom:4px}.celda-toolbar-search input{width:100%}
.celda-standard-magnitude-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px}.celda-standard-magnitude-filter button{border:1px solid var(--line);background:var(--surface-subtle);color:var(--ink-soft);border-radius:999px;padding:7px 11px;font:700 11px var(--font-body);cursor:pointer}.celda-standard-magnitude-filter button.active{border-color:var(--copper);background:var(--copper-soft);color:var(--copper)}.celda-standard-magnitude-filter small{margin-left:4px;opacity:.8}
.celda-row-sub{margin-top:3px;font-size:10.5px;color:var(--ink-soft);font-weight:500}
.celda-standard-profile{display:grid;grid-template-columns:145px 1fr;gap:16px;margin:12px 0 15px}.celda-standard-media img{width:145px;height:145px;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.celda-standard-media .celda-media-placeholder{width:145px;height:145px}.celda-standard-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.celda-standard-facts>div{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle)}.celda-standard-facts span,.celda-standard-facts b{display:block}.celda-standard-facts span{font-size:10px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.035em}.celda-standard-facts b{margin-top:2px;font-size:12px;color:var(--ink);line-height:1.4}
.celda-history-list{display:grid;gap:8px}.celda-history-list article{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(220px,1.5fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}.celda-history-list article>div b,.celda-history-list article>div span{display:block}.celda-history-list article>div b{font-size:12px}.celda-history-list article>div span,.celda-history-list article p,.celda-history-list article small{font-size:10.5px;color:var(--ink-soft)}.celda-history-list article p{margin:0}.celda-history-list article small{white-space:normal}
.celda-request-standards{margin:10px 0 12px}.celda-standard-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:6px}.celda-standard-choice{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;margin:0!important;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle);cursor:pointer;color:var(--ink)!important}.celda-standard-choice input{width:17px!important;height:17px!important;margin:2px 0 0!important;flex:0 0 17px;accent-color:var(--copper)}.celda-standard-choice span,.celda-standard-choice b,.celda-standard-choice small{display:block}.celda-standard-choice b{font-size:12px}.celda-standard-choice small{margin-top:3px;font-size:10.5px;color:var(--ink-soft);line-height:1.35}.celda-standard-choice.unusable{opacity:.65;border-style:dashed}.celda-standard-choice:not(.unusable):hover{border-color:color-mix(in srgb,var(--copper) 55%,var(--line))}
.celda-rate-card>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;color:var(--ink)}.celda-rate-editor{margin-top:14px;padding-top:4px}.celda-rate-toolbar{margin:14px 0 10px;padding:10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px}.celda-rate-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:3px}.celda-rate-list article{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}.celda-rate-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.celda-rate-main b,.celda-rate-main span{display:block}.celda-rate-main b{font-size:12.5px;color:var(--ink)}.celda-rate-main span{margin-top:3px;font-size:10.5px;color:var(--ink-soft)}.celda-rate-main strong{white-space:nowrap;font:800 14px var(--font-mono);color:var(--copper)}.celda-rate-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0;color:var(--ink-soft);font-size:10.5px}.celda-rate-history{margin:12px 0;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle)}.celda-rate-history summary{cursor:pointer;font-weight:800;font-size:11.5px}.celda-rate-history>div{display:grid;grid-template-columns:120px 1fr 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:10.5px}.celda-rate-history>div:last-child{border-bottom:0}.celda-rate-history span,.celda-rate-history small{color:var(--ink-soft)}
html[data-celda-theme-effective="dark"] .celda-metric-strip>div,html[data-celda-theme-effective="dark"] .celda-standard-magnitude-filter,html[data-celda-theme-effective="dark"] .celda-standard-facts>div,html[data-celda-theme-effective="dark"] .celda-history-list article,html[data-celda-theme-effective="dark"] .celda-standard-choice,html[data-celda-theme-effective="dark"] .celda-rate-toolbar,html[data-celda-theme-effective="dark"] .celda-rate-list article,html[data-celda-theme-effective="dark"] .celda-rate-history{background:#152229;border-color:#344751;color:#dce7ec}html[data-celda-theme-effective="dark"] .celda-metric-strip>div.warning{background:#392e1b;border-color:#70572a}html[data-celda-theme-effective="dark"] .celda-metric-strip>div.danger{background:#3b2326;border-color:#754148}html[data-celda-theme-effective="dark"] .celda-standard-magnitude-filter button{background:#17242b;border-color:#40545f;color:#b9c9d0}html[data-celda-theme-effective="dark"] .celda-standard-magnitude-filter button.active{background:#3a2f21;border-color:#b98035;color:#f0c37f}
@media(max-width:760px){.celda-standard-profile{grid-template-columns:1fr}.celda-standard-facts{grid-template-columns:1fr}.celda-history-list article{grid-template-columns:1fr}.celda-standard-choice-grid{grid-template-columns:1fr}.celda-rate-main{flex-direction:column}.celda-rate-history>div{grid-template-columns:1fr}}

/* =========================================================
   v0.8.1 · Tarifario / numeración / catálogos dependientes
   ========================================================= */
.celda-rate-card{
  overflow:hidden;
}
.celda-rate-card>.celda-rate-summary{
  list-style:none;
  margin:-2px -2px 0;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:linear-gradient(135deg,var(--surface-subtle),var(--surface));
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.celda-rate-card>.celda-rate-summary::-webkit-details-marker{display:none;}
.celda-rate-card>.celda-rate-summary:hover,
.celda-rate-card>.celda-rate-summary:focus-visible{
  border-color:color-mix(in srgb,var(--copper) 55%,var(--line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 12%,transparent);
  outline:none;
}
.celda-rate-card[open]>.celda-rate-summary{
  margin-bottom:12px;
  border-color:color-mix(in srgb,var(--copper) 45%,var(--line));
  background:var(--surface-subtle);
}
.celda-rate-summary-copy{min-width:0;display:flex;flex-direction:column;gap:3px;}
.celda-rate-summary-copy b{font-size:13.5px;color:var(--ink);}
.celda-rate-summary-copy small{font-size:11px;line-height:1.4;font-weight:600;color:var(--ink-soft);}
.celda-rate-summary-meta{display:flex;align-items:center;gap:9px;flex:0 0 auto;}
.celda-rate-chevron{
  width:26px;height:26px;border-radius:8px;border:1px solid var(--line);
  display:inline-grid;place-items:center;color:var(--copper);font-size:19px;font-weight:900;
  transform:rotate(0deg);transition:transform .18s ease,background .18s ease;
  background:var(--surface);
}
.celda-rate-card[open] .celda-rate-chevron{transform:rotate(180deg);}

.celda-sequence-card .section-head{align-items:flex-start;}
.celda-sequence-card .section-head .celda-help-text{margin:4px 0 0;max-width:720px;}
.celda-sequence-advanced{margin-top:10px;border-top:1px solid var(--line);padding-top:9px;}
.celda-sequence-advanced>summary{
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  color:var(--copper);font-size:11.5px;font-weight:800;
  padding:5px 0;
}
.celda-sequence-advanced .celda-state-message{margin:8px 0 10px;}
#q-tarifa-help{display:block;margin-top:5px;line-height:1.45;}

html[data-celda-theme-effective="dark"] .celda-rate-card>.celda-rate-summary{
  background:linear-gradient(135deg,#18272e,#142128);
  border-color:#344751;
}
html[data-celda-theme-effective="dark"] .celda-rate-card[open]>.celda-rate-summary{
  background:#17262d;
  border-color:#4b5f69;
}
html[data-celda-theme-effective="dark"] .celda-rate-chevron{
  background:#101b21;border-color:#3a4d57;color:#e3a958;
}

@media (max-width:680px){
  .celda-rate-card>.celda-rate-summary{align-items:flex-start;padding:12px;}
  .celda-rate-summary-meta{gap:6px;}
  .celda-rate-summary-copy small{font-size:10.5px;}
}

/* =========================================================
   v0.8.2 · estabilización visual, tema claro y fotos internas
   ========================================================= */
html[data-celda-theme-effective="light"]{
  color-scheme:light;
  --ink:#172235;
  --ink-soft:#4C5A6D;
  --paper:#EDF1F4;
  --surface:#FFFFFF;
  --surface-subtle:#F5F7F9;
  --control-bg:#FFFFFF;
  --line:#C7D0D8;
  --focus-ring:rgba(27,58,99,.18);
}
html[data-celda-theme-effective="light"] body{background:#E7EBEF;color:var(--ink);}
html[data-celda-theme-effective="light"] #erp-root{border-color:#BFC9D1;box-shadow:0 12px 36px rgba(22,40,55,.08);}
html[data-celda-theme-effective="light"] .main{background:var(--paper);}
html[data-celda-theme-effective="light"] .card{
  background:#fff;
  border-color:#C5CED6;
  box-shadow:0 2px 9px rgba(29,49,65,.045);
}
html[data-celda-theme-effective="light"] input,
html[data-celda-theme-effective="light"] select,
html[data-celda-theme-effective="light"] textarea{
  background:#FFFFFF;
  border-color:#AEBAC5;
  color:#172235;
  box-shadow:inset 0 1px 2px rgba(24,42,56,.045);
}
html[data-celda-theme-effective="light"] input::placeholder,
html[data-celda-theme-effective="light"] textarea::placeholder{color:#738190;opacity:1;}
html[data-celda-theme-effective="light"] input:hover:not(:disabled),
html[data-celda-theme-effective="light"] select:hover:not(:disabled),
html[data-celda-theme-effective="light"] textarea:hover:not(:disabled){border-color:#8797A5;}
html[data-celda-theme-effective="light"] input:focus,
html[data-celda-theme-effective="light"] select:focus,
html[data-celda-theme-effective="light"] textarea:focus{
  border-color:#1B3A63;
  box-shadow:0 0 0 3px rgba(27,58,99,.12),inset 0 1px 2px rgba(24,42,56,.04);
}
html[data-celda-theme-effective="light"] input:disabled,
html[data-celda-theme-effective="light"] select:disabled,
html[data-celda-theme-effective="light"] textarea:disabled,
html[data-celda-theme-effective="light"] input[readonly],
html[data-celda-theme-effective="light"] textarea[readonly]{
  background:#E9EEF2;
  border-color:#C5CDD4;
  color:#687684;
  opacity:1;
}
html[data-celda-theme-effective="light"] select option{background:#fff;color:#172235;}
html[data-celda-theme-effective="light"] th{background:#E8EDF1;color:#354558;border-bottom-color:#B9C4CD;}
html[data-celda-theme-effective="light"] td{border-bottom-color:#D3DAE0;}
html[data-celda-theme-effective="light"] .celda-module-toolbar,
html[data-celda-theme-effective="light"] .celda-state-message,
html[data-celda-theme-effective="light"] .celda-choice-card,
html[data-celda-theme-effective="light"] .celda-choice-panel,
html[data-celda-theme-effective="light"] .celda-standard-facts>div,
html[data-celda-theme-effective="light"] .celda-history-list article,
html[data-celda-theme-effective="light"] .celda-standard-choice,
html[data-celda-theme-effective="light"] .celda-rate-list article,
html[data-celda-theme-effective="light"] .celda-rate-history{
  border-color:#C5CED6;
  background:#F6F8FA;
}

/* El tarifario es una tarjeta completa: ya no parece una “nube” dentro de otra tarjeta. */
.celda-rate-card{
  padding:0!important;
  width:100%;
  overflow:hidden;
}
.celda-rate-card>.celda-rate-summary{
  width:100%;
  margin:0!important;
  padding:16px 18px;
  border:0!important;
  border-radius:0!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}
.celda-rate-card>.celda-rate-summary:hover,
.celda-rate-card>.celda-rate-summary:focus-visible{
  background:var(--surface-subtle)!important;
  box-shadow:inset 4px 0 0 var(--copper)!important;
}
.celda-rate-card[open]>.celda-rate-summary{
  margin-bottom:0!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--surface-subtle)!important;
}
.celda-rate-body{padding:0 18px 17px;}
.celda-rate-card:not([open]) .celda-rate-summary{border-bottom:0!important;}
html[data-celda-theme-effective="dark"] .celda-rate-card>.celda-rate-summary{background:#162127!important;}
html[data-celda-theme-effective="dark"] .celda-rate-card>.celda-rate-summary:hover,
html[data-celda-theme-effective="dark"] .celda-rate-card>.celda-rate-summary:focus-visible,
html[data-celda-theme-effective="dark"] .celda-rate-card[open]>.celda-rate-summary{background:#17262D!important;}

/* Evidencia fotográfica privada por ítem de cotización. */
.celda-quote-photo-section{
  margin:12px 0 4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-subtle);
}
.celda-quote-photo-title,.celda-quote-media-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;
}
.celda-quote-photo-title b,.celda-quote-photo-title small,
.celda-quote-media-panel-head b,.celda-quote-media-panel-head small{display:block;}
.celda-quote-photo-title b,.celda-quote-media-panel-head b{font-size:12.5px;color:var(--ink);}
.celda-quote-photo-title small,.celda-quote-media-panel-head small{margin-top:3px;font-size:10.5px;line-height:1.45;color:var(--ink-soft);}
.celda-quote-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.celda-quote-photo-card{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);min-width:0;}
.celda-quote-photo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;}
.celda-quote-photo-head b,.celda-quote-photo-head small{display:block;}
.celda-quote-photo-head b{font-size:11.5px;color:var(--ink);}
.celda-quote-photo-head small{margin-top:2px;font-size:9.8px;color:var(--ink-soft);}
.celda-quote-photo-card>img,.celda-quote-photo-placeholder{
  width:100%;height:132px;border:1px solid var(--line);border-radius:7px;background:var(--paper);object-fit:contain;
}
.celda-quote-photo-placeholder{display:grid;place-items:center;color:var(--ink-soft);font-size:10.5px;border-style:dashed;}
.celda-file-button{
  margin:8px 0 0!important;display:inline-flex!important;align-items:center;justify-content:center;
  cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:var(--surface-subtle);
  color:var(--ink)!important;font-size:10.5px!important;font-weight:750;
}
.celda-file-button:hover{border-color:var(--copper);color:var(--copper)!important;}
.celda-file-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}

.celda-quote-media-panel{
  margin:0 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);
  max-height:310px;overflow:auto;
}
.celda-quote-media-list{display:grid;gap:8px;}
.celda-quote-media-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line);}
.celda-quote-media-list article:first-child{border-top:0;}
.celda-quote-media-label b,.celda-quote-media-label span{display:block;}
.celda-quote-media-label b{font-size:11px;color:var(--copper);}
.celda-quote-media-label span{margin-top:3px;font-size:10.5px;color:var(--ink-soft);line-height:1.4;}
.celda-quote-media-thumbs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.celda-quote-media-thumbs figure{margin:0;text-align:center;}
.celda-quote-media-thumbs img{width:84px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:7px;background:var(--paper);display:block;}
.celda-quote-media-thumbs figcaption{margin-top:3px;font-size:9px;color:var(--ink-soft);}
html[data-celda-theme-effective="dark"] .celda-quote-photo-section,
html[data-celda-theme-effective="dark"] .celda-quote-photo-card,
html[data-celda-theme-effective="dark"] .celda-quote-media-panel{border-color:#3A4D57;background:#142128;}

@media(max-width:680px){
  .celda-rate-card>.celda-rate-summary{padding:14px 15px;}
  .celda-rate-body{padding:0 14px 14px;}
  .celda-quote-photo-grid{grid-template-columns:1fr;}
  .celda-quote-media-list article{grid-template-columns:1fr;}
  .celda-quote-media-thumbs{justify-content:flex-start;}
}


/* =========================================================
   v0.8.3 · procesamiento de imágenes sin pantalla en blanco
   ========================================================= */
.celda-rate-scope-help{
  margin:7px 0 0;
  padding:7px 9px;
  border-left:3px solid color-mix(in srgb,var(--copper) 65%,var(--line));
  border-radius:0 7px 7px 0;
  background:var(--surface-subtle);
  color:var(--ink-soft);
  font-size:10.5px;
  line-height:1.48;
  max-width:780px;
}
.celda-rate-scope-help b{color:var(--ink);}
.celda-quote-photo-card{position:relative;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease;}
.celda-quote-photo-card.is-processing{
  border-color:color-mix(in srgb,var(--copper) 58%,var(--line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 10%,transparent);
}
.celda-quote-photo-card.is-processing::after{
  content:'';position:absolute;right:12px;bottom:12px;width:15px;height:15px;border-radius:50%;
  border:2px solid color-mix(in srgb,var(--copper) 25%,var(--line));border-top-color:var(--copper);
  animation:celda-photo-spin .75s linear infinite;pointer-events:none;
}
.celda-file-button.is-disabled{opacity:.62;cursor:wait;pointer-events:none;}
.celda-quote-photo-card [hidden]{display:none!important;}
@keyframes celda-photo-spin{to{transform:rotate(360deg);}}
html[data-celda-theme-effective="dark"] .celda-rate-scope-help{background:#101B21;border-left-color:#D49B4B;}

/* v1.0.3 · lectura y presentación por permisos */
.grid.grid-1{grid-template-columns:minmax(0,1fr);}
.celda-readonly-fact{
  margin-top:7px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;
  background:var(--surface-subtle);display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:var(--ink-soft);font-size:10.5px;
}
.celda-readonly-fact span{font-weight:750;letter-spacing:.01em;}
.celda-readonly-fact b{color:var(--ink);font-family:var(--font-mono);font-size:10.5px;text-align:right;}
@media(max-width:640px){.celda-readonly-fact{align-items:flex-start;flex-direction:column}.celda-readonly-fact b{text-align:left}}

/* =========================================================
   v1.1.0 · aprovechamiento de pantalla, dashboard e impresión
   ========================================================= */
@media screen and (min-width:761px){
  html,body{min-height:100%;}
  body{margin:0;padding:12px;min-height:100dvh;}
  html[data-celda-workspace="standard"] #erp-root{height:min(720px,calc(100dvh - 24px));min-height:min(600px,calc(100dvh - 24px));}
  html[data-celda-workspace="expanded"] #erp-root{height:calc(100dvh - 24px);min-height:min(620px,calc(100dvh - 24px));}
  .main{height:100%;max-height:none;}
}
@media screen and (min-width:761px) and (max-height:650px){
  html[data-celda-workspace="standard"] #erp-root,html[data-celda-workspace="expanded"] #erp-root{height:calc(100dvh - 24px);min-height:0;}
}
#celda-bottom-dock[hidden]{display:none!important;}

.celda-dashboard{padding-bottom:8px;}
.celda-dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px;}
.celda-dashboard-heading .view-title{margin-bottom:3px;}
.celda-dashboard-heading .view-sub{margin-bottom:0;}
.celda-eyebrow{display:block;margin-bottom:5px;color:var(--copper);font:800 9.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;}
.celda-period-picker{display:grid;grid-template-columns:auto minmax(240px,330px) auto;align-items:center;gap:8px;}
.celda-period-picker label{margin:0;font-weight:800;}
.celda-period-picker select{min-width:240px;}
.celda-dashboard-close{display:flex;justify-content:flex-end;margin:-4px 0 14px;}
.celda-period-close-card{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:var(--copper);}
.celda-period-close-card p{margin:4px 0 0;color:var(--ink-soft);font-size:11.5px;line-height:1.55;}
.celda-kpi-card{position:relative;overflow:hidden;min-height:122px;}
.celda-kpi-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--copper);}
.celda-kpi-card.success::before{background:var(--green);}.celda-kpi-card.danger::before{background:var(--red);}
.celda-kpi-card small{display:block;margin-top:7px;color:var(--ink-soft);font-size:10px;line-height:1.4;}
.celda-dashboard-section{margin-top:20px;}
.celda-dashboard-section-grid{margin-top:16px;gap:16px;}
.celda-dashboard>.celda-demand-card{margin-top:16px;}
.celda-dashboard-section-head{margin:0 0 11px;}
.celda-dashboard-section-head p,.celda-dashboard-card .section-head p{margin:4px 0 0;color:var(--ink-soft);font-size:10.8px;line-height:1.45;font-weight:400;}
.celda-dashboard-card .section-head{align-items:flex-start;margin:0 0 12px;gap:12px;}
.celda-dashboard-card .section-head h2{font-size:16px;}
.celda-ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.celda-ops-card{min-height:112px;display:flex;flex-direction:column;justify-content:center;}
.celda-ops-card>span{color:var(--ink-soft);font-size:10.5px;font-weight:700;}
.celda-ops-card>b{margin:4px 0 3px;font:700 21px var(--font-mono);font-variant-numeric:tabular-nums;}
.celda-ops-card>small{color:var(--ink-soft);font-size:9.8px;line-height:1.45;}
.celda-flex-label{width:auto!important;flex:1;min-width:0;font-size:11.5px;}
.celda-row-meta{margin-left:5px;color:var(--ink-soft);font:10px var(--font-mono);}
.celda-metric-number{white-space:nowrap;color:var(--ink);font:700 11.5px var(--font-mono);}
.celda-metric-quadrants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;}
.celda-metric-quadrants>div,.celda-metric-split>div{min-width:0;}
.celda-metric-quadrants h3,.celda-metric-split h3{margin:0 0 9px;font-size:12px;line-height:1.35;}
.celda-metric-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.celda-total-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:16px;padding-top:1px;border-top:1px solid var(--line);background:var(--line);}
.celda-total-strip>div{padding:13px 12px;background:var(--surface);}
.celda-total-strip span,.celda-total-strip b{display:block;}
.celda-total-strip span{color:var(--ink-soft);font-size:10px;}
.celda-total-strip b{margin-top:3px;font:700 17px var(--font-mono);}
.celda-total-strip.compact>div{padding:10px 11px;}.celda-total-strip.compact b{font-size:14px;}
.celda-rate-orb{flex:0 0 auto;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid var(--copper);background:var(--copper-soft);color:var(--copper);}
.celda-rate-orb b{font:800 23px var(--font-mono);}.celda-rate-orb span{font-size:8.5px;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;font-weight:800;}
.celda-dashboard-details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;}
.celda-dashboard-details>summary{cursor:pointer;color:var(--copper);font-size:10.5px;font-weight:800;margin-bottom:8px;}
.celda-empty-compact{padding:18px 8px;}
.celda-table-card{overflow:hidden;}
.celda-print-hint{margin-right:auto;align-self:center;max-width:360px;color:var(--ink-soft);font-size:10px;line-height:1.35;}

/* Solicitud: vista previa y firmas coherentes con A4 horizontal. */
#solicitud-print-overlay .solicitud-print-wrap{width:min(1120px,96vw);max-width:100%;}
#solicitud-print-overlay .modal-toolbar{width:100%;}
@media screen{
  #solicitud-sheet-print{width:1120px;max-width:100%;min-height:680px;padding:26px 32px;}
}
.solicitud-signatures{display:flex;flex-wrap:wrap;gap:24px 28px;margin-bottom:6px;align-items:flex-start;}
.solicitud-signature-slot{width:220px;text-align:center;font-family:'Calibri','Segoe UI',Arial,sans-serif;break-inside:avoid;page-break-inside:avoid;}
.solicitud-signature-image{display:block;width:auto;max-width:180px;height:52px;object-fit:contain;margin:0 auto 2px auto;mix-blend-mode:multiply;}
.solicitud-signature-status{min-height:18px;margin:0 auto 3px;color:#6e7682;font-size:7.5pt;font-style:italic;line-height:1.1;}
.solicitud-signature-status[hidden]{display:none!important;}
.solicitud-signature-line{height:1px;background:#1a1a1a;width:100%;margin-bottom:5px;}
.solicitud-signature-name{min-height:15px;font-size:9pt;line-height:1.15;font-weight:600;}
.solicitud-signature-role{min-height:22px;margin-top:2px;font-size:8.5pt;line-height:1.15;}

@media(max-width:980px){
  .celda-dashboard-hero{align-items:flex-start;flex-direction:column;}
  .celda-period-picker{width:100%;grid-template-columns:auto minmax(0,1fr) auto;}
  .celda-period-picker select{min-width:0;}
  .celda-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  body{margin:0;padding:0;}
  .celda-dashboard-hero{gap:12px;}
  .celda-period-picker{grid-template-columns:1fr;}
  .celda-period-picker label{display:none;}
  .celda-ops-grid,.celda-metric-quadrants,.celda-metric-split{grid-template-columns:1fr;}
  .celda-period-close-card{align-items:flex-start;flex-direction:column;}
  .celda-total-strip{grid-template-columns:1fr;}
  .celda-rate-orb{width:78px;height:78px;}
  .celda-rate-orb b{font-size:19px;}
}
@media print{
  .celda-print-hint{display:none!important;}
  .solicitud-signatures{gap:18px 24px!important;align-items:flex-end!important;}
  .solicitud-signature-slot{width:210px!important;}
  .solicitud-signature-image{height:48px!important;max-width:170px!important;}
  .solicitud-signature-status{font-size:7pt!important;}
}

/* v1.1.0 · interruptor Original ↔ Moderno */
#celda-system-panel .cs-layout-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle);}
#celda-system-panel .cs-layout-copy{min-width:0;flex:1;}
#celda-system-panel .cs-layout-copy b,#celda-system-panel .cs-layout-copy small{display:block;}
#celda-system-panel .cs-layout-copy b{font-size:14px;color:var(--ink);}
#celda-system-panel .cs-layout-copy small{margin-top:3px;color:var(--ink-soft);font-size:12px;line-height:1.45;}
#celda-system-panel .cs-layout-switch{display:grid!important;grid-template-columns:auto 58px auto;align-items:center;gap:7px;margin:0!important;color:var(--ink-soft)!important;font-size:12px!important;font-weight:800;white-space:nowrap;cursor:pointer;}
#celda-system-panel .cs-layout-switch input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important;}
#celda-system-panel .cs-layout-switch i{position:relative;display:block;width:58px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--surface);box-shadow:inset 0 2px 5px rgba(17,39,56,.08);transition:background .2s ease,border-color .2s ease;}
#celda-system-panel .cs-layout-switch i u{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#8596a3;box-shadow:0 2px 7px rgba(0,0,0,.18);transition:transform .22s cubic-bezier(.2,.8,.2,1),background .2s ease;}
#celda-system-panel .cs-layout-switch input:checked+i{background:linear-gradient(90deg,#1268a8,#21a6a1);border-color:transparent;}
#celda-system-panel .cs-layout-switch input:checked+i u{transform:translateX(30px);background:#fff;}
#celda-system-panel .cs-layout-switch input:focus-visible+i{outline:3px solid var(--focus-ring);outline-offset:2px;}
#celda-system-panel .cs-layout-status{margin:7px 3px 11px;color:var(--ink-soft);font-size:11px;}
#celda-system-panel .cs-layout-status b{color:var(--copper);}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-layout-choice{background:#152229;border-color:#344751;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-layout-switch i{background:#10191e;border-color:#435862;}
@media(max-width:760px){#celda-system-panel .cs-layout-choice{align-items:flex-start;flex-direction:column}.cs-layout-switch{width:100%;justify-content:space-between}}

/* =========================================================
   v1.1.1 · contexto global compacto y punto de extensión
   ========================================================= */
#celda-system-panel .cs-context-accordion summary{position:relative;}
#celda-system-panel .cs-context-body{display:grid;gap:8px;animation:celda-context-reveal .18s ease-out;}
#celda-system-panel .cs-context-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-subtle);font-size:12.5px;}
#celda-system-panel .cs-context-line>span{color:var(--ink-soft);font-weight:700;}
#celda-system-panel .cs-context-line>b{color:var(--ink);text-align:right;font-size:12.5px;}
#celda-system-panel .cs-context-hint,#celda-system-panel .cs-context-loading{padding:0 3px;color:var(--ink-soft);font-size:11.5px;line-height:1.45;}
#celda-system-panel .cs-context-hint.warn{color:#9a6510;}
#celda-system-panel .cs-environment-pill,#celda-system-panel .cs-backup-state{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;font:800 10.5px var(--font-body);letter-spacing:.03em;}
#celda-system-panel .cs-environment-pill.dev{background:#e9efff;color:#415bb5;}
#celda-system-panel .cs-environment-pill.test{background:#fff2d7;color:#91600d;}
#celda-system-panel .cs-environment-pill.prod,#celda-system-panel .cs-backup-state.good{background:#e4f5ed;color:#197052;}
#celda-system-panel .cs-backup-state.warn{background:#fff2d7;color:#91600d;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-context-line{background:#10191e;border-color:#344751;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-context-hint.warn{color:#efc87d;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-environment-pill.dev{background:#1c2948;color:#a8baff;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-environment-pill.test,html[data-celda-theme-effective="dark"] #celda-system-panel .cs-backup-state.warn{background:#3a301c;color:#efc87d;}
html[data-celda-theme-effective="dark"] #celda-system-panel .cs-environment-pill.prod,html[data-celda-theme-effective="dark"] #celda-system-panel .cs-backup-state.good{background:#12372c;color:#75d7b0;}
@keyframes celda-context-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* ---------- v1.2.0 J2: Seguimiento Comercial ---------- */
.celda-commercial-kpis,.celda-commercial-columns{min-width:0;}
.celda-commercial-columns>div{min-width:0;}
@media(max-width:1100px){
  .celda-commercial-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .celda-commercial-columns{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .celda-commercial-kpis{grid-template-columns:1fr;}
}


/* v1.2.0 J4 — Cargos y Organigrama */
.celda-position-tree,.celda-position-archived{display:grid;gap:7px;margin-top:12px}
.celda-position-node{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px calc(12px + (var(--position-depth,0) * 20px));border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.celda-position-node-main{display:flex;align-items:center;gap:10px;min-width:0}
.celda-position-node-main strong{display:block;overflow-wrap:anywhere}
.celda-position-node-main small{display:block;margin-top:2px;color:var(--ink-soft);font-size:11px}
.celda-position-branch{flex:0 0 18px;text-align:center;color:var(--copper);font-family:var(--mono,monospace)}
.celda-position-orphan{border-style:dashed}
.celda-readonly-card p{margin:5px 0 0;color:var(--ink-soft);font-size:12px}
@media (max-width:760px){.celda-position-node{align-items:flex-start;flex-direction:column;padding-left:12px}.celda-position-node>.celda-inline-actions{width:100%;justify-content:flex-end}.celda-position-kpis{grid-template-columns:1fr}}
