/* Tracker Networks: an opt-in palette over our own site templates.
   No layout/visibility, price, validation, payment or service-state changes. */
html[data-tn-theme="light"] { color-scheme: light; }
.tn-color-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-height:34px; padding:5px 11px; margin:0; border:1px solid #48615f;
  border-radius:18px; background:transparent; color:#c5d6dd;
  font:600 12px/1.4 "Segoe UI",system-ui,sans-serif; cursor:pointer; white-space:nowrap;
}
.tn-color-toggle svg { flex:none; }
.tn-color-toggle:hover { background:#203b40; color:#fff; }
.tn-color-toggle[aria-pressed="true"] { background:#193e35; border-color:#578e7c; color:#b5f2d6; }
.tn-color-toggle:focus-visible { outline:3px solid #79dcb6; outline-offset:3px; }
.tn-color-toolbar { display:flex; justify-content:flex-end; padding:12px 20px; }
.tn-color-toolbar .tn-color-toggle { background:#102735; color:#d5eee4; }
@media(max-width:600px) {
  .tn-header-utility { gap:8px 12px; }
  .tn-header-utility .tn-color-toggle { min-height:36px; }
}

@media screen {
html[data-tn-theme="dark"] {
  color-scheme:dark;
  --tn-navy:#081520; --tn-navy-soft:#102534;
  --tn-paper:#0e1c28; --tn-ink:#e3edf2; --tn-muted:#acbec8;
  --tn-line:#334b59; --tn-surface:#172a38; --tn-surface-raised:#1e3543;
  --tn-wash:#17362f; --tn-accent:#98e7c5;
  --tn-cmp-bg:#0e1c28; --tn-cmp-ink:#acbec8; --tn-cmp-link:#98e7c5; --tn-cmp-line:#334b59;
  --body-bg:var(--tn-paper); --body-color:var(--tn-ink);
  --template-bg-light:var(--tn-surface); --template-text-dark:var(--tn-ink);
  --cassiopeia-color-link:var(--tn-accent); --link-color:var(--tn-accent);
  --bs-body-bg:var(--tn-paper); --bs-body-color:var(--tn-ink);
  --bs-secondary-bg:var(--tn-surface-raised); --bs-tertiary-bg:var(--tn-surface);
  --bs-border-color:var(--tn-line); --bs-emphasis-color:var(--tn-ink);
  --bs-secondary-color:var(--tn-muted); --bs-heading-color:var(--tn-ink);
  --bs-link-color:var(--tn-accent); --bs-link-hover-color:#c7ffe4;
  background:var(--tn-paper) !important;
}
html[data-tn-theme="dark"] body {
  --shop-ink:var(--tn-ink); --shop-muted:var(--tn-muted); --shop-line:var(--tn-line); --shop-wash:var(--tn-wash);
  --tn-vps-ink:var(--tn-ink); --tn-vps-line:var(--tn-line); --tn-registry-line:var(--tn-line);
  background:var(--tn-paper) !important; color:var(--tn-ink) !important;
}
html[data-tn-theme="dark"] :is(#comjshop,#comjshop_register,#jshop_menu_order,.tn-shop-finish,.tnvps-customer,.tn-registry-page) {
  --shop-ink:var(--tn-ink); --shop-muted:var(--tn-muted); --shop-line:var(--tn-line); --shop-wash:var(--tn-wash);
  --tn-vps-ink:var(--tn-ink); --tn-vps-line:var(--tn-line); --tn-registry-line:var(--tn-line);
  color:var(--tn-ink);
}
html[data-tn-theme="dark"] :is(h1,h2,h3,h4,h5,h6,legend,label,.control-label) { color:var(--tn-ink); }
html[data-tn-theme="dark"] a { color:var(--tn-accent); }
html[data-tn-theme="dark"] a:hover { color:#c7ffe4; }
html[data-tn-theme="dark"] :is(#comjshop,#comjshop_register,.container-component) a:not(.btn):not(.button):not(.tnvps-button):not(.tn-account-detail-back) { color:var(--tn-accent); }
html[data-tn-theme="dark"] :is(.text-muted,.small_header,.tn-about,.tn-offers-intro,.tn-offer-card p,.tn-offer-old,.plan-type,.plan-features,.tn-domain-label,.tn-domain-prices a,
 .tn-account-hero p,.tn-account-data-item dt,.tn-orders-total .name,.tnvps-customer-meta,.tnvps-customer-resources dt,.tn-domain-renewal-help) { color:var(--tn-muted) !important; }
html[data-tn-theme="dark"] :is(.text-dark,.text-body,.text-black) { color:var(--tn-ink) !important; }
html[data-tn-theme="dark"] :is(.tn-eyebrow,.tn-account-eyebrow,.tnvps-eyebrow,.tn-offer-prices strong,.tn-offer-saving) { color:var(--tn-accent) !important; }

/* Main content, cards, services, menus and Bootstrap components. */
html[data-tn-theme="dark"] :is(.card,.card-header,.card-footer,.list-group-item,.modal-content,.dropdown-menu,.offcanvas,.bg-white,.bg-light,
 .tn-domain-panel,.tn-offer-card,.tn-offer-link,.snip1517 .plan,.snip1517 .plan-select a,.offline-card,
 .tn-contact-card,.domain-box,.tn-transfer-domain,.tn-dnssec-panel,.tnvps-customer-card,
 .tn-account-nav,.tn-account-panel,.tn-order-card,.other_delivery_adress,.tn-account-detail-back,
 .tn-nav .mod-menu .mm-collapse) {
  background:var(--tn-surface) !important; color:var(--tn-ink); border-color:var(--tn-line) !important;
}
html[data-tn-theme="dark"] :is(.snip1517 .plan,.tn-offer-card):is(:hover,:focus-within) { background:var(--tn-surface-raised) !important; border-color:#619d87 !important; }
html[data-tn-theme="dark"] :is(.snip1517 .plan-select a,.tn-offer-link,.tn-account-detail-back):is(:hover,:focus-visible) { background:var(--tn-surface-raised) !important; color:#c7ffe4 !important; }
html[data-tn-theme="dark"] :is(.tn-nav .mod-menu .mm-collapse a,.dropdown-item) { color:var(--tn-ink) !important; }
html[data-tn-theme="dark"] :is(.tn-nav .mod-menu .mm-collapse a,.dropdown-item):is(:hover,:focus) { background:var(--tn-wash) !important; color:var(--tn-accent) !important; }
html[data-tn-theme="dark"] :is(.tn-package-notes,.tn-domain-suffix-hint,.tn-domain-renew-summary,.tn-host-account,.tn-account-game,.tn-order-card-head,
 .tnvps-customer-addresses,.tn-order-status,.tn-account-count-badge,.tn-orders-total,.domain-info,.tn-shop-finish,.tn-panel-heading .tn-account-icon) {
  background:var(--tn-wash) !important; color:var(--tn-ink) !important; border-color:var(--tn-line) !important;
}
html[data-tn-theme="dark"] .tn-account-hero { background:linear-gradient(115deg,#173c34,#172a38) !important; border-color:#355b4e !important; }
html[data-tn-theme="dark"] :is(.tn-account-nav a,.tn-account-button-quiet) { color:var(--tn-accent) !important; background:transparent !important; }
html[data-tn-theme="dark"] .tn-account-nav a.is-active { background:#126348 !important; color:#fff !important; }
html[data-tn-theme="dark"] .tn-account-nav a:not(.is-active):hover { background:var(--tn-wash) !important; }

/* All standard form controls; radio/checkbox geometry and validation are untouched. */
html[data-tn-theme="dark"] body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="range"]):not([type="color"]),select,textarea,.form-control,.form-select,.choices__inner,.choices__list--dropdown,.input-group-text) {
  background-color:#102330 !important; color:var(--tn-ink) !important; border-color:#506975 !important;
}
html[data-tn-theme="dark"] body :is(input,textarea)::placeholder { color:#9bb0bc; opacity:1; }
html[data-tn-theme="dark"] body :is(input,select,textarea):disabled { background-color:#20313b !important; color:#a3b4bd !important; }
html[data-tn-theme="dark"] body :is(input,select,textarea):is(.invalid,.is-invalid,[aria-invalid="true"]) { border-color:#f59892 !important; }
html[data-tn-theme="dark"] :is(input[type="checkbox"],input[type="radio"]) { accent-color:#6ad3a5 !important; }
html[data-tn-theme="dark"] :is(a,button,input,select,textarea,summary):focus-visible { outline-color:#8de9c1 !important; }
html[data-tn-theme="dark"] .btn-close { filter:invert(1) grayscale(100%); }
html[data-tn-theme="dark"] :is(code,pre,kbd) { background:#0c202c !important; color:#b9eed7 !important; border-color:var(--tn-line); }

/* JoomShopping category, product, cart, checkout and order-detail surfaces. */
html[data-tn-theme="dark"] #comjshop :is(.category,.product,.login_block,.register_block,.block_sorting_count_to_page,
 .jshop_prod_description,.tn-cart-scroll,table.cart,table.jshop_subtotal,.cart_empty_text,.address_block,.checkout_payment_block,.checkout_shipping_block,.checkout_pfinish_block,.jshop_order_step) {
  background:var(--tn-surface) !important; border-color:var(--tn-line) !important;
}
html[data-tn-theme="dark"] #comjshop_register,
html[data-tn-theme="dark"] #comjshop.pagelogin,
html[data-tn-theme="dark"] #comjshop .pagelogin,
html[data-tn-theme="dark"] #comjshop.productfull > form > .row.jshop > [class*="col-"],
html[data-tn-theme="dark"] #comjshop .tn-domain-catalog > .row-fluid,
html[data-tn-theme="dark"] #comjshop .tn-domain-quicklinks a,
html[data-tn-theme="dark"] #jshop_menu_order .jshop_order_step { background:var(--tn-surface) !important; border-color:var(--tn-line) !important; color:var(--tn-ink); }
html[data-tn-theme="dark"] #comjshop :is(.category,.product):is(:hover,:focus-within) { background:var(--tn-surface-raised) !important; }
html[data-tn-theme="dark"] #comjshop :is(.prod_price,#block_price,.jshop_price,.jshop_subtotal .total td,.tn-orders-total .price) { color:var(--tn-accent) !important; }
html[data-tn-theme="dark"] #comjshop :is(.btn,.button,input[type="submit"],button[type="submit"]),
html[data-tn-theme="dark"] .container-component .btn-primary { background-color:#156650; color:white; border-color:#3b9a7b; }
html[data-tn-theme="dark"] #comjshop :is(.btn,.button,input[type="submit"],button[type="submit"]):hover { background-color:#a4efd0; color:#082d24; }
html[data-tn-theme="dark"] #comjshop :is(.btn-secondary,.btn-default,.btn-wishlist),
html[data-tn-theme="dark"] .tnvps-button-secondary { background:var(--tn-surface-raised) !important; color:var(--tn-accent) !important; border-color:#506975 !important; }
html[data-tn-theme="dark"] #comjshop :is(.btn-danger,.remove .btn) { background:#4b2529 !important; color:#ffb6b0 !important; border-color:#935257 !important; }
html[data-tn-theme="dark"] #jshop_menu_order .jshop_order_step.active,
html[data-tn-theme="dark"] #comjshop :is(#table_payments,#table_shippings) > .name { background:var(--tn-wash) !important; border-color:#548674 !important; color:var(--tn-ink); }
html[data-tn-theme="dark"] #jshop_menu_order a { color:var(--tn-accent); }
html[data-tn-theme="dark"] #jshop_menu_order { background:transparent !important; }
html[data-tn-theme="dark"] #jshop_menu_order .jshop_order_step::before { color:var(--tn-accent); }
/* Joomla's Bootstrap build uses --table-*; extensions may use --bs-table-*. */
html[data-tn-theme="dark"] :is(table,.table) {
  --table-bg:var(--tn-surface); --table-color:var(--tn-ink);
  --table-border-color:var(--tn-line); --table-accent-bg:transparent;
  --table-striped-bg:#1c3341; --table-striped-color:var(--tn-ink);
  --table-hover-bg:#234136; --table-hover-color:var(--tn-ink);
  --table-active-bg:#234136; --table-active-color:var(--tn-ink);
}
html[data-tn-theme="dark"] .tn-domain-price-live caption { color:var(--tn-muted); }
/* Cart and all checkout steps share these legacy fixed-color row styles. */
html[data-tn-theme="dark"] #comjshop table.cart tr.jshop_prod_cart,
html[data-tn-theme="dark"] #comjshop table.cart tr.jshop_prod_cart td {
  background:var(--tn-surface) !important; color:var(--tn-ink) !important;
}
html[data-tn-theme="dark"] #comjshop table.cart tr.jshop_prod_cart.even,
html[data-tn-theme="dark"] #comjshop table.cart tr.jshop_prod_cart.even td { background:#1c3341 !important; }
html[data-tn-theme="dark"] #comjshop table.cart :is(.total_price,.single_price) .data { color:var(--tn-ink); }
html[data-tn-theme="dark"] :is(table,.table) { --bs-table-bg:var(--tn-surface); --bs-table-color:var(--tn-ink); --bs-table-border-color:var(--tn-line); --bs-table-striped-bg:#1c3341; --bs-table-striped-color:var(--tn-ink); --bs-table-hover-bg:#234136; --bs-table-hover-color:var(--tn-ink); color:var(--tn-ink); border-color:var(--tn-line); }
html[data-tn-theme="dark"] :is(#comjshop,.container-component) table :is(th,td) { border-color:var(--tn-line) !important; }
html[data-tn-theme="dark"] :is(#comjshop,.container-component) table th { background:var(--tn-surface-raised) !important; color:var(--tn-ink) !important; }
html[data-tn-theme="dark"] :is(.page-link,.pagination a) { background:var(--tn-surface); border-color:var(--tn-line); color:var(--tn-accent); }

/* Assistant messages and entry field, without changing its backend or resize behavior. */
html[data-tn-theme="dark"] .chat-container { background:var(--tn-surface) !important; border-color:#426858 !important; }
html[data-tn-theme="dark"] .chat-container :is(.messages,.chat-form) { background:var(--tn-surface); border-color:var(--tn-line); }
html[data-tn-theme="dark"] .chat-container .assistant :is(.message-content,.avatar) { background:var(--tn-surface-raised); color:var(--tn-ink); }
html[data-tn-theme="dark"] .chat-container .user :is(.message-content,.avatar) { background:#235b46; color:#fff; }
html[data-tn-theme="dark"] .chat-container .message-content a { color:#b8f5da; text-decoration:underline; }

/* Status meanings remain distinct. */
html[data-tn-theme="dark"] :is(.alert-success,.tn-domain-result--available,.domain-success,.epp-success,.tn-transfer-message,.tnvps-status-running) { background:#163d30 !important; color:#aff1ce !important; border-color:#4c846d !important; }
html[data-tn-theme="dark"] :is(.alert-info,.tn-domain-result,.domain-info,.tn-message,.tnvps-status) { background:#173746; color:#bddfec; border-color:#477286; }
html[data-tn-theme="dark"] :is(.alert-warning,.tn-domain-result--info,.tnvps-notice) { background:#403522 !important; color:#f3d69e !important; border-color:#967542 !important; }
html[data-tn-theme="dark"] :is(.alert-danger,.tn-domain-result--error,.tn-domain-result--unavailable,.domain-error,.epp-error,.tn-transfer-error,.tn-error) { background:#42272e !important; color:#ffbdb7 !important; border-color:#965660 !important; }
html[data-tn-theme="dark"] :is(.text-danger,.invalid-feedback,.requiredtext,.control-label .required) { color:#ffb6b0 !important; }
html[data-tn-theme="dark"] .text-success { color:#a2ebc5 !important; }
html[data-tn-theme="dark"] .tn-error-message { color:var(--tn-ink); }
/* Server-rendered error pages also need a readable diagnostic panel. */
html[data-tn-theme="dark"] .tn-error-page main { color:var(--tn-muted); }
html[data-tn-theme="dark"] .tn-error-page main li::marker { color:var(--tn-accent); }
html[data-tn-theme="dark"] .tn-error-page .tn-error-detail { background:var(--tn-wash); color:var(--tn-ink); border-color:#548674; }
html[data-tn-theme="dark"] .tn-error-page .tn-error-code { background:var(--tn-accent); color:#082d24; }

/* Article editors sometimes save explicit light surfaces. Match only such
   content styles, never illustrations, images, payment logos or chart colors. */
html[data-tn-theme="dark"] .container-component :is(div,section,aside,details,fieldset,table,td):is([style*="background: white"],[style*="background:white"],[style*="background: #f"],[style*="background:#f"],[style*="background-color: #f"],[style*="background-color:#f"],[style*="background-color:white"],[style*="background-color: white"]) { background-color:var(--tn-surface) !important; border-color:var(--tn-line) !important; color:var(--tn-ink); }
html[data-tn-theme="dark"] .com-content-article__body :is(p,span,li)[style*="color"] { color:inherit !important; }
html[data-tn-theme="dark"] :is(.com-content-article__body,.tn-account) hr { border-color:var(--tn-line); opacity:1; }
html[data-tn-theme="dark"] :is(.accordion-item,.accordion-button,#kunena.layout,.kunena-body,.kbody) { background:var(--tn-surface) !important; color:var(--tn-ink) !important; border-color:var(--tn-line) !important; }
html[data-tn-theme="dark"] .accordion-button::after { filter:brightness(0) invert(1); }
html[data-tn-theme="dark"] .tn-consent-controls { background:var(--tn-paper); border-color:var(--tn-line); }
html[data-tn-theme="dark"] .tn-consent-button { background:var(--tn-surface); color:var(--tn-accent); border-color:var(--tn-line); }
html[data-tn-theme="dark"] .tn-consent-button:hover { background:var(--tn-surface-raised); }
html[data-tn-theme="dark"] .snip1517 .plan-features li::before,
html[data-tn-theme="dark"] #comjshop .tn-account-icon,
html[data-tn-theme="dark"] #comjshop .tn-account-service h3 { color:var(--tn-accent) !important; }
html[data-tn-theme="dark"] #kunena table :is(td,th) { color:var(--tn-ink) !important; border-color:var(--tn-line) !important; }
html[data-tn-theme="dark"] .btn-light { background:var(--tn-surface-raised); color:var(--tn-ink); border-color:var(--tn-line); }
/* The standalone domain-search page is also embedded by Joomla's wrapper. */
html[data-tn-theme="dark"] .domain-search,
html[data-tn-theme="dark"] .domain-search .result-row { background:var(--tn-surface); color:var(--tn-ink); border-color:var(--tn-line); }
html[data-tn-theme="dark"] .domain-search .result-row { background:var(--tn-surface-raised); }
html[data-tn-theme="dark"] .domain-search :is(.help,.help strong) { color:var(--tn-muted); }
html[data-tn-theme="dark"] .domain-search .results { border-color:var(--tn-line); }
html[data-tn-theme="dark"] .domain-search .status-available { background:#163d30; color:#aff1ce; }
html[data-tn-theme="dark"] .domain-search .status-unavailable { background:#42272e; color:#ffbdb7; }
html[data-tn-theme="dark"] .domain-search :is(.status-invalid,.status-api_error) { background:#403522; color:#f3d69e; }
}
@media print { .tn-color-toggle,.tn-color-toolbar { display:none !important; } html[data-tn-theme] { color-scheme:light; } }
