/* UpSG's supplied Assessment Year guide, using the shared Falcon/UpMed theme. */
/* The shared theme's html scroll-padding-top already clears the fixed navbar. */
#upsg-guide .sticky-sidebar {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}
#upsg-guide .upsg-credit-ring {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 0 auto;
    background: conic-gradient(var(--falcon-primary) 0 60%, var(--falcon-info) 60% 75%, var(--falcon-300) 75% 100%);
    display: grid;
    place-items: center;
}
#upsg-guide .upsg-credit-ring > span {
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background: var(--falcon-card-bg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
#upsg-guide .upsg-swatch { width: 12px; height: 12px; border-radius: 2px; flex-shrink: 0; }
#upsg-guide .upsg-budget-row { display: grid; grid-template-columns: 120px 1fr 35px; gap: 12px; align-items: center; }
#upsg-guide .upsg-budget-row > b { text-align: right; }
#upsg-guide .accordion-button .badge { white-space: normal; flex-shrink: 0; max-width: 35%; }
#upsg-guide .form-check-input { cursor: pointer; }
#upsg-guide .table-responsive:focus-visible { outline: 2px solid var(--falcon-primary); outline-offset: 2px; }
#upsg-guide .table { min-width: 350px; }
#upsg-guide .caption-top { caption-side: top; }
#upsg-guide .sg-checks input:checked + span { text-decoration: line-through; color: var(--falcon-600); }
#upsg-guide article img { height: auto; }
#upsg-guide [data-track] { min-height: 44px; }
#upsg-guide .form-range, #upsg-guide .form-select { min-height: 44px; }
#upsg-guide .sg-checks label { min-height: 44px; cursor: pointer; }
#sg-mobile-nav .nav-link { min-height: 44px; display: flex; align-items: center; }
#upsg-guide article, #upsg-guide .card-body { min-width: 0; }
@media (max-width: 575.98px) {
    #upsg-guide .upsg-budget-row { grid-template-columns: 100px 1fr 30px; gap: 8px; }
    #upsg-guide .accordion-button, #upsg-guide .accordion-body { padding: 1rem .85rem; }
}
@media print {
    #upsg-guide aside, #upsg-guide .d-lg-none, #sg-interactive-calculator { display: none !important; }
    #upsg-guide article { width: 100%; }
    #upsg-guide .collapse { display: block !important; }
    #upsg-guide .accordion-button::after, #upsg-guide .bg-holder { display: none; }
    #upsg-guide .card { box-shadow: none; border: 1px solid #ddd; }
    #upsg-guide .table-responsive { overflow: visible; }
    #upsg-guide a { color: inherit; }
    #upsg-guide .card-header { break-after: avoid; }
    #upsg-guide tr, #upsg-guide figure { break-inside: avoid; }
}
