:root{
    --green:#2c7a2c;
    --green-light:#e8f5e9;
    --green-soft:#66bb6a;
    --text:#1f2937;
    --muted:#667085;
    --bg:#f4f6f9;
    --card:#ffffff;
    --border:#e5e7eb;
    --ek-primary:#2c7a2c;
    --ek-primary-strong:#1f6b2a;
    --ek-primary-soft:#e8f5e9;
    --ek-success:#1b7f2a;
    --ek-success-soft:#e8f5e9;
    --ek-warning:#9a6700;
    --ek-warning-soft:#fff3cd;
    --ek-danger:#b42318;
    --ek-danger-soft:#ffebee;
    --ek-info:#1d4ed8;
    --ek-info-soft:#eff6ff;
    --ek-neutral:#475467;
    --ek-neutral-soft:#f2f4f7;
    --ek-focus:rgba(44,122,44,0.12);
    --ek-shadow:0 6px 18px rgba(15,23,42,0.05);
    --ek-radius:12px;
    --ek-radius-card:18px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
    font-size:15px;
    line-height:1.5;
}

.app-layout{
    display:flex;
    min-height:100vh;
}

/* SIDEBAR */

.app-sidebar{
    width:260px;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    background:#ffffff;
    border-right:1px solid var(--border);
    display:flex;
    flex-direction:column;
    box-shadow:2px 0 10px rgba(0,0,0,0.04);
    z-index:100;
    overflow:hidden;
}

.sidebar-logo{
    flex-shrink:0;
    display:block;
    padding:28px 18px 24px;
    text-decoration:none;
    border-bottom:1px solid var(--border);
    overflow:hidden;
}

.word-logo{
    font-family:Georgia, "Times New Roman", serif;
    font-size:40px;
    font-weight:900;
    line-height:0.9;
    letter-spacing:-4px;
    color:#1f6b2a;
    white-space:nowrap;
}

/* NAVIGATION */

.sidebar-nav{
    flex:1;
    min-height:0;
    padding:18px 14px;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
}

.sidebar-link{
    display:block;
    width:100%;
    padding:13px 14px;
    margin-bottom:6px;
    border-radius:10px;
    color:var(--text);
    text-decoration:none;
    font-weight:600;
    transition:0.2s;
}

.sidebar-link:hover{
    background:var(--green-light);
    color:var(--green);
}

.sidebar-link.active{
    background:var(--green);
    color:#ffffff;
}

/* PROFILE */

.sidebar-profile{
    flex-shrink:0;
    padding:16px 14px;
    border-top:1px solid var(--border);
    background:#ffffff;
}

.profile-name{
    font-weight:bold;
    margin-bottom:10px;
    color:var(--text);
}

.sidebar-profile a{
    display:block;
    width:100%;
    padding:10px 12px;
    border-radius:8px;
    color:var(--text);
    text-decoration:none;
    font-size:14px;
    transition:0.2s;
}

.sidebar-profile a:hover{
    background:var(--green-light);
    color:var(--green);
}

.logout-link{
    color:#b00020 !important;
    margin-top:10px;
    border-top:1px solid var(--border);
    padding-top:14px !important;
}

/* MAIN CONTENT */

.app-main{
    margin-left:260px;
    width:calc(100% - 260px);
    min-height:100vh;
}

.app-content{
    padding:35px;
}

/* TYPOGRAPHY */

h1{
    margin-bottom:6px;
    font-size:36px;
}

.app-content h1{
    font-size:34px !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
}

.app-content h2,
.card-heading h2,
.panel-heading h2,
.records-title h2{
    font-size:24px !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
}

.app-content h3{
    font-size:18px !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
}

.subtitle{
    color:var(--muted);
    margin-bottom:30px;
}

.section-title{
    margin-top:35px;
    margin-bottom:15px;
    color:var(--green);
    font-size:22px;
}

/* KPI GRID */

.kpi-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
}

.kpi-card{
    background:var(--card);
    padding:22px;
    border-radius:16px;
    border-left:5px solid var(--green);
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.kpi-label{
    color:var(--muted);
    font-size:14px;
}

.kpi-number{
    font-size:36px;
    font-weight:bold;
    margin-top:10px;
    color:var(--green);
}

.kpi-money,
.kpi-status{
    font-size:28px;
    line-height:1.15;
}

.kpi-note{
    font-size:13px;
    color:var(--muted);
    margin-top:8px;
}

/* CHARTS */

.chart-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
    gap:20px;
}

.chart-card{
    background:var(--card);
    padding:20px;
    border-radius:16px;
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.chart-title{
    font-weight:bold;
    margin-bottom:12px;
    display:flex;
    align-items:center;
    gap:8px;
}

.info-icon{
    font-size:13px;
    color:var(--muted);
    cursor:pointer;
}

/* FORMS */

.container{
    display:flex;
    gap:30px;
}

.form-box,
.table-box{
    background:var(--card);
    padding:25px;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 6px 18px rgba(15,23,42,0.05);
}

.form-box{
    width:400px;
}

.table-box{
    flex:1;
    overflow:auto;
}

input,
select,
textarea{
    width:100%;
    padding:12px;
    margin-bottom:12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#ffffff;
    font-size:15px;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:var(--green);
    box-shadow:0 0 0 4px rgba(44,122,44,0.12);
}

textarea{
    height:90px;
}

button{
    background:var(--green);
    color:white;
    border:none;
    padding:12px 20px;
    border-radius:12px;
    cursor:pointer;
    font-weight:800;
    box-shadow:0 6px 14px rgba(44,122,44,0.16);
}

/* TABLES */

table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}

