/* EDMS screenshot-matched global design system. Loaded after all legacy styles. */
:root {
    --edms-primary: #175A50;
    --edms-primary-dark: #114C43;
    --edms-accent: #C1FE75;
    --edms-blue: #165DFC;
    --edms-ink: #0A0A0A;
    --edms-muted: #717182;
    --edms-bg: #F5F6F8;
    --edms-subtle: #F4F4F6;
    --edms-line: #E5E5E5;
    --edms-white: #FFFFFF;
    --edms-success-bg: #ECFED7;
    --edms-warning-bg: #FFF3C6;
    --edms-danger: #D4183D;
    --edms-danger-bg: #FCE9EC;
    --edms-info-bg: #DBEAFF;
    --edms-purple-bg: #F3E7FF;
    --edms-radius-sm: 8px;
    --edms-radius-md: 12px;
    --edms-radius-lg: 16px;
    --edms-radius-pill: 999px;
    --edms-shadow-card: 0 1px 2px rgba(10,10,10,.08), 0 2px 4px rgba(10,10,10,.06);
    --edms-shadow-elevated: 0 8px 24px rgba(10,10,10,.12);
    --sidebar-w: 256px;
    --font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--edms-bg); }
body {
    margin: 0;
    background: var(--edms-bg);
    color: var(--edms-ink);
    font-family: var(--font);
    font-size: 14px;
    line-height: 1.45;
}
body:before { display: none; }
body > .container-fluid,
body > .container-fluid > .row,
body > .container-fluid > .row > .container-fluid {
    margin: 0;
    padding: 0;
}
a { color: var(--edms-primary); }
a:hover, a:focus { color: var(--edms-primary-dark); }
h1, h2, h3, h4, h5, .dash-title, .title-style, .details_title {
    color: var(--edms-ink);
    font-family: var(--font);
    letter-spacing: -.015em;
}

