@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --primary:#0b6b58;
  --primary-700:#075646;
  --primary-800:#06483c;
  --primary-50:#edf8f5;
  --primary-100:#d8f0e9;
  --accent:#d5a63c;
  --ink:#18352f;
  --text:#314b45;
  --muted:#71847f;
  --line:#e3ebe8;
  --surface:#ffffff;
  --canvas:#f3f7f5;
  --danger:#bf4a4a;
  --warning:#a46b0a;
  --success:#15785f;
  --shadow-sm:0 2px 8px rgba(26,56,48,.05);
  --shadow:0 12px 34px rgba(20,55,46,.08);
  --radius:18px;
  --sidebar:272px;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--canvas);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none} a:hover{color:var(--primary-700)}

/* ---------- Login ---------- */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);background:#fff}
.login-visual{position:relative;overflow:hidden;padding:54px 62px;color:#fff;background:linear-gradient(145deg,#06483c 0%,#0b6b58 55%,#12836a 100%);display:flex;flex-direction:column;justify-content:space-between}
.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.login-visual:before{width:520px;height:520px;right:-190px;top:-130px;background:rgba(255,255,255,.055)}
.login-visual:after{width:380px;height:380px;left:-170px;bottom:-160px;border:1px solid rgba(255,255,255,.15)}
.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:13px}
.login-brand-mark,.brand-mark{display:grid;place-items:center;background:linear-gradient(145deg,#fff,#dff4ed);color:var(--primary-800);font-weight:800;letter-spacing:-.05em;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.login-brand-mark{width:48px;height:48px;border-radius:14px;font-size:17px}
.login-brand-title{font-size:18px;font-weight:800;letter-spacing:.01em}.login-brand-sub{font-size:12px;color:rgba(255,255,255,.68);margin-top:2px}
.login-hero{position:relative;z-index:2;max-width:650px;margin:75px 0}
.login-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.login-hero h1{font-size:44px;line-height:1.12;letter-spacing:-.04em;margin:22px 0 18px;font-weight:800}.login-hero p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.77);max-width:570px}
.login-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.login-benefit{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(7px)}.login-benefit i{font-size:22px}.login-benefit strong{display:block;margin-top:12px;font-size:13px}.login-benefit span{font-size:11px;color:rgba(255,255,255,.64)}
.login-foot{position:relative;z-index:2;font-size:11px;color:rgba(255,255,255,.55)}
.login-panel{background:#f8fbfa;display:flex;align-items:center;justify-content:center;padding:52px}
.login-card{width:min(100%,460px);background:#fff;border:1px solid #e8efed;border-radius:24px;padding:38px;box-shadow:0 24px 70px rgba(20,55,46,.09)}
.login-card h2{font-size:28px;letter-spacing:-.03em;color:var(--ink);font-weight:800;margin:0 0 8px}.login-card .lead-copy{color:var(--muted);line-height:1.65;margin-bottom:28px}
.login-card .form-label{font-weight:600;color:#36504a;margin-bottom:8px}.input-icon{position:relative}.input-icon>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a9b97;font-size:17px;z-index:2}.input-icon .form-control{padding-left:43px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#859690;padding:4px;z-index:3}
.captcha-box{border:1px dashed #b9cec7;background:var(--primary-50);border-radius:14px;padding:14px}.captcha-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--primary-700);margin-bottom:9px}
.login-meta{display:flex;align-items:center;justify-content:center;gap:7px;color:#8a9a96;font-size:11px;margin-top:25px}.login-meta i{color:var(--primary)}

/* ---------- App shell ---------- */
.app-shell{min-height:100vh}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,#073f35 0%,#075244 55%,#06483c 100%);z-index:1031;color:#fff;display:flex;flex-direction:column;box-shadow:10px 0 35px rgba(14,53,43,.08)}
.sidebar-brand{height:86px;padding:20px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:42px;height:42px;border-radius:13px;font-size:15px;flex:0 0 auto}.sidebar-brand strong{display:block;color:#fff;font-size:15px;letter-spacing:.01em}.sidebar-brand span{display:block;color:rgba(255,255,255,.52);font-size:10px;margin-top:2px;line-height:1.3}
.sidebar-scroll{padding:20px 14px;overflow:auto;flex:1}.nav-caption{color:rgba(255,255,255,.42);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:6px 11px 8px;margin-top:4px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.72);padding:11px 12px;border-radius:12px;font-weight:600;transition:.18s ease}.side-nav a i{width:19px;text-align:center;font-size:17px;color:rgba(255,255,255,.58)}.side-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.side-nav a:hover i{color:#fff}.side-nav a.active{background:#fff;color:var(--primary-800);box-shadow:0 8px 24px rgba(0,0,0,.14)}.side-nav a.active i{color:var(--primary)}
.app-main{margin-left:var(--sidebar);min-height:100vh}.app-topbar{height:72px;position:sticky;top:0;z-index:1020;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar-context{display:flex;align-items:center;gap:13px}.topbar-context .icon-box{width:38px;height:38px;border-radius:11px;background:var(--primary-50);display:grid;place-items:center;color:var(--primary);font-size:17px}.topbar-context strong{display:block;color:var(--ink);font-size:13px}.topbar-context span{font-size:11px;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#159277);color:#fff;font-weight:800;font-size:12px}.user-copy{text-align:right}.user-copy strong{display:block;color:var(--ink);font-size:12px}.user-copy span{display:block;color:var(--muted);font-size:10px}.btn-icon{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:#60736e}.btn-icon:hover{border-color:#c9d9d4;color:var(--primary);background:var(--primary-50)}
.app-content{padding:28px 30px 42px;max-width:1680px;margin:0 auto}.mobile-menu-btn{display:none}

/* ---------- General UI ---------- */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:23px}.page-eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:5px}.page-title{font-size:25px;line-height:1.25;letter-spacing:-.035em;font-weight:800;color:var(--ink);margin:0}.page-desc{color:var(--muted);margin-top:5px;line-height:1.6;font-size:13px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.card{border:1px solid #e7eeeb;border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff}.card-header{background:#fff;border-bottom:1px solid var(--line);padding:18px 20px;border-radius:var(--radius) var(--radius) 0 0!important}.card-body{padding:20px}.card-footer{border-top:1px solid var(--line);padding:15px 20px;border-radius:0 0 var(--radius) var(--radius)!important}.section-title{font-size:14px;font-weight:800;color:var(--ink);margin:0}.section-sub{font-size:11px;color:var(--muted);margin-top:3px}
.btn{font-weight:700;border-radius:10px;padding:.61rem .9rem;font-size:13px}.btn-sm{padding:.42rem .65rem;font-size:11px;border-radius:9px}.btn-lg{padding:.78rem 1rem;border-radius:12px}.btn-primary,.btn-success{background:var(--primary);border-color:var(--primary);box-shadow:0 5px 12px rgba(11,107,88,.15)}.btn-primary:hover,.btn-success:hover,.btn-primary:focus,.btn-success:focus{background:var(--primary-700);border-color:var(--primary-700)}.btn-outline-success{color:var(--primary);border-color:#a8c9bf}.btn-outline-success:hover{background:var(--primary);border-color:var(--primary)}.btn-light{background:#f4f7f6;border-color:#e5ece9;color:#51645f}.btn-outline-secondary{border-color:#d6dfdc;color:#566965}.btn-outline-danger{border-color:#e3bcbc;color:#a43e3e}
.form-label{font-size:12px;font-weight:700;color:#3d554f;margin-bottom:7px}.form-control,.form-select{border:1px solid #d9e3e0;border-radius:10px;padding:.67rem .78rem;font-size:13px;color:#2c443e;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#79af9f;box-shadow:0 0 0 .22rem rgba(11,107,88,.09)}.form-control::placeholder{color:#a1aeaa}.form-hint{font-size:10px;color:var(--muted);margin-top:5px}.form-section{padding:4px 0 10px}.form-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--primary);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:17px}
.alert{border-radius:13px;border-width:1px;font-size:12px}.alert-success{background:#ecf8f4;border-color:#cceadf;color:#1f6654}.alert-warning{background:#fff8e8;border-color:#f0dfb7;color:#7b5a13}.alert-danger{background:#fff0f0;border-color:#f0cccc;color:#8e4040}.alert-light{background:#f8faf9;border-color:#e6ecea!important;color:#62736f}

/* ---------- Dashboard ---------- */
.stat-card{height:100%;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-35px;top:-35px;background:var(--primary-50)}.stat-card .card-body{position:relative;z-index:2;padding:18px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:11px;font-weight:700;color:var(--muted)}.stat-icon{width:38px;height:38px;border-radius:12px;background:var(--primary-50);display:grid;place-items:center;color:var(--primary);font-size:17px}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.04em;color:var(--ink);margin-top:8px}.stat-note{font-size:10px;color:#879792;margin-top:3px}.stat-card.is-warning .stat-icon{background:#fff5df;color:#9f6b10}.stat-card.is-danger .stat-icon{background:#fff0ef;color:#b6504d}.stat-card.is-success .stat-icon{background:#eaf8f3;color:#15785f}
.quick-banner{background:linear-gradient(105deg,#084f42,#0b705c 70%,#0d8067);border:0;color:#fff;overflow:hidden;position:relative}.quick-banner:after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,255,255,.05)}.quick-banner .card-body{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 26px}.quick-banner h3{font-size:17px;font-weight:800;margin:0 0 5px}.quick-banner p{font-size:12px;color:rgba(255,255,255,.67);margin:0;max-width:620px;line-height:1.6}.quick-banner .btn{background:#fff;border-color:#fff;color:var(--primary-800)}

/* ---------- Table ---------- */
.table{--bs-table-bg:transparent;margin-bottom:0}.table>:not(caption)>*>*{padding:14px 14px;border-bottom-color:#edf1ef;vertical-align:middle}.table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.065em;font-weight:800;color:#788984;background:#f7faf9;border-bottom:1px solid #e7eeeb;white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfdfc}.journal-name{font-weight:750;color:var(--ink);font-size:13px}.journal-meta{font-size:10px;color:var(--muted);margin-top:4px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mini-sep{width:3px;height:3px;border-radius:50%;background:#b6c2be}.table-action{white-space:nowrap}
.badge{font-size:9px;font-weight:800;letter-spacing:.035em;padding:6px 8px;border-radius:999px}.badge-soft-success{background:#e8f6f1;color:#146c56;border:1px solid #d0eade}.badge-soft-warning{background:#fff5de;color:#8a6010;border:1px solid #f1dfb7}.badge-soft-danger{background:#ffeded;color:#a53f3f;border:1px solid #f1d1d1}.badge-soft-secondary{background:#f0f3f2;color:#687975;border:1px solid #e1e8e5}.badge-soft-info{background:#edf6fa;color:#3a6c81;border:1px solid #d8e8ef}
.progress{height:6px;border-radius:999px;background:#e8efec}.progress-bar{border-radius:999px}.progress-bar.bg-success{background:var(--primary)!important}.progress-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-bottom:6px}
.empty-state{text-align:center;padding:58px 20px}.empty-icon{width:58px;height:58px;border-radius:18px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:25px;margin:0 auto 14px}.empty-state h4{font-size:15px;color:var(--ink);font-weight:800}.empty-state p{font-size:12px;color:var(--muted);max-width:420px;margin:6px auto 18px}

/* ---------- Detail ---------- */
.journal-hero{border:0;background:linear-gradient(110deg,#fff 0%,#f7fbf9 100%);box-shadow:var(--shadow)}.journal-hero .card-body{padding:24px}.journal-idline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.hero-rank{min-width:125px;text-align:center;border-left:1px solid var(--line);padding-left:22px}.hero-rank small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.hero-rank strong{display:block;color:var(--primary);font-size:26px;font-weight:800;margin-top:3px}
.metric-card .card-body{padding:17px}.metric-icon{width:34px;height:34px;border-radius:10px;background:var(--primary-50);display:grid;place-items:center;color:var(--primary);font-size:15px;margin-bottom:12px}.metric-label{font-size:10px;color:var(--muted);font-weight:700}.metric-big{font-size:23px;font-weight:800;letter-spacing:-.035em;color:var(--ink);line-height:1.2;margin-top:3px}.metric-foot{font-size:9px;color:#91a09b;margin-top:4px}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.step-link{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;display:flex;align-items:center;gap:11px;color:#425a54;transition:.18s ease}.step-link:hover{border-color:#a9cdc1;background:var(--primary-50);color:var(--primary-700);transform:translateY(-1px)}.step-num{width:31px;height:31px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.step-copy strong{display:block;font-size:11px}.step-copy span{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.gap-item{padding:13px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;display:flex;gap:11px}.gap-item:last-child{margin-bottom:0}.gap-indicator{width:7px;border-radius:999px;flex:0 0 7px}.gap-high .gap-indicator{background:#c55151}.gap-med .gap-indicator{background:#d8a23d}.gap-item strong{display:block;color:#344c46;font-size:11px}.gap-item span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.readiness-box{border-radius:14px;padding:16px}.readiness-box.success{background:#eef9f5;border:1px solid #d3ece3}.readiness-box.danger{background:#fff2f2;border:1px solid #f0d3d3}.readiness-box.warning{background:#fff8e9;border:1px solid #eddfbd}.readiness-box i{font-size:22px;margin-bottom:9px}.readiness-box strong{display:block;color:var(--ink);font-size:13px}.readiness-box p{font-size:10px;margin:4px 0 0;color:#677974;line-height:1.5}

/* ---------- Assessment ---------- */
.assessment-summary{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px 16px;margin-bottom:18px}.score-orb{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) 0 75%,#e5eeeb 75%);position:relative}.score-orb:after{content:"";position:absolute;width:42px;height:42px;background:#fff;border-radius:50%}.score-orb strong{position:relative;z-index:2;color:var(--ink);font-size:12px}.assessment-summary h6{margin:0;color:var(--ink);font-weight:800;font-size:12px}.assessment-summary p{margin:4px 0 0;color:var(--muted);font-size:10px}
.criteria-section{margin-top:22px}.criteria-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}.criteria-heading .section-dot{width:9px;height:9px;border-radius:50%;background:var(--primary)}.criteria-heading h5{font-size:12px;font-weight:800;color:var(--ink);margin:0}.criteria-card{border-radius:15px}.criteria-card .card-body{padding:17px}.criterion-no{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:8px;background:var(--primary-50);color:var(--primary);font-size:10px;font-weight:800}.criterion-param{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8b9995;font-weight:700;margin-bottom:4px}.criterion-title{color:#344d47;font-size:11px;font-weight:700;line-height:1.5}.status-select{font-weight:700}.sticky-actions{position:sticky;bottom:12px;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid #dfe8e5;border-radius:14px;padding:10px 12px;box-shadow:0 12px 35px rgba(26,58,49,.12);margin-top:18px;display:flex;align-items:center;justify-content:space-between}.sticky-actions .save-note{font-size:10px;color:var(--muted)}
.assessment-table .group-code{width:38px;height:38px;border-radius:11px;background:var(--primary-50);color:var(--primary);font-size:15px;font-weight:800;display:grid;place-items:center}.weight-chip{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f2f6f4;color:#546862;font-size:10px;font-weight:800}.score-input{max-width:110px;font-weight:800;color:var(--primary)}

/* ---------- Audit / Profile / Master ---------- */
.audit-input-wrap{display:flex;gap:9px}.audit-card .card-body{padding:17px}.audit-icon{width:38px;height:38px;border-radius:11px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:16px;flex:0 0 auto}.audit-row{display:flex;align-items:flex-start;gap:12px}.audit-row strong{display:block;font-size:11px;color:var(--ink)}.audit-row p{font-size:10px;color:var(--muted);line-height:1.5;margin:4px 0 0}.profile-cover{height:98px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(110deg,#075244,#0c7b64)}.profile-avatar{width:74px;height:74px;border-radius:20px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.12);display:grid;place-items:center;color:var(--primary);font-size:22px;font-weight:800;margin:-38px 0 0 22px;border:5px solid #fff}.master-note{border-left:3px solid var(--accent);padding:12px 14px;background:#fffbf1;border-radius:0 12px 12px 0;font-size:10px;color:#6e6349}

.footer-note{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#93a19d;font-size:9px}


.access-denied-card{max-width:620px;margin:8vh auto 0;text-align:center}.access-denied-card .card-body{padding:48px 34px}.access-denied-icon{width:70px;height:70px;border-radius:22px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:29px;margin:0 auto 18px}.access-denied-card p{max-width:480px;margin:12px auto 22px;color:var(--muted);line-height:1.7;font-size:12px}

/* ---------- Dashboard charts ---------- */
.dashboard-chart-card{overflow:hidden}.dashboard-chart-card .card-body{min-height:310px}.chart-wrap{position:relative;width:100%}.chart-wide{height:280px}.chart-donut{height:205px;max-width:260px;margin:0 auto}.chart-empty{height:270px;border:1px dashed #d9e5e1;border-radius:15px;background:#fafcfb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;color:var(--muted)}.chart-empty.compact{height:240px}.chart-empty i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);font-size:21px;margin-bottom:11px}.chart-empty strong{font-size:12px;color:var(--ink)}.chart-empty span{font-size:10px;margin-top:4px}.status-legend{display:grid;gap:8px;margin-top:8px}.status-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:#f8faf9;font-size:10px;color:#657872}.status-legend strong{color:var(--ink);font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%}.dot-ready{background:#17806a}.dot-fix{background:#d8a23d}.dot-blocked{background:#c55151}

/* ---------- User management ---------- */
.user-search-form{min-width:min(100%,430px)}.user-cell{display:flex;align-items:center;gap:11px;min-width:180px}.user-list-avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--primary-50),#e2f2ed);border:1px solid #d7e9e3;color:var(--primary);display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}.journal-chip-wrap{display:flex;gap:5px;flex-wrap:wrap;max-width:330px}.journal-chip{display:inline-flex;align-items:center;max-width:200px;padding:5px 8px;border-radius:8px;background:#edf7f4;border:1px solid #d9ebe5;color:#356257;font-size:9px;font-weight:700;line-height:1.25}.journal-chip.muted{background:#f3f5f4;border-color:#e4e9e7;color:#7b8985}.assigned-users{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.assigned-label{font-size:9px;color:var(--muted);font-weight:700}.form-section-title-wrap{border-bottom:1px solid var(--line);padding-bottom:10px}.form-section-title-wrap .form-section-title{border-bottom:0;padding-bottom:0}.journal-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journal-access-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:1px solid #e1eae7;border-radius:13px;padding:12px 13px;background:#fff;cursor:pointer;transition:.18s ease}.journal-access-item:hover{border-color:#a9cdc1;background:#f8fcfa}.journal-access-item:has(.form-check-input:checked){border-color:#87bdad;background:#f0f9f6;box-shadow:0 0 0 2px rgba(11,107,88,.04)}.journal-access-item .form-check-input{margin:0;width:17px;height:17px}.journal-access-copy{min-width:0}.journal-access-copy strong{display:block;color:var(--ink);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-access-copy small{display:block;color:var(--muted);font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-inline{display:flex;align-items:center;gap:12px;border:1px dashed #d9e5e1;border-radius:13px;padding:15px;background:#fafcfb}.empty-inline i{width:36px;height:36px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:16px}.empty-inline strong{display:block;font-size:11px;color:var(--ink)}.empty-inline span{display:block;font-size:9px;color:var(--muted);margin-top:2px}

@media(max-width:1199px){:root{--sidebar:245px}.app-content{padding:24px}.app-topbar{padding:0 24px}.step-grid{grid-template-columns:repeat(2,1fr)}.login-visual{padding:45px}.login-hero h1{font-size:38px}}
@media(max-width:991px){
  .login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:25px}.login-card{padding:30px}
  .app-sidebar{transform:translateX(-100%);transition:.22s ease}.app-sidebar.show{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(9,34,28,.48);z-index:1030}.sidebar-backdrop.show{display:block}.app-main{margin-left:0}.mobile-menu-btn{display:grid}.app-topbar{height:64px;padding:0 16px}.app-content{padding:20px 16px 32px}.topbar-context .icon-box{display:none}.user-copy{display:none}.page-head{align-items:flex-start}.hero-rank{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:16px;text-align:left}.step-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){.journal-access-grid{grid-template-columns:1fr}.dashboard-chart-card .card-body{min-height:280px}.chart-wide{height:250px}.user-search-form{min-width:100%;width:100%}.page-head{flex-direction:column}.page-actions{width:100%;justify-content:flex-start}.page-title{font-size:21px}.stat-value{font-size:24px}.quick-banner .card-body{align-items:flex-start;flex-direction:column}.step-grid{grid-template-columns:1fr}.audit-input-wrap{flex-direction:column}.sticky-actions{bottom:7px}.sticky-actions .save-note{display:none}.journal-hero .card-body{padding:18px}.table>:not(caption)>*>*{padding:12px 10px}.footer-note{flex-direction:column}.criteria-card .row>*{margin-bottom:5px}}
@media(max-width:480px){.login-panel{padding:16px}.login-card{padding:25px 20px;border-radius:20px}.app-content{padding:18px 12px 28px}.page-actions .btn{flex:1}.topbar-user .btn-icon:last-child{display:none}}

/* ---------- v1.3 Professional Sidebar, Navigator & Web Identity ---------- */
.app-sidebar{background:linear-gradient(180deg,#0a775f 0%,#0f9473 48%,#0b8468 100%);box-shadow:12px 0 38px rgba(8,60,48,.14)}
.sidebar-brand{height:auto;min-height:96px;padding:19px 17px 17px 19px;gap:12px;position:relative;background:rgba(255,255,255,.025)}
.brand-mark-wrap{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center}.brand-logo-img{width:46px;height:46px;object-fit:contain;border-radius:13px;background:#fff;padding:5px;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.brand-copy{min-width:0;flex:1}.sidebar-brand .brand-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand .brand-copy span{font-size:9px;line-height:1.45;color:rgba(255,255,255,.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
.sidebar-close{width:30px;height:30px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;flex:0 0 auto}.sidebar-close:hover{background:rgba(255,255,255,.14)}
.sidebar-scroll{padding:18px 13px 14px}.nav-caption{padding:5px 12px 8px;color:rgba(255,255,255,.38);font-size:9px;letter-spacing:.12em}.nav-divider{height:1px;background:rgba(255,255,255,.08);margin:17px 9px 12px}
.side-nav{gap:4px}.side-nav a{position:relative;min-height:44px;padding:8px 10px;border-radius:12px;color:rgba(255,255,255,.7);font-size:12px;font-weight:600}.side-nav a .nav-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.055);flex:0 0 30px;transition:.18s ease}.side-nav a i{width:auto;font-size:15px;color:rgba(255,255,255,.58)}.side-nav a:hover{background:rgba(255,255,255,.07)}.side-nav a:hover .nav-icon{background:rgba(255,255,255,.1)}.side-nav a.active{background:rgba(255,255,255,.96);color:#0a5748;box-shadow:0 8px 22px rgba(0,0,0,.12)}.side-nav a.active:before{content:"";position:absolute;left:-13px;top:11px;bottom:11px;width:3px;border-radius:0 999px 999px 0;background:#e4ba5a}.side-nav a.active .nav-icon{background:#e9f5f1}.side-nav a.active i{color:var(--primary)}
.sidebar-footer{padding:13px;border-top:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.12))}.sidebar-user-card{display:flex;align-items:center;gap:10px;padding:9px 8px 11px}.sidebar-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#d7efe7);color:#075646;font-weight:800;font-size:10px;box-shadow:0 4px 14px rgba(0,0,0,.12);flex:0 0 34px}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong{display:block;color:#fff;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy span{display:block;color:rgba(255,255,255,.46);font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.11);display:flex;align-items:center;justify-content:center;gap:9px;color:rgba(255,255,255,.78);font-size:10px;font-weight:700;background:rgba(255,255,255,.045);transition:.18s ease}.sidebar-logout:hover{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.18)}

.page-navigator{min-height:42px;display:flex;align-items:center;gap:10px;padding:7px 12px;margin:-7px 0 20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.navigator-home{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);font-size:12px;flex:0 0 27px}.page-navigator .breadcrumb{font-size:10px;align-items:center;min-width:0;flex-wrap:nowrap;overflow:hidden}.page-navigator .breadcrumb-item{white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;color:#788984}.page-navigator .breadcrumb-item a{color:#4f6861;font-weight:600}.page-navigator .breadcrumb-item.active{font-weight:700;color:var(--primary)}.page-navigator .breadcrumb-item+.breadcrumb-item:before{color:#b0bbb7;content:"›";font-size:14px;line-height:1}

/* Web identity */
.brand-preview-card{min-height:176px;border-radius:16px;padding:22px;background:linear-gradient(145deg,#073f35,#0b6b58);display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;color:#fff}.brand-preview-logo{width:64px;height:64px;border-radius:17px;background:#fff;padding:7px;display:grid;place-items:center;margin-bottom:13px;box-shadow:0 10px 25px rgba(0,0,0,.16)}.brand-preview-logo img{max-width:100%;max-height:100%;object-fit:contain}.brand-preview-fallback{width:64px;height:64px;border-radius:17px;background:linear-gradient(145deg,#fff,#dff4ed);color:#075646;display:grid;place-items:center;font-weight:800;font-size:20px;margin-bottom:13px}.brand-preview-card strong{font-size:15px}.brand-preview-card span{font-size:9px;color:rgba(255,255,255,.64);line-height:1.5;margin-top:5px;max-width:250px}.identity-status{display:grid;gap:7px}.identity-status>div{display:flex;align-items:center;gap:8px;font-size:10px;color:#4c625c}.identity-status i{color:var(--primary)}.identity-status .muted{color:#93a19d}.identity-status .muted i{color:#b9c4c0}.upload-preview-row{display:flex;align-items:flex-start;gap:16px}.upload-preview{width:92px;height:92px;border-radius:16px;background:#f7faf9;border:1px dashed #cfded9;display:grid;place-items:center;flex:0 0 92px;color:#9aaba6;font-size:28px;overflow:hidden}.upload-preview img{max-width:100%;max-height:100%;object-fit:contain;padding:7px}.favicon-preview-box{width:72px;height:72px;flex-basis:72px;border-radius:14px}.upload-brand-card .form-check-label{font-size:10px;color:var(--muted)}

/* Dynamic logos on login */
.login-brand-image{width:48px;height:48px;border-radius:14px;background:#fff;padding:5px;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.12);flex:0 0 48px}.login-brand-image img{max-width:100%;max-height:100%;object-fit:contain}.login-mobile-logo{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:5px;display:grid;place-items:center}.login-mobile-logo img{max-width:100%;max-height:100%;object-fit:contain}.login-form-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:var(--primary-50);color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:15px}

@media(max-width:991px){.sidebar-footer{padding-bottom:18px}.page-navigator{margin-top:-5px}.brand-copy{padding-right:4px}}
@media(max-width:767px){.page-navigator{margin-bottom:16px}.page-navigator .breadcrumb-item{max-width:150px}.upload-preview-row{flex-direction:column}.upload-preview{width:76px;height:76px;flex-basis:76px}}


/* ---------- v1.4 Brighter Sidebar & TV LED Login ---------- */
.login-tv-shell{background:linear-gradient(135deg,#ecf8f4 0%,#f7fbfa 45%,#eef8f4 100%)}
.tv-login-visual{background:linear-gradient(145deg,#0b7d62 0%,#0ea47b 54%,#0d936f 100%);padding:34px 44px 30px}
.tv-login-visual:before{width:560px;height:560px;right:-180px;top:-160px;background:rgba(255,255,255,.08)}
.tv-login-visual:after{width:460px;height:460px;left:-210px;bottom:-220px;border:1px solid rgba(255,255,255,.18)}
.tv-stage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:1;padding:28px 0 18px}
.tv-aura{position:absolute;inset:auto 6% 18px 6%;height:74%;border-radius:38px;background:radial-gradient(circle at center,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%);filter:blur(6px)}
.tv-led{position:relative;width:min(100%,720px);padding:20px 22px 0}
.tv-screen{position:relative;background:linear-gradient(145deg,#0d1e1a,#1e3932 44%,#153029 100%);border-radius:34px;padding:18px;border:2px solid rgba(255,255,255,.12);box-shadow:0 32px 85px rgba(5,37,31,.34), inset 0 1px 0 rgba(255,255,255,.06)}
.tv-screen:before{content:"";position:absolute;inset:10px;border-radius:24px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.tv-screen-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 6px 16px}
.tv-screen-status{display:flex;align-items:center;gap:7px}
.tv-screen-status span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.24);display:block}
.tv-screen-status span:nth-child(1){background:#ff7a7a}.tv-screen-status span:nth-child(2){background:#ffd06e}.tv-screen-status span:nth-child(3){background:#7ce4b0}
.tv-screen-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#d7f6ec;font-size:11px;font-weight:700;letter-spacing:.03em}
.tv-screen-body{display:grid;grid-template-columns:minmax(270px,1.1fr) minmax(250px,.9fr);gap:22px;align-items:stretch}
.tv-screen-copy{padding:10px 8px 16px 8px}
.tv-screen-copy .login-kicker{background:rgba(18,232,171,.09);border-color:rgba(255,255,255,.1);color:#e7fff7}
.tv-screen-copy h1{font-size:37px;line-height:1.12;letter-spacing:-.04em;margin:18px 0 14px;font-weight:800;color:#fff}
.tv-screen-copy p{color:rgba(226,245,239,.78);font-size:15px;line-height:1.75;max-width:420px;margin:0}
.tv-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tv-metric-card,.tv-flow-card,.tv-mini-chart-card{border-radius:20px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.tv-metric-card{min-height:126px;display:flex;flex-direction:column;justify-content:space-between}
.tv-metric-card span,.tv-flow-row,.tv-mini-chart-head span{font-size:11px;color:rgba(227,245,239,.65)}
.tv-metric-card strong{font-size:26px;color:#fff;letter-spacing:-.03em}
.tv-metric-card small{font-size:11px;color:#bdeedc}
.tv-metric-primary{background:linear-gradient(145deg,rgba(19,192,143,.24),rgba(255,255,255,.08))}
.tv-flow-card{grid-column:span 2;display:grid;gap:10px}
.tv-flow-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px dashed rgba(255,255,255,.08)}
.tv-flow-row:last-child{padding-bottom:0;border-bottom:0}
.tv-flow-row b,.tv-mini-chart-head strong{font-size:12px;color:#fff}
.tv-flow-row .ok{color:#8ff0c3;font-weight:700}
.tv-mini-chart-card{grid-column:span 2}
.tv-mini-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.tv-bars{height:120px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:11px}
.tv-bars span{display:block;height:var(--h);border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,#56f1b9,#13b989);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.tv-stand-neck{width:130px;height:30px;margin:0 auto;background:linear-gradient(180deg,#54645f,#2a3934);clip-path:polygon(36% 0,64% 0,75% 100%,25% 100%);box-shadow:0 12px 24px rgba(0,0,0,.18)}
.tv-stand-base{width:240px;height:18px;border-radius:18px;margin:0 auto;background:linear-gradient(180deg,#2e3f39,#15211d);box-shadow:0 22px 35px rgba(0,0,0,.18)}
.login-panel{background:transparent}
.login-card{border:1px solid #e2ece8;box-shadow:0 24px 74px rgba(16,68,55,.08)}
.app-sidebar:before{content:"";position:absolute;inset:0 0 auto 0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0));pointer-events:none}
.nav-caption{color:rgba(255,255,255,.54)}
.side-nav a{color:rgba(255,255,255,.82)}
.side-nav a i{color:rgba(255,255,255,.72)}
.side-nav a .nav-icon{background:rgba(255,255,255,.09)}
.side-nav a:hover{background:rgba(255,255,255,.12)}
.side-nav a:hover .nav-icon{background:rgba(255,255,255,.16)}
.sidebar-brand .brand-copy span,.sidebar-user-copy span{color:rgba(255,255,255,.64)}
.sidebar-logout{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
@media(max-width:1199px){.tv-login-visual{padding:32px}.tv-screen-body{grid-template-columns:1fr}.tv-dashboard-grid{grid-template-columns:1fr 1fr}.tv-screen-copy h1{font-size:33px}}
@media(max-width:991px){.login-tv-shell{background:#f5faf8}.tv-login-visual{display:none}.login-panel{background:linear-gradient(180deg,#f1faf6,#f8fbfa)}}


/* ---------- v1.5 Clean TV Login & Transparent Logos ---------- */
.brand-logo-img{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;object-fit:contain}
.login-brand-image,.login-mobile-logo{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.login-brand-image img,.login-mobile-logo img{max-width:100%;max-height:100%;object-fit:contain}
.clean-logo{background:transparent!important}

.login-tv-clean{background:linear-gradient(135deg,#edf8f4 0%,#f8fbfa 55%,#eff8f5 100%)}
.tv-clean-visual{background:linear-gradient(145deg,#0b8065 0%,#109a76 55%,#0d8b6c 100%);padding:38px 48px 30px}
.tv-clean-visual:before{width:500px;height:500px;right:-210px;top:-190px;background:rgba(255,255,255,.055)}
.tv-clean-visual:after{width:360px;height:360px;left:-200px;bottom:-170px;border-color:rgba(255,255,255,.13)}
.tv-clean-stage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:1;padding:28px 0 18px}
.tv-clean-device{width:min(100%,660px);position:relative}
.tv-clean-screen{position:relative;min-height:410px;border-radius:28px;padding:13px;background:linear-gradient(145deg,#1a2724,#0f1715);box-shadow:0 34px 80px rgba(5,45,36,.30),inset 0 1px 0 rgba(255,255,255,.05)}
.tv-clean-screen:before{content:"";position:absolute;inset:7px;border-radius:22px;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.tv-clean-glow{position:absolute;inset:20px;border-radius:20px;background:radial-gradient(circle at 50% 30%,rgba(34,196,145,.25),rgba(11,63,51,.08) 48%,rgba(0,0,0,0) 72%)}
.tv-clean-content{position:relative;z-index:2;min-height:384px;padding:40px 46px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.tv-clean-logo-wrap{width:72px;height:72px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:20px}
.tv-clean-logo-wrap img{max-width:72px;max-height:72px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.tv-clean-fallback{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#0c735b;font-weight:800;font-size:20px}
.tv-clean-kicker{display:inline-flex;align-items:center;gap:8px;color:#bff4df;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.tv-clean-content h1{font-size:38px;line-height:1.14;letter-spacing:-.04em;color:#fff;font-weight:800;max-width:520px;margin:0 0 14px}
.tv-clean-content p{font-size:14px;line-height:1.7;color:rgba(229,246,240,.74);max-width:470px;margin:0 0 24px}
.tv-clean-status{display:flex;gap:8px;flex-wrap:wrap}
.tv-clean-status span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:rgba(240,252,248,.82);font-size:10px;font-weight:700}
.tv-clean-status i{color:#78e5bd;font-size:12px}
.tv-clean-neck{width:100px;height:26px;margin:0 auto;background:linear-gradient(180deg,#4c5d58,#26352f);clip-path:polygon(35% 0,65% 0,75% 100%,25% 100%)}
.tv-clean-base{width:210px;height:15px;margin:0 auto;border-radius:999px;background:linear-gradient(180deg,#273832,#101a17);box-shadow:0 18px 30px rgba(0,0,0,.16)}
.clean-login-panel{background:transparent;padding:44px}
.clean-login-card{border-radius:22px;padding:36px;box-shadow:0 22px 62px rgba(20,70,57,.075)}
.clean-captcha{background:#f4faf7;border-color:#cfe5dd}
@media(max-width:1199px){.tv-clean-visual{padding:34px}.tv-clean-screen{min-height:380px}.tv-clean-content{min-height:354px;padding:34px}.tv-clean-content h1{font-size:34px}}
@media(max-width:991px){.tv-clean-visual{display:none}.clean-login-panel{padding:24px;min-height:100vh;background:linear-gradient(180deg,#f3faf7,#f8fbfa)}}
@media(max-width:480px){.clean-login-panel{padding:15px}.clean-login-card{padding:25px 20px}}


/* ---------- v1.6 Full TV LED Login + Matrix Paging ---------- */
.full-tv-body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% -20%,#d8f3e9 0%,#eff8f4 42%,#dfeae6 100%)}
.full-tv-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 28px 18px}
.full-tv-device{width:min(1440px,96vw);position:relative}
.full-tv-bezel{padding:13px;border-radius:30px;background:linear-gradient(145deg,#26302d,#0d1513 50%,#303b37);box-shadow:0 40px 100px rgba(10,43,34,.25),0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.18)}
.full-tv-screen{min-height:min(760px,82vh);border-radius:19px;overflow:hidden;position:relative;display:flex;flex-direction:column;background:linear-gradient(135deg,#08765e 0%,#0c9b75 52%,#0b8066 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.full-tv-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.16),transparent 28%),linear-gradient(125deg,transparent 20%,rgba(255,255,255,.035) 48%,transparent 72%)}
.full-tv-brandbar{position:relative;z-index:2;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(4,56,45,.12);backdrop-filter:blur(10px)}
.full-tv-brand{display:flex;align-items:center;gap:13px;min-width:0}.full-tv-logo{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px}.full-tv-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(0,0,0,.14))}.full-tv-logo-fallback{width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:800;background:rgba(255,255,255,.08)}
.full-tv-brand-copy{min-width:0}.full-tv-brand-copy strong{display:block;color:#fff;font-size:17px;letter-spacing:-.01em}.full-tv-brand-copy span{display:block;color:rgba(255,255,255,.67);font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.full-tv-status{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.78);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.full-tv-status span{width:8px;height:8px;border-radius:50%;background:#82f3bd;box-shadow:0 0 0 5px rgba(130,243,189,.12)}
.full-tv-layout{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(390px,.8fr);align-items:center;gap:55px;padding:42px 70px 38px}
.full-tv-intro{max-width:670px;color:#fff}.full-tv-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.full-tv-intro h1{font-size:clamp(37px,4.3vw,62px);line-height:1.05;letter-spacing:-.045em;margin:24px 0 18px;font-weight:800;max-width:700px}.full-tv-intro>p{max-width:600px;margin:0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.8}.full-tv-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.full-tv-features>div{display:flex;align-items:flex-start;gap:10px;border-top:1px solid rgba(255,255,255,.19);padding-top:15px}.full-tv-features>div>i{font-size:18px;color:#b9f4de;margin-top:1px}.full-tv-features span{display:block;min-width:0}.full-tv-features strong{display:block;color:#fff;font-size:11px}.full-tv-features small{display:block;color:rgba(255,255,255,.6);font-size:9px;margin-top:3px;line-height:1.4}
.full-tv-login-zone{display:flex;justify-content:flex-end}.full-tv-login-card{width:min(100%,455px);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.5);border-radius:22px;padding:32px 34px;box-shadow:0 26px 70px rgba(2,50,39,.23);backdrop-filter:blur(12px)}.full-tv-login-card h2{font-size:27px;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0 0 7px}.full-tv-login-card .lead-copy{color:var(--muted);line-height:1.6;margin-bottom:23px;font-size:12px}.full-tv-login-card .form-control{background:#fff}.full-tv-captcha{padding:12px 13px}.full-tv-captcha-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.full-tv-captcha-row .form-label{white-space:nowrap;color:var(--primary-700);font-size:13px}.full-tv-captcha-row .form-control{min-width:0}
.full-tv-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);font-size:9px;background:rgba(3,55,44,.08)}
.full-tv-neck{width:120px;height:26px;margin:0 auto;background:linear-gradient(180deg,#44504c,#202926);clip-path:polygon(34% 0,66% 0,76% 100%,24% 100%);filter:drop-shadow(0 7px 5px rgba(0,0,0,.12))}.full-tv-base{width:260px;height:16px;margin:0 auto;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#2c3532,#121817);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.assessment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.table-page-size{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;white-space:nowrap}.table-page-size .form-select{width:70px;padding-top:.35rem;padding-bottom:.35rem}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-top:1px solid var(--line);background:#fbfcfc;border-radius:0 0 var(--radius) var(--radius)}.pager-info{font-size:10px;color:var(--muted)}.table-pager .page-link{min-width:31px;height:31px;border-radius:8px!important;margin:0 2px;display:grid;place-items:center;border-color:#dce6e2;color:#526a63;font-size:10px;background:#fff}.table-pager .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}.table-pager .page-item.disabled .page-link{background:#f4f7f6;color:#b0bbb7}
@media(max-width:1100px){.full-tv-layout{grid-template-columns:1fr 430px;padding:36px 40px;gap:34px}.full-tv-intro h1{font-size:42px}.full-tv-features{grid-template-columns:1fr}.full-tv-features>div{padding-top:10px}}
@media(max-width:900px){.full-tv-page{padding:0}.full-tv-device{width:100%}.full-tv-bezel{padding:0;border-radius:0}.full-tv-screen{min-height:100vh;border-radius:0}.full-tv-neck,.full-tv-base{display:none}.full-tv-layout{grid-template-columns:1fr;padding:26px 20px 34px;gap:26px}.full-tv-intro{text-align:center;margin:0 auto}.full-tv-intro h1{font-size:34px;max-width:620px}.full-tv-intro>p{margin-inline:auto}.full-tv-features{display:none}.full-tv-login-zone{justify-content:center}.full-tv-login-card{padding:28px 26px}.full-tv-brandbar{padding:14px 18px}.full-tv-status{display:none}.full-tv-footer{padding:10px 18px;justify-content:center}.full-tv-footer span:last-child{display:none}}
@media(max-width:600px){.full-tv-brand-copy span{max-width:250px}.full-tv-layout{padding:22px 14px 28px}.full-tv-intro h1{font-size:29px;margin-top:17px}.full-tv-intro>p{font-size:13px}.full-tv-login-card{border-radius:18px;padding:24px 20px}.assessment-toolbar{align-items:flex-start;flex-direction:column}.table-pager{flex-direction:column;align-items:flex-start}.full-tv-captcha-row{grid-template-columns:1fr}.full-tv-captcha-row .form-label{white-space:normal}}


/* ---------- v1.7 Darker Green Contrast + Recommendation Engine ---------- */
:root{--primary:#08634f;--primary-700:#064f40;--primary-800:#043c31;--primary-50:#edf7f3;--primary-100:#d8eee6;--ink:#173b32}
.app-sidebar{background:linear-gradient(180deg,#075747 0%,#086b56 48%,#064a3d 100%);box-shadow:12px 0 38px rgba(4,47,38,.17)}
.app-sidebar:before{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0))}
.side-nav a{color:rgba(255,255,255,.86)}.side-nav a i{color:rgba(255,255,255,.77)}.nav-caption{color:rgba(255,255,255,.58)}
.full-tv-screen{background:linear-gradient(135deg,#064b3d 0%,#07624f 50%,#054638 100%)}
.full-tv-screen:before{background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.10),transparent 28%),linear-gradient(125deg,transparent 20%,rgba(255,255,255,.025) 48%,transparent 72%)}
.full-tv-brandbar{background:rgba(2,39,31,.28);border-bottom-color:rgba(255,255,255,.13)}
.full-tv-footer{background:rgba(2,35,28,.23)}
.full-tv-kicker{background:rgba(255,255,255,.055)}
.full-tv-login-card{box-shadow:0 28px 78px rgba(1,35,28,.30)}
.brand-preview-card{background:linear-gradient(145deg,#064b3d,#08705a)}
.prediction-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.035em;white-space:nowrap}.prediction-badge.success{background:#e8f6f1;color:#146c56;border:1px solid #cfe8de}.prediction-badge.warning{background:#fff6df;color:#8b6112;border:1px solid #eeddb4}.prediction-badge.danger{background:#fff0f0;color:#a24040;border:1px solid #efd0d0}
.recommendation-engine{overflow:hidden}.prediction-panel{border-radius:15px;padding:20px;background:linear-gradient(145deg,#064b3d,#08705a);color:#fff;position:relative;overflow:hidden}.prediction-panel:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-65px;border:26px solid rgba(255,255,255,.05)}.prediction-label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.62);font-weight:800}.prediction-rank{font-size:27px;font-weight:800;letter-spacing:-.04em;margin-top:5px}.prediction-score{font-size:11px;color:rgba(255,255,255,.68);margin-top:2px}.prediction-next{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;line-height:1.55;color:rgba(255,255,255,.8)}.prediction-next i{font-size:16px;color:#9fe7cd}.prediction-next strong{color:#fff}.prediction-warning{margin-top:12px;padding:10px 11px;border-radius:10px;background:rgba(255,196,98,.12);border:1px solid rgba(255,211,134,.18);font-size:9px;line-height:1.5;color:#ffe9c2}.prediction-warning i{margin-right:6px}
.recommendation-list{display:grid;gap:9px}.recommendation-item{display:grid;grid-template-columns:72px minmax(0,1fr) 76px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff}.recommendation-priority{height:27px;border-radius:8px;display:grid;place-items:center;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.recommendation-priority.high{background:#fff0f0;color:#a64242}.recommendation-priority.medium{background:#fff6e2;color:#946512}.recommendation-priority.low{background:#edf7f3;color:#256957}.recommendation-copy strong{display:block;color:var(--ink);font-size:10px}.recommendation-copy span{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:3px}.recommendation-potential{text-align:right;font-size:14px;font-weight:800;color:var(--primary)}.recommendation-potential small{display:block;font-size:7px;color:var(--muted);font-weight:700;margin-top:2px}.recommendation-potential.blocker{color:#ad4b4b}.simulation-disclaimer{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line);padding-top:13px;margin-top:17px;color:#768984;font-size:9px;line-height:1.55}.simulation-disclaimer i{color:var(--primary);font-size:12px;margin-top:1px}
.compact-recommendation-card{margin-bottom:78px}.mini-prediction{height:100%;min-height:125px;border-radius:14px;padding:17px;background:linear-gradient(145deg,#f0f8f5,#e6f3ee);border:1px solid #d8eae3;display:flex;flex-direction:column;justify-content:center}.mini-prediction span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.06em}.mini-prediction strong{font-size:22px;color:var(--primary-800);margin-top:4px}.mini-prediction small{font-size:9px;color:var(--muted);margin-top:4px}.mini-rec-row{display:grid;grid-template-columns:32px minmax(0,1fr) 42px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.mini-rec-row:last-child{border-bottom:0}.mini-rec-code{width:30px;height:30px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:800}.mini-rec-row strong{display:block;font-size:10px;color:var(--ink)}.mini-rec-row small{display:block;font-size:8px;color:var(--muted);line-height:1.4;margin-top:2px}.mini-rec-row>b{text-align:right;color:var(--primary);font-size:11px}
@media(max-width:767px){.recommendation-item{grid-template-columns:68px minmax(0,1fr)}.recommendation-potential{grid-column:2;text-align:left;display:flex;align-items:center;gap:5px}.recommendation-potential small{display:inline}.prediction-panel{padding:17px}}


/* ---------- v1.8 Authoritative Dark Green Contrast ---------- */
:root{
  --primary:#075846;
  --primary-700:#064737;
  --primary-800:#04382d;
  --primary-50:#edf7f3;
  --primary-100:#d6ece4;
  --ink:#17372f;
}
/* Backend sidebar: deliberately darker for stronger white-text contrast */
.app-sidebar{
  background:linear-gradient(180deg,#064838 0%,#075a46 48%,#043b30 100%)!important;
  box-shadow:12px 0 38px rgba(2,40,32,.22)!important;
}
.app-sidebar:before{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0))!important}
.sidebar-brand{background:rgba(0,0,0,.035)!important}
.nav-caption{color:rgba(255,255,255,.66)!important}
.side-nav a{color:rgba(255,255,255,.91)!important}
.side-nav a i{color:rgba(255,255,255,.84)!important}
.side-nav a .nav-icon{background:rgba(255,255,255,.09)!important}
.side-nav a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.side-nav a.active{background:#fff!important;color:#064838!important}
.side-nav a.active i{color:#075846!important}
.side-nav a.active .nav-icon{background:#e4f2ed!important}
.sidebar-brand .brand-copy strong,.sidebar-user-copy strong{color:#fff!important}
.sidebar-brand .brand-copy span,.sidebar-user-copy span{color:rgba(255,255,255,.70)!important}
.sidebar-footer{background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.16))!important}
.sidebar-logout{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.17)!important;color:rgba(255,255,255,.91)!important}

/* Full TV login: noticeably darker emerald green */
.full-tv-screen{
  background:linear-gradient(135deg,#04392e 0%,#075442 48%,#033429 100%)!important;
}
.full-tv-screen:before{
  background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.075),transparent 28%),linear-gradient(125deg,transparent 20%,rgba(255,255,255,.018) 48%,transparent 72%)!important;
}
.full-tv-brandbar{background:rgba(1,28,22,.34)!important;border-bottom-color:rgba(255,255,255,.13)!important}
.full-tv-footer{background:rgba(1,27,21,.30)!important}
.full-tv-kicker{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.full-tv-intro h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.12)}
.full-tv-intro>p{color:rgba(255,255,255,.82)!important}
.full-tv-features strong{color:#fff!important}
.full-tv-features small{color:rgba(255,255,255,.68)!important}
.full-tv-brand-copy strong{color:#fff!important}
.full-tv-brand-copy span{color:rgba(255,255,255,.68)!important}
.full-tv-status{color:rgba(255,255,255,.82)!important}
.brand-preview-card,.prediction-panel{background:linear-gradient(145deg,#04392e,#075846)!important}

/* ---------- v1.9 Web Identity Announcement & Running Text ---------- */
.settings-tabs{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:8px;border-radius:15px;box-shadow:var(--shadow-sm)}
.settings-tab{position:relative;min-width:230px;display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:11px;color:#60736d;transition:.18s ease}
.settings-tab>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f1f6f4;color:#6c817a;font-size:15px}
.settings-tab span{display:block}.settings-tab strong{display:block;font-size:11px;color:#425a53}.settings-tab small{display:block;font-size:8px;color:#8c9b97;margin-top:2px}
.settings-tab:hover{background:#f5faf8;color:var(--primary)}.settings-tab.active{background:var(--primary-50);box-shadow:inset 0 0 0 1px #d8ebe4}.settings-tab.active>i{background:var(--primary);color:#fff}.settings-tab.active strong{color:var(--primary-800)}
.settings-tab-count{position:absolute!important;right:10px;top:9px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff!important;display:grid!important;place-items:center;font-size:8px;font-weight:800}
.announcement-form-card{position:sticky;top:92px}.announcement-active-check{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dce8e4;border-radius:12px;background:#f8fbfa;cursor:pointer}.announcement-active-check .form-check-input{margin-top:2px}.announcement-active-check span{display:block}.announcement-active-check strong{display:block;font-size:10px;color:var(--ink)}.announcement-active-check small{display:block;font-size:8px;line-height:1.45;color:var(--muted);margin-top:2px}
.ticker-preview-shell{padding:13px;border-radius:14px;background:linear-gradient(145deg,#04392e,#075846)}
.announcement-ticker{position:relative;z-index:3;display:flex;align-items:center;min-height:39px;overflow:hidden;background:#fff;border-bottom:1px solid var(--line);color:#37524a}
.app-announcement-ticker{position:sticky;top:72px;z-index:1019;box-shadow:0 5px 18px rgba(24,58,49,.05)}
.login-announcement-ticker{z-index:4;background:rgba(1,31,24,.26);border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.9)}
.announcement-ticker.preview{border:0;border-radius:10px;background:rgba(255,255,255,.97);min-height:42px}
.ticker-icon{width:42px;height:39px;flex:0 0 42px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:13px}
.login-announcement-ticker .ticker-icon{background:rgba(255,255,255,.11);color:#c8f5e4}
.ticker-label{flex:0 0 auto;padding:0 11px;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--primary);border-right:1px solid var(--line)}
.login-announcement-ticker .ticker-label{color:#d7f7ea;border-right-color:rgba(255,255,255,.12)}
.ticker-viewport{min-width:0;flex:1;overflow:hidden;white-space:nowrap}
.ticker-track{display:flex;width:max-content;align-items:center;animation:tickerScroll 34s linear infinite;will-change:transform}
.ticker-track:hover{animation-play-state:paused}.ticker-group{display:flex;align-items:center;flex-shrink:0}.ticker-item{display:inline-flex;align-items:center;gap:4px;padding:0 34px;font-size:10px;line-height:39px}.ticker-item:after{content:"•";margin-left:28px;color:#9eb0aa}.ticker-item strong{color:var(--primary-800);font-weight:800}.login-announcement-ticker .ticker-item strong{color:#fff}.login-announcement-ticker .ticker-item:after{color:rgba(255,255,255,.36)}
.preview-track{animation:none;white-space:normal;width:auto}.preview-track .ticker-item{white-space:normal;line-height:1.55;padding:9px 15px}.preview-track .ticker-item:after{display:none}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.announcement-table thead th{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#82928d;background:#fafcfb}.announcement-list-copy{min-width:260px;max-width:520px}.announcement-list-copy strong{display:block;color:var(--ink);font-size:10px}.announcement-list-copy span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;margin-top:3px}.announcement-list-copy small{display:block;color:var(--primary);font-size:8px;margin-top:5px}
@media(max-width:991px){.app-announcement-ticker{top:64px}.announcement-form-card{position:static}.settings-tab{flex:1 1 230px}}
@media(max-width:600px){.ticker-label{display:none}.ticker-item{padding:0 20px}.settings-tab{min-width:100%}.login-announcement-ticker{min-height:36px}.login-announcement-ticker .ticker-icon{height:36px}.announcement-table td,.announcement-table th{white-space:nowrap}.announcement-list-copy{min-width:240px}}

/* ---------- v2.0 Dual Pathway: National + International ---------- */
.pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pathway-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 120px;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;border:1px solid #dfe9e5;background:#fff;box-shadow:var(--shadow-sm);color:var(--text);transition:.18s ease;overflow:hidden}
.pathway-card:after{content:"";position:absolute;right:-40px;top:-55px;width:160px;height:160px;border-radius:50%;background:rgba(7,88,70,.035);pointer-events:none}
.pathway-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cbded7;color:var(--text)}
.pathway-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f5f1,#d9eee7);color:var(--primary);font-size:24px}
.pathway-international .pathway-icon{background:linear-gradient(145deg,#eef4fb,#dde9f7);color:#35688d}
.pathway-copy>span{font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.pathway-international .pathway-copy>span{color:#48799d}
.pathway-copy h3{font-size:15px;font-weight:800;color:var(--ink);margin:4px 0 6px}
.pathway-copy p{font-size:9px;line-height:1.55;color:var(--muted);margin:0;max-width:620px}
.pathway-meta{text-align:right;position:relative;z-index:1}.pathway-meta strong{display:block;font-size:18px;color:var(--ink)}.pathway-meta span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.pathway-meta i{display:inline-block;font-size:18px;color:var(--primary);margin-top:9px}

.international-info{display:flex;align-items:flex-start;gap:11px;border:1px solid #dce8e4;background:#f7fbf9;border-radius:14px;padding:13px 15px}.international-info>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);flex:0 0 34px}.international-info strong{display:block;font-size:10px;color:var(--ink)}.international-info span{display:block;font-size:9px;line-height:1.55;color:var(--muted);margin-top:3px}
.metric-big.metric-text{font-size:15px;line-height:1.25;margin-top:7px}
.criterion-title{display:block;font-size:10px;color:var(--ink);line-height:1.45}.criterion-help{display:block;font-size:8px;color:var(--muted);line-height:1.5;margin-top:4px;max-width:540px}
.scopus-status-hero{display:flex;align-items:center;gap:14px;border:1px solid #dde8e4;border-radius:15px;padding:17px;background:linear-gradient(145deg,#f8fbfa,#eef5f2)}.scopus-status-hero.is-indexed{background:linear-gradient(145deg,#edf8f4,#e4f5ee);border-color:#cfe8dd}.scopus-logo-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#ea7b22,#c95c16);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:900;box-shadow:0 8px 20px rgba(176,80,16,.15)}.scopus-status-hero span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.scopus-status-hero strong{display:block;font-size:16px;color:var(--ink);margin-top:2px}.scopus-status-hero small{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.api-status-box{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dfe8e5;border-radius:13px;background:#fafcfb}.api-status-box>i{width:36px;height:36px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;flex:0 0 36px}.api-status-box strong{display:block;font-size:10px;color:var(--ink)}.api-status-box span{display:block;font-size:8px;color:var(--muted);line-height:1.5;margin-top:3px}

@media(max-width:1199px){.pathway-card{grid-template-columns:52px minmax(0,1fr);}.pathway-meta{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.pathway-meta strong,.pathway-meta span,.pathway-meta i{display:inline-block;margin:0}}
@media(max-width:991px){.pathway-grid{grid-template-columns:1fr}.pathway-card{grid-template-columns:52px minmax(0,1fr) 105px}.pathway-meta{grid-column:auto;text-align:right;display:block}.pathway-meta strong,.pathway-meta span{display:block}.pathway-meta i{margin-top:7px}}
@media(max-width:640px){.pathway-card{grid-template-columns:46px minmax(0,1fr);padding:16px}.pathway-icon{width:46px;height:46px;border-radius:13px;font-size:20px}.pathway-meta{grid-column:2;text-align:left;display:flex;gap:7px}.pathway-copy p{font-size:8px}.settings-tab{min-width:100%}}


/* ---------- v2.1 Evidence Center & Action Plan ---------- */
.operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.operation-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid #dce9e5;border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);color:var(--text);transition:.18s ease}.operation-card:hover{transform:translateY(-1px);border-color:#afd1c5;box-shadow:0 12px 30px rgba(20,55,46,.08);color:var(--text)}.operation-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--primary-50),#dff2eb);color:var(--primary);display:grid;place-items:center;font-size:19px}.operation-card span{display:block;color:var(--primary);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.operation-card strong{display:block;color:var(--ink);font-size:13px;margin-top:2px}.operation-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.operation-card>i{color:#9caeaa}.evidence-filter-grid,.action-filter-grid{display:grid;gap:8px;align-items:center}.evidence-filter-grid{grid-template-columns:1.4fr 1.1fr 1fr 1fr auto}.action-filter-grid{grid-template-columns:1.4fr 1.1fr 1fr 1fr 1fr auto;gap:8px;align-items:center}.evidence-links{display:flex;align-items:center;gap:6px}.evidence-links a{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;background:#fff;color:var(--primary)}.evidence-links a:hover{background:var(--primary-50);border-color:#b9d6cd}.server-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.priority-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:0 0 9px}.priority-high{background:#c55151}.priority-medium{background:#d8a23d}.priority-low{background:#4f8f7e}.deadline-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:#f5f8f7;color:#637771;font-size:9px;font-weight:700;white-space:nowrap}.deadline-chip.is-overdue{background:#fff0f0;color:#a24343}.action-overdue-row{background:linear-gradient(90deg,rgba(197,81,81,.035),transparent 40%)}.user-cell.compact{min-width:0}.user-cell.compact .user-list-avatar{width:30px;height:30px;border-radius:9px}.user-cell.compact strong{font-size:10px}.evidence-form-card .card-body{max-height:calc(100vh - 170px);overflow:auto}
@media(max-width:1199px){.evidence-filter-grid,.action-filter-grid{grid-template-columns:1fr 1fr 1fr}.evidence-filter-grid .btn,.action-filter-grid .btn{width:100%}.evidence-form-card .card-body{max-height:none;overflow:visible}}
@media(max-width:767px){.operation-grid{grid-template-columns:1fr}.evidence-filter-grid,.action-filter-grid{grid-template-columns:1fr}.server-pager{align-items:flex-start;flex-direction:column}.operation-card{grid-template-columns:42px 1fr auto}}


/* ---------- v2.2 OJS Auto Import ---------- */
.import-ojs-modal{border:0;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(16,57,48,.18)}
.import-ojs-modal .modal-header{padding:20px 22px;border-bottom:1px solid var(--line);align-items:flex-start}
.import-ojs-modal .modal-title{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.import-ojs-modal .modal-body{padding:22px}.import-ojs-modal .modal-footer{padding:15px 22px;border-top:1px solid var(--line);background:#fafcfb}
.ojs-import-hero{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:15px;background:linear-gradient(135deg,var(--primary-50),#f8fcfa);border:1px solid #dcece6}
.ojs-import-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#159274);color:#fff;font-size:20px;box-shadow:0 8px 18px rgba(11,107,88,.16);flex:0 0 46px}
.ojs-import-hero strong{display:block;color:var(--ink);font-size:12px}.ojs-import-hero span{display:block;color:var(--muted);font-size:10px;line-height:1.55;margin-top:3px}
.import-detail-check{padding:13px 14px 13px 38px;border:1px solid #dfe9e6;border-radius:12px;background:#fafcfb}.import-detail-check .form-check-input{margin-left:-23px;margin-top:.2rem}.import-detail-check label{cursor:pointer}.import-detail-check strong{display:block;color:var(--ink);font-size:11px}.import-detail-check span{display:block;color:var(--muted);font-size:9px;margin-top:3px}


/* ---------- v2.3 Self-Assessment & Internal Verification Workflow ---------- */
.workflow-card{border-color:#dce9e5;background:linear-gradient(135deg,#ffffff 0%,#f7fbf9 100%)}
.workflow-card .card-body{display:flex;align-items:center;justify-content:space-between;gap:20px}
.workflow-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.workflow-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);font-size:19px;flex:0 0 46px}.workflow-kicker{font-size:9px;letter-spacing:.11em;font-weight:800;color:var(--primary)}.workflow-main h4{font-size:15px;font-weight:800;color:var(--ink);margin:3px 0 4px}.workflow-main p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.workflow-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workflow-note{display:flex;gap:7px;align-items:flex-start;margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff4e8;color:#7a5a22;font-size:10px;border:1px solid #f1dfbf}
.workflow-strip{min-height:58px;padding:11px 14px;border-radius:14px;border:1px solid #dfe9e6;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow-sm)}.workflow-strip>div:first-child{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center}.workflow-strip strong{font-size:12px;color:var(--ink)}.workflow-strip small{grid-column:2;display:block;color:var(--muted);font-size:9px;margin-top:2px}.workflow-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#96a7a2}.workflow-dot.success{background:#17806a;box-shadow:0 0 0 4px rgba(23,128,106,.12)}.workflow-dot.warning{background:#d8a23d;box-shadow:0 0 0 4px rgba(216,162,61,.12)}.workflow-dot.danger{background:#c55151;box-shadow:0 0 0 4px rgba(197,81,81,.12)}.workflow-dot.secondary{background:#91a19c;box-shadow:0 0 0 4px rgba(145,161,156,.12)}
.verification-table td>strong{display:block;color:var(--ink);font-size:11px}.verification-table td>small{display:block;color:var(--muted);font-size:9px;line-height:1.4;margin-top:3px}.verification-table textarea{min-width:220px}.verification-table select{min-width:145px}.verification-score-pair{display:flex;gap:8px}.verification-score-pair span{display:flex;align-items:center;gap:6px;border-radius:10px;background:#f3f7f5;padding:7px 10px;font-size:9px;color:var(--muted)}.verification-score-pair b{font-size:12px;color:var(--ink)}.verification-actions{position:sticky;bottom:10px;z-index:20;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:12px;border:1px solid #dfe9e6;border-radius:14px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(20,55,46,.10)}
.workflow-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.workflow-summary-card{border:1px solid #e0e9e6;border-radius:14px;background:#fff;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm)}.workflow-summary-card span{font-size:10px;color:var(--muted);font-weight:700}.workflow-summary-card strong{font-size:21px;color:var(--ink)}.workflow-summary-card.submitted{border-left:3px solid #d8a23d}.workflow-summary-card.revision{border-left:3px solid #c55151}.workflow-summary-card.verified{border-left:3px solid #17806a}.workflow-status-inline{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f1f5f3;color:#536b64;font-size:9px;font-weight:700;white-space:nowrap}
@media(max-width:991px){.workflow-card .card-body{align-items:flex-start;flex-direction:column}.workflow-actions{justify-content:flex-start}.workflow-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.workflow-summary-grid{grid-template-columns:1fr}.workflow-strip{align-items:flex-start;flex-direction:column}.verification-actions .btn{flex:1 1 100%}}

/* ---------- v2.3 Verification Queue ---------- */
.workflow-monitor-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--line);box-shadow:var(--shadow-sm)}
.workflow-monitor-strip>div,.workflow-monitor-strip>a{background:#fff;padding:13px 15px;min-height:66px;display:flex;flex-direction:column;justify-content:center}.workflow-monitor-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.workflow-monitor-strip strong{font-size:22px;color:var(--ink);margin-top:2px}.workflow-monitor-strip>a{align-items:center;justify-content:center;flex-direction:row;gap:8px;font-size:10px;font-weight:800;color:var(--primary);background:var(--primary-50)}
.workflow-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.workflow-badge.warning{background:#fff0c7;color:#8b650d}.workflow-badge.danger{background:#fde3e3;color:#a33f3f}.workflow-badge.success{background:#dff4ec;color:#146c57}.workflow-badge.secondary{background:#eef2f1;color:#62736f}
.workflow-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line);border-radius:15px;overflow:hidden}.workflow-summary>div{background:#fff;padding:15px}.workflow-summary span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.07em}.workflow-summary strong{display:block;font-size:15px;color:var(--ink);margin-top:4px}.verification-actions{align-items:center}.verification-actions .save-note{max-width:620px}
@media(max-width:991px){.workflow-monitor-strip{grid-template-columns:repeat(2,1fr)}.workflow-monitor-strip>a{grid-column:span 2}.workflow-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.workflow-monitor-strip,.workflow-summary{grid-template-columns:1fr}.workflow-monitor-strip>a{grid-column:span 1}}


/* ---------- v2.4.2 Visible profile access ---------- */
.topbar-profile-btn{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:10px;border:1px solid #cfe1db;background:#fff;color:var(--primary);font-size:11px;font-weight:800;transition:.18s ease;white-space:nowrap}.topbar-profile-btn:hover{background:var(--primary-50);border-color:#9fc6b9;color:var(--primary-700)}.topbar-profile-btn i{font-size:15px}.page-actions .btn{white-space:nowrap}@media(max-width:767px){.topbar-profile-btn{width:36px;padding:0}.topbar-profile-btn span{display:none}.page-actions{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;max-width:100%}.page-actions .btn{flex:0 0 auto}}

/* v2.4.3 journal profile editor */
.journal-profile-assignees{min-height:44px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 11px;border:1px solid #d9e3e0;border-radius:10px;background:#f8fbfa}.journal-profile-assignees .journal-chip{font-size:10px;padding:6px 9px}

/* ---------- v2.5 Instrumen Nasional Full Juknis 2026 ---------- */
.national-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.national-score-grid>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 16px;box-shadow:var(--shadow-sm)}
.national-score-grid span{display:block;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.national-score-grid strong{display:block;font-size:21px;letter-spacing:-.03em;color:var(--ink)}
.national-score-grid small{display:block;margin-top:3px;font-size:9px;color:var(--muted)}
.national-score-penalty strong{color:#b44848}.national-score-final{background:linear-gradient(145deg,#f0faf6,#fff)!important;border-color:#cfe6de!important}.national-score-final strong{color:var(--primary)}
.group-score-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.group-score-item{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}.group-score-item>span{width:28px;height:28px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 28px}.group-score-item strong{display:block;font-size:10px;color:var(--ink)}.group-score-item small{display:block;font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:115px}
.detailed-matrix-table .form-select{line-height:1.45}.selected-score{font-size:9px;color:var(--muted)}.selected-score strong{color:var(--primary);font-size:11px}.disincentive-row{background:#fff9f9!important}.disincentive-row td{border-color:#f2dfdf}.danger-code{background:#fff0f0!important;color:#a63f3f!important;border-color:#efcccc!important}.weight-chip.danger{background:#fff0f0;color:#a63f3f;border-color:#efcccc}
.self-choice{border:1px solid #dce8e4;background:#f8fbfa;border-radius:11px;padding:9px 10px}.self-choice span{display:block;font-size:10px;font-weight:800;color:var(--primary)}.self-choice small{display:block;font-size:9px;line-height:1.45;color:var(--muted);margin-top:4px}
.national-master-list{display:grid}.national-master-item{border-bottom:1px solid var(--line)}.national-master-item:last-child{border-bottom:0}.national-master-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff}.national-master-item summary::-webkit-details-marker{display:none}.national-master-item[open] summary{background:#f8fbfa}.national-master-body{padding:16px 18px 18px;background:#fcfdfd;border-top:1px solid var(--line)}
@media(max-width:1199px){.national-score-grid{grid-template-columns:repeat(2,1fr)}.group-score-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.national-score-grid{grid-template-columns:1fr 1fr}.group-score-strip{grid-template-columns:repeat(2,1fr)}.detailed-matrix-table{min-width:1100px}}
@media(max-width:480px){.national-score-grid{grid-template-columns:1fr}}

/* ---------- v2.6 Simplified National Workflow ---------- */
.simplified-flow-card .card-body{padding:22px}
.simple-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative}
.simple-flow-step{position:relative;display:flex;align-items:flex-start;gap:12px;min-height:112px;padding:16px;border:1px solid #e1eae7;border-radius:16px;background:#fff;color:var(--text);transition:.18s ease}
a.simple-flow-step:hover{border-color:#9ecbbe;background:#f8fcfa;color:var(--text);transform:translateY(-1px)}
.simple-flow-step:after{content:"";position:absolute;right:-12px;top:50%;width:12px;height:2px;background:#d9e4e0;transform:translateY(-50%)}
.simple-flow-step:last-child:after{display:none}
.simple-flow-num{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef4f2;color:#6e817b;font-weight:800;font-size:12px;flex:0 0 34px}
.simple-flow-step strong{display:block;color:var(--ink);font-size:12px;margin-top:1px}
.simple-flow-step span{display:block;color:#60736e;font-size:10px;margin-top:4px}
.simple-flow-step small{display:block;color:#8a9a96;font-size:9px;line-height:1.45;margin-top:7px}
.simple-flow-step.active{border-color:#65a995;background:linear-gradient(145deg,#f3fbf8,#edf8f4);box-shadow:0 7px 22px rgba(10,92,71,.08)}
.simple-flow-step.active .simple-flow-num{background:var(--primary);color:#fff}
.simple-flow-step.done{border-color:#b7dacd;background:#f6fbf9}
.simple-flow-step.done .simple-flow-num{background:#17806a;color:#fff}
.simple-flow-step.done .simple-flow-num:before{content:"✓";font-size:14px}.simple-flow-step.done .simple-flow-num{font-size:0}
.simple-flow-step.warning{border-color:#ead5a8;background:#fffaf0}.simple-flow-step.warning .simple-flow-num{background:#c08a28;color:#fff}
.simple-flow-step.pending{opacity:.82}
.flow-next-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-radius:15px;background:linear-gradient(135deg,#f4f9f7,#eef6f3);border:1px solid #dfeae6}
.flow-next-action>div:first-child{min-width:0}.flow-next-kicker{display:block;color:var(--primary);font-size:8px;font-weight:800;letter-spacing:.12em;margin-bottom:4px}.flow-next-action strong{display:block;color:var(--ink);font-size:13px}.flow-next-action small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.45}.flow-next-buttons{display:flex;gap:8px;align-items:center;flex:0 0 auto}.flow-next-buttons form{margin:0}
.support-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.support-tool-grid>a{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e3ebe8;border-radius:13px;background:#fafcfb;color:var(--text);transition:.18s ease}.support-tool-grid>a:hover{background:var(--primary-50);border-color:#b8d7cd;color:var(--text)}.support-tool-grid>a>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9f5f1;color:var(--primary);font-size:15px;flex:0 0 34px}.support-tool-grid strong{display:block;color:var(--ink);font-size:10px}.support-tool-grid span{display:block;color:var(--muted);font-size:8px;line-height:1.4;margin-top:2px}
.process-reset-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px dashed #e4bebe;border-radius:14px;background:#fff8f8}.process-reset-panel>div{min-width:0}.process-reset-panel strong{display:block;color:#874242;font-size:11px}.process-reset-panel span{display:block;color:#927272;font-size:9px;line-height:1.45;margin-top:3px}
.dropdown-menu .dropdown-item{font-size:11px;padding:.55rem .8rem;color:#425a54}.dropdown-menu .dropdown-item i{color:var(--primary)}
@media(max-width:1199px){.simple-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-flow-step:nth-child(2):after{display:none}.support-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.simple-flow{grid-template-columns:1fr}.simple-flow-step:after{display:none}.flow-next-action{align-items:flex-start;flex-direction:column}.flow-next-buttons,.flow-next-buttons .btn,.flow-next-buttons form{width:100%}.flow-next-buttons form .btn{width:100%}.support-tool-grid{grid-template-columns:1fr}.process-reset-panel{align-items:flex-start;flex-direction:column}.process-reset-panel .btn{width:100%}}


/* ---------- v2.7 Pusat Optimalisasi Jurnal ---------- */
.optimization-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#063e33,#08705a);color:#fff;box-shadow:0 14px 32px rgba(4,62,51,.12)}
.optimization-kicker{display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c9f3e5}.optimization-hero-copy h2{font-size:20px;margin:7px 0 5px;font-weight:800;letter-spacing:-.025em}.optimization-hero-copy p{margin:0;color:rgba(255,255,255,.73);font-size:10px;line-height:1.6}.optimization-hero-status{min-width:230px;border-radius:14px;padding:14px 16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}.optimization-hero-status span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6)}.optimization-hero-status strong{display:block;font-size:14px;margin-top:4px}.optimization-hero-status small{display:block;font-size:9px;color:rgba(255,255,255,.66);margin-top:5px}.optimization-hero-status.success{background:rgba(66,190,145,.18)}.optimization-hero-status.warning{background:rgba(226,176,74,.16)}.optimization-hero-status.danger{background:rgba(209,91,91,.17)}
.optimization-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.optimization-kpi{border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px 16px;box-shadow:var(--shadow-sm)}.optimization-kpi span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--muted)}.optimization-kpi strong{display:block;font-size:24px;color:var(--ink);margin-top:7px;letter-spacing:-.03em}.optimization-kpi small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.optimization-kpi.primary{background:linear-gradient(145deg,#eef9f5,#fff);border-color:#cce5dc}.optimization-kpi.primary strong{color:var(--primary)}.optimization-kpi.success strong{color:#14715b}.optimization-kpi.warning strong{color:#a87519}
.optimization-chart{height:300px}.optimization-empty{min-height:270px;border:1px dashed #d4e2dd;border-radius:15px;background:#fafcfb;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.optimization-empty.compact{min-height:190px}.optimization-empty i{width:52px;height:52px;border-radius:15px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:22px;margin-bottom:12px}.optimization-empty strong{font-size:12px;color:var(--ink)}.optimization-empty span{font-size:9px;line-height:1.55;color:var(--muted);max-width:430px;margin-top:5px}
.optimization-progress-block .progress{height:8px;border-radius:999px;background:#edf2f0}.optimization-progress-block .progress-bar,.optimization-group-row .progress-bar{background:linear-gradient(90deg,#08705a,#17a17d)}.optimization-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.optimization-progress-head span{font-size:9px;color:var(--muted);font-weight:700}.optimization-progress-head strong{font-size:13px;color:var(--ink)}.optimization-progress-block small{display:block;font-size:8px;color:var(--muted);margin-top:7px}.optimization-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.optimization-mini-stats>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.optimization-mini-stats span{display:block;font-size:8px;color:var(--muted)}.optimization-mini-stats strong{display:block;color:var(--ink);font-size:16px;margin-top:3px}
.optimization-priority-list{display:grid;gap:9px}.optimization-priority-item{display:grid;grid-template-columns:34px minmax(0,1fr) 92px;align-items:center;gap:11px;border:1px solid #e2ebe8;border-radius:13px;padding:11px 12px;background:#fff}.optimization-priority-rank{width:30px;height:30px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:10px}.optimization-priority-copy strong{display:block;font-size:10px;color:var(--ink)}.optimization-priority-copy span{display:block;font-size:8px;line-height:1.45;color:var(--muted);margin-top:3px}.optimization-priority-meta{justify-self:end;text-align:right;font-size:8px;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef3f1;color:#61736e}.optimization-priority-meta small{display:block;font-size:7px;margin-top:2px;font-weight:700}.optimization-priority-meta.high{background:#fff0f0;color:#a44343}.optimization-priority-meta.medium{background:#fff7e7;color:#946817}.optimization-priority-meta.low{background:#edf8f4;color:#25705f}
.optimization-group-list{display:grid;gap:9px}.optimization-group-row{display:grid;grid-template-columns:32px minmax(0,1fr) 58px;gap:10px;align-items:center}.optimization-group-code{width:30px;height:30px;border-radius:9px;background:#edf7f3;color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:800}.optimization-group-row strong{display:block;font-size:9px;color:var(--ink);margin-bottom:4px}.optimization-group-row .progress{height:6px;background:#edf2f0}.optimization-group-row small{text-align:right;font-size:8px;color:var(--muted)}
.optimization-cycle-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border-radius:13px;background:#f8fbfa;border:1px solid #dfe9e5}.optimization-cycle-action>div{min-width:0}.optimization-cycle-action strong{display:block;font-size:11px;color:var(--ink)}.optimization-cycle-action span{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:4px}.optimization-evaluate-form{display:flex;align-items:center;gap:8px;min-width:min(100%,420px)}.optimization-evaluate-form .form-control{min-width:210px}.optimization-cycle-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.optimization-cycle-history>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.optimization-cycle-history span{display:block;font-size:8px;color:var(--primary);font-weight:800;text-transform:uppercase}.optimization-cycle-history strong{display:block;font-size:18px;color:var(--ink);margin-top:4px}.optimization-cycle-history small{display:block;font-size:7px;color:var(--muted);margin-top:3px}
@media(max-width:1199px){.optimization-kpis{grid-template-columns:repeat(2,1fr)}.optimization-hero{align-items:flex-start}.optimization-cycle-history{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.optimization-hero{flex-direction:column}.optimization-hero-status{width:100%;min-width:0}.optimization-kpis{grid-template-columns:1fr 1fr}.optimization-priority-item{grid-template-columns:32px minmax(0,1fr)}.optimization-priority-meta{grid-column:2;justify-self:start}.optimization-cycle-action{align-items:flex-start;flex-direction:column}.optimization-cycle-action form,.optimization-evaluate-form{width:100%}.optimization-evaluate-form{flex-direction:column;align-items:stretch}.optimization-evaluate-form .form-control{min-width:0}.optimization-cycle-history{grid-template-columns:1fr}}
@media(max-width:480px){.optimization-kpis{grid-template-columns:1fr}}


/* ---------- v2.8 Responsive action bars (zoom 90-100%) ---------- */
/* Keep desktop action buttons on one clean row. If space becomes tight, the row
   scrolls horizontally instead of wrapping individual buttons onto a second line. */
.page-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:16px;
  row-gap:10px;
}
.page-head>div:first-child{min-width:0}
.page-head .page-title{overflow-wrap:anywhere}
.page-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:6px;
  min-width:0;
  max-width:min(66vw,860px);
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 1px 4px;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
}
.page-actions::-webkit-scrollbar{display:none}
.page-actions>.btn,
.page-actions>form,
.page-actions>.dropdown{flex:0 0 auto;margin:0}
.page-actions>form{display:flex}
.page-actions .btn{
  min-height:38px;
  padding:.53rem .72rem;
  font-size:11.5px;
  line-height:1.15;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.page-actions .dropdown>.btn{width:auto}

/* Other action areas should also remain aligned on desktop. */
.workflow-actions,
.verification-actions{
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.workflow-actions::-webkit-scrollbar,
.verification-actions::-webkit-scrollbar{display:none}
.workflow-actions>.btn,
.workflow-actions>form,
.verification-actions>.btn,
.verification-actions>form{flex:0 0 auto;margin:0}

/* More compact desktop controls when the app area is narrower (sidebar + browser zoom). */
@media(max-width:1366px){
  .app-content{padding-left:22px;padding-right:22px}
  .page-head{column-gap:12px}
  .page-actions{max-width:min(64vw,740px);gap:5px}
  .page-actions .btn{padding:.49rem .62rem;font-size:10.5px}
  .page-actions .btn i{margin-right:.28rem!important}
}
@media(max-width:1180px) and (min-width:768px){
  .page-actions{max-width:58vw}
  .page-actions .btn{font-size:10px;padding:.46rem .58rem}
}

/* Tablet/mobile: keep the action row single-line and swipeable. */
@media(max-width:767px){
  .page-head{display:grid;grid-template-columns:1fr;align-items:start;row-gap:12px}
  .page-actions{width:100%;max-width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:5px}
  .page-actions .btn{flex:0 0 auto;min-height:37px;font-size:10.5px;padding:.48rem .62rem}
  .workflow-actions{width:100%;justify-content:flex-start}
  .verification-actions{overflow-x:visible;flex-wrap:wrap}
}
@media(max-width:480px){
  .page-actions .btn{flex:0 0 auto}
}


/* ---------- v2.9 Tools Indeksasi ---------- */
.indexing-info-card{border-left:4px solid var(--primary)}
.indexing-source-card{overflow:hidden;position:relative}.indexing-source-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary),#19a17f)}
.indexing-source-head{display:flex;align-items:center;gap:12px}.indexing-source-head>div:last-child span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.indexing-source-head>div:last-child strong{display:block;color:var(--ink);font-size:13px;margin-top:2px}
.indexing-source-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);font-size:20px;flex:0 0 44px}.indexing-source-icon.scholar{background:#eef5ff;color:#376ab6}.indexing-source-icon.garuda{background:#fff6e6;color:#9a6a13}.indexing-source-icon.sinta{background:#edf8f5;color:var(--primary)}
@media(max-width:991px){.indexing-source-card .btn{white-space:normal}}


/* ---------- v2.10 Auto SINTA Sync ---------- */
.indexing-auto-note{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:var(--primary-50);border:1px solid #d6ebe4;color:var(--primary-700);font-size:10px;font-weight:700}
.indexing-auto-note i{color:var(--primary)}
.sinta-auto-panel{border:1px solid #d8e8e3;background:linear-gradient(180deg,#f8fcfa,#eef8f4);border-radius:12px;padding:13px 14px;min-height:111px}
.sinta-auto-panel strong{color:var(--ink);font-size:13px}

/* ---------- v2.13 Tools, Citasi & OJS Theme Generator ---------- */
.tools-tabs-wrap{overflow-x:auto;scrollbar-width:none}.tools-tabs-wrap::-webkit-scrollbar{display:none}.tools-tabs{display:inline-flex;gap:7px;padding:5px;background:#eaf4f0;border:1px solid #d9e9e4;border-radius:14px;min-width:max-content}.tools-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;color:#536a63;font-size:11px;font-weight:800;white-space:nowrap}.tools-tab:hover{background:rgba(255,255,255,.6);color:var(--primary)}.tools-tab.active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(25,72,60,.09)}
.tools-summary-card .card-body{display:flex;flex-direction:column;gap:8px}.tools-summary-card strong{font-size:14px;color:var(--ink)}.tools-summary-card span{font-size:10px;line-height:1.55;color:var(--muted)}.tools-summary-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:18px}
.citation-metric-card{overflow:hidden}.citation-metric-card .card-body{display:flex;flex-direction:column;min-height:132px;justify-content:center}.citation-metric-card span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.citation-metric-card strong{font-size:30px;letter-spacing:-.04em;color:var(--primary-700);margin:7px 0 4px}.citation-metric-card small{font-size:10px;color:var(--muted)}
.ojs-theme-preview{--tp:#0b6b58;--ts:#075646;--ta:#d5a63c;--tb:#f4f8f6;--tSurface:#fff;--tt:#18352f;--tr:14px;background:var(--tb);border:1px solid #dbe7e3;border-radius:16px;overflow:hidden;color:var(--tt);box-shadow:0 14px 36px rgba(20,55,46,.08)}.ojs-preview-head{padding:22px 24px;background:linear-gradient(135deg,var(--ts),var(--tp));color:#fff}.ojs-theme-preview[data-header="solid"] .ojs-preview-head{background:var(--tp)}.ojs-theme-preview[data-header="clean"] .ojs-preview-head{background:var(--tSurface);color:var(--tt);border-bottom:1px solid #dce7e3}.ojs-preview-title{font-size:19px;font-weight:800;letter-spacing:-.02em}.ojs-preview-nav{display:flex;gap:17px;margin-top:16px;font-size:9px;font-weight:700;opacity:.9}.ojs-preview-body{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;padding:22px;background:var(--tSurface)}.ojs-preview-main,.ojs-preview-side{border-radius:var(--tr)}.ojs-preview-kicker{font-size:9px;font-weight:800;letter-spacing:.09em;color:var(--tp)}.ojs-preview-main h3{font-size:17px;margin:7px 0 15px;color:var(--ts)}.ojs-preview-article{border-top:1px solid #e7eeeb;padding:13px 0;display:flex;flex-direction:column;gap:4px}.ojs-preview-article strong{font-size:11px}.ojs-preview-article span{font-size:8px;color:#81918c}.ojs-preview-btn{border:0;border-radius:calc(var(--tr) - 4px);background:var(--tp);color:#fff;padding:9px 13px;font-size:9px;font-weight:800}.ojs-preview-side{padding:14px;background:var(--tb);font-size:9px}.ojs-preview-side strong{font-size:11px;color:var(--ts)}.ojs-preview-side p{margin:7px 0 13px;color:#71847f}.ojs-preview-block{padding:9px;border-radius:calc(var(--tr) - 5px);background:var(--tSurface);border-left:3px solid var(--ta);margin-top:8px}.ojs-preview-foot{background:var(--ts);color:#fff;font-size:8px;padding:12px 22px;border-top:3px solid var(--ta)}.theme-install-note{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border-radius:12px;background:#f8fbfa;border:1px solid var(--line)}.theme-install-note strong{font-size:10px;color:var(--primary);white-space:nowrap}.theme-install-note span{font-size:9px;line-height:1.5;color:var(--muted)}
@media(max-width:767px){.ojs-preview-body{grid-template-columns:1fr}.ojs-preview-side{display:none}.ojs-preview-head{padding:18px}.ojs-preview-nav{gap:10px;overflow-x:auto}.tools-tab{padding:9px 12px}}


/* ---------- v2.17 OJS right-sidebar preview ---------- */
.ojs-preview-side{padding:0;background:transparent;display:flex;flex-direction:column;gap:10px}
.ojs-preview-side-card{padding:13px;background:var(--tSurface);border:1px solid rgba(11,107,88,.15);border-radius:var(--tr);box-shadow:0 6px 16px rgba(20,55,46,.06);font-size:9px}
.ojs-preview-side-card>strong{display:block;font-size:10px;color:var(--ts);padding-bottom:7px;margin-bottom:7px;border-bottom:2px solid var(--ta)}
.ojs-preview-side-card p{margin:0;color:#71847f}
.ojs-preview-side-link{padding:5px 0;border-bottom:1px solid #edf2f0;color:var(--tp);font-weight:600}.ojs-preview-side-link:last-child{border-bottom:0}
.ojs-preview-index{font-size:8px;line-height:1.6;color:#657a73}
.ojs-theme-preview[data-sidebar="minimal"] .ojs-preview-side-card{box-shadow:none;border:0;border-left:3px solid var(--tp);border-radius:0;padding:8px 12px}
.ojs-theme-preview[data-sidebar="minimal"] .ojs-preview-side-card>strong{border-bottom:0;padding-bottom:3px;margin-bottom:4px}
.ojs-theme-preview[data-sidebar="plain"] .ojs-preview-side-card{box-shadow:none;border:0;border-radius:0;padding:8px 0;background:transparent}
.ojs-theme-preview[data-sidebar="plain"] .ojs-preview-side-card>strong{border-bottom:0;padding-bottom:3px}
@media(max-width:767px){.ojs-preview-body{grid-template-columns:1fr}.ojs-preview-side{display:grid;grid-template-columns:1fr 1fr}.ojs-preview-side-card{min-width:0}}


/* ---------- v2.18 SumoPod AI Assistant ---------- */
.ai-tools-card{border-color:#d9e9e4;background:linear-gradient(180deg,#fff,#f7fbf9)}
.ai-tools-card .tools-summary-icon{background:linear-gradient(135deg,#e8f7f2,#f2ebff);color:#6b4cb3}
.ai-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ai-status-grid>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.ai-status-grid span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.ai-status-grid strong{display:block;margin-top:4px;font-size:11px;color:var(--ink);overflow-wrap:anywhere}
.ai-theme-box{padding:14px;border:1px solid #d8e8e3;border-radius:13px;background:linear-gradient(135deg,#f3fbf8,#f8f6ff)}.ai-theme-box>div strong{font-size:11px;color:var(--ink)}.ai-theme-box>div i{color:#7755b8}
.ai-output{white-space:pre-wrap;font-family:Inter,"Segoe UI",sans-serif;font-size:12px;line-height:1.75;color:#2d4740;background:#fbfdfc;border:1px solid var(--line);border-radius:14px;padding:18px;max-height:680px;overflow:auto}
.ai-privacy-note{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:11px;background:var(--primary-50);color:#49665e;font-size:9.5px;line-height:1.55}.ai-privacy-note i{color:var(--primary);font-size:15px;flex:0 0 auto}
@media(max-width:767px){.ai-status-grid{grid-template-columns:1fr}.ai-output{max-height:none}}

/* v2.18.1 AI Theme Blueprint */
.ai-theme-difference-note{height:100%;min-height:70px;border:1px solid rgba(11,107,88,.15);border-radius:12px;background:#f3faf7;padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.ai-theme-difference-note strong{font-size:10px;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.ai-theme-difference-note span{font-size:9px;line-height:1.5;color:var(--muted);margin-top:3px}

/* ---------- v2.18.4 Secure Theme Generator ---------- */
.secure-theme-alert{background:linear-gradient(135deg,#eaf8f2,#f7fbf9);color:#28594c;box-shadow:0 8px 22px rgba(17,79,62,.05)}
.secure-banner-card{border-color:#d7e9e2}.secure-banner-preview{height:100%;border:1px solid #dce8e4;border-radius:14px;background:#f8fbfa;padding:10px}.secure-banner-preview img{width:100%;height:120px;object-fit:cover;border-radius:10px;display:block}.secure-banner-meta{display:flex;flex-direction:column;gap:2px;margin-top:9px}.secure-banner-meta strong{font-size:10px;color:var(--ink);overflow-wrap:anywhere}.secure-banner-meta span,.secure-banner-meta small{font-size:8.5px;color:var(--muted)}
.secure-banner-empty{min-height:170px;border:1px dashed #cfe0da;border-radius:14px;background:#fafcfb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--muted)}.secure-banner-empty i{font-size:27px;color:var(--primary);margin-bottom:8px}.secure-banner-empty strong{font-size:11px;color:var(--ink)}.secure-banner-empty span{font-size:9px;margin-top:4px;max-width:250px}
.secure-banner-options{padding:12px;border:1px solid #dce9e4;border-radius:12px;background:#f8fbfa}.secure-banner-options .form-check-label{font-size:10px;font-weight:700;color:#38594f}.secure-banner-options .form-label{font-size:9px}
.theme-security-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-security-checks>div{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dce9e4;border-radius:10px;background:#f8fbfa;color:#46675d;font-size:8.5px;font-weight:700}.theme-security-checks i{color:#168066}
@media(max-width:767px){.theme-security-checks{grid-template-columns:1fr 1fr}.secure-banner-preview img{height:100px}}
@media(max-width:480px){.theme-security-checks{grid-template-columns:1fr}}

/* ---------- v2.18.5 Auto-Fit OJS Page Header Banner ---------- */
.ojs-preview-head{padding:0!important;overflow:hidden}
.ojs-preview-banner{display:none;width:100%;height:150px;object-fit:cover;object-position:center center}
.ojs-preview-title{padding:22px 24px 0}
.ojs-preview-nav{padding:13px 24px 15px;margin-top:0!important;background:rgba(0,0,0,.10)}
@media(max-width:767px){.ojs-preview-banner{height:96px}.ojs-preview-title{padding:17px 18px 0}.ojs-preview-nav{padding:11px 18px 13px}}


/* ---------- v2.18.8 AI Recommendation UI + History Paging ---------- */
.ai-recommendation-card{overflow:hidden}.ai-recommendation-card .card-header{background:linear-gradient(180deg,#fff,#fbfdfc)}
.ai-result-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#edf8f5;color:#0a705b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:1px solid #d4ebe4}.ai-result-badge i{font-size:11px}
.ai-recommendation-body{padding:16px;background:#f8fbfa;max-height:720px;overflow:auto}.ai-recommendation-view{display:grid;gap:12px}.ai-rec-section{background:#fff;border:1px solid #e0ebe7;border-radius:15px;overflow:hidden;box-shadow:0 5px 18px rgba(20,55,46,.04)}.ai-rec-heading{margin:0;padding:13px 15px;font-size:12px;font-weight:800;color:#163f35;background:linear-gradient(90deg,#edf8f5,#fff);border-bottom:1px solid #e4eeeb}.ai-rec-section-body{padding:13px 15px;display:grid;gap:8px}.ai-rec-paragraph{margin:0;color:#465f58;font-size:11px;line-height:1.72}.ai-rec-paragraph strong{color:#1a4439}.ai-rec-priority{display:grid;grid-template-columns:27px 1fr;align-items:start;gap:9px;padding:9px 10px;border-radius:11px;background:#fbfcfc;border:1px solid #e8efed}.ai-rec-priority-tag{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#0c755f;color:#fff;font-size:9px;font-weight:800}.ai-rec-priority-text{font-size:11px;line-height:1.6;color:#344f48;padding-top:4px}.ai-rec-detail{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start;padding:7px 0;border-bottom:1px dashed #e7eeeb}.ai-rec-detail:last-child{border-bottom:0}.ai-rec-detail-label{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 7px;border-radius:7px;background:#eef7f4;color:#0c6e59;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ai-rec-detail-text{font-size:10.5px;color:#465e57;line-height:1.6}.ai-rec-list{margin:0;padding-left:19px;display:grid;gap:5px;color:#455f57;font-size:10.5px;line-height:1.55}.ai-result-footer{display:flex;align-items:center;gap:8px;padding:10px 15px;border-top:1px solid #e3ece9;background:#fff;color:#748780;font-size:9px}.ai-result-footer i{color:#0b745d}
.ai-history-card .card-header{padding-top:15px;padding-bottom:15px}.ai-history-table thead th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#70817c;background:#f7faf9;border-bottom:1px solid #e1eae7}.ai-history-table tbody td{font-size:10px;color:#455d56}.ai-history-time{display:flex;align-items:center;gap:8px}.ai-history-time i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eef7f4;color:#0a705b}.ai-history-time span{font-weight:700;color:#334d46}.ai-history-time small{display:block;color:#8b9b96;font-size:8px;font-weight:500;margin-top:1px}.ai-history-type{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;font-size:8.5px;font-weight:800}.ai-history-type.recommendation{background:#edf8f5;color:#0b705b}.ai-history-type.theme{background:#f2eefb;color:#6747a4}.ai-history-empty{display:flex;align-items:center;gap:12px;padding:8px}.ai-history-empty>i{width:42px;height:42px;border-radius:12px;background:#f1f6f4;color:#769088;display:grid;place-items:center;font-size:18px}.ai-history-empty strong{display:block;font-size:11px;color:#344c45}.ai-history-empty span{display:block;font-size:9px;color:#869691;margin-top:3px}.ai-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.ai-page-info{font-size:9px;color:#7e908a}.ai-history-pagination .page-link{border-radius:8px!important;margin:0 2px;border-color:#dce6e3;color:#46655d;min-width:30px;text-align:center}.ai-history-pagination .page-item.active .page-link{background:#0b705b;border-color:#0b705b;color:#fff}
@media(max-width:767px){.ai-recommendation-body{max-height:none}.ai-rec-detail{grid-template-columns:1fr}.ai-rec-detail-label{justify-self:start}.ai-history-pagination{align-items:flex-start;flex-direction:column}.ai-result-badge{display:none}}


/* ---------- v2.18.9 Dropdown fix & Theme Security Log ---------- */
.page-actions.dropdown-open{overflow:visible!important;position:relative;z-index:1080}
.page-actions .dropdown.show{z-index:1090}
.page-actions .dropdown-menu{z-index:1100;min-width:220px;border:1px solid #dce8e4;border-radius:12px;padding:6px;box-shadow:0 16px 38px rgba(16,55,46,.15)}
.page-actions .dropdown-menu .dropdown-item{border-radius:8px;padding:.58rem .7rem}
.page-actions .dropdown-menu .dropdown-item:hover{background:var(--primary-50);color:var(--primary-700)}
.theme-log-card .card-header{min-height:76px}.theme-log-table code{font-size:10px;color:#a62a5f;background:#fff0f6;border-radius:7px;padding:4px 7px;white-space:nowrap}.theme-log-table td{font-size:11px}.theme-log-table th{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#70827d;background:#f7faf9}.theme-log-card .pagination .page-link{min-width:30px;text-align:center}
@media(max-width:767px){.page-actions.dropdown-open{overflow:visible!important}.page-actions .dropdown-menu{min-width:210px}}

/* ---------- v2.19 OJS Health Check & Template Center ---------- */
.health-hero{background:linear-gradient(135deg,#f7fcfa,#eef8f4);border-color:#dcebe6}.health-score-card .card-body{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.health-score-card span{width:100%;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.health-score-card strong{font-size:42px;line-height:1;color:var(--primary);letter-spacing:-.05em}.health-score-card small{font-size:12px;color:var(--muted);font-weight:700}.health-mini-stat span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.health-mini-stat strong{display:block;font-size:18px;color:var(--ink);line-height:1.25}.health-mini-stat small{display:block;margin-top:9px;color:var(--muted);font-size:9px}.health-table th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#71847f}.health-table td{font-size:11px}.health-category{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f1f6f4;color:#536a63;font-size:9px;font-weight:800}.health-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.health-status.pass{background:#e9f7f2;color:#147259}.health-status.warning{background:#fff6df;color:#96630d}.health-status.fail{background:#fff0f0;color:#a84242}.health-recommendations{display:grid;gap:10px}.health-rec{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfcfc}.health-rec strong{display:block;font-size:11px;color:var(--ink)}.health-rec p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.template-center-head{background:linear-gradient(135deg,#f7fcfa,#f0f7f5)}.template-note{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;background:#eaf6f2;color:var(--primary);font-size:10px;font-weight:800}.template-grid{display:grid;gap:9px}.template-card{display:grid;grid-template-columns:42px 1fr 22px;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;transition:.18s ease}.template-card:hover{border-color:#a8cfc2;background:#f8fcfa;transform:translateY(-1px)}.template-card.active{border-color:#7db6a5;background:#edf8f4;box-shadow:0 0 0 2px rgba(11,107,88,.05)}.template-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-50);display:grid;place-items:center;color:var(--primary);font-size:18px}.template-card span{display:block;font-size:8px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.06em}.template-card strong{display:block;margin-top:3px;font-size:11px;color:var(--ink)}.template-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:4px 0 0}.template-arrow{color:#9aa9a5}.template-document-preview{background:#f7f9f8;padding:24px}.template-doc-title{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.03em;text-align:center}.template-doc-meta{text-align:center;margin:8px 0 22px}.template-doc-meta strong{display:block;font-size:12px;color:var(--primary)}.template-doc-meta span{font-size:9px;color:var(--muted)}.template-section{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin-bottom:10px}.template-section h3{font-size:12px;color:var(--ink);font-weight:800;margin:0 0 7px}.template-section p{font-size:10.5px;line-height:1.7;color:#4b615b;margin:0}
@media(max-width:1199px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-card{grid-template-columns:38px 1fr}.template-arrow{display:none}}
@media(max-width:767px){.template-grid{grid-template-columns:1fr}.template-document-preview{padding:16px}.health-score-card strong{font-size:34px}}


/* v2.20 Juknis smart checklist */
.smart-check-card{border:1px solid #dce9e5;border-radius:14px;background:#f8fbfa;padding:12px}.smart-check-card.compact{padding:8px}.smart-check-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.smart-check-head strong{display:block;font-size:11px;color:var(--ink)}.smart-check-head small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.smart-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.smart-check-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:9px;background:#fff;border:1px solid #e5eeeb;font-size:9px;line-height:1.45;color:#41554f}.smart-check-item input{margin-top:2px;accent-color:var(--primary)}.smart-check-item b{color:var(--primary);margin-right:3px}.smart-check-result{margin-top:10px;padding-top:9px;border-top:1px dashed #d6e3df;font-size:10px;color:#50645e}.smart-check-result strong{color:var(--primary)}@media(max-width:767px){.smart-check-grid{grid-template-columns:1fr}}
