/* Keep anchors consistent with brand */
a, .btn-link{ color: var(--tg-primary); }

/* Primary button fallback (bootstrap-esque code still present in project) */
.btn-primary{ color:#fff; background-color:var(--tg-primary); border-color:var(--tg-primary); }

/* Focus harmonized with tokens */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus{
    box-shadow: var(--tg-focus);
}

/* Error UI (Blazor) kept, but simplified */
#blazor-error-ui{ background: #fffbe6; color:#7b5b00; bottom:0; left:0; width:100%; display:none; position:fixed; padding:.6rem 1rem; z-index:1000; border-top:1px solid #ffe19e; }
#blazor-error-ui .dismiss{ cursor:pointer; position:absolute; right:.75rem; top:.5rem }

/* Pre-boot loading indicator */
.loading-progress{
    position:fixed;
    top:50%;
    left:50%;
    width:80px;
    height:80px;
    transform:translate(-50%,-50%);
    z-index:1500;
}
.loading-progress circle{
    fill:none;
    stroke:rgba(255,255,255,.08);
    stroke-width:8px;
}
.loading-progress circle:last-child{
    stroke:var(--tg-primary, #4ce0c6);
    stroke-dasharray:180;
    stroke-dashoffset:60;
    transform-origin:50% 50%;
    animation:tg-spinner 1.4s ease-in-out infinite;
}
.loading-progress-text{
    color:var(--tg-ink, #ecf8f5);
    font-family:var(--tg-font, "Outfit", system-ui);
    text-align:center;
    margin-top:calc(50vh + 60px);
}

@keyframes tg-spinner{
    0%{stroke-dashoffset:180; transform:rotate(0deg);}
    50%{stroke-dashoffset:45; transform:rotate(180deg);}
    100%{stroke-dashoffset:180; transform:rotate(360deg);}
}

/* Cold-start overlay — shown by ColdStartRetryHandler while the Function App
   warms up after Flex Consumption idle. JS toggles the `hidden` attribute. */
.tg-coldstart-overlay{
    position:fixed; inset:0; z-index:100000;
    background:rgba(4,22,35,.92);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    color:#fff;
    font-family:var(--tg-font, "Outfit", system-ui);
    display:flex; align-items:center; justify-content:center;
    flex-direction:column; text-align:center; padding:24px;
}
.tg-coldstart-overlay[hidden]{ display:none; }
.tg-coldstart-spinner{ width:56px; height:56px; margin-bottom:24px; }
.tg-coldstart-title{ font-size:20px; font-weight:600; margin-bottom:8px; }
.tg-coldstart-sub{ font-size:14px; opacity:.75; max-width:420px; line-height:1.5; }
.tg-coldstart-timer{ font-size:12px; opacity:.5; margin-top:16px; font-variant-numeric:tabular-nums; }
