@import url('https://fonts.googleapis.com/css2?family=Asta+Sans:wght@300..800&family=Chiron+GoRound+TC:wght@200..900&family=Nanum+Gothic&display=optional');

body {font-family:"Nanum Gothic", sans-serif; font-style:normal; font-weight:400; height:100svh; margin:0 auto; padding:0rem; width:100%;}
html {
    scrollbar-gutter:stable;
    font-size:16px;
    height:100%;
}

/* login */
#login_login {margin:0 auto; margin-top:15rem; width:fit-content;}

/* main layout */
.main-layout {margin:auto; max-width:70rem; width:90%;}
.main-layout nav {align-items:center; background-color:#315f99; color:white; display:flex; justify-content:space-between; gap:0.75rem; padding:1rem; margin-bottom:1.5rem; box-sizing:border-box; min-width:0;}
.main-layout nav > div:first-child {display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; min-width:0;}
.main-layout nav > div:last-child {min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
#main_menus {border-color:white; color:#333333; min-height:40px; padding:0.45rem 0.6rem; width:min(15rem, 100%);}
#main_menus:focus {outline:2px solid white; outline-offset:2px;}
.main-layout main {max-width:100%; overflow-x:auto;}

@media (max-width: 480px) {
    .main-layout nav {align-items:flex-start; flex-direction:column;}
    .data-table {table-layout:auto; width:max-content !important; min-width:40rem !important;}
    .data-table th, .data-table td {overflow-wrap:normal; word-break:keep-all; white-space:nowrap;}
    .pricing-table {table-layout:auto; width:max-content !important; min-width:70rem !important;}
    .pricing-table th, .pricing-table td {overflow-wrap:normal; word-break:keep-all; white-space:nowrap;}
    .data-table input[type="text"], .pricing-table input[type="text"], .num-input {min-width:6rem !important; width:100% !important;}
    .pricing-table-wrap {max-width:100%; overflow-x:auto;}
}

/* advertisements */
#main_advertisement_container {display:flex; flex-direction:column; gap:1.5rem; width:100%;}

.ad_item {display:flex; flex-direction:column; gap:0.5rem; background:#f9f9f9; border:1px solid #ddd; border-radius:8px; padding:1rem;}

.ad_item_header {display:flex; justify-content:space-between; align-items:center; margin-bottom:0.25rem;}
.ad_item_label {font-weight:bold; font-size:0.9rem; color:#444;}

/* 3:1 이미지 래퍼 */
.ad_img_wrap {position:relative; width:100%; aspect-ratio:3/1; background:#e0e0e0; border-radius:4px; overflow:hidden; cursor:pointer;}
.ad_img_wrap img {width:100%; height:100%; object-fit:cover; display:block;}
.ad_img_overlay {
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:rgba(0,0,0,0.45); color:white;
    opacity:0; transition:opacity 0.2s;
    font-size:1rem; gap:0.3rem; pointer-events:none;
}
.ad_img_wrap:hover .ad_img_overlay {opacity:1;}
.ad_img_empty {
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:#999; font-size:0.9rem; gap:0.4rem;
}
.ad_img_empty-icon {font-size:2rem; line-height:1;}

.ad_url_row {display:flex; align-items:center; gap:0.5rem;}
.ad_url_row label {font-size:0.82rem; color:#666; white-space:nowrap;}
.ad_url_row input[type="url"] {flex:1; padding:0.3rem 0.5rem; border:1px solid #ccc; border-radius:4px; font-size:0.9rem; box-sizing:border-box;}

.ad_remove_btn {background:#e55; color:white; border:none; min-height:36px; padding:0.45rem 0.75rem; cursor:pointer; border-radius:4px; font-size:0.85rem;}
.ad_remove_btn:hover {background:#c33;}

.ad_controls {display:flex; flex-wrap:wrap; gap:0.75rem; justify-content:flex-end; margin-top:1rem;}
.ad_controls button {min-height:40px; padding:0.5rem 1.2rem; border:none; border-radius:5px; cursor:pointer; font-size:0.9rem; font-family:inherit; word-break:keep-all; white-space:normal;}
#ad_add_btn {background:#eee; color:#333;}
#ad_add_btn:hover:not(:disabled) {background:#ddd;}
#ad_add_btn:disabled {opacity:0.4; cursor:not-allowed;}
#main_advertisement_save {background:cornflowerblue; color:white; font-weight:bold;}
#main_advertisement_save:hover {background:#4a7cd6;}
#main_advertisement_save:disabled {opacity:0.5; cursor:not-allowed;}

.ad_hint {text-align:right; color:#999; font-size:0.8rem; margin-top:0.25rem;}

/* ── Tabs ── */
.tab-group {display:flex; gap:0; border-bottom:2px solid #ddd; margin-bottom:1rem; flex-wrap:wrap;}
.tab {appearance:none; min-height:40px; padding:0.5rem 1rem; cursor:pointer; border:0; border-bottom:2px solid transparent; background:transparent; font:inherit; font-size:0.85rem; color:#666;}
.tab.active {border-bottom-color:cornflowerblue; color:cornflowerblue; font-weight:bold;}
.tab:hover {background:#f5f5f5;}

/* ── Data tables ── */
.data-table {border-collapse:collapse; width:100%;}
.data-table th {background:#102C57; color:white; padding:8px 10px; border:1px solid #0a1e3d; text-align:center; font-size:11px; white-space:nowrap;}
.data-table td {padding:6px 9px; border:1px solid #ccc; text-align:center; vertical-align:middle;}
.data-table tr:nth-child(even) td {filter:brightness(0.97);}
.data-table input[type="text"] {border:1px solid #ddd; min-height:36px; padding:6px; font-size:13px; text-align:center; width:100px; box-sizing:border-box;}
.num-input {text-align:right !important; width:100% !important; min-width:65px !important; padding-right:4px !important;}

/* ── Pricing table (Excel-like) ── */
.pricing-table-wrap {overflow-x:auto; margin-bottom:0.5rem;}
.activation_route_guide {margin:0.75rem 0 1rem; padding:0.9rem 1rem; border:1px solid #cfd9e8; border-radius:8px; background:#f7f9fc; color:#26384f;}
.activation_route_guide p {margin:0.35rem 0 0; line-height:1.5; font-size:0.86rem;}
.activation_route_filters {display:flex; flex-wrap:wrap; align-items:center; gap:0.6rem; margin:0 0 1rem;}
.activation_route_filters input[type="search"] {min-width:15rem; padding:0.5rem 0.65rem; border:1px solid #c8d2df; border-radius:6px; font:inherit;}
.activation_route_checkbox {display:flex; align-items:center; gap:0.35rem; font-size:0.88rem;}
.activation_route_group {margin:0 0 1.25rem; border:1px solid #d7dee8; border-radius:10px; background:#fff; overflow:hidden;}
.activation_route_group_header {display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.85rem 1rem; background:#f7f9fc; border-bottom:1px solid #d7dee8;}
.activation_route_group_header h3 {margin:0; font-size:1rem; color:#102c57;}
.activation_route_group_header p {margin:0.25rem 0 0; color:#617086; font-size:0.8rem;}
.activation_route_coverage {padding:0.3rem 0.55rem; border-radius:999px; background:#e8f5ec; color:#24703b; font-size:0.76rem; white-space:nowrap;}
.activation_route_coverage.is_incomplete {background:#fff2db; color:#8a5a00;}
.activation_route_empty {padding:1rem; margin:0; color:#68758a; text-align:center;}
.activation_route_group .pricing-table-wrap {margin:0;}
.activation_route_group input[type="url"] {min-width:24rem; padding:0.35rem 0.5rem; border:1px solid #c8d2df; border-radius:4px; font:inherit;}
.activation_route_group input[type="checkbox"], .activation_route_checkbox input {width:20px; height:20px;}
.activation_route_group input[type="text"] {min-width:12rem;}
@media (max-width: 640px) {
    .activation_route_group_header {align-items:flex-start; flex-direction:column;}
    .activation_route_filters input[type="search"] {min-width:0; width:100%;}
}
.pricing-table {border-collapse:collapse; font-size:12px; min-width:1560px; border:2px solid #888;}
.pricing-table th {background:#102C57; color:white; padding:5px 7px; border:1px solid #555; text-align:center; font-size:11px; white-space:nowrap; line-height:1.3;}
.pricing-table td {padding:0; border:1px solid #bbb; text-align:center; vertical-align:middle; white-space:nowrap; height:32px;}
.pricing-table tr:nth-child(even) td {filter:brightness(0.97);}
.pricing-table input[type="text"] {border:none; padding:4px 5px; font-size:12px; text-align:center; width:100%; height:100%; box-sizing:border-box; background:transparent; outline:none;}
.pricing-table input[type="text"]:focus {background:rgba(100,149,237,0.12); outline:2px solid cornflowerblue; outline-offset:-2px;}
.pricing-table input[type="checkbox"] {width:24px; height:24px; margin:0;}
.pricing-table th:nth-child(4), .pricing-table td:nth-child(4) {min-width:44px;}
.pricing-table .col-text {min-width:72px;}
.pricing-table .col-num {min-width:76px;}
.pricing-table th:nth-child(1), .pricing-table td:nth-child(1) {min-width:96px;}
.pricing-table th:nth-child(2), .pricing-table td:nth-child(2) {min-width:144px;}
.pricing-table th:nth-child(3), .pricing-table td:nth-child(3) {min-width:84px;}
.pricing-table td:nth-child(1) input[type="text"] {min-width:96px !important;}
.pricing-table td:nth-child(2) input[type="text"] {min-width:144px !important;}
.pricing-table td:nth-child(3) input[type="text"] {min-width:84px !important;}

/* ── Section colors ── */
.section-basic   {background:#e8f0fe !important;}
.section-display {background:#e0f2f1 !important;}
.section-subsidy {background:#e8f5e9 !important;}
.section-sum     {background:#d7f5e3 !important;}
.section-net     {background:#c8f0d8 !important;}
.section-rebate  {background:#fce4ec !important;}
.section-adjust  {background:#f3e5f5 !important;}
.section-plan    {background:#fff3e0 !important;}
.section-addon   {background:#fff8e1 !important;}

/* ── Header group colors ── */
.header-basic   {background:#1a3a6b !important;}
.header-display {background:#00695c !important;}
.header-subsidy {background:#2e7d32 !important;}
.header-sum     {background:#1b5e20 !important;}
.header-net     {background:#0d3b18 !important;}
.header-rebate  {background:#880e4f !important;}
.header-adjust  {background:#6a0dad !important;}
.header-plan    {background:#e65100 !important;}
.header-addon   {background:#b8860b !important;}

/* ── Misc ── */
.badge-pop {background:#ff6d00; color:#fff; font-size:9px; padding:1px 5px; border-radius:3px;}
.color-dots {display:flex; gap:3px; justify-content:center; align-items:center;}
.color-dot {width:14px; height:14px; border-radius:50%; border:1px solid #bbb; display:inline-block;}
.total-col {font-weight:bold; color:#1565c0;}
.adj-type-select {font-size:10px; padding:1px;}

/* ── Buttons ── */
.btn-add {background:#eee; color:#333; border:none; min-height:36px; padding:0.5rem 1rem; border-radius:4px; cursor:pointer; font-size:0.85rem;}
.btn-add:hover {background:#ddd;}
.btn-save {background:cornflowerblue; color:white; font-weight:bold; border:none; min-height:40px; padding:0.55rem 1.2rem; border-radius:5px; cursor:pointer; font-size:0.9rem;}
.btn-save:hover {background:#4a7cd6;}
.btn-save:disabled {opacity:0.5; cursor:not-allowed;}
.btn-edit {background:#2196f3; color:white; border:none; min-height:36px; padding:0.45rem 0.7rem; border-radius:4px; cursor:pointer; font-size:0.8rem;}

/* ── Addons ── */
.addon-wrap {display:flex; gap:24px; flex-wrap:wrap;}
.addon-block table th {font-size:12px; padding:8px 10px;}
.addon-block table td {font-size:12px; padding:7px 9px;}
.addon-block input[type="text"] {min-height:36px; box-sizing:border-box; font-size:13px;}
.carrier-label {font-weight:bold; font-size:14px; margin:0.75rem 0 0.35rem; color:#333;}

/* ── Products ── */
.product-card {display:flex; align-items:center; gap:1rem; padding:0.8rem; border:1px solid #ddd; border-radius:8px; margin-bottom:0.5rem;}
.product-thumb {width:72px; aspect-ratio:400/530; height:auto; object-fit:contain; background:transparent; border-radius:6px; border:1px solid #ddd;}
.product-thumb-empty {width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:#f0f0f0; border-radius:6px; font-size:1.5rem;}
.product-info {flex:1;}
.product-actions {display:flex; gap:0.5rem;}
.product_filters {display:flex; align-items:center; justify-content:space-between; gap:0.75rem; margin-bottom:1rem;}
.product_filters input {min-height:40px; width:min(24rem, 100%); padding:0.5rem 0.7rem; border:1px solid #ccc; border-radius:6px; font:inherit;}
.product_filters span {font-size:0.85rem; color:#666; white-space:nowrap;}
.product_empty {padding:2rem; border:1px dashed #ccc; border-radius:8px; text-align:center; color:#666;}
@media (max-width: 640px) {
    .product_filters {align-items:stretch; flex-direction:column;}
    .product_filters input {width:100%;}
}

/* ── Modal ── */
.modal-overlay {position:fixed; inset:0; background:rgba(0,0,0,0.4); display:flex; align-items:center; justify-content:center; z-index:999;}
.modal {background:white; border-radius:10px; padding:1.5rem; min-width:350px; max-width:500px; width:90%;}
.modal-header {display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem;}
.modal-header h3 {margin:0;}
.modal-close {background:none; border:none; font-size:1.2rem; cursor:pointer;}
.modal-body {display:flex; flex-direction:column; gap:0.5rem;}
.modal-body label {font-size:0.85rem; color:#555; margin-top:0.3rem;}
.modal-body input[type="text"] {padding:0.4rem; border:1px solid #ccc; border-radius:4px;}
.modal-footer {display:flex; justify-content:flex-end; gap:0.5rem; margin-top:1rem;}
.color-row {display:flex; gap:0.5rem; align-items:center; margin-bottom:0.3rem;}
.catalog-bulk-modal {max-width:760px;}
.catalog-bulk-input {min-height:18rem; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space:pre; overflow:auto;}
.catalog-bulk-warning {margin:0; padding:0.75rem; border:1px solid #ef9a9a; border-radius:6px; background:#ffebee; color:#b71c1c; font-size:0.85rem; line-height:1.45;}
.catalog-bulk-hint {text-align:left; line-height:1.45;}
.catalog-bulk-preview {max-height:18rem; overflow:auto; border:1px solid #ddd; border-radius:4px;}
.catalog-bulk-preview:empty {display:none;}
.catalog-bulk-preview-table {min-width:40rem; font-size:0.75rem;}
.catalog-bulk-preview-table td {text-align:left; white-space:nowrap;}

/* ── Excel Paste Area ── */
.paste-section {background:#f8f9ff; border:1px solid #d0d5e8; border-radius:8px; padding:0.8rem 1rem; margin-bottom:1rem;}
.paste-header {display:flex; align-items:center; gap:0.5rem; margin-bottom:0.4rem;}
.paste-header strong {font-size:0.9rem; color:#333;}
.paste-subtitle {font-size:0.78rem; color:#888;}
.paste-col-hint {display:flex; flex-wrap:wrap; gap:4px; margin-bottom:0.4rem;}
.paste-col-tag {font-size:0.7rem; background:#e8eaf6; color:#3949ab; padding:1px 6px; border-radius:3px; white-space:nowrap;}
.paste-area {width:100%; min-height:60px; border:1px dashed #b0bec5; border-radius:4px; padding:0.5rem; font-size:0.8rem; font-family:inherit; resize:vertical; box-sizing:border-box; background:white;}
.paste-area:focus {border-color:cornflowerblue; outline:none; background:#fafbff;}
.paste-status {font-size:0.8rem; margin-top:0.3rem; min-height:1.2em;}
.paste-success {color:#2e7d32;}
.paste-error {color:#c62828;}

.error-box {background:#ffebee; border:1px solid #ef5350; color:#c62828; padding:0.8rem 1rem; border-radius:6px; font-size:0.85rem; margin:0.5rem 0;}

/* ── Orders ── */
.order-table {border-collapse:collapse; width:100%; font-size:0.85rem;}
.order-table th {background:#102C57; color:white; padding:8px 12px; border:1px solid #0a1e3d; text-align:center; font-size:0.78rem; white-space:nowrap;}
.order-table td {padding:8px 12px; border:1px solid #ddd; text-align:center; vertical-align:middle;}
.order-table tr:nth-child(even) td {background:#fafafa;}
.order-table tr:hover td {background:#e8f0fe; cursor:pointer;}

.status-badge {display:inline-block; padding:2px 8px; border-radius:10px; font-size:0.72rem; font-weight:bold; white-space:nowrap;}

.order-detail-header {display:flex; justify-content:space-between; align-items:center; margin-bottom:1.2rem; padding-bottom:0.8rem; border-bottom:2px solid #ddd;}
.order-detail-header h2 {margin:0; font-size:1.1rem; color:#333;}

.detail-card {background:white; border:1px solid #e0e0e0; border-radius:8px; padding:1rem 1.2rem; margin-bottom:1rem;}
.detail-card h3 {margin:0 0 0.8rem 0; font-size:0.9rem; color:#1a3a6b; border-bottom:1px solid #eee; padding-bottom:0.5rem;}
.detail-row {display:flex; padding:0.35rem 0; font-size:0.85rem; border-bottom:1px solid #f5f5f5;}
.detail-row:last-child {border-bottom:none;}
.detail-label {width:120px; color:#666; flex-shrink:0;}
.detail-value {flex:1; color:#222; word-break:break-all;}

.timeline {list-style:none; padding:0; margin:0;}
.timeline li {position:relative; padding:0.6rem 0 0.6rem 1.6rem; border-left:2px solid #ddd; font-size:0.82rem;}
.timeline li::before {content:''; position:absolute; left:-5px; top:0.85rem; width:8px; height:8px; background:cornflowerblue; border-radius:50;}
.timeline li:last-child {border-left-color:transparent;}
.timeline-status {font-weight:bold; color:#333;}
.timeline-meta {color:#888; font-size:0.75rem; margin-top:0.15rem;}

.action-bar {display:flex; gap:0.75rem; flex-wrap:wrap; margin-top:1.2rem; padding-top:1rem; border-top:2px solid #eee;}
.btn-action {padding:0.5rem 1.2rem; border:none; border-radius:5px; cursor:pointer; font-size:0.85rem; font-weight:bold; font-family:inherit;}
.btn-action-primary {background:cornflowerblue; color:white;}
.btn-action-primary:hover {background:#4a7cd6;}
.btn-action-danger {background:#e55; color:white;}
.btn-action-danger:hover {background:#c33;}
.btn-action:disabled {opacity:0.5; cursor:not-allowed;}

.happycall-form {display:flex; flex-direction:column; gap:0.6rem; margin-top:0.8rem;}
.happycall-form select, .happycall-form textarea {padding:0.4rem 0.6rem; border:1px solid #ccc; border-radius:4px; font-family:inherit; font-size:0.85rem;}
.happycall-form textarea {min-height:60px; resize:vertical;}

.order-back-btn {background:none; border:none; color:cornflowerblue; cursor:pointer; font-size:0.9rem; padding:0; margin-bottom:0.8rem; font-family:inherit;}
.order-back-btn:hover {text-decoration:underline;}

.load-more-wrap {text-align:center; margin-top:1rem;}
.order-empty {text-align:center; padding:3rem; color:#999; font-size:0.9rem;}
/* ── Commerce operations ── */
.operations-settings, .commerce-form {display:flex; flex-direction:column; gap:var(--admin-space-3); max-width:560px;}
.operations-settings {background:var(--admin-color-surface); border:1px solid var(--admin-color-border-subtle); border-radius:var(--admin-radius-3); padding:var(--admin-space-4);}
.operations-settings h2 {font-size:var(--admin-type-section); margin:0;}
.commerce-field {display:flex; flex-direction:column; gap:var(--admin-space-1); font-size:var(--admin-type-label); font-weight:700;}
.commerce-field input {border:1px solid var(--admin-color-border); border-radius:var(--admin-radius-1); box-sizing:border-box; font:inherit; font-weight:400; min-height:36px; padding:var(--admin-space-2);}
.commerce-field:has(input[type="checkbox"]) {align-items:center; flex-direction:row;}
.operations-settings input[type="checkbox"] {width:20px; height:20px;}
.commerce-notice {border:1px solid var(--admin-color-border-subtle); border-radius:var(--admin-radius-2); font-size:var(--admin-type-caption); padding:var(--admin-space-2);}
.commerce-notice-info {background:var(--admin-color-info-surface); color:var(--admin-color-info-strong);}
.commerce-notice-success {background:var(--admin-color-success-surface); color:var(--admin-color-success-strong);}
.commerce-notice-error, .commerce-notice-conflict {background:var(--admin-color-danger-surface); border-color:var(--admin-color-danger-border); color:var(--admin-color-danger-strong);}
.commerce-notice-actions {display:flex; flex-wrap:wrap; gap:var(--admin-space-2); margin-bottom:var(--admin-space-3);}
.operations-settings-actions {justify-content:flex-start; margin-top:0;}
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {outline:2px solid var(--admin-color-accent); outline-offset:2px; box-shadow:0 0 0 3px var(--admin-color-focus-halo);}
:root {
    --admin-color-surface:#f9f9f9; --admin-color-border:#cccccc; --admin-color-border-subtle:#dddddd;
    --admin-color-info-surface:#e8f0fe; --admin-color-info-strong:#1565c0; --admin-color-success-surface:#e8f5e9;
    --admin-color-success-strong:#1b5e20; --admin-color-danger-surface:#ffebee; --admin-color-danger-border:#ef5350;
    --admin-color-danger-strong:#c62828; --admin-color-accent:#6495ed; --admin-color-focus-halo:rgba(100,149,237,0.28);
    --admin-space-1:4px; --admin-space-2:8px; --admin-space-3:12px; --admin-space-4:16px;
    --admin-radius-1:4px; --admin-radius-2:6px; --admin-radius-3:8px;
    --admin-type-section:16px; --admin-type-label:13px; --admin-type-caption:12px;
}

/* Feedback does not delay state commits or menu switching. */
:root { --admin-motion-feedback: 140ms ease-out; }
:where(button, a, input, select, textarea, .tab) { transition: background-color var(--admin-motion-feedback), border-color var(--admin-motion-feedback), color var(--admin-motion-feedback), opacity var(--admin-motion-feedback); }
main[data-state="loading"] { min-height: 50svh; }
#section_status { padding: var(--admin-space-3); }
.state_enter { animation: state_enter 180ms ease-out; }
@keyframes state_enter { from { opacity: .65; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Admin workbench: fixed task navigation and stable content geometry. */
:root {
    --admin-color-nav:#183657; --admin-color-nav-active:#315f99;
    --admin-color-canvas:#f3f6fa; --admin-color-text:#26384f; --admin-color-muted:#617086;
    --admin-space-5:24px; --admin-space-6:32px; --admin-type-page:24px;
    --admin-sidebar-width:216px;
}
body {background:var(--admin-color-canvas);color:var(--admin-color-text);}
[hidden] {display:none !important;}
.sr-only {position:absolute !important;width:1px;height:1px;padding:0 !important;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.main-layout {display:grid;grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr);max-width:1800px;width:100%;min-height:100svh;align-items:start;}
.main-layout .admin-sidebar {position:sticky;top:0;min-height:100svh;margin:0;padding:var(--admin-space-5) var(--admin-space-3);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--admin-color-nav);gap:var(--admin-space-5);}
.admin-brand {color:white;text-decoration:none;font-weight:700;font-size:20px;padding:var(--admin-space-2);}
.main-layout .admin-sidebar .admin-menu-links {display:flex;flex-direction:column;align-items:stretch;gap:var(--admin-space-1);overflow:visible;white-space:normal;}
.admin-menu-links a {color:#e3ebf6;text-decoration:none;padding:var(--admin-space-3);border-radius:var(--admin-radius-2);font-size:14px;line-height:1.4;}
.admin-menu-links a:hover,.admin-menu-links a[aria-current="page"] {background:var(--admin-color-nav-active);color:white;}
.main-layout .admin-sidebar .admin-account {margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:var(--admin-space-3);white-space:normal;overflow-wrap:anywhere;font-size:12px;}
.admin-account button {min-height:40px;}
.admin-workspace {min-width:0;padding:var(--admin-space-5);}
.admin-page-header {display:flex;justify-content:space-between;align-items:center;gap:var(--admin-space-3);min-height:56px;margin-bottom:var(--admin-space-4);}
.admin-page-header h1 {margin:0;font-size:var(--admin-type-page);line-height:1.35;}
.mobile-menu {display:none;}
.main-layout main {position:relative;overflow:visible;min-width:0;min-height:calc(100svh - 130px);background:white;padding:var(--admin-space-5);border:1px solid var(--admin-color-border-subtle);border-radius:var(--admin-radius-3);box-sizing:border-box;}
.editor-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:var(--admin-space-2);margin-bottom:var(--admin-space-3);}
.editor-toolbar input,.editor-toolbar select,.order-search input,.order-search select {min-height:40px;max-width:100%;box-sizing:border-box;border:1px solid var(--admin-color-border);border-radius:var(--admin-radius-1);padding:var(--admin-space-2);font:inherit;}
.editor-toolbar input[type="search"] {width:280px;}
.catalog-save-bar {position:sticky;bottom:0;z-index:5;background:white;border-top:1px solid var(--admin-color-border-subtle);padding:var(--admin-space-3);align-items:center;box-shadow:0 -4px 14px #1836570a;}
.catalog-save-bar .ad_hint {flex:1 1 100%;margin:0;text-align:left;line-height:1.6;color:var(--admin-color-muted);}
.dashboard-queue {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--admin-space-3);margin:var(--admin-space-5) 0;}
.queue-card {display:flex;flex-direction:column;align-items:flex-start;gap:var(--admin-space-3);padding:var(--admin-space-4);min-height:144px;border:1px solid var(--admin-color-border-subtle);border-radius:var(--admin-radius-3);background:var(--admin-color-canvas);text-align:left;font:inherit;cursor:pointer;color:var(--admin-color-text);}
.queue-card strong {font-size:32px;line-height:1.1;min-height:36px;}
.queue-caption,.dashboard-status {font-size:13px;color:var(--admin-color-muted);line-height:1.5;}
.order-search {display:grid;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(110px,1fr)) auto auto;gap:var(--admin-space-2);align-items:end;margin-bottom:var(--admin-space-4);}
.list-count {font-size:13px;min-height:20px;color:var(--admin-color-muted);}
.data-table td {font-size:14px;line-height:1.5;}
.data-table th {font-size:12px;}
.data-table a {color:var(--admin-color-info-strong);overflow-wrap:anywhere;}
.order-copy {display:block;margin:var(--admin-space-1) auto 0;background:transparent;border:0;color:var(--admin-color-info-strong);cursor:pointer;min-height:32px;}
.orders-layout {min-width:0;}
.orders-layout.has-detail {display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:var(--admin-space-5);align-items:start;}
.order-list-pane {min-width:0;}
.has-detail .order-search {grid-template-columns:repeat(2,minmax(0,1fr));}
.order-detail-pane {min-width:0;border-left:1px solid var(--admin-color-border-subtle);padding-left:var(--admin-space-5);}
.order-loading {height:440px;background:linear-gradient(90deg,#f3f6fa,#e8edf4,#f3f6fa);background-size:200% 100%;animation:skeleton-wave 1.8s linear infinite;}
.pricing-table-wrap {max-width:100%;overscroll-behavior-x:contain;}
.number-editor {display:flex;flex-direction:column;align-items:stretch;gap:var(--admin-space-1);}
.field-error {display:block;color:var(--admin-color-danger-strong);font-size:12px;line-height:1.5;white-space:normal;}
.settings-loading input {color:transparent;background:var(--admin-color-border-subtle);}
[aria-invalid="true"] {border:2px solid var(--admin-color-danger-border) !important;background:var(--admin-color-danger-surface) !important;}
.addon-wrap {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--admin-space-5);}
.addon-block {min-width:0;overflow-x:auto;}
.addon-block table {border-collapse:collapse;width:100%;min-width:720px;}
.addon-block table th,.addon-block table td {white-space:nowrap;}
.addon-block input[type="text"] {width:100%;min-width:100px;}
.admin-dialog {width:min(900px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid var(--admin-color-border-subtle);border-radius:var(--admin-radius-3);box-sizing:border-box;color:var(--admin-color-text);}
.admin-dialog::backdrop {background:#18365780;}
.admin-dialog-header,.admin-dialog-footer {display:flex;align-items:center;justify-content:space-between;gap:var(--admin-space-3);padding:var(--admin-space-4);background:var(--admin-color-canvas);}
.admin-dialog-header h2 {font-size:18px;margin:0;}
.admin-dialog-body {padding:var(--admin-space-4);display:flex;flex-direction:column;gap:var(--admin-space-3);}
.admin-dialog-footer {justify-content:flex-end;flex-wrap:wrap;}
.comparison-wrap {max-width:100%;overflow-x:auto;}
.comparison-table {min-width:540px;table-layout:fixed;}
.comparison-table td {text-align:left;vertical-align:top;}
.comparison-table pre {white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;max-height:260px;overflow:auto;margin:0;}
.product-media-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,180px));gap:var(--admin-space-3);}
.product-media-item {display:flex;flex-direction:column;gap:var(--admin-space-2);}
.product-media-item img {width:100%;aspect-ratio:400/530;object-fit:contain;}
.product-card {min-height:112px;box-sizing:border-box;}
#products_list {min-height:320px;}
.banner-crop-preview {width:100%;aspect-ratio:3/1;object-fit:cover;}
.ad_img_wrap {padding:0;border:1px solid var(--admin-color-border);}
.ad_img_wrap:focus-visible .ad_img_overlay {opacity:1;}
.ad_item {max-width:100%;box-sizing:border-box;}
.modal-overlay .modal {min-width:0 !important;max-width:calc(100vw - 24px);box-sizing:border-box;max-height:calc(100svh - 24px);overflow:auto;}
.section-loading {pointer-events:none;}
.section-loading .catalog-save-bar {visibility:hidden;}
#pricing_content_wrap,#addons_wrap,#activation_routes_wrap {min-height:480px;}
#plans_panel {min-height:360px;}
#plans_panel table {min-width:640px;}
.loading-product {display:flex;gap:16px;align-items:center;}
.loading-product-image {width:80px;height:80px;flex:none;}
.loading-product .product-info {display:grid;gap:12px;width:55%;}
.loading-plan-row {height:60px;}
.dashboard-status {min-height:24px;}
.dashboard[data-loading="true"] [data-count],.dashboard[data-loading="true"] .dashboard-status {color:transparent;background:var(--admin-color-border-subtle);border-radius:4px;}
#catalog_release_status {min-height:2.8em;}
.section-skeleton {position:absolute;inset:var(--admin-space-5);pointer-events:none;}
.skeleton-toolbar {display:flex;gap:var(--admin-space-3);height:40px;margin-bottom:var(--admin-space-5);}
.skeleton-toolbar .skeleton-block {width:120px;height:40px;}
.skeleton-row {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--admin-space-3);height:48px;align-items:center;border-bottom:1px solid var(--admin-color-border-subtle);}
.skeleton-block {display:block;height:20px;border-radius:var(--admin-radius-1);background:linear-gradient(90deg,#edf1f6,#e2e8f0,#edf1f6);background-size:200% 100%;animation:skeleton-wave 1.8s linear infinite;}
.skeleton-form {max-width:560px;}
.skeleton-form .skeleton-row {display:block;height:76px;border:0;}
.skeleton-form .skeleton-block {height:40px;}
.skeleton-products .skeleton-row {height:120px;}
.skeleton-banners .skeleton-row {display:block;height:auto;aspect-ratio:3/1;margin-bottom:var(--admin-space-5);}
.skeleton-banners .skeleton-block {height:100%;}
.boot-loading {min-height:100svh;display:grid;place-items:center;background:var(--admin-color-canvas);}
.boot-spinner {width:36px;height:36px;border:3px solid var(--admin-color-border-subtle);border-top-color:var(--admin-color-accent);border-radius:50%;animation:boot-spin .8s linear infinite;}
@keyframes skeleton-wave {to{background-position:-200% 0;}}
@keyframes boot-spin {to{transform:rotate(360deg);}}
@media(max-width:1200px){.orders-layout.has-detail{display:block;}.has-detail .order-list-pane{display:none;}.order-detail-pane{border:0;padding:0;}.order-search{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.main-layout{grid-template-columns:minmax(0,1fr);}.main-layout .admin-sidebar{position:static;min-height:0;padding:var(--admin-space-3);flex-direction:row;align-items:center;justify-content:space-between;}.admin-menu-links{display:none !important;}.admin-account span{display:none;}.mobile-menu{display:block;}.admin-workspace{padding:var(--admin-space-3);}.main-layout main{padding:var(--admin-space-3);}.admin-page-header{align-items:flex-start;flex-direction:column;}.admin-page-header h1{font-size:20px;}.section-skeleton{inset:var(--admin-space-3);}.catalog-save-bar{bottom:0;}.order-search{grid-template-columns:repeat(2,minmax(0,1fr));}.product-card{flex-wrap:wrap;}.product-actions{margin-left:auto;}.ad_url_row{flex-wrap:wrap;}.ad_url_row input{min-width:0;}.operations-settings{max-width:100%;box-sizing:border-box;}}
@media(prefers-reduced-motion:reduce){.skeleton-block,.boot-spinner,.order-loading{animation:none;}}
/* Audit fixes 2026-09-23: empty/invalid price cells, publish blockers, re-login notices. */
.pricing-table td.pricing-cell-invalid {background:var(--admin-color-danger-surface);}
.pricing-table td.pricing-cell-invalid input::placeholder {color:var(--admin-color-danger-strong);}
.catalog-publish-blockers, .catalog-zero-prices {border:1px solid var(--admin-color-danger-border); border-radius:var(--admin-radius-2); background:var(--admin-color-danger-surface); color:var(--admin-color-danger-strong); padding:var(--admin-space-3); margin-top:var(--admin-space-3);}
.catalog-publish-blockers h3, .catalog-zero-prices h3 {margin:0 0 var(--admin-space-2); font-size:var(--admin-type-section);}
.catalog-publish-blockers ul, .catalog-zero-prices ul {margin:0 0 var(--admin-space-2); padding-left:var(--admin-space-5); max-height:240px; overflow:auto; font-size:var(--admin-type-caption);}
.catalog-zero-prices .commerce-field {flex-direction:row; align-items:flex-start; gap:var(--admin-space-2);}
.login-notice {max-width:560px; margin:0 auto var(--admin-space-4); padding:var(--admin-space-3); border:1px solid var(--admin-color-border-subtle); border-radius:var(--admin-radius-2); background:var(--admin-color-surface); font-size:var(--admin-type-caption);}
.confirm-dialog-message {margin:0; white-space:normal;}
