
.pet-media-storage-card {
    position: absolute;
    left: 1140px;
    top: 34px;
    width: 730px;
    height: 187px;
    padding: 12px 14px;
    border: 1px solid #83a49a;
    background: #f4fffb;
    box-shadow: inset 0 0 0 3px #dceee8;
    color: #183449;
}
.pet-media-storage-title { margin-bottom: 8px; color: #255d50; font-size: 16px; font-weight: bold; }
.pet-media-storage-status { display: inline-flex; align-items: center; gap: 7px; min-height: 26px;
    padding: 3px 9px; border: 1px solid #c79843; background: #fff8df; color: #765315; font-weight: bold; }
.pet-media-storage-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #d18a00; }
.pet-media-storage-status.ready { border-color: #63a77e; background: #e9fff0; color: #24613a; }
.pet-media-storage-status.ready::before { background: #1f9c52; }
.pet-media-storage-status.error { border-color: #c77b7b; background: #fff0f0; color: #940020; }
.pet-media-storage-status.error::before { background: #b00020; }
.pet-media-storage-detail { height: 43px; margin-top: 9px; color: #51616b; line-height: 19px;
    overflow: hidden; text-overflow: ellipsis; white-space: pre-line; }
.pet-media-storage-open { min-width: 150px; height: 27px; border-color: #548b7b; background: linear-gradient(#fff,#d8eee7); font-weight: bold; }
.pet-media-storage-open:disabled { color: #777; cursor: default; }

.pet-media-setup-overlay[hidden] { display: none !important; }
.pet-media-setup-overlay { position: absolute; inset: 0; z-index: 3000; display: flex; align-items: center;
    justify-content: center; background: rgba(20,35,45,.55); }
.pet-media-setup-dialog { width: 640px; min-height: 470px; border: 2px solid #4c7b70; background: #f8fffc;
    box-shadow: 0 12px 38px rgba(0,0,0,.35); color: #183449; }
.pet-media-setup-head { position: relative; padding: 15px 48px 12px 18px; border-bottom: 1px solid #a9c5bc;
    background: #dff3ec; }
.pet-media-setup-head h2 { margin: 0 0 4px; color: #24594d; font-size: 20px; }
.pet-media-setup-head p { margin: 0; color: #4a625b; }
.pet-media-setup-close { position: absolute; right: 10px; top: 9px; width: 32px; height: 32px; padding: 0;
    border: 0; background: transparent; color: #31594f; font-size: 24px; line-height: 30px; }
.pet-media-setup-body { padding: 16px 20px 10px; }
.pet-media-setup-hospital { margin: 0 0 13px; padding: 8px 10px; border-left: 4px solid #4d8e7b;
    background: #edf8f4; color: #35594f; }
.pet-media-setup-label { display: block; margin-bottom: 5px; font-weight: bold; }
.pet-media-setup-input { width: 100%; height: 34px; padding: 5px 8px; border: 1px solid #78998f;
    background: #fff; color: #183449; font-size: 14px; }
.pet-media-setup-input:focus { outline: 2px solid #d7a129; outline-offset: 1px; }
.pet-media-setup-note { margin: 7px 0 12px; color: #5a686f; line-height: 18px; }
.pet-media-setup-checks { margin: 12px 0 10px; padding: 0; list-style: none; border: 1px solid #bfd1cb; background: #fff; }
.pet-media-setup-checks li { position: relative; min-height: 34px; padding: 8px 12px 7px 39px;
    border-bottom: 1px solid #e1ebe7; color: #59676d; }
.pet-media-setup-checks li:last-child { border-bottom: 0; }
.pet-media-setup-checks li::before { content: "○"; position: absolute; left: 13px; top: 6px; color: #89959a; font-size: 17px; }
.pet-media-setup-checks li.running { color: #725313; font-weight: bold; }
.pet-media-setup-checks li.running::before { content: "…"; color: #c17b00; }
.pet-media-setup-checks li.ok { color: #21623b; }
.pet-media-setup-checks li.ok::before { content: "✓"; color: #178447; font-weight: bold; }
.pet-media-setup-message { min-height: 46px; padding: 8px 10px; border: 1px solid #c3d1cc; background: #f3f6f5;
    color: #53636a; line-height: 20px; }
.pet-media-setup-message.success { border-color: #65a97e; background: #eafff0; color: #1e6538; font-weight: bold; }
.pet-media-setup-message.error { border-color: #c97979; background: #fff0f0; color: #9a0020; font-weight: bold; }
.pet-media-setup-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px 16px; }
.pet-media-setup-actions button { min-width: 92px; height: 30px; }
.pet-media-setup-verify { border-color: #397565; background: linear-gradient(#effff9,#bde2d5); font-weight: bold; }
.pet-media-setup-verify:disabled, .pet-media-setup-input:disabled { color: #777; cursor: wait; }

@media (max-width: 1200px) {
    .pet-media-setup-dialog { width: min(640px, calc(100vw - 30px)); }
}


.pet-media-viewer {
    position: absolute;
    left: 830px;
    top: 34px;
    width: 718px;
    height: 187px;
    overflow: hidden;
    border: 1px solid #83a49a;
    background: #e9eeee;
    color: #183449;
    box-shadow: inset 0 0 0 3px #d8e3e1;
}

.pet-media-viewer:focus {
    outline: 2px solid #d59a22;
    outline-offset: 1px;
}

.pet-media-viewer-stage {
    position: absolute;
    inset: 4px 4px 31px;
    overflow: hidden;
    background: #18252c;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pet-media-viewer-gallery {
    width: calc(100% - 82px);
    height: 100%;
    padding: 5px 0;
    box-sizing: border-box;
    display: grid;
    gap: 6px;
    align-items: stretch;
}

.pet-media-viewer-gallery[hidden],
.pet-media-viewer-empty[hidden],
.pet-media-viewer-lightbox[hidden],
.pet-media-viewer-lightbox img[hidden],
.pet-media-viewer-lightbox video[hidden] {
    display: none !important;
}

.pet-media-viewer-gallery.count-1 { grid-template-columns: minmax(0, 1fr); }
.pet-media-viewer-gallery.count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pet-media-viewer-gallery.count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pet-media-viewer-gallery.count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pet-media-viewer-gallery.count-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.pet-media-viewer-tile {
    position: relative;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    padding: 0;
    border: 1px solid #aec3c2;
    border-radius: 3px;
    background: #0f1c22;
    cursor: zoom-in;
}

.pet-media-viewer-tile:hover,
.pet-media-viewer-tile:focus-visible {
    border-color: #ffd36a;
    box-shadow: 0 0 0 2px #d59a22;
    outline: 0;
}

.pet-media-viewer-tile-media {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #18252c;
    object-fit: contain;
}

.pet-media-viewer-tile-order,
.pet-media-viewer-video-badge {
    position: absolute;
    z-index: 1;
    border-radius: 2px;
    background: rgba(8, 28, 37, .82);
    color: #fff;
    line-height: 20px;
}

.pet-media-viewer-tile-order {
    right: 4px;
    bottom: 4px;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    box-sizing: border-box;
    text-align: center;
}

.pet-media-viewer-video-badge {
    left: 50%;
    top: 50%;
    padding: 2px 7px;
    font-weight: bold;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.pet-media-viewer-tile.is-unavailable::after {
    content: "無法顯示";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #edf2f2;
    color: #970020;
}

.pet-media-viewer-empty {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: #eef2f2;
    color: #65757d;
    text-align: center;
}

.pet-media-viewer-empty-title {
    color: #3e5964;
    font-size: 15px;
    font-weight: bold;
}

.pet-media-viewer-empty-note {
    font-size: 12px;
}

.pet-media-viewer-arrow {
    position: absolute;
    z-index: 2;
    top: 62px;
    width: 32px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 4px;
    background: rgba(15,35,45,.72);
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: normal;
    line-height: 43px;
    text-align: center;
    cursor: pointer;
}

.pet-media-viewer-arrow.previous { left: 8px; }
.pet-media-viewer-arrow.next { right: 8px; }

.pet-media-viewer-arrow:hover:not(:disabled),
.pet-media-viewer-arrow:focus-visible {
    background: rgba(13,91,113,.92);
    outline: 2px solid #ffd36a;
    outline-offset: 1px;
}

.pet-media-viewer-arrow:disabled {
    opacity: .2;
    cursor: default;
}

.pet-media-viewer-footer {
    position: absolute;
    left: 4px;
    right: 4px;
    bottom: 3px;
    height: 27px;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 5px;
    border-top: 1px solid #a9b9b9;
    box-sizing: border-box;
    background: #f8fbfb;
    line-height: 23px;
}

.pet-media-viewer-group-button {
    height: 21px;
    padding: 0 5px;
    border: 1px solid #8da9a4;
    border-radius: 2px;
    background: #eef8f1;
    color: #174e43;
    font-size: 11px;
    line-height: 18px;
    white-space: nowrap;
}

.pet-media-viewer-group-button:disabled {
    opacity: .38;
}

.pet-media-viewer-group-count {
    min-width: 92px;
    color: #24594d;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.pet-media-viewer-label {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    color: #34505c;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pet-media-viewer-count {
    min-width: 92px;
    color: #24594d;
    font-weight: bold;
    text-align: right;
    white-space: nowrap;
}

.pet-media-viewer.is-error .pet-media-viewer-empty-title {
    color: #970020;
}

/* R5 layout: the compact storage card sits 20px farther left than R4b. */
.pet-media-storage-card {
    left: 1558px;
    width: 292px;
}

.pet-media-storage-detail {
    overflow-wrap: anywhere;
}

.pet-media-storage-card .pet-media-storage-actions button {
    min-width: 0;
    flex: 1 1 0;
    padding-right: 5px;
    padding-left: 5px;
    white-space: nowrap;
}

.pet-media-viewer-lightbox {
    position: fixed;
    z-index: 100050;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    background: rgba(7, 18, 24, .82);
}

.pet-media-viewer-lightbox-dialog {
    width: min(1000px, calc(100vw - 40px));
    height: min(760px, calc(100vh - 40px));
    overflow: hidden;
    display: grid;
    grid-template-rows: 44px minmax(0, 1fr) 36px;
    border: 1px solid #9bb8b0;
    border-radius: 5px;
    background: #f6fbf9;
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
}

.pet-media-viewer-lightbox-head,
.pet-media-viewer-lightbox-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 14px;
    color: #21483e;
}

.pet-media-viewer-lightbox-head {
    border-bottom: 1px solid #afc4bd;
    font-size: 17px;
}

.pet-media-viewer-lightbox-head strong,
.pet-media-viewer-lightbox-footer span {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pet-media-viewer-lightbox-head button {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #21483e;
    font-size: 28px;
    line-height: 28px;
    cursor: pointer;
}

.pet-media-viewer-lightbox-stage {
    position: relative;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #101a20;
}

.pet-media-viewer-lightbox-stage img,
.pet-media-viewer-lightbox-stage video {
    display: block;
    width: calc(100% - 110px);
    height: calc(100% - 20px);
    max-width: calc(100% - 110px);
    max-height: calc(100% - 20px);
    object-fit: contain;
    background: #101a20;
}

.pet-media-viewer-lightbox-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 42px;
    height: 62px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 4px;
    background: rgba(12, 39, 50, .8);
    color: #fff;
    font-size: 40px;
    line-height: 52px;
    transform: translateY(-50%);
    cursor: pointer;
}

.pet-media-viewer-lightbox-arrow.previous { left: 14px; }
.pet-media-viewer-lightbox-arrow.next { right: 14px; }
.pet-media-viewer-lightbox-arrow:disabled { opacity: .22; cursor: default; }

.pet-media-viewer-lightbox-footer {
    border-top: 1px solid #afc4bd;
    font-size: 13px;
}


/* Pet page top row: more room for today's pending checkout and shopping list. */
.pet-window .top-area .temporary-panel {
    left: 575px;
    width: 365px;
}

.pet-window .top-area .pet-media-viewer {
    left: 950px;
    width: 610px;
}

.pet-window .top-area .pet-media-storage-card {
    left: 1573px;
    width: 277px;
}

/* Keep the daily list on one line; full details remain in cell tooltips. */
#petPendingCheckout .daily-table th:nth-child(1) { width: 16%; }
#petPendingCheckout .daily-table th:nth-child(2) { width: 16%; }
#petPendingCheckout .daily-table th:nth-child(3) { width: 12%; }
#petPendingCheckout .daily-table th:nth-child(4) { width: 40%; }
#petPendingCheckout .daily-table th:nth-child(5) { width: 16%; }

#petPendingCheckout .daily-table td {
    height: 24px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#petPendingCheckout .daily-table td a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: underline;
    text-underline-offset: 2px;
}


.pet-media-storage-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pet-media-upload-open {
    min-width: 142px;
    height: 29px;
    border-color: #2f7761;
    background: linear-gradient(#f5fffb, #bde5d6);
    color: #174e3d;
    font-weight: bold;
}

.pet-media-upload-open:not(:disabled) {
    box-shadow: 0 0 0 2px rgba(65, 143, 118, .13);
    cursor: pointer;
}

.pet-media-upload-open:disabled {
    border-color: #a4ada9;
    background: #e4e8e6;
    color: #777;
    cursor: default;
}

.pet-media-upload-overlay[hidden] {
    display: none !important;
}

.pet-media-upload-overlay {
    position: absolute;
    inset: 0;
    z-index: 3100;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20, 35, 45, .58);
}

.pet-media-upload-dialog {
    width: 780px;
    min-height: 500px;
    border: 2px solid #417866;
    background: #f8fffc;
    box-shadow: 0 12px 38px rgba(0, 0, 0, .38);
    color: #183449;
}

.pet-media-upload-head {
    position: relative;
    padding: 15px 48px 12px 18px;
    border-bottom: 1px solid #a9c5bc;
    background: #dff3ec;
}

.pet-media-upload-head h2 {
    margin: 0 0 4px;
    color: #24594d;
    font-size: 20px;
}

.pet-media-upload-head p {
    margin: 0;
    color: #4a625b;
}

.pet-media-upload-close {
    position: absolute;
    right: 10px;
    top: 9px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #31594f;
    font-size: 24px;
    line-height: 30px;
}

.pet-media-upload-body {
    display: grid;
    grid-template-columns: 326px 1fr;
    gap: 18px;
    min-height: 366px;
    padding: 16px 20px 10px;
}

.pet-media-upload-qr-column {
    text-align: center;
}

.pet-media-upload-qr-frame {
    position: relative;
    width: 304px;
    height: 304px;
    padding: 7px;
    border: 1px solid #93aaa2;
    background: #fff;
}

.pet-media-upload-qr-frame canvas {
    display: block;
    max-width: 288px;
    max-height: 288px;
    margin: 0 auto;
}

.pet-media-upload-qr-loading {
    position: absolute;
    inset: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #f1f5f3;
    color: #5a6b65;
    font-weight: bold;
}

.pet-media-upload-qr-loading[hidden] {
    display: none !important;
}

.pet-media-upload-qr-loading.error {
    background: #fff1f1;
    color: #940020;
}

.pet-media-upload-countdown {
    width: 304px;
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid #6c9b8b;
    border-top: 0;
    background: #e9fff1;
    color: #22603c;
    font-size: 15px;
    font-weight: bold;
}

.pet-media-upload-countdown.expired {
    border-color: #c97979;
    background: #fff0f0;
    color: #940020;
}

.pet-media-upload-info {
    min-width: 0;
}

.pet-media-upload-pet {
    padding: 10px 12px;
    border-left: 4px solid #3e8e72;
    background: #edf8f4;
    line-height: 21px;
}

.pet-media-upload-pet span,
.pet-media-upload-pet strong {
    display: block;
}

.pet-media-upload-pet strong {
    color: #174f3d;
    font-size: 17px;
}

.pet-media-upload-steps {
    margin: 13px 0;
    padding-left: 24px;
    color: #3c505a;
    line-height: 23px;
}

.pet-media-upload-message {
    min-height: 52px;
    padding: 8px 10px;
    border: 1px solid #c3d1cc;
    background: #f3f6f5;
    color: #53636a;
    line-height: 18px;
}

.pet-media-upload-message.success {
    border-color: #65a97e;
    background: #eafff0;
    color: #1e6538;
    font-weight: bold;
}

.pet-media-upload-message.error {
    border-color: #c97979;
    background: #fff0f0;
    color: #9a0020;
    font-weight: bold;
}

.pet-media-upload-direct {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 6px;
    margin-top: 12px;
}

.pet-media-upload-direct label {
    grid-column: 1 / -1;
    color: #5a686f;
}

.pet-media-upload-direct input {
    min-width: 0;
    height: 28px;
    padding: 3px 7px;
    border: 1px solid #879b93;
    background: #fff;
    color: #3c4f58;
}

.pet-media-upload-direct button {
    height: 28px;
    padding: 2px 10px;
}

.pet-media-upload-direct a {
    grid-column: 1 / -1;
    width: fit-content;
    color: #166b91;
}

.pet-media-upload-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 11px 20px 15px;
    border-top: 1px solid #d5e2dd;
}

.pet-media-upload-actions button {
    min-width: 122px;
    height: 30px;
}

.pet-media-upload-done {
    border-color: #397565;
    background: linear-gradient(#effff9, #bde2d5);
    font-weight: bold;
}

@media (max-width: 900px) {
    .pet-media-upload-dialog {
        width: min(780px, calc(100vw - 24px));
        max-height: calc(100vh - 24px);
        overflow: auto;
    }

    .pet-media-upload-body {
        grid-template-columns: 1fr;
    }

    .pet-media-upload-qr-column {
        margin: 0 auto;
    }
}


/* provet-pet-jsp-slim-phase1-r1-20261010 css */
* { box-sizing: border-box; }
        html, body { margin: 0; min-height: 100%; background: #d6d6d6; color: #183449;
            font-family: "Microsoft JhengHei", "Microsoft YaHei", Arial, sans-serif; font-size: 12px; }
        button, input, select { font: inherit; color: inherit; }
        .pet-window { position: relative; width: 1880px; min-width: 1880px; height: 900px; min-height: 900px;
            max-height: 900px; margin: 5px auto; padding: 8px; overflow: hidden; background: rgb(221,255,221);
            border: 1px solid #8fa7b9; }
        .top-area { position: relative; height: 226px; }
        .toolbar { position: absolute; left: 0; top: 0; right: 0; height: 30px; display: flex; align-items: center;
            gap: 6px; white-space: nowrap; }
        .btn, button, select, input[type=date] { height: 24px; border: 1px solid #8ca1af;
            background: linear-gradient(#fff,#dce6ee); padding: 2px 12px; text-decoration: none; }
        .btn { display: inline-block; line-height: 18px; text-align: center; }
        .staff-select { width: 90px; padding: 1px 4px; }
        .pet-number { width: 58px; height: 22px; border: 1px solid #a8b2b8; background: #f8f8ff; text-align: center; }
        .staff-error { color: #a00020; margin-left: 5px; }
        .pet-summary { position: absolute; left: 0; top: 34px; width: 310px; height: 154px; padding: 8px;
            border: 5px solid #c5c5c5; background: #e8e8e8; color: #004080; font-size: 14px; line-height: 23px; }
        .pet-summary .section-help { top: 1px; right: 3px; }
        .pet-summary-message { color: #a00020; }
        .weight-input { width: 58px; height: 20px; padding: 1px 4px; border: 1px solid #8ca1af; background: #fff;
            color: #004080; text-align: right; }
        .weight-input:focus { outline: 2px solid #d59a22; outline-offset: 1px; background: #fffbea; }
        .weight-input[readonly] { border-color: transparent; background: transparent; }
        .weight-line { height: 23px; margin: 0; display: flex; align-items: center; white-space: nowrap; }
        .weight-submit { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden;
            clip: rect(0 0 0 0); white-space: nowrap; }
        .weight-warning { position: absolute; left: 0; top: 192px; width: 310px; height: 29px; border: 2px solid #808000;
            background: transparent; color: #800040; text-align: center; line-height: 25px; font-size: 13px; cursor: text; }
        .daily-panel{position:absolute;top: -3px;width:245px;height:221px}
        .medical-panel { left: 320px; }
        .temporary-panel { left: 575px; }
        .daily-title { height: 20px; padding-left: 2px; color: #284d3b; line-height: 20px; }
        .date-form { height: 28px; display: flex; gap: 6px; align-items: center; }
        .date-form input { width: 130px; padding: 1px 4px; background: #fff; }
        .date-form button { width: 66px; padding: 1px 6px; }
        .daily-table-wrap { height: 173px; overflow: auto; border: 1px solid #8c9ca7; background: #f2f2f2; }
        table { width: 100%; border-collapse: collapse; table-layout: fixed; }
        th { height: 23px; padding: 2px 4px; border: 1px solid #d6e1e8; background: #d97600; color: #fff;
            white-space: nowrap; }
        td { height: 24px; padding: 2px 4px; border: 1px solid #b2bcc3; background: #fff; white-space: nowrap;
            overflow: hidden; text-overflow: ellipsis; }
        .daily-table col:nth-child(1) { width: 48%; } .daily-table col:nth-child(2) { width: 25%; }
        .daily-table col:nth-child(3) { width: 27%; }
        .daily-table a { color: #183449; text-decoration: none; }
        .daily-table tr:hover td { background: #e4f2ff; }
        .selectable-pet-row { cursor: pointer; }
        .selectable-pet-row:focus td { outline: 2px solid #d59a22; outline-offset: -2px; }
        .empty-cell { color: #777; text-align: center; }
        .error-cell { color: #a00020; background: #fff0f0; }
        .tabs-area { position: absolute; left: 8px; right: 8px; top: 230px; bottom: 8px; }
        .tab-strip { display: flex; height: 31px; align-items: flex-end; overflow-x: auto; }
        .tab { flex-shrink: 0; min-width: 110px; height: 30px; padding: 0 14px; border: 1px solid #7f9db2; border-bottom: 0;
            border-radius: 7px 7px 0 0; background: #eef1f3; color: #183449; line-height: 29px; text-align: center;
            text-decoration: none; white-space: nowrap; }
        .tab.active { position: relative; z-index: 2; background: #f6f6f6; font-weight: bold;
            box-shadow: inset 0 3px 0 #49687d; }
        .tab-content { position: absolute; left: 0; right: 0; top: 30px; bottom: 0; border: 2px solid #7ca6c4;
            background: #f3f3f3; }
        .tab-content .section-help { top: 5px; right: 7px; }
        .controlled-drug-panel { position: absolute; inset: 7px; overflow: auto;
            padding: 16px; color: #183449; background: #fffaf4; }
        .controlled-drug-panel h2 { margin: 0 0 9px; font-size: 19px; }
        .controlled-drug-panel p { margin: 4px 0 14px; line-height: 1.5; }
        .controlled-drug-table { width: 100%; min-width: 780px; table-layout: auto; background: white; }
        .controlled-drug-table th, .controlled-drug-table td {
            border: 1px solid #d5c6b6; padding: 8px; text-align: left; }
        .controlled-drug-table th { background: #f9e9da; }
        .controlled-drug-table a { color: #064d85; }
        .controlled-drug-panel .controlled-note { margin-top: 14px; max-width: 900px; }
        .history-work { position: absolute; inset: 0; overflow: hidden; color: #183449; }
        .history-left { position: absolute; left: 10px; top: 8px; width: 500px; height: 590px; }
        .history-actions { height: 28px; display: flex; align-items: center; gap: 3px; white-space: nowrap; }
        .history-actions form { margin: 0; }
        .history-actions button { min-width: 95px; height: 24px; padding: 1px 8px; }
        .history-current { position: absolute; left: 0; right: 0; top: 34px; height: 168px; }
        .history-current-head, .history-all-head, .history-pane-title { height: 24px; padding: 2px 7px;
            border: 1px solid #8ca1af; background: #e7edf1; line-height: 19px; white-space: nowrap; }
        .history-number { width: 58px; height: 20px; padding: 1px 4px; border: 1px solid #a8b2b8;
            background: #f8f8ff; text-align: center; }
        .history-message { margin-left: 10px; color: #28744b; }
        .history-message.error { color: #a00020; }
        .history-field-name { color: #004080; font-weight: bold; }
        .history-text { display: block; width: 100%; height: calc(100% - 24px); resize: none; padding: 7px;
            border: 1px solid #8ca1af; border-top: 0; background: #fff; color: #183449; font: inherit; line-height: 19px; }
        .history-all { position: absolute; left: 0; right: 0; top: 210px; bottom: 0; }
        .history-all-head { color: #007f7f; text-align: center; }
        .history-right { position: absolute; left: 522px; top: 4px; width: 440px; height: 590px; }
        .history-med-pane { position: absolute; left: 0; right: 0; top: 0; height: 168px; }
        .history-drug-pane { position: absolute; left: 0; right: 0; top: 177px; height: 150px; }
        .history-table-wrap { height: calc(100% - 24px); overflow: auto; border: 1px solid #8ca1af; border-top: 0;
            background: #fff; }
        .history-table th { background: #d97600; }
        .history-table td { height: 25px; }
        .history-table tbody tr:not(.error-row) { cursor: pointer; }
        .history-table tbody tr:hover td { background: #e4f2ff; }
        .history-table .selected td { background: #fff1be; }
        .history-table a { display: block; color: #183449; text-decoration: none; }
        .history-med-table col:nth-child(1) { width: 32%; }
        .history-med-table col:nth-child(2) { width: 23%; }
        .history-med-table col:nth-child(3) { width: 33%; }
        .history-med-table col:nth-child(4) { width: 12%; }
        .history-drug-table col:nth-child(1) { width: 29%; }
        .history-drug-table col:nth-child(2) { width: 59%; }
        .history-drug-table col:nth-child(3) { width: 12%; }
        .history-drug-table td { height: 40px; white-space: normal; line-height: 17px; vertical-align: top; }
        .history-delete { min-width: 0; width: 42px; height: 22px; padding: 0 3px; color: #9f001f; }
        .history-remaining { position: absolute; left: 982px; right: 10px; top: 4px; bottom: 276px;
            border-left: 1px dashed #bdc7ce; color: #183449; }
        .treat-stage { overflow: hidden; }
        .treat-panel { position: absolute; border: 1px solid #aab6bd; background: #eeeeee; }
        .treat-panel-title { position: absolute; left: 8px; top: -1px; height: 20px; padding: 0 5px;
            background: #eeeeee; color: #004080; line-height: 20px; font-weight: bold; }
        .treat-panel-3 { left: 8px; top: 0; width: 500px; height: 142px; padding: 22px 9px 3px; }
        .treat-panel-3-grid { position: relative; display: grid;
            grid-template-columns: 62px 48px 18px 70px 43px 16px;
            grid-template-rows: 24px 24px 24px 1fr; width: 100%; height: 100%;
            align-items: center; column-gap: 3px; }
        .treat-panel-3-grid label { white-space: nowrap; }
        .treat-panel-3-grid input, .treat-panel-3-grid select { width: 100%; height: 21px; padding: 1px 4px;
            border: 1px solid #9eabb4; background: #fff; }
        .treat-drug-label { grid-column: 1; grid-row: 1; }
        .treat-drug-name { grid-column: 2 / 7; grid-row: 1; }
        .treat-route-types { position: absolute; left: 288px; right: 0; top: 0; height: 24px;
            display: flex; align-items: center; gap: 8px; white-space: nowrap; }
        .treat-route-types label { display: flex; gap: 2px; align-items: center; }
        .treat-route-types input { width: auto; height: auto; }
        .treat-days-label { grid-column: 1; grid-row: 2; }
        #treatDays { grid-column: 2; grid-row: 2; }
        .treat-days-unit { grid-column: 3; grid-row: 2; }
        .treat-total-value-label { grid-column: 4; grid-row: 2; }
        #treatTotalValue { grid-column: 5; grid-row: 2; }
        .treat-package-unit { grid-column: 6; grid-row: 2; margin-left: -1px; }
        .treat-often-label { grid-column: 1; grid-row: 3; }
        #treatOften { grid-column: 2 / 4; grid-row: 3; }
        .treat-route-label { grid-column: 4; grid-row: 3; }
        #treatRoute { grid-column: 5 / 7; grid-row: 3; }
        .treat-note-label { grid-column: 1; grid-row: 4; align-self: start; padding-top: 5px; }
        .treat-note { grid-column: 2 / 7; grid-row: 4; align-self: stretch; width: 100%; min-height: 31px;
            resize: none; border: 1px solid #9eabb4; background: #fff; }
        .treat-direction { position: absolute; left: 288px; right: 0; top: 28px; bottom: 0;
            width: auto; height: auto; resize: none; padding: 5px; overflow: auto;
            border: 1px solid #7798ad; background: #fff; color: #183449; font: inherit; line-height: 17px; }
        .treat-direction:focus { outline: 2px solid #d59a22; outline-offset: -2px; background: #fffbea; }
        .treat-panel-4 { left: 8px; top: 150px; width: 500px; height: 84px; padding: 22px 7px 6px; }
        .treat-panel-4 textarea { width: 100%; height: 54px; resize: none; border: 1px solid #9eabb4; background: #fff; }
        .treat-note-actions { position: absolute; top: -1px; right: 7px; display: flex; align-items: center; gap: 5px; }
        .treat-note-actions button { min-width: 72px; height: 19px; padding: 0 4px; font-size: 11px; }
        .treat-note-status { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
        .treat-add { position: absolute; left: 7px; top: 7px; width: 132px; height: 27px; border: 2px groove #c8d8c8;
            background: #e6ffe6; color: #804000; font-weight: bold; }
        .treat-add:focus, .treat-search-side input:focus { outline: 2px solid #d59a22; outline-offset: 1px; }
        .treat-panel-2 { left: 522px; right: 10px; top: 342px; bottom: 10px; padding: 7px; }
        .treat-search-side { position: absolute; left: 7px; top: 40px; width: 207px; bottom: 37px; }
        .treat-search-side input { width: 100%; height: 23px; padding: 2px 5px; border: 1px solid #9eabb4; background: #fff; }
        .treat-mini-wrap { position: absolute; left: 0; right: 0; top: 27px; bottom: 0; overflow: auto;
            border: 1px solid #8ca1af; background: #fff; }
        .treat-mini-table { width: 100%; border: 0; background: #fff; }
        .treat-mini-table th { background: #4f8fc2; }
        .treat-mini-table td { height: 24px; }
        .treat-mini-table .drug-merch { color: #4b6671; font-size: 11px; }
        .drug-search-row { cursor: pointer; }
        .drug-search-row:hover td, .drug-search-row.is-current td { background: #fff1be; }
        .drug-search-row[hidden] { display: none; }
        .drug-search-error td { height: auto; white-space: normal; color: #a00020; background: #fff0f0; }
        .treat-selected-wrap { position: absolute; left: 222px; right: 7px; top: 7px; bottom: 37px;
            overflow: auto; border: 1px solid #8ca1af; background: #fff; }
        .treat-selected-table th { background: #d97600; }
        .treat-selected-table td { height: 31px; padding: 2px; font-size: 10px; }
        .treat-selected-table .selected-drug-row { cursor: pointer; }
        .treat-selected-table .selected-drug-row.is-current td { background: #fff1be; }
        .treat-selected-table input { width: 100%; height: 22px; padding: 1px 3px; border: 1px solid #b7c1c8;
            background: #fff; font: inherit; text-align: right; }
        .treat-selected-table input[readonly] { border-color: transparent; background: transparent; color: #59656d; }
        .treat-selected-table .drug-name-input { text-align: left; color: #183449; }
        .treat-selected-table .controlled-register-choice { display:block; width:100%;
            max-width:100%; margin-top:3px; font-size:11px; border:1px solid #8aabbd; }
        .treat-selected-table .controlled-register-hint { display:block; color:#765019;
            font-size:10px; line-height:1.2; }
        .treat-selected-table .selected-drug-delete { width: 42px; height: 22px; padding: 0 3px; color: #9f001f; }
        .treat-selected-table col:nth-child(1) { width: 18%; }
        .treat-selected-table col:nth-child(2) { width: 8%; }
        .treat-selected-table col:nth-child(3) { width: 10%; }
        .treat-selected-table col:nth-child(4) { width: 10%; }
        .treat-selected-table col:nth-child(5) { width: 11%; }
        .treat-selected-table col:nth-child(6) { width: 9%; }
        .treat-selected-table col:nth-child(7) { width: 9%; }
        .treat-selected-table col:nth-child(8) { width: 8%; }
        .treat-selected-table col:nth-child(9) { width: 10%; }
        .treat-selected-table col:nth-child(10) { width: 7%; }
        .treat-send { position: absolute; left: 8px; bottom: 7px; width: 140px; height: 23px; }
        .treat-total-label { position: absolute; right: 88px; bottom: 11px; white-space: nowrap; }
        .treat-total { position: absolute; right: 7px; bottom: 7px; width: 76px; height: 23px; padding: 2px 5px;
            border: 1px solid #9eabb4; background: #fff; text-align: right; }
        .treat-scroll-3 { position: absolute; left: 516px; right: 0; top: 0; bottom: 0; border: 1px solid #8ca1af;
            background: #fff; overflow: auto; }
        .treat-scroll-3-title { position: sticky; top: 0; z-index: 2; height: 25px; padding: 4px 7px;
            background: #e7edf1; border-bottom: 1px solid #8ca1af; color: #004080; font-weight: bold; }
        .treat-history-table th { position: sticky; top: 25px; z-index: 1; background: #d97600; }
        .treat-history-table col:nth-child(1) { width: 31%; }
        .treat-history-table col:nth-child(2) { width: 45%; }
        .treat-history-table col:nth-child(3), .treat-history-table col:nth-child(4) { width: 12%; }
        .treat-history-table td { height: 42px; white-space: normal; vertical-align: top; }
        .treat-history-table button { width: 43px; height: 22px; padding: 0 3px; }
        .treat-history-table .treat-delete-drug { color: #9f001f; }
        .treat-stage [disabled], .treat-panel-2 [disabled] { color: #6f777c; cursor: default; }
        .empty-function-panel { position: absolute; inset: 8px; border: 1px solid #aab6bd;
            background: #f3f3f3; overflow: hidden; }
        .empty-function-title { height: 27px; padding: 4px 9px; border-bottom: 1px solid #aab6bd;
            background: #e7edf1; color: #004080; font-size: 14px; font-weight: bold; line-height: 18px; }
        .drug-management { position: absolute; left: 0; top: 0; width: 70%; height: 80%;
            display: grid; grid-template-columns: 455px minmax(0,1fr); gap: 8px; padding: 6px 7px 8px;
            overflow: hidden; color: #183449; }
        .drug-editor { position: relative; min-width: 0; min-height: 0;
            border: 1px solid #c3a181; background: rgb(255,232,208); }
        .drug-editor-title { height: 23px; padding: 2px 6px; line-height: 18px; border-bottom: 1px solid #c3a181;
            background: rgb(255,232,208); color: #604329; font-size: 12px; font-weight: bold; }
        .drug-editor-actions { position: absolute; right: 6px; top: 2px; display: flex; gap: 4px; }
        .drug-editor-actions button { width: 58px; height: 19px; padding: 0 3px; line-height: 17px;
            white-space: nowrap; border-color: #bc9e82; background: #fff8f0; }
        .drug-editor-actions button:hover { background: #ffdbb7; }
        .drug-management button:focus-visible, .drug-management input:focus-visible,
        .drug-management select:focus-visible, .drug-management textarea:focus-visible {
            outline: 2px solid #9f602b; outline-offset: 1px; }
        .drug-editor-message { height: 20px; padding: 2px 6px; line-height: 16px; color: #28744b; white-space: nowrap;
            overflow: hidden; text-overflow: ellipsis; }
        .drug-editor-message.error { color: #a00020; background: #fff0f0; }
        .drug-fields { display: grid; grid-template-columns: 76px minmax(0,1fr) 76px minmax(0,1fr);
            grid-auto-rows: 22px; align-items: center; column-gap: 4px; row-gap: 1px; padding: 4px 6px;
            max-height: calc(100% - 129px); overflow: auto; }
        .drug-fields label { text-align: right; white-space: nowrap; }
        .drug-fields input, .drug-fields textarea, .drug-fields select { width: 100%; min-width: 0; border: 1px solid #bc9e82;
            background: #fff; color: #183449; font: inherit; }
        .drug-fields input, .drug-fields select { height: 19px; padding: 0 3px; }
        .drug-fields textarea { height: 48px; padding: 3px 4px; resize: none; line-height: 17px; }
        .drug-fields input[readonly], .drug-fields textarea[readonly], .drug-fields select:disabled {
            border-color: #dac4ad; background: #fff8f0; color: #59656d; }
        .drug-fields .drug-span-3 { grid-column: span 3; }
        .drug-fields .drug-short { width: 56px; }
        .drug-select-field { display: flex; gap: 4px; align-items: center; min-width: 0; }
        .drug-select-field .drug-editable { min-width: 0; flex: 1 1 auto; }
        .drug-select-field .drug-choice { width: 78px; flex: 0 0 78px; padding: 0 2px; }
        .drug-dose-field { display: flex; flex-wrap: wrap; align-items: center; width: 100%; min-width: 0;
            row-gap: 2px; white-space: nowrap; }
        .drug-fields > label[for=drugDosageDog], .drug-fields > #drugDosageDog,
        .drug-fields > label[for=drugDosDog], .drug-fields > label[for=drugDosageCat],
        .drug-fields > #drugDosageCat, .drug-fields > label[for=drugDosCat],
        .drug-fields > .drug-dose-field { grid-row: span 2; }
        .drug-dose-field .drug-short { width: 56px; flex: 0 0 56px; }
        .drug-dose-unit { margin-left: 4px; color: #586a75; }
        .drug-inline-warning { flex-basis: 100%; margin-left: 0; color: #a00040; font-size: 10px;
            line-height: 13px; white-space: normal; }
        .drug-unit-warning { grid-column: 1 / 5; grid-row: span 2; min-height: 22px; color: #a00040; font-size: 11px;
            line-height: 14px; text-align: center; white-space: normal; }
        .drug-long-field { grid-column: 1 / 5; grid-row: span 2; display: grid;
            grid-template-columns: 76px minmax(0,1fr); column-gap: 4px; align-items: start; height: 45px; }
        .drug-long-field label { padding-top: 3px; }
        .drug-long-field textarea { height: 45px; }
        .drug-editor-note { position: absolute; left: 6px; right: 6px; bottom: 6px; height: 74px;
            padding: 4px 6px; border: 1px solid #c3a181; background: #fff8f0; color: #a00040;
            font-size: 11px; line-height: 16px; overflow: auto; }
        .drug-list-panel { position: relative; min-width: 0; min-height: 0;
            border: 1px solid #c3a181; background: rgb(255,232,208); }
        .drug-list-toolbar { height: 30px; display: flex; align-items: center; gap: 5px; padding: 3px 6px;
            border-bottom: 1px solid #c3a181; background: rgb(255,232,208); white-space: nowrap; }
        .drug-list-count { min-width: 110px; color: #604329; font-weight: bold; }
        .drug-list-toolbar label { margin-left: auto; }
        .drug-list-search { width: 161px; min-width: 0; height: 20px; padding: 0 4px; border: 1px solid #bc9e82; background: #fff; }
        .drug-list-wrap { position: absolute; left: 0; right: 0; top: 30px; bottom: 0; overflow: auto; background: #fff; }
        .drug-management-table th { position: sticky; top: 0; z-index: 1;
            height: 20px; padding: 1px 3px; background: #a56836; }
        .drug-management-table td { height: 23px; padding: 1px 3px; }
        .drug-management-table col:nth-child(1) { width: 7%; }
        .drug-management-table col:nth-child(2) { width: 24%; }
        .drug-management-table col:nth-child(3) { width: 22%; }
        .drug-management-table col:nth-child(4) { width: 13%; }
        .drug-management-table col:nth-child(5), .drug-management-table col:nth-child(6) { width: 12%; }
        .drug-management-table col:nth-child(7) { width: 10%; }
        .drug-management-row { cursor: pointer; }
        .drug-management-row:hover td, .drug-management-row.current td { background: #fff1be; }
        .drug-management-row[hidden] { display: none; }
        .drug-delete-disabled { width: 34px; height: 18px; padding: 0 2px; line-height: 16px;
            color: #777; border-color: #bc9e82; background: #fff8f0; }
        .vaccine-management { right: auto; bottom: auto; width: 70%; height: 80%;
            display: grid; grid-template-columns: 455px minmax(0,1fr); gap: 8px;
            padding: 6px 7px 8px; }
        .vaccine-management .vaccine-editor, .vaccine-management .drug-list-panel {
            position: relative; inset: auto; width: auto; min-width: 0; min-height: 0;
            border: 1px solid #c3a181; background: rgb(255,232,208); }
        .vaccine-management .drug-editor-title { height: 23px; padding: 2px 6px; line-height: 18px;
            border-color: #c3a181; background: rgb(255,232,208); color: #604329; font-size: 12px; }
        .vaccine-editor .drug-editor-actions { left: auto; right: 6px; top: 2px; gap: 4px; }
        .vaccine-editor .drug-editor-actions button { width: 58px; height: 19px; padding: 0 3px;
            line-height: 17px; white-space: nowrap; border-color: #bc9e82; background: #fff8f0; }
        .vaccine-editor .drug-editor-actions button:hover { background: #ffdbb7; }
        .vaccine-management button:focus-visible, .vaccine-management input:focus-visible,
        .vaccine-management textarea:focus-visible { outline: 2px solid #9f602b; outline-offset: 1px; }
        .vaccine-management .drug-editor-message { height: 20px; padding: 2px 6px; line-height: 16px; }
        .vaccine-fields { grid-template-columns: 68px minmax(0,1fr) 64px minmax(0,1fr);
            grid-auto-rows: 23px; column-gap: 4px; row-gap: 2px; padding: 4px 6px;
            max-height: calc(100% - 43px); overflow: auto; }
        .vaccine-fields input { height: 19px; min-width: 0; padding: 0 3px; border-color: #bc9e82; }
        .vaccine-fields textarea { min-width: 0; border-color: #bc9e82; }
        .vaccine-fields input[readonly], .vaccine-fields textarea[readonly] {
            border-color: #dac4ad; background: #fff8f0; }
        .vaccine-fields .drug-short { width: 56px; }
        .vaccine-fields .vaccine-full { grid-column: span 3; }
        .vaccine-fields .vaccine-long-field { grid-column: 1 / 5; grid-row: span 2; display: grid;
            grid-template-columns: 68px minmax(0,1fr); column-gap: 4px; align-items: start; height: 48px; }
        .vaccine-fields .vaccine-long-field label { padding-top: 3px; }
        .vaccine-fields .vaccine-long-field textarea { height: 48px; padding: 3px 4px; }
        .vaccine-management .drug-list-toolbar { height: 30px; gap: 5px; padding: 3px 6px;
            border-color: #c3a181; background: rgb(255,232,208); }
        .vaccine-management .drug-list-count { min-width: 110px; color: #604329; }
        .vaccine-management .drug-list-search { width: 161px; min-width: 0; height: 20px;
            padding: 0 4px; border-color: #bc9e82; }
        .vaccine-management .drug-list-wrap { top: 30px; background: #fff; }
        .vaccine-management-table th { position: sticky; top: 0; z-index: 1;
            height: 20px; padding: 1px 3px; background: #a56836; }
        .vaccine-management-table td { height: 23px; padding: 1px 3px; }
        .vaccine-management .drug-delete-disabled { width: 34px; height: 18px; padding: 0 2px;
            line-height: 16px; border-color: #bc9e82; background: #fff8f0; }
        .vaccine-management-table col:nth-child(1) { width: 6%; }
        .vaccine-management-table col:nth-child(2) { width: 6%; }
        .vaccine-management-table col:nth-child(3) { width: 19%; }
        .vaccine-management-table col:nth-child(4) { width: 19%; }
        .vaccine-management-table col:nth-child(5) { width: 14%; }
        .vaccine-management-table col:nth-child(6) { width: 12%; }
        .vaccine-management-table col:nth-child(7) { width: 7%; }
        .vaccine-management-table col:nth-child(8) { width: 6%; }
        .vaccine-management-table col:nth-child(9) { width: 5%; }
        .vaccine-management-table col:nth-child(10) { width: 6%; }
        .vaccine-management-row { cursor: pointer; }
        .vaccine-management-row:hover td, .vaccine-management-row.current td { background: #fff1be; }
        .vaccine-management-row[hidden] { display: none; }
        .tab-strip .tab.vaccination-tab, .tab-strip .tab.vaccine-management-tab,
        .tab-strip .tab.drug-management-tab,
        .tab-content.vaccination-tab, .tab-content.vaccine-management-tab,
        .tab-content.drug-management-tab { background: rgb(255,232,208); }
        .vaccination-work { position: absolute; left: 0; top: 0; width: 70%; height: 80%;
            display: grid; grid-template-columns: 595px minmax(0,1fr);
            grid-template-rows: 22px 226px minmax(0,1fr); gap: 8px; padding: 6px 7px 8px;
            color: #183449; }
        .vaccination-toolbar { grid-column: 1 / -1; min-width: 0;
            display: flex; align-items: center; gap: 8px; padding: 0 6px;
            border: 1px solid #c3a181; background: rgb(255,232,208); white-space: nowrap; }
        .vaccination-toolbar strong { color: #604329; }
        .vaccination-work button, .vaccination-work .btn { height: 20px; padding: 0 5px;
            border-color: #bc9e82; background: #fff8f0; line-height: 18px; white-space: nowrap; }
        .vaccination-work button:hover, .vaccination-work .btn:hover { background: #ffdbb7; }
        .vaccination-work button:focus-visible, .vaccination-work select:focus-visible,
        .vaccination-work input:focus-visible { outline: 2px solid #9f602b; outline-offset: 1px; }
        .vaccination-work button:disabled { color: #888; cursor: default; }
        .vaccination-work select { background: #fff; }
        .vaccination-toolbar .btn { width: 68px; height: 18px; padding: 0 4px; line-height: 16px; }
        .vaccination-status { color: #28744b; overflow: hidden; text-overflow: ellipsis; }
        .vaccination-status.error { color: #a00020; }
        .vaccination-card { position: relative; min-width: 0; min-height: 0;
            border: 1px solid #c3a181; background: rgb(255,232,208); overflow: hidden; }
        .vaccination-injection { grid-column: 1; grid-row: 2; }
        .vaccination-history { grid-column: 2; grid-row: 2; }
        .vaccination-schedule { grid-column: 1; grid-row: 3; }
        .vaccination-schedule-history { grid-column: 2; grid-row: 3; }
        .vaccination-card-title { height: 22px; padding: 2px 6px; line-height: 17px;
            border-bottom: 1px solid #c3a181; background: rgb(255,232,208);
            color: #604329; font-size: 12px; font-weight: bold; }
        .vaccination-editor-row { height: 29px; display: flex; align-items: center; gap: 5px; padding: 3px 6px; }
        .vaccination-editor-row select { width: 364px; height: 20px; padding: 0 4px; }
        .vaccination-editor-row button { width: 62px; }
        .vaccination-pending-wrap { position: absolute; left: 6px; right: 6px; top: 52px; bottom: 31px;
            overflow: auto; border: 1px solid #c3a181; background: #fff; }
        .vaccination-pending-table col:nth-child(1) { width: 38%; }
        .vaccination-pending-table col:nth-child(2) { width: 12%; }
        .vaccination-pending-table col:nth-child(3), .vaccination-pending-table col:nth-child(4),
        .vaccination-pending-table col:nth-child(5) { width: 13%; }
        .vaccination-pending-table col:nth-child(6) { width: 11%; }
        .vaccination-work th { height: 20px; padding: 1px 3px; background: #a56836; }
        .vaccination-pending-table td { height: 25px; padding: 1px 3px; }
        .vaccination-pending-table input { width: 100%; height: 18px; padding: 0 3px;
            border: 1px solid #aab6bd; background: #fff; text-align: right; }
        .vaccination-pending-table input[readonly] { border-color: transparent; background: transparent; }
        .vaccination-pending-table button { width: 34px; height: 18px; padding: 0 2px; line-height: 16px; color: #9f001f; }
        .vaccination-confirm { position: absolute; left: 6px; bottom: 5px; width: 64px; }
        .vaccination-total-label { position: absolute; right: 68px; bottom: 7px; white-space: nowrap; }
        .vaccination-total { position: absolute; right: 6px; bottom: 5px; width: 56px; height: 20px;
            padding: 0 3px; border: 1px solid #bc9e82; background: #fff; text-align: right; }
        .vaccination-table-wrap { position: absolute; left: 0; right: 0; top: 22px; bottom: 0;
            overflow: auto; background: #fff; }
        .vaccination-data-table th { position: sticky; top: 0; z-index: 1; }
        .vaccination-data-table td { height: 24px; padding: 1px 3px; }
        .vaccination-data-table .detail-cell { white-space: normal; height: auto; min-height: 24px; line-height: 18px; }
        .vaccination-data-table button { width: 34px; height: 18px; padding: 0 2px; line-height: 16px; color: #9f001f; }
        .vaccination-history-table col:nth-child(1) { width: 22%; }
        .vaccination-history-table col:nth-child(2) { width: 57%; }
        .vaccination-history-table col:nth-child(3) { width: 12%; }
        .vaccination-history-table col:nth-child(4) { width: 9%; }
        .vaccination-schedule-form { position: absolute; inset: 22px 0 0; padding: 6px; }
        .vaccination-schedule-controls { display: flex; flex-wrap: wrap; align-content: flex-start;
            align-items: center; gap: 5px; height: 48px; white-space: nowrap; }
        .vaccination-schedule-date-controls { display: flex; flex-basis: 100%; align-items: center; gap: 5px; }
        .vaccination-schedule-controls input[type=date] { width: 112px; height: 20px; padding: 0 2px; }
        .vaccination-schedule-controls label { display: inline-flex; align-items: center; gap: 2px; }
        .vaccination-schedule-controls input[type=radio] { margin: 0 2px; }
        .vaccination-schedule-controls select { width: 179px; height: 20px; padding: 0 3px; }
        .vaccination-schedule-controls button { width: 46px; }
        .vaccination-schedule-text { position: absolute; left: 6px; right: 6px; top: 58px; bottom: 31px;
            width: auto; height: auto; padding: 5px; resize: none; border: 1px solid #c3a181;
            background: #fff; color: #183449; font: inherit; line-height: 18px; }
        .vaccination-schedule-actions { position: absolute; left: 6px; bottom: 5px; display: flex; gap: 5px; }
        .vaccination-schedule-actions button { width: 64px; }
        .vaccination-schedule-table col:nth-child(1) { width: 18%; }
        .vaccination-schedule-table col:nth-child(2) { width: 62%; }
        .vaccination-schedule-table col:nth-child(3) { width: 10%; }
        .vaccination-schedule-table col:nth-child(4) { width: 10%; }


.section-help {
    position: absolute;
    z-index: 30;
    top: 4px;
    right: 5px;
    min-width: 0;
    height: 18px;
    padding: 0 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #003b70;
    font: bold 11px/18px "Microsoft JhengHei", Arial, sans-serif;
    text-align: center;
    cursor: pointer;
}
.section-help:hover,
.section-help:focus-visible {
    background: transparent;
    color: #001f4d;
    text-decoration: underline;
    outline: 1px dotted #003b70;
}
.section-help.inline {
    position: static;
    flex: 0 0 auto;
    margin-left: 6px;
}
.section-help-backdrop[hidden] { display: none; }
.section-help-backdrop {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .36);
}
.section-help-dialog {
    width: min(520px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    border: 2px solid #003b70;
    border-radius: 5px;
    background: #fffff2;
    box-shadow: 0 7px 24px rgba(0, 0, 0, .30);
    color: #222;
    font: 14px/1.7 "Microsoft JhengHei", Arial, sans-serif;
}
.section-help-head {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 5px 8px 5px 14px;
    background: #003b70;
    color: #fff;
}
.section-help-title { flex: 1; font-size: 17px; font-weight: bold; }
.section-help-body { padding: 12px 18px 15px; }
.section-help-body p { margin: 0 0 7px; }
.section-help-body ol,
.section-help-body ul { margin: 4px 0 0; padding-left: 24px; }
.section-help-body li { margin: 3px 0; }
.section-help-body .help-note {
    margin-top: 9px;
    padding: 6px 9px;
    border-left: 4px solid #c00020;
    background: #fff0f0;
    color: #7c1426;
}
body.section-help-open { overflow: hidden; }


/* pet-history-layout-r7-20260919 */

/* Reserve the first row for identity; daily records start on the next row. */
.pet-window .top-area > .toolbar {
    height: 30px;
    gap: 6px;
    overflow: hidden;
}
.pet-window .toolbar > .btn,
.pet-window .toolbar > label,
.pet-window .toolbar > .pet-number {
    flex: 0 0 auto;
}
.pet-window .toolbar > .current-staff-badge {
    flex: 0 1 auto;
    min-width: 0 !important;
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pet-window .top-area > .daily-panel {
    top: 34px;
    bottom: 5px;
    height: auto;
}
.pet-window .daily-panel > .daily-table-wrap {
    height: calc(100% - 48px);
    min-height: 0;
}

/* The header, editable record and feedback are separate, non-overlapping rows. */
#historySaveForm.history-current {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
#historySaveForm > .history-current-head {
    flex: 0 0 auto;
    height: auto;
    min-height: 24px;
    white-space: normal;
    line-height: 22px;
}
#historySaveForm > textarea.history-text {
    flex: 1 1 0;
    height: auto;
    min-height: 60px;
    overflow: auto;
}
#historySaveForm > #historyMessage {
    display: block;
    flex: 0 0 auto;
    max-height: 58px;
    margin: 0;
    padding: 3px 7px;
    border: 1px solid #8ca1af;
    border-top: 0;
    background: #f3faf3;
    color: #28744b;
    font-size: 12px;
    line-height: 18px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    overflow: auto;
}
#historySaveForm > #historyMessage:empty {
    display: none;
}
#historySaveForm > #historyMessage.error {
    background: #fff2f2;
    color: #a00020;
}


/* Both lists use the existing right-hand panel. */
#petPendingCheckout .pet-visit-switch {
    display: flex; align-items: center; gap: 4px; height: 25px;
}
#petPendingCheckout .pet-visit-switch button {
    height: 23px; min-width: 0; padding: 1px 7px; font: inherit;
    border: 1px solid #7b929e; color: #183449; background: #f4f8f6;
    cursor: pointer; white-space: nowrap;
}
#petPendingCheckout .pet-visit-switch button[aria-pressed="true"] {
    background: #407797; color: #fff; border-color: #407797;
}
#petPendingCheckout .pet-visit-switch button:focus-visible {
    outline: 2px solid #d59a22; outline-offset: 1px;
}
#petPendingCheckout .pet-visit-pane { height: 148px; }
#petPendingCheckout .pet-visit-pane[hidden] { display: none !important; }
#petTemporaryPane .daily-table th:nth-child(1) { width: 50%; }
#petTemporaryPane .daily-table th:nth-child(2) { width: 50%; }
#petTemporaryTable .empty-cell,#petTemporaryTable .error-cell { white-space: normal; }
#petTemporaryTable .selected-temporary td { background: #fff1be; }
#petTemporaryTable .selectable-pet-row { cursor: pointer; }

/* top5-nodate-r1: the containing window has 8px of top padding.
 * -3px places this whole panel 5px below its inner top border. */
.pet-window .top-area > #petPendingCheckout {
    top: -3px;
    bottom: auto;
    height: 221px;
}
#petCheckoutPane .daily-table th:nth-child(1) { width: 20%; }
#petCheckoutPane .daily-table th:nth-child(2) { width: 15%; }
#petCheckoutPane .daily-table th:nth-child(3) { width: 45%; }
#petCheckoutPane .daily-table th:nth-child(4) { width: 20%; }


.tab-strip .tab.scan-purchase-tab { background:#eefaff; }
.tab-content.scan-purchase-tab { background:#eefaff; }
.scan-purchase-layout { display:flex; height:100%; min-height:0; min-width:0; overflow:hidden; }
.scan-purchase { box-sizing:border-box; width:40%; flex:0 0 40%; min-width:0; min-height:0; height:100%; display:flex; flex-direction:column; padding:10px 12px; gap:8px; color:#183449; }
.scan-purchase-head { display:flex; flex:0 0 auto; flex-wrap:nowrap; align-items:flex-start; gap:10px; min-height:28px; font-size:12px; }
.scan-purchase-heading { display:flex; flex:1; min-width:0; flex-wrap:wrap; align-items:center; gap:6px 12px; }
#mobileInventoryQrPanel { box-sizing:border-box; flex:0 0 137px; padding:6px; border:1px solid #8fa9bc; border-radius:4px; background:white; }
#mobileInventoryQrLink { display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; text-decoration:none; }
#mobileInventoryQrImage { display:block; width:123px; height:123px; max-width:none; background:white; image-rendering:pixelated; }
#mobileInventoryQrLink span { font-size:12px; font-weight:bold; color:#075ca2; }
#mobileInventoryQrLink small { font-size:10px; line-height:1.3; color:#506575; }
.scan-purchase-head strong { font-size:17px; }
.scan-purchase-head span { color:#506575; }
.scan-purchase-head a { color:#075ca2; }
.scan-purchase-head a[hidden] { display:none; }
.scan-purchase-input-line { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.scan-purchase-input-line label { font-size:14px; font-weight:bold; white-space:nowrap; }
.scan-purchase-input-line input { flex:1; min-width:0; height:36px; padding:5px 8px; border:2px solid #7ca6c4; border-radius:4px; font-size:16px; color:#183449; background:white; }
.scan-purchase-input-line input:focus { outline:2px solid #e8bb53; outline-offset:1px; }
.scan-purchase-input-line button { height:35px; min-width:76px; padding:0 6px; font-size:12px; }
.scan-purchase-message { min-height:18px; color:#305774; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.scan-purchase-message.error { color:#a3132e; }
.scan-purchase-choices { display:flex; gap:6px; flex-wrap:wrap; padding:7px; background:#fff4d7; border:1px solid #d9b967; }
.scan-purchase-choices[hidden] { display:none; }
.scan-purchase-choices button { height:auto; padding:5px 8px; white-space:normal; font-size:12px; }
.scan-purchase-table-wrap { flex:1; min-height:0; min-width:0; overflow:auto; border:1px solid #8fa9bc; background:#fff; }
.scan-purchase-table { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.scan-purchase-table thead { position:sticky; top:0; z-index:1; }
.scan-purchase-table th { height:30px; padding:3px 2px; background:#49758c; color:white; text-align:center; }
.scan-purchase-table td { height:44px; padding:5px 4px; border-bottom:1px solid #d5e2e9; }
.scan-purchase-table tr:nth-child(even) td { background:#f4fafc; }
.scan-purchase-table col:nth-child(1) { width:34%; }
.scan-purchase-table col:nth-child(2) { width:13%; }
.scan-purchase-table col:nth-child(3) { width:14%; }
.scan-purchase-table col:nth-child(4) { width:11%; }
.scan-purchase-table col:nth-child(5) { width:19%; }
.scan-purchase-table col:nth-child(6) { width:9%; }
.scan-purchase-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.scan-purchase-code { display:block; color:#617584; font-size:10px; margin-top:3px; }
.scan-purchase-table td:nth-child(2) { text-align:right; }
.scan-purchase-table input,.scan-purchase-table select { box-sizing:border-box; width:100%; height:29px; padding:3px 4px; border:1px solid #a0b5c3; background:white; font:inherit; text-align:right; }
.scan-purchase-table .scan-subtotal[data-manual="true"] { background:#fff4d7; border-color:#d9b967; }
.scan-purchase-table input:invalid { border-color:#bd2343; }
.scan-purchase-table button { height:27px; padding:0 4px; color:#9b1831; font-size:12px; }
.scan-purchase-empty td { text-align:center; height:65px; color:#728390; }
.scan-purchase-footer { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; min-height:48px; }
.scan-purchase-footer >span { flex:0 0 100%; color:#536b7d; font-size:12px; }
.scan-purchase-footer strong { margin-left:auto; font-size:16px; white-space:nowrap; }
.scan-purchase-footer button { height:36px; min-width:120px; padding:0 10px; background:#17668d; color:white; border:1px solid #125572; border-radius:4px; font-size:14px; font-weight:bold; }
.scan-purchase-footer button:disabled { background:#92acb8; border-color:#92acb8; cursor:default; }
.all-purchase-history { box-sizing:border-box; flex:1; min-width:0; min-height:0; display:flex; flex-direction:column; gap:8px; padding:10px 12px 10px 0; color:#183449; }
.all-purchase-history-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; min-height:28px; font-size:12px; }
.all-purchase-history-head strong { font-size:17px; }
.all-purchase-history-head span { color:#506575; }
.all-purchase-history-head button { margin-left:auto; }
.all-purchase-history button { padding:4px 9px; font:inherit; border:1px solid #8fa9bc; background:#f5fafc; color:#183449; border-radius:3px; cursor:pointer; }
.all-purchase-history button:disabled { opacity:.6; cursor:default; }
.all-purchase-history-hint { font-size:12px; color:#536b7d; line-height:1.4; }
.all-purchase-history-wrap { flex:1; min-height:160px; overflow:auto; border:1px solid #8fa9bc; background:white; }
.all-purchase-history-table { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.all-purchase-history-table thead { position:sticky; top:0; z-index:1; }
.all-purchase-history-table thead th { background:#49758c; color:white; padding:6px 3px; text-align:center; }
.all-purchase-history-table td { padding:7px 5px; border-bottom:1px solid #d5e2e9; vertical-align:top; overflow-wrap:anywhere; }
.all-purchase-history-table col:nth-child(1) { width:13%; }
.all-purchase-history-table col:nth-child(2) { width:8%; }
.all-purchase-history-table col:nth-child(3) { width:24%; }
.all-purchase-history-table col:nth-child(4) { width:5%; }
.all-purchase-history-table col:nth-child(5) { width:10%; }
.all-purchase-history-table col:nth-child(6) { width:8%; }
.all-purchase-history-table col:nth-child(7) { width:13%; }
.all-purchase-history-table col:nth-child(8) { width:10%; }
.all-purchase-history-table col:nth-child(9) { width:9%; }
.all-purchase-history-table .history-group th { padding:7px 8px; background:#deedf4; color:#183449; text-align:left; font-weight:normal; border-top:1px solid #8fa9bc; line-height:1.5; }
.all-purchase-history-table .history-delete { text-align:center; }
.all-purchase-history-table .history-delete button { color:#9b1831; white-space:nowrap; padding:4px 6px; }
.all-purchase-history-table .history-delete span { font-size:11px; color:#687f8d; }
.all-purchase-history-table .history-group a { color:#075ca2; }
.all-purchase-history-table .history-money { text-align:right; font-variant-numeric:tabular-nums; }
.all-purchase-history-table .history-date { white-space:pre-line; font-variant-numeric:tabular-nums; }
.all-purchase-history-table .history-quantity,.all-purchase-history-table .history-discount { text-align:center; }
.all-purchase-history-table small { display:block; margin-top:3px; color:#687f8d; font-size:10px; }
.all-purchase-history-table .history-pending { color:#965511; font-weight:bold; }
.all-purchase-history-table .history-billed { color:#296648; }
.all-purchase-history-table .history-legacy { color:#647482; }
.all-purchase-history-empty td { padding:25px 8px; color:#728390; text-align:center; }
.all-purchase-history-footer { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; min-height:48px; font-size:12px; }
.all-purchase-history-footer >span { flex:1; }
.all-purchase-history-footer >small { flex:0 0 100%; color:#536b7d; }
.all-purchase-history-footer .error { color:#a3132e; }
.all-purchase-history-footer button[hidden] { display:none; }


/* Family table fits in the space released by the three requested reductions. */
.pet-window .top-area > .medical-panel { left: 320px; width: 215px; }
.pet-window .top-area > #petPendingCheckout { left: 545px; width: 265px; }
.pet-window .top-area > #petFamilyPanel {
    left: 820px; top: -3px; width: 190px; height: 221px;
}
.pet-window .top-area > #petMediaViewer { left: 1020px; width: 530px; }
.pet-window .top-area > #petMediaStorageCard { left: 1573px; width: 277px; }

#petFamilyPanel .pet-family-owner {
    padding: 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-weight: bold;
}
#petFamilyPanel .pet-family-table-wrap { height: 201px; }
#petFamilyTable col:nth-child(1), #petFamilyTable col:nth-child(2) { width: 50%; }
#petFamilyTable th { position: sticky; top: 0; z-index: 1; }
#petFamilyTable td { height: 24px; }
#petFamilyTable .empty-cell, #petFamilyTable .error-cell { white-space: normal; line-height: 18px; }
#petFamilyTable .pet-family-row { cursor: pointer; }
#petFamilyTable .pet-family-row.is-current td { background: #fff1be; }
#petFamilyTable .pet-family-row:focus-visible td { outline: 2px solid #d59a22; outline-offset: -2px; }
#petFamilyTable a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#petMedicalTable .family-visit-selected td { background: #fff1be; }
#petMedicalTable .family-visit-row { cursor: pointer; }
#petMedicalTable .family-visit-row:focus-visible td { outline: 2px solid #d59a22; outline-offset: -2px; }

#petPendingCheckout .pet-visit-switch button {
    flex: 1 1 0; padding: 1px 3px; font-size: 11px;
}
#petPendingCheckout .pet-visit-switch button span { font-size: 10px; }


/* provet-pet-avatar-r1-20261005 */
.pet-list-box .data-item{position:relative;display:block;min-height:76px;padding:0 3px;background:#ffefdf}
.pet-list-box .data-item.selected,.pet-list-box .data-item:hover{background:#d8ecff}
.pet-list-box .data-item>a{position:relative;z-index:2;display:block;width:calc(100% - 70px);min-width:0;min-height:73px;box-sizing:border-box;padding:4px 2px;background:transparent!important;border-bottom:0;color:#000040;font-size:12px;line-height:17px}
.pet-list-box .data-item pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px!important;line-height:17px}
.pet-list-box .avatar-thumb-button{position:absolute;z-index:1;right:2px;top:5px;display:flex;align-items:center;justify-content:center;width:64px;height:64px;min-width:64px;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent!important;box-shadow:none;cursor:pointer}
.pet-list-box .avatar-thumb-button img{display:block;width:64px;height:64px;object-fit:contain;background:transparent!important}
.pet-window .avatar-summary-body{position:relative;min-height:98px;margin-bottom:3px}
.pet-window .avatar-summary-body .avatar-portrait{position:absolute;z-index:1;right:1px;top:2px;display:flex;align-items:center;justify-content:center;width:96px;height:96px;min-width:96px;min-height:96px;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent!important;box-shadow:none;color:inherit;cursor:pointer}
.pet-window .avatar-summary-body .avatar-portrait img{display:block;width:96px;height:96px;object-fit:contain;background:transparent!important}
.avatar-summary-text{position:relative;z-index:2;display:flex;flex-direction:column;gap:0;width:calc(100% - 99px);min-height:96px;max-height:100px;overflow:auto;font-size:12px!important;line-height:18px;overflow-wrap:anywhere}
.avatar-summary-text *{font-size:12px!important}
.avatar-profile-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:3px;align-items:baseline;min-height:18px;margin:0;line-height:18px}
.avatar-profile-heading{display:block;min-height:22px;line-height:18px}
.avatar-profile-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px}
.avatar-profile-name{font-size:12px!important;font-weight:bold;line-height:18px}
.avatar-profile-species{font-size:12px!important;color:#526c57;line-height:18px}
.avatar-profile-label{font-size:12px!important;color:#526c57;white-space:nowrap}
.avatar-profile-value{min-width:0;overflow-wrap:anywhere}
.pet-window .pet-summary:has(.avatar-summary-body){height:154px;padding-top:5px;font-size:12px!important;line-height:18px}
.pet-window .pet-summary:has(.avatar-summary-body) .section-help{z-index:3;top:0;right:1px}
.pet-window .pet-summary:has(.avatar-summary-body) .section-help,.pet-window .pet-summary:has(.avatar-summary-body) .weight-line,.pet-window .pet-summary:has(.avatar-summary-body) .weight-line *{font-size:12px!important}
.pet-window .pet-summary:has(.avatar-summary-body) .weight-line{margin-top:2px;line-height:18px}
.avatar-dialog,.avatar-lightbox{border:1px solid #80a28a;border-radius:12px;padding:18px;background:#f5faf3;color:#244830;font:15px/1.5 system-ui,"Microsoft JhengHei",sans-serif;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box}
.avatar-dialog{width:680px}.avatar-dialog::backdrop,.avatar-lightbox::backdrop{background:#13251db3}
.avatar-dialog *,.avatar-lightbox *{box-sizing:border-box}.avatar-dialog [hidden]{display:none!important}
.avatar-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.avatar-dialog h2{font-size:21px;margin:0}
.avatar-dialog button,.avatar-lightbox button,.avatar-dialog .avatar-local{position:static;min-width:0;width:auto;height:auto;min-height:36px;padding:6px 12px;border:1px solid #829c82;border-radius:6px;background:#fff;color:#244830;font:inherit;text-decoration:none;cursor:pointer;display:inline-block}
.avatar-dialog .avatar-close{font-size:25px;padding:0 10px}.avatar-dialog .avatar-pet-name{font-size:18px;font-weight:bold;margin:10px 0;overflow-wrap:anywhere}
.avatar-dialog-grid{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.avatar-current{text-align:center}.avatar-current img{display:block;width:160px;height:160px;object-fit:contain;background:white;border:1px solid #b4c9b7;border-radius:8px;margin:0 auto 10px}
.avatar-qr{text-align:center}.avatar-qr canvas{max-width:100%;height:auto!important;background:white;margin:auto;display:block}.avatar-qr p{margin:7px 0}.avatar-expiry{font-size:13px;color:#526c57}
.avatar-status{margin:12px 0;padding:9px 12px;background:#e5f0e3;white-space:pre-wrap}.avatar-status.error{background:#ffede7;color:#8d2b17}
.avatar-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.avatar-dialog .avatar-done{background:#2b6d3f;color:white}.avatar-dialog [aria-disabled=true]{opacity:.45;pointer-events:none}.avatar-dialog button:disabled{opacity:.45;cursor:default}
.avatar-lightbox img{display:block;width:min(512px,80vw);height:auto;max-height:75vh;object-fit:contain;background:#fff}.avatar-lightbox button{display:block;margin:12px 0 0 auto}
@media(max-width:540px){.avatar-dialog-grid{grid-template-columns:1fr}.avatar-current img{width:96px;height:96px}.avatar-dialog-actions>*{flex:1;text-align:center}.avatar-dialog{padding:14px}}

/* provet-owner-list-width-r1-20261005 */
.owner-window .search-panel{width:265px}
.owner-window .search-panel .search-pet-panel{width:265px}
.owner-window .owner-list-box{left:13px;width:265px}
.owner-window .pet-count{left:317px;width:359px}
.owner-window .pet-list-box{left:284px;width:312px}
.owner-window .owner-detail{left:603px}
.owner-window .order-panel{left:610px}
.owner-window .pet-detail-panel{left:1012px}
.owner-window .appointment-panel{left:1474px}

/* provet-owner-panel-headings-r1-20261005 */
.owner-window .owner-panel-heading,
.owner-window .appointment-panel-heading{position:absolute;left:13px;top:0;height:18px;margin:0;color:#808040;font-size:14px;font-weight:bold;line-height:18px;white-space:nowrap}
.owner-window .owner-panel-heading{width:190px}
.owner-window .owner-detail .owner-actions{top:22px}
.owner-window .appointment-panel-heading{left:8px;width:190px}
.owner-window .appointment-panel .section-help{top:0!important;right:10px!important}
.owner-window .appointment-panel .duty-roster-link,
.owner-window .appointment-panel .appointment-link{top:18px}
.owner-window .appointment-summary{top:45px}
.owner-window .appointment-list-wrap{top:69px}
.owner-window .appointment-detail-panel{top:329px}

/* provet-owner-panel-heading-layout-r1-20261005 */
.owner-window .owner-panel-heading,
.owner-window .pet-detail-panel .pet-panel-title,
.owner-window .appointment-panel-heading{
    position:absolute;
    height:22px;
    margin:0;
    color:#808040!important;
    font-family:inherit;
    font-size:14px!important;
    font-weight:700!important;
    line-height:22px!important;
    text-align:left;
    white-space:nowrap;
    box-sizing:border-box
}
.owner-window .owner-panel-heading{left:13px;top:12px;width:190px}
.owner-window .pet-detail-panel .pet-panel-title{left:13px;top:12px;width:190px}
.owner-window .appointment-panel-heading{left:13px;top:64px;width:190px}
.owner-window #ownerDetailForm>.section-help{top:12px!important}
.owner-window #ownerDetailForm>:not(.owner-panel-heading):not(.section-help){transform:translateY(18px)}
.owner-window #ownerDetailForm .note-label{top:166px!important}
.owner-window #ownerDetailForm .owner-note{height:22px!important}
.owner-window .pet-detail-panel>.section-help{top:12px!important}
.owner-window .appointment-panel .section-help{top:64px!important;right:10px!important}
.owner-window .appointment-panel .duty-roster-link,
.owner-window .appointment-panel .appointment-link{top:92px}
.owner-window .appointment-summary{top:117px}
.owner-window .appointment-list-wrap{top:141px;height:193px}
.owner-window .appointment-detail-panel{top:354px;height:270px}


/* provet-owner-appointment-panel-height-r1-20261005 */
.owner-window .appointment-panel{top:65px;height:585px}
.owner-window .appointment-panel-heading{top:12px}
.owner-window .appointment-panel .section-help{top:12px!important}
.owner-window .appointment-panel .duty-roster-link,
.owner-window .appointment-panel .appointment-link{top:40px}
.owner-window .appointment-summary{top:65px}
.owner-window .appointment-list-wrap{top:89px}
.owner-window .appointment-detail-panel{top:302px}


/* provet-pet-top-weight-r1-20261010 */
.pet-window #petCurrentStaff{min-width:0!important;width:auto!important;flex:0 1 auto}
.pet-window .top-area>.toolbar{right:auto;width:310px;gap:6px}
.pet-window .top-area>.medical-panel{top:-3px!important;transform:none!important}
.pet-window .pet-summary.provet-weight-summary{
  top:30px!important;height:188px!important;display:flex;flex-direction:column;gap:2px;
  padding:4px 7px!important;font-size:12px!important;line-height:16px!important;
}
.pet-window .provet-weight-summary .avatar-summary-body{min-height:76px;height:76px;margin:0;flex:none}
.pet-window .provet-weight-summary .avatar-summary-text{
  width:calc(100% - 71px);min-height:0;max-height:76px;height:76px;overflow:visible;
  display:flex;flex-direction:column;gap:0;line-height:18px;
}
.pet-window .provet-weight-summary .avatar-profile-heading{min-height:18px;height:18px;line-height:18px;flex:none}
.pet-window .provet-weight-summary .avatar-profile-row{min-height:18px;line-height:18px;grid-template-columns:25px minmax(0,1fr)}
.pet-window .provet-weight-summary .avatar-profile-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.pet-window .provet-weight-summary .avatar-profile-title{flex-wrap:nowrap}
.pet-window .provet-weight-summary .avatar-profile-species{flex:none}
.pet-window .provet-weight-summary .avatar-profile-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pet-window .provet-weight-summary .weight-profile-pair{display:flex;gap:7px;min-height:18px;line-height:18px}
.pet-window .provet-weight-summary .weight-profile-pair>.avatar-profile-row{display:flex;gap:3px;min-width:0}
.pet-window .provet-weight-summary .weight-profile-pair>.avatar-profile-row:first-child{flex:0 1 78px}
.pet-window .provet-weight-summary .weight-profile-pair>.avatar-profile-row:last-child{flex:1 1 auto}
.pet-window .provet-weight-summary .weight-profile-pair .avatar-profile-label{flex:none}
.pet-window .provet-weight-summary .weight-profile-pair *{font-size:11px!important}
.pet-window .provet-weight-summary .avatar-summary-body .avatar-portrait{
  width:64px;min-width:64px;height:64px;min-height:64px;top:12px;right:0;
}
.pet-window .provet-weight-summary .avatar-summary-body .avatar-portrait img{width:64px;height:64px}
.pet-window .provet-weight-summary .section-help{top:0!important;right:1px!important;z-index:3}
.pet-window .provet-weight-summary .weight-line{
  height:20px;min-height:20px;margin:0!important;gap:2px;line-height:20px!important;flex:none;
}
.pet-window .provet-weight-summary .weight-line *{font-size:11px!important}
.pet-window .provet-weight-summary .weight-line .weight-input{width:39px;height:19px;padding:0 1px}
.pet-window .provet-weight-summary>.weight-warning{
  position:static;width:auto;height:auto;min-height:14px;margin:0;padding:1px 3px;
  border:1px solid #a3ad69;font-size:10px;line-height:12px;flex:none;white-space:normal;
}
.pet-window .provet-weight-summary>.weight-warning:empty{display:none}
.pet-window .provet-weight-summary~.weight-warning:empty{display:none}
.pet-window .pet-weight-trend{position:relative;display:flex;flex-direction:column;flex:1;min-height:54px;overflow:hidden;border-top:1px solid #bdc8c1;padding-top:2px;color:#31584a}
.pet-window .pet-weight-trend[hidden]{display:none!important}
.pet-window .weight-trend-heading{display:flex;align-items:center;justify-content:space-between;height:15px;min-height:15px;gap:4px;font-size:11px;line-height:15px}
.pet-window .weight-trend-title{font-size:12px;font-weight:normal;color:#28594b}
.pet-window .weight-trend-caption{font-size:10px;color:#5a7067;white-space:nowrap}
.pet-window .weight-trend-plot{display:block;width:100%;flex:1;min-height:0;overflow:visible}
.pet-window .weight-trend-status{position:absolute;inset:19px 0 0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#62726c;line-height:15px;text-align:center}
.pet-window .weight-trend-status[hidden]{display:none}
.pet-window .weight-trend-grid{stroke:#cbd8d1;stroke-width:1}
.pet-window .weight-trend-line{fill:none;stroke:#21745c;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.pet-window .weight-trend-dot{fill:#f7fcf6;stroke:#21745c;stroke-width:1.5;cursor:help;outline:none}
.pet-window .weight-trend-dot:hover,.pet-window .weight-trend-dot:focus{fill:#dd8b35;stroke:#88511c;stroke-width:2}
.pet-window .weight-trend-axis{fill:#5c7066;font-size:10px;font-family:inherit}


/* provet-weight-entry-r1-20261017 */
.pet-window .provet-weight-summary #weightForm{display:flex;align-items:center;flex-wrap:nowrap;width:100%;height:28px;min-height:28px;gap:4px;margin:0!important;box-sizing:border-box;white-space:nowrap}
.pet-window .provet-weight-summary #weightForm label{flex:none;font-size:12px!important}
.pet-window .provet-weight-summary #weightForm #petWeight{width:96px;min-width:96px;max-width:96px;flex:0 0 96px;height:26px;padding:2px 5px;box-sizing:border-box;font-size:15px!important;text-align:right;border:1px solid #618c7a;border-radius:3px;background:#fff;color:#163f3d}
.pet-window .provet-weight-summary #weightForm #petWeight[readonly]{background:#edf4ee;border-color:#c2cfc5}
.pet-window .provet-weight-summary #weightForm button{position:static;display:inline-block;width:auto;height:25px;min-width:42px;padding:1px 5px;font-size:11px!important;line-height:19px;flex:none;clip:auto;overflow:visible;border:1px solid #879d91;border-radius:3px;background:#f7faf7;color:#234d40}
.pet-window .provet-weight-summary #weightForm [hidden]{display:none!important}
.pet-window .provet-weight-summary .weight-sex-line{display:block;line-height:18px;font-size:11px}
.pet-window .provet-weight-summary .pet-weight-trend{min-height:38px}
.pet-window .provet-weight-summary>.weight-warning{overflow-wrap:anywhere;font-size:10px;line-height:12px}

