﻿/*
 * Giao diện năm lối vào công khai của Góp ý - Hiến kế: gửi ý kiến, tra cứu tiến
 * độ, kết quả công khai, hỏi đáp và chủ trương - chính sách.
 *
 * Ưu tiên đọc trên điện thoại (§07): chữ từ 16px, vùng chạm tối thiểu 44px, mọi
 * khối xếp một cột từ 600px trở xuống và số hỗ trợ luôn nằm trong tầm nhìn.
 * Riêng mốc 16px cho ô nhập là bắt buộc: Safari iOS tự phóng to cả trang khi
 * người dùng bấm vào ô có chữ nhỏ hơn.
 */

/* ---------- Nền chung cho mọi lối vào ---------- */

.feedback-wrapper {
    font-size: 16px;
    line-height: 1.55;

    /* Mã tra cứu, tên tệp và đường dẫn dài là thủ phạm quen thuộc gây tràn
       ngang trên màn hình hẹp. */
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.feedback-wrapper img,
.feedback-wrapper table {
    max-width: 100%;
}

.feedback-wrapper input[type="text"],
.feedback-wrapper input[type="tel"],
.feedback-wrapper input[type="number"],
.feedback-wrapper input[type="search"],
.feedback-wrapper input[type="password"],
.feedback-wrapper select,
.feedback-wrapper textarea {
    max-width: 100%;
    min-height: 44px;
    font-size: 16px;
    line-height: 1.4;
}

/* Liệt kê từng nút thay vì chọn chung thẻ button: thanh công cụ của trình soạn
   thảo cũng là button và sẽ vỡ nếu bị áp chiều cao 44px. */
.feedback-wrapper input[type="submit"],
.feedback-wrapper input[type="button"],
.feedback-wrapper .lnkSubmit,
.feedback-wrapper .lnkReset,
.gopy-gps-btn {
    display: inline-block;
    min-height: 44px;
    padding: 10px 18px;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
}

/* Ô nhập bên trong trình soạn thảo (chọn phông, cỡ chữ) phải giữ kích thước
   gốc, nếu không thanh công cụ bị đẩy vỡ dòng. */
.feedback-wrapper .RadEditor input,
.feedback-wrapper .RadEditor select {
    min-height: 0;
    font-size: 12px;
}

/* Nút phân trang của GridView mặc định chỉ vài pixel, ngón tay khó trúng. */
.feedback-wrapper .tb-paging a,
.feedback-wrapper .tb-paging span {
    display: inline-block;
    min-width: 44px;
    min-height: 44px;
    padding: 10px 8px;
    font-size: 16px;
    text-align: center;
}

/* ---------- Số hỗ trợ (§07) ---------- */

.gopy-support {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    margin-top: 16px;
    padding: 10px 14px;
    font-size: 16px;
    line-height: 1.4;
    background-color: #eaf3fb;
    border: 1px solid #b8d4ec;
    border-radius: 8px;
}

.gopy-support-label {
    color: #14324d;
}

.gopy-support-phone {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #0b5fa5;
    text-decoration: none;
    white-space: nowrap;
}

.gopy-support-phone:hover,
.gopy-support-phone:focus {
    text-decoration: underline;
}

.gopy-support-note {
    flex: 1 1 100%;
    font-size: 14px;
    color: #5a6470;
}

@media (max-width: 768px) {
    /* Dính đáy khung nhìn để người dân đang điền dở biểu mẫu không phải cuộn đi
       tìm số. Dùng sticky chứ không fixed: dải nằm trong khối của chính module
       nên hai module trên cùng trang không chồng lên nhau, và trình duyệt cũ
       không hiểu sticky thì dải vẫn hiện theo dòng chảy bình thường. */
    .gopy-support {
        position: sticky;
        bottom: 0;
        z-index: 20;
        margin-top: 12px;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.12);
    }
}

/* ---------- Đính kèm tệp ---------- */

.gopy-upload {
    display: block;
}

.gopy-upload input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 8px 0;
    font-size: 16px;
    line-height: 1.4;
}

.gopy-upload-reset {
    min-height: 44px;
    margin-top: 8px;
    padding: 8px 16px;
    font-size: 16px;
    line-height: 1.4;
    color: #0b5fa5;
    background-color: #fff;
    border: 1px solid #0b5fa5;
    border-radius: 6px;
    cursor: pointer;
}

.gopy-upload-reset:hover,
.gopy-upload-reset:focus {
    color: #fff;
    background-color: #0b5fa5;
}

.gopy-upload-list {
    margin: 8px 0 0;
}

