#card-login {
    background-color: #EFEFEF;
}

.admin-brand-img {
    max-height: 50px;
}

.sm-screen-logo > img,
.lg-screen-logo > img {
  max-height: 60px;
}

@media (max-width: 767px) {
    .sm-screen-logo {
        display: block;
    }

    .lg-screen-logo {
        display: none;
    }
}

@media (min-width: 768px) {
    .sm-screen-logo {
        display: none;
    }

    .lg-screen-logo {
        display: block;
    }
}

.td-checkbox {
    width: 5%;
}

.table thead .tr-align-top th {
    vertical-align: top;
}

.input-row td input {
    min-width: 100px;
}

#topbar {
    border-bottom: 5px solid #f9950c;
    background-color: #ffffff;
}

.element-anchor .card {
    min-height: 50px;
}

.element-anchor:hover {
    border-width: 5px;
}

#product-landing-page {
    min-height: 50vh;
    border: 1px solid #000000;
}

fieldset {
    padding: 20px;
    border: 1px solid #bfcfd9;
    margin-bottom: 40px;
}

legend {
    font-size: 20px;
    width: auto;
    min-width: unset;
    font-weight: bold;
}

.panels {
    width: auto;
    margin: auto;
    max-width: 1800px;
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
}

.panel, .panels > div {
    margin: 16px 0;
    align-self: stretch;
    background-color: rgba(255,255,255, .8);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border-radius: 16px;
}

.panel .panel-header {
    display: flex;
    z-index: 1;
    top: 50px;
    padding: 16px;
    cursor: grab;
}

.panel .panel-header h2 {
    display: block;
    align-items: center;
    flex-grow: 1;
    margin: 0;
    font-size: 20px;
    line-height: 24px;
    font-weight: bold;
    padding: 16px 8px;
    height: 56px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: grab;
}

.panel .panel-content {
    margin: 0 16px 16px 16px;
    min-height: 200px;
    overflow: visible;
}

