/* NLA Journal — Admin Layout Styles */

*{box-sizing:border-box;}
html{scrollbar-gutter:stable;height:100%;overflow:hidden;}
body.admin-layout{font-family:'Inter',sans-serif;background:var(--surface-alt);color:var(--text-primary);margin:0;padding:0;font-size:14px;height:100%;overflow:hidden;overscroll-behavior:none;}

.admin-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;height:100dvh;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;overflow:hidden;z-index:1040;transition:transform .3s ease;}
.sidebar-logo{padding:20px 20px 16px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0;overflow:hidden;}
.sidebar-logo .journal-logo{display:block;max-width:100%;width:auto;height:44px;max-height:52px;object-fit:contain;margin-bottom:10px;}
.sidebar-logo .nexus-icon{width:38px;height:38px;background:var(--primary);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;margin-bottom:10px;}
.sidebar-logo .brand-name{font-size:15px;font-weight:800;color:var(--sidebar-brand-text);letter-spacing:.3px;line-height:1.2;}
.sidebar-logo .brand-sub{font-size:10px;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px;}
.sidebar-nav{flex:1 1 auto;padding:8px 0 16px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;display:flex;flex-direction:column;align-items:stretch;gap:0;}
.admin-sidebar .sidebar-nav > .sidebar-section-label{flex:0 0 auto;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--sidebar-section-text);padding:14px 20px 6px;font-weight:700;opacity:1;line-height:1.3;margin:0;}
.admin-sidebar .sidebar-nav > .sidebar-section-label:not(:first-child){margin-top:8px;padding-top:14px;border-top:1px solid var(--sidebar-border);}
.sidebar-nav > a{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--sidebar-text);text-decoration:none;font-size:13.5px;font-weight:500;line-height:1.35;transition:background .15s,color .15s;border-left:3px solid transparent;box-sizing:border-box;min-height:40px;width:100%;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-nav > a:hover{background:var(--sidebar-hover);color:var(--sidebar-hover-text);z-index:1;}
.sidebar-nav > a.active{background:var(--sidebar-hover);color:var(--sidebar-hover-text);border-left-color:var(--primary);z-index:1;}
.sidebar-nav > a .nav-icon{width:17px;text-align:center;font-size:13px;opacity:.9;flex-shrink:0;}
.sidebar-nav > a.active .nav-icon{opacity:1;}
.sidebar-nav > a .nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10px;padding:1px 6px;border-radius:20px;font-weight:700;min-width:18px;text-align:center;flex-shrink:0;}
.sidebar-nav .sub-nav{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0;padding:0 0 6px;border-top:1px solid var(--sidebar-border);}
.sidebar-nav > a.active + .sub-nav{border-top-color:color-mix(in srgb,var(--sidebar-border) 70%,transparent);}
.sidebar-nav .sub-nav a{flex:0 0 auto;display:block;padding:7px 20px 7px 30px;font-size:12.5px;color:var(--sidebar-subnav-text);line-height:1.35;text-decoration:none;border-left:3px solid transparent;min-height:36px;box-sizing:border-box;transition:background .15s,color .15s;width:100%;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-nav .sub-nav a:hover,.sidebar-nav .sub-nav a.active{color:var(--sidebar-hover-text);background:var(--sidebar-hover);z-index:1;}
.sidebar-nav .sub-nav a.active{border-left-color:var(--primary);}
.sidebar-nav .sub-nav .sub-nav-label{padding:10px 20px 2px 30px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-section-text);font-weight:700;}
.publication-flow-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.publication-flow-room{border:1px solid var(--bs-border-color, #dee2e6);border-radius:6px;padding:8px 10px;font-size:13px;font-weight:600;color:var(--bs-secondary-color, #6c757d);}
.publication-flow-room.is-current{border-color:var(--bs-primary, #0d6efd);color:var(--bs-primary, #0d6efd);background:var(--bs-primary-bg-subtle, #e7f1ff);}
.publication-flow-room.is-done{color:var(--bs-body-color, #212529);}
@media (max-width: 576px){.publication-flow-rooms{grid-template-columns:1fr 1fr;}}

.admin-main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;min-width:0;contain:layout;position:relative;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--border);padding:0 24px;height:var(--admin-topbar-height);min-height:var(--admin-topbar-height);max-height:var(--admin-topbar-height);display:flex;align-items:center;flex-shrink:0;z-index:1045;box-shadow:var(--shadow);gap:12px;overflow:visible;position:relative;}
.admin-nav-progress{position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2;}
body.admin-nav-loading .admin-nav-progress{opacity:1;animation:adminNavProgress 1.2s ease-in-out infinite;}
@keyframes adminNavProgress{0%{width:0;margin-left:0}50%{width:65%;margin-left:15%}100%{width:0;margin-left:100%}}
.topbar-right{position:relative;z-index:1050;}
.topbar-right .dropdown{position:relative;}
.topbar-right .dropdown-menu{z-index:1060;border-radius:12px;font-size:13px;min-width:220px;max-width:min(360px,calc(100vw - 48px));}
.admin-notif-menu{max-height:min(420px,70vh);overflow-y:auto;}
.admin-notif-item{white-space:normal;}
.admin-notif-item.unread{background:rgba(26,86,219,.06);}
.admin-user-menu .dropdown-header{white-space:normal;}
.user-menu-btn .user-menu-label{font-size:13px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-topbar .sidebar-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px;flex-shrink:0;}
.admin-topbar .breadcrumb{margin:0;padding:0;background:none;font-size:13px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-topbar .breadcrumb ol{display:flex;flex-wrap:nowrap;margin:0;padding:0;min-width:0;overflow:hidden;list-style:none;}
.admin-topbar .breadcrumb-item{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;}
.admin-topbar .breadcrumb-item.active{max-width:220px;}
.admin-topbar .breadcrumb-item+.breadcrumb-item::before{color:var(--text-muted);flex-shrink:0;}
.admin-topbar .topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;}
.notif-btn{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s;padding:0;flex-shrink:0;}
.notif-btn:hover{background:var(--surface-alt);}
.notif-btn::after{display:none;}
.notif-btn .badge{position:absolute;top:-4px;right:-4px;font-size:10px;padding:2px 5px;}
.user-menu-btn{display:flex;align-items:center;gap:8px;background:var(--surface-alt);border:1px solid var(--border);border-radius:50px;padding:5px 12px 5px 5px;cursor:pointer;transition:background .15s,border-color .15s;color:var(--text-primary);flex-shrink:0;}
.user-menu-btn:hover{background:#e5e7eb;}
.user-menu-btn::after{margin-left:0;}
.user-menu-btn .avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}

.admin-content{padding:0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:var(--admin-panel-bg);color:var(--admin-panel-text);}
.admin-content-inner{padding:24px;min-height:100%;box-sizing:border-box;color:var(--admin-panel-text);}
.admin-content-inner>h1,.admin-content-inner>h2,.admin-content-inner>h3,.admin-content-inner>h4,.admin-content-inner>h5,.admin-content-inner>h6{color:inherit;}
.admin-content-inner .text-muted{color:color-mix(in srgb,var(--admin-panel-text) 62%,transparent);}
body.admin-nav-loading .admin-content-inner{opacity:.92;pointer-events:none;transition:opacity .15s ease;}
.admin-toast-stack{position:fixed;top:calc(var(--admin-topbar-height) + 12px);right:24px;z-index:1055;width:min(420px,calc(100vw - var(--sidebar-width) - 48px));pointer-events:none;min-height:0;}
.admin-toast-stack .alert{pointer-events:auto;margin-bottom:8px;box-shadow:var(--shadow-lg);}
.admin-panel-appearance .form-control-color{width:2.75rem;height:2.25rem;padding:.15rem;}
.admin-panel-appearance .color-preview{min-height:48px;border-radius:var(--radius);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:8px 12px;text-align:center;}
.kpi-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.kpi-card .kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.kpi-card .kpi-value{font-size:30px;font-weight:800;color:var(--text-primary);line-height:1.1;margin-top:14px;}
.kpi-card .kpi-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-top:4px;}
.kpi-card .kpi-change{font-size:12px;margin-top:8px;display:flex;align-items:center;gap:4px;}

.card-nexus{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.card-nexus>.card-header{background:transparent;border-bottom:1px solid var(--border);padding:14px 20px;font-weight:700;font-size:14px;color:var(--text-primary);}
.card-nexus>.card-body{padding:20px;}

.table-nexus{font-size:13px;}
.table-nexus thead th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-top:none;background:var(--surface-alt);padding:10px 16px;}
.table-nexus tbody td{padding:12px 16px;vertical-align:middle;}
.table-nexus tbody tr:hover{background:#fafafa;}
.sections-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sections-table-wrap .table-nexus{min-width:920px;}

.stage-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block;text-transform:uppercase;letter-spacing:.3px;}

.nav-tabs-fit{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:0;}
.nav-tabs-fit .nav-item{flex:0 1 auto;min-width:0;}
.nav-tabs-fit .nav-link{white-space:nowrap;font-size:13px;padding:.55rem .85rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;}
@media (max-width:767.98px){
    .nav-tabs-fit{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
    .nav-tabs-fit .nav-item{flex:0 0 auto;}
}

/* Dashboard KPI grid — consistent card sizing */
.dashboard-stage-chart{position:relative;min-height:240px;}
.dashboard-stage-chart canvas{max-height:280px;}
.dashboard-kpi-row > [class*="col-"]{display:flex;}
.dashboard-kpi-row .card{width:100%;}
.dashboard-kpi-row .card-body{min-width:0;}
.dashboard-kpi-row .card-body .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media(max-width:991px){
    .admin-sidebar{transform:translateX(-100%);}
    .admin-sidebar.open{transform:translateX(0);}
    .admin-main{margin-left:0;width:100%;}
    .admin-topbar{padding:0 12px;gap:8px;}
    .admin-topbar .sidebar-toggle{display:flex;}
    .admin-topbar .breadcrumb .breadcrumb-item:not(.active){display:none;}
    .admin-topbar .breadcrumb-item.active{max-width:min(180px,42vw);}
    .admin-topbar .breadcrumb-item+.breadcrumb-item::before{display:none;}
    .topbar-right{flex-shrink:0;}
    .topbar-right .dropdown-menu{min-width:min(320px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px);}
    .admin-content-inner{padding:16px;}
    .admin-toast-stack{width:min(420px,calc(100vw - 48px));top:calc(var(--admin-topbar-height) + 8px);right:12px;}
    .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1039;}
    .sidebar-overlay.open{display:block;}
}

@media (max-width:767.98px){
    .admin-content-inner .card-header.d-flex{flex-wrap:wrap;gap:.5rem;}
    .admin-content-inner .modal-dialog{margin:.5rem;max-width:calc(100vw - 1rem);}
    .admin-content-inner .card .table{font-size:12px;}
    .admin-content-inner .btn-group{flex-wrap:wrap;}
    .admin-content-inner .row.g-3 > [class*="col-"],
    .admin-content-inner .row.g-4 > [class*="col-"]{min-width:0;}
    .admin-content-inner .d-flex.justify-content-between.align-items-center{flex-wrap:wrap;gap:.5rem;}
    .kpi-card .kpi-value{font-size:1.5rem;}
}

/* Live search */
.live-search-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border);background:#fff;}
.live-search-input-wrap{max-width:380px;flex:1 1 220px;}
.live-search-count{margin-left:auto;}
.live-search-hint{font-size:11px;margin-top:4px;}
.searchable-select{position:relative;}
.searchable-select-control{position:relative;display:flex;align-items:stretch;}
.searchable-select-input{border-top-right-radius:0;border-bottom-right-radius:0;}
.searchable-select-toggle{display:flex;align-items:center;justify-content:center;padding:0 .65rem;border:1px solid var(--border,#dee2e6);border-left:0;border-radius:0 .375rem .375rem 0;background:#fff;color:var(--text-secondary,#6b7280);}
.searchable-select-toggle:hover{background:#f8f9fa;}
.searchable-select-menu{position:absolute;z-index:1060;top:calc(100% + 2px);left:0;right:0;max-height:min(240px,50vh);overflow-y:auto;background:#fff;border:1px solid var(--border,#dee2e6);border-radius:.375rem;box-shadow:0 8px 24px rgba(15,23,42,.12);}
.searchable-select-item{padding:.5rem .75rem;font-size:.875rem;cursor:pointer;min-height:40px;display:flex;align-items:center;}
.searchable-select-item:hover,.searchable-select-item.active{background:rgba(26,86,219,.08);}
.searchable-select-item[hidden],.searchable-select-empty[hidden]{display:none!important;}
.searchable-select-empty{padding:.75rem;color:var(--text-secondary,#6b7280);font-size:.875rem;}
.searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
tr.live-search-hidden, .live-search-hidden{display:none!important;}
.live-search-no-results{width:100%;}
.live-search-trigger:focus{box-shadow:0 0 0 .2rem rgba(26,86,219,.15);}
.dashboard-live-search-bar .form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(26,86,219,.15);}
.dashboard-live-search-scope .live-search-toolbar{background:#f8fafc;}

/* Editorial manual (in-app page guides) */
.admin-page-manual{border:1px solid var(--border);background:#f8fafc;}
.admin-page-manual-summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:14px;}
.admin-page-manual-summary::-webkit-details-marker{display:none;}
.admin-page-manual-summary::before{content:'▸';margin-right:8px;color:var(--primary);transition:transform .15s;}
.admin-page-manual[open] .admin-page-manual-summary::before{transform:rotate(90deg);}
.admin-page-manual-links{display:flex;gap:12px;}
body.admin-layout.modal-open{overflow:hidden;}
body.admin-layout.modal-open .modal{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.admin-manual-feature-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(26,86,219,.12)!important;}
.admin-manual-document h4,.admin-manual-document h5,.admin-manual-document h6{color:var(--text);}
.admin-manual-document ul,.admin-manual-document ol{padding-left:1.25rem;}
.admin-manual-hub-section .list-group-item{padding:14px 18px;}
.admin-manual-table{font-size:13px;}
.admin-manual-table th{background:#f8fafc;}
@media print{
  .no-print,.manual-action-toolbar,.admin-sidebar,.admin-topbar,.admin-toast-stack{display:none!important;}
  .admin-main{margin:0!important;width:100%!important;}
  .admin-content-inner{
    padding:0!important;
    max-width:none!important;
  }
  .admin-manual-document,.manual-print-body,.author-manual-document{
    padding:0!important;
    max-width:none!important;
  }
  @page{
    size:A4;
    margin:20mm 18mm 22mm 18mm;
  }
  @page :first{
    margin-top:18mm;
  }
  html,body{
    background:#fff!important;
    font-size:11pt;
    line-height:1.65;
    color:#111;
  }
  .admin-manual-document h4,.admin-manual-document h5,.admin-manual-document h6,
  .author-manual-document h4,.author-manual-document h5,.author-manual-document h6{
    page-break-after:avoid;
  }
  .admin-manual-table,.admin-manual-document table{
    page-break-inside:avoid;
    font-size:10pt;
  }
  .card,.admin-manual-hub-section{
    border:none!important;
    box-shadow:none!important;
  }
  .card-header,.card-footer,.list-group-item{
    border-color:#d1d5db!important;
  }
  a{color:#111!important;text-decoration:underline!important;}
}

.submission-ref{
  font-size:.875em;
  font-weight:600;
  color:var(--primary,#1a56db);
  background:rgba(26,86,219,.06);
  padding:.1rem .45rem;
  border-radius:.25rem;
  white-space:nowrap;
}
.submission-ref--prominent{
  font-size:.95em;
}
.submission-heading-with-code .submission-title-text{
  display:inline;
}

[data-bs-toggle="collapse"] .fa-chevron-down{
  transition:transform .2s ease;
}
[data-bs-toggle="collapse"]:not(.collapsed) .fa-chevron-down{
  transform:rotate(180deg);
}

.admin-developer-footer,
.reviewer-developer-footer{
  flex-shrink:0;
  padding:10px 24px 14px;
  text-align:center;
  font-size:12px;
  color:color-mix(in srgb,var(--admin-panel-text) 55%,transparent);
  border-top:1px solid color-mix(in srgb,var(--admin-panel-text) 12%,transparent);
  background:var(--admin-panel-bg);
}
.admin-developer-footer .developer-credit,
.reviewer-developer-footer .developer-credit{margin-top:0;}
.admin-developer-footer .developer-credit__trigger,
.reviewer-developer-footer .developer-credit__trigger,
.admin-developer-footer .developer-credit__name,
.reviewer-developer-footer .developer-credit__name{
  color:var(--primary,#1a56db);
}
.admin-developer-footer .developer-credit__trigger:hover,
.reviewer-developer-footer .developer-credit__trigger:hover{
  color:color-mix(in srgb,var(--primary,#1a56db) 80%,#000);
}
.developer-profile-modal__skill{background:rgba(26,86,219,.1);color:var(--primary,#1a56db);}

/* Decision / notes / action forms: keep controls readable at 100% zoom */
.workflow-action-form .form-select,
.workflow-action-form .form-control{
  min-width:0;
  width:100%;
}
.workflow-action-form .btn{
  white-space:nowrap;
  width:auto;
  min-width:8rem;
}
.workflow-action-form .d-flex.align-items-end .btn{
  width:100%;
}