th,
td{
    border-bottom:1px solid var(--border);
    padding:10px;
    text-align:left;
    vertical-align:top;
}

th{
    background:#fafafa;
}

/* BADGES */

.badge{
    display:inline-block;
    padding:4px 8px;
    border-radius:20px;
    background:var(--green-light);
    color:var(--green);
    font-size:12px;
    font-weight:bold;
}

.suspended{
    background:#fff3cd;
    color:#9a6700;
}

.small{
    font-size:12px;
    color:var(--muted);
    margin-top:6px;
}

/* ACTIONS */

.actions a{
    display:inline-block;
    margin-right:8px;
    color:var(--green);
    text-decoration:none;
    font-weight:bold;
}

.actions .delete{
    color:#b00020;
}

/* DESIGN SYSTEM ENFORCEMENT */

.alert-success,
.ek-alert.success,
.ek-alert-success,
.alert.success,
.notice.success{
    background:var(--ek-success-soft) !important;
    color:var(--ek-success) !important;
    border:1px solid #c8e6c9 !important;
    border-radius:var(--ek-radius) !important;
    padding:14px 16px !important;
    font-weight:800 !important;
    line-height:1.5 !important;
}

.alert-error,
.ek-alert.error,
.ek-alert-error,
.alert.error,
.notice.error,
.errors{
    background:var(--ek-danger-soft) !important;
    color:var(--ek-danger) !important;
    border:1px solid #ffcdd2 !important;
    border-radius:var(--ek-radius) !important;
    padding:14px 16px !important;
    font-weight:800 !important;
    line-height:1.5 !important;
}

.alert-warning,
.ek-alert.warning,
.ek-alert-warning,
.alert.warning,
.notice.warning{
    background:var(--ek-warning-soft) !important;
    color:var(--ek-warning) !important;
    border:1px solid #ffe08a !important;
    border-radius:var(--ek-radius) !important;
    padding:14px 16px !important;
    font-weight:800 !important;
    line-height:1.5 !important;
}

.badge,
.status-pill,
.cluster-badge,
.ek-badge,
.type-pill,
.meta-pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:28px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    background:var(--ek-neutral-soft) !important;
    color:var(--ek-neutral) !important;
    border:1px solid transparent !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

.success-badge,
.badge.success,
.badge.active,
.status-active,
.st-active,
.st-approved,
.st-completed,
.st-processed,
.st-sent,
.st-delivered,
.ek-badge-ready,
.ek-status-delivered,
.cluster-lesson,
.success,
.delivered{
    background:var(--ek-success-soft) !important;
    color:var(--ek-success) !important;
    border-color:#c8e6c9 !important;
}

.info-badge,
.badge.info,
.ek-badge-info,
.type-advisory,
.type-survey{
    background:var(--ek-info-soft) !important;
    color:var(--ek-info) !important;
    border-color:#bfdbfe !important;
}

.warning-badge,
.badge.warning,
.status-pending,
.st-pending,
.st-scheduled,
.st-queued,
.st-processing,
.st-paused,
.ek-status-scheduled,
.ek-status-queued,
.ek-status-sending,
.suspended,
.warning,
.pending,
.queued,
.scheduled,
.processing{
    background:var(--ek-warning-soft) !important;
    color:var(--ek-warning) !important;
    border-color:#ffe08a !important;
}

.danger-badge,
.badge.danger,
.status-rejected,
.status-failed,
.st-failed,
.st-cancelled,
.failed,
.cancelled{
    background:var(--ek-danger-soft) !important;
    color:var(--ek-danger) !important;
    border-color:#ffcdd2 !important;
}

.muted-badge,
.badge.neutral,
.neutral,
.st-neutral,
.status-inactive,
.archived,
.ek-badge-neutral{
    background:var(--ek-neutral-soft) !important;
    color:var(--ek-neutral) !important;
    border-color:#e5e7eb !important;
}

/* UNIFIED ACTION SYSTEM
   All operational actions should look and behave like buttons, including links. */

.button-soft,
.button-outline,
.soft-btn,
.top-link,
.back-link,
.secondary-link,
.soft-link,
.soft-action,
.view-link,
.ek-btn,
.small-btn,
.mini-button,
.action-button,
.action-link,
.btn,
.hero-btn,
.primary-btn,
.secondary-btn,
.profile-button,
.reset-link,
.danger-action,
.link-action,
.delete,
a.delete,
.add-toggle,
.actions a,
.actions button,
.form-actions a,
.form-actions button,
.heading-actions a,
.heading-actions button,
.next-action-buttons a,
.next-action-buttons button,
.recent-actions a,
.recent-actions button,
.back-row a,
.topbar a.btn,
.records-title > a,
button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:40px !important;
    min-width:0 !important;
    padding:10px 16px !important;
    border-radius:var(--ek-radius) !important;
    border:1px solid transparent !important;
    font-family:Arial, sans-serif !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.button-soft:hover,
