.amh-app { --n: #0A2D57; --nd: #061C38; --a: #245C9A; --al: #E4ECF6; --line: #DDD6C8; --paper: #F7F4EE; --slate: #555B63; --ok: #1E6B3A; --okl: #DFF1E5; --warn: #8A5A00; --warnl: #FCF0DA; --bad: #9B2C1F; --badl: #FBE7E4;
	font-size: 1rem; color: #1A1F27; }
.amh-app h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 .25rem; }
.amh-app h3 { font-size: 1.1rem; margin: 0 0 .75rem; color: var(--n); }
.amh-app p { margin: 0 0 .9rem; }
.amh-kicker { font-size: .74rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--a); margin-bottom: .35rem !important; }
.amh-sub, .amh-muted { color: var(--slate); }
.amh-small { font-size: .86rem; color: var(--slate); }
.amh-opt { font-weight: 400; color: var(--slate); font-size: .85em; }
.amh-nowrap { white-space: nowrap; }
.amh-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; }

.amh-btn { display: inline-block; background: var(--n); color: #fff !important; border: 0; border-radius: 6px; padding: .7rem 1.2rem; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.2; }
.amh-btn:hover { background: var(--a); }
.amh-btn-lg { padding: .9rem 1.6rem; font-size: 1.05rem; }
.amh-btn-ghost { background: #fff; color: var(--n) !important; border: 1.5px solid var(--n); padding: .55rem 1rem; }
.amh-btn-ghost:hover { background: var(--al); }
.amh-btn-danger { background: #fff; color: var(--bad) !important; border: 1.5px solid var(--bad); padding: .5rem .9rem; }
.amh-btn-danger:hover { background: var(--badl); }
.amh-btn:disabled { opacity: .6; cursor: default; }

.amh-panel { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 1.4rem 1.5rem; margin: 0 0 1.25rem; }
.amh-msg { background: var(--okl); color: var(--ok); border-radius: 8px; padding: .8rem 1rem; margin: 0 0 1.25rem; font-weight: 500; }
.amh-msg-err { background: var(--badl); color: var(--bad); }
.amh-empty { background: var(--paper); border: 1px dashed var(--line); border-radius: 10px; padding: 2rem; text-align: center; color: var(--slate); }
.amh-foot { margin-top: 2rem !important; font-size: .86rem; color: var(--slate); border-top: 1px solid var(--line); padding-top: 1rem; }

/* Forms */
.amh-form label, .amh-app form > label { display: block; font-weight: 600; font-size: .92rem; margin: 0 0 .9rem; color: var(--n); }
.amh-app input[type=text], .amh-app input:not([type]), .amh-app input[type=email], .amh-app input[type=tel], .amh-app input[type=search], .amh-app input[type=password], .amh-app select, .amh-app textarea {
	display: block; width: 100%; box-sizing: border-box; margin-top: .3rem; font: inherit; font-weight: 400; font-size: 1rem; color: #1A1F27; background: #fff; border: 1px solid #C9C2B4; border-radius: 6px; padding: .6rem .7rem; }
.amh-app input:focus, .amh-app select:focus, .amh-app textarea:focus { outline: 2px solid var(--a); outline-offset: 1px; border-color: var(--a); }
.amh-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1rem; }
.amh-check { display: flex !important; gap: .55rem; align-items: flex-start; font-weight: 500 !important; color: #1A1F27 !important; }
.amh-check input { margin-top: .3rem; width: 1.05rem; height: 1.05rem; flex: none; }
.amh-consent { background: var(--paper); border-radius: 8px; padding: .8rem 1rem; }
.amh-help { color: var(--slate); font-size: .94rem; }
.amh-fs { border: 1px solid var(--line); border-radius: 10px; padding: 1.2rem 1.4rem .6rem; margin: 0 0 1.25rem; background: #fff; }
.amh-fs legend { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-weight: 700; font-size: 1.15rem; color: var(--n); padding: 0 .4rem; }
.amh-group { font-size: .74rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--slate); margin: .5rem 0 .4rem !important; }
.amh-tests { display: grid; gap: .5rem; margin-bottom: .8rem; }
.amh-test-opt, .amh-pay-opt { display: flex !important; gap: .75rem; align-items: flex-start; border: 1.5px solid var(--line); border-radius: 8px; padding: .75rem .9rem; margin: 0 !important; cursor: pointer; font-weight: 400 !important; }
.amh-test-opt:has(input:checked), .amh-pay-opt:has(input:checked) { border-color: var(--a); background: var(--al); }
.amh-test-opt input, .amh-pay-opt input { margin-top: .25rem; flex: none; }
.amh-test-opt strong, .amh-pay-opt strong { display: block; color: var(--n); }
.amh-test-opt small, .amh-pay-opt small { display: block; color: var(--slate); font-size: .86rem; line-height: 1.45; }
.amh-pay-opt em { display: block; font-style: normal; font-weight: 600; color: var(--a); font-size: .88rem; margin-top: .25rem; }
.amh-payer { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: .9rem; }
@media (max-width: 640px) { .amh-payer { grid-template-columns: 1fr; } }
.amh-person { border: 1px solid var(--line); border-radius: 8px; padding: .9rem 1rem .2rem; margin: 0 0 .8rem; background: var(--paper); }
.amh-person-top { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: flex-end; margin-bottom: .2rem; }
.amh-person-top > label:first-child { flex: 1 1 260px; }
.amh-person-top .amh-isclient { margin-bottom: 1.1rem !important; }
.amh-remove { background: none; border: 0; color: var(--bad); font: inherit; font-size: .88rem; cursor: pointer; margin-bottom: 1.1rem; text-decoration: underline; }
.amh-add-person { margin: 0 0 1rem; }

/* Head, filters, tables */
.amh-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.amh-filter { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1rem; }
.amh-filter label { margin: 0; }
.amh-filter select, .amh-filter input { margin-top: 0 !important; width: auto !important; }
.amh-filter input[type=search] { min-width: 260px; }
.amh-tablewrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.amh-table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.amh-table th { text-align: left; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); background: var(--paper); padding: .7rem .9rem; border-bottom: 1px solid var(--line); }
.amh-table td { padding: .8rem .9rem; border-bottom: 1px solid #EEE9DF; vertical-align: top; }
.amh-table tr:last-child td { border-bottom: 0; }
.amh-table a { font-weight: 600; text-decoration: none; }

.amh-chip { display: inline-block; font-family: var(--wp--preset--font-family--body, sans-serif); font-size: .78rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; background: #EEF1F5; color: #333; vertical-align: middle; letter-spacing: 0; white-space: nowrap; }
.amh-chip-awaiting_client, .amh-chip-awaiting_payment, .amh-chip-wait { background: var(--warnl); color: var(--warn); }
.amh-chip-scheduling, .amh-chip-scheduled, .amh-chip-collected, .amh-chip-at_lab { background: var(--al); color: var(--n); }
.amh-chip-result_ready, .amh-chip-ok { background: var(--okl); color: var(--ok); }
.amh-chip-cancelled { background: #EEE; color: #666; }
.amh-tag { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bad); border: 1px solid currentColor; border-radius: 4px; padding: .05rem .35rem; vertical-align: middle; }

/* Case view */
.amh-progress { list-style: none; display: flex; padding: 0; margin: 0 0 1.75rem; counter-reset: s; }
.amh-progress li { flex: 1; position: relative; text-align: center; font-size: .82rem; color: var(--slate); padding-top: 1.9rem; }
.amh-progress li::before { content: ""; position: absolute; top: .3rem; left: 50%; transform: translateX(-50%); width: 1rem; height: 1rem; border-radius: 50%; background: #fff; border: 2px solid var(--line); z-index: 1; }
.amh-progress li::after { content: ""; position: absolute; top: .75rem; left: -50%; right: 50%; height: 2px; background: var(--line); }
.amh-progress li:first-child::after { display: none; }
.amh-progress li.done { color: var(--n); }
.amh-progress li.done::before { background: var(--a); border-color: var(--a); }
.amh-progress li.done::after, .amh-progress li.now::after { background: var(--a); }
.amh-progress li.now { color: var(--n); font-weight: 700; }
.amh-progress li.now::before { border-color: var(--a); box-shadow: 0 0 0 4px var(--al); }
.amh-progress.is-cancelled { opacity: .45; }
@media (max-width: 640px) { .amh-progress li { font-size: .7rem; } }
.amh-cols { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .amh-cols { grid-template-columns: 1fr; } }
.amh-party { border-top: 1px solid #EEE9DF; padding: 1rem 0 .4rem; }
.amh-party:first-of-type { border-top: 0; padding-top: 0; }
.amh-party-top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: .6rem; }
.amh-linkrow { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .4rem; }
.amh-linkrow input { flex: 1 1 260px; margin: 0 !important; font-size: .82rem !important; color: var(--slate) !important; background: var(--paper) !important; }
.amh-inline { display: inline; margin: 0; }
.amh-appt { background: var(--al); border-radius: 6px; padding: .6rem .8rem; font-size: .92rem; }
.amh-files { list-style: none; margin: 0; padding: 0; }
.amh-files li { padding: .55rem 0; border-bottom: 1px solid #EEE9DF; }
.amh-files li:last-child { border-bottom: 0; }
.amh-price { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 1.6rem; font-weight: 700; color: var(--n); margin: 0 !important; }
.amh-dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; margin: 0 0 .8rem; font-size: .94rem; }
.amh-dl dt { color: var(--slate); }
.amh-dl dd { margin: 0; }
.amh-log { list-style: none; margin: 0; padding: 0; font-size: .86rem; max-height: 320px; overflow: auto; }
.amh-log li { padding: .35rem 0; border-bottom: 1px dashed #EEE9DF; }
.amh-log span { display: block; color: var(--slate); font-size: .78rem; }
.amh-cancel { border: 1px dashed var(--line); border-radius: 10px; padding: 1rem 1.2rem; }
.amh-cancel .amh-check { font-size: .9rem; }

/* Login */
.amh-login-wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.25rem; align-items: start; }
@media (max-width: 800px) { .amh-login-wrap { grid-template-columns: 1fr; } }
.amh-login form p { margin: 0 0 .9rem; }
.amh-login label { display: block; font-weight: 600; font-size: .92rem; color: var(--n); }
.amh-login .login-remember label { display: flex; gap: .5rem; align-items: center; font-weight: 500; }
.amh-login input[type=submit] { background: var(--n); color: #fff; border: 0; border-radius: 6px; padding: .75rem 1.4rem; font: inherit; font-weight: 600; cursor: pointer; }
.amh-login input[type=submit]:hover { background: var(--a); }
.amh-login-side { background: var(--paper); }

/* Client page */
.amh-client { max-width: 720px; margin: 0 auto; }
.amh-langswitch { text-align: right; margin: 0 0 .5rem !important; font-size: .92rem; }
.amh-langswitch a { font-weight: 600; }
.amh-client-head { margin-bottom: 1.25rem; }
.amh-dl-row { background: var(--paper); border-radius: 8px; padding: .8rem 1rem; margin-top: 1rem; }
.amh-ok { border-color: #BFE3CB; background: #F6FBF7; }
.amh-ok h3 { color: var(--ok); }
.amh-appt-box { background: #fff; border: 1px solid #BFE3CB; border-radius: 8px; padding: .9rem 1rem; margin-bottom: .9rem; }
.amh-pay-panel { border-top: 4px solid var(--a); }
.amh-due { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--line); padding-bottom: .6rem; }
.amh-due strong { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 1.8rem; color: var(--n); }
.amh-bring { padding-left: 1.2rem; margin: 0; }
.amh-bring li { margin-bottom: .45rem; }
.amh-center-text { text-align: center; }
.amh-find { max-width: 640px; margin: 0 auto 1rem; }

.amh-feenote { background: #FFF8E6; border-left: 4px solid #C9A13B; border-radius: 0 6px 6px 0; padding: .7rem .9rem; font-size: .92rem; }
.amh-payform { margin: 0 0 .8rem; }