/* Crowd Connect staff workspace — scoped to the backend layout. */
.cc-admin { background: var(--cc-surface-2); color: var(--cc-body); }
.cc-admin #wrapper { min-height: 100vh; }
.cc-admin #content-wrapper { min-width: 0; background: var(--cc-surface-2); }
.cc-admin #content { flex: 1; }
.cc-admin .sidebar.bg-gradient-primary { background: #1b2512 !important; background-image: none !important; width: 16rem !important; flex-shrink: 0; padding: 0 12px 24px; }
.cc-admin .sidebar .sidebar-brand { height: 100px; padding: 22px 12px; }
.cc-admin .lg-screen-logo img { width: 195px; height: auto; max-height: 58px; }
.cc-admin .sm-screen-logo img { width: 42px; height: 42px; }
.cc-admin-workspace { color: #d6dfc4; font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; padding: 0 15px 20px; }
.cc-admin .sidebar .sidebar-divider { border-color: rgba(255,255,255,.12); margin: 8px 12px; }
.cc-admin .sidebar .nav-item { margin: 2px 0; }
.cc-admin .sidebar .nav-item .nav-link { width: auto; color: #e0e6d8; padding: 13px 14px; border-radius: 9px; font-size: .85rem; }
.cc-admin .sidebar .nav-item .nav-link span { font-size: .85rem; }
.cc-admin .sidebar .nav-item .nav-link i { color: #bdca9e; width: 22px; margin-right: 8px; }
.cc-admin .sidebar .nav-item .nav-link:hover, .cc-admin .sidebar .nav-item .nav-link:focus { color: #fff; background: rgba(255,255,255,.08); }
.cc-admin .sidebar .nav-item.active > .nav-link { color: #fff; background: #394b1e; box-shadow: inset 3px 0 var(--cc-amber); }
.cc-admin .sidebar .nav-item.active > .nav-link i { color: #fbae17; }
.cc-admin .sidebar .collapse-inner { background: #28351c !important; padding: 8px !important; margin: 4px 0 10px; }
.cc-admin .sidebar .collapse-inner .collapse-item { color: #e0e6d8; white-space: normal; padding: 10px 12px; margin: 2px 0; font-size: .78rem; border-radius: 7px; }
.cc-admin .sidebar .collapse-inner .collapse-item:hover, .cc-admin .sidebar .collapse-inner .collapse-item.active { color: #fff; background: #3b4f23; }
.cc-admin .sidebar #sidebarToggle { background: #3b4b28; margin-top: 15px; }
.cc-admin .topbar { height: auto; min-height: 96px; padding: 18px 30px; gap: 16px; border-bottom: 1px solid var(--cc-line); box-shadow: 0 2px 10px rgba(27,33,9,.025) !important; margin-bottom: 0 !important; }
.cc-admin-page-title { flex: 1; min-width: 0; }
.cc-admin-kicker { color: var(--cc-muted); font-size: .72rem; }
.cc-admin-page-title h1 { font-size: 1.35rem; margin: 6px 0 0; font-weight: 700; }
.cc-admin .topbar .navbar-search { width: 240px; flex-shrink: 0; margin-left: 0 !important; margin-right: 0 !important; }
.cc-admin .topbar .navbar-search input { border: 1px solid var(--cc-line) !important; background: var(--cc-surface-2) !important; }
.cc-admin .topbar .nav-link { padding: 0 8px; }
.cc-admin-avatar { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--cc-green-tint-2); color: var(--cc-green-dark); font-size: .9rem; font-weight: 700; margin-right: 10px; }
.cc-admin-user-name { color: var(--cc-ink); font-size: .8rem; }
.cc-admin-content { padding: 28px 30px; max-width: 1800px; margin: 0 auto; }
.cc-admin-welcome { margin-bottom: 26px; }
.cc-admin-welcome .cc-eyebrow { margin-bottom: 8px; }
.cc-admin-welcome h2 { font-size: 1.75rem; margin-bottom: 9px; }
.cc-admin-welcome p { color: var(--cc-muted); margin: 0; font-size: .9rem; }
.cc-admin .card, .cc-admin .panel { border: 1px solid var(--cc-line); border-radius: 16px; background: white; box-shadow: 0 3px 16px rgba(27,33,9,.035); overflow: visible; }
.cc-admin .card-header, .cc-admin .panel-header { padding: 18px 22px; background: transparent; border-bottom: 1px solid var(--cc-line); border-radius: 16px 16px 0 0; cursor: auto; }
.cc-admin .card-header h4, .cc-admin .panel-header h5 { font-size: 1rem; margin: 0; font-weight: 700; }
.cc-admin .card-body { padding: 22px; }
.cc-admin .panel-content { padding: 8px 6px; min-height: 0; }
.cc-admin .small-box { background: #fff !important; color: var(--cc-ink) !important; border: 1px solid var(--cc-line); border-radius: 16px; overflow: hidden; box-shadow: 0 3px 16px rgba(27,33,9,.035); margin-bottom: 24px; }
.cc-admin .small-box .inner { padding: 22px; }
.cc-admin .small-box .inner h3 { font-size: 2rem; margin: 0 0 8px; color: var(--cc-ink); }
.cc-admin .small-box .inner p { font-size: .8rem; color: var(--cc-muted); margin-bottom: 0; }
.cc-admin .small-box .icon { top: 19px; right: 20px; font-size: 30px; color: #a7b876; }
.cc-admin .small-box.bg-warning .icon { color: #bf8621; }
.cc-admin .small-box.bg-danger .icon { color: #c48176; }
.cc-admin .small-box .small-box-footer { display: block; text-align: left; padding: 12px 22px; background: var(--cc-green-tint); color: var(--cc-green-dark); font-size: .75rem; font-weight: 700; }
.cc-admin .table { color: var(--cc-body); font-size: .83rem; }
.cc-admin .table thead th { background: var(--cc-surface-2); border-top: 0; border-bottom: 1px solid var(--cc-line); color: var(--cc-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .035em; padding: 14px 12px; }
.cc-admin .table td { border-top: 1px solid var(--cc-line); padding: 14px 12px; vertical-align: middle; }
.cc-admin .table-striped tbody tr:nth-of-type(odd) { background: #fafbf7; }
.cc-admin .table-hover tbody tr:hover { background: var(--cc-green-tint); }
.cc-admin .btn { border-radius: 8px; font-size: .82rem; font-weight: 600; box-shadow: none; }
.cc-admin .btn:focus, .cc-admin .form-control:focus, .cc-admin a:focus-visible { box-shadow: var(--cc-ring); }
.cc-admin .btn-info { background: var(--cc-green-tint-2); color: var(--cc-green-dark); border-color: #d6dfbb; }
.cc-admin .btn-info:hover { background: #d8e3b9; color: #344604; }
.cc-admin .form-control { border: 1px solid #d7ddcc; border-radius: 8px; color: var(--cc-body); background: #fff; font-size: .87rem; }
.cc-admin .form-control:focus { border-color: var(--cc-green); }
.cc-admin label { font-size: .83rem; font-weight: 600; color: var(--cc-body); }
.cc-admin fieldset { border: 1px solid var(--cc-line); border-radius: 12px; padding: 22px; }
.cc-admin legend { color: var(--cc-ink); font-size: 1rem; }
.cc-admin .dropdown-menu { border: 1px solid var(--cc-line); border-radius: 12px; box-shadow: var(--cc-shadow); }
.cc-admin .dropdown-item { font-size: .82rem; padding: 10px 18px; }
.cc-admin .dropdown-item:hover { background: var(--cc-green-tint); color: var(--cc-green-dark); }
.cc-admin .sticky-footer { border-top: 1px solid var(--cc-line); padding: 22px; }
.cc-admin .sticky-footer .copyright { font-size: .7rem; color: var(--cc-muted); }
.cc-admin .sidebar.toggled { width: 6.5rem !important; padding: 0 6px 20px; }
.cc-admin .sidebar.toggled .lg-screen-logo, .cc-admin .sidebar.toggled .cc-admin-workspace { display: none; }
.cc-admin .sidebar.toggled .sm-screen-logo { display: block; }
.cc-admin .sidebar.toggled .nav-item .nav-link { padding: 12px 6px; }
.cc-admin .sidebar.toggled .nav-item .nav-link i { margin-right: 0; }
@media (max-width: 1199px) { .cc-admin .topbar .navbar-search { width: 190px; } .cc-admin-user-name { display: none; } }
@media (max-width: 767px) {
    .cc-admin .sidebar.bg-gradient-primary { width: 6.5rem !important; padding: 0 5px 20px; }
    .cc-admin .sidebar .sidebar-brand { height: 85px; }
    .cc-admin .sidebar .cc-admin-workspace { display: none; }
    .cc-admin .sidebar .nav-item .nav-link { padding: 12px 5px; text-align: center; }
    .cc-admin .sidebar .nav-item .nav-link i { display: block; margin: 0 auto 7px; }
    .cc-admin .sidebar .nav-item .nav-link span { display: block; font-size: .65rem; }
    .cc-admin .sidebar.toggled { width: 0 !important; padding: 0; overflow: hidden; }
    .cc-admin .topbar { padding: 16px; min-height: 85px; gap: 6px; }
    .cc-admin-page-title h1 { font-size: 1.05rem; }
    .cc-admin-kicker { font-size: .6rem; }
    .cc-admin-content { padding: 20px 14px; }
    .cc-admin-welcome h2 { font-size: 1.4rem; }
    .cc-admin .card-body { padding: 16px; }
    .cc-admin .panel { overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) { .cc-admin * { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; } }

.cc-admin .sidebar .sidebar-brand { background: transparent !important; }
.cc-admin .small-box .icon > i { font-size: 30px !important; }
.cc-admin .topbar .cc-admin-kicker { letter-spacing: .04em; text-transform: none; }
.cc-admin .topbar .cc-admin-user-name { letter-spacing: 0; text-transform: none; }
@media (max-width: 767px) {
    .cc-admin-kicker { display: none; }
    .cc-admin .topbar .topbar-divider { margin: 0 4px; }
    .cc-admin .small-box .inner { padding: 18px 14px; }
    .cc-admin .small-box .icon { top: 22px; right: 12px; }
    .cc-admin .small-box .icon > i { font-size: 20px !important; }
    .cc-admin .small-box .small-box-footer { padding: 12px 14px; }
    .cc-admin-page-title h1 { line-height: 1.3; }
}


/* Staff sign-in uses the same brand palette as the public website. */
.cc-admin-login { background: radial-gradient(ellipse at 5% 45%, #edf1dc, transparent 55%), #f8f9f4; color: var(--cc-body); }
.cc-staff-header { background: #fff; border-bottom: 1px solid var(--cc-line); padding: 24px 0; }
.cc-staff-header img { width: 210px; max-height: 72px; }
.cc-staff-site-link { color: var(--cc-green-dark); font-size: .8rem; font-weight: 600; }
.cc-staff-signin { padding-top: 56px; padding-bottom: 56px; }
.cc-staff-signin-grid { display: grid; grid-template-columns: 1fr 1fr; max-width: 1000px; margin: 0 auto; border: 1px solid var(--cc-line); border-radius: 22px; overflow: hidden; box-shadow: var(--cc-shadow-lg); background: #fff; }
.cc-staff-story { background: #1b2512; color: #e0e6d8; padding: 48px 42px; position: relative; }
.cc-staff-eyebrow { display: block; color: #cbdba4; text-transform: uppercase; font-size: .66rem; letter-spacing: .12em; margin-bottom: 34px; font-weight: 600; }
.cc-staff-story h1 { font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1.15; color: #fff; margin-bottom: 22px; letter-spacing: -.035em; }
.cc-staff-story p { color: #d0d9c5; line-height: 1.7; font-size: .95rem; }
.cc-staff-story-items { margin-top: 32px; }
.cc-staff-story-items > div { display: flex; align-items: center; gap: 14px; margin: 20px 0; font-size: .82rem; }
.cc-staff-story-items i { color: var(--cc-amber); font-size: 16px; width: 22px; }
.cc-staff-story-note { display: block; color: #cbdba4; font-size: .75rem; margin-top: 42px; border-top: 1px solid #405032; padding-top: 24px; }
.cc-staff-form { padding: 48px 42px; }
.cc-staff-form .cc-eyebrow { font-size: .7rem; margin-bottom: 8px; }
.cc-staff-form h2 { font-size: 2rem; margin-bottom: 12px; }
.cc-staff-form-description { color: var(--cc-muted); font-size: .87rem; margin-bottom: 28px; }
.cc-staff-form .form-group { margin-bottom: 22px; }
.cc-staff-form label { font-size: .8rem; font-weight: 600; margin-bottom: 9px; color: var(--cc-body); }
.cc-staff-form .form-control { border: 1px solid #d7ddcc; border-radius: 9px; padding: 13px 14px; height: 48px; font-size: .85rem; color: var(--cc-body); background: #fff; }
.cc-staff-form .form-control:focus { border-color: var(--cc-green); box-shadow: var(--cc-ring); }
.cc-staff-password { position: relative; }
.cc-staff-password input { padding-right: 48px !important; }
.cc-staff-password button { position: absolute; right: 4px; top: 4px; width: 40px; height: 40px; border: 0; border-radius: 6px; background: transparent; color: var(--cc-muted); }
.cc-staff-password button:hover { background: var(--cc-green-tint); color: var(--cc-green-dark); }
.cc-staff-password button:focus-visible { outline: 2px solid var(--cc-green-dark); }
.cc-staff-remember { margin: 0 0 22px; }
.cc-staff-remember label { display: flex; gap: 10px; align-items: center; font-weight: 400; }
.cc-staff-remember input { accent-color: var(--cc-green-deep); }
.cc-staff-submit { padding: 13px; border-radius: 9px; font-size: .9rem; }
.cc-staff-help { color: var(--cc-muted); font-size: .75rem; margin-top: 24px; }
.cc-staff-help a, .cc-staff-public a { color: var(--cc-green-dark); font-weight: 600; }
.cc-staff-public { border-top: 1px solid var(--cc-line); padding-top: 22px; font-size: .74rem; margin-top: 24px; }
.cc-staff-footer { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; padding-bottom: 26px; font-size: .7rem; color: var(--cc-muted); }
.cc-staff-footer a { color: var(--cc-green-dark); }
@media (max-width: 767px) {
    .cc-staff-header { padding: 18px 0; }
    .cc-staff-header img { width: 170px; }
    .cc-staff-site-link { font-size: .7rem; }
    .cc-staff-signin { padding-top: 28px; padding-bottom: 28px; }
    .cc-staff-signin-grid { grid-template-columns: 1fr; border-radius: 16px; }
    .cc-staff-story { padding: 28px; }
    .cc-staff-eyebrow { margin-bottom: 16px; }
    .cc-staff-story h1 { font-size: 1.8rem; margin-bottom: 14px; }
    .cc-staff-story p { margin-bottom: 0; }
    .cc-staff-story-items, .cc-staff-story-note { display: none; }
    .cc-staff-form { padding: 28px; }
    .cc-staff-form h2 { font-size: 1.7rem; }
    .cc-staff-footer { flex-wrap: wrap; gap: 10px; }
}