.button-outline:hover,
.soft-btn:hover,
.top-link:hover,
.back-link:hover,
.secondary-link:hover,
.soft-link:hover,
.soft-action:hover,
.view-link:hover,
.ek-btn:hover,
.small-btn:hover,
.mini-button:hover,
.action-button:hover,
.action-link:hover,
.btn:hover,
.hero-btn:hover,
.primary-btn:hover,
.secondary-btn:hover,
.profile-button:hover,
.reset-link:hover,
.danger-action:hover,
.link-action:hover,
.delete:hover,
a.delete:hover,
.add-toggle:hover,
.actions a:hover,
.actions button:hover,
.form-actions a:hover,
.form-actions button:hover,
.heading-actions a:hover,
.heading-actions button:hover,
.next-action-buttons a:hover,
.next-action-buttons button:hover,
.recent-actions a:hover,
.recent-actions button:hover,
.back-row a:hover,
.topbar a.btn:hover,
.records-title > a:hover,
button:hover{
    transform:none !important;
}

.mini,
.small-btn,
.mini-button,
.actions .btn,
.actions a,
.actions button,
.recent-actions .ek-btn,
.recent-actions a,
.recent-actions button{
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:10px !important;
    font-size:13px !important;
}

.form-actions,
.actions,
.heading-actions,
.next-action-buttons,
.recent-actions,
.back-row{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.primary-action,
.primary-btn,
.primary-soft-btn,
.ek-btn.primary,
.ek-btn-primary,
.btn-primary,
.btn.primary,
.btn.primary:visited,
.action-button.primary,
.action-link.primary,
.hero-btn:not(.secondary),
.top-link.primary-action,
button:not(.sidebar-link):not(.link-action):not(.danger):not(.delete):not(.warning){
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border-color:var(--ek-primary) !important;
    box-shadow:0 6px 14px rgba(44,122,44,0.16) !important;
}

.button-outline,
.soft-btn,
.top-link,
.back-link,
.secondary-link,
.soft-link,
.soft-action,
.view-link,
.ek-btn.secondary,
.ek-btn-secondary,
.ek-btn:not(.primary):not(.danger),
.btn-secondary,
.btn.outline,
.btn-outline,
.btn:not(.primary):not(.danger):not(.warning):not(.muted),
.action-link.outline,
.action-link.soft,
.action-button.soft,
.hero-btn.secondary,
.secondary-btn,
.reset-link,
.add-toggle,
.small-btn,
.mini-button,
.form-actions a,
.heading-actions a,
.next-action-buttons a:not(.primary-soft-btn),
.recent-actions a:not(.primary),
.back-row a{
    background:#ffffff !important;
    color:var(--ek-primary) !important;
    border:1px solid #b7dfbd !important;
    box-shadow:none !important;
}

.soft-btn.primary-soft-btn,
.mini-button.primary-soft-btn{
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border-color:var(--ek-primary) !important;
}

.mini-button{
    text-decoration:none;
    white-space:nowrap;
}

a.delete,
.delete,
.danger-link,
.remove-question,
.link-action.danger-link{
    color:var(--ek-danger) !important;
}

button.delete,
button.danger,
.danger-button,
.danger-action,
.btn-danger,
.btn.danger,
.btn.danger:visited,
.ek-btn.danger,
.ek-btn-danger,
.action-button.delete,
.action-button.danger,
.mini-button.danger-mini-button,
.danger-mini-button,
.hero-btn.danger,
.actions .delete,
.form-actions .delete{
    background:var(--ek-danger-soft) !important;
    color:var(--ek-danger) !important;
    border:1px solid #ffcdd2 !important;
    box-shadow:none !important;
}

button.warning,
.btn-warning,
.btn.warning,
.warning-mini-button,
.action-button.warning,
.btn-muted,
.btn.muted,
.ek-btn.muted,
.action-button.muted{
    background:var(--ek-warning-soft) !important;
    color:var(--ek-warning) !important;
    border:1px solid #ffe08a !important;
    box-shadow:none !important;
}

.success-mini-button,
.btn.success,
.action-button.success,
.mini-button.success-mini-button{
    background:var(--ek-success-soft) !important;
    color:var(--ek-success) !important;
    border:1px solid #c8e6c9 !important;
    box-shadow:none !important;
}

.link-action{
    background:#ffffff !important;
    color:var(--ek-primary) !important;
    border:1px solid #b7dfbd !important;
}

.actions a,
.actions button{
    margin-right:0 !important;
}

table,
.records-table,
.ledger-table,
.ek-table{
    border-color:var(--border) !important;
    font-size:14px !important;
}

th,
.records-table th,
.ledger-table th,
.ek-table th{
    background:#f8fafc !important;
    color:#243142 !important;
    font-size:13px !important;
    font-weight:900 !important;
}

td,
.records-table td,
.ledger-table td,
.ek-table td{
    color:var(--text) !important;
    border-color:var(--border) !important;
}

tbody tr,
tbody td{
    background-color:transparent !important;
}

tr.danger,
tr.failed,
tr.error{
    background:var(--ek-danger-soft) !important;
}

tr.warning,
tr.pending{
    background:var(--ek-warning-soft) !important;
}

tr.success,
tr.delivered{
    background:var(--ek-success-soft) !important;
}

/* RESPONSIVE */

@media(max-width:900px){

    .app-sidebar{
        width:100%;
        height:auto;
        position:relative;
    }

    .app-main{
        margin-left:0;
        width:100%;
    }

    .chart-grid,
    .kpi-grid{
        grid-template-columns:1fr;
    }
}

/* SETTINGS SUBMENU */

.sidebar-group{
    margin-bottom:6px;
}

.sidebar-group-title{
    cursor:default;
}

.sidebar-submenu{
    display:flex;
    flex-direction:column;
    padding-left:14px;
    margin-top:-2px;
    margin-bottom:8px;
}

.sidebar-sublink{
    display:block;
    padding:9px 14px;
    margin-bottom:4px;
    border-radius:8px;
    color:var(--muted);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.sidebar-sublink:hover{
    background:var(--green-light);
    color:var(--green);
}

.sidebar-sublink.active{
    background:var(--green-light);
    color:var(--green);
}

/* SETTINGS SUBMENU OPEN / CLOSED */

.sidebar-submenu.submenu-closed{
    display:none;
}

.sidebar-submenu.submenu-open{
    display:flex;
    flex-direction:column;
}

/* FIX SETTINGS BUTTON BEHAVIOR */

button.sidebar-link{
    text-align:left;
    font-family:Arial, sans-serif;
    font-size:inherit;
    border:none;
    background:transparent;
    color:var(--text);
}

button.sidebar-link:hover{
    background:var(--green-light);
    color:var(--green);
}

button.sidebar-link.active{
    background:var(--green);
    color:#ffffff;
}

/* =========================================
   PROFILE PAGE
========================================= */

.profile-hero{
    background:linear-gradient(135deg,#1f7a34,#2f9e44);
    color:#ffffff;
    border-radius:22px;
    padding:30px;
    margin-bottom:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 10px 28px rgba(31,122,52,0.18);
}

.profile-hero h1{
    color:#ffffff;
    margin-bottom:8px;
}

.profile-hero p{
    color:rgba(255,255,255,0.88);
    font-size:15px;
    max-width:700px;
}

.profile-avatar{
    width:78px;
    height:78px;
    border-radius:50%;
    background:#ffffff;
    color:#1f7a34;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:900;
    flex-shrink:0;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.profile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:start;
}

.profile-card{
    background:#ffffff;
    border-radius:20px;
    padding:28px;
    border:1px solid #e7ecef;
    box-shadow:0 6px 18px rgba(15,23,42,0.05);
}

.profile-card h2{
    margin-bottom:6px;
    color:#1f7a34;
    font-size:26px;
}

.card-note{
    color:var(--muted);
    margin-bottom:24px;
    font-size:14px;
    line-height:1.5;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.field{
    margin-bottom:18px;
}

.field label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:700;
    color:#243142;
}

.field input{
    width:100%;
    height:48px;
    border-radius:12px;
    border:1px solid #d9e1e7;
    padding:0 14px;
    background:#ffffff;
    transition:0.2s;
    font-size:15px;
}

.field input:focus{
    outline:none;
    border-color:#2f9e44;
    box-shadow:0 0 0 4px rgba(47,158,68,0.12);
}

.field input:disabled{
    background:#f5f7f9;
    color:#667085;
}

.profile-button{
    background:#1f7a34;
    color:#ffffff;
    border:none;
    padding:13px 22px;
    border-radius:12px;
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    transition:0.2s;
    box-shadow:0 6px 14px rgba(31,122,52,0.16);
}

.profile-button:hover{
    background:#17642a;
    transform:translateY(-1px);
}

.security-item{
    border:1px solid #e7ecef;
    border-radius:16px;
    padding:18px;
    margin-bottom:18px;
    background:#fbfcfc;
}

.security-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.security-title{
    font-weight:800;
    color:#243142;
    margin-bottom:5px;
    font-size:15px;
}

.security-text{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:999px;
    background:#e8f5e9;
    color:#1f7a34;
    font-size:12px;
    font-weight:800;
}

.toggle{
    width:22px;
    height:22px;
    accent-color:#1f7a34;
    cursor:pointer;
}

.password-box{
    margin-top:28px;
    padding-top:24px;
    border-top:1px solid #edf1f3;
}

.alert-success{
    background:#e8f5e9;
    color:#1b5e20;
    padding:16px;
    border-radius:14px;
    margin-bottom:20px;
    font-weight:700;
    border:1px solid #c8e6c9;
}

.alert-error{
    background:#ffebee;
    color:#b71c1c;
    padding:16px;
    border-radius:14px;
    margin-bottom:20px;
    font-weight:700;
    border:1px solid #ffcdd2;
}

/* MOBILE */

@media(max-width:1000px){

    .profile-grid{
        grid-template-columns:1fr;
    }

    .profile-hero{
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
    }

    .form-row{
        grid-template-columns:1fr;
    }

    .ek-pagination{
        align-items:flex-start;
        flex-direction:column;
    }

    .ek-pagination__controls{
        justify-content:flex-start;
        width:100%;
    }
}

/* SHARED FARMER / OPERATIONS DESIGN */

.farmers-page,
.farmers-upload-page,
.profile-page{
    max-width:1180px;
}

.page-top,
.profile-actions-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.top-link,
.back-link,
.soft-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#ffffff;
    color:var(--green);
    border:1px solid var(--border);
    padding:11px 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:800;
    box-shadow:0 3px 10px rgba(15,23,42,0.04);
    white-space:nowrap;
}

.mode-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-bottom:24px;
}

.mode-card{
    display:flex;
    gap:16px;
    align-items:center;
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:22px;
    text-decoration:none;
    color:var(--text);
    box-shadow:0 6px 18px rgba(15,23,42,0.05);
    transition:0.2s;
}

.mode-card:hover{
    transform:translateY(-2px);
    border-color:#b7dfbd;
}

.mode-card.active{
    border-color:var(--green);
    background:linear-gradient(180deg,#ffffff,#f4fbf5);
    box-shadow:0 10px 26px rgba(44,122,44,0.12);
}

.mode-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    background:var(--green-light);
    color:var(--green);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    font-weight:900;
    flex-shrink:0;
}

.mode-card.active .mode-icon{
    background:var(--green);
    color:#ffffff;
}

.mode-card h3{
    margin-bottom:5px;
    font-size:18px;
}

.mode-card p{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.modern-card,
.contact-card,
.config-card,
.filter-card{
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 6px 18px rgba(15,23,42,0.05);
}

.modern-card{
    padding:26px;
    margin-bottom:24px;
}

.card-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.card-heading h2{
    font-size:25px;
    margin-bottom:5px;
    color:var(--green);
}

.card-heading p{
    color:var(--muted);
    font-size:14px;
}

.status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f2f4f7;
    color:#344054;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.status-pill.green{
    background:var(--green-light);
    color:var(--green);
}

.ek-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.ek-pagination__summary{
    color:#53627c;
    font-size:14px;
    font-weight:800;
}

.ek-pagination__controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.ek-pagination__item{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:0 14px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#ffffff;
    color:var(--green);
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.ek-pagination__item:hover{
    border-color:#b7dfbd;
    background:#f4fbf5;
    color:var(--green);
}

.ek-pagination__item.is-current{
    background:var(--green);
    border-color:var(--green);
    color:#ffffff;
}

.ek-pagination__item.is-disabled{
    background:#f8fafc;
    color:#98a2b3;
    cursor:not-allowed;
}

.ek-pagination__ellipsis{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:42px;
    color:#667085;
    font-weight:900;
}

.ek-pagination__extra{
    display:inline-flex;
    align-items:center;
    margin-left:4px;
}

.ek-pagination__extra select{
    margin:0;
    min-width:110px;
    min-height:42px;
}

.page-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.primary-action{
    background:var(--green);
    color:#ffffff;
    border-color:var(--green);
    box-shadow:0 8px 18px rgba(44,122,44,0.18);
}

.advisory-workspace{
    max-width:1280px;
    width:100%;
}

.advisory-hero{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.advisory-hero h1{
    margin:2px 0 8px;
    font-size:38px;
    line-height:1.05;
    color:#172033;
}

.advisory-hero p{
    max-width:760px;
    color:#5d6b82;
    font-size:16px;
    line-height:1.5;
    margin:0;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    color:#2c7a2c;
    font-size:12px;
    font-weight:900;
    letter-spacing:0;
    text-transform:uppercase;
}

.advisory-command-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:18px;
    align-items:stretch;
    margin-bottom:22px;
}

.advisory-command-main,
.advisory-workflow,
.advisory-performance-panel{
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.advisory-command-main{
    padding:20px;
}

.advisory-health-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}

.advisory-health-strip > div{
    min-height:126px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#f8fafc;
    padding:16px;
}

.advisory-health-strip > div:first-child{
    background:#f3fbf4;
    border-color:#c8e6cc;
}

.advisory-health-strip > div:nth-child(2){
    background:#fff8eb;
    border-color:#f4d7a4;
}

.advisory-health-strip > div:nth-child(3){
    background:#eef5ff;
    border-color:#c8daf7;
}

.advisory-health-strip span,
.advisory-mini-kpi span,
.workflow-step small,
.advisory-card-label,
.advisory-card-meta,
.advisory-delivery-head span,
.advisory-metrics span,
.advisory-metrics small{
    color:#667085;
    font-size:12px;
    font-weight:800;
}

.advisory-health-strip strong{
    display:block;
    color:#172033;
    font-size:34px;
    line-height:1;
    margin:12px 0 8px;
}

.advisory-health-strip small{
    color:#53627c;
    font-size:13px;
    line-height:1.35;
}

.advisory-kpi-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.advisory-mini-kpi{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#ffffff;
}

.advisory-mini-kpi strong{
    color:var(--green);
    font-size:24px;
    line-height:1;
}

.advisory-workflow{
    padding:16px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:10px;
}

.advisory-filter-panel,
.advisory-side-panel{
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
    padding:16px;
}

.advisory-filter-form{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.advisory-filter-form input,
.advisory-filter-form select{
    width:100%;
    height:46px;
    border:1px solid #d9e1e7;
    border-radius:12px;
    padding:0 12px;
    margin:0;
    background:#ffffff;
    color:#172033;
    font-size:14px;
}

.advisory-filter-form button{
    min-height:46px;
    border:0;
    border-radius:12px;
    background:var(--green);
    color:#ffffff;
    font-weight:900;
    cursor:pointer;
}

.advisory-filter-form .reset-link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
}

.workflow-step{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fbfcfc;
}

.workflow-step span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:999px;
    background:#eef2f7;
    color:#475467;
    font-size:13px;
    font-weight:900;
    flex:0 0 auto;
}

.workflow-step.active{
    background:#f3fbf4;
    border-color:#c8e6cc;
}

.workflow-step.active span{
    background:var(--green);
    color:#ffffff;
}

.workflow-step strong{
    display:block;
    color:#172033;
    font-size:14px;
    margin-bottom:2px;
}

.advisory-performance-panel{
    padding:22px;
}

.advisory-card-list{
    display:grid;
    gap:14px;
}

.advisory-performance-row{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,0.9fr);
    gap:18px;
    padding:18px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#ffffff;
}

