:root {
  --fontFamily2: "Roboto", sans-serif;
  --fontFamily: "Montserrat", sans-serif;
  --mainColor: #00aa55;
  --whiteColor: #ffffff;
  --blackColor: #1f2428;
  --secondColor: #00aa5530;
  --paragraphColor: #666666;
  --DarkGrayColor: #3f3a3a;
  --card-title-fontSize: 20px;
  --fontSize: 16px;
  --boxShadow: rgba(80, 79, 79, 0.1) 0px 0px 16px;
  --transition: 0.5s;
}
/* Portal specific styles */

h4 {
    font-size: 1.25rem;
}

.login  {
    background-color: #f4f1ed;
    padding: 50px 0;
    min-height: 90vh;
}

.login  .padding p {
    color: var(--whiteColor) !important;
    text-align: center;
    font-size: 18px;
}

.login p,
.login a:hover {
    color: black !important;
}

.login a {
    color: var(--mainColor) !important;
}

.logo {
    text-align: center;
    margin-bottom: 20px;
}

.logo img {
    width: 100%;
    max-width: 120px;
}

.term-policy-bar {
    background-color: var(--DarkGrayColor);
    padding: 15px 0;
    color: var(--whiteColor) !important;
    text-align: center;
}

.term-policy-bar p,
.term-policy-bar a {
    color: var(--whiteColor) !important;
}

.term-policy-bar a:hover {
    color: var(--mainColor) !important;
}

.login  .bg-img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
    color: var(--whiteColor) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 30px;
    position: relative;
}

.login  .bg-img::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(15, 18, 33, 0.80);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    border-radius: 30px;
}

.login .bg-img .padding {
    padding: 0px 30px;
    z-index: 1;
}

.login  h1 {
    font-size: 35px;
    color: var(--whiteColor);
    margin: 20px 0px;
    font-weight: 700;
    text-align: center;
}

.log-in-card {
    margin-top: 0px;
    background-color: #f9f9f9;
}

.login-form form .form-control {
    /* margin-top: 10px;
    margin-bottom: 16px; */
    margin: 6px 0;
    background-color: white;
    border: 1px solid #eeeeee;
    line-height: 1.5 !important;

}

.login .register-link a,
.login .forget-link a,
.login .login-link a {
    color: #00aa55 !important;
}

.login .register-link a:hover,
.login .forget-link a:hover,
.login .login-link a:hover {
    color: black !important;
}

.ecoss-register-scf .acf-field:not(.acf-field-radio):not(.acf-field-checkbox):not(.acf-field-button-group):not(.acf-field-true-false) .acf-label {
    display: none !important;
}
.ecoss-register-scf .acf-input input[type="text"],
.ecoss-register-scf .acf-input input[type="email"],
.ecoss-register-scf .acf-input input[type="select"],
.ecoss-register-scf .acf-input input[type="url"],
.ecoss-register-scf .acf-input input[type="password"],
.ecoss-register-scf .acf-input input[type="number"],
.ecoss-register-scf .acf-input input[type="search"],
.ecoss-register-scf .acf-input input[type="tel"],
.ecoss-register-scf .acf-input textarea,
.ecoss-register-scf .acf-input select {
    width: 100%;
    padding: 10px 15px;
    font-size: 1rem;
    line-height: 1.5;
    color: #212529;
    background-color: var(--whiteColor);
    background-clip: padding-box;
    border: 1px solid #eeeeee;;
    border-radius: 0.375rem;
}
.ecoss-register-scf .acf-field {
    margin: 6px 0;
}

.portal-dashboard {
    min-height: 90vh;    
}

.portal-dashboard .protal-sidebar-icon img {
    width: 100px;
    max-width: 60px;
}