.gopy-upload-list:empty {
    display: none;
}

.gopy-upload-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.4;
    background-color: #f4f6f8;
    border-left: 4px solid #0b5fa5;
    border-radius: 0 4px 4px 0;
}

.gopy-upload-item--done {
    border-left-color: #1a7f37;
}

.gopy-upload-item--failed {
    border-left-color: #b3261e;
    background-color: #fdecea;
}

.gopy-upload-name {
    flex: 1 1 180px;
    min-width: 0;
    word-break: break-all;
    color: #222;
}

.gopy-upload-progress {
    flex: 0 0 120px;
    height: 10px;
}

.gopy-upload-status {
    flex: 0 0 auto;
    font-size: 14px;
    color: #5a6470;
}

.gopy-upload-item--failed .gopy-upload-status {
    color: #b3261e;
}

.gopy-upload-notice {
    padding: 10px 12px;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.5;
    color: #5a4200;
    background-color: #fff8e1;
    border-left: 4px solid #e0a800;
    border-radius: 0 4px 4px 0;
}

/* ---------- Tra cứu tiến độ ---------- */

.gopy-otp-lookup {
    margin: 16px 0 20px;
    padding: 18px;
    background: #f4f8fc;
    border: 1px solid #c9dceb;
    border-top: 4px solid #0b5fa5;
    border-radius: 6px;
}

.gopy-otp-lookup h3,
.gopy-tracking-lookup h3 {
    margin: 0 0 8px;
    font-size: 21px;
    line-height: 1.35;
}

.gopy-otp-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

.gopy-otp-phone,
.gopy-otp-code,
.gopy-otp-secondary {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 16px;
    line-height: 1.4;
    border-radius: 6px;
}

.gopy-otp-phone {
    flex: 1 1 260px;
    min-width: 0;
    border: 1px solid #9fb5c8;
}

.gopy-otp-code {
    flex: 1 1 180px;
    min-width: 0;
    letter-spacing: 0.18em;
    border: 1px solid #9fb5c8;
}

.gopy-otp-secondary {
    color: #0b5fa5;
    background: #fff;
    border: 1px solid #0b5fa5;
    cursor: pointer;
}

.gopy-otp-phone:focus,
.gopy-otp-code:focus,
.gopy-otp-secondary:focus {
    outline: 2px solid #0b5fa5;
    outline-offset: 1px;
}

.gopy-otp-verify {
    margin-top: 14px;
}

.gopy-otp-notice {
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.5;
    border-left: 4px solid;
    border-radius: 0 4px 4px 0;
}

.gopy-otp-notice--success {
    color: #185c37;
    background-color: #eaf6ef;
    border-left-color: #26834f;
}

.gopy-otp-notice--error {
    color: #7a1c16;
    background-color: #fdecea;
    border-left-color: #b3261e;
}

.gopy-otp-matches {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

.gopy-otp-matches li {
    margin-top: 12px;
    padding: 12px;
    background: #fff;
    border-left: 4px solid #0b5fa5;
    box-shadow: 0 1px 3px rgba(20, 45, 67, 0.12);
}

.gopy-otp-matches p {
    margin: 3px 0;
}

.gopy-tracking-fallback {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 8px;
    color: #5a6470;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gopy-tracking-fallback::before,
.gopy-tracking-fallback::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: #d6dae0;
}

.gopy-tracking-lookup {
    margin: 16px 0 24px;
}

.gopy-tracking-help {
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #5a6470;
}

.gopy-tracking-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

.gopy-tracking-code,
.gopy-tracking-phone,
.gopy-tracking-btn {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 16px;
    line-height: 1.4;
    border-radius: 6px;
}

.gopy-tracking-code {
    flex: 1 1 240px;
    min-width: 0;
    border: 1px solid #c4c9d0;
    text-transform: uppercase;
}

.gopy-tracking-phone {
    flex: 0 0 110px;
    border: 1px solid #c4c9d0;
}

.gopy-tracking-btn {
    flex: 0 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    color: #fff;
    background-color: #0b5fa5;
    border: 1px solid #0b5fa5;
    cursor: pointer;
}

.gopy-tracking-code:focus,
.gopy-tracking-phone:focus,
.gopy-tracking-btn:focus {
    outline: 2px solid #0b5fa5;
    outline-offset: 1px;
}

.gopy-tracking--busy .gopy-tracking-btn {
    opacity: 0.6;
    cursor: progress;
}

.gopy-tracking-error {
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #7a1c16;
    background-color: #fdecea;
    border-left: 4px solid #b3261e;
    border-radius: 0 4px 4px 0;
}

.gopy-tracking-result {
    margin-top: 16px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.6;
    background-color: #f4f6f8;
    border: 1px solid #d6dae0;
    border-radius: 6px;
}

.gopy-tracking-result h4 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
}