.advisory-performance-row.needs-attention{
    border-color:#efd49b;
    background:linear-gradient(180deg,#ffffff 0%,#fffdf8 100%);
}

.advisory-card-title-row,
.advisory-delivery-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.advisory-chip-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
}

.advisory-card-label{
    margin-bottom:6px;
}

.advisory-card-main h3{
    margin:0;
    color:#172033;
    font-size:20px;
    line-height:1.2;
}

.advisory-card-main p{
    color:#53627c;
    font-size:14px;
    line-height:1.5;
    margin:12px 0 14px;
}

.advisory-card-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.advisory-card-meta span{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:#f8fafc;
}

.advisory-card-performance{
    border-left:1px solid #e2e8f0;
    padding-left:18px;
}

.advisory-delivery-head strong{
    display:block;
    color:#172033;
    font-size:30px;
    line-height:1;
    margin-top:4px;
}

.advisory-delivery-head .view-link{
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:10px !important;
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border-color:var(--ek-primary) !important;
}

.performance-bar.large{
    height:10px;
    margin:14px 0;
}

.advisory-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.advisory-metrics > div{
    min-height:70px;
    padding:10px;
    border-radius:12px;
    background:#f8fafc;
}

.advisory-metrics strong{
    display:block;
    color:#172033;
    font-size:17px;
    line-height:1.2;
    margin-top:6px;
}

