:root{--navy:#213e58;--blue:#1c4269;--red:#b32145;--muted:#68798b;--line:#b8c3d0;--light:#edf3f8;--shadow:0 18px 60px rgba(19,43,65,.08)}
*{box-sizing:border-box}body{background:#f4f6f9;color:#273d51;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:13px}
.echo-space{max-width:1460px;margin:0 auto;padding:28px 28px 70px}.echo-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:22px;margin:8px 0 18px}.echo-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-weight:850}.echo-hero h1{font-size:31px;margin:7px 0;color:var(--navy);letter-spacing:-1px}.echo-hero p{margin:0;color:var(--muted)}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.echo-btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap;background:#fff;border:1px solid #d8e0e7;border-radius:11px;color:#324a62;padding:11px 14px;cursor:pointer;text-decoration:none;font-size:12px;font-weight:750}.echo-btn:hover{background:#f2edf0;border-color:#d3a3b0}.echo-btn.primary{background:#ae3153;color:white;border-color:#ae3153}.echo-btn.dark{background:var(--navy);color:white;border-color:var(--navy)}.echo-btn:disabled{opacity:.5;cursor:not-allowed}
.top-tools{background:#fff;border:1px solid #e4eaf0;box-shadow:var(--shadow);padding:17px;border-radius:18px;display:grid;grid-template-columns:1.7fr 1.1fr .85fr 1.1fr;gap:14px}.top-control{min-width:0;position:relative}.top-control label{display:block;font-size:11px;font-weight:800;color:#536879;margin:0 0 7px}.top-control input,.top-control select{background:#fcfdfe;width:100%;min-height:42px;border:1px solid #d7e0e6;border-radius:10px;padding:10px;font-size:12px;color:#344a5b}.meta-note{display:block;margin:6px 0 0;color:#7b8a97;font-size:10px}.patient-results{position:absolute;top:74px;background:white;border:1px solid #dbe2e8;border-radius:12px;box-shadow:0 16px 30px #1a2a401c;z-index:10;width:100%;max-height:210px;overflow:auto}.patient-results:empty{display:none}.patient-results button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 12px;font-size:12px;cursor:pointer;color:#30485c}.patient-results button:hover{background:#f7edf0}.patient-results small{color:#8292a0}
.status{margin:14px 0;padding:12px 16px;background:#fff6ef;border:1px solid #f4ddc7;color:#9f5a29;border-radius:12px}.status.success{background:#ecf8f3;border-color:#cbe7db;color:#267456}.status.error{background:#fff0f2;border-color:#f3ced6;color:#a32b48}
.echo-paper{background:#fff;max-width:1220px;margin:18px auto 0;box-shadow:0 12px 32px #15273710;border:1px solid #dbe1e7;padding:26px 28px 30px;border-radius:7px}.paper-heading{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:17px}.paper-mark{width:76px;height:76px;object-fit:contain}.paper-heading-mid{text-align:center}.paper-heading-mid strong{font-size:20px;font-weight:900;letter-spacing:.1px;color:#2b5376}.paper-heading-mid h2{font-size:26px;line-height:1.2;margin:6px 0 4px;color:#192a35;font-weight:800}.procedure-code{font-size:13px;letter-spacing:.05em;vertical-align:middle;display:inline-block;margin-left:8px;font-weight:750;color:#536879}.paper-heading-mid p{font-size:11px;color:#768592;margin:0}.paper-sign img{width:100%;height:auto;object-fit:contain}
.identity-line{display:grid;grid-template-columns:1.6fr .6fr .8fr 1.35fr;border:1px solid #b7c5d4;background:#fbfcfd}.identity-line>div{border-right:1px solid #b7c5d4;min-width:0;text-align:center}.identity-line>div:last-child{border-right:0}.identity-label{display:block;background:#e6edf4;border-bottom:1px solid #b7c5d4;font-weight:850;color:#2b5275;padding:9px 4px;font-size:12px}.identity-line strong{display:block;min-height:41px;padding:13px 6px;font-size:12px;overflow-wrap:anywhere}
.paper-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;margin-top:18px}.echo-table{width:100%;border-collapse:collapse;table-layout:fixed}.echo-table th{background:#1d436d;color:white;text-align:center;font-weight:800;padding:9px 4px;font-size:12px;border:1px solid #153e68}.echo-table td{border:1px solid #b9c5d0;padding:8px 7px;font-size:11px;vertical-align:middle;line-height:1.4}.echo-table td:first-child{width:42%}.echo-table .name-col{width:42%}.echo-table .result-col{width:21%}.echo-table .norm-col{width:37%}.echo-table tbody tr:nth-child(even):not(.group) td{background:#f8fafc}.echo-table .group td{background:#e4ebf3!important;color:#204665;font-weight:850;padding:8px}.echo-table .norm{white-space:pre-line;font-size:9.8px;color:#5a6e80}.echo-table .result-input{width:100%;min-height:26px;border:1px solid transparent;border-bottom:1px dashed #ccd7e0;background:transparent;color:#154c73;text-align:center;font-size:12px;font-weight:750;outline:none;min-width:0;padding:3px}.echo-table .result-input:focus{border-color:#b54063;background:#fff6f9;border-radius:5px}.echo-table .result-input::placeholder{color:#b5c0ca;font-weight:400}.echo-table .hint{font-size:10px;color:#7f8f9b}
.extra-controls{display:grid;grid-template-columns:1fr 1.6fr repeat(3,.75fr);gap:10px;margin-top:18px;padding:13px 14px;border:1px solid #e6ebef;border-radius:10px;background:#f9fbfd}.extra-controls label{font-size:10px;color:#63788b;font-weight:800}.extra-controls input{margin-top:6px;border:1px solid #d6e0e8;border-radius:8px;padding:9px 10px;width:100%;font:inherit;color:#304b5e;background:white}.extra-controls input[readonly]{background:#eff4f8}
.conclusion{margin-top:17px;border:1px solid #b7c5d4}.conclusion-title{text-align:center;background:#1d436d;color:#fff;font-size:13px;font-weight:900;padding:9px}.conclusion textarea{padding:14px 12px;border:0;min-height:130px;width:100%;resize:vertical;outline:none;font:inherit;line-height:1.65;font-size:12.6px;background:white;color:#213746}.conclusion textarea:focus{background:#fffdf9}.physician-line{display:grid;gap:5px;margin-top:16px;font-size:12px}.physician-line strong{color:#3c5870}.physician-line .specialty-title{color:#6c7d87;font-size:11px}.specialty-title input{margin:4px 0 0;display:block;width:100%;max-width:400px;padding:8px 9px;border:1px solid #dbe3e9;border-radius:8px}.paper-doctor-title{font-size:11px;color:#536c7f}.bottom-buttons{margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#738495;font-size:11px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1180px){.top-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.echo-paper{padding:22px 16px}.echo-table td{padding:6px 4px;font-size:10px}.echo-table .norm{font-size:9px}}@media(max-width:700px){.echo-space{padding:14px 8px 60px}.top-tools{grid-template-columns:1fr}.paper-cols{grid-template-columns:1fr}.echo-paper{padding:14px 8px}.paper-heading{grid-template-columns:48px minmax(0,1fr)}.paper-mark{width:46px;height:46px}.paper-heading-mid strong{font-size:14px}.paper-heading-mid h2{font-size:18px}.identity-line{grid-template-columns:1fr 1fr}.identity-line>div:nth-child(2){border-right:0}.identity-line>div:nth-child(-n+2){border-bottom:1px solid #b7c5d4}.extra-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-controls label:nth-child(2){grid-column:1/-1}.bottom-buttons{flex-direction:column;align-items:flex-start}}
@page{size:A4 portrait;margin:9mm}
@media print{#hb31-nav,.no-print{display:none!important}html,body{background:white!important;color:#222!important;margin:0!important;padding:0!important}.echo-space{padding:0!important;max-width:100%!important}.echo-paper{box-shadow:none;border:0;padding:0;margin:0;max-width:none;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.paper-heading{grid-template-columns:55px minmax(0,1fr);margin-bottom:12px;gap:7px}.paper-mark{width:50px;height:50px}.paper-heading-mid strong{font-size:16px}.paper-heading-mid h2{font-size:21px;margin:4px 0}.paper-heading-mid p{font-size:9px}.identity-line strong{min-height:31px;padding:8px 4px;font-size:10px}.identity-label{padding:6px 2px;font-size:9.5px}.paper-cols{grid-template-columns:1fr 1fr;gap:6px;margin-top:11px}.echo-table th{font-size:9px;padding:5px 2px}.echo-table td{padding:4px 3px;font-size:8.5px;line-height:1.3}.echo-table .group td{padding:5px 3px;font-size:9px}.echo-table .norm{font-size:7.4px;white-space:pre-line}.echo-table .result-input{font-size:9px;min-height:17px;border:0;text-align:center;background:transparent!important;padding:0}.echo-table tbody tr{break-inside:avoid}.conclusion{margin-top:9px;break-inside:avoid}.conclusion-title{font-size:10px;padding:6px}.conclusion textarea{font-size:10px;line-height:1.35;height:auto;min-height:70px;overflow:visible;resize:none;padding:8px 9px}.physician-line{margin-top:10px;font-size:10px;break-inside:avoid}.paper-doctor-title{font-size:9px}input{appearance:none}.patient-results{display:none}}
@media print{.echo-table .result-input::placeholder{color:transparent!important}}

.echo-table .result-entry{display:flex;align-items:center;justify-content:center;min-width:0}.echo-table .result-entry .result-input{flex:1;min-width:0}.echo-table .unit{font-size:9px;color:#4f7286;white-space:nowrap;padding-left:3px}@media print{.echo-table .unit{font-size:7.8px;color:#374653}}

/* v31.4 print stationery and contact fields */
.echo-contacts{margin:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.echo-contacts label{font-size:11px;color:#60788c;font-weight:750}.echo-contacts input{display:block;width:100%;margin-top:6px;min-height:38px;padding:8px;border:1px solid #d4dee8;border-radius:9px}

.echo-login{background:white;border:1px solid #e5d4db;border-radius:16px;max-width:620px;margin:12px auto;padding:20px;box-shadow:0 15px 36px #283b4c12}.echo-login h3{margin:0 0 8px;color:#2b465e}.echo-login p{font-size:12px;color:#6f8190}.echo-login form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.echo-login label{display:grid;gap:4px;font-size:12px;font-weight:750}.echo-login input{border:1px solid #dce3e9;padding:9px;border-radius:9px;min-height:37px}.echo-login #echo-login-error{color:#a42646}
@media print {.echo-contacts,.echo-login{display:none!important}.physician-line{font-size:9px}}

.echo-login[hidden]{display:none!important}
