/* Extracted from public/calendar/index.cfm */
body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            background-color: #f5f5f5;
            color: #333;
        }
        
        .calendar-container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            padding: 20px;
        }
        
        .calendar-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }
        
        .month-navigation {
            display: flex;
            align-items: center;
        }
        
        .month-navigation a {
            background: #4472C4;
            color: white;
            border: none;
            padding: 8px 16px;
            margin: 0 10px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
        }
        
        .month-navigation h2 {
            margin: 0;
            min-width: 180px;
            text-align: center;
        }
        
        .weekdays {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 5px;
            text-align: center;
            font-weight: bold;
            background-color: #4472C4;
            color: white;
            padding: 10px 0;
            border-radius: 5px;
        }
        
        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 5px;
            margin-top: 5px;
        }
        
        .calendar-day {
            min-height: 120px;
            border: 1px solid #ddd;
            padding: 8px;
            background-color: white;
            border-radius: 5px;
            position: relative;
        }
        
        .calendar-day.empty {
            background-color: #f9f9f9;
        }
        
        .calendar-day.today {
            background-color: #f0f7ff;
            border: 1px solid #4472C4;
        }
        
        .day-number {
            position: absolute;
            top: 5px;
            right: 8px;
            font-weight: bold;
        }
        
        .day-number.today-marker {
            color: #4472C4;
            font-weight: bold;
        }
        
        .bill-item {
            background-color: #e6effe;
            border-left: 3px solid #4472C4;
            padding: 4px 8px;
            margin-top: 25px;
            margin-bottom: 5px;
            font-size: 12px;
            border-radius: 3px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .bill-amount {
            font-weight: bold;
            color: #d23649;
        }
        
        .bill-details {
            margin-top: 2px;
            font-size: 10px;
            color: #666;
        }
        
        .total-section {
            display: flex;
            justify-content: space-between;
            margin-top: 20px;
            padding: 15px;
            background-color: #f8f9fa;
            border-radius: 5px;
            border: 1px solid #ddd;
        }
        
        .legend {
            margin-top: 20px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
        }
        
        .legend-item {
            display: flex;
            align-items: center;
            margin-right: 20px;
            margin-bottom: 10px;
        }
        
        .legend-color {
            width: 15px;
            height: 15px;
            margin-right: 5px;
            border-radius: 2px;
        }
        
        .legend-color.regular {
            background-color: #e6effe;
            border-left: 3px solid #4472C4;
        }
        
        .legend-color.auto {
            background-color: #e5f6e5;
            border-left: 3px solid #38761d;
        }
        
        .legend-color.optional {
            background-color: #fff3cd;
            border-left: 3px solid #ffc107;
        }
        
        .bill-item.auto {
            background-color: #e5f6e5;
            border-left: 3px solid #38761d;
        }
        
        .bill-item.optional {
            background-color: #fff3cd;
            border-left: 3px solid #ffc107;
        }
        
        /* Icons */
        .bill-icon {
            margin-right: 5px;
        }
        
        @media (max-width: 768px) {
            .calendar-day {
                min-height: 80px;
            }
            
            .bill-item {
                font-size: 10px;
                padding: 3px 5px;
            }
            
            .weekdays {
                font-size: 12px;
            }
        }
        
        /* Tooltip styles */
        .calendar-container .tooltip {
            position: relative;
            display: inline-block;
            cursor: help;
        }

        .calendar-container .tooltip .tooltiptext {
            visibility: hidden;
            width: 200px;
            background-color: #555;
            color: #fff;
            text-align: left;
            border-radius: 6px;
            padding: 10px;
            position: absolute;
            z-index: 1;
            bottom: 125%;
            left: 50%;
            margin-left: -100px;
            opacity: 0;
            transition: opacity 0.3s;
            font-size: 12px;
        }

        .calendar-container .tooltip .tooltiptext::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: #555 transparent transparent transparent;
        }

        .calendar-container .tooltip:hover .tooltiptext {
            visibility: visible;
            opacity: 1;
        }