.attention-note{
    margin-top:12px;
    padding:10px 12px;
    border-radius:12px;
    background:#fff3cd;
    color:#7a5300;
    font-size:12px;
    font-weight:900;
}

.advisory-empty-state{
    border:1px dashed #c8d2df;
    border-radius:16px;
    background:#fbfcfc;
    padding:28px;
    color:#53627c;
}

.advisory-empty-state strong{
    display:block;
    color:#172033;
    font-size:18px;
    margin-bottom:4px;
}

.advisory-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:18px;
    align-items:start;
    margin-bottom:22px;
}

.advisory-detail-hero{
    margin-bottom:18px;
}

.advisory-message-card{
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#ffffff;
    padding:18px;
    margin-bottom:12px;
}

.advisory-message-card span,
.advisory-info-grid span,
.advisory-record-list span,
.recipient-card small{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:800;
}

.advisory-message-card p{
    color:#172033;
    font-size:18px;
    line-height:1.55;
    margin:8px 0 0;
}

.advisory-info-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.advisory-info-grid > div,
.advisory-record-list > div{
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
    padding:12px;
}

.advisory-info-grid strong,
.advisory-record-list strong{
    display:block;
    color:#172033;
    font-size:14px;
    line-height:1.3;
    margin-top:6px;
}

