html.swal2-shown,body.swal2-shown {overflow:auto !important;padding-right:0 !important;}
.swal2-container {z-index:99999 !important;}
.is-hidden {display:none !important;}
.is-clickable {cursor:pointer;}
.text-prewrap {white-space:pre-wrap;}
.required-star {color:#c0392b;font-weight:700;}
.required-asterisk {color:#e53935;}
.btn-leading {margin-right:auto;}
.btn-spacer {margin-left:6px;}
.btn-spacer-sm {margin-left:4px;}
.tbl-loading {color:#999;}
.tbl-loading.is-padded {padding:24px;}
.test-key-box {background:var(--c-primary-soft);border:1px solid #b0c4e0;border-radius:0;padding:14px 18px;margin-bottom:16px;}
.test-key-row {display:flex;align-items:center;gap:10px;}
.test-key-label {font-weight:700;color:var(--c-primary);font-size:14px;flex-shrink:0;}
.test-key-row code {flex:1;background:#fff;border:1px solid #c8cdd6;border-radius:0;padding:6px 10px;font-family:monospace;font-size:13px;color:#1a1a1a;user-select:all;word-break:break-all;}
.test-key-copy-btn {padding:6px 14px;background:var(--c-primary);color:#fff;border:none;border-radius:0;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s;flex-shrink:0;}
.test-key-copy-btn:hover {background:#1a1a2e;}
.test-key-note {margin:8px 0 0;font-size:12px;color:#666;line-height:1.5;}
.od-process-wrap {display:flex;align-items:stretch;margin:20px 0 28px;}
.od-process-step {display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;height:140px;background:#fff;border:2px solid var(--c-primary);border-radius:0;text-align:center;padding:10px 8px;}
.od-process-step-num {font-size:11px;color:var(--c-primary);font-weight:700;margin-bottom:5px;letter-spacing:.05em;}
.od-process-step-nm {font-size:15px;color:#1a1a1a;font-weight:700;margin-bottom:6px;}
.od-process-step-desc {font-size:15px;color:#666;line-height:1.5;}
.od-process-arrow {font-size:24px;color:#bbb;padding:0 8px;flex-shrink:0;line-height:1;}
.od-detail-btn {padding:6px 12px;background:var(--c-primary);color:#fff;border:none;border-radius:0;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.15s;}
.od-detail-btn:hover {background:var(--c-primary-hover);}
.od-apply-btn {padding:10px 16px;background:var(--c-primary);color:#fff;border:none;border-radius:0;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.15s;}
.od-apply-btn:hover {background:var(--c-primary-hover);}
.od-list-link-btn {padding:10px 16px;background:#fff;color:var(--c-primary);border:1px solid var(--c-primary);border-radius:0;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.15s,color 0.15s,border-color 0.15s;}
.od-list-link-btn:hover {background:var(--c-primary-hover);color:#fff;border-color:var(--c-primary-hover);}
.od-format-badge {display:inline-block;padding:3px 10px;background:#e8f0fe;color:var(--c-primary);font-size:12px;font-weight:700;border-radius:0;border:1px solid #c5d5f5;}
.od-req-badge {display:inline-block;padding:2px 8px;background:#e53935;color:#fff;font-size:14px;border-radius:0;}
.od-required {color:#c0392b;font-weight:700;}
.od-optional {color:#888;}
.od-list-row {cursor:pointer;}
.od-list-api-nm {font-size:17px;font-weight:700;color:var(--c-primary);margin-bottom:4px;}
.od-list-api-desc {font-size:15px;color:#555;line-height:1.5;}
.od-btn-wrap {display:flex;justify-content:center;gap:10px;margin-bottom:30px;padding-top:23px;border-top:1px solid #e2e6ea;}
.od-sub-heading {font-size:13px;font-weight:700;color:var(--c-primary);margin:16px 0 6px;padding:5px 10px;background:var(--c-primary-soft);border-left:3px solid var(--c-primary);}
.od-json-sample {background:#1e1e1e;color:#d4d4d4;font-family:'Consolas','D2Coding',monospace;font-size:13px;line-height:1.6;padding:16px 20px;border-radius:0;overflow-x:auto;white-space:pre;margin:0;}
.tbl.od-param-table td:first-child {text-align:left;}
.api-info-msg {margin:4px 0 0;font-size:14px;color:red;font-weight:bold;}
.api-key-code {display:inline-block;background:var(--c-primary-soft);border:1px solid #c8cdd6;padding:4px 8px;font-family:monospace;font-size:12px;color:#1a1a1a;user-select:all;word-break:break-all;vertical-align:middle;}
.od-modal-overlay {position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:24px;}
.od-modal {background:var(--c-surface);border-radius:var(--r-xl);width:600px;max-width:95vw;box-shadow:var(--shadow-xl);overflow:hidden;border:1px solid var(--c-border);}
.od-modal-lg {width:840px;}
.od-modal-md {max-width:700px;width:95vw;}
.od-modal-header {display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--c-border-soft);position:relative;}
.od-modal-title {font-size:16px;font-weight:700;color:var(--c-text-strong);margin:0;letter-spacing:-0.2px;}
.od-modal-close {background:none;border:none;font-size:22px;cursor:pointer;color:var(--c-text-subtle);line-height:1;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s ease;}
.od-modal-close:hover {color:var(--c-text-strong);background:var(--c-surface-2);}
.od-modal-body {padding:22px;}
.od-modal-footer {display:flex;justify-content:flex-end;gap:8px;padding:16px 22px;border-top:1px solid var(--c-border-soft);background:var(--c-surface-3);}
.od-modal-input {width:100%;padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:13.5px;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease;}
.od-modal-input:focus {border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);}
.od-modal-date {width:145px;}
.od-modal-date-wrap {display:flex;align-items:center;}
.od-modal-textarea {width:100%;height:90px;padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:13.5px;resize:none;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease;}
.od-modal-textarea:focus {border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);}
.od-modal-section-title {font-size:13px;font-weight:700;color:#1a1a1a;margin-bottom:6px;}
.od-privacy-box {height:280px;overflow-y:auto;padding:12px 14px;background:#f8f9fb;border:1px solid #e2e6ea;border-radius:0;font-size:15px;color:#555;line-height:1.8;}
.od-privacy-agree {display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:#333;}
.od-privacy-agree input[type="checkbox"] {width:15px;height:15px;cursor:pointer;accent-color:var(--c-primary);}
.od-privacy-agree label {cursor:pointer;font-size:14px;font-weight:bold;color:red;}
#PRVT_MODAL_OVERLAY {display:none;position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);z-index:500;align-items:stretch;justify-content:center;padding:0;}
#PRVT_MODAL_OVERLAY.open {display:flex;}
.prvt-modal {background:var(--c-surface);width:100vw;max-width:100vw;max-height:100vh;height:100vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;border:none;}
.prvt-modal-hdr {display:flex;align-items:center;justify-content:space-between;padding:22px 30px;background:var(--c-surface);color:var(--c-text-strong);flex-shrink:0;border-bottom:1px solid var(--c-border-soft);position:relative;}
.prvt-modal-hdr span {font-size:17px;font-weight:700;letter-spacing:-0.2px;}
.prvt-modal-hdr button {background:none;border:none;color:#888;font-size:22px;cursor:pointer;line-height:1;padding:0 4px;transition:color .15s;}
.prvt-modal-hdr button:hover {color:#1a1a1a;}
.prvt-modal-body {padding:28px 32px;overflow-y:auto;flex:1;}
.prvt-modal-ftr {display:flex;justify-content:flex-end;gap:10px;padding:18px 30px;border-top:1px solid var(--c-border-soft);background:var(--c-surface-3);flex-shrink:0;}
.prvt-req-note {text-align:right;font-size:13px;color:#666;margin-bottom:18px;}
.prvt-req {color:#e53935;}
.prvt-section {margin-bottom:24px;}
.prvt-section-title {font-size:14px;font-weight:700;color:#fff;background:var(--c-primary);padding:10px 16px;border-radius:0;margin-bottom:10px;}
.prvt-tbl {width:100%;border-collapse:collapse;}
.prvt-tbl th,.prvt-tbl td {border:1px solid #d8dce6;padding:12px 14px;vertical-align:middle;font-size:14px;}
.prvt-tbl th {background:#f0f2f7;font-weight:600;color:#333;width:22%;white-space:nowrap;}
.prvt-tbl td {background:#fff;}
.prvt-inp,.prvt-sel,.prvt-txt {width:100%;border:1px solid #ccc;border-radius:0;padding:9px 12px;font-size:14px;font-family:inherit;outline:none;line-height:1.4;}
.prvt-inp:focus,.prvt-sel:focus {border-color:var(--c-primary);}
.prvt-inp[readonly] {background:#f5f6f8;cursor:default;}
.prvt-addr-row {display:flex;gap:8px;align-items:center;}
.prvt-addr-row .prvt-inp {flex:1;}
.prvt-addr-btn {white-space:nowrap;padding:9px 18px;background:#555;color:#fff;border:none;border-radius:0;cursor:pointer;font-size:13px;font-weight:600;}
.prvt-addr-btn:hover {background:#333;}
.prvt-fee-cell {display:flex;align-items:center;gap:6px;}
.prvt-fee-cell .prvt-inp {width:110px;}
.prvt-fee-cell span {white-space:nowrap;color:#555;font-size:14px;}
.prvt-hours-cell {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.prvt-hours-cell .prvt-sel {width:130px;}
.prvt-time-range {display:flex;align-items:center;gap:6px;}
.prvt-time-range .prvt-inp {width:88px;}
.prvt-radio-group label {margin-right:18px;cursor:pointer;font-size:14px;}
.prvt-radio-group input[type=radio] {margin-right:5px;}
.prvt-hint {font-size:12px;color:#888;margin-top:4px;}
.prvt-btn-submit {padding:12px 34px;background:var(--c-primary);color:#fff;border:none;border-radius:0;font-size:15px;font-weight:600;cursor:pointer;}
.prvt-btn-submit:hover {background:#00246b;}
.prvt-btn-cancel {padding:12px 34px;background:#fff;color:#555;border:1px solid #ccc;border-radius:0;font-size:15px;cursor:pointer;}
.prvt-btn-cancel:hover {background:#f5f6f8;}
.popup-overlay {position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:24px;}
.popup-modal {background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-xl);width:650px;max-width:95vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;pointer-events:all;}
.popup-header {padding:7px 18px;background:var(--c-surface);color:var(--c-text-strong);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--c-border-soft);}
.popup-title {font-weight:700;font-size:18px;letter-spacing:-0.2px;}
.popup-close {background:none;border:none;color:var(--c-text-subtle);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s ease;}
.popup-close:hover {color:var(--c-text-strong);background:var(--c-surface-2);}
.popup-body {padding:22px;overflow-y:auto;flex:1;font-size:14px;line-height:1.65;color:var(--c-text-base);}
.popup-footer {padding:14px 22px;border-top:1px solid var(--c-border-soft);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--c-surface-3);}
.popup-noshow {font-size:13.5px;color:var(--c-text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;}
.popup-noshow input {accent-color:var(--c-primary);}
.popup-actions {display:flex;gap:8px;align-items:center;}
.popup-link-btn {padding:7px 18px;background:var(--c-surface);color:var(--c-primary);border:1px solid var(--c-primary);font-size:14px;font-weight:700;text-decoration:none;transition:all .15s ease;}
.popup-link-btn:hover {background:var(--c-primary-soft);}
.popup-close-btn {padding:11px 18px;background:var(--c-primary);color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:700;transition:background .15s ease;}
.popup-close-btn:hover {background:var(--c-primary-hover);}
.admin-search-bar.is-wrap {flex-wrap:wrap;gap:8px 10px;}
.admin-form-modal {display:none;position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;padding:24px;}
.admin-form-modal.is-open {display:flex;}
.admin-form-modal-box {background:var(--c-surface);width:480px;max-width:96vw;padding:18px 22px 14px;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);border:1px solid var(--c-border);}
.admin-form-modal-title {margin:0 0 20px;font-size:17px;font-weight:700;color:var(--c-primary-hover);}
.admin-form-modal-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}
.admin-form-card.is-flat {box-shadow:none;padding:0;border:none;background:transparent;}
.search-label {font-size:12px;color:#555;white-space:nowrap;}
.search-tilde {font-size:12px;color:#aaa;}
.search-input-id {width:200px;}
.search-input-date {width:140px;}
.search-input-md {width:150px;}
.search-input-sm {width:120px;}
.search-input-park {width:180px;}
.col-w-num {width:70px;}
.col-w-no {width:60px;}
.col-w-aply {width:210px;}
.col-w-aply-md {width:200px;}
.col-w-api {width:250px;}
.col-w-user-id {width:300px;}
.col-w-dttm {width:210px;}
.col-w-dttm-md {width:170px;}
.col-w-status {width:100px;}
.col-w-label {width:110px;}
.col-w-name {width:130px;}
.col-w-name-md {width:150px;}
.col-w-name-lg {width:280px;}
.col-w-email {width:200px;}
.col-w-tel {width:150px;}
.col-w-auth {width:100px;}
.col-w-action {width:100px;}
.col-w-action-md {width:150px;}
.col-w-period {width:330px;}
.col-w-tot {width:90px;}
.col-w-fee {width:130px;}
.col-w-park {width:180px;}
.col-w-park-md {width:200px;}
.aply-num-text {font-size:13px;}
.aply-num-text-sm {font-size:12px;}
.modal-date-tilde {padding:0 8px;color:#666;}
.modal-helper {font-size:12px;color:#888;margin-left:6px;}
.swagger-ui .wrapper {max-width:100% !important;}
@media (min-width:769px) and (max-width:1100px) {
.prvt-modal {width:100vw;max-width:100vw;max-height:100vh;height:100vh;}
.prvt-tbl th {width:24%;font-size:12px;}
.prvt-tbl td {font-size:12px;}
.od-modal {max-width:560px;}
.od-modal-lg {max-width:90vw;}
.od-process-step {height:auto;min-height:120px;padding:12px 8px;}
.od-process-step-nm {font-size:13px;}
.od-process-step-desc {font-size:12px;}
.od-process-arrow {font-size:20px;padding:0 4px;}
}
@media (max-width:768px) {
#PRVT_MODAL_OVERLAY {align-items:stretch;}
.prvt-modal {width:100%;max-width:100%;max-height:100vh;height:100vh;border-radius:0;}
.prvt-modal-hdr {padding:16px 18px;border-radius:0;}
.prvt-modal-hdr span {font-size:15px;}
.prvt-modal-body {padding:18px 16px;}
.prvt-modal-ftr {padding:14px 18px;gap:10px;}
.prvt-modal-ftr button {flex:1;}
.prvt-section {margin-bottom:14px;}
.prvt-section-title {font-size:12px;padding:7px 10px;}
.prvt-tbl,.prvt-tbl tbody,.prvt-tbl tr,.prvt-tbl th,.prvt-tbl td {display:block;width:100%;}
.prvt-tbl tr {border-bottom:1px solid #d8dce6;}
.prvt-tbl tr:last-child {border-bottom:none;}
.prvt-tbl th {background:#f0f2f7;border:none;border-bottom:1px solid #d8dce6;padding:6px 10px;text-align:left;font-size:12px;}
.prvt-tbl td {border:none;padding:8px 10px;}
.prvt-tbl td[colspan] {padding:8px 10px;}
.prvt-fee-cell {flex-wrap:wrap;}
.prvt-fee-cell .prvt-inp {width:80px;}
.prvt-hours-cell .prvt-sel {width:100px;}
.prvt-time-range .prvt-inp {width:64px;}
.prvt-radio-group label {display:inline-block;margin-bottom:4px;}
.prvt-addr-row {flex-wrap:wrap;}
.prvt-addr-row .prvt-inp {flex:1 1 100%;}
.prvt-addr-btn {flex:0 0 auto;align-self:flex-start;}
.od-modal {width:100%;max-width:100%;border-radius:0;height:100vh;display:flex;flex-direction:column;}
.od-modal-body {flex:1;overflow-y:auto;}
.od-modal-lg {width:100%;max-width:100%;}
.od-process-wrap {flex-direction:column;gap:8px;}
.od-process-step {height:auto;padding:12px;}
.od-process-arrow {transform:rotate(90deg);padding:0;}
.test-key-row {flex-wrap:wrap;}
.test-key-row code {flex:1 1 100%;word-break:break-all;}
}