.gopy-tracking-timeline {
    margin: 12px 0 0;
    padding-left: 20px;
}

.gopy-tracking-timeline li {
    margin-bottom: 6px;
}

.gopy-tracking-timeline .gopy-step {
    font-weight: 600;
    color: #222;
}

.gopy-tracking-timeline .gopy-date {
    margin-left: 8px;
    font-size: 14px;
    color: #5a6470;
    white-space: nowrap;
}

.gopy-tracking-published {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #d6dae0;
}

.gopy-tracking-published h4 {
    margin: 0 0 8px;
    font-size: 17px;
    line-height: 1.3;
}

.gopy-published-files {
    margin: 8px 0 0;
    padding-left: 20px;
}

.gopy-published-files a {
    word-break: break-all;
}

@media (max-width: 480px) {
    .gopy-otp-phone,
    .gopy-otp-code,
    .gopy-otp-secondary,
    .gopy-tracking-code,
    .gopy-tracking-phone,
    .gopy-tracking-btn {
        flex-basis: 100%;
    }

    .gopy-upload-progress {
        flex-basis: 100%;
    }
}

/* ---------- Biểu mẫu gửi ý kiến ---------- */

.gopy-gps-status {
    display: inline-block;
    margin-left: 8px;
    font-size: 14px;
    color: #5a6470;
}

/* Ô đánh dấu mặc định chỉ 13px, quá nhỏ để bấm bằng ngón tay. */
.gopy-consent,
.gopy-consent input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin-right: 6px;
    vertical-align: middle;
}

.uigopyhienke .required {
    color: #b3261e;
}

.uigopyhienke .lnkSubmit {
    color: #fff;
    background-color: #0b5fa5;
    border: 1px solid #0b5fa5;
    border-radius: 6px;
    text-decoration: none;
}

.uigopyhienke .lnkReset {
    color: #0b5fa5;
    background-color: #fff;
    border: 1px solid #0b5fa5;
    border-radius: 6px;
    text-decoration: none;
}

/* Form title rendered from the configured root topic name. */
.uigopyhienke .header {
    margin-bottom: 16px;
    padding-bottom: 10px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #14324d;
    border-bottom: 2px solid #0b5fa5;
}

/* Postback notices share one shape; colour tells success from info. */
.uigopyhienke .divSuccess,
.uigopyhienke .divInfo {
    margin-bottom: 14px;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.5;
    border-left: 4px solid;
    border-radius: 0 4px 4px 0;
}

.uigopyhienke .divSuccess {
    color: #185c37;
    background-color: #eaf6ef;
    border-left-color: #26834f;
}

.uigopyhienke .divInfo {
    color: #14324d;
    background-color: #eaf3fb;
    border-left-color: #0b5fa5;
}

/* Two-column table on desktop: labels stay top-aligned so a long label never
   wraps under its input, and rows breathe without relying on host-page styles. */
.uigopyhienke .table > tbody > tr > td {
    padding: 6px 4px;
    vertical-align: top;
}

/* Borders live here instead of the generic wrapper rule so editor toolbar
   controls keep their native look. */
.uigopyhienke .table > tbody > tr > td > input[type="text"],
.uigopyhienke .table > tbody > tr > td > select,
.uigopyhienke .VerifierTextBox,
.uigopyhienke .gopy-location-text {
    padding: 8px 12px;
    border: 1px solid #c4c9d0;
    border-radius: 6px;
    background-color: #fff;
}

.uigopyhienke .table > tbody > tr > td > input[type="text"]:focus,
.uigopyhienke .table > tbody > tr > td > select:focus,
.uigopyhienke .VerifierTextBox:focus,
.uigopyhienke .gopy-location-text:focus {
    outline: 2px solid #0b5fa5;
    outline-offset: 1px;
    border-color: #0b5fa5;
}

/* Captcha text box and image sit side by side on desktop; the mobile block
   below stacks them. */
.uigopyhienke .VerifierValue,
.uigopyhienke .VerifierImg {
    display: inline-block;
    vertical-align: middle;
}

/* The inline Width="20%" resolves against the shrink-to-fit span instead of
   the cell once the span is inline-block, collapsing the box to a sliver and
   leaving a phantom gap before the image. Pin a fixed width (important beats
   the inline style, same technique as the mobile block). */