.advisory-side-panel{
    display:grid;
    gap:14px;
}

.advisory-side-section h2{
    color:#172033;
    font-size:18px;
    margin:0 0 12px;
}

.vertical-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:0;
}

.vertical-actions form,
.vertical-actions button{
    width:100%;
}

.advisory-record-list{
    display:grid;
    gap:10px;
}

.recipient-card-list{
    display:grid;
    gap:12px;
}

.recipient-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    gap:14px;
    align-items:start;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#ffffff;
    padding:16px;
}

.recipient-card h3{
    color:#172033;
    font-size:17px;
    margin:2px 0 8px;
}

.recipient-card p{
    color:#53627c;
    font-size:14px;
    line-height:1.45;
    margin:0;
}

.recipient-card-side{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}

.recipient-card-side .view-link{
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:10px !important;
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border-color:var(--ek-primary) !important;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.content-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start;
}

.detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.detail-grid > div{
    background:#fbfcfc;
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px;
}

.detail-grid > .detail-full{
    grid-column:1 / -1;
}

.detail-grid strong{
    display:block;
    color:var(--text);
    font-size:13px;
    margin-bottom:6px;
}

.detail-grid span{
    color:var(--muted);
    font-size:14px;
}

.field{
    margin-bottom:18px;
}

.form-grid .field{
    margin-bottom:0;
}

.full-field{
    grid-column:1 / -1;
}

.message-row{
    box-shadow:none;
    border:1px solid var(--border);
    margin-bottom:15px;
}

.field label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:800;
    color:#243142;
}

.field input,
.field select,
.field textarea,
.filter-bar input,
.filter-bar select,
.mapping-row select{
    border-radius:12px;
    border:1px solid #d9e1e7;
    margin-bottom:0;
    background:#ffffff;
    font-size:15px;
}

.field input,
.field select,
.filter-bar input,
.filter-bar select,
.mapping-row select{
    height:48px;
    padding:0 14px;
}

.field textarea{
    min-height:110px;
    padding:14px;
}

.form-actions{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:24px;
    flex-wrap:wrap;
}

.form-actions form{
    margin:0;
}

.form-actions button{
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border:1px solid var(--ek-primary) !important;
    box-shadow:0 6px 14px rgba(44,122,44,0.16) !important;
}

.form-actions button.danger-button{
    background:var(--ek-danger-soft) !important;
    color:var(--ek-danger) !important;
    border-color:#ffcdd2 !important;
    box-shadow:none !important;
}

.form-actions a,
.reset-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:10px 16px !important;
    border-radius:var(--ek-radius) !important;
    background:#ffffff !important;
    color:var(--ek-primary) !important;
    border:1px solid #b7dfbd !important;
    font-weight:900 !important;
    text-decoration:none !important;
}

.filter-bar{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr auto auto;
    gap:12px;
    align-items:center;
    margin-bottom:22px;
}