/* Extracted from public/portfolio/upload_fidelity_csv.cfm */
.upload-area {
            background-color: #1a1b1b;
            border: 2px dashed #000000;
            transition: all 0.3s ease;
        }
        
        .upload-area:hover, .upload-area.dragover {
            background-color: #080b0e;
            border-color: #0d6efd;
            cursor: pointer;
        }

/* Extracted from public/portfolio/upload_fidelity_transactions_csv.cfm */
.upload-area {
            background-color: #1a1b1b;
            border: 2px dashed #000000;
            transition: all 0.3s ease;
        }
        
        .upload-area:hover, .upload-area.dragover {
            background-color: #080b0e;
            border-color: #0d6efd;
            cursor: pointer;
        }

/* Extracted from public/signin/index.cfm */
body {  
            background-color:black;
            padding-top: 80px;
            padding-bottom: 20px;
            font: Courier;
        }
        .card {
            margin-bottom: 20px;
            /*background-color: rgba(0, 0, 0, 0.8);*/
            background-color: #1F2022;
            color: white;
        }

/* Extracted from public/siteHeader.cfm */
body {  
            background-color:black;
            padding-top: 80px;
            padding-bottom: 20px;
            font: Courier;
        }
        .card {
            margin-bottom: 20px;
            /*background-color: rgba(0, 0, 0, 0.8);*/
            background-color: #1F2022;
            color: white;
        }

/* Extracted inline declarations */

.u-style-001 { font-size:x-large; }

.u-style-002 { color:white; }

.u-style-003 { color: aqua; }

.u-style-004 { margin-top: 20px; }

.u-style-005 { text-align: center; color: coral; }

.u-style-006 { color: azure; }

.u-style-007 { font-size: x-large; }

.u-style-008 { color:darkred; }

.u-style-009 { height: 10px; }