.portal-sidebar {
    position: relative;
    background: var(--mainColor);
    border-radius: 0;
    padding: 18px 0;
    color: var(--whiteColor);
    min-height: calc(100vh - 48px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.portal-sidebar-arrow {
    display: none;
    position: absolute;
    bottom: 150px;
    right: 0px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
    z-index: 10;
}

.portal-sidebar-arrow:hover {
    background: rgba(255, 255, 255, 0.16);
}

.portal-sidebar-arrow i {
    transition: transform 0.2s ease;
}

.portal-sidebar-arrow.open i {
    transform: rotate(180deg);
}

.portal-brand {
    margin-bottom: 12px;
    font-size: 20px;
    font-weight: 600;
    padding: 0 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.portal-menu li + li {
    margin-top: 2px;
}

.portal-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 18px;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    transition: 0.2s ease-in-out;
    border-left: 3px solid transparent;
    font-size: 14px;
    font-weight: 500;
}

.portal-menu a i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    flex-shrink: 0;
    font-size: 16px;
}

.portal-menu a span {
    white-space: nowrap;
}

.portal-menu a:hover,
.portal-menu a.active {
    background: rgba(0, 0, 0, 0.2);
    color: var(--whiteColor);
    border-left-color: var(--mainColor);
}

.portal-main {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.portal-topbar {
    background: var(--whiteColor);
    border-radius: 8px;
    border: 1px solid var(--secondColor);
    padding: 18px 22px;
    box-shadow: 0 1px 6px rgba(12, 28, 20, 0.06);
}

.portal-topbar h2 {
    color: var(--blackColor);
    font-size: 30px;
    font-weight: 600;
}

.portal-topbar p {
    color: var(--paragraphColor) !important;
    font-size: 14px;
}

.portal-sidebar-toggle {
    width: 40px;
    height: 40px;
    border: 1px solid var(--secondColor);
    border-radius: 6px;
    background: var(--whiteColor);
    color: var(--blackColor);
}

.portal-sidebar-overlay {
    display: none;
}

.portal-topbar-user {
    display: flex;
    align-items: center;
    gap: 14px;
}

.portal-topbar-divider {
    width: 1px;
    height: 28px;
    background: #d7dfda;
}

/* ── Notification wrapper & bell ── */
.portal-notification-wrapper {
    position: relative;
}

.portal-notification-icon {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--secondColor);
    color: var(--blackColor);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #fff;
    cursor: pointer;
    transition: 0.2s ease-in-out;
    padding: 0;
}

.portal-notification-icon:hover {
    background: #f3f7f4;
    color: #0f6f4b;
    border-color: #b5c9bc;
}

/* ── Unread badge ── */
.portal-notification-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: #d9342b;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 2px #fff;
    pointer-events: none;
}

.portal-notification-badge--hidden {
    display: none !important;
}

/* ── Notification dropdown ── */
.portal-notification-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 340px;
    background: #fff;
    border: 1px solid #e0e8e3;
    border-radius: 10px;
    box-shadow: 0 10px 34px rgba(14, 30, 22, 0.16);
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    overflow: hidden;
}

.portal-notification-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.portal-notification-dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 16px 11px;
    border-bottom: 1px solid #eef2ef;
    font-weight: 600;
    font-size: 14px;
    color: #1f2e23;
}

.portal-notification-header-count {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #d9342b;
    background: #fdecea;
    border-radius: 20px;
    padding: 1px 7px;
}

.portal-notification-mark-all-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 12px;
    color: #005336;
    font-weight: 500;
    padding: 0;
    transition: color 0.15s;
}

.portal-notification-mark-all-btn:hover {
    color: #003d27;
    text-decoration: underline;
}

.portal-notification-mark-all-btn--hidden {
    display: none !important;
}

.portal-notification-dropdown-body {
    max-height: 300px;
    overflow-y: auto;
}

/* ── Empty state ── */
.portal-notification-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 36px 20px;
    color: #8a9e93;
    text-align: center;
}

.portal-notification-empty i {
    font-size: 32px;
    margin-bottom: 10px;
    opacity: 0.4;
}

.portal-notification-empty p {
    font-size: 13px;
    margin: 0;
    color: #8a9e93;
}

/* ── Dropdown notification items ── */
.portal-notification-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f4f1;
    cursor: pointer;
    transition: background 0.15s ease;
}

.portal-notification-item:last-child {
    border-bottom: none;
}

.portal-notification-item:hover {
    background: #f7fbf8;
}

.portal-notification-item--unread {
    background: #f3fbf7;
}

.portal-notification-item--unread:hover {
    background: #eaf7f0;
}

.portal-notification-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #005336;
    margin-top: 5px;
    opacity: 0;
    transition: opacity 0.2s;
}

.portal-notification-item--unread .portal-notification-dot {
    opacity: 1;
}

.portal-notification-item-body {
    flex: 1;
    min-width: 0;
}

.portal-notification-item-body strong {
    display: block;
    font-size: 13px;
    color: #1f2e23;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.portal-notification-item-body p {
    font-size: 12px;
    color: #6a7e72;
    margin: 0 0 4px;
    line-height: 1.4;
}

.portal-notification-item-body time {
    font-size: 11px;
    color: #9aada3;
}