.table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:14px;
}

.page-tabs{
    display:flex;
    gap:10px;
    align-items:center;
    overflow-x:auto;
    margin:0 0 18px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.page-tab{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:9px 14px;
    border:1px solid transparent;
    border-radius:10px;
    background:#f8fafc;
    color:#475467;
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
}

.page-tab.active{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
    box-shadow:0 6px 14px rgba(44,122,44,.14);
}

.page-tab span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    height:24px;
    padding:0 8px;
    border-radius:999px;
    background:#f2f4f7;
    color:#344054;
    font-size:12px;
    line-height:1;
}

.page-tab.active span{
    background:rgba(255,255,255,.2);
    color:#fff;
}

.onboarding-workspace .modern-card{
    border-radius:18px;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.onboarding-hero-section,
.onboarding-section{
    margin-bottom:22px;
}

.section-heading{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin:4px 0 16px;
}

.section-heading h2{
    margin:2px 0 6px;
    color:#172033;
    font-size:28px;
    line-height:1.15;
}

.section-heading p{
    margin:0;
    color:#5d6b82;
    font-size:15px;
    line-height:1.45;
    max-width:820px;
}

.onboarding-workspace .content-grid{
    gap:18px;
}

.onboarding-workspace .table-wrap input,
.onboarding-workspace .table-wrap select{
    min-height:38px;
    border-radius:10px;
    background:#ffffff;
}

.onboarding-workspace .table-wrap td{
    padding:12px;
}

.onboarding-workspace .table-wrap .inline-admin-form button{
    min-height:36px;
    padding:8px 10px;
    border-radius:10px;
    white-space:nowrap;
}

.onboarding-workspace .filter-bar{
    grid-template-columns:minmax(160px,1.2fr) minmax(140px,1fr) minmax(160px,1fr) minmax(180px,1.2fr) auto;
}

.onboarding-row-actions{
    min-width:250px;
}

.onboarding-row-actions .inline-admin-form{
    margin:0 6px 6px 0;
}

.onboarding-row-actions .inline-admin-form button{
    min-width:auto;
    width:auto;
}

.table-wrap table{
    margin-bottom:0;
}

.table-wrap th{
    background:#f8fafc;
    font-weight:900;
    white-space:nowrap;
}

.table-wrap td{
    vertical-align:middle;
}

.performance-cell{
    min-width:230px;
}

.performance-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.performance-topline strong{
    color:var(--text);
    font-size:13px;
}

.performance-topline span{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}

.performance-bar{
    width:100%;
    height:9px;
    border-radius:999px;
    overflow:hidden;
    background:#edf1f3;
}

.performance-bar span{
    display:block;
    height:100%;
    min-width:2px;
    border-radius:999px;
    background:var(--green);
}

.performance-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:9px;
}

.performance-meta span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 8px;
    border-radius:999px;
    background:#f8fafc;
    color:#475467;
    font-size:11px;
    font-weight:800;
}

.performance-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.performance-summary{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fbfcfc;
    padding:16px;
}

.performance-summary span,
.performance-summary small{
    display:block;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}

.performance-summary strong{
    display:block;
    color:var(--text);
    font-size:28px;
    line-height:1.1;
    margin:8px 0 10px;
}

.performance-summary.warning .performance-bar span{
    background:#d97706;
}

.performance-summary.danger .performance-bar span{
    background:#b42318;
}

.performance-summary.response .performance-bar span{
    background:#2563eb;
}

.performance-summary small{
    margin-top:9px;
    line-height:1.35;
}

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.badge.suspended,
.warning-badge{
    background:#fff3cd;
    color:#9a6700;
}

.badge.archived,
.muted-badge{
    background:#f2f4f7;
    color:#475467;
}

.success-badge{
    background:#e8f5e9;
    color:#1b5e20;
}

.danger-badge{
    background:#ffebee;
    color:#b71c1c;
}

.inline-admin-form{
    display:grid;
    grid-template-columns:minmax(130px,160px) minmax(180px,1fr) auto;
    gap:10px;
    align-items:center;
    min-width:520px;
}

.inline-admin-form input,
.inline-admin-form select,
.inline-admin-form button{
    margin-bottom:0;
}

.table-wrap .inline-admin-form{
    display:inline-flex;
    grid-template-columns:none;
    min-width:0;
    margin:0 6px 6px 0;
}

.table-wrap input,
.table-wrap select{
    min-width:130px;
}

.actions{
    white-space:normal;
}

.actions a,
.action-button{
    margin-right:0 !important;
}

.actions .view-link{
    background:var(--ek-primary) !important;
    color:#ffffff !important;
    border-color:var(--ek-primary) !important;
    box-shadow:0 6px 14px rgba(44,122,44,0.16) !important;
}

.actions .delete,
.action-button.delete{
    background:var(--ek-danger-soft) !important;
    color:var(--ek-danger) !important;
    border-color:#ffcdd2 !important;
}

.upload-dropzone{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:210px;
    border:2px dashed #b7dfbd;
    border-radius:20px;
    background:linear-gradient(180deg,#fbfffb,#f4fbf5);
    cursor:pointer;
    text-align:center;
    padding:28px;
    transition:0.2s;
}

.upload-dropzone:hover{
    border-color:var(--green);
    background:#f2fbf3;
}

.upload-icon{
    width:70px;
    height:70px;
    border-radius:22px;
    background:var(--green);
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:38px;
    font-weight:900;
    margin-bottom:16px;
}

.upload-title{
    font-size:20px;
    font-weight:900;
    margin-bottom:6px;
}

.upload-note{
    color:var(--muted);
    font-size:14px;
}

.upload-dropzone input{
    display:none;
}

.mapping-card{
    border-left:5px solid var(--green);
}

.mapping-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}

