:root {
  --ione-blue: #0b4d86;
  --ione-blue-dark: #07375f;
  --ione-blue-light: #eaf4fd;
  --ione-ink: #162432;
  --ione-muted: #607081;
  --ione-line: #d8e2ec;
  --ione-green: #147a53;
  --ione-red: #a52b2b;
  --ione-amber: #9a6500;
  --ione-bg: #f4f8fc;
  --ione-card: #fff;
}
.ione-uat-app { max-width: 1180px; margin: 24px auto; color: var(--ione-ink); font-family: Arial, Helvetica, sans-serif; }
.ione-uat-shell { background: var(--ione-bg); border: 1px solid var(--ione-line); border-radius: 16px; overflow: hidden; box-shadow: 0 10px 35px rgba(15, 54, 87, .10); }
.ione-uat-head { background: linear-gradient(110deg, var(--ione-blue-dark), var(--ione-blue)); color:#fff; padding: 18px 20px; display:flex; gap:14px; align-items:center; justify-content:space-between; }
.ione-uat-brand { display:flex; gap:14px; align-items:center; min-width:0; }
.ione-uat-brand img { background:#fff; border-radius:6px; object-fit:contain; }
.ione-uat-brand .deped { width:72px; height:50px; padding:3px; }
.ione-uat-brand .ione { width:83px; height:50px; padding:3px; }
.ione-uat-brand h1 { margin:0; font-size:20px; line-height:1.15; color:#fff; }
.ione-uat-brand p { margin:4px 0 0; font-size:12px; opacity:.85; }
.ione-uat-connection { text-align:right; font-size:12px; min-width:130px; }
.ione-uat-connection strong { display:block; font-size:13px; }
.ione-uat-connection .online { color:#d1ffe9; }
.ione-uat-connection .offline { color:#ffe7a8; }
.ione-uat-body { padding:20px; }
.ione-uat-nav { display:flex; gap:8px; overflow:auto; padding:0 0 16px; border-bottom:1px solid var(--ione-line); margin-bottom:18px; }
.ione-uat-nav button { border:1px solid var(--ione-line); background:#fff; color:var(--ione-blue-dark); border-radius:22px; padding:9px 13px; font-weight:700; white-space:nowrap; cursor:pointer; }
.ione-uat-nav button.active { background:var(--ione-blue); color:#fff; border-color:var(--ione-blue); }
.ione-uat-card { background:var(--ione-card); border:1px solid var(--ione-line); border-radius:12px; padding:18px; margin:0 0 16px; }
.ione-uat-card h2, .ione-uat-card h3 { margin:0 0 10px; color:var(--ione-blue-dark); }
.ione-uat-card h2 { font-size:20px; }
.ione-uat-card h3 { font-size:16px; }
.ione-uat-card p { line-height:1.45; }
.ione-uat-muted { color:var(--ione-muted); }
.ione-uat-grid { display:grid; gap:14px; grid-template-columns:repeat(12, 1fr); }
.ione-uat-grid > .span-12 { grid-column:span 12; }
.ione-uat-grid > .span-6 { grid-column:span 6; }
.ione-uat-grid > .span-4 { grid-column:span 4; }
.ione-uat-grid > .span-3 { grid-column:span 3; }
.ione-uat-field label { display:block; font-size:12px; font-weight:700; margin:0 0 5px; color:#31465a; }
.ione-uat-field input, .ione-uat-field select, .ione-uat-field textarea { width:100%; box-sizing:border-box; border:1px solid #bfcddb; border-radius:8px; padding:10px; font:inherit; background:#fff; }
.ione-uat-field textarea { min-height:78px; resize:vertical; }
.ione-uat-field input:focus, .ione-uat-field select:focus, .ione-uat-field textarea:focus { outline:3px solid rgba(11,77,134,.16); border-color:var(--ione-blue); }
.ione-uat-help { font-size:12px; color:var(--ione-muted); margin:4px 0 0; }
.ione-uat-btn { appearance:none; border:0; border-radius:8px; background:var(--ione-blue); color:#fff; padding:10px 14px; font:inherit; font-weight:700; cursor:pointer; }
.ione-uat-btn:hover { background:var(--ione-blue-dark); }
.ione-uat-btn.secondary { background:#e8eff5; color:var(--ione-blue-dark); }
.ione-uat-btn.warning { background:#996100; }
.ione-uat-btn.danger { background:var(--ione-red); }
.ione-uat-btn:disabled { opacity:.55; cursor:not-allowed; }
.ione-uat-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ione-uat-notice { border-radius:8px; padding:11px 13px; margin:0 0 14px; border:1px solid var(--ione-line); background:#eef5fc; color:#143b5d; }
.ione-uat-notice.is-error { border-color:#efc0c0; background:#fff1f1; color:#8b1e1e; }
.ione-uat-notice.is-success { border-color:#b9ddc9; background:#effaf4; color:#0b623f; }
.ione-uat-notice.is-warning { border-color:#f0d79c; background:#fff8e6; color:#7d5200; }
.ione-uat-progress { display:flex; align-items:center; gap:8px; color:var(--ione-muted); font-size:13px; }
.ione-uat-progress-bar { height:8px; background:#dce7f0; border-radius:999px; overflow:hidden; flex:1; min-width:100px; }
.ione-uat-progress-bar > span { display:block; height:100%; background:var(--ione-green); }
.ione-uat-evidence-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
.ione-uat-task { background:#fff; border:1px solid var(--ione-line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.ione-uat-task.is-complete { border-color:#a9d8be; }
.ione-uat-task.is-missing { border-left:4px solid #c08a19; }
.ione-uat-task-head { padding:13px 13px 9px; display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.ione-uat-task h3 { font-size:15px; margin:0; }
.ione-uat-task .task-code { background:#e8f2fc; color:#0b4d86; font-size:11px; font-weight:700; padding:4px 6px; border-radius:5px; white-space:nowrap; }
.ione-uat-task .task-body { padding:0 13px 13px; font-size:13px; flex:1; }
.ione-uat-task .task-body p { margin:0 0 8px; color:#31465a; }
.ione-uat-task ul { margin:8px 0; padding-left:18px; color:#4e6378; font-size:12px; line-height:1.4; }
.ione-uat-task-foot { padding:10px 13px; border-top:1px solid #edf2f6; display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ione-uat-status { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; }
.ione-uat-status.ok { color:var(--ione-green); }
.ione-uat-status.missing { color:var(--ione-amber); }
.ione-uat-thumb { width:100%; height:160px; object-fit:cover; display:block; background:#e8eef3; border-bottom:1px solid var(--ione-line); }
.ione-uat-check { display:flex; gap:8px; align-items:flex-start; font-size:12px; line-height:1.35; margin-top:9px; }
.ione-uat-check input { margin-top:2px; }
.ione-uat-table-wrap { overflow:auto; border:1px solid var(--ione-line); border-radius:10px; }
.ione-uat-table { width:100%; border-collapse:collapse; background:#fff; min-width:720px; }
.ione-uat-table th, .ione-uat-table td { padding:9px; border-bottom:1px solid #e2eaf0; text-align:left; vertical-align:middle; font-size:13px; }
.ione-uat-table th { background:#edf5fb; color:#1d4e76; font-size:12px; }
.ione-uat-table td input { width:92px; border:1px solid #c4d3df; border-radius:6px; padding:7px; }
.ione-uat-table .pass { color:var(--ione-green); font-weight:700; }
.ione-uat-table .fail { color:var(--ione-red); font-weight:700; }
.ione-uat-summary { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:12px; }
.ione-uat-summary .summary-box { border:1px solid var(--ione-line); background:#fff; border-radius:10px; padding:12px; }
.ione-uat-summary .summary-box strong { display:block; color:var(--ione-blue-dark); font-size:14px; }
.ione-uat-summary .summary-box span { font-size:12px; color:var(--ione-muted); }
.ione-uat-dialog { border:0; padding:0; border-radius:14px; max-width:min(920px, 96vw); width:920px; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.ione-uat-dialog::backdrop { background:rgba(8,25,42,.68); }
.ione-uat-modal-head { padding:15px 18px; background:var(--ione-blue); color:#fff; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.ione-uat-modal-head h3 { color:#fff; margin:0; font-size:17px; }
.ione-uat-modal-body { padding:16px; background:#f7fbff; }
.ione-uat-camera { width:100%; max-height:60vh; object-fit:contain; background:#111; border-radius:8px; }
.ione-uat-preview { width:100%; max-height:60vh; object-fit:contain; background:#111; border-radius:8px; display:none; }
.ione-uat-modal-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:12px; }
.ione-uat-close { background:transparent; color:#fff; border:0; font-size:28px; line-height:1; cursor:pointer; }
.ione-uat-inline-status { font-size:12px; color:var(--ione-muted); }
.ione-uat-small { font-size:12px; }
.ione-uat-divider { border:0; border-top:1px solid var(--ione-line); margin:18px 0; }
.ione-uat-file-row { border:1px dashed #afc2d2; padding:12px; border-radius:8px; background:#fbfdff; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.ione-uat-empty { text-align:center; padding:35px 18px; color:var(--ione-muted); }
.ione-uat-signatures { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:14px; }
.ione-uat-sign-card { border:1px solid var(--ione-line); border-radius:10px; padding:12px; background:#fff; }
.ione-uat-sign-card canvas { width:100%; height:170px; border:1px dashed #9eb4c5; border-radius:8px; display:block; touch-action:none; background:#fff; }
.ione-uat-footer { padding:14px 20px; color:var(--ione-muted); font-size:12px; border-top:1px solid var(--ione-line); background:#fff; display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; }
@media (max-width: 760px) {
  .ione-uat-app { margin:0; }
  .ione-uat-shell { border-radius:0; border-left:0; border-right:0; }
  .ione-uat-head { align-items:flex-start; }
  .ione-uat-brand img.ione { display:none; }
  .ione-uat-brand h1 { font-size:17px; }
  .ione-uat-connection { font-size:11px; min-width:95px; }
  .ione-uat-body { padding:14px; }
  .ione-uat-grid > .span-6, .ione-uat-grid > .span-4, .ione-uat-grid > .span-3 { grid-column:span 12; }
  .ione-uat-task-foot { align-items:flex-start; flex-direction:column; }
}
/* Version 1.1: non-photo supporting documents such as legacy authorization PDFs */
.ione-uat-file-preview { min-height:112px; padding:18px; display:flex; flex-direction:column; justify-content:center; gap:5px; background:#f3f8fc; border-bottom:1px solid var(--ione-line); color:var(--ione-blue-dark); }
.ione-uat-file-preview b { font-size:15px; }
.ione-uat-file-preview span { font-size:12px; color:var(--ione-muted); overflow-wrap:anywhere; }

/* Version 1.3: offline school-directory lookup feedback */
.ione-uat-directory-status { display:flex; flex-direction:column; gap:4px; border:1px solid var(--ione-line); border-radius:9px; padding:11px 13px; margin:0 0 14px; background:#f5f9fd; color:#264a69; font-size:13px; line-height:1.4; }
.ione-uat-directory-status b { color:var(--ione-blue-dark); }
.ione-uat-directory-status span { color:var(--ione-muted); font-size:12px; }
.ione-uat-directory-status.is-match { background:#effaf4; border-color:#b9ddc9; }
.ione-uat-directory-status.is-match b { color:var(--ione-green); }
.ione-uat-directory-status.is-missing { background:#fff8e6; border-color:#f0d79c; }
.ione-uat-directory-status.is-missing b { color:#7d5200; }


/* Version 1.3.2: dedicated, full-screen installer application surface.
   The WordPress theme is bypassed on /ione-uat-capture/; these rules keep
   the plugin itself spacious and usable on desktop, tablet, and mobile. */
html.ione-uat-standalone-html,
body.ione-uat-standalone {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: var(--ione-bg);
}
body.ione-uat-standalone {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
body.ione-uat-standalone #ione-uat-standalone-page {
  min-height: 100dvh;
}
body.ione-uat-standalone .ione-uat-app {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  margin: 0;
}
body.ione-uat-standalone .ione-uat-shell {
  min-height: 100dvh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}
body.ione-uat-standalone .ione-uat-head {
  position: sticky;
  top: 0;
  z-index: 20;
  padding: calc(14px + env(safe-area-inset-top)) clamp(18px, 3vw, 56px) 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 2px 14px rgba(7, 55, 95, .17);
}
body.ione-uat-standalone .ione-uat-body {
  flex: 1 0 auto;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  padding: clamp(18px, 2.6vw, 40px) clamp(16px, 3.1vw, 58px) clamp(26px, 3.4vw, 58px);
}
body.ione-uat-standalone .ione-uat-nav {
  margin-bottom: 22px;
  padding-bottom: 18px;
}
body.ione-uat-standalone .ione-uat-card {
  box-shadow: 0 1px 2px rgba(17, 49, 77, .03);
}
body.ione-uat-standalone .ione-uat-evidence-grid {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
body.ione-uat-standalone .ione-uat-thumb {
  height: 190px;
}
body.ione-uat-standalone .ione-uat-footer {
  padding: 16px clamp(16px, 3.1vw, 58px) calc(16px + env(safe-area-inset-bottom));
}
body.ione-uat-standalone .ione-uat-access {
  min-height: 100dvh;
  box-sizing: border-box;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0;
  padding: 28px 20px;
  text-align: center;
  color: var(--ione-ink);
  font-family: Arial, Helvetica, sans-serif;
  background: linear-gradient(135deg, #e9f2fb, #f7fbff 46%, #edf7f2);
}
body.ione-uat-standalone .ione-uat-access h2,
body.ione-uat-standalone .ione-uat-access p {
  width: min(460px, 100%);
  box-sizing: border-box;
  margin: 0;
}
body.ione-uat-standalone .ione-uat-access h2 {
  padding: 26px 28px 8px;
  color: var(--ione-blue-dark);
  background: #fff;
  border: 1px solid var(--ione-line);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
}
body.ione-uat-standalone .ione-uat-access p {
  padding: 0 28px 18px;
  color: var(--ione-muted);
  background: #fff;
  border-left: 1px solid var(--ione-line);
  border-right: 1px solid var(--ione-line);
}
body.ione-uat-standalone .ione-uat-access p:last-child {
  padding: 0 28px 28px;
  border-bottom: 1px solid var(--ione-line);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 16px 38px rgba(15, 54, 87, .13);
}
body.ione-uat-standalone .ione-uat-access .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 8px;
  background: var(--ione-blue);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.ione-uat-standalone-skip {
  position: fixed;
  top: -64px;
  left: 18px;
  z-index: 100;
  padding: 10px 14px;
  border-radius: 0 0 8px 8px;
  background: #fff;
  color: var(--ione-blue-dark);
  font: 700 14px/1 Arial, Helvetica, sans-serif;
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
}
.ione-uat-standalone-skip:focus {
  top: 0;
}
@media (min-width: 1180px) {
  body.ione-uat-standalone .ione-uat-body {
    padding-left: clamp(36px, 4vw, 88px);
    padding-right: clamp(36px, 4vw, 88px);
  }
  body.ione-uat-standalone .ione-uat-evidence-grid {
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 18px;
  }
  body.ione-uat-standalone .ione-uat-card {
    padding: 22px;
    margin-bottom: 18px;
  }
}
@media (max-width: 760px) {
  body.ione-uat-standalone .ione-uat-head {
    position: static;
    padding: calc(14px + env(safe-area-inset-top)) 14px 14px;
  }
  body.ione-uat-standalone .ione-uat-body {
    padding: 14px 14px 28px;
  }
  body.ione-uat-standalone .ione-uat-evidence-grid {
    grid-template-columns: 1fr;
  }
  body.ione-uat-standalone .ione-uat-thumb {
    height: 180px;
  }
}

.ione-uat-progress-note { margin:5px 0 0; color:var(--ione-muted); }


/* Version 1.3.9: installer-visible offline fieldwork readiness controls. */
.ione-uat-offline-card { border-left:4px solid #0b4d86; }
.ione-uat-offline-state { font-weight:700; font-size:13px; }
.ione-uat-offline-state.ready { color:var(--ione-green); }
.ione-uat-offline-state.not-ready { color:var(--ione-amber); }
.ione-uat-btn.success { background:var(--ione-green); }
.ione-uat-btn.success:hover { background:#08734a; }


/* Version 1.4.4: server-to-device recovery and durable device-storage notice. */
.ione-uat-recovery-card { border-left: 4px solid #0b4d86; }
.ione-uat-recovery-card h3 { margin-bottom: 8px; }
.ione-uat-recovery-card b { color: var(--ione-blue-dark); }


/* Version 1.4.5: Speed-test worksheet matching the official paper UAT layout. */
.ione-uat-speed-sheet h3 { margin-bottom: 12px; color: var(--ione-blue-dark); }
.ione-uat-form-table { min-width: 940px; }
.ione-uat-form-table thead th { text-align: center; border-right: 1px solid #d6e2eb; }
.ione-uat-form-table thead tr:first-child th { background: #cfe5f8; color: #173f61; }
.ione-uat-form-table tbody th { min-width: 112px; background: #f5f9fc; color: #203e57; }
.ione-uat-form-table td { text-align: center; min-width: 108px; }
.ione-uat-form-table td.ione-uat-computed { background: #f1f7fc; color: #153d5d; font-weight: 700; white-space: nowrap; }
.ione-uat-form-table td.ione-uat-uat-pass { font-weight: 800; white-space: nowrap; }
.ione-uat-speed-input { display: grid; gap: 6px; min-width: 95px; }
.ione-uat-speed-input input { width: 100% !important; min-width: 88px; box-sizing: border-box; text-align: center; }
@media (max-width: 760px) {
  .ione-uat-form-table { min-width: 870px; }
  .ione-uat-speed-input input { min-width: 82px; }
}


/* Version 1.5.7: resilient Android GPS acquisition and controlled fallback. */
.ione-uat-gps-fallback { margin:0 0 10px; padding:10px 12px; border:1px solid #f0d79c; border-radius:8px; background:#fff8e6; color:#624700; font-size:12px; line-height:1.35; }
.ione-uat-gps-fallback p { margin:0 0 8px; }
.ione-uat-gps-actions { display:flex; flex-wrap:wrap; gap:7px; }
.ione-uat-gps-actions .ione-uat-btn { min-height:32px; }
.ione-uat-manual-gps { margin-top:10px; padding-top:10px; border-top:1px solid rgba(125,82,0,.22); }
.ione-uat-gps-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ione-uat-gps-inputs label { display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; }
.ione-uat-gps-inputs input { min-width:0; box-sizing:border-box; border:1px solid #c8b273; border-radius:6px; padding:7px; background:#fff; color:#17222c; font:inherit; }
.ione-uat-manual-gps .ione-uat-check { margin:9px 0; }
@media (max-width: 420px) { .ione-uat-gps-inputs { grid-template-columns:1fr; } }

/* Version 1.4.9: compact landscape camera workspace.
   On a phone held horizontally, the capture dialog uses the actual viewport
   height. The live camera area flexes to the remaining space and the camera
   controls stay visible at the bottom without page scrolling. */
@media (orientation: landscape) and (max-height: 620px) and (max-width: 980px) {
  .ione-uat-dialog {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
  }
  .ione-uat-modal-head {
    min-height: 44px;
    box-sizing: border-box;
    padding: calc(7px + env(safe-area-inset-top)) 14px 7px;
  }
  .ione-uat-modal-head h3 {
    max-width: calc(100vw - 70px);
    overflow: hidden;
    font-size: 14px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ione-uat-close {
    min-width: 34px;
    min-height: 34px;
    font-size: 26px;
  }
  .ione-uat-modal-body {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
    gap: 6px;
    height: calc(100vh - 44px);
    height: calc(100dvh - 44px);
    box-sizing: border-box;
    overflow: hidden;
    padding: 7px 12px calc(7px + env(safe-area-inset-bottom));
  }
  #ione-uat-camera-instruction {
    grid-row: 1;
    display: -webkit-box;
    overflow: hidden;
    max-height: 2.45em;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
  }
  #ione-uat-camera-gps {
    grid-row: 2;
    overflow: hidden;
    max-height: 2.45em;
    margin: 0;
    padding: 6px 9px;
    font-size: 11px;
    line-height: 1.2;
  }
  #ione-uat-gps-fallback {
    grid-row: 3;
    max-height: 92px;
    overflow:auto;
    margin:0;
    padding:6px 8px;
    font-size:10px;
  }
  #ione-uat-gps-fallback p { margin-bottom:5px; }
  #ione-uat-gps-fallback .ione-uat-btn { min-height:27px; padding:4px 7px; font-size:10px; }
  #ione-uat-gps-fallback .ione-uat-manual-gps { margin-top:6px; padding-top:6px; }
  #ione-uat-gps-fallback .ione-uat-gps-inputs { gap:5px; }
  #ione-uat-gps-fallback .ione-uat-gps-inputs input { padding:4px; }
  #ione-uat-camera-video,
  #ione-uat-camera-preview {
    grid-row: 4;
    width: 100%;
    min-height: 0;
    height: 100%;
    max-height: none;
    object-fit: contain;
    border-radius: 7px;
  }
  #ione-uat-preview-confirm-row {
    grid-row: 5;
    max-height: 34px;
    margin: 0;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.18;
  }
  .ione-uat-modal-actions {
    grid-row: 6;
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 42px;
    margin: 0;
    padding-top: 2px;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    background: #f7fbff;
  }
  .ione-uat-modal-actions .ione-uat-btn {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 13px;
    white-space: nowrap;
  }
}

@media (orientation: landscape) and (max-height: 420px) and (max-width: 980px) {
  .ione-uat-modal-head {
    min-height: 38px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .ione-uat-modal-body {
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    height: calc(100vh - 38px);
    height: calc(100dvh - 38px);
    gap: 4px;
    padding-top: 5px;
    padding-bottom: calc(5px + env(safe-area-inset-bottom));
  }
  #ione-uat-camera-instruction {
    display: none;
  }
  #ione-uat-camera-gps {
    grid-row: 1;
    max-height: 2.2em;
    padding: 4px 8px;
    font-size: 10px;
  }
  #ione-uat-gps-fallback {
    grid-row: 2;
    max-height:74px;
    overflow:auto;
    margin:0;
    padding:4px 7px;
    font-size:9px;
  }
  #ione-uat-gps-fallback .ione-uat-btn { min-height:24px; padding:3px 6px; font-size:9px; }
  #ione-uat-camera-video,
  #ione-uat-camera-preview {
    grid-row: 3;
  }
  #ione-uat-preview-confirm-row {
    grid-row: 4;
    max-height: 28px;
    font-size: 10px;
  }
  .ione-uat-modal-actions {
    grid-row: 5;
    min-height: 36px;
  }
  .ione-uat-modal-actions .ione-uat-btn {
    min-height: 34px;
    padding: 7px 12px;
    font-size: 12px;
  }
}

/* Version 1.5.3: Dedicated Project Manager front-end portal. */
body.ione-uat-manager-standalone { background:#f2f6fa; color:#162432; }
body.ione-uat-manager-standalone #ione-uat-standalone-page { min-height:100dvh; }
.ione-manager { min-height:100dvh; font-family:Arial, Helvetica, sans-serif; color:#162432; background:#f2f6fa; }
.ione-manager-head { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:calc(16px + env(safe-area-inset-top)) clamp(18px,3.2vw,60px) 16px; color:#fff; background:linear-gradient(115deg,#07375f,#0b4d86); box-shadow:0 2px 18px rgba(7,55,95,.22); }
.ione-manager-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.ione-manager-brand img { background:#fff; border-radius:8px; object-fit:contain; padding:3px; flex:0 0 auto; }
.ione-manager-brand .deped { width:64px; height:46px; }
.ione-manager-brand .ione { width:76px; height:46px; }
.ione-manager-brand h1 { color:#fff; font-size:21px; line-height:1.16; margin:0; overflow-wrap:anywhere; }
.ione-manager-brand span { display:block; margin-top:4px; color:rgba(255,255,255,.86); font-size:12px; }
.ione-manager-eyebrow { margin:0 0 5px; color:#4d7faa; font-size:11px; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.ione-manager-head .ione-manager-eyebrow { color:#b9d9f2; }
.ione-manager-account { display:flex; flex-direction:column; align-items:flex-end; gap:3px; text-align:right; font-size:12px; white-space:nowrap; }
.ione-manager-account strong { font-size:13px; }
.ione-manager-account span { color:#d4e8f7; }
.ione-manager-account a, .ione-manager-head-link { color:#fff; text-decoration:underline; font-size:12px; }
.ione-manager-head-link.buttonlike { appearance:none; border:0; padding:0; background:transparent; cursor:pointer; font:inherit; }
.ione-manager-body { width:100%; max-width:1560px; box-sizing:border-box; margin:0 auto; padding:clamp(20px,3vw,48px) clamp(16px,3.2vw,60px) 44px; }
.ione-manager-overview { display:flex; justify-content:space-between; align-items:end; gap:28px; padding:2px 0 24px; }
.ione-manager-overview h2 { margin:0 0 8px; color:#07375f; font-size:clamp(23px,3.2vw,34px); line-height:1.14; }
.ione-manager-overview p { max-width:760px; margin:0; color:#52687c; line-height:1.55; }
.ione-manager-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ione-manager-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; box-sizing:border-box; border:1px solid #0b4d86; border-radius:8px; padding:9px 14px; color:#fff; background:#0b4d86; font:700 13px/1.2 Arial, Helvetica, sans-serif; text-decoration:none; cursor:pointer; }
.ione-manager-button:hover { background:#07375f; border-color:#07375f; color:#fff; }
.ione-manager-button.secondary { color:#07375f; background:#fff; border-color:#b9cbd9; }
.ione-manager-button.secondary:hover { color:#07375f; background:#eaf4fd; border-color:#7aa6c8; }
.ione-manager-button.small { min-height:34px; padding:8px 10px; font-size:12px; white-space:nowrap; }
.ione-manager-clear { color:#0b4d86; font-size:13px; font-weight:700; text-decoration:none; }
.ione-manager-clear:hover { text-decoration:underline; }
.ione-manager-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:13px; margin:0 0 20px; }
.ione-manager-metrics article { min-height:100px; box-sizing:border-box; padding:17px; border:1px solid #d9e5ee; border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(17,49,77,.04); }
.ione-manager-metrics article.attention { border-color:#f0d79c; background:#fffaf0; }
.ione-manager-metrics article.speed-failed { border-color:#efc2c2; background:#fff2f2; }
.ione-manager-metrics b { display:block; color:#07375f; font-size:30px; line-height:1; }
.ione-manager-metrics .attention b { color:#9a6500; }
.ione-manager-metrics .speed-failed b { color:#8c1e1e; }
.ione-manager-metrics span { display:block; margin-top:8px; color:#627487; font-size:12px; font-weight:700; line-height:1.35; }
.ione-manager-panel, .ione-manager-output-panel, .ione-manager-review-panel, .ione-manager-evidence-section { margin:0 0 20px; border:1px solid #d9e5ee; border-radius:14px; background:#fff; box-shadow:0 2px 9px rgba(17,49,77,.04); }
.ione-manager-panel-head { display:flex; justify-content:space-between; gap:15px; padding:20px 20px 14px; }
.ione-manager-panel-head h2, .ione-manager-output-panel h2, .ione-manager-review-panel h2, .ione-manager-evidence-section h2 { margin:0 0 6px; color:#07375f; font-size:19px; }
.ione-manager-panel-head p, .ione-manager-output-panel p, .ione-manager-review-panel p, .ione-manager-evidence-section p { margin:0; color:#607081; font-size:13px; line-height:1.45; }
.ione-manager-filters { display:grid; grid-template-columns:minmax(260px,1fr) minmax(190px,260px) auto auto; align-items:end; gap:11px; padding:14px 20px 18px; border-top:1px solid #e5edf3; background:#f8fbfd; }
.ione-manager-filters label, .ione-manager-review-panel label { display:block; min-width:0; }
.ione-manager-filters label span, .ione-manager-review-panel label span { display:block; margin:0 0 6px; color:#38536c; font-size:11px; font-weight:800; }
.ione-manager-filters input, .ione-manager-filters select, .ione-manager-review-panel select, .ione-manager-review-panel textarea { width:100%; box-sizing:border-box; border:1px solid #bccddd; border-radius:8px; padding:10px 11px; color:#162432; background:#fff; font:14px Arial, Helvetica, sans-serif; }
.ione-manager-filters input:focus, .ione-manager-filters select:focus, .ione-manager-review-panel select:focus, .ione-manager-review-panel textarea:focus { outline:3px solid rgba(11,77,134,.15); border-color:#0b4d86; }
.ione-manager-table-wrap { overflow:auto; border-top:1px solid #e5edf3; }
.ione-manager-table { width:100%; min-width:1160px; border-collapse:collapse; }
.ione-manager-table th, .ione-manager-table td { padding:14px 14px; border-bottom:1px solid #e4edf4; text-align:left; vertical-align:top; font-size:13px; }
.ione-manager-table th { color:#355a7c; background:#edf5fb; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.ione-manager-table td strong { display:block; color:#173b5b; font-size:14px; line-height:1.35; }
.ione-manager-table td > span { display:block; margin:4px 0; color:#5a6f82; line-height:1.35; }
.ione-manager-table td small { display:block; color:#7b8c9c; line-height:1.4; }
.ione-manager-empty { padding:34px !important; color:#607081; text-align:center !important; }
.ione-manager-progress { display:flex; flex-direction:column; gap:7px; min-width:130px; }
.ione-manager-progress b { color:#07375f; font-size:14px; }
.ione-manager-progress > div { height:7px; overflow:hidden; border-radius:999px; background:#dce7f0; }
.ione-manager-progress > div > span { display:block; height:100%; margin:0; background:#147a53; }
.ione-manager-badge { display:inline-flex; align-items:center; min-height:25px; box-sizing:border-box; margin:3px 4px 3px 0; padding:4px 7px; border:1px solid #d5e1ea; border-radius:999px; color:#3f5d74; background:#f7fafc; font-size:10px; font-weight:800; line-height:1.2; }
.ione-manager-badge.good { border-color:#b6ddc7; color:#0c6a45; background:#effaf4; }
.ione-manager-badge.warning, .ione-manager-badge.pending { border-color:#f0d79c; color:#805400; background:#fff8e7; }
.ione-manager-badge.danger { border-color:#efc2c2; color:#8c1e1e; background:#fff2f2; }
.ione-manager-checks { min-width:160px; }
.ione-manager-output-links { display:flex; flex-direction:column; gap:7px; min-width:110px; }
.ione-manager-output-links a { color:#0b4d86; font-weight:800; text-decoration:none; }
.ione-manager-output-links a:hover { text-decoration:underline; }
.ione-manager-output-links span { color:#8a6b2c; font-size:12px; }
.ione-manager-time { min-width:112px; color:#566e82 !important; font-size:12px; line-height:1.35; }
.ione-manager-footer { display:flex; justify-content:space-between; gap:18px; padding:18px clamp(16px,3.2vw,60px) calc(18px + env(safe-area-inset-bottom)); border-top:1px solid #d9e5ee; color:#6d8192; background:#fff; font-size:12px; }
.ione-manager-footer a { color:#0b4d86; font-weight:700; text-decoration:none; }
.ione-manager-notice { margin:0 0 18px; padding:12px 14px; border:1px solid #b6ddc7; border-radius:10px; color:#0c6a45; background:#effaf4; font-size:13px; font-weight:700; }
.ione-manager-report { margin:0 0 20px; border:1px solid #d9e5ee; border-radius:14px; background:#fff; box-shadow:0 2px 9px rgba(17,49,77,.04); }
.ione-manager-report.daily { background:#fcfdfe; }
.ione-manager-report-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 20px 14px; border-bottom:1px solid #e5edf3; }
.ione-manager-report-head h2 { margin:0 0 6px; color:#07375f; font-size:20px; line-height:1.2; }
.ione-manager-report-head p { max-width:820px; margin:0; color:#607081; font-size:13px; line-height:1.45; }
.ione-manager-report-actions { display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-width:190px; color:#607081; font-size:12px; font-weight:700; text-align:right; }
.ione-manager-report-filter { display:flex; align-items:end; gap:10px; padding:14px 20px; border-bottom:1px solid #e5edf3; background:#f8fbfd; }
.ione-manager-report-filter label { display:block; min-width:260px; }
.ione-manager-report-filter label span { display:block; margin:0 0 6px; color:#38536c; font-size:11px; font-weight:800; }
.ione-manager-report-filter select { width:100%; box-sizing:border-box; border:1px solid #bccddd; border-radius:8px; padding:10px 11px; color:#162432; background:#fff; font:14px Arial, Helvetica, sans-serif; }
.ione-manager-report-filter select:focus { outline:3px solid rgba(11,77,134,.15); border-color:#0b4d86; }
.ione-manager-report-overall { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:14px; padding:13px 20px; border-bottom:1px solid #e5edf3; background:#f8fbfd; }
.ione-manager-report-overall strong { color:#173b5b; font-size:13px; text-transform:uppercase; }
.ione-manager-report-overall span { color:#07375f; font-size:22px; font-weight:800; }
.ione-manager-report-overall b { color:#147a53; font-size:20px; }
.ione-manager-daily-summary { max-width:760px; margin:18px 20px 20px; padding:16px 18px; border:1px solid #b7c7d4; border-radius:8px; background:#fff; }
.ione-manager-daily-summary-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; margin:0 0 9px; color:#162432; font-size:14px; }
.ione-manager-daily-summary-head strong { font-size:15px; }
.ione-manager-daily-summary-head span { font-weight:700; white-space:nowrap; }
.ione-manager-daily-summary-table { width:100%; margin:0 0 18px; border-collapse:collapse; table-layout:fixed; color:#162432; background:#fff; }
.ione-manager-daily-summary-table:last-child { margin-bottom:0; }
.ione-manager-daily-summary-table th, .ione-manager-daily-summary-table td { padding:3px 6px; border:0; font-size:13px; line-height:1.25; text-align:right; }
.ione-manager-daily-summary-table th:first-child { width:68%; text-align:left; font-weight:700; }
.ione-manager-daily-summary-table thead th { padding-bottom:7px; font-weight:800; }
.ione-manager-daily-summary-table tbody th { font-weight:400; }
.ione-manager-daily-summary-table td:nth-child(3) { width:18px; text-align:center; }
.ione-manager-daily-summary-table .total th, .ione-manager-daily-summary-table .total td { padding-top:8px; font-weight:800; }
.ione-manager-daily-summary-table .percent th, .ione-manager-daily-summary-table .percent td { padding-top:5px; font-weight:800; text-align:left; }
.ione-manager-report-region { padding:18px 20px 20px; border-bottom:1px solid #e5edf3; }
.ione-manager-report-region:last-child { border-bottom:0; }
.ione-manager-report-region-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 12px; }
.ione-manager-report-region-head h3 { margin:0; color:#07375f; font-size:18px; }
.ione-manager-report-region-head span { color:#607081; font-size:12px; font-weight:700; }
.ione-manager-installer-report { margin:0 0 18px; }
.ione-manager-installer-report:last-child { margin-bottom:0; }
.ione-manager-installer-report-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin:0 0 8px; }
.ione-manager-installer-report-head strong { color:#173b5b; font-size:15px; }
.ione-manager-installer-report-head span { color:#607081; font-size:12px; font-weight:800; }
.ione-manager-report-table-wrap { overflow:auto; }
.ione-manager-report-table { width:100%; border-collapse:collapse; background:#fff; }
.ione-manager-report-table th, .ione-manager-report-table td { padding:8px 10px; border-bottom:1px solid #e4edf4; color:#162432; font-size:13px; text-align:left; vertical-align:middle; }
.ione-manager-report-table th { width:70%; color:#173b5b; font-weight:700; }
.ione-manager-report-table td { width:1%; white-space:nowrap; text-align:right; }
.ione-manager-report-table tr.total th, .ione-manager-report-table tr.total td { color:#07375f; background:#edf5fb; font-weight:800; }
.ione-manager-report-table.daily { min-width:900px; }
.ione-manager-report-table.daily th { width:auto; color:#355a7c; background:#edf5fb; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.ione-manager-report-table.daily td { width:auto; text-align:left; }
.ione-manager-report-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; margin-top:12px; padding-top:10px; border-top:1px dashed #cbd9e5; }
.ione-manager-report-notes div { display:grid; grid-template-columns:minmax(180px,auto) 1fr; align-items:end; gap:8px; min-height:24px; color:#52687c; font-size:12px; }
.ione-manager-report-notes b { display:block; min-height:18px; border-bottom:1px solid #b9cbd9; }
.ione-manager-report-notes strong { color:#173b5b; font-weight:800; }
.ione-manager-record-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:24px; margin:0 0 20px; border:1px solid #d9e5ee; border-radius:14px; background:linear-gradient(135deg,#f4f9fd,#fff); }
.ione-manager-record-hero h2 { margin:0 0 8px; color:#07375f; font-size:25px; line-height:1.2; }
.ione-manager-record-hero p { margin:5px 0; color:#52687c; font-size:13px; line-height:1.45; }
.ione-manager-record-status { display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-width:220px; text-align:right; }
.ione-manager-record-status small { color:#667b8e; font-size:12px; }
.ione-manager-output-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; }
.ione-manager-output-panel > div:first-child { max-width:700px; }
.ione-manager-disabled { display:inline-flex; align-items:center; min-height:40px; padding:0 12px; border:1px solid #e0d6b8; border-radius:8px; color:#866426; background:#fffaf0; font-size:12px; font-weight:700; }
.ione-manager-review-panel { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr); gap:22px; padding:22px; }
.ione-manager-review-panel form { display:grid; gap:12px; }
.ione-manager-review-panel textarea { min-height:108px; resize:vertical; }
.ione-manager-review-panel form small { color:#708395; font-size:11px; }
.ione-manager-evidence-section { padding:20px; }
.ione-manager-evidence-section.optional { background:#fcfdfe; }
.ione-manager-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; padding:0 0 16px; }
.ione-manager-section-heading > span { padding:7px 10px; border-radius:999px; color:#0b4d86; background:#eaf4fd; font-size:12px; font-weight:800; white-space:nowrap; }
.ione-manager-evidence-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:13px; }
.ione-manager-evidence-card { overflow:hidden; border:1px solid #d9e5ee; border-radius:10px; background:#fff; }
.ione-manager-evidence-card.complete { border-color:#b8dccc; }
.ione-manager-evidence-card.missing { border-color:#ecd9ad; }
.ione-manager-evidence-media { height:164px; display:flex; align-items:center; justify-content:center; background:#edf3f7; }
.ione-manager-evidence-media a { display:block; width:100%; height:100%; }
.ione-manager-evidence-media img { width:100%; height:100%; object-fit:cover; display:block; }
.ione-manager-file-icon { display:flex; align-items:center; justify-content:center; width:76px; height:76px; border:1px solid #bfd0de; border-radius:50%; color:#58778d; background:#f8fbfd; font-size:11px; font-weight:800; letter-spacing:.08em; }
.ione-manager-evidence-card.missing .ione-manager-file-icon { border-color:#e5cb94; color:#996100; background:#fff8e7; }
.ione-manager-evidence-content { padding:12px; }
.ione-manager-evidence-content h3 { min-height:35px; margin:0 0 7px; color:#173b5b; font-size:13px; line-height:1.35; }
.ione-manager-evidence-content p { margin:0 0 5px; color:#65798b; font-size:11px; line-height:1.4; }
.ione-manager-evidence-content small { display:block; overflow-wrap:anywhere; color:#7b8d9d; font-size:10px; line-height:1.4; }
.ione-manager-evidence-content a { display:inline-block; margin-top:8px; color:#0b4d86; font-size:12px; font-weight:800; text-decoration:none; }
.ione-manager-evidence-content a:hover { text-decoration:underline; }
.ione-manager-evidence-content .missing-text { color:#966000; }
@media (max-width: 1050px) {
  .ione-manager-metrics { grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .ione-manager-filters { grid-template-columns:minmax(220px,1fr) minmax(180px,220px) auto; }
  .ione-manager-clear { grid-column:1 / -1; }
}
@media (max-width: 760px) {
  .ione-manager-head { align-items:flex-start; padding:calc(13px + env(safe-area-inset-top)) 15px 13px; }
  .ione-manager-brand { gap:8px; }
  .ione-manager-brand .deped { width:49px; height:40px; }
  .ione-manager-brand .ione { display:none; }
  .ione-manager-brand h1 { font-size:16px; }
  .ione-manager-brand span { font-size:10px; }
  .ione-manager-account { font-size:10px; }
  .ione-manager-account strong { display:none; }
  .ione-manager-body { padding:17px 13px 32px; }
  .ione-manager-overview, .ione-manager-record-hero, .ione-manager-output-panel { align-items:flex-start; flex-direction:column; }
  .ione-manager-overview h2 { font-size:24px; }
  .ione-manager-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .ione-manager-metrics article { min-height:86px; padding:13px; }
  .ione-manager-metrics article:last-child { grid-column:span 2; }
  .ione-manager-metrics b { font-size:25px; }
  .ione-manager-filters { grid-template-columns:1fr; padding:13px; }
  .ione-manager-filters .ione-manager-button { width:100%; }
  .ione-manager-record-hero { padding:18px; }
  .ione-manager-record-status { align-items:flex-start; min-width:0; text-align:left; }
  .ione-manager-output-panel { padding:18px; }
  .ione-manager-review-panel { grid-template-columns:1fr; padding:18px; }
  .ione-manager-report-head, .ione-manager-report-region-head, .ione-manager-installer-report-head { align-items:flex-start; flex-direction:column; }
  .ione-manager-report-actions { align-items:flex-start; min-width:0; text-align:left; }
  .ione-manager-report-filter { align-items:stretch; flex-direction:column; padding:13px; }
  .ione-manager-report-filter label { min-width:0; }
  .ione-manager-report-overall { grid-template-columns:1fr; align-items:start; }
  .ione-manager-daily-summary { margin:14px 13px 16px; padding:13px; }
  .ione-manager-daily-summary-head { grid-template-columns:1fr; gap:4px; }
  .ione-manager-daily-summary-table th:first-child { width:62%; }
  .ione-manager-report-region { padding:16px; }
  .ione-manager-report-notes { grid-template-columns:1fr; }
  .ione-manager-report-notes div { grid-template-columns:1fr; }
  .ione-manager-evidence-section { padding:16px; }
  .ione-manager-section-heading { align-items:flex-start; flex-direction:column; }
  .ione-manager-evidence-grid { grid-template-columns:1fr; }
  .ione-manager-footer { align-items:flex-start; flex-direction:column; padding:15px; }
}
@media print {
  .ione-manager-head, .ione-manager-footer, .ione-manager-review-panel, .ione-manager-actions, .ione-manager-record-status, .ione-uat-standalone-skip { display:none !important; }
  .ione-manager, .ione-manager-body { background:#fff !important; padding:0 !important; }
  .ione-manager-panel, .ione-manager-output-panel, .ione-manager-evidence-section, .ione-manager-record-hero, .ione-manager-report { box-shadow:none !important; break-inside:avoid; }
  .ione-manager-report-actions .ione-manager-button, .ione-manager-report-filter { display:none !important; }
  .ione-manager-report { border-color:#b7c7d4; }
  .ione-manager-daily-summary { max-width:7.2in; margin:12px 0; border-color:#909eaa; break-inside:avoid; }
  .ione-manager-evidence-grid { grid-template-columns:repeat(3,1fr); }
  .ione-manager-evidence-media { height:120px; }
}


/* Version 1.5.9 — Project Manager-controlled Speed Test criteria */
.ione-uat-speed-criteria-display { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 12px; }
.ione-uat-speed-criteria-display > div { padding:13px 14px; border:1px solid #b9d6e8; border-radius:10px; background:#eef7fd; }
.ione-uat-speed-criteria-display strong { display:block; color:#17496e; font-size:12px; letter-spacing:.02em; text-transform:uppercase; }
.ione-uat-speed-criteria-display span { display:block; margin-top:6px; color:#07375f; font-size:20px; font-weight:800; }
.ione-manager-speed-criteria { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(520px,1.15fr); gap:22px; margin:0 0 20px; padding:22px; border:1px solid #bcd6e6; border-radius:14px; background:linear-gradient(135deg,#eef7fd,#fff); box-shadow:0 2px 9px rgba(17,49,77,.04); }
.ione-manager-speed-criteria h2 { margin:0 0 7px; color:#07375f; font-size:20px; }
.ione-manager-speed-criteria p { margin:0; color:#607081; font-size:13px; line-height:1.5; }
.ione-manager-speed-criteria form { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:12px; align-items:end; }
.ione-manager-speed-criteria label { display:block; }
.ione-manager-speed-criteria label span { display:block; margin:0 0 6px; color:#38536c; font-size:11px; font-weight:800; }
.ione-manager-speed-criteria input { width:100%; box-sizing:border-box; border:1px solid #bccddd; border-radius:8px; padding:10px 11px; color:#162432; background:#fff; font:14px Arial, Helvetica, sans-serif; }
.ione-manager-speed-criteria input:focus { outline:3px solid rgba(11,77,134,.15); border-color:#0b4d86; }
.ione-manager-criteria-action { grid-column:1 / -1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ione-manager-criteria-action small { color:#607081; font-size:11px; line-height:1.4; }
.ione-manager-notice.error { border-color:#efc2c2; color:#8c1e1e; background:#fff2f2; }
@media (max-width: 760px) {
  .ione-uat-speed-criteria-display { grid-template-columns:1fr; }
  .ione-manager-speed-criteria { grid-template-columns:1fr; padding:18px; }
  .ione-manager-speed-criteria form { grid-template-columns:1fr; }
}