.uigopyhienke .VerifierTextBox {
    width: 140px !important;
    margin-right: 10px;
    letter-spacing: 0.18em;
    text-align: center;
}

/* No inline width on this one, so a plain rule is enough to keep the
   placeholder readable on desktop. */
.uigopyhienke .gopy-location-text {
    width: 320px;
}

.uigopyhienke .VerifierImg img {
    display: block;
}

.gopy-gps-btn {
    margin-left: 8px;
    color: #0b5fa5;
    background-color: #fff;
    border: 1px solid #0b5fa5;
    border-radius: 6px;
}

.gopy-gps-btn:hover,
.gopy-gps-btn:focus {
    color: #fff;
    background-color: #0b5fa5;
}

/* Disabled hint line under the file input listing the allowed types. Kept
   more specific than the generic text-input rule so it stays a quiet one-liner
   instead of a 44px box. */
.feedback-wrapper .gopy-upload .extend-file {
    display: block;
    margin-top: 6px;
    min-height: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    color: #5a6470;
    font-size: 14px;
}

.uigopyhienke .lnkSubmit {
    margin-right: 10px;
}

.uigopyhienke .lnkSubmit:hover,
.uigopyhienke .lnkSubmit:focus {
    background-color: #094e87;
    border-color: #094e87;
}

.uigopyhienke .lnkReset:hover,
.uigopyhienke .lnkReset:focus {
    color: #fff;
    background-color: #0b5fa5;
}

/* Bottom of the form: consent rows become quiet left-aligned panels so they
   stop floating in the middle of host tables that centre every cell. */
.uigopyhienke .gopy-consent-row > td {
    padding: 10px 12px;
    text-align: left;
    background-color: #f7fafc;
    border: 1px solid #d6dae0;
    border-radius: 6px;
}

.uigopyhienke .gopy-consent-row label {
    vertical-align: middle;
}

.uigopyhienke .button > td {
    padding-top: 16px;
}

/* Required-fields footnote: a small muted caption under the buttons. */
.uigopyhienke .gopy-note-row > td {
    padding-top: 4px;
    font-size: 14px;
    color: #5a6470;
}

/* ---------- Gợi ý ý kiến trùng lặp (§14.1) ---------- */

/* Viền vàng thay vì đỏ: đây là gợi ý cân nhắc, không phải lỗi nhập liệu. */
.gopy-similar {
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid #e0a800;
    border-left-width: 5px;
    border-radius: 6px;
    background-color: #fff9e6;
}

.gopy-similar-head {
    margin-bottom: 6px;
    font-size: 18px;
    font-weight: 700;
    color: #7a5200;
}

.gopy-similar-note {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.5;
}

.gopy-similar-item {
    padding: 10px 0;
    border-top: 1px solid #f0dfae;
}