.mapping-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:center;
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fbfcfc;
}

.mapping-row span{
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-top:4px;
}

@media(max-width:1100px){
    .mode-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .filter-bar{
        grid-template-columns:1fr 1fr;
    }

    .advisory-command-grid,
    .advisory-performance-row,
    .advisory-detail-grid{
        grid-template-columns:1fr;
    }

    .advisory-card-performance{
        border-left:0;
        border-top:1px solid #e2e8f0;
        padding-left:0;
        padding-top:16px;
    }
}

@media(max-width:900px){
    .page-top,
    .profile-actions-top{
        flex-direction:column;
    }

    .mode-grid,
    .form-grid,
    .content-grid,
    .detail-grid,
    .filter-bar,
    .mapping-row,
    .inline-admin-form{
        grid-template-columns:1fr;
    }

    .top-link,
    .back-link,
    .page-actions{
        width:100%;
        text-align:center;
    }

    .page-actions{
        justify-content:stretch;
    }

    .advisory-hero,
    .card-heading,
    .advisory-card-title-row,
    .advisory-delivery-head{
        flex-direction:column;
    }

    .advisory-health-strip,
    .advisory-kpi-row,
    .advisory-metrics,
    .advisory-info-grid,
    .recipient-card{
        grid-template-columns:1fr;
    }

    .advisory-performance-panel,
    .advisory-performance-row{
        padding:16px;
    }

    .performance-summary-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   eKilimo sidebar menu final fix
   Purpose: make parent submenu items visually identical to normal links,
   remove unwanted card/shadow styling, and align the down arrow.
   Keep this block at the very bottom of assets/css/style.css.
========================================================= */

.app-sidebar,
.app-sidebar *{
    box-sizing:border-box;
}

.app-sidebar .sidebar-nav{
    gap:0 !important;
}

.app-sidebar .sidebar-group{
    display:block !important;
    margin:0 0 6px 0 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.app-sidebar .sidebar-link,
.app-sidebar button.sidebar-link,
.app-sidebar .sidebar-group-title,
.app-sidebar .sidebar-sublink,
.app-sidebar .sidebar-profile a,
.app-sidebar .logout-link{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 0 6px 0 !important;
    border:0 !important;
    border-radius:10px !important;
    box-shadow:none !important;
    outline:none !important;
    background:transparent !important;
    color:var(--text) !important;
    text-decoration:none !important;
    text-align:left !important;
    font-family:Arial, sans-serif !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:normal !important;
    cursor:pointer !important;
    transform:none !important;
}

.app-sidebar .sidebar-link,
.app-sidebar button.sidebar-link,
.app-sidebar .sidebar-group-title{
    justify-content:flex-start !important;
    padding:12px 14px !important;
}

.app-sidebar button.sidebar-link,
.app-sidebar .sidebar-group-title{
    gap:8px !important;
}

.app-sidebar .sidebar-group-title .submenu-chevron{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-left:6px !important;
    width:14px !important;
    height:14px !important;
    font-size:14px !important;
    line-height:14px !important;
    font-weight:900 !important;
    opacity:1 !important;
    position:relative !important;
    top:1px !important;
    flex:0 0 auto !important;
}

.app-sidebar .sidebar-sublink{
    justify-content:flex-start !important;
    min-height:38px !important;
    padding:9px 14px 9px 30px !important;
    font-size:14px !important;
    font-weight:650 !important;
    color:var(--muted) !important;
}

.app-sidebar .sidebar-link:hover,
.app-sidebar button.sidebar-link:hover,
.app-sidebar .sidebar-group-title:hover,
.app-sidebar .sidebar-sublink:hover,
.app-sidebar .sidebar-profile a:hover{
    background:var(--green-light) !important;
    color:var(--green) !important;
    box-shadow:none !important;
    transform:none !important;
}

.app-sidebar .sidebar-link.active,
.app-sidebar button.sidebar-link.active,
.app-sidebar .sidebar-group-title.active,
.app-sidebar .sidebar-sublink.active{
    background:var(--green) !important;
    color:#ffffff !important;
    box-shadow:none !important;
    transform:none !important;
}

.app-sidebar .sidebar-link.active .submenu-chevron,
.app-sidebar button.sidebar-link.active .submenu-chevron,
.app-sidebar .sidebar-group-title.active .submenu-chevron{
    color:#ffffff !important;
}

.app-sidebar .sidebar-submenu{
    margin:0 0 8px 0 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.app-sidebar .sidebar-submenu.submenu-closed{
    display:none !important;
}

.app-sidebar .sidebar-submenu.submenu-open{
    display:flex !important;
    flex-direction:column !important;
}

.app-sidebar .sidebar-profile{
    background:#ffffff !important;
    box-shadow:none !important;
}

.app-sidebar .sidebar-profile .sidebar-group{
    margin-bottom:6px !important;
}

.app-sidebar .logout-link{
    color:#b00020 !important;
    border-top:1px solid var(--border) !important;
    border-radius:0 !important;
    padding-top:14px !important;
}

.app-sidebar .logout-link:hover{
    background:transparent !important;
    color:#b00020 !important;
}
