/* v106 Datasheet Access Gate — SPM isolated component */
.ce-ds-gate-lock{overflow:hidden!important;}
.ce-ds-gate-backdrop{
  position:fixed; inset:0; z-index:9800; display:none; align-items:center; justify-content:center;
  padding:24px; background:rgba(7,17,31,.58); backdrop-filter:blur(6px);
}
.ce-ds-gate-backdrop.is-open{display:flex;}
.ce-ds-gate-modal{
  width:min(560px,100%); border-radius:24px; overflow:hidden; background:#fff; color:#0f172a;
  box-shadow:0 34px 100px rgba(2,8,23,.35); border:1px solid rgba(255,255,255,.28);
}
.ce-ds-gate-head{padding:28px 30px 22px; background:linear-gradient(135deg,#081827 0%,#12334d 100%); color:#fff; position:relative;}
.ce-ds-gate-kicker{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#9fd3ff; font-weight:800; margin:0 0 10px;}
.ce-ds-gate-head h3{font-size:27px; line-height:1.08; margin:0 42px 10px 0; letter-spacing:-.04em; color:#fff;}
.ce-ds-gate-head p{font-size:14px; line-height:1.55; margin:0; color:rgba(255,255,255,.78); max-width:440px;}
.ce-ds-gate-close{position:absolute; top:18px; right:18px; width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; cursor:pointer; font-size:22px; line-height:1;}
.ce-ds-gate-form{padding:24px 30px 28px;}
.ce-ds-gate-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.ce-ds-gate-field{display:flex; flex-direction:column; gap:7px;}
.ce-ds-gate-field.ce-full{grid-column:1/-1;}
.ce-ds-gate-field label{font-size:12px; font-weight:800; color:#334155; letter-spacing:.01em;}
.ce-ds-gate-field input,.ce-ds-gate-field select{
  width:100%; min-height:46px; border-radius:12px; border:1px solid #d8e0ea; background:#f8fafc;
  padding:0 13px; color:#0f172a; font-size:14px; outline:none; transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.ce-ds-gate-field input:focus,.ce-ds-gate-field select:focus{border-color:#1877b9; background:#fff; box-shadow:0 0 0 4px rgba(24,119,185,.12);}
.ce-ds-gate-note{margin:16px 0 0; font-size:11.5px; line-height:1.5; color:#64748b;}
.ce-ds-gate-actions{display:flex; gap:12px; align-items:center; margin-top:20px;}
.ce-ds-gate-submit{border:0; border-radius:999px; background:#0b3958; color:#fff; padding:13px 20px; font-weight:900; cursor:pointer; box-shadow:0 12px 26px rgba(11,57,88,.18);}
.ce-ds-gate-submit:hover{background:#082f49;}
.ce-ds-gate-secondary{border:1px solid #d8e0ea; border-radius:999px; background:#fff; color:#334155; padding:12px 16px; font-weight:800; cursor:pointer;}
.ce-ds-gate-status{font-size:12px; color:#64748b; margin-top:12px; min-height:18px;}
.ce-ds-gate-file{font-size:12px; color:#c8e9ff; margin-top:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:460px;}
@media(max-width:640px){
  .ce-ds-gate-backdrop{padding:14px; align-items:flex-end;}
  .ce-ds-gate-modal{border-radius:22px 22px 0 0; max-height:92vh; overflow:auto;}
  .ce-ds-gate-head{padding:24px 22px 18px;}
  .ce-ds-gate-head h3{font-size:23px;}
  .ce-ds-gate-form{padding:20px 22px 24px;}
  .ce-ds-gate-grid{grid-template-columns:1fr; gap:12px;}
  .ce-ds-gate-actions{flex-direction:column; align-items:stretch;}
  .ce-ds-gate-submit,.ce-ds-gate-secondary{width:100%;}
}