.gopy-similar-title {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.gopy-similar-meta {
    margin: 4px 0 8px;
    font-size: 14px;
    color: #5a6470;
}

.gopy-similar-interest,
.gopy-similar-continue {
    display: inline-block;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 16px;
    line-height: 22px;
    text-decoration: none;
}

.gopy-similar-interest {
    color: #fff;
    background-color: #0b5fa5;
    border: 1px solid #0b5fa5;
}

/* Nút gửi tiếp phải nhạt hơn nút quan tâm: mục đích của khung này là mời người
   dân chọn cách không mở thêm hồ sơ trùng. */
.gopy-similar-continue {
    margin-top: 12px;
    color: #5a6470;
    background-color: transparent;
    border: 1px solid #b9bec4;
}

.gopy-similar-interest:hover,
.gopy-similar-interest:focus,
.gopy-similar-continue:hover,
.gopy-similar-continue:focus {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .gopy-similar-interest,
    .gopy-similar-continue {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* ---------- Hỏi đáp ---------- */

.gopy-public-faq {
    margin: 16px 0 24px;
}

.gopy-faq-search {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.gopy-faq-keyword,
.gopy-list-keyword,
.gopy-chinhsach-keyword {
    flex: 1 1 240px;
    min-width: 0;
    padding: 8px 12px;
    border: 1px solid #c4c9d0;
    border-radius: 6px;
}

.gopy-faq-btn,
.gopy-list-btn,
.gopy-chinhsach-btn {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    background-color: #0b5fa5;
    border: 1px solid #0b5fa5;
    border-radius: 6px;
    cursor: pointer;
}

.gopy-faq-item {
    margin-bottom: 8px;
    background-color: #fff;
    border: 1px solid #d6dae0;
    border-radius: 6px;
}

.gopy-faq-item summary {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    color: #14324d;
    cursor: pointer;
}

.gopy-faq-item[open] summary {
    border-bottom: 1px solid #e3e7eb;
}

/* Câu trả lời được mã hoá phía máy chủ nên xuống dòng chỉ còn là ký tự trắng. */
.gopy-faq-answer {
    padding: 12px 14px;
    white-space: pre-line;
}

.gopy-faq-empty,
.gopy-list-empty,
.gopy-chinhsach-empty {
    display: block;
    margin: 12px 0;
    color: #5a6470;
}

/* ---------- Kết quả công khai ---------- */

.feedback-list .title {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
    font-size: 19px;
}

.feedback-list .search {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.feedback-list .item-content {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #e3e7eb;
}

.feedback-list .content-left {
    flex: 0 0 auto;
}

.feedback-list .content-right {
    flex: 1 1 auto;
    min-width: 0;
}

.feedback-list .hoidap-title a {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    color: #0b5fa5;
    text-decoration: none;
}

.feedback-list .hoidap-title a:hover,
.feedback-list .hoidap-title a:focus {
    text-decoration: underline;
}

.feedback-list .hoidap-questioner,
.feedback-list .hoidap-date {
    font-size: 14px;
    color: #5a6470;
}

.feedback-list .hoidap-question {
    margin-top: 6px;
}

.feedback-list .hoidap-viewdetail a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #0b5fa5;
}

/* ---------- Chủ trương - chính sách ---------- */

.gopy-chinhsach-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.gopy-chinhsach-level {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid #c4c9d0;
    border-radius: 6px;
}

.gopy-chinhsach-item {
    padding: 14px 0;
    border-bottom: 1px solid #e3e7eb;
}

.gopy-chinhsach-title {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.35;
}

.gopy-chinhsach-title a {
    color: #0b5fa5;
    text-decoration: none;
}

.gopy-chinhsach-title a:hover,
.gopy-chinhsach-title a:focus {
    text-decoration: underline;
}

.gopy-chinhsach-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 14px;
    color: #5a6470;
}

.gopy-chinhsach-level-badge {
    padding: 2px 10px;
    color: #14324d;
    background-color: #eaf3fb;
    border-radius: 999px;
}

.gopy-chinhsach-summary {
    margin: 8px 0 6px;
}

.gopy-chinhsach-source a {
    color: #0b5fa5;
}

.gopy-chinhsach-detail .noi-dung {
    line-height: 1.65;
}

.gopy-chinhsach-detail .noi-dung img {
    max-width: 100%;
    height: auto;
}

/* ---------- Một cột trên điện thoại ---------- */

@media (max-width: 600px) {
    /* Bảng hai cột của biểu mẫu xếp lại thành một cột: nhãn nằm trên, ô nhập
       nằm dưới và chiếm trọn bề ngang. */
    .uigopyhienke .table,
    .uigopyhienke .table > tbody,
    .uigopyhienke .table > tbody > tr,
    .uigopyhienke .table > tbody > tr > td {
        display: block;
        width: auto;
    }

    .uigopyhienke .table > tbody > tr {
        margin-bottom: 14px;
    }

    .uigopyhienke .table > tbody > tr > td {
        padding: 2px 0;
    }

    /* Bề rộng cố định nằm ngay trong thẻ (Width="200px", style="width:140px")
       nên chỉ ghi đè được bằng important. Chọn theo con trực tiếp của ô để
       không chạm vào các ô nhập bên trong trình soạn thảo. */
    .uigopyhienke .table > tbody > tr > td:first-child,
    .uigopyhienke .table > tbody > tr > td > input[type="text"],
    .uigopyhienke .table > tbody > tr > td > select,
    .uigopyhienke .VerifierTextBox,
    .uigopyhienke .gopy-location-text {
        width: 100% !important;
    }

    .uigopyhienke .VerifierValue,
    .uigopyhienke .gopy-location-text {
        display: block;
        margin-bottom: 8px;
    }

    .uigopyhienke .gopy-gps-btn,
    .uigopyhienke .lnkSubmit,
    .uigopyhienke .lnkReset {
        display: block;
        width: 100%;
        margin-bottom: 8px;
    }

    .uigopyhienke .gopy-gps-btn,
    .uigopyhienke .lnkSubmit {
        margin-left: 0;
    }

    .gopy-faq-keyword,
    .gopy-faq-btn,
    .gopy-list-keyword,
    .gopy-list-btn,
    .gopy-chinhsach-level,
    .gopy-chinhsach-keyword,
    .gopy-chinhsach-btn {
        flex-basis: 100%;
        width: 100%;
    }
}
