/* Private structural primitives. The public Bootstrap/theme styles are not loaded here.
   form-control, hidden, row/col and modal remain contracts of AJAX fields and payment plugins. */
html:has(body:is(.client-redesign,.client-auth)) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
:is(.client-redesign,.client-auth) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
:is(.client-redesign,.client-auth) :is(h1,h2,h3,h4,h5,h6,p,dl,ul,ol,pre,figure) { margin-top: 0; }
:is(.client-redesign,.client-auth) p { margin-bottom: 16px; }
:is(.client-redesign,.client-auth) :is(ul,ol) { padding-left: 24px; }
:is(.client-redesign,.client-auth) :is(.client-status-tabs,.pagination) { list-style: none; }
:is(.client-redesign,.client-auth) a { text-decoration: none; }
:is(.client-redesign,.client-auth) a:hover { text-decoration: underline; }
:is(.client-redesign,.client-auth) :is(button,input,select,textarea) { margin: 0; font: inherit; line-height: inherit; }
:is(.client-redesign,.client-auth) button { text-transform: none; }
:is(.client-redesign,.client-auth) button:not(:disabled),:is(.client-redesign,.client-auth) summary { cursor: pointer; }
:is(.client-redesign,.client-auth) img { vertical-align: middle; max-width: 100%; height: auto; }
:is(.client-redesign,.client-auth) textarea { resize: vertical; }
:is(.client-redesign,.client-auth) table { border-spacing: 0; }
:is(.client-redesign,.client-auth) th { text-align: left; }
:is(.client-redesign,.client-auth) .hidden { display: none !important; }
:is(.client-redesign,.client-auth) .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:is(.client-redesign,.client-auth) .text-center { text-align: center; }
:is(.client-redesign,.client-auth) .nowrap { white-space: nowrap; }
:is(.client-redesign,.client-auth) .help-block { display: block; margin: 8px 0 16px; }
:is(.client-redesign,.client-auth) .alert { position: relative; padding: 14px 16px; margin: 0 0 24px; }
:is(.client-redesign,.client-auth) .alert-dismissible { padding-right: 52px; }
:is(.client-redesign,.client-auth) .close { float: right; border: 0; background: transparent; font-size: 24px; line-height: 1; cursor: pointer; }
:is(.client-redesign,.client-auth) .alert .close { position: absolute; top: 4px; right: 4px; width: 40px; height: 40px; float: none; }
:is(.client-redesign,.client-auth) .input-group { display: flex; min-width: 0; }
:is(.client-redesign,.client-auth) .input-group-append { display: flex; flex-shrink: 0; }
:is(.client-redesign,.client-auth) .checkbox { margin: 0 0 20px; }
:is(.client-redesign,.client-auth) .checkbox label { display: flex; align-items: center; gap: 8px; min-height: 44px; }
:is(.client-redesign,.client-auth) .row { display: flex; flex-wrap: wrap; gap: 16px; }
:is(.client-redesign,.client-auth) .row > [class*='col-'] { width: 100%; min-width: 0; }
@media(min-width:768px) { :is(.client-redesign,.client-auth) .row > .col-md-6 { width: calc(50% - 8px); } }
:is(.client-redesign,.client-auth) .mb-4 { margin-bottom: 24px; }
:is(.client-redesign,.client-auth) .client-settings-page { max-width: 1000px; }
:is(.client-redesign,.client-auth) .client-settings-section { padding: 24px 0; border-top: 1px solid var(--client-border); }
:is(.client-redesign,.client-auth) .client-settings-section:first-child { padding-top: 0; border-top: 0; }
:is(.client-redesign,.client-auth) .client-settings-section h2 { margin-bottom: 16px; }
:is(.client-redesign,.client-auth) .client-settings-section form { max-width: 680px; }
:is(.client-redesign,.client-auth) .client-settings-page .btn { width: auto; }
:is(.client-redesign,.client-auth) .client-faq details { padding: 16px 0; border-bottom: 1px solid var(--client-border); }
:is(.client-redesign,.client-auth) .client-faq summary { min-height: 44px; font-weight: 500; }
:is(.client-redesign,.client-auth) .client-faq details > div { padding-top: 12px; overflow-wrap: anywhere; }
:is(.client-redesign,.client-auth) .client-verify { max-width: 680px; }
:is(.client-redesign,.client-auth) .client-verify > details { margin-top: 24px; }
:is(.client-redesign,.client-auth) .client-verify summary { min-height: 44px; color: var(--client-primary); }
/* Bootstrap's modal JavaScript still serves the Pix QR flow. Its visual contract is owned here. */
:is(.client-redesign,.client-auth).modal-open { overflow: hidden; }
:is(.client-redesign,.client-auth) .modal { display: none; position: fixed; inset: 0; z-index: 2000; outline: 0; overflow: auto; }
:is(.client-redesign,.client-auth) .modal-dialog { position: relative; width: 560px; max-width: calc(100% - 32px); margin: 32px auto; pointer-events: none; }
:is(.client-redesign,.client-auth) .modal-content { position: relative; display: flex; flex-direction: column; pointer-events: auto; background-clip: padding-box; }
:is(.client-redesign,.client-auth) :is(.modal-header,.modal-body,.modal-footer) { padding: 20px; }
:is(.client-redesign,.client-auth) .modal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--client-border); }
:is(.client-redesign,.client-auth) .modal-title { margin: 0; font-size: 18px; }
:is(.client-redesign,.client-auth) .modal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; border-top: 1px solid var(--client-border); }
:is(.client-redesign,.client-auth) .modal-backdrop { position: fixed; inset: 0; z-index: 1990; background: #0009; }
:is(.client-redesign,.client-auth) .modal :is(textarea,input) { max-width: 100%; }
/* Datepicker is a functional plugin, not a theme dependency. */
:is(.client-redesign,.client-auth) .datepicker-dropdown { position: absolute; z-index: 2100 !important; padding: 12px; border: 1px solid var(--client-border); border-radius: 6px; background: var(--client-surface); color: var(--client-text); }
:is(.client-redesign,.client-auth) .datepicker { width: min(300px,calc(100vw - 32px)); }
:is(.client-redesign,.client-auth) .datepicker table { width: 100%; }
:is(.client-redesign,.client-auth) .datepicker :is(td,th) { padding: 6px; text-align: center; border: 0; }
:is(.client-redesign,.client-auth) .datepicker td:not(.disabled):hover { background: var(--client-selected); cursor: pointer; }
:is(.client-redesign,.client-auth) .datepicker :is(.active,.selected) { background: var(--client-primary); color: var(--client-on-primary); }
:is(.client-redesign,.client-auth) .datepicker :is(.old,.new,.disabled) { color: var(--client-muted); }
:is(.client-redesign,.client-auth) .datepicker td span { display: inline-block; width: 25%; padding: 8px 0; cursor: pointer; }
:is(.client-redesign,.client-auth) .datepicker .datepicker-switch { min-width: 150px; }
:is(.client-redesign,.client-auth) .datepicker .cw { font-size: 11px; }
:is(.client-redesign,.client-auth) .datepicker-dropdown .datepicker-days,:is(.client-redesign,.client-auth) .datepicker-dropdown .datepicker-months,:is(.client-redesign,.client-auth) .datepicker-dropdown .datepicker-years,:is(.client-redesign,.client-auth) .datepicker-dropdown .datepicker-decades,:is(.client-redesign,.client-auth) .datepicker-dropdown .datepicker-centuries { display: none; }
