/* AMS Hospital 1.9.8: flat medical-blue dashboard; small violet accents. */

.ams-app.ams-overview { width: 100%; max-width: 1440px; margin: 0px auto 14px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); overflow: hidden; box-shadow: 0 24px 65px #145b7a1a, 0 3px 12px #145b7a0d;  border-color: #c5e4ef; }
.ams-app.ams-overview > nav { position: relative; z-index: 25; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; padding: 12px 20px; border-bottom: 1px solid rgb(206, 231, 242); background: #ffffff; overflow: visible; }
.ams-app.ams-overview > nav > a { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 13px; border: 1px solid transparent; border-radius: 9px; color: #284f65; font-size: 12.5px; font-weight: 600; line-height: 1.4; text-decoration: none; box-shadow: none; transition: background-color 0.18s, color 0.18s, border-color 0.18s; }
.ams-app.ams-overview > nav > a:hover { color: #08718b; background: #e7f5f9; text-decoration: none; }
.ams-app.ams-overview > nav > a[aria-current="page"] { color: #fff; border-color: #087f98; background: #087f98; box-shadow: 0 5px 14px #087fa52b; }
.ams-app.ams-overview > main { display: flex; flex-direction: column; gap: 20px; padding: 24px; background: #eff7f9; }
.ams-app.ams-overview .ams-introduction { position: relative; isolation: isolate; overflow: hidden; margin: 0px; padding: 24px 26px; border: 1px solid rgb(199, 228, 241); border-radius: 18px; background: #ffffff; box-shadow: 0 10px 28px #23627d0c;  border-color: #bddfea; }
.ams-app.ams-overview .ams-introduction::after { content: ""; position: absolute; pointer-events: none; top: 0px; left: 23px; width: min(320px,55%); height: 3px; background: #795698; border-radius: 0px 0px 3px 3px; }
.ams-app.ams-overview .ams-introduction .ams-content-body { width: 100%; max-width: none; columns: 1; text-align: left; color: rgb(43, 87, 108); font-size: 13px; line-height: 1.72; }
.ams-app.ams-overview .ams-introduction .ams-content-body > p:first-child { max-width: 1130px; margin: 0px 0px 10px; color: rgb(25, 75, 103); font-size: 13.5px; font-weight: 400; line-height: 1.84; letter-spacing: 0px; }
.ams-app.ams-overview .ams-introduction .ams-content-body > p:last-child { margin-bottom: 0px; }
.ams-app.ams-overview .ams-work-section { margin: 0px; padding-top: 12px; border-top: 1px solid rgb(195, 227, 238); }
.ams-app.ams-overview .ams-work-section > h2 { margin: 0px 0px 14px; color: rgb(14, 79, 113); font-size: 15.5px; font-weight: 650; line-height: 1.5; letter-spacing: -0.017em; }
.ams-app.ams-overview .ams-work-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); align-items: stretch; gap: 12px; }
.ams-app.ams-overview .ams-work-card { --work-tint: #eef8fb; --work-edge: #c8e3ec; --work-accent: #087f98; position: relative; display: block; margin: 0; align-content: start; align-items: start; row-gap: 8px; min-width: 0px; padding: 15px 14px; border: 1px solid var(--work-edge); border-radius: 14px; background: var(--work-tint); box-shadow: 0 5px 16px #235c750b; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ams-app.ams-overview .ams-work-card:nth-child(4n/**/+2) { --work-tint: #f4f0fa; --work-edge: #e1d6ed; --work-accent: #795698; }
.ams-app.ams-overview .ams-work-card:nth-child(4n/**/+3) { --work-tint: #e9f5f8; --work-edge: #d1e7ed; --work-accent: #137c96; }
.ams-app.ams-overview .ams-work-card:nth-child(4n/**/+4) { --work-tint: #f0ebf7; --work-edge: #ddcfeb; --work-accent: var(--accent); }
.ams-app.ams-overview .ams-work-icon { display: inline-block; flex: 0 0 35px; align-self: center; width: 35px; height: 35px; margin: 0px; border: 1px solid var(--work-edge); border-radius: 11px; background-color: var(--work-tint); background-size: 22px 22px; background-repeat: no-repeat; background-position: center center; font-size: 0px; line-height: 0;  box-shadow: inset 0 1px 0 #ffffffc9, 0 3px 8px #185b7a0a; }
.ams-app.ams-overview .ams-work-card > summary { grid-area: 1 / 1; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 9px; min-width: 0px; min-height: 35px; margin: 0px; padding-top: 0px; color: #24475e; font-size: 13.2px; font-weight: 600; line-height: 1.47; letter-spacing: -0.01em; overflow-wrap: break-word; }
.ams-app.ams-overview .ams-work-card > summary .ams-work-title { min-width: 0px; flex: 1 1 0%; display: inline; }
.ams-app.ams-overview .ams-work-description > p { grid-column: 1; min-width: 0px; margin: 0px; color: rgb(47, 88, 111); font-size: 12px; font-weight: 400; line-height: 1.67; letter-spacing: 0px; text-align: left; }
.ams-app.ams-overview .ams-work-plan { background-image: url("work-icons/plan.svg"); }
.ams-app.ams-overview .ams-work-guide { background-image: url("work-icons/guide.svg"); }
.ams-app.ams-overview .ams-work-surgery { background-image: url("work-icons/surgery.svg"); }
.ams-app.ams-overview .ams-work-approval { background-image: url("work-icons/approval.svg"); }
.ams-app.ams-overview .ams-work-lab { background-image: url("work-icons/lab.svg"); }
.ams-app.ams-overview .ams-work-infection { background-image: url("work-icons/infection.svg"); }
.ams-app.ams-overview .ams-work-use { background-image: url("work-icons/use.svg"); }
.ams-app.ams-overview .ams-work-resistance { background-image: url("work-icons/resistance.svg"); }
.ams-app.ams-overview .ams-work-audit { background-image: url("work-icons/audit.svg"); }
.ams-app.ams-overview .ams-work-dose { background-image: url("work-icons/dose.svg"); }
.ams-app.ams-overview .ams-work-review { background-image: url("work-icons/review.svg"); }
.ams-app.ams-overview .ams-work-oral { background-image: url("work-icons/oral.svg"); }
.ams-app.ams-overview .ams-work-training { background-image: url("work-icons/training.svg"); }
.ams-app.ams-overview .ams-work-patient { background-image: url("work-icons/patient.svg"); }
.ams-app.ams-overview .ams-work-evaluate { background-image: url("work-icons/evaluate.svg"); }
.ams-app.ams-overview .ams-work-report { background-image: url("work-icons/report.svg"); }
.ams-app.ams-overview .ams-overview-panels { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: stretch; gap: 15px; }
.ams-app.ams-overview .ams-overview-panel { --panel-accent: #087f98; --panel-pale: #e9f5f9; --panel-border: #d2e7ed; position: relative; isolation: isolate; display: flex; flex-direction: column; min-width: 0px; min-height: 195px; margin: 0px; padding: 18px 20px; border: 1px solid var(--panel-border); border-radius: 17px; background: #ffffff; overflow: hidden; box-shadow: 0 8px 24px #185b7a0d; transition: box-shadow 0.19s, border-color 0.19s, transform 0.19s;  border-color: var(--panel-border); }
.ams-app.ams-overview .ams-panel-notices { --panel-accent: #087f98; --panel-pale: #e9f5f9; --panel-border: #d2e7ed; }
.ams-app.ams-overview .ams-panel-documents { --panel-accent: #795698; --panel-pale: #f2edf8; --panel-border: #e3d8ee; }
.ams-app.ams-overview .ams-panel-members { --panel-accent: #795698; --panel-pale: #f2edf8; --panel-border: #e3d8ee; }
.ams-app.ams-overview .ams-overview-panel::after { pointer-events: none; content: ""; position: absolute; top: 0px; left: 20px; width: 130px; height: 3px; border-radius: 0px 0px 3px 3px; background: var(--panel-accent); }
.ams-app.ams-overview .ams-overview-panel > h2 { display: flex; align-items: center; gap: 11px; min-height: 40px; margin: 0px 0px 4px; padding: 0px 0px 12px; border-bottom: 1px solid rgb(216, 236, 244); color: rgb(24, 73, 103); font-size: 15.5px; font-weight: 650; letter-spacing: -0.017em; line-height: 1.43; }
.ams-app.ams-overview .ast-panel-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid var(--panel-border); border-radius: 12px; background: var(--panel-pale); color: var(--panel-accent); }
.ams-app.ams-overview .ast-panel-icon svg { width: 21px; height: 21px; }
.ams-app.ams-overview .ams-panel-lines { flex: 1 1 0%; min-height: 0px; min-width: 0px; overflow: visible; }
.ams-app.ams-overview .ams-preview-row { padding: 9px 0px; border-bottom: 1px solid rgb(228, 240, 247); min-width: 0px; }
.ams-app.ams-overview .ams-preview-row:last-child { border-bottom: 0px; }
.ams-app.ams-overview .ams-preview-title { display: block; color: rgb(32, 73, 98); font-size: 12.8px; font-weight: 500; line-height: 1.62; overflow-wrap: anywhere; }
.ams-app.ams-overview a.ams-preview-title { color: rgb(4, 123, 159); text-decoration: none; }
.ams-app.ams-overview a.ams-preview-title:hover { color: #765494; text-decoration: underline rgb(200, 191, 220); text-underline-offset: 3px; }
.ams-app.ams-overview .ams-preview-excerpt { display: block; margin-top: 4px; color: rgb(60, 99, 119); font-size: 12px; line-height: 1.58; font-weight: 400; }
.ams-app.ams-overview .ams-member-preview { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); align-content: start; gap: 0px 18px; padding-top: 4px; }
.ams-app.ams-overview .ams-member-preview .ams-preview-title, .ams-app.ams-overview .ams-member-preview .ams-preview-title:hover { color: rgb(34, 77, 102); font-size: 12.8px; font-weight: 500; line-height: 1.56; text-decoration: none; cursor: default; }
.ams-app.ams-overview .ams-panel-empty { padding: 15px 0px; color: rgb(51, 95, 117); font-size: 12.7px; }
.ams-app.ams-overview .ams-panel-bottom { display: flex; justify-content: flex-end; margin-top: auto; padding-top: 12px; text-align: right; }
.ams-app.ams-overview .ams-view-more { position: relative; z-index: 1; pointer-events: auto; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 6px 11px; border: 1px solid rgb(180, 225, 239); border-radius: 9px; background: rgb(234, 249, 252); color: #086f89; font-size: 12px; font-weight: 600; text-decoration: none; transition: background 0.16s, border-color 0.16s, color 0.16s; }
.ams-app.ams-overview .ams-view-more:hover { border-color: rgb(148, 208, 226); color: rgb(4, 106, 135); background: rgb(219, 241, 248); text-decoration: none; }
.ams-app.ams-overview .ams-link-icon { width: 15px; height: 15px; transition: transform 0.18s; }
.ams-app.ams-overview .ams-view-more:hover .ams-link-icon { transform: translateX(2px); }
@media (hover: hover) and (pointer: fine) {
  .ams-app.ams-overview .ams-overview-panel:hover { transform: translateY(-1px); border-color: rgb(173, 219, 230); box-shadow: rgba(35, 61, 75, 0.06) 0px 3px 12px; }
}
.ams-app.ams-overview > footer { padding: 10px 20px; border-top: 1px solid rgb(220, 234, 240); background: var(--surface); color: rgb(58, 96, 117); font-size: 11.5px; letter-spacing: 0px; }
@media (max-width: 1160px) {
  .ams-app.ams-overview .ams-work-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (max-width: 900px) {
  .ams-app.ams-overview > main { gap: 15px; padding: 15px; }
  .ams-app.ams-overview .ams-introduction { padding: 21px; }
  .ams-app.ams-overview .ams-work-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ams-app.ams-overview .ams-overview-panels { gap: 12px; }
  .ams-app.ams-overview .ams-overview-panel { padding: 16px; }
  .ams-app.ams-overview .ams-overview-panel > h2 { font-size: 14.5px; }
}
@media (max-width: 700px) {
  .ams-app.ams-overview { margin: 0px 0px 12px; border-radius: 14px; box-shadow: rgba(63, 79, 127, 0.055) 0px 5px 19px; }
  .ams-app.ams-overview > nav { flex-wrap: wrap; gap: 3px; padding: 7px 8px; overflow: visible; }
  .ams-app.ams-overview > nav > a { flex-shrink: 0; min-height: 35px; padding: 7px 10px; font-size: 12px; white-space: nowrap; }
  .ams-app.ams-overview > main { gap: 11px; padding: 9px; }
  .ams-app.ams-overview .ams-introduction { padding: 15px 12px; border-radius: 13px; }
  .ams-app.ams-overview .ams-introduction .ams-content-body > p:first-child { margin: 0px 0px 13px; font-size: 12.7px; line-height: 1.75; }
  .ams-app.ams-overview .ams-work-section { padding-top: 13px; }
  .ams-app.ams-overview .ams-work-section > h2 { margin-bottom: 11px; font-size: 14px; }
  .ams-app.ams-overview .ams-work-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; }
  .ams-app.ams-overview .ams-work-card { display: block; min-height: 57px; padding: 10px 9px; border-radius: 10px; text-align: center; box-shadow: rgba(58, 81, 133, 0.04) 0px 2px 7px; }
  .ams-app.ams-overview .ams-work-card > summary .ams-work-icon { display: none; }
  .ams-app.ams-overview .ams-work-card > summary { justify-content: center; min-height: 0px; margin: 0px; padding-top: 0px; color: rgb(35, 83, 107); font-size: 12px; font-weight: 600; line-height: 1.45; text-align: center; overflow-wrap: break-word; }
  .ams-app.ams-overview .ams-work-card > summary .ams-work-title { flex: 0 1 auto; }
  .ams-app.ams-overview .ams-overview-panels { grid-template-columns: 1fr; gap: 10px; }
  .ams-app.ams-overview .ams-overview-panel { min-height: 0px; padding: 14px; border-radius: 13px; }
  .ams-app.ams-overview .ams-overview-panel > h2 { gap: 9px; margin-bottom: 2px; padding-bottom: 9px; font-size: 14px; }
  .ams-app.ams-overview .ast-panel-icon { width: 35px; height: 35px; flex-basis: 35px; border-radius: 10px; }
  .ams-app.ams-overview .ast-panel-icon svg { width: 19px; height: 19px; }
  .ams-app.ams-overview .ams-member-preview { grid-template-columns: 1fr; }
  .ams-app.ams-overview .ams-preview-row { padding: 8px 0px; }
  .ams-app.ams-overview .ams-preview-title { font-size: 12.7px; }
  .ams-app.ams-overview > footer { padding: 10px 13px; }
}
@media (max-width: 360px) {
  .ams-app.ams-overview .ams-work-grid { gap: 6px; }
  .ams-app.ams-overview .ams-work-card { padding: 9px 6px; min-height: 55px; }
  .ams-app.ams-overview .ams-work-card > summary { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .ams-app.ams-overview .ams-work-card, .ams-app.ams-overview .ams-overview-panel, .ams-app.ams-overview .ams-view-more, .ams-app.ams-overview .ams-link-icon, .ams-app.ams-overview > nav > a { transition: none; }
}
@media print {
  .ams-app.ams-overview, .ams-app.ams-overview > main, .ams-app.ams-overview .ams-introduction, .ams-app.ams-overview .ams-work-card, .ams-app.ams-overview .ams-overview-panel { background: rgb(255, 255, 255); box-shadow: none; transform: none; }
  .ams-app.ams-overview .ams-work-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ams-app.ams-overview .ams-work-card > summary .ams-work-icon, .ams-app.ams-overview .ams-work-description > p { display: block; }
  .ams-app.ams-overview .ams-work-card, .ams-app.ams-overview .ams-overview-panel { break-inside: avoid; }
  .ams-app.ams-overview .ams-overview-panel::before, .ams-app.ams-overview .ams-overview-panel::after, .ams-app.ams-overview .ams-introduction::before, .ams-app.ams-overview .ams-introduction::after { display: none; }
}
.ams-app.ams-overview .ams-work-card > summary { cursor: pointer; list-style: none; }
.ams-app.ams-overview .ams-work-card > summary::-webkit-details-marker { display: none; }
.ams-app.ams-overview .ams-work-card > summary::after { content: "+"; color: var(--accent); font-size: 18px; flex-shrink: 0; }
.ams-app.ams-overview .ams-work-card[open] > summary::after { content: "−"; }
.ams-app.ams-overview .ams-work-description { padding-top: 8px; }

@media screen and (max-width:640px) {
  .ams-app.ams-overview > nav > a, .ams-app.ams-overview nav summary,
  .ams-app.ams-overview .ams-work-card > summary { min-height:44px; }
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .ams-app.ams-overview .ams-work-card:hover { transform:translateY(-3px); border-color:var(--work-accent); box-shadow:0 12px 24px #185b7a17; }
}
.ams-app.ams-overview .ams-work-card[open] { border-color:var(--work-accent); box-shadow:0 7px 22px #185b7a14; }
@media screen and (max-width:640px) {
  .ams-app.ams-overview > main { padding:12px; gap:14px; }
  .ams-app.ams-overview .ams-introduction { padding:16px; }
}
@media print {
  .ams-app.ams-overview > nav > a[aria-current="page"] { background:#fff; color:#173b53; box-shadow:none; }
}
