.global-search {
  display: grid;
  grid-template-columns: minmax(180px, 340px) 58px;
  gap: 6px;
  width: min(40vw, 410px);
}
.global-search input {
  min-width: 0;
  height: 36px;
  padding: 0 11px;
  border: 1px solid #254457;
  border-radius: 7px;
  background: #102c3f;
  color: #fff;
}
.global-search input::placeholder { color: #91aab6; }
.global-search button {
  height: 36px;
  border: 0;
  border-radius: 7px;
  background: #16b8c4;
  color: #071b2c;
  font-weight: bold;
  cursor: pointer;
}
.reader-search {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 80px auto;
  gap: 9px;
  align-items: center;
  margin: 0 0 16px;
}
.ack-form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin: 0 0 16px;
  padding: 12px 15px;
  border: 1px solid #cfe5df;
  border-radius: 9px;
  background: #f0faf7;
  color: #315f57;
  font-size: 12px;
}
.ack-form button, .danger {
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  background: #187454;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}
.management-grid { max-width: 760px; margin-bottom: 22px; }
.manage-list h2 { margin-top: 0; }
.manage-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 0; border-bottom:1px solid #dce7e9; }
.manage-row span { display:grid; gap:5px; }
.manage-row small { color:#61717d; }
.danger { background:#a33; }
.iso-page { max-width: 1250px; }
.portal-modules { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.iso-module { border-top:4px solid #16b8c4; }
.module-count { display:grid; place-items:center; min-width:54px; height:54px; border-radius:50%; background:#e5f7f7; color:#0a5d91; font-size:20px; font-weight:bold; }
.iso-filter { display:grid; grid-template-columns:1.3fr .65fr .8fr 1.3fr auto; gap:10px; align-items:end; margin:0 0 18px; padding:18px; border:1px solid #dce7e9; border-radius:12px; background:#fff; }
.iso-filter label { display:grid; gap:6px; color:#536871; font-size:10px; font-weight:bold; }
.iso-filter input,.iso-filter select { min-width:0; height:42px; padding:0 10px; border:1px solid #d3e0e3; border-radius:7px; background:#fff; }
.iso-filter-actions { display:flex; gap:6px; }
.iso-filter-actions button,.iso-filter-actions a { display:grid; place-items:center; height:42px; padding:0 13px; border:0; border-radius:7px; background:#0a5d91; color:#fff; font-weight:bold; cursor:pointer; }
.iso-filter-actions a { background:#eef5f7; color:#0a5d91; }
.result-summary { display:flex; align-items:baseline; gap:8px; margin:0 0 18px; color:#61717d; }
.result-summary strong { color:#0a5d91; font-size:26px; }
.result-summary em { margin-left:auto; font-size:10px; }
.control-list { display:grid; gap:14px; }
.control-card { display:grid; grid-template-columns:220px minmax(280px,1fr) minmax(280px,.8fr); gap:20px; padding:20px; border:1px solid #dce7e9; border-radius:12px; background:#fff; }
.control-heading { display:flex; align-items:flex-start; gap:10px; }
.control-heading b { min-width:48px; padding:7px; border-radius:6px; background:#0a5d91; color:#fff; text-align:center; }
.control-heading h2 { margin:4px 0; font-size:15px; }
.control-question { color:#425966; font-size:12px; line-height:1.55; white-space:normal; }
.control-links { display:grid; align-content:start; gap:6px; }
.control-links strong { margin-bottom:3px; color:#0a5d91; font-size:11px; }
.control-links a { display:grid; grid-template-columns:38px 1fr; gap:7px; padding:7px 9px; border-radius:6px; background:#eef5f7; font-size:10px; line-height:1.35; }
.control-links a span { color:#0a5d91; font-weight:bold; }
@media (max-width: 1100px) { .iso-filter { grid-template-columns:1fr 1fr; } .iso-filter-actions { grid-column:1/-1; } }
@media (max-width: 900px) { .control-card,.portal-modules { grid-template-columns:1fr; } }
@media (max-width: 650px) { .iso-filter { grid-template-columns:1fr; } .iso-filter-actions { grid-column:auto; } }
.reader-search input {
  height: 42px;
  padding: 0 11px;
  border: 1px solid #d3e0e3;
  border-radius: 7px;
}
.reader-search button {
  height: 42px;
  border: 0;
  border-radius: 7px;
  background: #0a5d91;
  color: #fff;
  font-weight: bold;
}
.reader-search span {
  color: #61717d;
  font-size: 11px;
}
.reader-match {
  padding: 1px 2px;
  background: #fff09a;
}
.reader-match.current {
  background: #ff9f43;
  outline: 2px solid #d87916;
}
@media (max-width: 700px) {
  .topbar { flex-wrap: wrap; }
  .global-search { order: 3; width: 100%; grid-template-columns: 1fr 58px; }
  .reader-search { grid-template-columns: 1fr 70px; }
  .reader-search span { grid-column: 1 / -1; }
}