/* ── Dropdown footer ── */
.portal-notification-dropdown-footer {
    padding: 10px 16px;
    border-top: 1px solid #eef2ef;
    text-align: center;
}

.portal-notification-dropdown-footer a {
    font-size: 13px;
    color: #005336;
    text-decoration: none;
    font-weight: 500;
}

.portal-notification-dropdown-footer a:hover {
    text-decoration: underline;
}

.portal-notification-footer-count {
    color: #d9342b;
}

/* ─────────────────────────────────────────────────────────────
   Notifications page (notifications.php)
───────────────────────────────────────────────────────────── */

/* ── Filter tabs ── */
.ecoss-notif-tabs {
    display: flex;
    gap: 4px;
}

.ecoss-notif-tab {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: #4a6255;
    text-decoration: none;
    background: #f1f5f2;
    transition: 0.18s ease;
    border: 1px solid transparent;
}

.ecoss-notif-tab:hover {
    background: #e4ede7;
    color: #1a3d2b;
}

.ecoss-notif-tab.active {
    background: #005336;
    color: #fff;
    border-color: #005336;
}

.ecoss-notif-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 700;
    background: rgba(0,0,0,0.12);
    color: inherit;
}

.ecoss-notif-tab.active .ecoss-notif-tab-count {
    background: rgba(255,255,255,0.25);
}

.ecoss-notif-tab-count--unread {
    background: #d9342b !important;
    color: #fff !important;
}

.ecoss-notif-tab.active .ecoss-notif-tab-count--unread {
    background: rgba(255,255,255,0.3) !important;
}

/* ── Mark all (form) button ── */
.ecoss-notif-mark-all-form-btn {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border: 1px solid #b0c8bb;
    border-radius: 6px;
    background: #fff;
    color: #005336;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.18s ease;
}

.ecoss-notif-mark-all-form-btn:hover {
    background: #005336;
    color: #fff;
    border-color: #005336;
}

/* ── Notification list rows ── */
.ecoss-notif-list {
    margin: 0 -18px;
}

.ecoss-notif-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #eef2ef;
    transition: background 0.15s;
}

.ecoss-notif-row:last-child {
    border-bottom: none;
}

.ecoss-notif-row:hover {
    background: #f7fbf8;
}

.ecoss-notif-row--unread {
    background: #f3fbf7;
}

.ecoss-notif-row--unread:hover {
    background: #eaf7f0;
}

.ecoss-notif-row-dot {
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #cdd9d3;
    margin-top: 6px;
    transition: background 0.2s;
}

.ecoss-notif-row-dot--active {
    background: #005336;
}

.ecoss-notif-row-content {
    flex: 1;
    min-width: 0;
}

.ecoss-notif-row-title {
    font-size: 14px;
    color: #1f2e23;
    display: block;
    margin-bottom: 3px;
}

.ecoss-notif-row-message {
    font-size: 13px;
    color: #5a6e62;
    line-height: 1.5;
}

.ecoss-notif-row-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #8a9e93;
    margin-top: 4px;
}

/* ── Status badges ── */
.ecoss-notif-badge-unread {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 20px;
    background: #fdecea;
    color: #c0392b;
    font-size: 11px;
    font-weight: 600;
}

.ecoss-notif-badge-read {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 20px;
    background: #e8f4ef;
    color: #005336;
    font-size: 11px;
    font-weight: 600;
}

/* ── Empty state (full page) ── */
.ecoss-notif-page-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 20px;
    color: #8a9e93;
    text-align: center;
}

.ecoss-notif-page-empty i {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.35;
}

.ecoss-notif-page-empty p {
    font-size: 15px;
    margin: 0;
    color: #8a9e93;
}

/* ── Pagination ── */
.ecoss-notif-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    color: #3a5244;
    background: #f1f5f2;
    border: 1px solid #dde7e1;
    transition: 0.18s ease;
}

.ecoss-notif-page-btn:hover {
    background: #e2ebe5;
    color: #1a3d2b;
}

.ecoss-notif-page-btn.active {
    background: #005336;
    color: #fff;
    border-color: #005336;
}

.portal-user-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.portal-user-dropdown {
    position: relative;
}

.portal-user-toggle {
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    color: #2d3d33;
}

.portal-user-toggle .fa-angle-down {
    font-size: 14px;
    color: #6f7f74;
}

.portal-user-name {
    color: #2d3d33;
    font-size: 14px;
    font-weight: 600;
}