.u-style-010 { background-color: #444; font-weight: bold; }

.u-style-011 { color: green; }

.u-style-012 { color: white; }

.u-style-013 { display: none; }

.u-style-014 { text-decoration:line-through; }

.u-style-015 { color: red; }

.u-style-016 { font-size:x-large;text-align:right; }

.u-style-017 { font-size:.7em; }

.u-style-018 { font-size:.9em; }

.u-style-019 { color:white; }

.u-style-020 { color:lightblue; }

.u-style-021 { color:lightgreen; }

.u-style-022 { color:red; }

.u-style-023 { text-align:right; color:lightgreen; }

.u-style-024 { text-align:right; color:red; font-size:.9em; }

.u-style-025 { text-align:right; color:red; }

.u-style-026 { text-align:right; }

.u-style-027 { font-weight:bold; }

.u-style-028 { text-align:right; color:lightblue; }

.u-style-029 { border-left:1px solid #000; }

.u-style-030 { border-left:2px solid #000; }

.u-style-031 { text-align:right; color:green; }

.u-style-032 { text-align:right; color:darkred; }

.u-style-033 { text-align:right; color:gray; }

.u-style-034 { font-size:x-large; color:white; }

.u-style-035 { font-size:.5em; }

.u-style-036 { text-align:right; font-weight:bold; }

.u-style-037 { display:none; }

.u-style-038 { color: white; font-size: x-large; }

.u-style-039 { margin-top: 10px; }

.u-style-040 { font-size: larger; }

.u-style-041 { font-size: x-large; color: white; padding-top: 10px; padding-bottom: 10px; border-bottom:black; }

.u-style-042 { font-size:x-small; }

.u-style-043 { font-size:.9rem; }

.u-style-044 { border:1px solid #495057; background:rgba(255,255,255,.03); }

.u-style-045 { font-size:.75rem; letter-spacing:.05em; color:#adb5bd; text-transform:uppercase; }

.u-style-046 { font-size:.7rem; letter-spacing:.05em; color:#6ea8fe; text-transform:uppercase; background:rgba(13,110,253,.08); }

.u-style-047 { color:gray; font-size:small; }

.u-style-048 { color:lightgreen; }

.u-style-049 { color:white; border:1px solid #3a6ea5; background:rgba(13,110,253,.10); }

.u-style-050 { font-size:.75rem; letter-spacing:.05em; color:#9ec5fe; text-transform:uppercase; }

.u-style-051 { border:1px solid #495057; background:rgba(248,249,250,.05); color:#dee2e6; }

.u-style-052 { color:#adb5bd; }

.u-style-053 { color:aqua; }


/* Local utility layer for reusable layout and component classes */
* {
    box-sizing: border-box;
}

.container-lg,
.container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: .75rem;
    padding-left: .75rem;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -.5rem;
    margin-left: -.5rem;
}

.row > * {
    min-width: 0;
    padding-right: .5rem;
    padding-left: .5rem;
}

.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col-sm-4,
.col-sm-8,
.col-md-4,
.col-lg-4,
.col-lg-6,
.col-lg-8 {
    width: 100%;
}

.col-1 { width: 8.333333%; }
.col-2 { width: 16.666667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.333333%; }
.col-5 { width: 41.666667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.333333%; }
.col-8 { width: 66.666667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.333333%; }
.col-11 { width: 91.666667%; }
.col-12 { width: 100%; }

@media (min-width: 576px) {
    .col-sm-4 { width: 33.333333%; }
    .col-sm-8 { width: 66.666667%; }
}

@media (min-width: 768px) {
    .col-md-4 { width: 33.333333%; }
}

@media (min-width: 992px) {
    .col-lg-4 { width: 33.333333%; }
    .col-lg-6 { width: 50%; }
    .col-lg-8 { width: 66.666667%; }
}

.d-flex { display: flex; }
.d-grid { display: grid; }
.flex-wrap { flex-wrap: wrap; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }
.align-middle { vertical-align: middle; }
.text-end { text-align: right; }
.text-light { color: var(--budget-text) !important; }
.text-white { color: #fff !important; }
.gap-2 { gap: .5rem; }
.gap-3 { gap: 1rem; }
.g-3 { gap: 1rem 0; }
.p-2 { padding: .5rem; }
.p-3 { padding: 1rem; }
.px-1 { padding-right: .25rem; padding-left: .25rem; }
.px-2 { padding-right: .5rem; padding-left: .5rem; }
.px-3 { padding-right: 1rem; padding-left: 1rem; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.pt-0 { padding-top: 0; }
.pb-1 { padding-bottom: .25rem; }
.m-0 { margin: 0; }
.mx-0 { margin-right: 0; margin-left: 0; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: 1rem; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: 1rem; }

@media (min-width: 768px) {
    .p-md-3 { padding: 1rem; }
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.navbar {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: .5rem 0;
}

.navbar .container-fluid {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
}

.site-nav-links {
    flex: 1;
}

.navbar-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    padding-left: 0;
    margin: 0;
    list-style: none;
}

.nav-link {
    display: block;
    padding: .55rem .75rem;
    color: rgba(255,255,255,.72);
    text-decoration: none;
}

.nav-link.active {
    color: #fff;
}

.dropdown {
    position: relative;
}

.btn-group {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 14rem;
    padding: .35rem 0;
    margin: 0;
    list-style: none;
    background: #111722;
    border: 1px solid var(--budget-border);
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(0,0,0,.35);
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu,
.btn-group:hover .dropdown-menu,
.btn-group:focus-within .dropdown-menu {
    display: block;
}

.dropdown-item {
    display: block;
    padding: .5rem .85rem;
    color: var(--budget-text);
    text-decoration: none;
}

.dropdown-item:hover {
    background: rgba(99, 179, 255, .12);
}

.card {
    margin-bottom: 1.25rem;
    border: 1px solid transparent;
}

.card-header,
.card-body,
.card-footer,
.form-footer {
    padding: 1rem;
}

.card-header {
    border-bottom: 1px solid var(--budget-border);
}

.card-footer,
.form-footer {
    border-top: 1px solid var(--budget-border);
}

.border-dark,
.border-secondary,
.border-bottom,
.border-top {
    border-color: var(--budget-border) !important;
}

.border-bottom { border-bottom: 1px solid var(--budget-border); }
.border-top { border-top: 1px solid var(--budget-border); }
.shadow-sm { box-shadow: 0 8px 18px rgba(0,0,0,.18); }
.rounded { border-radius: 8px; }

.table-responsive {
    width: 100%;
    overflow-x: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.table th,
.table td {
    padding: .5rem;
    border-bottom: 1px solid var(--budget-border);
}

.table-sm th,
.table-sm td {
    padding: .35rem;
}

.table-hover tr:hover td {
    background: var(--bs-table-hover-bg);
}

.table-striped tr:nth-child(even) td {
    background: var(--bs-table-striped-bg);
}

.form-group {
    margin-bottom: 1rem;
}

.form-label,
.col-form-label {
    display: inline-block;
    margin-bottom: .35rem;
}

.form-control,
.form-select {
    display: block;
    width: 100%;
    padding: .55rem .75rem;
    border: 1px solid var(--budget-border);
    border-radius: 6px;
}

.form-control-lg {
    padding: .75rem .9rem;
    font-size: 1.05rem;
}

.form-check {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.form-check-input {
    width: 1rem;
    height: 1rem;
}

.form-switch .form-check-input {
    width: 2rem;
}

.input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.input-group > .form-control,
.input-group > .form-select {
    flex: 1 1 auto;
    min-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .55rem .85rem;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--budget-text);
    text-decoration: none;
    cursor: pointer;
    font: inherit;
    background: rgba(255,255,255,.06);
}

.btn-sm {
    padding: .35rem .6rem;
    font-size: .875rem;
}

.btn-lg {
    padding: .8rem 1rem;
    font-size: 1.1rem;
}

.btn-block {
    width: 100%;
}

.btn-secondary {
    background: rgba(174,184,199,.16);
    border-color: rgba(174,184,199,.36);
}

.btn-success {
    background: rgba(89,223,143,.16);
    border-color: var(--budget-green);
    color: var(--budget-green);
}

.badge {
    display: inline-block;
    padding: .25rem .45rem;
    border-radius: 999px;
    font-size: .78rem;
}

.alert {
    padding: .85rem 1rem;
    border: 1px solid transparent;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.alert-warning {
    color: #332400;
    background: #ffd166;
    border-color: #ffda7a;
}

.invalid-feedback {
    display: block;
    margin-top: .35rem;
    color: var(--budget-red);
    font-size: .875rem;
}

.is-invalid {
    border-color: var(--budget-red) !important;
}

hr {
    border: 0;
    border-top: 1px solid var(--budget-border);
    margin: 1rem 0;
}

/* Shared budget theme */
:root {
    --budget-bg: #07090d;
    --budget-surface: #171b22;
    --budget-surface-2: #202632;
    --budget-border: #3d4658;
    --budget-text: #f6f8fb;
    --budget-muted: #aeb8c7;
    --budget-blue: #63b3ff;
    --budget-green: #59df8f;
    --budget-red: #ff7b72;
    --budget-yellow: #ffd166;
    --budget-pink: #ff8bd1;
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 10%, rgba(99, 179, 255, .24), transparent 28rem),
        radial-gradient(circle at 85% 0%, rgba(255, 139, 209, .18), transparent 24rem),
        linear-gradient(135deg, #07090d 0%, #0d1320 48%, #11130f 100%);
    color: var(--budget-text);
    padding-top: 80px;
    padding-bottom: 24px;
    font-family: "Courier New", Courier, monospace;
}

body.container-lg,
.container-lg {
    max-width: 1440px;
}

.navbar.bg-dark {
    background: rgba(12, 16, 23, .92) !important;
    border-bottom: 1px solid rgba(99, 179, 255, .25);
    backdrop-filter: blur(12px);
}

.navbar .nav-link.active,
.navbar .nav-link:hover,
a {
    color: var(--budget-blue);
}

.card,
.calendar-container {
    color: var(--budget-text);
    background: linear-gradient(160deg, rgba(32, 38, 50, .96), rgba(18, 22, 31, .98));
    border-color: var(--budget-border) !important;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.card-body > .row:first-child p,
.page-title,
h1,
h2,
h3,
h4 {
    color: var(--budget-text);
}

.card-body > .row:first-child p,
.page-title {
    margin-bottom: .35rem;
    color: var(--budget-yellow);
}

.table-dark,
.table {
    --bs-table-bg: rgba(16, 20, 29, .92);
    --bs-table-striped-bg: rgba(99, 179, 255, .08);
    --bs-table-hover-bg: rgba(89, 223, 143, .10);
    --bs-table-border-color: rgba(174, 184, 199, .22);
    color: var(--budget-text);
}

.table th {
    color: var(--budget-yellow);
    font-size: .82rem;
    text-transform: uppercase;
}

.form-control,
.form-select {
    color: var(--budget-text);
    background-color: rgba(7, 9, 13, .72);
    border-color: var(--budget-border);
}

.form-control:focus,
.form-select:focus {
    color: var(--budget-text);
    background-color: rgba(7, 9, 13, .9);
    border-color: var(--budget-blue);
    box-shadow: 0 0 0 .2rem rgba(99, 179, 255, .18);
}

.btn-primary {
    background: linear-gradient(135deg, #0d6efd, #2bb3ff);
    border-color: #63b3ff;
}

.btn-outline-success {
    color: var(--budget-green);
    border-color: var(--budget-green);
}

.btn-outline-success:hover {
    color: #06100a;
    background-color: var(--budget-green);
    border-color: var(--budget-green);
}

.badge.bg-dark {
    background: rgba(99, 179, 255, .16) !important;
    border: 1px solid rgba(99, 179, 255, .28);
}

.text-gain,
.text-success {
    color: var(--budget-green) !important;
}

.text-loss,
.text-danger {
    color: var(--budget-red) !important;
}

.text-accent {
    color: var(--budget-pink) !important;
}

.text-muted,
.small-muted {
    color: var(--budget-muted) !important;
}

.text-strike {
    text-decoration: line-through;
}

.calendar-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.calendar-header,
.total-section,
.legend {
    color: var(--budget-text);
}

.month-navigation a,
.weekdays {
    background: linear-gradient(135deg, #0d6efd, #2bb3ff);
}

.calendar-day,
.calendar-day.empty {
    background: rgba(7, 9, 13, .62);
    border-color: rgba(174, 184, 199, .22);
}

.calendar-day.today {
    background: rgba(89, 223, 143, .14);
    border-color: var(--budget-green);
}

.bill-item,
.legend-color.category {
    border-left: 3px solid var(--budget-blue);
}

.bill-item.auto,
.legend-color.auto {
    border-left-color: var(--budget-green);
}

.bill-item.optional,
.legend-color.optional {
    border-left-color: var(--budget-yellow);
}

.calendar-container .tooltip .tooltiptext {
    background-color: #10141d;
    color: var(--budget-text);
    border: 1px solid var(--budget-border);
}

.calendar-container .bill-item {
    color: var(--budget-text);
    background: rgba(99, 179, 255, .14);
}

.calendar-container .bill-item.auto {
    background: rgba(89, 223, 143, .14);
}

.calendar-container .bill-item.optional {
    background: rgba(255, 209, 102, .16);
}

.calendar-container .bill-details {
    color: var(--budget-muted);
}

.calendar-container .bill-amount {
    color: var(--budget-yellow);
}

.calendar-container .total-section {
    background: rgba(7, 9, 13, .52);
    border-color: rgba(174, 184, 199, .22);
}

.account-page {
    padding-bottom: 1rem;
}

.page-hero,
.account-hero {
    min-height: 220px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(174, 184, 199, .28);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .32);
}

.page-hero-home {
    background-image: url("/images/page/hero-home.png");
}

.page-hero-calendar {
    background-image: url("/images/page/hero-calendar.png");
}

.page-hero-setup {
    background-image: url("/images/page/hero-setup.png");
}

.page-hero-myinfo {
    background-image: url("/images/page/hero-myinfo.png");
}

.account-hero-personal {
    background-image: url("/images/account/account-personal.png");
}

.account-hero-bills {
    background-image: url("/images/account/account-bills.png");
}

.account-hero-thedoghouse {
    background-image: url("/images/account/account-thedoghouse.png");
}

.page-hero-copy,
.account-hero-copy {
    width: 100%;
    padding: 1.25rem;
    background: linear-gradient(90deg, rgba(7, 9, 13, .86) 0%, rgba(7, 9, 13, .62) 35%, rgba(7, 9, 13, .06) 72%);
}

.account-filter-grid,
.account-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.account-metric-card {
    min-height: 92px;
    padding: 1rem;
    background: linear-gradient(145deg, rgba(99, 179, 255, .16), rgba(255, 139, 209, .10));
    border: 1px solid rgba(174, 184, 199, .22);
    border-radius: 8px;
}

.account-metric-card span {
    display: block;
    margin-bottom: .35rem;
    color: var(--budget-muted);
    font-size: .78rem;
    text-transform: uppercase;
}

.account-metric-card strong {
    font-size: 1.25rem;
}

.account-list-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(174, 184, 199, .22);
}

.account-list-item:last-child {
    border-bottom: 0;
}

.dashboard-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    background:
        linear-gradient(90deg, rgba(7, 9, 13, .88) 0%, rgba(7, 9, 13, .66) 44%, rgba(7, 9, 13, .28) 100%),
        url("/images/page/hero-home.png");
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(174, 184, 199, .28);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .26);
}

.dashboard-hero-actions,
.dashboard-range-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.dashboard-metric-grid,
.dashboard-action-grid,
.dashboard-forecast-strip {
    display: grid;
    gap: 1rem;
}

.dashboard-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.dashboard-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.dashboard-metric-card,
.dashboard-action-tile {
    min-height: 126px;
    padding: 1rem;
    color: var(--budget-text);
    text-decoration: none;
    background: rgba(23, 27, 34, .82);
    border: 1px solid rgba(174, 184, 199, .22);
    border-radius: 8px;
}

.dashboard-metric-card:hover,
.dashboard-action-tile:hover {
    color: var(--budget-text);
    border-color: rgba(99, 179, 255, .55);
    background: rgba(32, 38, 50, .88);
}

.dashboard-metric-card span,
.dashboard-action-tile span,
.dashboard-forecast-strip span {
    display: block;
    margin-bottom: .35rem;
    color: var(--budget-muted);
    font-size: .78rem;
    text-transform: uppercase;
}

.dashboard-metric-card strong,
.dashboard-action-tile strong,
.dashboard-forecast-strip strong {
    display: block;
    font-size: 1.35rem;
    line-height: 1.2;
}

.dashboard-metric-card small,
.dashboard-action-tile small,
.dashboard-forecast-strip small {
    display: block;
    margin-top: .35rem;
    color: var(--budget-muted);
}

.dashboard-action-tile i {
    margin-bottom: .8rem;
    color: var(--budget-blue);
    font-size: 1.2rem;
}

.dashboard-forecast-strip {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.dashboard-forecast-strip > div {
    min-height: 88px;
    padding: .85rem;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(174, 184, 199, .18);
    border-radius: 8px;
}

.dashboard-range-links a {
    padding: .3rem .5rem;
    color: var(--budget-blue);
    text-decoration: none;
    border: 1px solid rgba(99, 179, 255, .28);
    border-radius: 6px;
}

.dashboard-range-links a:hover {
    color: var(--budget-text);
    background: rgba(99, 179, 255, .14);
}

@media (max-width: 767.98px) {
    .page-hero,
    .account-hero {
        min-height: 260px;
        background-position: 58% center;
    }

    .page-hero-copy,
    .account-hero-copy {
        background: linear-gradient(180deg, rgba(7, 9, 13, .9) 0%, rgba(7, 9, 13, .68) 52%, rgba(7, 9, 13, .22) 100%);
    }

    .dashboard-hero {
        display: block;
    }

    .dashboard-hero-actions {
        margin-top: 1rem;
    }
}
