/* AviDesk presentation only. Existing behavior and layout are retained. */
.avidesk-login-logo { display:block; width:min(100%,280px); height:auto; margin-bottom:24px; }
body { line-height:1.55; }
body:not(.login-page) table { font-variant-numeric:tabular-nums; }
body:not(.login-page) th { line-height:1.5; }
body:not(.login-page) td { line-height:1.55; }
body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body:not(.login-page) select, body:not(.login-page) textarea { font-size:14px; }
.login-page .login-form-input { font-size:16px; }
.login-page .login-form-subtitle, .login-page .login-form-extras, .login-page .login-form-footer { color:#475569; }
.login-page .login-form-extras, .login-page .login-form-footer { font-size:12px; line-height:1.6; }
.login-page .login-submit-btn { background:#007e87; font-size:14px; }
.login-page .login-submit-btn:hover { background:#006b73; }
.login-page .login-brand-panel { background:#eefafa; }
.login-page .login-preview-wrap img { object-fit:contain; object-position:center; }
.login-page .login-form-panel { overflow-y:auto; justify-content:flex-start; }
.login-page .login-form-inner { flex-shrink:0; margin-top:auto; margin-bottom:auto; }
@media (max-width:1023px) { .avidesk-login-logo { width:190px; margin-bottom:16px; } .login-page .login-brand-panel { flex:0 0 28dvh; } }
:is(a,button,input,select,textarea):focus-visible { outline:2px solid #009eaa; outline-offset:3px; }
@media print { .avidesk-login-logo { max-width:200px; } }

/* AviDesk v2: presentation only; retain light mode and existing actions. */
.dark body.app-body { background:#101827; color:#f3f6fa; }
.avidesk-content { max-width:none; }
main, main > div, .chart-placeholder { min-width:0; }
.avidesk-kpi { border-radius:14px; padding:18px!important; border-top:3px solid #087d83!important; }
.dark .avidesk-kpi { background:#1b2636!important; border-color:#344054!important; border-top-color:#087d83!important; }
.avidesk-kpi > .mt-4 { margin-top:12px!important; }
.avidesk-kpi h4 { font-size:clamp(23px,2vw,30px); line-height:1.25; overflow-wrap:anywhere; }
.avidesk-kpi .text-theme-xs { font-size:13px; line-height:1.5; }
.dark .avidesk-kpi p { color:#b8c4d3; }
.dark .avidesk-kpi p.font-medium { color:#f3f6fa; }
.avidesk-kpi-pending { border-top-color:#ff921f!important; }
.dark .avidesk-kpi-pending { border-top-color:#ff921f!important; }
.avidesk-kpi-cancelled { border-top-color:#e65b65!important; }
.dark .avidesk-kpi-cancelled { border-top-color:#e65b65!important; }
.avidesk-kpi-paid, .avidesk-kpi-revenue { box-shadow:0 0 0 1px #087d8366; }
.avidesk-welcome-avi { float:left; width:64px; height:64px; object-fit:contain; margin-right:14px; border-radius:12px; }
.avidesk-nav-heading { padding:16px 12px 5px; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#98a2b3; list-style:none; }
.avidesk-ranking th:nth-child(n+3), .avidesk-ranking td:nth-child(n+3) { text-align:right; font-variant-numeric:tabular-nums; }
.avidesk-ranking td { padding-top:18px; padding-bottom:18px; }
.chart-placeholder { width:100%; }
.custom-scrollbar:has(> .chart-placeholder) { overflow:visible; }
#analytics-status-pie { max-width:100%; }
@media(max-width:640px) { .avidesk-kpi { padding:14px!important; } .avidesk-welcome-avi { width:48px; height:48px; } }
@media print { .avidesk-welcome-avi { display:none; } }

/* Welcome Avi: theme-aware contrast, isolated from login artwork. */
.avidesk-welcome-avi {
  width:88px; height:88px; box-sizing:border-box; padding:3px;
  border-radius:50%; border:3px solid #087d83;
  background:#dff5f3; object-fit:contain;
  box-shadow:0 3px 12px rgba(8,125,131,.18);
}
.dark .avidesk-welcome-avi {
  border-color:#fff; background:#134954;
  box-shadow:0 0 0 3px rgba(255,255,255,.10),0 4px 14px rgba(0,0,0,.22);
}
@media(max-width:640px) {
  .avidesk-welcome-avi { width:72px; height:72px; margin-right:12px; }
}