.portal-user-avatar img,
.portal-user-avatar .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #d9e2dc;
    object-fit: cover;
}

.portal-user-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 190px;
    background: #fff;
    border: 1px solid #e0e8e3;
    border-radius: 8px;
    box-shadow: 0 8px 26px rgba(20, 34, 26, 0.14);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s ease-in-out;
    z-index: 10;
}

.portal-user-menu li a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 14px;
    color: #33443a;
    font-size: 14px;
    text-decoration: none;
    transition: 0.18s ease-in-out;
}

.portal-user-menu li a i {
    width: 15px;
    color: #4e6256;
}

.portal-user-menu li a:hover {
    background: #f3f8f5;
    color: #0f6f4b;
}

.portal-user-dropdown:hover .portal-user-menu,
.portal-user-dropdown:focus-within .portal-user-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.portal-stat-card {
    background: #fff;
    border-radius: 8px;
    padding: 16px 18px;
    border: 1px solid #e7ece8;
    box-shadow: 0 1px 4px rgba(12, 28, 20, 0.05);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.portal-stat-card p {
    margin-bottom: 6px;
    color: #6a786f;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.portal-stat-card h3 {
    margin-bottom: 0;
    font-size: 30px;
    color: #1f2e23;
    font-weight: 700;
}

.portal-panel {
    border: 1px solid #e7ece8;
    border-radius: 8px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 1px 6px rgba(12, 28, 20, 0.05);
}

.portal-panel h5 {
    color: #24362a;
    font-size: 34px;
    font-weight: 600;
}

.portal-panel .table th {
    color: #4f5d54;
    font-weight: 600;
    border-bottom: 1px solid #e7ece8;
}

.portal-panel .table td {
    color: #2f3d34;
    border-color: #eef2ef;
    vertical-align: middle;
}

.portal-panel .table tr:hover {
    background: #fafcfb;
}

.portal-dashboard .default-button {
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 13px;
    text-align: center;
}

@media (max-width: 1199px) {
    .portal-sidebar-column {
        position: fixed;
        top: 0;
        left: -280px;
        width: 270px;
        max-width: 85%;
        height: 100vh;
        z-index: 1040;
        transition: left 0.25s ease-in-out;
        padding-right: 0;
    }

    .portal-sidebar-column .portal-sidebar {
        min-height: 100vh;
    }

    .portal-dashboard.sidebar-open .portal-sidebar-column {
        left: 0;
    }

    .portal-sidebar-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.3);
        z-index: 1030;
    }

    .portal-dashboard.sidebar-open .portal-sidebar-overlay {
        display: block;
    }

    .portal-sidebar-arrow {
        display: flex;
    }
}

@media (max-width: 991px) {
    .portal-sidebar {
        min-height: auto;
        border-radius: 8px;
    }

    .portal-main {
        margin-top: 16px;
    }

    .portal-topbar h2,
    .portal-panel h5 {
        font-size: 26px;
    }

    .portal-topbar {
        flex-wrap: wrap;
        gap: 12px;
    }
}

/* ── Sidebar notification badge ── */
.portal-sidebar-notif-badge {
    margin-left: auto;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #d9342b;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── Sidebar Submenu ── */
.portal-has-submenu > a.portal-submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.portal-has-submenu > a.portal-submenu-toggle .portal-submenu-arrow {
    font-size: 11px;
    transition: transform 0.25s ease-in-out;
    margin-left: auto;
    flex-shrink: 0;
}

.portal-has-submenu.open > a.portal-submenu-toggle .portal-submenu-arrow {
    transform: rotate(180deg);
}

.portal-submenu {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-in-out;
    background: rgba(0, 0, 0, 0.12);
}

.portal-submenu.show {
    max-height: 200px;
}

.portal-submenu li a {
    padding: 9px 18px 9px 38px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.78);
    border-left: 3px solid transparent;
}

.portal-submenu li a:hover,
.portal-submenu li a.active {
    background: rgba(0, 0, 0, 0.18);
    color: #fff;
    border-left-color: #87e7c1;
}

/* ── Stat Icon ── */
.portal-stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

/* ── Search Input ── */
.portal-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.portal-search-icon {
    position: absolute;
    left: 10px;
    color: #7a8c82;
    font-size: 13px;
    pointer-events: none;
}

.portal-search-input {
    border: 1px solid #d9e2dc;
    border-radius: 6px;
    padding: 7px 12px 7px 32px;
    font-size: 13px;
    color: #2d3d33;
    outline: none;
    width: 210px;
    transition: border-color 0.2s ease;
    background: #fff;
}