/* Shell */
.side-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-w);
    overflow-y: auto;
    background: var(--edms-white);
    border-right: 1px solid var(--edms-line);
    box-shadow: none;
    z-index: 40;
}
.side-menu .navbar {
    min-height: 100%;
    margin: 0;
    width: var(--sidebar-w);
    background: transparent;
    border: 0;
}
.side-menu .navbar-header {
    float: none;
    margin: 0;
    padding: 32px 34px 20px;
    border: 0;
}
.side-menu .brand-wrapper,
.side-menu .brand-name-wrapper { padding: 0; }
.side-menu .navbar-brand {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
}
.brand-wrapper{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.side-menu .lg-box {
    display: block;
    width: 100px;
    max-width: 100%;
    height: auto;
}
.side-menu .brand-wrapper hr,
.side-menu .bg-wrapp { display: none; }
.side-menu .navbar-nav {
    float: none;
    width: 100%;
    margin: 0 !important;
    padding: 4px 16px 28px;
}
.side-menu .navbar-nav li {
    float: none;
    width: 100%;
    margin: 2px 0;
    border-bottom: 0;
}
.side-menu .navbar-nav li a,
.side-menu .nav-group-items li a {
    display: flex;
    align-items: center;
    min-height: 40px;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    color: var(--edms-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}
.side-menu .navbar-nav li a img {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    opacity: .65;
    filter: none;
}
.side-menu .navbar-nav li a > .fa {
    width: 18px;
    flex: 0 0 18px;
    color: var(--edms-muted);
    font-size: 16px;
    text-align: center;
}
.side-menu .navbar-nav li a:hover,
.side-menu .navbar-nav li a:focus {
    background: var(--edms-subtle);
    color: var(--edms-ink);
}
.side-menu .navbar-nav li a.active,
.side-menu .navbar-nav .active a,
.side-menu .navbar-nav li.active a {
    background: var(--edms-primary);
    color: var(--edms-white);
    box-shadow: var(--edms-shadow-card);
    font-weight: 600;
}
.side-menu .navbar-nav li a.active img,
.side-menu .navbar-nav .active a img {
    opacity: 1;
    filter: invert(88%) sepia(82%) saturate(643%) hue-rotate(34deg) brightness(106%);
}
.side-menu .navbar-nav li a.active > .fa,
.side-menu .navbar-nav .active a > .fa { color: var(--edms-accent); }
.side-menu .nav-group-toggle {
    min-height: 26px !important;
    margin-top: 16px;
    padding: 4px 12px !important;
    pointer-events: none;
    color: var(--edms-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .03em;
    text-transform: uppercase;
    background: transparent !important;
    border-radius: 0 !important;
}
.side-menu .side-nav:before {
    content: "Dashboard";
    position: absolute;
    top: -26px;
    left: 28px;
    color: var(--edms-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.side-menu .side-nav { position: relative; }
.side-menu .nav-group-toggle img,
.side-menu .nav-caret { display: none; }
.side-menu .nav-group-items,
.side-menu .nav-group.open > .nav-group-items {
    display: block;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}
.side-menu .nav-group-items li a { padding-left: 14px; font-size: 14px; }
.side-menu .navbar-toggle { display: none; }

.blue-bgx {
    position: sticky;
    top: 0;
    margin-left: var(--sidebar-w);
    background: var(--edms-white);
    border: 0 !important;
    border-bottom: 1px solid var(--edms-line) !important;
    box-shadow: none;
    z-index: 30;
}
.app-topbar .header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    gap: 24px;
    padding: 12px 16px 11px 22px;
}
.app-topbar .header-container:before,
.app-topbar .header-container:after { display: none; }
.my-topnav.navbar,
.app-topbar .header-container { min-height: 63px; }
.my-topnav.navbar {
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.topbar-search {
    display: flex;
    align-items: center;
    width: min(288px, 40vw);
    height: 40px;
    gap: 10px;
    padding: 0 16px;
    color: var(--edms-muted);
    background: var(--edms-subtle);
    border-radius: var(--edms-radius-pill);
}
.topbar-search i { font-size: 16px; }
.topbar-search input {
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--edms-ink);
    font: inherit;
}
.topbar-search input::placeholder { color: var(--edms-muted); }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.topbar-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    color: var(--edms-muted);
    background: transparent;
    border: 0;
    border-radius: 50%;
    font-size: 20px;
}
.topbar-icon:hover, .topbar-icon:focus { background: var(--edms-subtle); color: var(--edms-primary); }
.topbar-notification-dot {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 5px;
    height: 5px;
    background: var(--edms-danger);
    border-radius: 50%;
}
.topbar-user { display: flex; align-items: center; gap: 10px; }
.topbar-user-copy { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.topbar-user-copy strong { color: var(--edms-ink); font-size: 13px; }
.topbar-user-copy small { color: var(--edms-muted); font-size: 12px; }
.topbar-avatar, .topbar-avatar img {
    display: block;
    width: 38px;
    height: 38px;
    border-radius: 50%;
}
.topbar-avatar { padding: 0; background: transparent; border: 0; }
.topbar-avatar img { object-fit: cover; border: 1px solid var(--edms-line); }
.topbar-account-menu {
    min-width: 170px;
    padding: 6px;
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
    box-shadow: var(--edms-shadow-elevated);
}
.topbar-account-menu > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: var(--edms-radius-sm);
    color: var(--edms-ink);
}
.topbar-account-menu > li > a:hover { background: var(--edms-subtle); color: var(--edms-primary); }
.online-users-toggle { min-height: 36px; }
.online-users-menu {
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
    box-shadow: var(--edms-shadow-elevated);
}

.side-body {
    min-height: calc(100vh - 64px);
    margin-left: var(--sidebar-w);
    padding: 40px 32px 64px;
    background: var(--edms-bg);
}
.side-body > .container-fluid { padding: 0; }
.side-body > hr:first-child,
.side-body > hr:last-of-type { display: none; }
.side-body > .container-fluid:last-of-type { margin-top: 24px; }
.app-footer {
    display: flex;
    margin-left: var(--sidebar-w);
    padding: 18px 32px 32px;
    color: var(--edms-muted);
    background: var(--edms-bg);
    border: 0;
}
.app-footer a { color: var(--edms-primary); font-weight: 600; }
.edms-page-reporters .app-footer,
.edms-page-profile .app-footer {
    position: fixed;
    right: 0;
    bottom: 0;
}

/* Type */
.dash-title { font-size: 28px; line-height: 36px; font-weight: 700; }
.title-style {
    margin: 0;
    color: var(--edms-ink);
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
}
.side-body .col-sm-12 > .title-style:first-child { margin-bottom: 16px; }
.side-body .col-sm-12 > hr { margin: 0 0 20px; border-color: var(--edms-line); }
.box-title, .stat-label { color: var(--edms-muted); }
label { color: var(--edms-ink); font-size: 12px; line-height: 16px; font-weight: 600; }

/* Dashboard */
.dashboard-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 132px;
    margin: 0 0 24px;
    padding: 32px;
    overflow: hidden;
    background: var(--edms-primary);
    border: 0;
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.dashboard-hero:before {
    content: "";
    position: absolute;
    inset: auto 180px auto auto;
    right: 180px;
    width: 150px;
    height: 150px;
    background: rgba(193,254,117,.18);
    border-radius: 45% 55% 55% 45%;
    transform: rotate(-14deg);
}
.dashboard-hero .dash-title {
    margin: 0 0 12px;
    color: var(--edms-white);
    font-size: 28px;
    line-height: 36px;
}
.dashboard-subtitle { margin: 0; color: rgba(255,255,255,.82); font-size: 14px; line-height: 20px; }
.dashboard-hero-actions { display: flex; align-items: center; gap: 12px; z-index: 1; }
.btn-hero-secondary {
    color: var(--edms-white) !important;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
}
.btn-hero-accent {
    color: var(--edms-primary) !important;
    background: var(--edms-accent);
    border: 1px solid var(--edms-accent);
}
.dashboard-hero-actions .fa { margin-right: 6px; }
.dashboard-hero .btn-hero-secondary {
    color: var(--edms-white) !important;
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.28) !important;
}
.dashboard-hero .btn-hero-accent {
    color: var(--edms-primary) !important;
    background: var(--edms-accent) !important;
    border-color: var(--edms-accent) !important;
}
.dashboard-metrics-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 24px;
}
.dashboard-metric-card {
    display: flex;
    min-height: 172px;
    padding: 24px;
    flex-direction: column;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.dashboard-metric-top { margin-bottom: 16px; }
.dashboard-metric-top { justify-content: space-between; }
.dashboard-metric-label { color: var(--edms-muted); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.dashboard-metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    color: var(--edms-blue);
    background: var(--edms-info-bg);
    border-radius: 14px;
    font-size: 22px;
}
.dashboard-metric-green .dashboard-metric-icon { color: var(--edms-primary); background: var(--edms-success-bg); }
.dashboard-metric-purple .dashboard-metric-icon { color: #6D00D8; background: var(--edms-purple-bg); }
.dashboard-metric-amber .dashboard-metric-icon { color: #B45309; background: var(--edms-warning-bg); }
.dashboard-metric-red .dashboard-metric-icon { color: var(--edms-danger); background: var(--edms-danger-bg); }
.dashboard-metric-value { color: var(--edms-ink); font-size: 28px; line-height: 36px; font-weight: 700; }
.dashboard-metric-meta { margin: auto 0 0; color: var(--edms-muted); font-size: 12px; line-height: 18px; }
.edms-page-dashboard .side-body { padding-top: 32px; }
.dashboard-section-grid { display: grid; gap: 24px; }
.dashboard-data-panel {
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.dashboard-panel-head { padding: 24px; border-bottom: 1px solid var(--edms-line); }
.dashboard-eyebrow { display: none; }

/* Shared surfaces and controls */
.panel, .add-style, .brd-st, .create-style, .shadow, .summary, .shadow-lg,
.dataTables_wrapper, .side-body .col-sm-12 > form, .side-body .col-sm-8 > form,
.side-body .col-sm-6 > form, .side-body .col-sm-4 > form {
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.add-style, .brd-st, .shadow, .summary, .shadow-lg { padding: 24px; }
.create-style {
    min-height: 0;
    margin: 0 0 16px;
    padding: 0;
    justify-content: flex-end;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.create-style p { margin: 0; }
.create-style .btn-create:before,
.my-nav .btn-create:before {
    content: "+";
    margin-right: 6px;
    font-size: 15px;
    line-height: 1;
}
.btn, .btn-create {
    min-height: 40px;
    padding: 9px 16px;
    color: var(--edms-ink);
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-sm);
    box-shadow: none;
    font-family: var(--font);
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}
.btn-add, .btn-create, .btn-primary {
    color: var(--edms-white) !important;
    background: var(--edms-primary);
    background-image: none;
    border-color: var(--edms-primary);
}
.btn-add:hover, .btn-create:hover, .btn-primary:hover,
.btn-add:focus, .btn-create:focus, .btn-primary:focus {
    color: var(--edms-white) !important;
    background: var(--edms-primary-dark);
    border-color: var(--edms-primary-dark);
}
.btn-default:hover, .btn-default:focus { background: var(--edms-subtle); border-color: var(--edms-line); }
.btn-xs { min-height: 30px; padding: 4px 9px; font-size: 12px; }
.my-nav.navbar {
    margin-bottom: 16px;
    background: var(--edms-white) !important;
    border: 1px solid var(--edms-line) !important;
    border-radius: var(--edms-radius-lg) !important;
    box-shadow: var(--edms-shadow-card);
}
.my-nav .container-fluid { min-height: 56px; padding: 8px 12px; }
.my-nav .navbar-nav > li > a { border-radius: var(--edms-radius-sm); color: var(--edms-muted); }
.my-nav .navbar-nav > li > a:hover, .my-nav .navbar-nav > li.active > a { color: var(--edms-primary); background: var(--edms-success-bg) !important; }
.form-control, .form-custom, select.form-control, textarea.form-control,
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select {
    min-height: 40px;
    padding: 9px 12px;
    color: var(--edms-ink);
    background: var(--edms-subtle);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-sm);
    box-shadow: none;
    font-size: 14px;
}
.form-control:focus, .form-custom:focus {
    background: var(--edms-white);
    border-color: var(--edms-primary);
    box-shadow: 0 0 0 3px rgba(23,90,80,.14);
}
textarea.form-control { min-height: 96px; }

/* Tables */
.dataTables_wrapper { margin-bottom: 24px; padding: 16px; }
.ig-table-toolbar { padding: 0 0 16px; border-color: var(--edms-line); }
.ig-table-footer { padding: 16px 0 0; border-color: var(--edms-line); }
.ig-table-shell {
    overflow-x: auto;
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
}
.side-body .table, .mytable {
    margin: 0;
    background: var(--edms-white);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.mytable thead th, .side-body .table > thead > tr > th {
    padding: 14px 16px;
    color: var(--edms-muted);
    background: var(--edms-subtle);
    border-bottom: 1px solid var(--edms-line);
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}
.mytable tbody td, .side-body .table > tbody > tr > td {
    padding: 16px;
    color: var(--edms-ink);
    border-top: 1px solid var(--edms-line);
    font-size: 14px;
    line-height: 20px;
}
.table-striped > tbody > tr:nth-of-type(odd) { background: var(--edms-white); }
.mytable tbody tr:hover, .side-body .table-hover > tbody > tr:hover { background: #FBFBFC; }
.status-green { color: var(--edms-primary); background: var(--edms-success-bg); }
.status-yellow { color: #973C00; background: var(--edms-warning-bg); }
.status-red { color: var(--edms-danger); background: var(--edms-danger-bg); }
.status-grey { color: var(--edms-muted); background: var(--edms-subtle); }

/* Login */
body.login-page {
    min-height: 100vh;
    padding: 24px;
    background:
        radial-gradient(circle at 92% 92%, rgba(193,254,117,.25), transparent 28%),
        radial-gradient(circle at 4% 4%, rgba(23,90,80,.12), transparent 24%),
        var(--edms-bg);
}
body.login-page:before { display: none; }
.login-shell {
    display: block;
    width: min(448px, 100%);
    overflow: visible;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-elevated);
}
.login-brand-panel { display: none; }
.login-form { padding: 36px 32px 32px; }
.login-logo { display: block; width: 128px; max-width: 100%; margin: 0 auto 30px; }
.login-form h2 { margin: 0 0 8px; text-align: center; color: var(--edms-ink); font-size: 24px; line-height: 32px; }
.login-intro { margin: 0 0 34px; color: var(--edms-muted); text-align: center; font-size: 14px; }
.login-form .form-group { margin-bottom: 18px; }
.login-form label:not(.checkbox-inline) { margin-bottom: 8px; color: var(--edms-ink); font-size: 13px; }
.login-input-group { width: 100%; }
.login-input-group .input-group-addon {
    width: 42px;
    color: var(--edms-muted);
    background: var(--edms-subtle);
    border-color: var(--edms-line);
    border-right: 0;
    border-radius: 12px 0 0 12px;
    font-size: 18px;
}
.login-input-group .form-control {
    min-height: 44px;
    border-left: 0;
    border-radius: 0 12px 12px 0;
}
.login-form .checkbox-inline, .login-form a { color: var(--edms-primary) !important; font-size: 13px; }
.login-form .checkbox-inline { color: var(--edms-muted) !important; }
.login-submit { margin: 28px 0 0 !important; }
.login-submit .btn { min-height: 45px; border-radius: 12px; font-size: 16px; }
.login-submit .fa { margin-right: 7px; font-size: 18px; }
.login-form p.text-center { display: none; }

/* Legacy profile */
.profile_box img { width: 104px; height: 104px; object-fit: cover; border-radius: 50%; border: 1px solid var(--edms-line); }
.rmv-h { color: var(--edms-ink); font-size: 20px; font-weight: 700; }
.rmv-marge, .col-st { color: var(--edms-muted); }

/* Full-system patterns */
.side-body > .container-fluid > .row,
.side-body .container-fluid > .row {
    margin-left: -8px;
    margin-right: -8px;
}
.side-body .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}
.side-body .edms-page-heading {
    display: block;
    margin-bottom: 16px;
}
.side-body .edms-page-heading-with-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.side-body .edms-page-heading-with-actions > hr { display: none; }
.side-body .edms-page-heading-with-actions .create-style { margin: 0; }
.side-body .edms-page-heading.add-style {
    min-height: 72px;
    padding: 20px 24px;
}
.edms-page-title { text-transform: none !important; }
.edms-section-title { margin: 24px 0 12px; font-size: 16px; line-height: 24px; }
.edms-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.edms-form {
    margin-bottom: 24px !important;
    padding: 24px !important;
}
.edms-form > .row:last-child,
.edms-form > .form-group:last-child { margin-bottom: 0; }
.edms-control { max-width: 100%; }
.help-block, .form-text, small.text-muted {
    color: var(--edms-muted);
    font-size: 12px;
    line-height: 18px;
}
.input-group-addon {
    color: var(--edms-muted);
    background: var(--edms-subtle);
    border-color: var(--edms-line);
}
.well {
    background: var(--edms-bg);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
    box-shadow: none;
}
.alert {
    padding: 12px 16px;
    border: 1px solid transparent;
    border-radius: var(--edms-radius-md);
    font-size: 13px;
}
.alert-success { color: var(--edms-primary); background: var(--edms-success-bg); border-color: #D5F7AD; }
.alert-warning { color: #894B00; background: #FEFCE8; border-color: #FEF085; }
.alert-danger, .bg-danger { color: var(--edms-danger); background: var(--edms-danger-bg); border-color: #F8C8D1; }
.panel-heading {
    padding: 16px 20px;
    color: var(--edms-ink);
    background: var(--edms-white);
    border-color: var(--edms-line);
    font-weight: 700;
}
.panel-body { padding: 20px; }
.pagination > li > a, .pagination > li > span {
    min-width: 34px;
    margin: 0 2px;
    color: var(--edms-primary);
    background: var(--edms-white);
    border-color: var(--edms-line);
    border-radius: var(--edms-radius-sm) !important;
}
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover {
    color: var(--edms-white);
    background: var(--edms-primary);
    border-color: var(--edms-primary);
}
.edms-empty-row td {
    padding: 48px 20px !important;
    color: var(--edms-muted) !important;
    text-align: center;
}

/* Screenshot-mapped page families */
.edms-page-activities .side-body,
.edms-page-events .side-body,
.edms-page-story-idea .side-body,
.edms-page-tasks .side-body,
.edms-page-articles .side-body,
.edms-page-social-media .side-body,
.edms-page-talk-shows .side-body,
.edms-page-youtube .side-body,
.edms-page-multilingual .side-body,
.edms-page-correspondents .side-body,
.edms-page-risks .side-body,
.edms-page-report .side-body,
.edms-page-daily-kpis .side-body,
.edms-page-leave-requests .side-body,
.edms-page-attendance .side-body,
.edms-page-reporters .side-body,
.edms-page-profile .side-body {
    padding-top: 16px;
}
.edms-page-activities .dataTables_wrapper,
.edms-page-events .dataTables_wrapper,
.edms-page-story-idea .dataTables_wrapper,
.edms-page-tasks .dataTables_wrapper,
.edms-page-articles .dataTables_wrapper,
.edms-page-social-media .dataTables_wrapper,
.edms-page-talk-shows .dataTables_wrapper,
.edms-page-youtube .dataTables_wrapper,
.edms-page-multilingual .dataTables_wrapper,
.edms-page-correspondents .dataTables_wrapper,
.edms-page-risks .dataTables_wrapper,
.edms-page-reporters .dataTables_wrapper {
    padding: 16px;
    border-radius: 8px;
    box-shadow: var(--edms-shadow-card);
}
.edms-page-talk-shows .edms-form,
.edms-page-social-media .edms-form,
.edms-page-multilingual .edms-form,
.edms-page-correspondents .edms-form,
.edms-page-risks .edms-form {
    margin-bottom: 16px !important;
    padding: 20px !important;
    border-radius: 8px;
}
.edms-page-youtube .edms-empty-row td,
.edms-page-reporters .edms-empty-row td {
    padding: 56px 20px !important;
}
.edms-page-articles .my-nav.navbar {
    min-height: 58px;
    border-radius: 8px !important;
}
.edms-page-profile .add-style { display: none; }
.edms-page-profile .side-body > .row {
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: 8px;
    box-shadow: var(--edms-shadow-card);
}
.edms-page-profile .side-body > .row:before {
    content: "";
    display: block;
    height: 118px;
    margin: 0 -8px 24px;
    background: #E9EEEE;
}
.edms-page-profile .profile_box { margin-top: -72px; }
.edms-page-profile .profile_box img {
    width: 96px;
    height: 96px;
    border: 4px solid var(--edms-white);
}
.edms-page-profile .side-body > .row > .col-sm-6,
.edms-page-profile .side-body > .row > .col-sm-12 {
    padding: 0 28px 24px;
}
.edms-key-value-table {
    width: 100%;
    overflow: hidden;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
    border-collapse: separate;
    border-spacing: 0;
}
.edms-key-value-table td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--edms-line);
}
.edms-key-value-table tr:last-child td { border-bottom: 0; }
.edms-key-value-table td:first-child { color: var(--edms-muted); font-weight: 600; }

/* Workforce and tracker workflows */
.workforce-filters, .workforce-card, .leave-card, .auto-kpi-toolbar, .auto-kpi-panel, .auto-kpi-stats {
    background: var(--edms-white) !important;
    border: 1px solid var(--edms-line) !important;
    border-radius: var(--edms-radius-lg) !important;
    box-shadow: var(--edms-shadow-card) !important;
}
.workforce-filters, .workforce-card, .leave-card, .auto-kpi-toolbar, .auto-kpi-panel { padding: 20px !important; }
.workforce-stats, .auto-kpi-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.workforce-stat, .auto-kpi-stat {
    padding: 20px !important;
    background: var(--edms-white) !important;
    border: 1px solid var(--edms-line) !important;
    border-radius: var(--edms-radius-lg) !important;
}
.workforce-stat span, .auto-kpi-stat span { color: var(--edms-muted) !important; }
.workforce-stat strong, .auto-kpi-stat strong { color: var(--edms-ink) !important; }
.leave-shell, .workforce-report { color: var(--edms-ink) !important; }
.leave-hero {
    padding: 24px !important;
    background: var(--edms-primary) !important;
    border-radius: var(--edms-radius-lg) !important;
    color: var(--edms-white) !important;
}
.leave-name, .present-user {
    background: var(--edms-subtle) !important;
    border: 1px solid var(--edms-line) !important;
    border-radius: var(--edms-radius-sm) !important;
}
.leave-period label {
    color: var(--edms-muted) !important;
    background: var(--edms-white) !important;
    border: 1px solid var(--edms-line) !important;
    border-radius: var(--edms-radius-sm) !important;
}
.leave-period input:checked + label {
    color: var(--edms-white) !important;
    background: var(--edms-primary) !important;
    border-color: var(--edms-primary) !important;
}
.leave-status, .auto-kpi-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px !important;
    border-radius: var(--edms-radius-pill) !important;
    font-weight: 600 !important;
}
.leave-status--approved, .auto-kpi-status--met { color: var(--edms-primary) !important; background: var(--edms-success-bg) !important; }
.leave-status--pending { color: #973C00 !important; background: var(--edms-warning-bg) !important; }
.leave-status--rejected, .auto-kpi-status--missed { color: var(--edms-danger) !important; background: var(--edms-danger-bg) !important; }
.risk-strip { background: #FEFCE8 !important; border-color: #FEF085 !important; }
.risk-chip { border-radius: var(--edms-radius-sm) !important; }

/* Tracker and data-entry pages */
.edms-page-talk-shows .side-body form,
.edms-page-multilingual .side-body form,
.edms-page-correspondents .side-body form,
.edms-page-risks .side-body form,
.edms-page-social-media .side-body form,
.edms-page-social-followers .side-body form,
.edms-page-kpi-targets .side-body form {
    display: block;
    width: 100%;
}
.edms-page-talk-shows .side-body form > .row,
.edms-page-multilingual .side-body form > .row,
.edms-page-correspondents .side-body form > .row,
.edms-page-risks .side-body form > .row,
.edms-page-social-media .side-body form > .row {
    display: flex;
    flex-wrap: wrap;
}

/* Authentication and account pages */
.edms-page-profile .side-body > .row,
.edms-page-profile-pic .side-body > .row {
    max-width: 980px;
    margin: 0 auto;
}
.edms-page-profile .info-content table {
    width: 100%;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-md);
}
.edms-page-profile .info-content td { padding: 10px 12px; border-bottom: 1px solid var(--edms-line); }
.edms-page-profile .info-content tr:last-child td { border-bottom: 0; }
.edms-page-add-user .side-body form,
.edms-page-edit-user .side-body form,
.edms-page-add-activity .side-body form,
.edms-page-edit-activity .side-body form,
.edms-page-add-event .side-body form,
.edms-page-edit-event .side-body form,
.edms-page-add-project .side-body form,
.edms-page-add-story-idea .side-body form,
.edms-page-add-article .side-body form,
.edms-page-updatearticle .side-body form {
    max-width: 1120px;
}

/* Report pages define local legacy colors; normalize them to the approved system. */
.monthly-report {
    --report-ink: var(--edms-ink) !important;
    --report-muted: var(--edms-muted) !important;
    --report-line: var(--edms-line) !important;
    --report-soft: var(--edms-bg) !important;
    --report-navy: var(--edms-primary-dark) !important;
    --report-blue: var(--edms-blue) !important;
    --report-cyan: var(--edms-primary) !important;
    --report-green: var(--edms-primary) !important;
    --report-amber: #973C00 !important;
    --report-red: var(--edms-danger) !important;
}
.monthly-report .report-hero {
    background: linear-gradient(135deg, var(--edms-primary-dark), var(--edms-primary)) !important;
    border-radius: var(--edms-radius-lg) !important;
    box-shadow: var(--edms-shadow-card) !important;
}
.monthly-report .report-command, .monthly-report .report-panel,
.monthly-report .report-metric, .monthly-report .report-group {
    border-color: var(--edms-line) !important;
    border-radius: var(--edms-radius-lg) !important;
    box-shadow: var(--edms-shadow-card) !important;
}

/* Coverage calendar */
.edms-page-events .edms-page-heading-with-actions {
    margin-bottom: 24px;
}
.edms-page-events .edms-page-heading-with-actions .title-style {
    margin-bottom: 0;
}
.coverage-calendar-shell {
    padding: 0;
    overflow: hidden;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.coverage-calendar-shell #calendar {
    width: 100%;
    padding: 24px;
}
.coverage-calendar-shell .fc-toolbar {
    min-height: 54px;
    margin: 0 0 24px;
}
.coverage-calendar-shell .fc-toolbar h2 {
    margin: 7px 0 0;
    color: var(--edms-ink);
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
}
.coverage-calendar-shell .fc-button {
    height: 30px;
    padding: 0 14px;
    color: var(--edms-ink);
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: 4px;
    box-shadow: none;
    text-shadow: none;
    text-transform: capitalize;
}
.coverage-calendar-shell .fc-button:hover,
.coverage-calendar-shell .fc-button:focus,
.coverage-calendar-shell .fc-button:active {
    color: var(--edms-primary);
    background: var(--edms-subtle);
    border-color: var(--edms-line);
    box-shadow: none;
}
.coverage-calendar-shell .fc-state-default.fc-corner-left,
.coverage-calendar-shell .fc-state-default.fc-corner-right {
    border-radius: 4px;
}
.coverage-calendar-shell .fc-prev-button,
.coverage-calendar-shell .fc-next-button {
    width: 34px;
    margin-left: 8px;
    padding: 0;
}
.coverage-calendar-shell .fc-icon-left-single-arrow:after { content: "<"; font: 700 13px/1 var(--font); }
.coverage-calendar-shell .fc-icon-right-single-arrow:after { content: ">"; font: 700 13px/1 var(--font); }
.coverage-calendar-shell .fc-view-container {
    overflow: hidden;
    border-radius: 0;
}
.coverage-calendar-shell .fc-unthemed th,
.coverage-calendar-shell .fc-unthemed td,
.coverage-calendar-shell .fc-unthemed thead,
.coverage-calendar-shell .fc-unthemed tbody,
.coverage-calendar-shell .fc-unthemed .fc-divider,
.coverage-calendar-shell .fc-unthemed .fc-row,
.coverage-calendar-shell .fc-unthemed .fc-content,
.coverage-calendar-shell .fc-unthemed .fc-popover,
.coverage-calendar-shell .fc-unthemed .fc-list-view,
.coverage-calendar-shell .fc-unthemed .fc-list-heading td {
    border-color: var(--edms-line);
}
.coverage-calendar-shell .fc-head th {
    height: 34px;
    padding: 8px;
    color: var(--edms-muted);
    background: #E7E7E9;
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
}
.coverage-calendar-shell .fc-day-grid .fc-row {
    min-height: 120px;
}
.coverage-calendar-shell .fc-day-number {
    padding: 8px 8px 0;
    color: var(--edms-muted);
    font-size: 12px;
}
.coverage-calendar-shell .fc-today {
    background: #F3F3E9 !important;
}
.coverage-calendar-shell .fc-today .fc-day-number {
    min-width: 24px;
    height: 24px;
    margin: 8px 8px 0 0;
    padding: 3px 7px;
    color: var(--edms-white);
    background: var(--edms-primary);
    border-radius: 50%;
    text-align: center;
}
.coverage-calendar-shell .fc-event {
    margin: 4px 8px;
    padding: 5px 6px;
    color: var(--edms-blue);
    background: #EEF5FF;
    border: 1px solid #D6E8FF;
    border-radius: 4px;
    font-size: 11px;
}

/* Team management */
.edms-page-reporters .side-body {
    min-height: calc(100vh - 64px);
}
.edms-page-reporters .title-style {
    margin-bottom: 28px !important;
}
.team-management-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    padding: 24px;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.team-management-card p {
    margin: 0;
    color: var(--edms-muted);
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}

/* Profile */
.edms-page-profile .side-body {
    padding-top: 32px;
}
.profile-design-card {
    max-width: 896px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: var(--edms-radius-lg);
    box-shadow: var(--edms-shadow-card);
}
.profile-design-banner {
    height: 128px;
    background: #E9EEEE;
}
.profile-design-content {
    padding: 0 32px 32px;
}
.profile-design-summary {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 142px;
    gap: 18px;
    padding: 0 0 30px;
}
.profile-design-summary img {
    width: 96px;
    height: 96px;
    margin-top: -48px;
    object-fit: cover;
    border: 4px solid var(--edms-white);
    border-radius: 50%;
    box-shadow: var(--edms-shadow-card);
}
.profile-design-summary h1 {
    margin: 0 0 4px;
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
}
.profile-design-summary p {
    margin: 0;
    color: var(--edms-muted);
    font-size: 16px;
}
.profile-save-button {
    margin: 0 0 3px auto;
}
.profile-save-button:before { display: none; }
.profile-save-button .fa {
    margin-right: 8px;
}
.profile-design-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}
.profile-design-grid h2 {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--edms-line);
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
}
.profile-design-grid label {
    display: block;
    margin: 0 0 17px;
    color: var(--edms-muted);
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.profile-design-grid input {
    display: block;
    width: 100%;
    height: 42px;
    margin-top: 7px;
    padding: 0 12px;
    color: var(--edms-ink);
    background: var(--edms-white);
    border: 1px solid var(--edms-line);
    border-radius: 10px;
    outline: 0;
}
.profile-design-grid input[readonly] {
    cursor: default;
}
.profile-design-grid section:last-child input {
    color: var(--edms-muted);
    background: var(--edms-subtle);
}
.profile-password-link {
    display: inline-block;
    margin-top: 8px;
    font-size: 14px;
}

@media (max-width: 1180px) {
    .dashboard-metrics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dashboard-hero { align-items: flex-start; flex-direction: column; }
    .workforce-stats, .auto-kpi-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .coverage-calendar-shell .fc-day-grid .fc-row { min-height: 96px; }
}

@media (max-width: 768px) {
    body { font-size: 14px; }
    .side-menu {
        position: relative;
        width: 100%;
        height: 58px;
        overflow: visible;
        border: 0;
    }
    .side-menu .navbar-header {
        position: fixed;
        inset: 0 0 auto;
        display: flex;
        align-items: center;
        height: 58px;
        padding: 0 14px;
        background: var(--edms-white);
        border-bottom: 1px solid var(--edms-line);
        z-index: 40;
    }
    .side-menu .navbar { width: 100%; }
    .side-menu .navbar-toggle {
        display: block;
        width: 40px;
        height: 40px;
        margin: 0 12px 0 0;
        padding: 11px;
        background: transparent;
        border: 0;
    }
    .side-menu .navbar-toggle .icon-bar { background: var(--edms-primary); }
    .side-menu .brand-name-wrapper { width: 130px; }
    .side-menu .lg-box { width: 130px; }
    .side-menu-container > .navbar-nav {
        position: fixed;
        top: 58px;
        bottom: 0;
        left: -310px;
        width: min(86vw, 300px);
        height: auto;
        padding: 8px 16px 28px;
        overflow-y: auto;
        background: var(--edms-white);
        box-shadow: var(--edms-shadow-elevated);
        transition: left .2s ease;
        z-index: 40;
    }
    .brand-name-wrapper{
        display: flex;
    align-items: center;
    }
    .side-menu-container > .navbar-nav.slide-in { left: 0; }
    .side-menu .nav-group-toggle { pointer-events: auto; }
    .side-menu .nav-group-items { max-height: 0; overflow: hidden; }
    .side-menu .nav-group.open > .nav-group-items { max-height: 560px; }
    .blue-bgx { top: 58px; margin-left: 0; }
    .app-topbar .header-container {
        min-height: 56px;
        padding: 8px 14px;
        flex-direction: row;
        align-items: center;
    }
    .topbar-search { width: 100%; height: 38px; }
    .topbar-actions {
        display: flex;
        width: auto;
        grid-template-columns: none;
        gap: 4px;
    }
    .topbar-actions .online-users-widget,
    .topbar-actions .online-users-toggle { width: auto; }
    .topbar-user-copy, .topbar-actions > .topbar-icon { display: none; }
    .topbar-icon { width: 34px; height: 34px; }
    .topbar-avatar, .topbar-avatar img { width: 34px; height: 34px; }
    .app-menu-backdrop {
        position: fixed;
        inset: 58px 0 0;
        display: block;
        opacity: 0;
        pointer-events: none;
        background: rgba(10,10,10,.35);
        transition: opacity .2s ease;
        z-index: 39;
    }
    body.menu-open .app-menu-backdrop { opacity: 1; pointer-events: auto; }
    .side-body {
        position: static;
        left: auto;
        margin: 0 !important;
        padding: 20px 14px 40px;
        animation: none !important;
        transform: none !important;
        overflow-x: hidden;
    }
    .app-footer { margin-left: 0; padding: 16px 14px; }
    .edms-page-reporters .app-footer,
    .edms-page-profile .app-footer { position: static; }
    .dashboard-hero { min-height: 0; padding: 24px 20px; border-radius: var(--edms-radius-md); }
    .dashboard-hero:before { display: none; }
    .dashboard-hero .dash-title { font-size: 24px; line-height: 32px; }
    .dashboard-hero-actions { display: grid; width: 100%; grid-template-columns: 1fr; }
    .dashboard-hero-actions .btn { width: 100%; }
    .dashboard-metrics-grid { grid-template-columns: 1fr; gap: 12px; }
    .dashboard-metric-card { min-height: 140px; padding: 20px; }
    .dashboard-panel-head { padding: 20px; }
    .title-style { font-size: 18px; line-height: 28px; }
    .create-style { align-items: stretch; }
    .create-style .btn-create { display: block; width: 100%; text-align: center; }
    .my-nav .container-fluid, .my-nav .navbar-nav { display: grid; width: 100%; }
    .my-nav .navbar-nav > li > a, .my-nav .navbar-btn { width: 100%; text-align: center; }
    .side-body .col-sm-12 > form, .side-body .col-sm-8 > form,
    .side-body .col-sm-6 > form, .side-body .col-sm-4 > form { padding: 16px; }
    .dataTables_wrapper { padding: 12px; }
    .ig-table-toolbar, .ig-table-footer { display: grid; gap: 12px; }
    .ig-table-search label, .ig-table-length label { width: 100%; justify-content: stretch; }
    .ig-table-search input, .ig-table-length select { width: 100% !important; min-width: 0; }
    .login-form { padding: 28px 22px; }
    .login-logo { width: 140px; margin-bottom: 24px; }
    .side-body .edms-page-heading.add-style { padding: 18px; }
    .edms-page-actions { align-items: stretch; flex-direction: column; }
    .edms-page-actions .btn, .edms-page-actions .btn-create { width: 100%; text-align: center; }
    .edms-form { padding: 18px !important; }
    .edms-form > .row { display: block !important; }
    .edms-form > .row > [class*="col-"] {
        float: none !important;
        width: 100% !important;
    }
    .workforce-stats, .auto-kpi-stats { grid-template-columns: 1fr !important; }
    .coverage-calendar-shell #calendar { min-width: 680px; padding: 16px; }
    .coverage-calendar-shell { overflow-x: auto; }
    .coverage-calendar-shell .fc-day-grid .fc-row { min-height: 82px; }
    .profile-design-card { border-radius: var(--edms-radius-md); }
    .profile-design-banner { height: 92px; }
    .profile-design-content { padding: 0 18px 24px; }
    .profile-design-summary {
        align-items: flex-start;
        flex-direction: column;
        min-height: 0;
        gap: 10px;
        padding-bottom: 24px;
    }
    .profile-design-summary img { margin-top: -48px; }
    .profile-save-button { width: 100%; margin: 6px 0 0; text-align: center; }
    .profile-design-grid { grid-template-columns: 1fr; gap: 18px; }

    .edms-responsive-table:not(.report-table) {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        background: transparent;
    }
    .edms-responsive-table:not(.report-table) thead { display: none; }
    .edms-responsive-table:not(.report-table) tbody,
    .edms-responsive-table:not(.report-table) tr,
    .edms-responsive-table:not(.report-table) td { display: block; width: 100%; }
    .edms-responsive-table:not(.report-table) tbody {
        display: grid;
        gap: 12px;
    }
    .edms-responsive-table:not(.report-table) tbody tr {
        overflow: hidden;
        background: var(--edms-white);
        border: 1px solid var(--edms-line);
        border-radius: var(--edms-radius-md);
        box-shadow: var(--edms-shadow-card);
    }
    .edms-responsive-table:not(.report-table) tbody td {
        display: grid;
        grid-template-columns: minmax(90px, 36%) 1fr;
        gap: 12px;
        padding: 11px 14px !important;
        border-top: 1px solid var(--edms-line) !important;
        white-space: normal;
        text-align: right;
        overflow-wrap: anywhere;
    }
    .edms-responsive-table:not(.report-table) tbody td:first-child { border-top: 0 !important; }
    .edms-responsive-table:not(.report-table) tbody td:before {
        content: attr(data-label);
        color: var(--edms-muted);
        font-size: 11px;
        line-height: 16px;
        font-weight: 700;
        letter-spacing: .02em;
        text-align: left;
        text-transform: uppercase;
    }
    .edms-responsive-table:not(.report-table) tbody td[data-label=""],
    .edms-responsive-table:not(.report-table) tbody td:not([data-label]) {
        display: flex;
        justify-content: flex-end;
    }
    .edms-responsive-table:not(.report-table) tbody td[data-label=""]:before,
    .edms-responsive-table:not(.report-table) tbody td:not([data-label]):before { display: none; }
    .edms-responsive-table:not(.report-table) .btn { width: auto; margin: 0; }
    .edms-table-shell, .ig-table-shell { overflow: visible; border: 0; }
}

@media print {
    .side-menu, .blue-bgx, .app-footer { display: none !important; }
    .side-body { margin: 0 !important; padding: 0 !important; }
}