.portal-search-input:focus {
    border-color: #005336;
}

/* ── Status Filter Select ── */
.portal-filter-select {
    border: 1px solid #d9e2dc;
    border-radius: 6px;
    padding: 10px;
    width: 200px;
    font-size: 13px;
    color: #2d3d33;
    background: #fff;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.portal-filter-select:focus {
    border-color: #005336;
}

/* ── Application Action Buttons ── */
.app-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    transition: 0.18s ease-in-out;
    margin-right: 4px;
}

.app-action-view {
    background: #e8f4f0;
    color: #005336;
}

.app-action-view:hover {
    background: #005336;
    color: #fff;
}

.app-action-edit {
    background: #fff3cd;
    color: #856404;
}

.app-action-edit:hover {
    background: #e08a00;
    color: #fff;
}

/* ── Empty State ── */
.app-empty-state {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    color: #8a9e93;
    text-align: center;
}

.app-empty-state i {
    font-size: 42px;
    margin-bottom: 14px;
    opacity: 0.45;
}

.app-empty-state p {
    font-size: 14px;
    margin: 0;
}

/* ── License Download Button ── */
.app-action-download {
    background: #e6f4ef;
    color: #005336;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    transition: 0.18s ease-in-out;
}

.app-action-download:hover {
    background: #005336;
    color: #fff;
}

.app-action-download-disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 13px;
    background: #f0f0f0;
    color: #b0b8b4;
    cursor: not-allowed;
    opacity: 0.6;
}

/* ── Renew Action Button ── */
.app-action-renew {
    background: #ede7f6;
    color: #6f42c1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    transition: 0.18s ease-in-out;
}

.app-action-renew:hover {
    background: #6f42c1;
    color: #fff;
}

/* ── Renewal Page Styles ── */
.renewal-badge-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ede7f6;
    color: #6f42c1;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: 0.3px;
}

.renewal-info-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #e8f4f0;
    border: 1px solid #b6dece;
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 13.5px;
    color: #1a4030;
    line-height: 1.6;
}

.renewal-info-icon {
    color: #005336;
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

.renewal-cancel-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 22px;
    border-radius: 6px;
    border: 1px solid #d0d8d3;
    background: #fff;
    color: #4a5e52;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: 0.18s ease-in-out;
}

.renewal-cancel-btn:hover {
    background: #f3f7f4;
    color: #1a3326;
    border-color: #b0bdb5;
}

/* ── Auto-populated (readonly) fields ── */
.portal-readonly-field {
    background-color: #f5f7f6 !important;
    color: #5a6e62 !important;
    cursor: not-allowed;
    border-color: #d4ddd8 !important;
}

.portal-readonly-field:focus {
    box-shadow: none !important;
    border-color: #d4ddd8 !important;
}

.portal-field-auto-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10.5px;
    font-weight: 600;
    color: #6a8f7b;
    background: #e8f4ef;
    border: 1px solid #c4ddd0;
    border-radius: 20px;
    padding: 1px 8px;
    margin-left: 6px;
    letter-spacing: 0.2px;
    vertical-align: middle;
}

/* Register SCF: select fields use field label as first option (value empty); hide duplicate label */
.ecoss-register-scf .acf-label.ecoss-register-scf-hide-label {
    display: none;
}



/* Desktop Sidebar Collapse */
.portal-dashboard.sidebar-collapsed {
    --sidebar-width: 80px;
}

.portal-dashboard.sidebar-collapsed .portal-sidebar {
    padding: 18px 0;
}

.portal-dashboard.sidebar-collapsed .protal-sidebar-icon {
    display: none;
}

.portal-dashboard.sidebar-collapsed .portal-menu a {
    justify-content: center;
    padding: 11px 8px;
}

.portal-dashboard.sidebar-collapsed .portal-menu a span {
    display: none;
}

.portal-dashboard.sidebar-collapsed .portal-menu a .portal-submenu-arrow {
    display: none;
}

.portal-dashboard.sidebar-collapsed .portal-menu a i {
    width: auto;
    gap: 0;
}

.portal-dashboard.sidebar-collapsed .portal-sidebar-arrow i {
    transform: rotate(180deg);
}

@media (min-width: 1200px) {
    

    .portal-dashboard.sidebar-collapsed .portal-sidebar-column {
        flex-basis: 80px;
        max-width: 80px;
    }

    .portal-sidebar-arrow {
        display: flex !important;
    }
}