:root{
  --navy:#20646f; --navy-2:#1a565f; --blue:#2ecabb; --sky:#5cf5e5; --cyan:#ddf9f3;
  --pink:#fb3f76; --teal:#0eab9b; --yellow:#e4b74a; --green:#09bf66;
  --bg:#f6faf9; --panel:#fff; --text:#1e3c41; --muted:#668985; --line:#e8f2f0;
  --danger:#ef4d56; --success:#18bf69; --warning:#f2a923; --shadow:0 8px 24px rgba(30,52,114,.07);
}
*{box-sizing:border-box} body{margin:0;font-family:Poppins,Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:14px} a{color:#1ca093;text-decoration:none} a:hover{text-decoration:none;color:#116b78} button,input,select,textarea{font:inherit} input,select,textarea{width:100%;border:1px solid #d2e1de;border-radius:4px;padding:10px 12px;background:#fff;color:var(--text);outline:none} textarea{resize:vertical} label{font-size:12px;font-weight:600;color:#27494e;display:flex;flex-direction:column;gap:7px}.full{width:100%;grid-column:1/-1}.muted-text{color:var(--muted)}
/* Login */
.login-body{min-height:100vh;background:linear-gradient(135deg,#f1fdfa,#fff 52%,#f0fdfa);display:flex;align-items:center;justify-content:center;padding:28px}.bima-login-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}.bima-login-brand{background:linear-gradient(135deg,var(--navy),#2c7580);color:#fff;border-radius:14px;padding:38px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.bima-login-brand h1{font-size:34px;line-height:1.16;margin:34px 0 12px}.bima-login-brand p{font-size:16px;opacity:.9;line-height:1.55}.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.login-feature-grid span{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:11px;font-weight:700}.login-panel{align-self:center}.login-card,.bima-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.login-card h2{margin:0 0 8px}.form-stack{display:flex;flex-direction:column;gap:12px}.login-actions{margin-top:12px}.demo-box{margin-top:18px;padding:14px;border-radius:10px;background:#f3fdfb;display:flex;flex-direction:column;gap:5px;font-size:12px;color:#3e686f}
/* BIMA-like shell */
.bima-body{background:#f8fafa}.bima-app{min-height:100vh;display:flex;flex-direction:column}.bima-top{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}.bima-top-inner{height:48px;max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.risma-logo{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:900}.risma-logo:hover{color:var(--navy)}.risma-logo.big{color:#fff}.logo-emblem{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e4b74a,#ff7a00 45%,#20646f 46%);border:2px solid #fff;color:#fff;font-weight:900;box-shadow:0 1px 5px rgba(0,0,0,.15)}.risma-logo.big .logo-emblem{width:52px;height:52px}.risma-logo strong{display:block;font-size:28px;letter-spacing:.4px;line-height:1}.risma-logo small{display:block;font-size:10px;color:#c58e20;letter-spacing:.6px;font-weight:800}.risma-logo.big small{color:#f1d681}.bima-userbar{display:flex;align-items:center;gap:11px;font-size:12px;color:#5a7270}.role-pill{background:var(--navy);color:#fff;border-radius:5px;padding:8px 16px;font-weight:800;text-transform:uppercase;font-size:11px}.notif-dot{font-size:18px;color:#7d9693}.avatar-mini{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e1e8e7;color:#889f9d;font-weight:900}.logout-link{color:#617d7a}.bima-nav{height:36px;background:var(--navy);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 18px}.bima-nav>a,.nav-drop>a{display:flex;align-items:center;height:36px;color:#defaf3;padding:0 12px;font-size:12px;font-weight:700}.bima-nav a:hover,.bima-nav .active>a,.bima-nav>a.active{background:#287581;color:#fff}.nav-drop{position:relative;height:36px}.drop-menu{display:none;position:absolute;top:36px;left:0;background:#fff;min-width:250px;border:1px solid var(--line);box-shadow:0 14px 28px rgba(19,30,70,.12);padding:8px 0}.nav-drop:hover .drop-menu{display:block}.drop-menu a{display:block;color:#36555a;padding:10px 16px;font-size:12px}.drop-menu a:hover{background:#f5faf9;color:#1ca093}.bima-main{width:100%;max-width:1240px;margin:0 auto;flex:1;padding:16px 18px 28px}.content{display:flex;flex-direction:column;gap:16px}.bima-footer{max-width:1240px;margin:0 auto;width:100%;padding:18px;color:#7d8392;font-size:12px}
/* Cards and grids */
.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}.card{background:var(--panel);border:1px solid #eef5f3;border-radius:6px;padding:18px;box-shadow:0 2px 10px rgba(28,42,90,.035)}.card h2,.card h3{margin-top:0;color:#183f45}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{margin:0;font-size:18px}.card-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.bima-hero{height:164px;border-radius:6px;background:linear-gradient(90deg,#2d6972,#27646e);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:22px 28px;overflow:hidden;position:relative}.bima-hero:after{content:"✦ ✦ ✨";position:absolute;right:96px;top:24px;color:#ffd43a;font-size:26px;letter-spacing:16px}.date-chip{background:rgba(255,255,255,.22);border-radius:4px;padding:7px 9px;font-size:12px;font-weight:800;display:inline-block;margin-bottom:18px}.bima-hero h1{font-size:26px;margin:0 0 6px}.bima-hero p{font-size:20px;margin:0;font-weight:700}.hero-avatar{width:130px;height:130px;border-radius:50%;background:linear-gradient(180deg,#fff4d7,#ffd692);display:grid;place-items:center;font-size:72px;box-shadow:0 10px 20px rgba(0,0,0,.18);margin-right:10px}.profile-card{padding:0;overflow:hidden}.profile-head{background:var(--navy);color:#fff;padding:13px 16px;font-weight:800;display:flex;justify-content:space-between}.profile-body{display:flex;gap:15px;align-items:center;padding:18px}.profile-photo{width:70px;height:70px;border-radius:50%;background:#e3eae9;display:grid;place-items:center;color:#a3b5b3;font-size:38px}.profile-name strong{display:block;color:#193f45}.green-tag{display:inline-block;background:#1bc472;color:#fff;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:800}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);text-align:center;padding:12px 4px 15px}.profile-stats div+div{border-left:1px solid #abbfbd}.profile-stats span{display:block;font-size:10px;color:#607876}.profile-stats strong{font-size:13px;color:#1aac9d}.bima-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bima-stat{min-height:70px;border-radius:6px;color:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 3px 8px rgba(0,0,0,.04)}.bima-stat strong{font-size:28px;line-height:1;margin-right:20px}.bima-stat span{display:block;font-weight:800}.bima-stat small{display:block;margin-top:5px}.bima-stat em{font-style:normal;width:46px;height:46px;background:rgba(255,255,255,.24);border-radius:50%;display:grid;place-items:center;font-size:22px}.bima-stat.pink{background:var(--pink)}.bima-stat.teal{background:var(--teal)}.bima-stat.yellow{background:var(--yellow)}.bima-stat.green{background:var(--green)}.chart-card{min-height:220px}.chart-legend{text-align:center;font-size:12px;color:#8b5cff}.fake-chart{width:100%;height:150px}.history-list h4{font-size:13px;margin:14px 0 8px;color:#183f45}.history-list a{display:block;font-size:12px;line-height:1.45;margin:8px 0;color:#2da99c}.history-list .more{text-align:right;color:#36baad;font-size:12px}.empty-bullet{color:#6b7280;font-size:12px}
/* Buttons, table, badges */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8e9e5;background:#fff;color:#1ea497;border-radius:4px;padding:9px 13px;font-weight:800;cursor:pointer;text-decoration:none;transition:.15s;font-size:12px}.btn:hover{background:#f7fefc}.btn.primary{background:#24a396;border-color:#24a396;color:#fff}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.warning{background:var(--warning);border-color:var(--warning);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:transparent}.btn.small{padding:6px 9px;font-size:11px}.btn.full{width:100%}.btn.icon-only{width:30px;height:30px;padding:0}.alert{border-radius:6px;padding:12px 14px;font-weight:700;margin-bottom:12px}.alert.success{background:#e8fff2;color:#0b7042;border:1px solid #bfeacf}.alert.danger{background:#fff0f0;color:#a32828;border:1px solid #ffd0d0}.alert.warning{background:#fff7de;color:#935f00;border:1px solid #ffe6a0}.badge{display:inline-flex;border-radius:3px;padding:4px 8px;font-size:10px;font-weight:900;white-space:nowrap}.badge.success{background:#1cc16b;color:#fff}.badge.warning{background:#fff3ce;color:#925d00}.badge.danger{background:#ef4d56;color:#fff}.badge.muted{background:#eff6f4;color:#547976}.table-wrap{overflow:auto;border:1px solid #ebf3f1;background:#fff}.table-wrap.no-border{border:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 12px;border-bottom:1px solid #eef5f3;text-align:left;vertical-align:top;font-size:12px}th{font-size:11px;color:#28494e;background:#fbfdfd;font-weight:800}td small{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:26px}.filter-bar{display:grid;grid-template-columns:180px 220px 1fr auto;gap:10px;margin:12px 0 18px}.year-filter{display:grid;grid-template-columns:auto 1fr;gap:0;align-items:center;width:360px;margin-left:auto}.year-filter .filter-icon{height:36px;width:36px;background:#78d1c8;color:#fff;display:grid;place-items:center;border-radius:4px 0 0 4px}.year-filter input{border-radius:0 4px 4px 0;height:36px}.tabbar{display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid #afc8c2;margin:12px 0 16px;overflow:auto}.tabbar a{padding:10px 14px;color:#2f4c51;font-size:12px;font-weight:700;border-radius:3px 3px 0 0;white-space:nowrap}.tabbar a.active{background:#28998e;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.wide-form{max-width:1120px}.section-title{padding-top:12px;border-top:1px solid var(--line);color:var(--navy)}.form-actions{display:flex;gap:10px;align-items:center}
/* Detail page */
.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-header h2{font-size:22px;margin:8px 0;line-height:1.3}.eyebrow{font-size:11px;text-transform:uppercase;font-weight:900;color:#f4a900;letter-spacing:.05em}.meta-list{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted)}.meta-list span{background:#f5faf9;padding:7px 9px;border-radius:4px}.status-box{min-width:220px;background:#f9fefd;border:1px solid var(--line);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px}.status-box strong{font-size:20px;color:var(--navy)}.bima-section-title{background:#d1f7ee;border:1px solid #7fede2;color:#0c373e;border-radius:3px;padding:11px 12px;font-weight:900;margin:18px 0 12px}.info-grid{display:grid;grid-template-columns:180px 1fr 180px 1fr;gap:16px 24px;font-size:12px;margin:16px 0}.info-grid label{display:block;color:#26494e;font-size:12px}.info-grid strong{display:block;color:#174148;line-height:1.4}.download-box{display:flex;justify-content:flex-end;gap:8px;margin:10px 0}.rab-total{font-weight:700;margin:4px 0 10px}.rab-total b{color:#183f45}.action-list{display:flex;flex-direction:column;gap:12px}.inline-form,.mini-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form textarea{min-width:100%;height:70px}.mini-form input,.mini-form select{max-width:220px}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{display:block;border:1px solid var(--line);border-radius:6px;padding:13px;background:#fff;color:var(--text)}.timeline-item strong{display:block;color:var(--navy)}.timeline-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.timeline-item p{margin:8px 0 0}.workflow-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workflow-row span{background:#edfcf9;border:1px solid #d4f8f0;border-radius:6px;padding:10px 14px;font-weight:800;color:var(--navy)}.workflow-row i{width:22px;height:2px;background:#f1b400;display:inline-block}.form-details{border:1px dashed #d1e6e1;border-radius:6px;padding:12px;margin-bottom:14px}.form-details summary{font-weight:900;color:var(--navy);cursor:pointer}.note-box,.review-card{background:#f9fefd;border:1px solid var(--line);border-radius:6px;padding:14px;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.chips span{background:#f0fdfa;color:var(--navy);font-weight:800;padding:8px 10px;border-radius:999px;font-size:12px}hr{border:none;border-top:1px solid var(--line);margin:18px 0}.register-shell{width:min(1120px,100%)}.section-box{border:1px solid var(--line);background:#fff;border-radius:6px;padding:14px}.section-box strong{display:block;color:var(--navy);margin-bottom:6px}.section-box p{margin:0;color:#446368;line-height:1.45}.proposal-sections .two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.bima-top-inner{height:auto;padding:10px;align-items:flex-start}.bima-userbar{flex-wrap:wrap;justify-content:flex-end}.bima-nav{height:auto;justify-content:flex-start;overflow:auto}.bima-nav>a,.nav-drop>a{height:38px}.dashboard-layout,.stats-grid,.two-cols,.form-grid,.bima-stat-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.year-filter{width:100%}.bima-login-shell{grid-template-columns:1fr}.detail-header{flex-direction:column}.info-grid{grid-template-columns:1fr}.drop-menu{position:fixed;left:10px;right:10px;top:85px}.proposal-sections .two-cols{grid-template-columns:1fr}}

/* RISMA v5 refinements */
body{font-size:13px;line-height:1.45}.bima-main{max-width:1280px}.bima-top-inner{height:44px}.bima-nav{height:34px}.bima-nav>a,.nav-drop>a{height:34px;font-size:11px;padding:0 10px}.drop-menu{top:34px}.card{border-radius:8px;padding:16px}.card-head h2{font-size:17px}.card h3{font-size:14px}.bima-hero{height:150px}.bima-hero h1{font-size:24px}.bima-hero p{font-size:17px}.bima-stat{min-height:68px}.bima-stat strong{font-size:25px}.profile-stats span{font-size:10px}th{font-size:10.5px;text-transform:none}td{font-size:11.5px}input,select,textarea{padding:8px 10px;font-size:12px}.btn{padding:8px 11px;font-size:11px}.section-title{font-size:14px;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:8px}.settings-hero{background:linear-gradient(90deg,#24707c,#f9fefd);color:#fff}.settings-hero p{color:#e8fbf7;max-width:900px}.period-note{background:#f1fdfa;border:1px solid #d6f8f0;border-left:4px solid #34cabb;border-radius:6px;padding:10px 12px;color:#1d4c54;font-size:12px}.template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 4px}.template-chip{border:1px solid #ddfaf3;background:#f9fefd;border-radius:8px;padding:11px;display:block;color:#1d7482}.template-chip strong{display:block}.template-chip small{display:block;color:#688a87;margin-top:4px}.rab-info{background:#ecfcf8;border:1px solid #c5f6ea;border-radius:6px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;color:#1a535c}.rab-table th,.rab-table td{padding:8px}.rab-table textarea{min-height:42px}.recap-grid{margin-top:16px}.recap-card .card-head{margin-bottom:10px}.recap-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.recap-boxes div{background:#f6fbfa;border:1px solid #e6f2ef;border-radius:8px;padding:12px;text-align:center}.recap-boxes strong{display:block;font-size:24px;color:var(--navy)}.recap-boxes span{font-size:11px;color:#688a87;font-weight:700}.period-form{grid-template-columns:repeat(4,minmax(0,1fr))}.actions-cell{min-width:280px}.mini-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:6px}.inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.proposal-form .table-wrap{margin-top:0}@media(max-width:1000px){.template-list,.period-form,.recap-boxes{grid-template-columns:1fr}.rab-info{flex-direction:column}.actions-cell{min-width:0}}

/* RISMA v6 RAB grouped by component */
.rab-component-wrap{display:flex;flex-direction:column;gap:14px}.rab-component{border:1px solid #dff2ee;border-radius:8px;background:#fff;overflow:hidden}.rab-component-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:#f0fdfa;border-bottom:1px solid #dff2ee;padding:12px 14px}.rab-component-head strong{display:block;color:#125a65;font-size:13px}.rab-component-head small{display:block;margin-top:4px;color:#688a87;font-size:11px;line-height:1.4}.rab-component-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;font-size:11px}.rab-component-summary span{background:#fff;border:1px solid #e0f2ee;border-radius:6px;padding:7px 9px}.component-status{background:#e8fff2!important;border-color:#bfeacf!important;color:#0b7042;font-weight:900}.component-status.over{background:#fff0f0!important;border-color:#ffd0d0!important;color:#a32828}.rab-component .table-wrap{border:0;border-radius:0}.rab-component .btn.add-rab-row{margin:10px 12px 12px}.rab-row-total{background:#f8fcfb!important;font-weight:800;color:#125a65}.rab-grand-total{display:flex;justify-content:space-between;align-items:center;background:#d1f7ee;border:1px solid #7fede2;border-radius:8px;padding:13px 14px;color:#0c373e}.rab-grand-total span{font-weight:900}.rab-grand-total strong{font-size:18px}.rab-detail-group{border:1px solid #e4f0ed;border-radius:8px;margin:12px 0;overflow:hidden;background:#fff}.rab-detail-group .table-wrap{margin:0}@media(max-width:1000px){.rab-component-head{flex-direction:column}.rab-component-summary{justify-content:flex-start}.rab-table{min-width:920px}}

/* RISMA v7 workflow, budget cap, and upload refinements */
.proposal-wizard-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:8px 0 18px;position:relative}
.proposal-wizard-flow:before{content:"";position:absolute;left:6%;right:6%;top:17px;height:3px;background:#d0e2de;z-index:0}
.flow-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;color:#7c9794;font-weight:800;font-size:11px;text-align:center}
.flow-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#afc6c1;color:#fff;border:4px solid #f8fafa;font-weight:900}
.flow-step.active span{background:#26ada0}.flow-step.active small{color:#185d68}
.wizard-block{background:#f7fefc;border:1px solid #e1faf4;border-left:5px solid #26ada0;border-radius:8px;padding:12px;margin-top:8px}.wizard-block-head{display:flex;gap:12px;align-items:flex-start}.wizard-block-head span{width:28px;height:28px;border-radius:50%;background:#26ada0;color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.wizard-block-head strong{display:block;color:#145b65}.wizard-block-head small{display:block;color:#5e8480;line-height:1.45}.budget-cap-note{margin-top:8px;background:#fff8e6;border:1px solid #f7df9a;border-radius:6px;padding:9px 12px;color:#6e4b00;font-size:12px}.member-grid,.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.member-row{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;margin-top:10px}.member-row.compact{grid-template-columns:1fr 1fr 1fr 1fr}.upload-grid .section-box{grid-column:1/-1}.upload-grid ul{margin:8px 0 0 18px;padding:0}.rab-component-summary .over{font-weight:900}.period-form{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.proposal-wizard-flow{grid-template-columns:1fr;gap:8px}.proposal-wizard-flow:before{display:none}.member-grid,.upload-grid,.member-row,.member-row.compact{grid-template-columns:1fr}.period-form{grid-template-columns:1fr}}

/* RISMA v8 - account separation and reviewer plotting */
.account-section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.account-section-tabs a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4f8f0;background:#f8fefd;color:#165e69;border-radius:999px;padding:8px 14px;font-weight:800;font-size:12px;text-decoration:none}.account-section-tabs a.active,.account-section-tabs a:hover{background:#23727e;color:#fff;border-color:#23727e}.account-group-card{margin-bottom:18px}.account-count{background:#edfcf9;color:#23727e;border:1px solid #d4f8f0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900}.account-filter-card{padding:12px 16px}.mini-form select{min-width:220px}.mini-form input[type=date]{max-width:150px}.settings-hero h2{margin-bottom:4px}

/* Stronger stepper so it stays neat even on older browsers/cache */
.proposal-wizard-flow{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;position:relative!important;margin:18px 0 26px!important;padding:0 4px!important}.proposal-wizard-flow:before{content:""!important;position:absolute!important;left:8%!important;right:8%!important;top:18px!important;height:3px!important;background:#d6e7e3!important;z-index:0!important}.flow-step{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;text-align:center!important;color:#638885!important;font-weight:800!important;font-size:12px!important}.flow-step span{width:36px!important;height:36px!important;line-height:36px!important;border-radius:50%!important;background:#abc4c1!important;color:#fff!important;border:4px solid #fff!important;box-shadow:0 0 0 1px #d9ebe7!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important}.flow-step.active span{background:#2baea1!important;box-shadow:0 0 0 1px #2baea1!important}.flow-step small{display:block!important;color:#25464b!important;background:#fff!important;padding:0 6px!important}.wizard-block{margin-top:18px!important}.proposal-form .section-title{margin-top:18px}.proposal-form .full{grid-column:1/-1}.filter-bar select{height:38px}
@media(max-width:900px){.proposal-wizard-flow{grid-template-columns:1fr!important}.proposal-wizard-flow:before{display:none!important}.flow-step{flex-direction:row!important;justify-content:flex-start!important}.flow-step small{background:transparent!important}.mini-form select,.mini-form input[type=date]{min-width:100%;max-width:100%}}

/* RISMA v9 - ranked review and yearly funding recap */
.proposal-rank-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 12px}.proposal-rank-summary div{background:#f8fefd;border:1px solid #e0faf4;border-radius:8px;padding:12px}.proposal-rank-summary span{display:block;color:#638885;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.2px}.proposal-rank-summary strong{display:block;margin-top:5px;color:#196975;font-size:18px;line-height:1.15}.funding-year-panel{border:1px solid #e0f2ee;border-radius:8px;background:#fff;margin:10px 0 16px;overflow:hidden}.funding-year-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f0fdfa;border-bottom:1px solid #e0f2ee;padding:10px 12px;color:#145b65}.funding-year-head small{color:#668985;font-weight:600}.compact-table th,.compact-table td{padding:9px 10px;font-size:11px}.proposal-ranking-table table{min-width:1180px}.rank-badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#24a396;color:#fff;font-weight:900}.score-total{font-size:18px;color:#24a396}.proposal-ranking-table td:nth-child(8),.proposal-ranking-table td:nth-child(9){white-space:nowrap}@media(max-width:1100px){.proposal-rank-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-year-head{flex-direction:column;align-items:flex-start}}

/* v10: fix ringkasan usulan agar tidak tampil sebagai teks menumpuk */
.proposal-rank-summary{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:16px 0 14px!important;}
.proposal-rank-summary>div{background:#f9fefd!important;border:1px solid #e0faf4!important;border-radius:10px!important;padding:13px 14px!important;min-height:72px!important;box-shadow:0 6px 18px rgba(21,45,100,.04)!important;}
.proposal-rank-summary span{display:block!important;color:#638885!important;font-size:10.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.25px!important;margin-bottom:6px!important;}
.proposal-rank-summary strong{display:block!important;color:#196975!important;font-size:18px!important;line-height:1.2!important;white-space:normal!important;}
.funding-year-panel{border:1px solid #e0f2ee!important;border-radius:10px!important;background:#fff!important;margin:12px 0 18px!important;overflow:hidden!important;box-shadow:0 6px 18px rgba(21,45,100,.035)!important;}
.funding-year-head{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;background:#f0fdfa!important;border-bottom:1px solid #e0f2ee!important;padding:12px 14px!important;color:#145b65!important;}
.funding-year-head strong{font-size:13px!important;}
.funding-year-head small{color:#668985!important;font-weight:600!important;line-height:1.35!important;}
.compact-table th,.compact-table td{padding:10px 12px!important;font-size:11.5px!important;vertical-align:middle!important;}
@media(max-width:1100px){.proposal-rank-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.funding-year-head{flex-direction:column!important;align-items:flex-start!important}}


/* RISMA v11 - task-oriented, user-friendly Ketua Lembaga workspace */
.user-profile-link{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.user-profile-link:hover strong{text-decoration:underline}.nav-toggle{display:none;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;border-radius:6px;padding:8px 11px;font-weight:800;cursor:pointer}.chair-nav{justify-content:flex-start}.chair-nav>a,.chair-nav>.nav-drop>a{padding-left:18px;padding-right:18px}.chair-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(120deg,#1a5b65,#29a79a);color:#fff;border-radius:12px;padding:26px 30px;margin-bottom:16px;box-shadow:0 12px 30px rgba(20,48,119,.16);position:relative;overflow:hidden}.chair-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-85px;top:-115px;background:rgba(255,255,255,.08)}.chair-eyebrow{display:block;font-size:11px;letter-spacing:1.4px;font-weight:900;color:#c3f5e9;margin-bottom:8px}.chair-hero h1{margin:0 0 8px;font-size:28px;color:#fff}.chair-hero p{margin:0;max-width:720px;color:#e8fbf7;line-height:1.55}.chair-hero-side{min-width:190px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px 16px;position:relative;z-index:1}.chair-hero-side span,.chair-hero-side strong{display:block}.chair-hero-side span{font-size:11px;color:#dcf9f2;margin-bottom:5px}.chair-hero-side strong{font-size:14px}.chair-period-strip{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:14px;align-items:center;background:#f0fdfa;border:1px solid #dbf9f2;border-radius:10px;padding:13px 16px;margin-bottom:16px}.chair-period-strip div{min-width:0}.chair-period-strip span,.chair-period-strip strong{display:block}.chair-period-strip span{font-size:10px;color:#668985;text-transform:uppercase;font-weight:800;letter-spacing:.3px;margin-bottom:4px}.chair-period-strip strong{font-size:12px;color:#165b66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chair-alert a{font-weight:900}.chair-task-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.chair-task{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;position:relative;background:#fff;border:1px solid #e3f0ed;border-radius:10px;padding:16px;color:#193f45;text-decoration:none;box-shadow:0 5px 18px rgba(20,45,100,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.chair-task:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,45,100,.10);border-color:#c2eee4}.chair-task .task-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:17px;background:#f0fcf9;color:#26a094}.chair-task strong{display:block;font-size:26px;line-height:1;color:#1a6c79}.chair-task h3{margin:5px 0 4px;font-size:13px;color:#193f45}.chair-task p{margin:0;color:#6d8c89;font-size:11px;line-height:1.45}.chair-task em{grid-column:2;font-style:normal;font-size:11px;font-weight:900;color:#2eb2a5;margin-top:8px}.chair-task.urgent .task-icon{background:#fff0eb;color:#d64b24}.chair-task.review .task-icon{background:#f2edff;color:#6840c8}.chair-task.output .task-icon{background:#e8fbf5;color:#16805d}.chair-task.report .task-icon{background:#fff8df;color:#9b7112}.chair-overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-bottom:16px}.chair-summary-card,.chair-focus-card{margin:0}.chair-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.chair-metrics div{background:#f8fefd;border:1px solid #e4f7f3;border-radius:8px;padding:13px}.chair-metrics span,.chair-metrics strong{display:block}.chair-metrics span{font-size:10px;color:#698c89;font-weight:800}.chair-metrics strong{font-size:22px;color:#1a6c79;margin-top:5px}.chair-quick-actions{border-top:1px solid #eef5f3;margin-top:16px;padding-top:14px}.chair-quick-actions h3{font-size:13px;margin:0 0 10px}.chair-quick-actions>div{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.chair-quick-actions a{display:grid;grid-template-columns:34px 1fr;column-gap:9px;background:#fcfefe;border:1px solid #e8f2f0;border-radius:8px;padding:11px;text-decoration:none;color:#193f45}.chair-quick-actions a:hover{border-color:#c2eee4;background:#f6fefc}.chair-quick-actions a>span{grid-row:1/3;width:34px;height:34px;border-radius:8px;background:#edfcf9;color:#29a094;display:grid;place-items:center}.chair-quick-actions strong,.chair-quick-actions small{display:block}.chair-quick-actions strong{font-size:12px}.chair-quick-actions small{font-size:10px;color:#6f8c89;margin-top:3px}.focus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.focus-list li{display:flex;gap:11px;align-items:center;padding:10px;border:1px solid #eaf2f0;border-radius:8px;background:#fbfdfd}.focus-list li>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9f0ef;color:#668985;font-weight:900;font-size:11px;flex:0 0 auto}.focus-list li.has-task{background:#fffaf1;border-color:#f4dfaa}.focus-list li.has-task>span{background:#f4b83f;color:#fff}.focus-list strong,.focus-list small{display:block}.focus-list strong{font-size:12px;color:#204a50}.focus-list small{font-size:10px;color:#6e8c89;margin-top:3px}.chair-recent-card{margin-bottom:0}.chair-recent-table td:first-child{min-width:280px}.chair-recent-table td strong,.chair-recent-table td small{display:block}.chair-recent-table td small{margin-top:4px;color:#6f8d8a;font-size:10.5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;color:#6a8a87;background:#fbfdfd;border:1px dashed #dce9e6;border-radius:8px}.empty-state strong{color:#285157;margin-bottom:5px}
@media(max-width:1150px){.chair-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chair-period-strip{grid-template-columns:1fr 1fr}.chair-period-strip .btn{justify-self:start}.chair-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.nav-toggle{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.bima-top-inner{flex-wrap:wrap}.bima-userbar{width:100%;justify-content:space-between}.bima-nav{display:none!important;position:static!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;overflow:visible!important;height:auto!important;padding:8px 10px 12px!important}.bima-top.nav-open .bima-nav{display:flex!important}.bima-nav>a,.bima-nav>.nav-drop>a{width:100%;justify-content:flex-start;border-radius:6px;height:auto!important;min-height:40px}.nav-drop{width:100%}.drop-menu{display:none!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;box-shadow:none!important;border:0!important;border-left:3px solid #ddf9f3!important;margin:3px 0 5px 14px!important;background:#f8fefd!important;min-width:0!important}.nav-drop.open .drop-menu{display:block!important}.drop-menu a{padding:10px 13px!important}.chair-hero{align-items:flex-start}.chair-overview-grid{grid-template-columns:1fr}.chair-recent-table{min-width:850px}}
@media(max-width:700px){.chair-hero{flex-direction:column;padding:22px}.chair-hero-side{width:100%;min-width:0}.chair-period-strip,.chair-task-grid,.chair-metrics,.chair-quick-actions>div{grid-template-columns:1fr}.chair-task{padding:14px}.chair-period-strip strong{white-space:normal}.user-profile-link strong{display:none}}

/* RISMA v12 - tiga peran dan plotting tepat tiga reviewer */
.text-danger{color:var(--danger)!important}.reviewer-rule{display:flex;flex-direction:column;gap:4px;background:#fff8e8;border:1px solid #f1d58b;border-radius:8px;padding:11px 12px;margin-bottom:12px}.reviewer-rule strong{color:#74510b;font-size:12px}.reviewer-rule span{color:#7b6a43;font-size:10.5px}.reviewer-three-form,.reviewer-three-inline{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(135px,.7fr) auto;gap:8px;align-items:end}.reviewer-three-form{margin-top:12px;padding:12px;background:#f8fefd;border:1px solid #e0f6f1;border-radius:8px}.reviewer-three-inline select,.reviewer-three-inline input{min-width:145px;padding:8px 9px;font-size:11px}.reviewer-three-inline .btn{white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.account-filter-card{padding:12px}.account-group-card .actions-cell{min-width:235px}.mini-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:6px;margin-top:7px}.settings-hero{background:linear-gradient(120deg,#f8fefd,#f0fdfa);border-color:#dff6f0}.settings-hero h2{margin-bottom:6px}.settings-hero p{margin:0;color:#618783;line-height:1.55}
@media(max-width:1100px){.reviewer-three-inline{grid-template-columns:repeat(2,minmax(150px,1fr))}.reviewer-three-inline .btn{grid-column:1/-1}.reviewer-three-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.reviewer-three-inline,.reviewer-three-form{grid-template-columns:1fr}.reviewer-three-inline select,.reviewer-three-inline input{min-width:0}.mini-form{grid-template-columns:1fr}}

/* =========================================================
   RISMA v14 — Modern chairman workspace & publication module
   ========================================================= */
:root{
  --modern-navy:#165964;
  --modern-blue:#36d0c1;
  --modern-indigo:#4cd2c5;
  --modern-cyan:#12c0af;
  --modern-green:#14a66f;
  --modern-orange:#ef8b2c;
  --modern-red:#dc4c5b;
  --modern-surface:#ffffff;
  --modern-surface-soft:#f8fcfb;
  --modern-line:#e5f1ee;
  --modern-text:#19373b;
  --modern-muted:#6e908c;
  --modern-radius:14px;
  --modern-shadow:0 10px 30px rgba(25,45,91,.075);
  --modern-shadow-hover:0 16px 42px rgba(25,45,91,.13);
}
html{scroll-behavior:smooth}
body.bima-body{background:
  radial-gradient(circle at 12% 0,rgba(47,98,215,.08),transparent 28%),
  radial-gradient(circle at 96% 10%,rgba(10,166,200,.07),transparent 24%),
  #f5fbfa;color:var(--modern-text)}
.bima-top{box-shadow:0 7px 25px rgba(28,45,86,.08);border-bottom:1px solid rgba(226,232,242,.9)}
.bima-top-inner{height:62px;max-width:1440px;padding:0 24px}
.risma-logo{gap:11px}
.risma-logo .logo-emblem{width:38px;height:38px;box-shadow:0 7px 18px rgba(26,49,108,.18)}
.risma-logo strong{font-size:27px;letter-spacing:.7px}
.risma-logo small{font-size:9px;letter-spacing:1.05px}
.bima-userbar{gap:12px}
.role-pill{border-radius:999px;padding:8px 15px;background:linear-gradient(135deg,var(--modern-navy),#2e958b);box-shadow:0 5px 13px rgba(19,43,103,.2)}
.user-profile-link{display:flex;align-items:center;gap:8px;color:#37565a;padding:5px 9px;border-radius:999px;transition:.2s}
.user-profile-link:hover{background:#f2f9f8;color:var(--modern-blue)}
.avatar-mini{width:31px;height:31px;background:linear-gradient(135deg,#eafcf8,#e1faf4);color:#36b3a6;border:1px solid #d9f0eb}
.logout-link{padding:8px 10px;border-radius:8px;transition:.2s}.logout-link:hover{background:#fff1f2;color:#bd3042}
.bima-nav{height:46px;justify-content:flex-start;gap:3px;padding:0 max(24px,calc((100vw - 1440px)/2 + 24px));overflow-x:auto;overflow-y:visible;scrollbar-width:thin;background:linear-gradient(100deg,#165964 0%,#207a88 100%)}
.bima-nav::-webkit-scrollbar{height:4px}.bima-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.26);border-radius:99px}
.bima-nav>a,.nav-drop,.nav-drop>a{height:46px}
.bima-nav>a,.nav-drop>a{padding:0 13px;font-size:11.5px;letter-spacing:.05px;white-space:nowrap;border-radius:9px;margin:5px 0;height:36px;transition:.18s}
.bima-nav a:hover,.bima-nav .active>a,.bima-nav>a.active{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.drop-menu{top:41px;min-width:255px;border:1px solid #e7f1ef;border-radius:12px;padding:7px;box-shadow:0 18px 42px rgba(21,39,82,.18);z-index:80}
.drop-menu a{border-radius:8px;padding:10px 12px}.drop-menu a:hover{background:#f0fdfa;color:#23b4a5}
.bima-main{max-width:1440px;padding:24px 24px 42px}.content{gap:20px}.bima-footer{max-width:1440px;padding:20px 24px 26px}

.card{border:1px solid rgba(224,231,242,.92);border-radius:var(--modern-radius);padding:20px;box-shadow:var(--modern-shadow);transition:border-color .2s,box-shadow .2s,transform .2s}
.card:hover{border-color:#dbece8}
.card-head{margin-bottom:17px}.card-head h2{font-size:20px;letter-spacing:-.25px}.card h3{letter-spacing:-.1px}
.settings-hero{position:relative;overflow:hidden;padding:26px 28px;background:linear-gradient(125deg,#16616c,#37cabb 65%,#30c5b6);border:0;color:#fff;box-shadow:0 18px 40px rgba(37,78,167,.2)}
.settings-hero:after{content:"";position:absolute;right:-54px;top:-88px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.11);box-shadow:-110px 130px 0 rgba(255,255,255,.055)}
.settings-hero h2,.settings-hero p{position:relative;z-index:1;color:#fff}.settings-hero h2{font-size:24px}.settings-hero p{max-width:850px;opacity:.88;line-height:1.65}
input,select,textarea{border:1px solid #d9eae6;border-radius:9px;padding:11px 12px;background:#fff;transition:border-color .17s,box-shadow .17s,background .17s}
input:hover,select:hover,textarea:hover{border-color:#bedad3}
input:focus,select:focus,textarea:focus{border-color:#5bd9cc;box-shadow:0 0 0 4px rgba(47,98,215,.1);background:#fff}
label{font-size:11.5px;color:#37565a;gap:7px}.muted-text{color:var(--modern-muted)}
.btn{min-height:37px;border-radius:9px;padding:9px 14px;border-color:#d9eae6;color:#2da599;background:#fff;box-shadow:0 2px 5px rgba(31,51,92,.035);transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 15px rgba(31,51,92,.1);background:#f8fcfb;border-color:#cae3dd}
.btn.primary{background:linear-gradient(135deg,#2ebfb0,#3ed4c5);border-color:#2ebfb0;box-shadow:0 7px 15px rgba(47,98,215,.2)}
.btn.primary:hover{background:linear-gradient(135deg,#27a99c,#34c8b9)}
.btn.success{background:linear-gradient(135deg,#119b67,#1bb47b);border-color:#119b67}.btn.warning{background:linear-gradient(135deg,#e88927,#f3a13e);border-color:#e88927}.btn.danger{background:linear-gradient(135deg,#cf4052,#e75b68);border-color:#cf4052}
.btn.small{min-height:31px;border-radius:8px;padding:6px 10px}.modern-btn{min-height:42px;padding:10px 17px}
.alert{border-radius:11px;padding:13px 16px;box-shadow:0 5px 15px rgba(29,48,90,.05)}
.table-wrap{border:1px solid var(--modern-line);border-radius:11px;box-shadow:none}.table-wrap table{min-width:780px}
th,td{padding:14px 13px}th{background:#f8fcfb;color:#476966;text-transform:uppercase;letter-spacing:.35px;font-size:9.8px}tbody tr{transition:background .15s}tbody tr:hover{background:#fafefd}tbody tr:last-child td{border-bottom:0}
.badge{border-radius:999px;padding:5px 9px;letter-spacing:.1px}.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-form{display:inline-flex;align-items:center;gap:6px}.delete-form{margin:0}.account-action-stack{display:flex;flex-direction:column;gap:7px;min-width:190px}.account-action-stack .mini-form{margin:0}

/* Publication management */
.publication-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 32px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#155a65 0%,#35cbbc 58%,#12b6a6 115%);box-shadow:0 20px 44px rgba(28,70,158,.22)}
.publication-hero:before,.publication-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;background:rgba(255,255,255,.1)}
.publication-hero:before{width:270px;height:270px;right:-85px;top:-130px}.publication-hero:after{width:150px;height:150px;right:150px;bottom:-110px}
.publication-hero h1{font-size:29px;line-height:1.18;margin:5px 0 8px;letter-spacing:-.55px}.publication-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.84);line-height:1.65}
.chair-eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.chair-eyebrow{color:#defaf3}.chair-eyebrow:before,.section-kicker:before{content:"";display:inline-block;width:18px;height:2px;border-radius:99px;background:currentColor}
.publication-hero-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:2}.publication-hero .btn:not(.primary){background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3);box-shadow:none}.publication-hero .btn:not(.primary):hover{background:rgba(255,255,255,.2)}
.publication-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.modern-stat{position:relative;overflow:hidden;min-height:122px;padding:19px;border:1px solid #e5f2ef;border-radius:14px;background:#fff;box-shadow:var(--modern-shadow);transition:transform .2s,box-shadow .2s}
.modern-stat:hover{transform:translateY(-3px);box-shadow:var(--modern-shadow-hover)}.modern-stat:after{content:"";position:absolute;right:-20px;bottom:-27px;width:82px;height:82px;border-radius:50%;background:currentColor;opacity:.08}
.modern-stat span{display:block;font-size:11.5px;font-weight:800;color:#678985}.modern-stat strong{display:block;margin:9px 0 5px;font-size:27px;letter-spacing:-.7px;color:currentColor}.modern-stat small{color:#87a4a1}.modern-stat.blue{color:#36d0c1}.modern-stat.orange{color:#e47e23}.modern-stat.purple{color:#58d3c6}.modern-stat.green{color:#14996a}.modern-stat.navy{color:#1b6671}.modern-stat .money-value{font-size:18px;line-height:1.45}
.modern-card{padding:22px}.modern-card-head{align-items:center}.soft-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#f0fcf9;color:#33b2a6;font-size:10.5px;font-weight:900}
.publication-tabs{display:flex;align-items:center;gap:7px;padding:5px;margin-bottom:17px;background:#f4faf9;border:1px solid #eaf3f1;border-radius:12px;overflow-x:auto}
.publication-tabs a{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px;border-radius:9px;color:#658682;font-size:11px;font-weight:800;transition:.17s}.publication-tabs a strong{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#e5f1ee;color:#547773;font-size:10px}.publication-tabs a:hover{background:#fff;color:#37b8ab}.publication-tabs a.active{background:#fff;color:#2eb8aa;box-shadow:0 5px 13px rgba(31,54,103,.09)}.publication-tabs a.active strong{background:#36d0c1;color:#fff}
.modern-filter-grid{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(170px,.8fr) minmax(150px,.65fr) auto;align-items:end;gap:11px;padding:15px;margin-bottom:17px;border:1px solid #e9f4f1;border-radius:12px;background:#fbfefd}.modern-filter-grid label span{font-size:10.5px}.filter-actions{display:flex;align-items:center;gap:7px;padding-bottom:0}.search-field input{background:#fff}
.modern-table-wrap{border-radius:12px}.modern-table td{vertical-align:middle}.title-cell{min-width:240px}.title-cell strong,.title-cell small,.title-cell em{display:block}.title-cell strong{font-size:12.5px;color:#1f4045;line-height:1.45}.title-cell small{margin-top:4px}.title-cell em{margin-top:7px;font-size:9.8px;color:#688b88;font-style:normal;padding-left:8px;border-left:2px solid #90e6d2}.type-pill{display:inline-flex;padding:5px 8px;margin-bottom:5px;border-radius:7px;background:#f0fdfa;color:#33b3a7;font-size:10px;font-weight:900}.status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.status-stack small{padding-left:3px}.modern-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 15px;color:#7c9b98}.modern-empty span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#f0fcf9;color:#43c3b7;font-size:24px;margin-bottom:11px}.modern-empty strong{color:#36555a;font-size:14px}.modern-empty p{margin:5px 0 0}

/* Publication form and detail */
.publication-form-card{overflow:hidden;padding:0}.publication-form-card>label,.publication-form-card>.form-actions,.publication-form-card>.full:not(.form-section-banner){margin-left:22px;margin-right:22px}.publication-form-card>label{margin-bottom:3px}.publication-form-card.form-grid{column-gap:14px;row-gap:15px;padding-bottom:22px}
.form-section-banner{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 25px;color:#fff;background:linear-gradient(115deg,#1b6570,#3dcfc0)}.form-section-banner h2{margin:4px 0 5px;color:#fff;font-size:22px}.form-section-banner p{margin:0;color:rgba(255,255,255,.78)}.section-kicker{color:#d6f8f0}.sticky-form-actions{position:sticky;bottom:10px;z-index:5;padding:13px 14px!important;margin-top:5px!important;border:1px solid #e3f0ed;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(25,44,87,.14);backdrop-filter:blur(12px)}
.publication-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:26px 28px;border-radius:17px;background:linear-gradient(120deg,#fff,#f6fdfc);border:1px solid #e2f4f0;box-shadow:var(--modern-shadow)}.publication-detail-hero h1{font-size:25px;margin:6px 0 10px;letter-spacing:-.4px}.publication-detail-hero p{margin:0;color:#688a87}.detail-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.publication-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.linked-proposal{display:block;padding:12px 13px;border:1px solid #e0f0ec;border-radius:10px;background:#f8fefd;color:#32a99d;font-weight:700}.modern-timeline{display:flex;flex-direction:column;gap:13px}.modern-timeline>div{position:relative;padding:2px 0 2px 25px}.modern-timeline>div:before{content:"";position:absolute;left:2px;top:5px;width:10px;height:10px;border-radius:50%;background:#41cbbd;box-shadow:0 0 0 5px #edfcf9}.modern-timeline>div:not(:last-child):after{content:"";position:absolute;left:6px;top:17px;bottom:-16px;width:2px;background:#dff1ed}.modern-timeline strong,.modern-timeline small{display:block}.modern-timeline small{margin-top:4px}.workflow-card{border-top:3px solid #38c7b9}
.chair-task.publication-task{background:linear-gradient(120deg,#f5fdfb,#f6fdfc);border-color:#e0f2ee}.chair-task.publication-task strong{color:#33b7aa}

/* Modern management pages */
.percentage-total{border-radius:10px!important;padding:11px 13px!important}.percentage-total.valid{background:#ecfbf4!important;border-color:#bcebd6!important}.percentage-total.invalid{background:#fff1f2!important;border-color:#f2c5ca!important}
.period-form{padding:17px;border-radius:12px;background:#f9fefd;border:1px solid #e7f3f0;margin-bottom:18px}.reviewer-three-form{border-radius:12px;background:#f9fefd}.reviewer-rule{border-radius:11px}.account-filter-card{border-radius:14px}.account-group-card{overflow:hidden}
.stat-card,.bima-stat{border-radius:13px}.bima-hero{border-radius:17px;box-shadow:0 18px 38px rgba(28,50,112,.18)}

@media(max-width:1220px){
  .publication-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .modern-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}
  .bima-userbar .user-profile-link strong{display:none}
}
@media(max-width:900px){
  .bima-top-inner{padding:0 15px}.bima-main{padding:18px 14px 32px}.bima-nav{padding:0 14px}
  .publication-hero{padding:25px;align-items:flex-start;flex-direction:column}.publication-hero h1{font-size:24px}.publication-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publication-detail-grid{grid-template-columns:1fr}.publication-detail-hero{flex-direction:column}.detail-toolbar{width:100%}
  .publication-form-card>label,.publication-form-card>.form-actions,.publication-form-card>.full:not(.form-section-banner){margin-left:16px;margin-right:16px}
}
@media(max-width:700px){
  .bima-top-inner{height:auto;min-height:60px;flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}.bima-userbar{margin-left:auto}.role-pill{display:none}.logout-link{font-size:0}.logout-link:after{content:"Keluar";font-size:11px}.risma-logo strong{font-size:23px}
  .bima-nav{height:auto;overflow:visible;padding:7px 10px;display:none;flex-direction:column;align-items:stretch}.bima-nav.open{display:flex}.bima-nav>a,.nav-drop,.nav-drop>a{width:100%;height:auto}.bima-nav>a,.nav-drop>a{min-height:38px;margin:1px 0}.drop-menu{position:static;display:none!important;box-shadow:none;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.07);margin:0 7px 7px}.nav-drop.open .drop-menu{display:block!important}.drop-menu a{color:#e6fbf6}.drop-menu a:hover{background:rgba(255,255,255,.1);color:#fff}
  .publication-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.modern-stat{min-height:108px;padding:15px}.modern-stat strong{font-size:23px}.modern-stat .money-value{font-size:15px}
  .modern-filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.filter-actions .btn{flex:1}.publication-tabs{margin-left:-4px;margin-right:-4px}
  .publication-detail-hero,.publication-hero{border-radius:14px;padding:21px}.publication-detail-hero h1{font-size:21px}.form-section-banner{padding:20px;flex-direction:column;align-items:flex-start}.sticky-form-actions{position:static}
  .card{padding:16px;border-radius:12px}.modern-card{padding:16px}.settings-hero{padding:22px}.row-actions{min-width:145px}.account-action-stack{min-width:155px}
}
@media(max-width:430px){
  .publication-summary-grid{grid-template-columns:1fr}.modern-stat{min-height:auto}.publication-hero-actions,.publication-hero-actions .btn{width:100%}.detail-toolbar .btn,.detail-toolbar form{flex:1}.detail-toolbar form .btn{width:100%}
}


/* RISMA v15 - alur bantuan publikasi berbasis peran */
.publication-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 30px;border-radius:16px;background:linear-gradient(135deg,#1b6772 0%,#2aaea1 62%,#3dd5c6 100%);
  color:#fff;box-shadow:0 16px 35px rgba(31,69,168,.18)
}
.publication-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-105px;background:rgba(255,255,255,.10)}
.publication-hero>div{position:relative;z-index:1}.publication-hero .chair-eyebrow{display:block;color:#d1f7ee;font-size:11px;font-weight:900;letter-spacing:1px;margin-bottom:10px}
.publication-hero h1{margin:0 0 8px;color:#fff;font-size:28px;line-height:1.2}.publication-hero p{margin:0;max-width:760px;color:#ebfcf8;line-height:1.6;font-size:13px}
.publication-hero-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.publication-hero-actions .btn{border-color:rgba(255,255,255,.34);background:#fff;color:#22968a}
.publication-hero-actions .btn.primary{background:#e4b74a;border-color:#e4b74a;color:#235f68}
.publication-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.modern-stat{position:relative;overflow:hidden;min-height:118px;padding:17px 18px;border:1px solid #e4f2ef;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(29,52,114,.06)}
.modern-stat:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-22px;bottom:-30px;background:currentColor;opacity:.08}
.modern-stat span,.modern-stat strong,.modern-stat small{display:block}.modern-stat span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:#6e8f8b}
.modern-stat strong{font-size:27px;line-height:1.15;margin:9px 0 7px;color:#1c6a76}.modern-stat small{font-size:10.5px;color:#799794;line-height:1.35}
.modern-stat.money-value,.modern-stat .money-value{font-size:18px;white-space:nowrap}.modern-stat.blue{border-top:4px solid #30c3b4}.modern-stat.orange{border-top:4px solid #f39b30}
.modern-stat.purple{border-top:4px solid #7356c8}.modern-stat.green{border-top:4px solid #18ad70}.modern-stat.navy{border-top:4px solid #20646f}
.modern-card{border-radius:14px;border-color:#e6f1ee;box-shadow:0 9px 24px rgba(29,52,114,.055)}
.modern-card-head{align-items:center}.modern-card-head h2{font-size:18px}.soft-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:#f0fcf9;color:#289a8f;font-size:11px;font-weight:900}
.publication-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid #eef5f3}
.publication-tabs a{display:inline-flex;align-items:center;gap:8px;border:1px solid #dfece9;border-radius:999px;padding:7px 11px;color:#547b77;background:#fff;font-size:11px;font-weight:800}
.publication-tabs a strong{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#eff7f5;color:#466b68;font-size:10px}
.publication-tabs a.active{background:#24a396;border-color:#24a396;color:#fff}.publication-tabs a.active strong{background:rgba(255,255,255,.18);color:#fff}
.modern-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:14px;background:#f9fefd;border:1px solid #e6f3f0;border-radius:12px;margin-bottom:17px}
.modern-filter-grid label span{display:block}.filter-actions{display:flex;gap:8px}.modern-table-wrap{border-radius:11px;overflow:auto}.modern-table{min-width:980px}
.modern-table th{background:#f6fcfb;color:#557875;text-transform:uppercase;letter-spacing:.3px}.modern-table tbody tr:hover td{background:#fcfefe}
.title-cell strong,.title-cell small,.title-cell em{display:block}.title-cell strong{color:#1a5760;font-size:12.5px}.title-cell small{margin-top:5px}.title-cell em{margin-top:5px;color:#3ba99e;font-size:10px;font-style:normal}
.type-pill{display:inline-flex;padding:5px 8px;border-radius:6px;background:#f0fdfa;color:#289a8f;font-size:10px;font-weight:900;margin-bottom:5px}.status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.modern-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#749693}
.modern-empty>span{font-size:28px;margin-bottom:9px}.modern-empty strong{color:#32575c}.modern-empty p{margin:5px 0 0}.modern-empty.compact{padding:16px}
.publication-form-card{border-top:5px solid #28a396}.form-section-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#f4fdfb;border:1px solid #e0f7f1}
.form-section-banner>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#29a397;color:#fff;font-weight:900}.form-section-banner strong,.form-section-banner small{display:block}.form-section-banner small{color:#698b87;margin-top:3px}
.sticky-form-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #eaf3f1;padding-top:13px;z-index:2}
.publication-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#f6fefc);border-left:5px solid #2aa498}
.publication-detail-hero h2{margin:5px 0 8px}.publication-detail-hero p{margin:0;color:#678985}.linked-proposal{display:block;margin-top:8px;color:#36a59a}
.status-box{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:180px}.status-box strong{font-size:22px;color:#1d7482}.detail-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.publication-detail-grid{align-items:start}.workflow-card{position:sticky;top:102px}.publication-role-note{padding:12px;border-radius:10px;background:#f0fcf9;border:1px solid #dbf6f0;margin-bottom:13px}
.publication-role-note span,.publication-role-note strong{display:block}.publication-role-note span{font-size:10px;font-weight:900;text-transform:uppercase;color:#36a59a}.publication-role-note strong{margin-top:4px;font-size:12px;color:#23555c;line-height:1.45}
.publication-workflow-actions{display:flex;flex-direction:column;gap:12px}.workflow-action-block{padding:15px;border:1px solid #e3efec;border-radius:12px;background:#fff}
.workflow-action-block .workflow-step{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f0fdfa;color:#2a998e;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.workflow-action-block h4{margin:10px 0 6px;color:#1a5963;font-size:14px}.workflow-action-block p{margin:0 0 12px;color:#6a8a87;font-size:11px;line-height:1.55}
.workflow-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workflow-buttons form{display:inline-flex}.approval-cost-form,.validation-form{display:grid;gap:10px}
.approval-cost-form{grid-template-columns:1fr 1fr}.approval-cost-form .workflow-buttons{grid-column:1/-1}.validation-form{grid-template-columns:1fr 1fr}.validation-form .btn{grid-column:1/-1;justify-self:start}
.proof-upload-form{display:grid;grid-template-columns:1fr auto;gap:8px}.workflow-waiting-state,.workflow-complete-state{display:flex;align-items:flex-start;gap:11px;padding:14px;border-radius:11px}
.workflow-waiting-state{background:#fff8e6;border:1px solid #f4dda2}.workflow-complete-state{background:#eafaf2;border:1px solid #bee9d3}
.workflow-waiting-state>span,.workflow-complete-state>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-weight:900;flex:0 0 auto}
.workflow-waiting-state>span{background:#f3b740;color:#fff}.workflow-complete-state>span{background:#23b873;color:#fff}
.workflow-waiting-state strong,.workflow-complete-state strong{display:block;color:#2d4f54}.workflow-waiting-state p,.workflow-complete-state p{margin:4px 0 0;color:#6c8986;font-size:11px}
.modern-timeline{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}.timeline-item{position:relative;padding:11px 12px 11px 32px;border-radius:9px;background:#fafefd;border:1px solid #e7f3f0}
.timeline-item:before{content:"";position:absolute;left:13px;top:17px;width:8px;height:8px;border-radius:50%;background:#33bbad}.timeline-item strong,.timeline-item span{display:block}.timeline-item span{font-size:10.5px;color:#6b8a87;margin-top:4px}
@media(max-width:1100px){.publication-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modern-filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.publication-detail-grid{grid-template-columns:1fr}.workflow-card{position:static}}
@media(max-width:760px){.publication-hero{flex-direction:column;align-items:flex-start;padding:22px}.publication-hero-actions{width:100%}.publication-summary-grid{grid-template-columns:1fr 1fr}.modern-filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.approval-cost-form,.validation-form,.proof-upload-form{grid-template-columns:1fr}.approval-cost-form .workflow-buttons,.validation-form .btn{grid-column:auto}.publication-detail-hero{align-items:flex-start;flex-direction:column}.status-box{align-items:flex-start;min-width:0}}
@media(max-width:480px){.publication-summary-grid{grid-template-columns:1fr}.publication-hero h1{font-size:23px}.publication-tabs a{width:100%;justify-content:space-between}}

/* RISMA v16 - perbaikan submenu navigasi terpotong */
@media (min-width:1001px){
  .bima-top{
    z-index:1000;
    overflow:visible;
  }
  .bima-nav{
    position:relative;
    z-index:1001;
    overflow:visible;
    scrollbar-width:none;
  }
  .bima-nav::-webkit-scrollbar{display:none}
  .nav-drop{
    position:relative;
    z-index:1002;
    overflow:visible;
  }
  .drop-menu{
    z-index:10000;
    top:41px;
  }
  .nav-drop:hover .drop-menu,
  .nav-drop:focus-within .drop-menu,
  .nav-drop.open .drop-menu{
    display:block;
  }
  .bima-main{
    position:relative;
    z-index:1;
  }
}

/* RISMA v17: lima kartu aksi sejajar dan format masukan Rupiah */
.currency-input{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.1px}.currency-input:focus{box-shadow:0 0 0 3px rgba(44,92,201,.12)}
@media(min-width:1151px){.chair-task-grid-five .chair-task{padding:14px 12px;gap:10px}.chair-task-grid-five .chair-task .task-icon{width:36px;height:36px}.chair-task-grid-five .chair-task strong{font-size:23px}.chair-task-grid-five .chair-task h3{font-size:12px}.chair-task-grid-five .chair-task p{font-size:10.5px}}


/* RISMA v18: pemetaan usulan per skema */
.chair-scheme-section{margin-top:18px}.scheme-proposal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.scheme-proposal-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e2f1ee;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(27,52,112,.06);overflow:hidden}
.scheme-proposal-card.research-scheme{border-top:4px solid #35bfb1}.scheme-proposal-card.community-scheme{border-top:4px solid #16a276}
.scheme-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 17px 13px;background:linear-gradient(135deg,#f9fefd,#fff);border-bottom:1px solid #eaf4f2}
.scheme-card-head h3{margin:5px 0 0;color:#1b616c;font-size:15px;line-height:1.35}.scheme-module-label{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edfcf9;color:#30a69a;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}
.community-scheme .scheme-module-label{background:#e8f8f2;color:#14825f}.scheme-count{flex:0 0 auto;padding:6px 9px;border-radius:9px;background:#f0f9f7;color:#447671;font-size:10px}
.scheme-proposal-list{display:flex;flex-direction:column}.scheme-proposal-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 17px;border-bottom:1px solid #eef6f4}.scheme-proposal-item:last-child{border-bottom:0}
.scheme-proposal-main>strong,.scheme-proposal-main>small{display:block}.scheme-proposal-main>strong{color:#20535a;font-size:12.5px;line-height:1.45}.scheme-proposal-main>small{margin-top:6px;color:#759692;font-size:10.5px}
.scheme-proposal-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}.reviewer-progress{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:9.5px;font-weight:900}.reviewer-progress.complete{background:#e7f8ef;color:#12845a}.reviewer-progress.incomplete{background:#fff0eb;color:#bd4a2c}
.scheme-proposal-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:122px}.scheme-proposal-side>span{display:block;color:#789794;font-size:9.5px;text-align:right}.scheme-proposal-side>span strong{display:block;margin-top:2px;color:#295d65;font-size:11px}.scheme-proposal-side .btn{margin-top:3px}
.scheme-card-footer{margin-top:auto;padding:11px 17px;background:#f9fefd;border-top:1px solid #eaf4f2}.scheme-card-footer a{color:#30a99d;font-size:10.5px;font-weight:900}
@media(max-width:1050px){.scheme-proposal-grid{grid-template-columns:1fr}}
@media(max-width:620px){.scheme-proposal-item{grid-template-columns:1fr}.scheme-proposal-side{align-items:flex-start;min-width:0}.scheme-proposal-side>span{text-align:left}.scheme-card-head{flex-direction:column}.scheme-count{align-self:flex-start}}

.proposal-scheme-filter{grid-template-columns:minmax(220px,1fr) minmax(170px,220px) minmax(190px,260px) auto}
@media(max-width:850px){.proposal-scheme-filter{grid-template-columns:1fr 1fr}.proposal-scheme-filter .btn{grid-column:1/-1}}
@media(max-width:560px){.proposal-scheme-filter{grid-template-columns:1fr}.proposal-scheme-filter .btn{grid-column:auto}}


/* RISMA v19: pemetaan skema, privasi nilai dosen, dan preview dokumen */
.proposal-page-card{overflow:visible}
.proposal-scheme-map{margin:28px 0 22px;padding:22px;border:1px solid #e0efec;border-radius:18px;background:linear-gradient(135deg,#f9fefd 0%,#ffffff 58%,#f6fdfc 100%)}
.section-heading-inline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.section-heading-inline h3{margin:3px 0 5px;font-size:21px;color:#174d55}.section-heading-inline p{margin:0;color:#668986}
.proposal-scheme-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}
.proposal-scheme-map-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:190px;padding:18px;border:1px solid #e0efec;border-radius:16px;background:#fff;color:#19373b;text-decoration:none;box-shadow:0 8px 24px rgba(22,45,91,.06);transition:.2s ease;overflow:hidden}
.proposal-scheme-map-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#2dc1b2,#71f6e9)}
.proposal-scheme-map-card.community:before{background:linear-gradient(#0f9b75,#62d7ae)}
.proposal-scheme-map-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,45,91,.12);border-color:#bfe1d9}
.scheme-map-module{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#37bcaf}.proposal-scheme-map-card.community .scheme-map-module{color:#087b5c}
.proposal-scheme-map-card h4{margin:0;min-height:42px;font-size:16px;line-height:1.35}.scheme-map-count{display:flex;align-items:baseline;gap:7px}.scheme-map-count strong{font-size:28px;color:#1b7582}.scheme-map-count span{color:#668986;font-weight:700}
.scheme-map-finance{display:grid;gap:5px;padding-top:10px;border-top:1px dashed #deeeea}.scheme-map-finance span{display:flex;justify-content:space-between;gap:8px;color:#668986;font-size:11px}.scheme-map-finance b{color:#19373b}.proposal-scheme-map-card small{margin-top:auto;color:#729693}
.scheme-grouped-proposals{display:grid;gap:24px;margin-top:24px}.scheme-proposal-section{border:1px solid #dfeeeb;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(26,46,86,.055)}
.scheme-proposal-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(90deg,#f0fdfa,#fff)}
.scheme-proposal-section-head span{display:block;color:#3ebfb2;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.scheme-proposal-section-head h3{margin:3px 0;font-size:18px;color:#184b53}.scheme-proposal-section-head p{margin:0;color:#6c8f8b;font-size:12px}
.scheme-proposal-section .table-wrap{border:0;border-radius:0;margin:0}.scheme-proposal-section table{margin:0}.scheme-proposal-section thead th{background:#f9fefd}
.privacy-review-note{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;margin:14px 0 20px;border:1px solid #d1f1e9;border-radius:14px;background:#f4fdfb}.privacy-review-note>span{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border-radius:50%;background:#37bcaf;color:#fff;font-weight:900}.privacy-review-note strong{display:block;color:#1c616c}.privacy-review-note p{margin:3px 0 0;color:#608b87}.privacy-review-note.compact{padding:11px 13px;margin:8px 0 14px}.privacy-review-note.compact p{font-size:12px}
.review-comment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.reviewer-comment-card{margin:0}.reviewer-anonymous-label{display:block;color:#37bcaf;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.comment-ready,.comment-pending{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-size:20px;font-weight:900}.comment-ready{background:#e8f8ef;color:#188553}.comment-pending{background:#fff5dc;color:#a36a00}
.general-review-comment{padding:14px;border-radius:12px;background:#f7fbfa;border-left:4px solid #37bcaf}.general-review-comment strong{color:#20606a}.general-review-comment p{margin:6px 0 0;line-height:1.65}.criterion-comment-list{display:grid;gap:10px;margin-top:12px}.criterion-comment-list article{padding:13px 14px;border:1px solid #e2efec;border-radius:12px;background:#fff}.criterion-comment-list article strong{color:#245961}.criterion-comment-list article p{margin:5px 0 0;color:#557875;line-height:1.55}.review-card.comments-only strong{color:#37bcaf}
.document-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.report-document-actions{margin-top:12px}.report-document-actions>.document-actions{padding-top:8px}
.document-preview-shell{padding:0;overflow:hidden}.document-preview-shell>.card-head{padding:20px 22px;margin:0;border-bottom:1px solid #e2eeeb;background:linear-gradient(90deg,#f6fefc,#fff)}.document-viewer-frame{height:76vh;min-height:560px;background:#30393b}.document-viewer-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.document-image-preview{display:flex;justify-content:center;align-items:flex-start;min-height:420px;padding:24px;background:#eff6f4}.document-image-preview img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.16)}
.document-text-preview{max-height:76vh;min-height:480px;overflow:auto;margin:0;padding:32px 7%;white-space:pre-wrap;word-break:break-word;background:#f2f5f4;color:#1e3336;font:14px/1.75 Consolas,"Courier New",monospace}.document-text-preview.office-text{max-width:900px;margin:24px auto;padding:55px 65px;background:#fff;box-shadow:0 8px 34px rgba(25,42,75,.14);border:1px solid #e1ece9;font-family:Arial,sans-serif;line-height:1.7}.office-preview-note{padding:12px 20px;border-bottom:1px solid #deeeea;background:#fff9e8;color:#775600;font-size:12px;text-align:center}
.document-missing-state{display:flex;align-items:flex-start;gap:16px;margin:26px;padding:22px;border:1px solid #ffd1d1;border-radius:16px;background:#fff6f6}.document-missing-state.warning{border-color:#f3d89a;background:#fffaf0}.document-missing-state>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#c93c3c;color:#fff;font-size:22px;font-weight:900}.document-missing-state.warning>span{background:#d69819}.document-missing-state strong{display:block;font-size:17px}.document-missing-state p{margin:6px 0 13px;color:#678481}.document-security-note{padding:12px 20px;border-top:1px solid #e4eeec;background:#f9fbfb;color:#668986;font-size:11px;text-align:center}
.publication-document-list{display:grid;gap:10px}.publication-document-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border:1px solid #e1eeeb;border-radius:13px;background:#fcfefe}.publication-document-item>div:first-child{display:grid;gap:3px}.publication-document-item small{color:#729591}.document-type-chip{width:max-content;padding:3px 7px;border-radius:99px;background:#ecfcf8;color:#37bcaf;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.publication-form-card input[type=file],.proof-upload-form input[type=file]{padding:9px;background:#fff;border:1px dashed #bdd7d1}
@media(max-width:900px){.proposal-scheme-map-grid{grid-template-columns:1fr 1fr}.scheme-proposal-section-head{align-items:flex-start;flex-direction:column}.document-viewer-frame{height:68vh;min-height:460px}.document-text-preview.office-text{margin:12px;padding:28px 24px}.publication-document-item{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.proposal-scheme-map-grid,.review-comment-grid{grid-template-columns:1fr}.proposal-scheme-map{padding:15px}.document-viewer-frame{height:62vh;min-height:400px}.document-preview-shell>.card-head{align-items:flex-start}.publication-document-item .document-actions{width:100%}.publication-document-item .document-actions .btn{flex:1}}

/* RISMA v20: preview substansi dan RAB pada form reviewer */
.reviewer-proposal-heading{border:1px solid #dff1ed;box-shadow:0 16px 36px rgba(37,63,116,.08)}
.reviewer-proposal-heading .card-head{align-items:flex-start}
.reviewer-material-card{padding:0;overflow:hidden;border:1px solid #ddf0ec;box-shadow:0 18px 44px rgba(30,58,110,.09)}
.reviewer-material-head{padding:22px 24px;margin:0;background:linear-gradient(135deg,#f8fefd 0%,#f0fdfa 55%,#fff 100%);border-bottom:1px solid #def0ec}
.reviewer-material-head h3{margin:4px 0 6px;font-size:22px;color:#13474f}.reviewer-material-head p{margin:0;max-width:720px;color:#5f8783}
.review-material-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:440px}
.review-material-summary span{display:flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #dbf1ec;border-radius:999px;background:rgba(255,255,255,.85);font-size:12px;color:#557d79;white-space:nowrap}
.review-material-summary b{color:#1b717e}
.review-material-tabs{display:flex;gap:6px;padding:12px 18px;border-bottom:1px solid #dfefeb;background:#fff;overflow-x:auto}
.review-material-tab{appearance:none;border:1px solid transparent;border-radius:10px;background:transparent;padding:10px 15px;color:#557976;font-size:13px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;transition:.2s ease}
.review-material-tab:hover{background:#f2fbf9;color:#1a707e}.review-material-tab.active{border-color:#c1e9e0;background:#edfcf9;color:#1b8292;box-shadow:0 5px 14px rgba(37,91,181,.10)}
.review-material-panel{padding:20px;background:#f6fcfb}.review-material-panel[hidden]{display:none!important}.review-material-panel.active{display:block}
.review-substance-document+.review-substance-document{margin-top:18px}.secondary-document{border-top:1px dashed #cde5df;padding-top:18px}
.embedded-document-preview{overflow:hidden;border:1px solid #d9ebe7;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(29,51,91,.07)}
.embedded-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #e2eeeb;background:#fff}
.embedded-document-toolbar>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.embedded-document-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1d474e}.embedded-document-toolbar small{color:#739895}
.embedded-pdf-frame{height:68vh;min-height:580px;background:#30393b}.embedded-pdf-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.embedded-image-frame{display:flex;justify-content:center;align-items:flex-start;max-height:72vh;overflow:auto;padding:22px;background:#f0f7f6}.embedded-image-frame img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 12px 34px rgba(0,0,0,.15)}
.embedded-text-frame{max-height:68vh;min-height:460px;overflow:auto;margin:0;padding:28px 5%;white-space:pre-wrap;word-break:break-word;background:#f3f6f5;color:#21383c;font:13px/1.75 Consolas,"Courier New",monospace}.embedded-text-frame.office{max-width:920px;margin:20px auto;min-height:520px;padding:48px 58px;background:#fff;border:1px solid #e1ebe9;box-shadow:0 10px 32px rgba(24,42,76,.12);font-family:Arial,sans-serif}
.embedded-office-note{padding:10px 16px;border-bottom:1px solid #e5f0ed;background:#fff8e4;color:#765b0a;font-size:12px;text-align:center}
.review-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:30px;text-align:center;border:1px dashed #c8e3dd;border-radius:14px;background:#fff;color:#608582}.review-preview-empty strong{font-size:17px;color:#235057}.review-preview-empty p{max-width:600px;margin:8px 0 14px}.review-preview-empty.warning{background:#fffaf0;border-color:#e8d49f}
.review-rab-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.review-rab-overview>div{padding:15px 17px;border:1px solid #daece8;border-radius:12px;background:#fff}.review-rab-overview span{display:block;margin-bottom:5px;color:#739895;font-size:12px}.review-rab-overview strong{color:#1a7482;font-size:20px}
.review-rab-group{overflow:hidden;margin-top:14px;border:1px solid #daece8;border-radius:13px;background:#fff}.review-rab-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(90deg,#f0fcf9,#fff);border-bottom:1px solid #e2efec}.review-rab-group-head strong{display:block;color:#1a616b}.review-rab-group-head small{display:block;margin-top:4px;color:#6f9491}.review-rab-group-head>div:last-child{text-align:right}.review-rab-group-head>div:last-child span{display:block;color:#779995;font-size:11px}.review-rab-group-head>div:last-child b{color:#1c7987}
.review-rab-table table{min-width:900px}.review-rab-table td,.review-rab-table th{vertical-align:top}.review-rab-grand-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:17px 19px;border-radius:13px;background:linear-gradient(135deg,#1a7886,#33cebf);color:#fff}.review-rab-grand-total span{font-weight:700}.review-rab-grand-total strong{font-size:21px}
.reviewer-summary-sections{padding:0;background:transparent}.reviewer-summary-sections .section-box{min-height:150px;background:#fff}.reviewer-summary-sections .section-box p{max-height:300px;overflow:auto;white-space:normal}.review-summary-money{font-size:22px;font-weight:800;color:#1c7e8d}
.reviewer-score-form{border:1px solid #ddf0ec;box-shadow:0 16px 38px rgba(30,58,110,.08)}.review-score-guidance{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #d5f2eb;border-radius:11px;background:#f1fdfa;color:#396c74}.review-score-guidance span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#32c4b5;color:#fff;font-weight:800}.review-score-guidance p{margin:0}.weight-pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edfcf9;color:#1c7b8a;font-weight:800}.reviewer-submit-button{min-height:44px;font-size:14px}
@media(max-width:1000px){.reviewer-material-head{align-items:flex-start;flex-direction:column}.review-material-summary{justify-content:flex-start;max-width:none}.embedded-pdf-frame{height:62vh;min-height:500px}.review-rab-overview{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.review-material-panel{padding:12px}.review-material-tabs{padding:9px}.review-material-tab{padding:9px 12px}.embedded-document-toolbar{align-items:flex-start;flex-direction:column}.embedded-document-toolbar>div:first-child{align-items:flex-start;flex-direction:column}.embedded-document-toolbar .document-actions{width:100%}.embedded-document-toolbar .document-actions .btn{flex:1}.embedded-pdf-frame{height:58vh;min-height:410px}.embedded-text-frame.office{margin:10px;padding:28px 20px}.review-rab-overview{grid-template-columns:1fr}.review-rab-group-head{align-items:flex-start;flex-direction:column}.review-rab-group-head>div:last-child{text-align:left}.review-material-summary span{white-space:normal}}

/* RISMA v21: satu PDF terpadu untuk reviewer */
.reviewer-heading-actions{align-items:center;justify-content:flex-end}
.combined-proposal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid #dfefeb;background:#fff}
.combined-proposal-toolbar>div:first-child{display:grid;gap:3px}.combined-proposal-toolbar strong{color:#1a5a64;font-size:14px}.combined-proposal-toolbar small{color:#6c8e8b}
.combined-proposal-frame{height:76vh;min-height:650px;background:#30393b}.combined-proposal-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.original-document-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-top:1px solid #dfefeb;background:#f9fefd}.original-document-strip>div:first-child{display:grid;gap:3px}.original-document-strip strong{color:#1a5a64}.original-document-strip small{color:#739895}.btn.ghost{min-width:35px;padding-left:10px;padding-right:10px}
@media(max-width:900px){.combined-proposal-toolbar,.original-document-strip{align-items:flex-start;flex-direction:column}.combined-proposal-frame{height:68vh;min-height:520px}.reviewer-heading-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:620px){.combined-proposal-frame{height:62vh;min-height:430px}.combined-proposal-toolbar .document-actions,.original-document-strip .document-actions{width:100%}.combined-proposal-toolbar .document-actions .btn{flex:1}.reviewer-heading-actions{width:100%;align-items:stretch}.reviewer-heading-actions .btn{text-align:center}}

/* Proposal wizard: previous steps remain editable, later steps stay locked until valid. */
.proposal-step-panel[hidden]{display:none!important}
.proposal-step-panel.is-active{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}
.proposal-step-panel>.full{grid-column:1/-1}
.proposal-step-panel .wizard-block{margin-top:0!important}
.proposal-wizard-flow .flow-step{appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;cursor:pointer!important;font:inherit!important}
.proposal-wizard-flow .flow-step:disabled{cursor:not-allowed!important;opacity:.72!important}
.proposal-wizard-flow .flow-step.completed span{background:#25835a!important;box-shadow:0 0 0 1px #25835a!important}
.proposal-wizard-flow .flow-step.completed small{color:#1d6b49!important}
.proposal-wizard-flow .flow-step.locked span{background:#abc4c1!important;box-shadow:0 0 0 1px #d9ebe7!important}
.proposal-step-alert{padding:13px 15px;border:1px solid #efb5b5;border-left:5px solid #c93434;border-radius:8px;background:#fff5f5;color:#7b2020}
.proposal-step-alert strong{display:block;margin-bottom:6px}
.proposal-step-alert ul{margin:0;padding-left:20px}
.proposal-step-alert li+li{margin-top:3px}
.required-mark{color:#c93434;font-weight:900}
.partner-required-mark{color:#b02a37;font-size:11px;font-weight:800}
.existing-file-note{display:block;margin-top:7px;color:#376446;line-height:1.45}
.wizard-invalid{border-color:#c93434!important;box-shadow:0 0 0 3px rgba(201,52,52,.12)!important;background:#fffafa!important}
.wizard-row-invalid{outline:2px solid rgba(201,52,52,.42);outline-offset:-2px;background:#fff8f8}
.proposal-step-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:9px;margin-top:4px}
.partner-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partner-section>p,.partner-section>.full{grid-column:1/-1}
.confirmation-box{padding:16px;border:1px solid #dbece8;border-radius:9px;background:#f9fefd}
.confirmation-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:700;line-height:1.5}
.confirmation-check input{width:auto!important;margin-top:3px;flex:0 0 auto}
@media(max-width:900px){.proposal-step-panel.is-active,.partner-section{grid-template-columns:1fr}.proposal-step-panel>*{grid-column:1/-1}.proposal-step-actions{align-items:stretch;flex-direction:column}.proposal-step-actions .btn{width:100%}}

/* RISMA form cleanup: compact layout, upload helpers, repeaters */
.form-section-card{border:1px solid #def0ec;background:#fff;border-radius:12px;padding:18px 18px 16px;margin-top:16px;box-shadow:0 1px 2px rgba(15,35,95,.03)}
.form-section-card__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eff8f6}
.form-section-card__head h3{margin:0;color:#165e69;font-size:15px}
.form-section-card__head p{margin:2px 0 0;color:#6a8e8b;max-width:720px}
.proposal-two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.proposal-two-col-grid .span-2{grid-column:1/-1}
.upload-assist-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:14px;align-items:stretch;margin-top:10px}
.upload-field-card{display:flex;flex-direction:column;gap:8px;border:1px dashed #ceeae3;border-radius:10px;background:#fcfefe;padding:14px}
.upload-field-card input[type=file]{background:#fff;border:1px solid #dbeeea;border-radius:8px;padding:10px}
.upload-template-card{border:1px solid #dcf0eb;border-radius:10px;background:linear-gradient(180deg,#f9fefd 0%,#f4fdfb 100%);padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.upload-template-card__body strong{display:block;color:#165e69;font-size:13px}
.upload-template-card__body p{margin:6px 0 0;color:#658784;line-height:1.5;font-size:12px}
.proposal-highlight-note,.partner-info-banner{background:#f8fefd;border:1px solid #ddf9f3;border-left:4px solid #34cabb;border-radius:8px;padding:10px 12px;color:#27565d;margin-bottom:14px}
.enhanced-member-grid{align-items:start}
.repeater-box{padding:16px}
.repeater-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.repeater-head strong{margin:0 0 4px}
.repeater-head p{margin:0;color:#658784;line-height:1.5}
.repeater-list{display:flex;flex-direction:column;gap:10px}
.repeater-item{position:relative;border:1px solid #e5f2ef;border-radius:10px;background:#fcfefe;padding:12px}
.repeater-item .repeater-remove{margin-top:8px}
.member-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.2fr) auto;gap:10px;align-items:start;margin-top:0}
.member-row.compact{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
.output-stack{display:flex;flex-direction:column;gap:14px}
.output-repeater-list .repeater-item{padding:14px}
.output-row-grid{display:grid;grid-template-columns:220px 220px minmax(0,1fr);gap:10px;align-items:start}
.output-row-grid .full{grid-column:1/-1}
.repeater-note{margin:10px 0 0;color:#6b8f8c;font-size:12px}
.btn.ghost{background:#fff;border:1px solid #dae7e4;color:#7d2030}
.btn.ghost:hover{background:#fff6f7}
.existing-file-note{display:block;color:#618481;font-size:12px;margin-top:2px}
@media(max-width:1000px){.proposal-two-col-grid,.upload-assist-grid,.output-row-grid,.member-row,.member-row.compact{grid-template-columns:1fr}.form-section-card__head,.repeater-head{flex-direction:column}.member-row .repeater-remove,.member-row.compact .repeater-remove,.output-repeater-list .repeater-remove{width:100%}}

/* RISMA tweak: inline required star, clearer template download cards, stacked members */
.proposal-form label{display:block}
.proposal-form label input,
.proposal-form label select,
.proposal-form label textarea,
.proposal-form label .existing-file-note{display:block;margin-top:7px}
.proposal-form .required-mark,
.proposal-form .partner-required-mark{display:inline;margin-left:3px;white-space:nowrap;vertical-align:baseline}
.proposal-form .section-note{margin-top:8px}

.template-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.template-chip{display:flex;align-items:center;gap:12px;border:1px solid #ddfaf3;background:#f9fefd;border-radius:10px;padding:12px 14px;color:#1d7482;min-height:76px}
.template-chip__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#eafcf8;font-size:20px;flex:0 0 auto}
.template-chip__content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}
.template-chip__content strong{display:block}
.template-chip__content small{display:block;color:#688a87;line-height:1.45}
.template-chip__download{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 10px;border-radius:999px;background:#34cabb;color:#fff;font-size:11px;font-weight:700;flex:0 0 auto}

.upload-template-card__title{display:flex;align-items:center;gap:10px}
.upload-template-card__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#eafbf7;font-size:18px;flex:0 0 auto}

.member-grid.enhanced-member-grid{grid-template-columns:1fr}
.member-grid.enhanced-member-grid .section-box{width:100%}
.member-row.compact{grid-template-columns:repeat(4,minmax(0,1fr)) auto}

@media(max-width:1000px){
  .template-list{grid-template-columns:1fr}
}

/* Dashboard refresh: fill left area with trend card and show scheduled flow dates */
.dashboard-trend-card{min-height:210px;border-radius:12px;overflow:hidden}
.dashboard-trend-card .card-head{margin-bottom:10px}
.dashboard-trend-card .card-head h2{font-size:18px}
.trend-summary-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.trend-summary-chips div{background:#f8fefd;border:1px solid #e4f5f1;border-radius:10px;padding:10px 12px}
.trend-summary-chips span{display:block;font-size:11px;color:#6c908d;margin-bottom:4px}
.trend-summary-chips strong{display:block;color:#1b6a76;font-size:16px}
.chart-legend{display:flex;align-items:center;gap:12px;color:#618884;font-size:12px}
.chart-legend b,.chart-legend i{display:inline-block;width:12px;height:12px;border-radius:999px}
.chart-legend b{background:#8d49ff}.chart-legend i{background:#3bf3e0}
.trend-chart{width:100%;height:165px;display:block}
.trend-grid-line{stroke:#eef6f4;stroke-width:1}
.trend-line{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.trend-line-primary{stroke:#9a43ff}.trend-line-secondary{stroke:#50f4e3}
.trend-dot{stroke:#fff;stroke-width:2}.trend-dot-primary{fill:#9a43ff}.trend-dot-secondary{fill:#50f4e3}
.trend-axis-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;color:#6b8c88;font-size:11px;text-align:center;margin-top:4px}

.dashboard-flow-card{margin-top:16px;border-radius:12px}
.flow-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.flow-period-module{border:1px solid #e8f4f1;border-radius:12px;background:#fcfefe;padding:16px}
.flow-period-module__head{margin-bottom:12px}
.flow-period-module__head h3{margin:0 0 4px;color:#186c79;font-size:16px}
.flow-period-module__head p{margin:0;color:#688d8a;font-size:12px;line-height:1.5}
.flow-period-item{border:1px solid #e0f2ee;border-radius:12px;background:#fff;padding:14px;margin-top:12px;box-shadow:0 3px 12px rgba(31,52,106,.04)}
.flow-period-item__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.flow-period-item__top strong{display:block;color:#145a64;font-size:14px}
.flow-period-item__top small{display:block;color:#6c8f8c;margin-top:4px}
.flow-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700}
.flow-status-badge.is-open{background:#eaf8ef;color:#15824f}.flow-status-badge.is-closed{background:#f0f9f7;color:#618683}
.flow-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.flow-stage{background:#f8fefd;border:1px solid #e5f5f1;border-radius:10px;padding:11px}
.flow-stage span{display:block;color:#628884;font-size:11px;margin-bottom:4px}
.flow-stage strong{display:block;color:#1b616b;font-size:12px;line-height:1.45}
.flow-scheme-row{margin-top:12px}
.flow-scheme-row>span{display:block;color:#628884;font-size:11px;margin-bottom:7px}
.flow-scheme-chips{display:flex;flex-wrap:wrap;gap:8px}
.flow-scheme-chips em{font-style:normal;background:#f0fcf9;border:1px solid #dcf9f2;color:#268d82;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600}
.flow-period-empty{border:1px dashed #d7ebe6;border-radius:10px;background:#fff;padding:18px;color:#698d8a;font-size:12px}

@media(max-width:1000px){
  .trend-summary-chips,.flow-period-grid,.flow-stage-list{grid-template-columns:1fr}
}

/* Catatan harian berbasis persentase */
.activity-progress-card{border-radius:14px}
.activity-head-actions{display:flex;align-items:center}
.activity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.activity-summary-grid div{background:linear-gradient(180deg,#f9fefd 0%,#f1fdfa 100%);border:1px solid #dff2ee;border-radius:12px;padding:12px 14px}
.activity-summary-grid span{display:block;color:#6c908d;font-size:11px;margin-bottom:5px}
.activity-summary-grid strong{display:block;color:#1b6c78;font-size:18px}
.activity-form-details{margin-bottom:16px;border:1px solid #e0f2ee;border-radius:12px;background:#fcfefe;padding:12px 14px}
.activity-form-details>summary{font-weight:700;color:#1a6a76;cursor:pointer;list-style:none}
.activity-form-details>summary::-webkit-details-marker{display:none}
.activity-entry-form{margin-top:14px}
.activity-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.activity-form-grid .span-2{grid-column:1/-1}
.activity-form-grid label{display:flex;flex-direction:column;gap:7px;color:#25545b;font-weight:600}
.activity-form-grid label small{font-weight:400;color:#6c8f8b;line-height:1.45}
.activity-table-wrap{margin-top:4px}
.activity-progress-table td small{display:block;color:#6c908d;line-height:1.45;margin-top:4px}
.activity-progress-pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:6px 10px;border-radius:999px;background:#edfcf9;border:1px solid #d6f8f0;color:#219085;font-weight:700}
.activity-progress-table tfoot td{background:#fcfefe}
@media(max-width:1000px){.activity-summary-grid,.activity-form-grid{grid-template-columns:1fr}}

/* daftar catatan harian pada tab aktif berjalan */
.activity-list-board{margin-top:18px;border:1px solid #def1ec;border-radius:16px;background:#fff;padding:18px 18px 8px}
.activity-year-chip{display:flex;flex-direction:column;gap:4px;min-width:170px;padding:12px 14px;background:#f6fefc;border:1px solid #ddf3ee;border-radius:12px}
.activity-year-chip span{font-size:11px;color:#749b97;text-transform:uppercase;letter-spacing:.04em}
.activity-year-chip strong{font-size:22px;color:#1b6c78;line-height:1.1}
.activity-master-table table th,.activity-master-table table td{vertical-align:top}
.activity-master-table table td:nth-child(1),.activity-master-table table th:nth-child(1),.activity-master-table table td:nth-child(3),.activity-master-table table th:nth-child(3),.activity-master-table table td:nth-child(6),.activity-master-table table th:nth-child(6){white-space:nowrap}
.activity-master-table small{display:block;color:#6c8f8b;line-height:1.45;margin-top:4px}

/* halaman khusus catatan harian */
.activity-only-shell{max-width:1180px;margin:0 auto}
.activity-only-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px;border:1px solid #e4f1ee;border-radius:14px;background:#fff}
.activity-only-header h2{margin:4px 0 6px;color:#1b616b;font-size:21px}
.activity-only-header p{margin:0;color:#6a8d8a;line-height:1.5}
.activity-only-shell .activity-progress-card{margin:0}
@media(max-width:760px){.activity-only-header{flex-direction:column}.activity-only-header .btn{width:100%}}

/* Form catatan harian modal dan aksi edit */
.activity-form-modal[hidden]{display:none!important}
.activity-form-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}
.activity-form-backdrop{position:absolute;inset:0;background:rgba(13,27,58,.58);backdrop-filter:blur(2px)}
.activity-form-dialog{position:relative;z-index:1;width:min(880px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 28px 80px rgba(10,27,70,.28);padding:20px}
.activity-form-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #e9f5f2;margin-bottom:16px}
.activity-form-dialog__head h3{margin:3px 0 0;color:#1b616b;font-size:19px}
.activity-modal-close{appearance:none;border:0;background:#f0f9f7;color:#2a636c;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.activity-form-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #e9f5f2}
.activity-modal-open{overflow:hidden}
.activity-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.activity-row-actions .inline-form{margin:0}
@media(max-width:760px){.activity-form-modal{padding:10px}.activity-form-dialog{max-height:calc(100vh - 20px);padding:15px}.activity-form-dialog__actions{flex-direction:column-reverse}.activity-form-dialog__actions .btn{width:100%}}

/* Perbaikan usulan: tabel khusus mengikuti model daftar pendanaan */
.correction-list-board{margin-top:18px;border:1px solid #e2f0ed;border-radius:14px;background:#fff;padding:18px}
.correction-list-heading{align-items:flex-start;margin-bottom:16px}
.correction-master-table{border:1px solid #e6f0ee;border-radius:10px;overflow:auto}
.correction-master-table table{min-width:980px}
.correction-master-table th{background:#f8fbfa;color:#284d52;font-weight:700;vertical-align:middle}
.correction-master-table td{vertical-align:top;padding-top:14px;padding-bottom:14px}
.correction-master-table td small{display:block;color:#6a8c89;line-height:1.45;margin-top:5px}
.correction-funding-card{min-width:225px;border:1px solid #e6f1ee;border-radius:14px;background:#fff;padding:10px;box-shadow:0 4px 12px rgba(25,47,100,.06)}
.correction-funding-card>strong{display:block;margin:0 0 8px;color:#2b555b;font-size:12px}
.correction-funding-item{display:flex;flex-direction:column;gap:3px;border-radius:12px;padding:10px 12px;margin-top:7px}
.correction-funding-item span{font-size:11px;color:#547b77}
.correction-funding-item b{font-size:14px}
.correction-funding-item.revised{background:#eaf9f3;border:1px solid #bde8d6;color:#149062}
.correction-funding-item.approved{background:#f0fcf9;border:1px solid #d4f8f0;color:#30b7aa}
.correction-icon-cell{text-align:center;white-space:nowrap}
.correction-square-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;color:#fff;font-size:17px;font-weight:800;box-shadow:0 3px 8px rgba(26,56,132,.16)}
.correction-square-btn.document{background:#51e2d3}
.correction-square-btn.edit{background:#29a598}
.correction-square-btn:hover{color:#fff;filter:brightness(.95)}
.correction-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:800}
.correction-status.admin{background:#fff3d7;color:#986300;border:1px solid #f3d48d}
.correction-status.substance{background:#edfcf9;color:#229f92;border:1px solid #cef0e8}
@media(max-width:900px){.correction-list-heading{flex-direction:column}.correction-list-heading .activity-year-chip{width:100%}}

/* Perbaikan anggaran setelah penetapan dan review */
.correction-status.budget{background:#fff2cf;color:#8a5b00;border:1px solid #f0d27a}
.correction-review-note{display:block;margin-top:7px;color:#6a908c;line-height:1.45;max-width:220px}
.correction-review-note strong{color:#337f77}

/* Panduan dana disetujui pada perbaikan RAB */
.rab-approved-guide{border:1px solid #dcf1ec;border-radius:12px;background:#fcfefe;padding:15px 16px;margin-top:12px}
.rab-approved-guide.has-approved-budget{border-left:5px solid #37c2b4}
.rab-approved-guide.waiting-approved-budget{border-left:5px solid #9bbeba}
.rab-approved-guide.is-matched{border-color:#b8e6ca;border-left-color:#178751;background:#f6fff9}
.rab-approved-guide.is-under{border-color:#efd9a5;border-left-color:#c88710;background:#fffdf7}
.rab-approved-guide.is-over{border-color:#f0c1c1;border-left-color:#c43f3f;background:#fff8f8}
.rab-approved-guide__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.rab-approved-guide__head h4{margin:3px 0 0;color:#1b616b;font-size:15px}
.rab-approved-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rab-approved-summary-grid>div{border:1px solid #e3f0ed;border-radius:9px;background:#fff;padding:11px 12px}
.rab-approved-summary-grid>div.approved-target{background:#f0fcf9;border-color:#d0f3eb}
.rab-approved-summary-grid span{display:block;font-size:10.5px;color:#688c89;margin-bottom:5px}
.rab-approved-summary-grid strong{display:block;color:#1a6570;font-size:14px;line-height:1.35}
.rab-approved-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:10.5px;font-weight:800;background:#eff7f5;color:#628884}
.rab-approved-status.pending{background:#fff2d8;color:#8b5a00}
.rab-approved-status.neutral{background:#eef6f4;color:#668985}
.rab-approved-status.matched{background:#e4f8ec;color:#137746}
.rab-approved-status.under{background:#fff1d5;color:#8d5b00}
.rab-approved-status.over{background:#ffe7e7;color:#9b2929}
.rab-approved-guidance{margin:12px 0 0;color:#517874;font-size:11.5px;line-height:1.55}
.rab-approved-guidance strong{color:#1b616b}
@media(max-width:1000px){.rab-approved-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rab-approved-summary-grid{grid-template-columns:1fr}.rab-approved-guide__head{flex-direction:column}}

/* Riwayat perbaikan tetap tampil setelah selesai */
.correction-status.completed{background:#e8f8ef;color:#147947;border:1px solid #bde6cf}
.correction-square-btn.view{background:#f0fdfa;color:#219d90;border:1px solid #d2f8ef}
.correction-square-btn.view:hover{background:#e3fbf5}

/* Daftar dan halaman khusus Laporan Akhir / Pengkinian Luaran */
.final-report-list-board,.output-update-list-board{margin-top:18px}
.final-report-template-panel{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:14px;align-items:start;margin:14px 0 18px;padding:14px;border:1px solid #e0f2ed;border-radius:12px;background:#fafefd}
.final-report-template-panel>div:first-child strong{display:block;color:#1b6c78;font-size:14px;margin-bottom:5px}
.final-report-template-panel>div:first-child p{margin:0;color:#6a8f8c;font-size:12px;line-height:1.5}
.final-report-template-panel .template-list{margin:0}
.final-report-template-panel.compact{margin-top:14px}
.final-report-history-table td,.final-report-history-table th,.output-update-history-table td,.output-update-history-table th{vertical-align:top}
.history-secondary-file{margin-top:7px}
.correction-status.pending{background:#f2f8f7;color:#618683;border:1px solid #dbe9e6}
.correction-status.submitted{background:#edfcf9;color:#2ca397;border:1px solid #cff1e9}
.output-progress-summary{display:flex;flex-direction:column;gap:3px;min-width:120px}
.output-progress-summary strong{font-size:17px;color:#1b6c78}
.output-progress-summary span,.output-progress-summary small{color:#6a8f8c;font-size:11px}
.final-report-only-shell,.output-update-only-shell{max-width:1120px;margin:0 auto}
.final-report-upload-card,.output-update-manage-card{border-radius:14px}
.final-report-existing{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0;padding:14px;border:1px solid #def1ec;border-radius:12px;background:#fcfefe}
.final-report-existing strong{display:block;color:#1a6671;margin-bottom:4px}
.final-report-existing p{margin:0;color:#6a8e8b}
.final-report-upload-form,.output-update-manage-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.final-report-upload-form .full,.output-update-manage-form .full{grid-column:1/-1}
.final-report-upload-form label,.output-update-manage-form label{display:flex;flex-direction:column;gap:7px}
.final-report-upload-form label small{color:#6c8f8b;font-weight:400;line-height:1.45}
.output-target-table{margin-top:16px}
.output-update-history{margin-top:22px;padding-top:18px;border-top:1px solid #e6f3f0}
@media(max-width:1000px){
  .final-report-template-panel,.final-report-upload-form,.output-update-manage-form{grid-template-columns:1fr}
  .final-report-existing{align-items:flex-start;flex-direction:column}
}

/* Edit periode */
.period-edit-notice{margin-bottom:14px;padding:11px 13px;border:1px solid #d4f8f0;border-left:4px solid #37cabb;border-radius:9px;background:#f6fdfc;color:#286f7a}
.is-editing-row td{background:#f5fdfb}

/* Pengkinian luaran: form berdasarkan janji usulan dan warna status berbeda */
.promised-output-section{margin-top:20px;border:1px solid #e0f2ee;border-radius:14px;padding:16px;background:#fcfefe}
.promised-output-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e6f3f0}
.promised-output-section__head span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#36a79c}
.promised-output-section__head h3{margin:4px 0;color:#1c6975;font-size:16px}
.promised-output-section__head p{margin:0;color:#678d89;font-size:12px;line-height:1.5}
.promised-output-section__head>strong{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:7px 10px;border-radius:999px;background:#edfcf9;color:#2d9d92;font-size:12px}
.promised-output-additional{background:#fcf9ff;border-color:#e6daf6}
.promised-output-additional .promised-output-section__head span{color:#7b3fb1}
.promised-output-additional .promised-output-section__head h3{color:#58307d}
.promised-output-additional .promised-output-section__head>strong{background:#f2eaff;color:#6b3e95}
.promised-output-grid{display:grid;grid-template-columns:1fr;gap:16px}
.promised-output-card{border:1px solid #e2f1ee;background:#fff;border-radius:13px;padding:16px;box-shadow:0 3px 12px rgba(26,52,105,.04)}
.additional-output-card{border-color:#e5d8f2}
.promised-output-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.promised-output-card__head h4{margin:9px 0 4px;color:#1a606b;font-size:14px}
.promised-output-card__head p{margin:0;color:#6c8e8b;font-size:12px}
.promised-output-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0fcf9;color:#2d9b90;font-weight:900;flex:0 0 auto}
.additional-output-card .promised-output-number{background:#f2eaff;color:#704299}
.promised-output-status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.promised-output-status-row>div{border:1px solid #e5f2ef;border-radius:10px;padding:10px;background:#fbfefd}
.promised-output-status-row>div>span:first-child{display:block;margin-bottom:7px;color:#6a908c;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.output-promise-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:14px;border-top:1px solid #eef5f3}
.output-promise-form .full{grid-column:1/-1}
.output-promise-form label{display:flex;flex-direction:column;gap:7px}
.output-additional-button{background:#7043a4;border-color:#7043a4;color:#fff}
.output-additional-button:hover{background:#62388f;color:#fff}
.promised-output-empty{border:1px dashed #d4ebe6;border-radius:11px;padding:18px;text-align:center;color:#688d8a;background:#fff}
.promised-output-empty.additional-empty{border-color:#dbccea;background:#fffaff;color:#76518e}
.output-category-pill,.output-status-pill,.output-validation-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;white-space:nowrap}
.output-category-wajib{background:#ecfcf8;color:#24988c;border:1px solid #d6f8f0}
.output-category-tambahan{background:#f2e8ff;color:#6d3797;border:1px solid #decaf3}
.output-status-belum_dimulai{background:#eff5f4;color:#5a7d7a;border:1px solid #dee9e6}
.output-status-draft{background:#ebfcf8;color:#1c9f92;border:1px solid #d3f4ed}
.output-status-submitted{background:#ebfcf8;color:#2ca498;border:1px solid #d6f8f0}
.output-status-in_review{background:#fff0d8;color:#9a5c00;border:1px solid #ffdda7}
.output-status-perlu_revisi{background:#fff6cc;color:#8a6500;border:1px solid #f4db70}
.output-status-accepted{background:#e9f8ef;color:#197447;border:1px solid #c8ebd6}
.output-status-published{background:#dcf8ef;color:#006c55;border:1px solid #b7eadc}
.output-status-rejected{background:#ffe9eb;color:#b32938;border:1px solid #ffc8ce}
.output-validation-neutral{background:#eff5f4;color:#5a7c78;border:1px solid #dee9e6}
.output-validation-submitted{background:#eafcf8;color:#29a598;border:1px solid #d1f7ee}
.output-validation-valid{background:#e5f8ed;color:#197647;border:1px solid #c3ead3}
.output-validation-revision{background:#fff4cf;color:#8e6500;border:1px solid #f2da84}
.output-validation-invalid{background:#ffe6e9;color:#b32737;border:1px solid #ffc1c8}
.output-update-history table td{vertical-align:top}
@media(max-width:900px){.promised-output-status-row,.output-promise-form{grid-template-columns:1fr}.promised-output-section__head{flex-direction:column}.output-promise-form .full{grid-column:auto}}

/* Foto profil dan tautan akademik */
.avatar-mini{overflow:hidden}
.avatar-mini img{width:100%;height:100%;object-fit:cover;display:block}
.hero-avatar{overflow:hidden}
.hero-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo{overflow:hidden}
.profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo span{display:grid;place-items:center;width:100%;height:100%;font-size:26px;font-weight:800;color:#36b3a6}
.profile-external-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.profile-external-links a{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f0fdfa;color:#26a094;font-size:10px;font-weight:800}
.profile-edit-form{align-items:start}
.profile-photo-editor{display:flex;align-items:center;gap:20px;padding:18px;border:1px solid #e0f2ed;border-radius:14px;background:linear-gradient(180deg,#fcfefe,#f6fdfc)}
.profile-photo-preview{width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e7f5f2;border:4px solid #fff;box-shadow:0 5px 18px rgba(22,48,105,.12);flex:0 0 auto}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-preview span{font-size:42px;font-weight:900;color:#36b3a6}
.profile-photo-editor__body{display:flex;flex-direction:column;gap:11px;min-width:0}
.profile-photo-editor__body strong{display:block;color:#1b616b;font-size:16px}
.profile-photo-editor__body p{margin:4px 0 0;color:#6c8e8b;font-size:12px;line-height:1.5}
.profile-photo-upload{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#25545b}
.profile-photo-remove{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;color:#8f2634!important;font-weight:600!important}
.profile-photo-remove input{width:auto!important;margin:0!important}
.academic-profile-links{border:1px solid #e0f2ed;border-radius:14px;padding:16px;background:#fcfefe}
.academic-profile-links__head h3{margin:0;color:#1b616b;font-size:15px}
.academic-profile-links__head p{margin:5px 0 14px;color:#6c8e8b;font-size:12px}
.academic-profile-links__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.academic-profile-links label small{display:block;margin-top:6px;color:#6c8e8b;font-weight:400;line-height:1.45}
.academic-link-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
@media(max-width:800px){.profile-photo-editor{align-items:flex-start;flex-direction:column}.academic-profile-links__grid{grid-template-columns:1fr}}


/* Hotfix foto profil: ukuran tetap walaupun cache atau aturan lama masih aktif */
.bima-userbar .user-profile-link{display:inline-flex!important;align-items:center!important;gap:8px!important;max-width:260px!important;overflow:hidden!important}
.bima-userbar .avatar-mini{width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;max-width:31px!important;max-height:31px!important;overflow:hidden!important;border-radius:50%!important;display:grid!important;place-items:center!important}
.bima-userbar .avatar-mini img{width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;max-width:31px!important;max-height:31px!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.hero-avatar{width:130px!important;height:130px!important;min-width:130px!important;min-height:130px!important;max-width:130px!important;max-height:130px!important;border-radius:50%!important;overflow:hidden!important}
.hero-avatar img{width:130px!important;height:130px!important;max-width:130px!important;max-height:130px!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.profile-card .profile-photo{width:70px!important;height:70px!important;min-width:70px!important;min-height:70px!important;max-width:70px!important;max-height:70px!important;overflow:hidden!important;border-radius:50%!important}
.profile-card .profile-photo img{width:70px!important;height:70px!important;max-width:70px!important;max-height:70px!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.profile-photo-editor{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:center!important;gap:20px!important;min-height:148px!important;overflow:hidden!important}
.profile-photo-preview{width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;max-width:112px!important;max-height:112px!important;border-radius:50%!important;overflow:hidden!important;display:grid!important;place-items:center!important}
.profile-photo-preview img{width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;max-width:112px!important;max-height:112px!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.profile-photo-editor__body{width:100%!important;min-width:0!important;overflow:hidden!important}
.profile-photo-upload input[type=file]{width:100%!important;max-width:520px!important}
@media(max-width:700px){.profile-photo-editor{grid-template-columns:1fr!important}.profile-photo-preview{margin:0 auto}.profile-photo-editor__body{align-items:stretch!important}}

/* SIRI' brand system — teal, deep cyan, and gold derived from the official logo */
:root{
  --navy:#014652;
  --navy-2:#003b45;
  --blue:#007772;
  --sky:#31bfae;
  --cyan:#d9f6f0;
  --teal:#00aa90;
  --yellow:#e4b74a;
  --bg:#f3f8f7;
  --text:#15363a;
  --muted:#647a78;
  --line:#dce9e6;
  --shadow:0 10px 28px rgba(1,70,82,.09);
}
body{background:var(--bg)}
a{color:#007772}a:hover{color:#014652}
.login-body{background:radial-gradient(circle at 18% 12%,rgba(0,170,144,.12),transparent 32%),linear-gradient(135deg,#eaf8f5,#fff 52%,#f8f2df)}
.bima-login-brand{background:linear-gradient(140deg,#013f49 0%,#007772 58%,#00aa90 100%);box-shadow:0 22px 52px rgba(1,70,82,.22)}
.bima-login-brand:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 12%,rgba(228,183,74,.24),transparent 30%);pointer-events:none}
.bima-login-brand{position:relative;overflow:hidden}.bima-login-brand>*{position:relative;z-index:1}
.risma-logo{display:flex;align-items:center;line-height:0}.risma-logo:hover{opacity:.94}
.brand-logo-image{display:block;object-fit:contain}
.risma-logo.big{width:min(470px,100%);padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(0,30,35,.16)}
.brand-logo-image--full{width:100%;max-height:245px;object-position:left center;filter:drop-shadow(0 8px 14px rgba(0,30,35,.10))}
.brand-logo-image--header{width:225px;height:62px;object-position:left center}
.bima-top-inner{height:72px}.bima-top{border-top:3px solid #e4b74a}
.bima-nav{background:linear-gradient(90deg,#014652,#007772 62%,#006b68)}
.bima-nav a:hover,.bima-nav .active>a,.bima-nav>a.active{background:rgba(255,255,255,.14);color:#fff}
.drop-menu a:hover{background:#e6f7f3;color:#006b68}
.role-pill{background:linear-gradient(135deg,#014652,#007772)}
.btn.primary{background:linear-gradient(135deg,#007772,#00aa90);border-color:#007772;box-shadow:0 7px 16px rgba(0,119,114,.20)}
.btn.primary:hover{background:linear-gradient(135deg,#006b68,#009a84)}
.publication-hero,.chair-hero,.settings-hero,.form-section-banner{background:linear-gradient(125deg,#014652 0%,#007772 64%,#00aa90 100%)}
.publication-hero-actions .btn.primary{background:#e4b74a;border-color:#e4b74a;color:#173f45}
.bima-hero{background:linear-gradient(100deg,#014652,#007772)}
.profile-head{background:linear-gradient(90deg,#014652,#007772)}
.soft-chip,.type-pill{background:#e6f7f3;color:#006b68}
.publication-tabs a.active{background:#007772;border-color:#007772}.publication-tabs a.active strong{background:rgba(255,255,255,.2)}
.workflow-card{border-top-color:#00aa90}.modern-timeline>div:before{background:#00aa90;box-shadow:0 0 0 5px #ddf7f1}
.bima-footer{border-top:1px solid #dce9e6;color:#647a78}
input:focus,select:focus,textarea:focus{border-color:#00aa90;box-shadow:0 0 0 3px rgba(0,170,144,.12)}
@media(max-width:1000px){.brand-logo-image--header{width:190px;height:56px}.bima-top-inner{height:auto;min-height:68px}}
@media(max-width:700px){.brand-logo-image--header{width:155px;height:50px}.brand-logo-image--full{max-height:190px}.bima-login-brand h1{margin-top:22px}}


/* SIRI' dashboard refinement: balanced welcome panel and campus identity */
.dashboard-layout{
  grid-template-columns:minmax(0,2fr) minmax(330px,1fr);
  gap:18px;
  align-items:start;
}
.bima-hero{
  height:200px;
  min-height:200px;
  padding:25px 32px;
  border-radius:17px;
  isolation:isolate;
  background:linear-gradient(105deg,#014652 0%,#006d70 56%,#008f7e 100%);
}
.bima-hero>div:first-child{
  position:relative;
  z-index:2;
  max-width:calc(100% - 190px);
}
.bima-hero:before{
  content:"";
  position:absolute;
  z-index:0;
  left:28%;
  right:-8%;
  bottom:-118px;
  height:185px;
  border:2px solid rgba(74,220,199,.20);
  border-radius:50%;
  box-shadow:0 -18px 0 -16px rgba(74,220,199,.16),0 -36px 0 -34px rgba(228,183,74,.18);
  transform:rotate(-4deg);
}
.bima-hero:after{
  content:"✦  ✦";
  z-index:1;
  right:174px;
  top:30px;
  color:#ffd348;
  font-size:25px;
  letter-spacing:8px;
  text-shadow:0 2px 10px rgba(0,0,0,.16);
}
.bima-hero .date-chip{
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(3px);
}
.bima-hero h1{font-size:27px;letter-spacing:-.35px}
.bima-hero p{font-size:18px;color:rgba(255,255,255,.91)}
.hero-campus-logo{
  position:relative;
  z-index:2;
  width:154px;
  height:154px;
  min-width:154px;
  min-height:154px;
  margin-right:2px;
  padding:7px;
  display:grid;
  place-items:center;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  box-shadow:0 14px 30px rgba(0,40,43,.28),inset 0 1px 0 rgba(255,255,255,.28);
}
.hero-campus-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.20));
}
.profile-card{min-height:200px}
.profile-card .profile-head{min-height:42px;align-items:center}

@media(max-width:1000px){
  .dashboard-layout{grid-template-columns:1fr}
  .bima-hero{height:190px;min-height:190px}
  .profile-card{min-height:0}
}
@media(max-width:620px){
  .bima-hero{height:auto;min-height:180px;padding:22px 20px;gap:14px}
  .bima-hero>div:first-child{max-width:calc(100% - 112px)}
  .bima-hero:after{right:104px;top:20px;font-size:18px;letter-spacing:3px}
  .bima-hero h1{font-size:21px}
  .bima-hero p{font-size:14px}
  .hero-campus-logo{width:98px;height:98px;min-width:98px;min-height:98px;border-radius:19px;padding:5px}
}
@media(max-width:430px){
  .bima-hero{align-items:flex-start}
  .bima-hero>div:first-child{max-width:none;padding-right:68px}
  .hero-campus-logo{position:absolute;right:14px;top:18px;width:70px;height:70px;min-width:70px;min-height:70px;border-radius:15px}
  .bima-hero:after{display:none}
}


/* SIRI' login refinement — proportional campus identity and aligned panels */
.bima-login-shell{
  width:min(1100px,100%);
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:24px;
  align-items:stretch;
}
.bima-login-brand,
.login-panel{
  min-height:486px;
}
.bima-login-brand{
  padding:34px 36px;
  justify-content:center;
}
.login-panel{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 32px;
}
.risma-logo.big.login-brand-lockup{
  width:100%;
  max-width:100%;
  min-height:154px;
  padding:16px 20px;
  display:grid;
  grid-template-columns:94px minmax(0,1fr);
  align-items:center;
  gap:20px;
  border:1px solid rgba(1,70,82,.09);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 34px rgba(0,30,35,.16);
}
.login-campus-logo{
  width:94px;
  min-width:94px;
  height:112px;
  display:grid;
  place-items:center;
  padding-right:18px;
  border-right:1px solid #d8e8e5;
}
.login-campus-logo img{
  display:block;
  width:78px;
  height:78px;
  object-fit:contain;
}
.login-siri-logo{
  min-width:0;
  height:120px;
  display:flex;
  align-items:center;
}
.login-brand-lockup .brand-logo-image--full{
  width:100%;
  height:120px;
  max-height:120px;
  object-fit:contain;
  object-position:left center;
  filter:none;
}
.bima-login-brand h1{
  margin:25px 0 12px;
  font-size:32px;
}
.bima-login-brand p{
  margin-top:8px;
}
@media(max-width:1000px){
  .bima-login-shell{grid-template-columns:1fr;max-width:720px}
  .bima-login-brand,.login-panel{min-height:auto}
  .login-panel{padding:30px}
}
@media(max-width:700px){
  .login-body{padding:16px}
  .bima-login-brand{padding:25px 22px}
  .login-panel{padding:25px 22px}
  .risma-logo.big.login-brand-lockup{
    min-height:128px;
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
    padding:14px 15px;
  }
  .login-campus-logo{
    width:72px;
    min-width:72px;
    height:94px;
    padding-right:13px;
  }
  .login-campus-logo img{width:60px;height:60px}
  .login-siri-logo,
  .login-brand-lockup .brand-logo-image--full{height:96px;max-height:96px}
  .bima-login-brand h1{font-size:27px;margin-top:21px}
}


/* =========================================================
   SIRI' v22 — perbaikan navigasi mobile
   ========================================================= */
.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:96px;
  min-height:42px;
  padding:9px 13px;
  border:1px solid #176a73;
  border-radius:10px;
  background:linear-gradient(135deg,#176a73,#20a89a);
  color:#fff;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(23,106,115,.20);
  position:relative;
  z-index:1002;
  -webkit-tap-highlight-color:transparent;
}
.nav-toggle:hover,.nav-toggle:focus-visible{
  background:linear-gradient(135deg,#125d66,#178f84);
  color:#fff;
  outline:none;
  box-shadow:0 0 0 4px rgba(32,168,154,.16),0 8px 20px rgba(23,106,115,.22);
}
.nav-toggle-icon{font-size:20px;line-height:1}.nav-toggle-label{font-size:12px;line-height:1}

@media(max-width:1000px){
  .bima-top{z-index:1000}
  .bima-top-inner{
    width:100%;
    max-width:none;
    min-height:68px;
    height:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:8px 12px;
    padding:9px 14px;
  }
  .risma-logo{grid-column:1;grid-row:1;min-width:0;max-width:100%;overflow:hidden}
  .brand-logo-image--header{width:min(180px,48vw)!important;height:52px!important;max-width:100%;object-position:left center}
  .nav-toggle{display:inline-flex!important;grid-column:2;grid-row:1;justify-self:end;margin:0!important}
  .bima-userbar{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    margin:0!important;
    padding-top:8px;
    border-top:1px solid #e7f1ef;
    justify-content:flex-end!important;
    gap:10px;
  }
  .bima-nav{
    display:none!important;
    position:relative!important;
    z-index:1001;
    width:100%!important;
    max-height:calc(100vh - 126px);
    overflow-y:auto!important;
    overflow-x:hidden!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:3px!important;
    height:auto!important;
    padding:10px 12px 14px!important;
    background:linear-gradient(135deg,#155c66,#207d88)!important;
    box-shadow:0 14px 28px rgba(20,55,61,.18);
    border-top:1px solid rgba(255,255,255,.12);
    overscroll-behavior:contain;
  }
  .bima-top.nav-open .bima-nav,.bima-nav.open{display:flex!important}
  .bima-nav>a,.bima-nav>.nav-drop>a{
    width:100%!important;
    min-height:43px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 13px!important;
    justify-content:flex-start!important;
    border-radius:8px!important;
    color:#ecfffb!important;
    background:transparent;
  }
  .bima-nav>a:hover,.bima-nav>a.active,.bima-nav .active>a{
    background:rgba(255,255,255,.15)!important;
    color:#fff!important;
  }
  .nav-drop{width:100%!important;height:auto!important}
  .drop-menu{
    display:none!important;
    position:static!important;
    min-width:0!important;
    margin:3px 4px 7px 14px!important;
    padding:5px!important;
    border:0!important;
    border-left:3px solid rgba(221,249,243,.72)!important;
    border-radius:7px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
  }
  .nav-drop.open .drop-menu{display:block!important}
  .drop-menu a{padding:10px 12px!important;border-radius:6px!important;color:#eafffa!important}
  .drop-menu a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
  body.mobile-nav-open{overflow:hidden}
}

@media(max-width:520px){
  .bima-top-inner{padding:8px 10px;gap:7px 8px}
  .brand-logo-image--header{width:min(145px,43vw)!important;height:46px!important}
  .nav-toggle{min-width:88px;min-height:40px;padding:8px 10px}
  .nav-toggle-label{font-size:11px}
  .bima-userbar{justify-content:space-between!important}
  .bima-userbar .role-pill{display:none!important}
  .user-profile-link{min-width:0;max-width:70%;padding-left:0}
  .user-profile-link strong{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
  .logout-link{font-size:11px!important;padding:7px 9px}
  .logout-link:after{content:none!important}
  .bima-nav{max-height:calc(100vh - 119px);padding-left:9px!important;padding-right:9px!important}
}


/* SIRI' publication form hotfix — readable section headers and balanced upload fields */
.form-section-banner{
  justify-content:flex-start!important;
  align-items:center!important;
  text-align:left!important;
  color:#fff!important;
}
.form-section-banner>div{min-width:0!important;flex:1 1 auto!important;text-align:left!important}
.form-section-banner strong{display:block!important;color:#fff!important;font-size:13px!important;line-height:1.35!important}
.form-section-banner small{display:block!important;color:rgba(255,255,255,.84)!important;font-size:10.5px!important;line-height:1.45!important;margin-top:3px!important}
.publication-form-card .publication-upload-field{grid-column:span 1!important}
@media(min-width:901px){
  .publication-form-card .article-upload-field{grid-column:1/2!important}
  .publication-form-card .support-upload-field{grid-column:2/4!important}
}
.publication-form-card label>small{display:block;color:#668985;font-size:10px;font-weight:500;line-height:1.4;margin-top:2px}
.publication-form-card .btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:900px){
  .publication-form-card .publication-upload-field{grid-column:1/-1!important}
}

/* SIRI publication form header overflow hotfix */
.publication-form-card > .full:not(.form-section-banner){
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.publication-form-card > .card-head.full{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:14px!important;
}
.publication-form-card > .card-head.full > div{
  flex:1 1 520px!important;
  min-width:0!important;
}
.publication-form-card > .card-head.full > .btn{
  flex:0 0 auto!important;
  align-self:flex-start!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .publication-form-card > .card-head.full{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .publication-form-card > .card-head.full > .btn{
    align-self:flex-start!important;
  }
}


/* Hotfix: rapikan kolom biaya pada daftar bantuan publikasi */
.publication-table .cost-cell{min-width:190px;white-space:normal;vertical-align:middle}
.publication-table .cost-main{display:block;font-size:18px;line-height:1.2;font-weight:800;color:#1b6070;white-space:nowrap;margin-bottom:8px}
.publication-table .cost-sub{display:flex;flex-direction:column;gap:3px;color:#6d8c89;font-size:11px;line-height:1.35}
.publication-table .cost-sub span{display:block;font-weight:700;letter-spacing:.2px;text-transform:none;color:#73908c}
.publication-table .cost-sub b{display:block;font-size:12px;font-weight:800;color:#33575d;white-space:nowrap}
@media(max-width:700px){.publication-table .cost-cell{min-width:170px}.publication-table .cost-main{font-size:16px}}

/* Proposal PDF terpadu */
.proposal-bundle-review .card-head{align-items:flex-start}
.proposal-bundle-review .alert ul{margin:8px 0 0 20px;padding:0}
.proposal-bundle-review .alert li{margin:3px 0}
.bundle-manifest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 18px}
.bundle-manifest-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fff}
.bundle-manifest-item>div{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center;min-width:0}
.bundle-manifest-item>div>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8faf6;color:#0d6d68;font-size:11px;font-weight:900}
.bundle-manifest-item strong{color:var(--navy);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundle-manifest-item small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundle-manifest-item.excluded{opacity:.58;background:#f7f9f9}
.bundle-status{flex:0 0 auto;border-radius:999px;padding:6px 9px;font-size:10px;line-height:1.1;text-align:center}
.bundle-status.ready{background:#ddf8ed;color:#12694f}
.bundle-status.warning{background:#fff1cf;color:#8a5a00}
.bundle-status.muted{background:#edf1f1;color:#657878}
@media(max-width:900px){.bundle-manifest-grid{grid-template-columns:1fr}.proposal-bundle-review .row-actions{width:100%}}
@media(max-width:620px){.bundle-manifest-item{align-items:flex-start;flex-direction:column}.bundle-status{margin-left:42px}.bundle-manifest-item strong,.bundle-manifest-item small{white-space:normal}.proposal-bundle-review .row-actions .btn{width:100%;text-align:center}}

/* PDF proposal terpadu tanpa executable server: merger berjalan di browser. */
.pdf-action-disabled{pointer-events:none;opacity:.58;filter:saturate(.55);cursor:not-allowed}
.browser-pdf-status{display:flex;align-items:center;gap:10px;margin:0;border:1px solid #dcecea;border-top:0;background:#f7fbfa;color:#476765;padding:11px 14px;font-size:12px;font-weight:700}
.browser-pdf-status.is-ready{background:#e8fff2;color:#0b7042;border-color:#bfeacf}
.browser-pdf-status.is-error{background:#fff0f0;color:#a32828;border-color:#ffd0d0}
.browser-pdf-status strong{font-weight:900}
.browser-pdf-spinner{width:15px;height:15px;flex:0 0 15px;border:2px solid rgba(21,127,116,.22);border-top-color:#168f82;border-radius:50%;animation:browserPdfSpin .8s linear infinite}
.browser-pdf-frame-wrap{border-top:0}
.browser-pdf-frame-wrap iframe{background:#f4f7f7}
.reviewer-browser-merge-note{margin:0 0 12px}
@keyframes browserPdfSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.browser-pdf-spinner{animation:none;border-top-color:rgba(21,127,116,.22)}}

/* =========================================================
   SIRI UI contrast stabilization
   Fixes text disappearing on light dropdowns/dark active tabs,
   reduces chart glare, and tones down download controls.
   ========================================================= */

/* Text on light surfaces stays dark and readable. */
body,
input,
select,
textarea,
table,
.card,
.section-box{
  color:#18383c;
}
.card p,
.card-head p,
td small,
.muted-text,
.modern-empty,
.title-cell em,
.status-stack small,
.form-hint,
.help-text{
  color:#496966;
}

/* The global navigation uses light text, but its dropdown is white. */
.bima-nav .drop-menu{
  background:#fff;
  border-color:#d7e7e4;
}
.bima-nav .drop-menu a,
.bima-nav .drop-menu a:visited{
  color:#21464a!important;
  background:#fff;
}
.bima-nav .drop-menu a:hover,
.bima-nav .drop-menu a:focus-visible{
  color:#075f5a!important;
  background:#e5f4f1!important;
}

/* Active publication filters have a dark teal background. */
.publication-tabs a{
  color:#355b58!important;
}
.publication-tabs a:hover{
  color:#075f5a!important;
}
.publication-tabs a.active,
.publication-tabs a.active:hover,
.publication-tabs a.active:focus-visible{
  color:#fff!important;
  background:#086f69!important;
  border-color:#086f69!important;
}
.publication-tabs a.active strong{
  color:#fff!important;
  background:rgba(255,255,255,.22)!important;
}

/* Dashboard chart: darker SIRI teal + muted campus gold. */
.chart-legend{
  color:#3f605d!important;
}
.chart-legend b{
  background:#0a6f69!important;
}
.chart-legend i{
  background:#a96f12!important;
}
.trend-grid-line{
  stroke:#d5e3e0!important;
}
.trend-line{
  stroke-width:2.8!important;
}
.trend-line-primary{
  stroke:#0a6f69!important;
}
.trend-line-secondary{
  stroke:#a96f12!important;
  stroke-dasharray:8 6;
}
.trend-dot{
  stroke:#fff!important;
  stroke-width:1.6!important;
}
.trend-dot-primary{
  fill:#0a6f69!important;
}
.trend-dot-secondary{
  fill:#a96f12!important;
}
.trend-summary-chips span,
.trend-axis-labels{
  color:#496966!important;
}
.trend-summary-chips strong{
  color:#15545b!important;
}

/* Download controls: no neon cyan, consistent dark teal. */
.correction-square-btn.document,
.template-chip__download,
a.btn[download]:not(.danger),
a.btn[href*="download=1"]:not(.danger),
a.btn[data-ready-label^="Unduh"]:not(.danger){
  background:#0a716b!important;
  border-color:#0a716b!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(7,82,78,.18)!important;
  filter:none!important;
}
.correction-square-btn.document:hover,
a.btn[download]:not(.danger):hover,
a.btn[href*="download=1"]:not(.danger):hover,
a.btn[data-ready-label^="Unduh"]:not(.danger):hover{
  background:#075b57!important;
  border-color:#075b57!important;
  color:#fff!important;
  filter:none!important;
}
.correction-square-btn.edit{
  background:#16756e!important;
}
.year-filter .filter-icon{
  background:#328f87!important;
  color:#fff!important;
}

/* Keep labels visible on every filled control. */
.btn.primary,
.btn.success,
.btn.danger,
.badge.success,
.badge.danger,
.green-tag,
.correction-square-btn.document,
.correction-square-btn.edit{
  color:#fff!important;
}

/* Final report template placement: keep the list clean and place the
   type-specific template beside the upload/save action. */
.final-report-submit-actions{
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  padding-top:14px;
  border-top:1px solid #dceae7;
}
.inline-template-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.inline-template-actions__label{
  color:#365f61;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.inline-template-action{
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:360px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #b9d5d0;
  border-radius:7px;
  background:#edf6f4;
  color:#15585b;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
}
.inline-template-action span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inline-template-action:hover{
  background:#dfeeea;
  border-color:#8dbab3;
  color:#0e494c;
}
.final-report-submit-actions>.btn.primary{
  margin-left:auto;
  min-width:160px;
}
@media(max-width:700px){
  .final-report-submit-actions{
    align-items:stretch;
  }
  .inline-template-actions{
    width:100%;
    align-items:stretch;
  }
  .inline-template-actions__label{
    width:100%;
  }
  .inline-template-action{
    max-width:none;
    width:100%;
  }
  .final-report-submit-actions>.btn.primary{
    width:100%;
    margin-left:0;
  }
}


/* Lecturer workflow finishing: template beside file upload and locked stages. */
.final-report-file-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0;
}
.final-report-file-field__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
  color:#17383d;
  font-weight:800;
}
.final-report-file-field__head>.inline-template-actions{
  margin-left:auto;
}
.inline-template-actions--file{
  justify-content:flex-end;
  gap:6px;
}
.inline-template-actions--file .inline-template-actions__label{
  color:#486b68!important;
  font-size:10px;
}
.inline-template-actions--file .inline-template-action{
  max-width:270px;
  min-height:30px;
  padding:5px 9px;
  background:#e7f2f0!important;
  border-color:#a9c9c4!important;
  color:#0f5554!important;
  box-shadow:none!important;
}
.inline-template-actions--file .inline-template-action:hover{
  background:#d8e9e6!important;
  border-color:#7faea7!important;
  color:#0b4747!important;
}
.final-report-submit-actions{
  justify-content:flex-end!important;
}
.workflow-stage-alert{
  max-width:920px;
  margin:18px auto 12px;
  line-height:1.55;
}
.workflow-stage-lock{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:32px;
  padding:6px 10px;
  border:1px solid #c9d8d5;
  border-radius:7px;
  background:#eef3f2;
  color:#526b68!important;
  font-size:11px;
  font-weight:800;
  cursor:not-allowed;
  white-space:nowrap;
}
.workflow-stage-lock--square{
  width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  border-radius:7px;
}
@media(max-width:700px){
  .final-report-file-field__head{
    align-items:flex-start;
    flex-direction:column;
  }
  .final-report-file-field__head>.inline-template-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
  .inline-template-actions--file .inline-template-actions__label{
    width:auto;
  }
  .inline-template-actions--file .inline-template-action{
    width:auto;
    max-width:100%;
  }
}

/* Final report document list: one compact action per file with visible filename. */
.final-report-file-list{
  display:grid;
  gap:8px;
  min-width:250px;
  max-width:360px;
}
.final-report-file-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #bfd9d5;
  border-radius:10px;
  background:#f7fbfa;
  color:#17383d;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.final-report-file-action:hover,
.final-report-file-action:focus-visible{
  border-color:#0a6b63;
  background:#eef8f6;
  box-shadow:0 5px 14px rgba(0,79,75,.10);
  color:#103c42;
  outline:none;
}
.final-report-file-action__meta{
  display:grid;
  gap:2px;
  min-width:0;
}
.final-report-file-action__label{
  color:#496b68;
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.final-report-file-action__description{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#103c42;
  font-size:12px;
  font-weight:800;
}
.final-report-file-action__name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#17383d;
  font-size:12px;
  font-weight:700;
}
.final-report-file-action__command{
  flex:0 0 auto;
  padding:7px 9px;
  border-radius:8px;
  background:#0a6b63;
  color:#fff;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.final-report-file-action:hover .final-report-file-action__command,
.final-report-file-action:focus-visible .final-report-file-action__command{
  background:#07574f;
}
@media(max-width:760px){
  .final-report-file-list{min-width:210px;max-width:none}
  .final-report-file-action{align-items:flex-start;flex-direction:column}
  .final-report-file-action__command{width:100%;text-align:center}
}

/* Bukti luaran menggunakan kartu berkas yang sama dengan laporan akhir. */
.output-evidence-file-list{
  min-width:285px;
  max-width:390px;
}
.output-evidence-file-list .final-report-file-action__name{
  color:#496b68;
  font-size:11px;
  font-weight:650;
}
@media(max-width:760px){
  .output-evidence-file-list{min-width:220px;max-width:none}
}

/* Pemetaan skema: tampilan ringkas, modern, dan tetap informatif. */
.proposal-scheme-map{
  margin:18px 0 18px;
  padding:16px 18px;
  border-color:#d8e8e5;
  border-radius:14px;
  background:#f8fcfb;
  box-shadow:none;
}
.proposal-scheme-map .section-heading-inline{
  margin-bottom:12px;
}
.proposal-scheme-map .section-heading-inline h3{
  margin:3px 0 2px;
  font-size:19px;
  line-height:1.25;
}
.proposal-scheme-map .section-heading-inline p{
  margin:0;
  color:#557572;
  font-size:11.5px;
  line-height:1.45;
}
.proposal-scheme-map-grid{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:10px;
}
.proposal-scheme-map-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "module count"
    "title count"
    "finance finance"
    "meta meta";
  gap:4px 12px;
  min-height:0;
  padding:13px 15px 12px 17px;
  border-color:#dceae7;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(13,77,72,.055);
}
.proposal-scheme-map-card:before{
  width:4px;
  background:#258f86;
}
.proposal-scheme-map-card.community:before{
  background:#16765d;
}
.proposal-scheme-map-card:hover{
  transform:translateY(-2px);
  border-color:#aacdc7;
  box-shadow:0 8px 18px rgba(13,77,72,.10);
}
.proposal-scheme-map-card .scheme-map-module{
  grid-area:module;
  align-self:end;
  color:#247f78;
  font-size:8.5px;
  letter-spacing:.1em;
}
.proposal-scheme-map-card.community .scheme-map-module{
  color:#166d57;
}
.proposal-scheme-map-card h4{
  grid-area:title;
  min-height:0;
  margin:0;
  color:#123e43;
  font-size:14px;
  line-height:1.3;
}
.proposal-scheme-map-card .scheme-map-count{
  grid-area:count;
  align-self:center;
  justify-self:end;
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:5px;
  min-width:68px;
  padding:7px 9px;
  border:1px solid #cde3df;
  border-radius:10px;
  background:#eef7f5;
}
.proposal-scheme-map-card .scheme-map-count strong{
  color:#126d69;
  font-size:20px;
  line-height:1;
}
.proposal-scheme-map-card .scheme-map-count span{
  color:#526f6c;
  font-size:10px;
  font-weight:800;
}
.proposal-scheme-map-card .scheme-map-finance{
  grid-area:finance;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:4px;
  padding-top:9px;
  border-top:1px solid #e0ece9;
}
.proposal-scheme-map-card .scheme-map-finance span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  padding:6px 8px;
  border-radius:8px;
  background:#f4f9f8;
  color:#587572;
  font-size:10px;
  line-height:1.35;
}
.proposal-scheme-map-card .scheme-map-finance b{
  color:#173f43;
  font-size:10.5px;
  white-space:nowrap;
}
.proposal-scheme-map-card>small{
  grid-area:meta;
  margin-top:1px;
  color:#66817e;
  font-size:9.5px;
  line-height:1.35;
}
@media(max-width:700px){
  .proposal-scheme-map{
    padding:13px;
    border-radius:12px;
  }
  .proposal-scheme-map-grid{
    grid-template-columns:1fr;
  }
  .proposal-scheme-map-card{
    padding:12px 13px 11px 15px;
  }
  .proposal-scheme-map-card .scheme-map-finance{
    grid-template-columns:1fr;
    gap:5px;
  }
}

/* Pemetaan skema: tingkatkan kontras teks tanpa mengubah identitas visual. */
.proposal-scheme-map .section-kicker{
  color:#176b65!important;
  font-weight:900;
  letter-spacing:.095em;
}
.proposal-scheme-map .section-heading-inline h3{
  color:#0d383d!important;
  font-weight:800;
}
.proposal-scheme-map .section-heading-inline p{
  color:#3f625f!important;
  font-weight:600;
}
.proposal-scheme-map-card .scheme-map-module{
  color:#0b706a!important;
  font-weight:900;
}
.proposal-scheme-map-card.community .scheme-map-module{
  color:#0b604c!important;
}
.proposal-scheme-map-card h4{
  color:#0d3438!important;
  font-weight:800;
}
.proposal-scheme-map-card .scheme-map-count strong{
  color:#075e59!important;
}
.proposal-scheme-map-card .scheme-map-count span{
  color:#314f4d!important;
  font-weight:800;
}
.proposal-scheme-map-card .scheme-map-finance span{
  color:#385a57!important;
  font-weight:650;
}
.proposal-scheme-map-card .scheme-map-finance b{
  color:#0d3438!important;
  font-weight:800;
}
.proposal-scheme-map-card>small{
  color:#466764!important;
  font-weight:650;
}
.scheme-proposal-section-head>div>span{
  color:#14766e!important;
}
.scheme-proposal-section-head h3{
  color:#0d383d!important;
}
.scheme-proposal-section-head p{
  color:#426460!important;
  font-weight:600;
}

/* Finishing ruang kerja reviewer dan rekomendasi dana asesor. */
.reviewer-dashboard-hero{
  background:linear-gradient(145deg,#f7fbfa,#eef7f5);
  border-color:#cfe4e0;
}
.reviewer-work-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.reviewer-work-summary a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:68px;
  padding:13px 15px;
  border:1px solid #cfe1de;
  border-radius:14px;
  background:#fff;
  color:#244a4a;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(11,75,73,.05);
}
.reviewer-work-summary a:hover,
.reviewer-work-summary a.active{
  border-color:#0b746d;
  background:#e8f4f1;
}
.reviewer-work-summary span{
  color:#3a5d5b;
  font-size:.86rem;
  font-weight:750;
}
.reviewer-work-summary strong{
  color:#075d59;
  font-size:1.35rem;
}
.reviewer-due-note{
  margin-top:12px;
  padding:10px 13px;
  border-left:4px solid #ad7a17;
  border-radius:9px;
  background:#fff8e8;
  color:#62480f;
}
.reviewer-filter-bar{
  grid-template-columns:minmax(260px,1fr) auto auto!important;
  margin-bottom:12px;
}
.reviewer-assignment-table td:first-child{
  min-width:300px;
}
.reviewer-assignment-table td strong,
.reviewer-assignment-table td small{
  display:block;
}
.table-kicker{
  display:block;
  margin-bottom:5px;
  color:#0c726b;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.review-live-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  position:sticky;
  top:78px;
  z-index:4;
  padding:12px;
  border:1px solid #c7dfda;
  border-radius:14px;
  background:rgba(248,252,251,.97);
  box-shadow:0 10px 28px rgba(7,71,69,.08);
  backdrop-filter:blur(8px);
}
.review-live-summary>div{
  padding:10px 12px;
  border-radius:10px;
  background:#fff;
  border:1px solid #dceae7;
}
.review-live-summary span{
  display:block;
  color:#496765;
  font-size:.75rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.review-live-summary strong{
  display:block;
  margin-top:4px;
  color:#0b4f4d;
  font-size:1rem;
}
.review-live-summary>small{
  grid-column:1/-1;
  color:#466a67;
}
.review-decision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:15px;
  border:1px solid #cfe3df;
  border-radius:14px;
  background:#f7fbfa;
}
.review-decision-grid label{
  margin:0;
}
.review-decision-grid small{
  display:block;
  margin-top:6px;
  color:#4a6966;
  line-height:1.45;
}
.review-final-confirmation{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border:1px solid #c8ded9;
  border-radius:12px;
  background:#edf7f4;
  color:#173f3d;
  font-weight:650;
}
.review-final-confirmation input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin-top:2px;
}
.reviewer-submit-button{
  min-height:45px;
}

.review-summary-grid{
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
}
.reviewer-funding-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  background:#f5faf8;
  border-color:#c9dfda;
}
.reviewer-funding-summary>div{
  padding:12px;
  border:1px solid #d9e8e5;
  border-radius:10px;
  background:#fff;
}
.reviewer-funding-summary span{
  display:block;
  color:#4b6967;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
}
.reviewer-funding-summary strong{
  display:block;
  margin-top:5px;
  color:#0b5350;
}
.reviewer-funding-summary>p{
  grid-column:1/-1;
  margin:2px 0 0;
  color:#486866;
}
.reviewer-funding-line,
.review-funding-advice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #c9ded9;
  border-radius:11px;
  background:#edf7f4;
}
.reviewer-funding-line span,
.review-funding-advice span{
  color:#496866;
  font-weight:750;
}
.reviewer-funding-line strong,
.review-funding-advice strong{
  color:#075d59;
}
.review-funding-advice{
  display:block;
}
.review-funding-advice>span{
  display:block;
  margin-bottom:4px;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.review-funding-advice p{
  margin:5px 0 0;
  color:#3f615e;
}
.review-card-funding{
  display:block;
  margin-top:6px;
  color:#0b625d!important;
  font-weight:800;
}

@media(max-width:900px){
  .reviewer-work-summary,
  .review-live-summary,
  .reviewer-funding-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .review-decision-grid{
    grid-template-columns:1fr;
  }
  .review-live-summary{
    position:static;
  }
}
@media(max-width:600px){
  .reviewer-work-summary,
  .review-live-summary,
  .reviewer-funding-summary{
    grid-template-columns:1fr;
  }
  .reviewer-filter-bar{
    grid-template-columns:1fr!important;
  }
  .reviewer-funding-summary>p,
  .review-live-summary>small{
    grid-column:auto;
  }
}

/* Reviewer: informasi dokumen asli dosen yang lebih jelas */
.original-documents-panel{padding:18px;border-top:1px solid #dceeea;background:#f8fcfb}
.original-documents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.original-documents-header>div{display:grid;gap:4px;min-width:0}
.original-documents-header .section-kicker{color:#0a6b63;font-weight:800;letter-spacing:.12em}
.original-documents-header h4{margin:0;color:#123f45;font-size:18px;line-height:1.3}
.original-documents-header p{margin:0;max-width:760px;color:#4c6d6b;font-size:13px;line-height:1.55}
.original-documents-count{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:8px 12px;border:1px solid #b9ddd6;border-radius:999px;background:#edf8f5;color:#0a625b;font-size:12px;font-weight:800;white-space:nowrap}
.original-document-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.original-document-card{display:grid;gap:12px;min-width:0;padding:15px;border:1px solid #d4e8e4;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(15,72,74,.06)}
.original-document-card.is-current{border-color:#7bcfc0;box-shadow:0 9px 22px rgba(8,119,114,.11)}
.original-document-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.original-document-card__top>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.original-document-version,.original-document-availability{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.1}
.original-document-version{background:#eef4f3;color:#536f6d}
.original-document-version.current{background:#dcf6ef;color:#08746a}
.original-document-availability.available{background:#e7f7ef;color:#176a50}
.original-document-availability.missing{background:#fff0ef;color:#a13c35}
.original-document-name{display:block;overflow-wrap:anywhere;color:#103c42;font-size:15px;line-height:1.45}
.original-document-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:11px 12px;border-radius:11px;background:#f3f8f7}
.original-document-meta>div{display:grid;gap:2px;min-width:0}
.original-document-meta dt{margin:0;color:#66817f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.original-document-meta dd{margin:0;overflow-wrap:anywhere;color:#173f44;font-size:12px;font-weight:700;line-height:1.4}
.original-document-actions{align-items:stretch;margin-top:auto}
.original-document-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px}
.original-document-actions .btn.primary{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.original-documents-header{flex-direction:column}.original-documents-count{align-self:flex-start}.original-document-list{grid-template-columns:1fr}.original-document-card__top{flex-direction:column}.original-document-meta{grid-template-columns:1fr}.original-document-actions{width:100%;flex-direction:column}.original-document-actions .btn{width:100%}}

/* =========================================================
   SIRI final contrast and readability pass - 2026-07-30
   Menjaga identitas teal, tetapi memastikan teks pada permukaan terang
   terbaca jelas di seluruh akun Dosen, Reviewer, dan Ketua LPPM.
   ========================================================= */
:root{
  --text:#14373c;
  --muted:#405f5c;
  --line:#d4e5e1;
}

body{
  color:#14373c;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{
  color:#086b65;
}
a:hover,
a:focus-visible{
  color:#054f4b;
}

label{
  color:#21464a;
  font-weight:700;
}

input,
select,
textarea{
  color:#15383d;
  border-color:#b8cfca;
}
input::placeholder,
textarea::placeholder{
  color:#617975;
  opacity:1;
}
input:focus,
select:focus,
textarea:focus{
  border-color:#08756e;
  box-shadow:0 0 0 3px rgba(8,117,110,.13);
}

.card,
.modern-card,
.section-box,
.table-wrap,
.original-documents-panel,
.proposal-scheme-map,
.reviewer-score-form{
  color:#14373c;
}

.card h1,
.card h2,
.card h3,
.card h4,
.modern-card h1,
.modern-card h2,
.modern-card h3,
.modern-card h4{
  color:#0c3439;
}

.card p,
.card-head p,
.modern-card p,
.original-documents-header p,
td small,
.muted-text,
.form-hint,
.help-text,
.field-help,
.review-decision-grid small,
.review-live-summary>small,
.reviewer-funding-summary>p{
  color:#405f5c!important;
}

.card .section-kicker,
.modern-card .section-kicker,
.original-documents-panel .section-kicker,
.proposal-scheme-map .section-kicker,
.reviewer-score-form .section-kicker,
.section-box .section-kicker{
  color:#086b65!important;
  font-weight:900;
}

.form-section-banner .section-kicker,
.bima-hero .section-kicker,
.profile-head .section-kicker,
.bima-nav .section-kicker{
  color:#fff!important;
}

th{
  color:#1d4448;
  background:#f4f9f8;
}
td{
  color:#173a3f;
}
td small{
  font-weight:550;
}

.btn{
  color:#086b65;
  border-color:#a9c9c3;
}
.btn:hover,
.btn:focus-visible{
  color:#054f4b;
  border-color:#6eaaa1;
  background:#edf7f5;
}
.btn:focus-visible,
a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(8,117,110,.28);
  outline-offset:2px;
}

.btn.primary,
.btn.success,
.btn.danger,
.role-pill,
.bima-nav>a,
.nav-drop>a,
.profile-head,
.bima-stat,
.bima-hero,
.form-section-banner{
  color:#fff!important;
}

.badge.muted,
.bundle-status.muted,
.workflow-stage-lock{
  color:#395b58!important;
}

.review-score-guidance{
  color:#234b4e;
  background:#edf8f5;
  border-color:#b9ded7;
}
.review-score-guidance p{
  color:#284f51!important;
}
.review-live-summary span,
.reviewer-funding-summary span,
.original-document-meta dt{
  color:#3d5d5a!important;
}
.review-live-summary strong,
.reviewer-funding-summary strong,
.original-document-meta dd{
  color:#0c4546!important;
}

.secure-document-number{
  display:block;
  overflow-wrap:anywhere;
  color:#075d58;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:.92rem;
  letter-spacing:.025em;
}
.secure-document-number-note{
  display:block;
  margin-top:4px;
  color:#405f5c!important;
  font-size:.72rem;
  font-weight:600;
}

/* Pertahankan kontras pada semua permukaan gelap dan kontrol berisi. */
.bima-nav,
.bima-nav a,
.bima-nav a:visited,
.bima-stat,
.bima-stat *,
.bima-hero,
.bima-hero *,
.profile-head,
.profile-head *,
.form-section-banner,
.form-section-banner *,
.btn.primary,
.btn.success,
.btn.danger,
.correction-square-btn,
.final-report-file-action__command{
  color:#fff!important;
}


/* Warna aksi dan kartu statistik dibuat lebih teduh agar tidak menyilaukan. */
.btn.primary{
  background:#08766f!important;
  border-color:#08766f!important;
}
.btn.primary:hover,
.btn.primary:focus-visible{
  background:#065d58!important;
  border-color:#065d58!important;
  color:#fff!important;
}
.btn.success{
  background:#16724d!important;
  border-color:#16724d!important;
}
.btn.success:hover,
.btn.success:focus-visible{
  background:#105d3e!important;
  border-color:#105d3e!important;
}
.btn.danger{
  background:#b83d49!important;
  border-color:#b83d49!important;
}
.btn.danger:hover,
.btn.danger:focus-visible{
  background:#96313b!important;
  border-color:#96313b!important;
}
.btn.warning{
  background:#c58c18!important;
  border-color:#b57b0b!important;
  color:#2f2300!important;
}
.btn.warning:hover,
.btn.warning:focus-visible{
  background:#b57b0b!important;
  border-color:#9f6904!important;
  color:#211800!important;
}

.bima-stat.pink{background:#b92e58!important}
.bima-stat.teal{background:#087a72!important}
.bima-stat.green{background:#0a7650!important}
.bima-stat.yellow{background:#c58c18!important}
.bima-stat.yellow,
.bima-stat.yellow *{
  color:#2f2300!important;
}
.bima-stat.yellow em{
  background:rgba(255,255,255,.34)!important;
}

.badge.success{
  background:#15704b!important;
  color:#fff!important;
}
.badge.danger{
  background:#b43c48!important;
  color:#fff!important;
}
.badge.warning{
  background:#f4dfa9!important;
  color:#604100!important;
}

@media (prefers-contrast:more){
  :root{
    --text:#0c292d;
    --muted:#314e4b;
    --line:#aec8c3;
  }
  .card,
  .modern-card,
  .table-wrap{
    border-color:#b8cfca;
  }
}


/* Pemulihan modul admin dan navigasi operasional */
.admin-restored-nav{justify-content:flex-start;overflow-x:auto;overflow-y:visible;white-space:nowrap;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
.admin-restored-nav>a{flex:0 0 auto;padding-left:13px!important;padding-right:13px!important}
.admin-page-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-page-hero>div:first-child{min-width:0}
.admin-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-pdf-button{white-space:nowrap}
.chair-hero-side .admin-pdf-button{margin-top:10px;background:#fff;color:#126c74;border-color:#fff}
.bank-summary-grid .card{display:flex;flex-direction:column;gap:4px}
.bank-summary-grid .card span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.bank-summary-grid .card strong{font-size:28px;color:var(--navy)}
.bank-account-table td{vertical-align:top}
.bank-account-inline-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;min-width:520px}
.bank-account-inline-form label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);font-weight:800}
.bank-account-inline-form input{min-width:0}
.password-reset-details{margin-top:6px;border:1px solid #dcebe8;border-radius:7px;background:#fbfefd;padding:6px 8px}
.password-reset-details summary{cursor:pointer;color:#176b74;font-size:11px;font-weight:900}
.password-reset-form{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:7px;margin-top:8px}
.password-reset-form input,.password-reset-form button{min-width:0}
.funding-metrics{margin:0 0 16px}
.funding-decision-table td{vertical-align:top}
.funding-decision-form{display:flex;flex-direction:column;gap:7px;min-width:250px}
.funding-decision-form textarea{min-height:54px}
.funding-decision-form .row-actions{align-items:center}
@media(max-width:900px){.admin-page-hero{align-items:flex-start;flex-direction:column}.admin-page-actions{justify-content:flex-start}.bank-account-inline-form,.password-reset-form{grid-template-columns:1fr;min-width:280px}}

/* =========================================================
   SIRI v16 — navigasi admin ringkas, kontras, dan multi-role
   ========================================================= */
.admin-restored-nav{
  min-height:44px!important;
  height:44px!important;
  justify-content:center!important;
  gap:7px!important;
  overflow:visible!important;
  padding:0 18px!important;
  background:linear-gradient(90deg,#04545f 0%,#06756f 52%,#087e73 100%)!important;
  box-shadow:0 8px 22px rgba(1,58,65,.16);
}
.admin-restored-nav>a,
.admin-restored-nav>.nav-drop>a{
  min-height:36px!important;
  height:36px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  gap:7px;
  color:#effffc!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.admin-restored-nav>a:hover,
.admin-restored-nav>.nav-drop:hover>a,
.admin-restored-nav>.nav-drop:focus-within>a,
.admin-restored-nav>a.active,
.admin-restored-nav>.nav-drop.active>a{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.admin-restored-nav .nav-item-icon{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  font-size:12px;
  font-weight:900;
}
.admin-restored-nav .nav-caret{margin-left:2px;font-size:10px;opacity:.82}
.admin-restored-nav .nav-drop{height:44px;display:flex;align-items:center}
.admin-restored-nav .drop-menu{
  top:42px!important;
  min-width:285px!important;
  padding:8px!important;
  border:1px solid #d9ebe7!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(19,54,59,.18)!important;
  white-space:normal!important;
  z-index:1005!important;
}
.admin-restored-nav .drop-menu-right{left:auto!important;right:0!important}
.admin-restored-nav .nav-drop:hover>.drop-menu,
.admin-restored-nav .nav-drop:focus-within>.drop-menu{display:block!important}
.admin-restored-nav .drop-menu a{
  display:block!important;
  padding:11px 12px!important;
  border-radius:8px!important;
  color:#173f45!important;
  line-height:1.35;
}
.admin-restored-nav .drop-menu a strong{
  display:block;
  color:#134d53!important;
  font-size:12px;
}
.admin-restored-nav .drop-menu a small{
  display:block;
  margin-top:3px;
  color:#627f7c!important;
  font-size:10.5px;
  font-weight:600;
}
.admin-restored-nav .drop-menu a:hover,
.admin-restored-nav .drop-menu a.active{
  background:#edf9f6!important;
  color:#075f5b!important;
}
.admin-restored-nav .nav-logout{margin-left:2px;background:rgba(0,0,0,.10)!important}

/* Header dan pemilih mode akun untuk pengguna dengan beberapa peran. */
.role-switcher{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:4px 6px 4px 11px;
  border:1px solid #cfe4df;
  border-radius:999px;
  background:#f5fbfa;
  box-shadow:0 4px 12px rgba(20,70,72,.06);
}
.role-switcher-label{
  color:#436a67;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.role-switcher select{
  width:auto;
  min-width:112px;
  height:28px;
  padding:3px 27px 3px 10px;
  border:0;
  border-radius:999px;
  background:#075c66;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.role-switcher select:focus{outline:3px solid rgba(8,117,110,.22)}

/* Pastikan judul halaman admin tetap terbaca pada permukaan gelap. */
.settings-hero.admin-page-hero{
  isolation:isolate;
  min-height:104px;
  padding:25px 28px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(120deg,#064e59 0%,#08766f 58%,#18a998 100%)!important;
  box-shadow:0 16px 36px rgba(10,75,78,.18)!important;
}
.settings-hero.admin-page-hero:before{
  content:"";
  position:absolute;
  right:115px;
  bottom:-90px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  z-index:0;
}
.settings-hero.admin-page-hero h1,
.settings-hero.admin-page-hero h2,
.settings-hero.admin-page-hero h3,
.settings-hero.admin-page-hero p,
.settings-hero.admin-page-hero span:not(.btn),
.settings-hero.admin-page-hero small{
  position:relative;
  z-index:1;
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
}
.settings-hero.admin-page-hero h2{margin:3px 0 7px!important;font-size:24px!important;letter-spacing:-.25px}
.settings-hero.admin-page-hero p{max-width:820px!important;margin:0!important;color:#dcf8f3!important;line-height:1.65!important}
.admin-hero-kicker{
  display:block;
  margin-bottom:4px;
  color:#aef0e3!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.12em;
}
.settings-hero.admin-page-hero .admin-page-actions{position:relative;z-index:2}
.settings-hero.admin-page-hero .admin-pdf-button{
  background:#fff!important;
  border-color:#fff!important;
  color:#075e62!important;
  box-shadow:0 7px 18px rgba(0,51,55,.18)!important;
}
.settings-hero.admin-page-hero .admin-pdf-button:hover{
  background:#eafaf6!important;
  color:#064d50!important;
}

/* Form pengelolaan akses Dosen dan Reviewer. */
.role-fieldset{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.role-fieldset legend{
  margin-bottom:7px;
  color:#234b4e;
  font-size:11px;
  font-weight:800;
}
.role-checkboxes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.role-checkboxes>label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  padding:10px 11px;
  border:1px solid #d9ebe7;
  border-radius:10px;
  background:#f9fdfc;
  color:#173f45;
  cursor:pointer;
}
.role-checkboxes>label:hover{border-color:#9fd8cf;background:#f0faf7}
.role-checkboxes input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;accent-color:#08766f;flex:0 0 auto}
.role-checkboxes span,.role-checkboxes strong,.role-checkboxes small{display:block}
.role-checkboxes strong{font-size:12px;color:#174b50}
.role-checkboxes small{margin-top:3px;color:#607d7a!important;font-size:10px;line-height:1.35}
.role-checkboxes.compact{display:flex;gap:6px;flex-wrap:wrap}
.role-checkboxes.compact>label{padding:6px 8px;border-radius:8px;font-size:10.5px;font-weight:800}
.role-access-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}
.role-access-form .btn{white-space:nowrap}
.role-badge-list{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.role-access-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.role-access-badge.role-ketua_lppm{background:#e7f2ff;color:#174d83}
.role-access-badge.role-dosen{background:#eaf9f4;color:#12634f}
.role-access-badge.role-reviewer{background:#f1ecff;color:#6042a9}
.dual-role-note{display:block;margin-top:6px;color:#4d6e6b!important;line-height:1.4}
.managed-user-create-form{border-top:4px solid #14a99a}
.account-group-card{border-radius:14px!important;box-shadow:0 8px 24px rgba(20,62,64,.06)!important}
.account-group-card .table-wrap{border-radius:10px;border:1px solid #e3efec}
.account-group-card th{background:#eef7f5!important;color:#244a4d!important}
.account-group-card tbody tr:hover{background:#fbfefd}

@media(max-width:1100px){
  .admin-restored-nav{justify-content:flex-start!important;padding-left:12px!important;padding-right:12px!important}
  .admin-restored-nav>a,.admin-restored-nav>.nav-drop>a{padding-left:11px!important;padding-right:11px!important}
}
@media(max-width:1000px){
  .admin-restored-nav{height:auto!important;min-height:0!important;overflow-y:auto!important}
  .admin-restored-nav .nav-drop{height:auto!important;display:block!important}
  .admin-restored-nav .drop-menu{top:auto!important;min-width:0!important;border-radius:8px!important}
  .admin-restored-nav .drop-menu-right{right:auto!important}
  .admin-restored-nav .nav-drop:hover>.drop-menu{display:none!important}
  .admin-restored-nav .nav-drop.open>.drop-menu,
  .admin-restored-nav .nav-drop:focus-within>.drop-menu{display:block!important}
  .admin-restored-nav .drop-menu a strong,.admin-restored-nav .drop-menu a small{color:#fff!important}
  .admin-restored-nav .drop-menu a small{opacity:.78}
  .admin-restored-nav .nav-logout{margin-left:0}
  .settings-hero.admin-page-hero{align-items:flex-start!important;min-height:0}
}
@media(max-width:700px){
  .role-switcher{max-width:170px;padding-left:8px}
  .role-switcher-label{display:none}
  .role-switcher select{min-width:112px;max-width:145px}
  .settings-hero.admin-page-hero{padding:21px!important;border-radius:13px!important}
  .settings-hero.admin-page-hero h2{font-size:21px!important}
  .role-checkboxes{grid-template-columns:1fr}
  .role-access-form{align-items:stretch;flex-direction:column}
  .role-access-form .btn{width:100%}
}
@media(max-width:520px){
  .bima-userbar .role-switcher{display:flex!important}
  .role-switcher{order:1}
  .user-profile-link{order:2}
  .logout-link{order:3}
}
.settings-hero.admin-page-hero .admin-hero-kicker{color:#aef0e3!important}
.role-switcher select option{background:#fff;color:#173f45}

/* Format tanggal antarmuka: dd-mm-yyyy, dengan pemilih kalender tetap tersedia. */
.date-input-wrap {
  position: relative;
  display: block;
  width: 100%;
}
.date-input-wrap .date-input-id {
  width: 100%;
  padding-right: 46px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.date-input-wrap .date-picker-button {
  position: absolute;
  top: 50%;
  right: 6px;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 8px;
  background: rgba(0, 111, 105, .10);
  color: #006f69;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.date-input-wrap .date-picker-button:hover,
.date-input-wrap .date-picker-button:focus-visible {
  background: rgba(0, 111, 105, .18);
  outline: 2px solid rgba(0, 111, 105, .22);
  outline-offset: 1px;
}
.date-input-wrap .date-picker-button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.date-input-wrap .date-input-native {
  position: absolute;
  right: 8px;
  bottom: 4px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* =========================================================
   SIRI' v18 — Palet warna yang dapat diatur Ketua LPPM
   ========================================================= */
body,
body.bima-body{
  background:
    radial-gradient(circle at 12% 0,rgba(var(--theme-primary-rgb),.075),transparent 28%),
    radial-gradient(circle at 96% 10%,rgba(var(--theme-secondary-rgb),.07),transparent 24%),
    var(--theme-background)!important;
  color:var(--theme-text)!important;
}
a{color:var(--theme-secondary-dark)}
a:hover{color:var(--theme-primary)}
.bima-top{background:var(--theme-surface)}
.bima-nav,
.admin-restored-nav{background:linear-gradient(100deg,var(--theme-primary-dark) 0%,var(--theme-primary) 52%,var(--theme-secondary-dark) 125%)!important}
.bima-nav a:hover,
.bima-nav .active>a,
.bima-nav>a.active{background:rgba(255,255,255,.16)!important;color:#fff!important}
.drop-menu{background:var(--theme-surface);border-color:var(--theme-border)}
.drop-menu a{color:var(--theme-text)}
.drop-menu a:hover,.drop-menu a.active{background:var(--theme-secondary-soft);color:var(--theme-primary)}
.role-pill,.role-switcher{background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary-dark))!important;color:var(--theme-on-primary)!important}
.card,.login-card,.bima-card,.table-wrap,table{background:var(--theme-surface)}
.card{border-color:var(--theme-border)}
.card h1,.card h2,.card h3,.card h4,.title-cell strong{color:var(--theme-text)}
.card-head p,.muted-text,td small,.card p{color:var(--theme-muted)}
.settings-hero,
.settings-hero.admin-page-hero,
.publication-hero,
.form-section-banner,
.bima-hero,
.review-rab-grand-total{
  background:linear-gradient(125deg,var(--theme-primary-dark),var(--theme-primary) 46%,var(--theme-secondary) 100%)!important;
  color:var(--theme-on-primary)!important;
}
.settings-hero h1,.settings-hero h2,.settings-hero h3,.settings-hero p,
.settings-hero.admin-page-hero h1,.settings-hero.admin-page-hero h2,.settings-hero.admin-page-hero p,
.publication-hero h1,.publication-hero h2,.publication-hero p,
.form-section-banner h1,.form-section-banner h2,.form-section-banner p,
.bima-hero h1,.bima-hero h2,.bima-hero p{color:var(--theme-on-primary)!important}
.settings-hero.admin-page-hero .admin-hero-kicker,.chair-eyebrow,.section-kicker{color:var(--theme-on-primary)!important;opacity:.82}
.btn{color:var(--theme-primary);border-color:var(--theme-border)}
.btn:hover{border-color:var(--theme-secondary);background:var(--theme-secondary-soft)}
.btn.primary{
  background:linear-gradient(135deg,var(--theme-secondary-dark),var(--theme-secondary))!important;
  border-color:var(--theme-secondary-dark)!important;
  color:var(--theme-on-secondary)!important;
  box-shadow:0 7px 15px rgba(var(--theme-secondary-rgb),.22)!important;
}
.btn.primary:hover{filter:brightness(.96)}
input:focus,select:focus,textarea:focus{border-color:var(--theme-secondary)!important;box-shadow:0 0 0 4px rgba(var(--theme-secondary-rgb),.14)!important}
.soft-chip,.type-pill,.publication-tabs a.active,.flow-scheme-chips em{background:var(--theme-secondary-soft)!important;color:var(--theme-primary)!important}
.publication-tabs a.active strong{background:var(--theme-secondary)!important;color:var(--theme-on-secondary)!important}
.login-body{background:linear-gradient(135deg,var(--theme-background),var(--theme-surface) 52%,var(--theme-secondary-soft))!important}
.bima-login-brand{background:linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary),var(--theme-secondary-dark))!important;color:var(--theme-on-primary)!important}
.bima-login-brand h1,.bima-login-brand h2,.bima-login-brand p{color:var(--theme-on-primary)!important}

/* Halaman Pengaturan Warna */
.theme-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.theme-hero-swatch{position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.theme-hero-swatch span{display:block;width:27px;height:27px;border-radius:50%;border:2px solid rgba(255,255,255,.65);box-shadow:0 4px 10px rgba(0,0,0,.13)}
.theme-hero-swatch span:nth-child(1){background:var(--theme-primary)}
.theme-hero-swatch span:nth-child(2){background:var(--theme-secondary)}
.theme-hero-swatch span:nth-child(3){background:var(--theme-accent)}
.theme-settings-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:20px;align-items:start}
.theme-settings-form,.theme-preview-card{padding:24px}
.theme-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.theme-color-field{display:grid;grid-template-columns:62px minmax(0,1fr);gap:13px;align-items:center;padding:13px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-background-soft);transition:.18s}
.theme-color-field:hover{border-color:var(--theme-secondary);box-shadow:0 8px 20px rgba(var(--theme-primary-rgb),.07)}
.theme-color-picker{width:62px;height:62px;padding:4px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);cursor:pointer}
.theme-color-picker::-webkit-color-swatch-wrapper{padding:0}
.theme-color-picker::-webkit-color-swatch{border:0;border-radius:8px}
.theme-color-picker::-moz-color-swatch{border:0;border-radius:8px}
.theme-color-field label{gap:5px}
.theme-color-field label strong{color:var(--theme-text);font-size:12px}
.theme-color-field label input{height:38px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.theme-color-field label small{color:var(--theme-muted);line-height:1.45;font-weight:400}
.theme-form-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-secondary-soft)}
.theme-form-note>span{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--theme-secondary);color:var(--theme-on-secondary);font-weight:900}
.theme-form-note p{margin:1px 0 0!important;color:var(--theme-text)!important;line-height:1.5}
.theme-form-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--theme-border)}
.theme-preview-card{position:sticky;top:126px}
.theme-live-preview{overflow:hidden;border:1px solid rgba(20,45,52,.12);border-radius:15px;background:var(--preview-background);box-shadow:0 15px 32px rgba(28,47,88,.1);color:var(--preview-text)}
.theme-preview-top{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--preview-surface)}
.theme-preview-top strong{font-size:20px;color:var(--preview-primary)}
.theme-preview-top span{padding:5px 8px;border-radius:999px;background:var(--preview-primary);color:var(--preview-on-primary,#fff);font-size:8px;font-weight:900}
.theme-preview-nav{display:flex;align-items:center;gap:9px;padding:9px 11px;background:linear-gradient(100deg,var(--preview-primary),var(--preview-secondary));color:var(--preview-on-primary,#fff);font-size:8px}
.theme-preview-nav b{padding:5px 7px;border-radius:5px;background:rgba(255,255,255,.16)}
.theme-preview-body{padding:14px}
.theme-preview-hero{padding:16px;border-radius:10px;background:linear-gradient(125deg,var(--preview-primary),var(--preview-secondary));color:var(--preview-on-primary,#fff)}
.theme-preview-hero small,.theme-preview-hero strong,.theme-preview-hero p{display:block;color:var(--preview-on-primary,#fff)!important}
.theme-preview-hero small{font-size:7px;font-weight:900;letter-spacing:.08em}
.theme-preview-hero strong{margin:7px 0 4px;font-size:14px}
.theme-preview-hero p{margin:0!important;font-size:8px!important;opacity:.85}
.theme-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}
.theme-preview-cards div{padding:11px;border:1px solid rgba(20,45,52,.10);border-radius:9px;background:var(--preview-surface)}
.theme-preview-cards span,.theme-preview-cards strong{display:block;color:var(--preview-text)}
.theme-preview-cards span{font-size:7px;opacity:.7}
.theme-preview-cards strong{margin-top:5px;font-size:15px}
.theme-preview-body>button{width:auto;border:0;border-radius:7px;padding:8px 11px;background:var(--preview-secondary);color:var(--preview-on-secondary,#fff);font-size:8px;font-weight:900}
.theme-default-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--theme-border)}
.theme-default-panel>div:first-child strong{color:var(--theme-text)}
.theme-default-panel>div:first-child p{margin:5px 0 10px;color:var(--theme-muted);font-size:11px;line-height:1.5}
.theme-default-swatches{display:flex;gap:7px;margin-bottom:12px}
.theme-default-swatches span{width:29px;height:29px;border-radius:50%;border:2px solid var(--theme-surface);box-shadow:0 0 0 1px var(--theme-border)}

@media(max-width:1050px){
  .theme-settings-layout{grid-template-columns:1fr}
  .theme-preview-card{position:static}
}
@media(max-width:720px){
  .theme-settings-hero{align-items:flex-start}
  .theme-hero-swatch{display:none}
  .theme-color-grid{grid-template-columns:1fr}
  .theme-settings-form,.theme-preview-card{padding:18px}
}
@media(max-width:420px){
  .theme-color-field{grid-template-columns:52px minmax(0,1fr)}
  .theme-color-picker{width:52px;height:58px}
}

/* =========================================================
   SIRI UI refresh: notification center, password visibility,
   academic master data, and subtle visual depth.
   ========================================================= */
:root{
  --siri-radius-lg:18px;
  --siri-radius-md:13px;
  --siri-elevated:0 16px 44px rgba(17,68,75,.10);
  --siri-soft-shadow:0 8px 24px rgba(17,68,75,.07);
}

.bima-body{
  background:
    radial-gradient(circle at 8% 11%,rgba(var(--theme-secondary-rgb),.075),transparent 28%),
    radial-gradient(circle at 92% 4%,rgba(var(--theme-primary-rgb),.055),transparent 24%),
    var(--theme-background)!important;
}
.bima-top{
  backdrop-filter:saturate(135%) blur(14px);
  box-shadow:0 10px 34px rgba(12,58,64,.10)!important;
}
.bima-top-inner{max-width:1480px!important}
.bima-userbar{position:relative}
.bima-nav{box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.admin-restored-nav>a,.admin-restored-nav>.nav-drop>a{
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.admin-restored-nav>a:hover,.admin-restored-nav>.nav-drop:hover>a,.admin-restored-nav>.nav-drop:focus-within>a{
  border-color:rgba(255,255,255,.12);
  transform:translateY(-1px);
}
.nav-item-icon{
  width:22px;height:22px;display:inline-grid;place-items:center;border-radius:7px;
  background:rgba(255,255,255,.09);font-size:11px;line-height:1;flex:0 0 22px;
}
.bima-nav .drop-menu{
  border-radius:14px!important;
  border:1px solid rgba(var(--theme-primary-rgb),.12)!important;
  box-shadow:0 22px 56px rgba(17,62,68,.18)!important;
  padding:8px!important;
  overflow:hidden;
}
.bima-nav .drop-menu a{border-radius:9px!important;margin:2px 0!important;transition:.16s ease}
.bima-nav .drop-menu a strong{font-size:12px}
.bima-nav .drop-menu a small{margin-top:2px;opacity:.76}
.card,.login-card,.bima-card{
  border-color:rgba(var(--theme-primary-rgb),.11)!important;
  box-shadow:var(--siri-soft-shadow)!important;
}
.btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.btn:not(:disabled):hover{transform:translateY(-1px)}
.btn.primary:not(:disabled):hover{box-shadow:0 8px 18px rgba(var(--theme-primary-rgb),.18)}
input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(var(--theme-secondary-rgb),.13)!important}

/* Admin notification bell */
.admin-notification-center{position:relative;display:block;z-index:1100}
.admin-notification-center>summary{list-style:none}
.admin-notification-center>summary::-webkit-details-marker{display:none}
.notification-bell{
  width:39px;height:39px;border:1px solid rgba(var(--theme-primary-rgb),.14);border-radius:12px;
  background:linear-gradient(180deg,var(--theme-surface),var(--theme-background-soft));
  color:var(--theme-primary);display:grid;place-items:center;cursor:pointer;position:relative;
  box-shadow:0 5px 14px rgba(var(--theme-primary-rgb),.10);transition:.17s ease;
}
.notification-bell:hover,.admin-notification-center[open] .notification-bell{
  transform:translateY(-1px);border-color:rgba(var(--theme-primary-rgb),.25);box-shadow:0 9px 22px rgba(var(--theme-primary-rgb),.16)
}
.notification-bell svg{width:21px;height:21px}
.notification-badge{
  position:absolute;right:-6px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  display:grid;place-items:center;background:#d93f4b;color:#fff;font-size:9px;font-weight:900;
  border:2px solid var(--theme-surface);box-shadow:0 3px 8px rgba(167,32,44,.28)
}
.notification-panel{
  position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 28px));background:var(--theme-surface);
  border:1px solid rgba(var(--theme-primary-rgb),.13);border-radius:16px;box-shadow:0 26px 70px rgba(12,55,61,.24);
  overflow:hidden;z-index:1300;animation:siri-notification-in .15s ease-out;
}
@keyframes siri-notification-in{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(var(--theme-primary-rgb),.09);background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.055),rgba(var(--theme-secondary-rgb),.06))}
.notification-panel-head span{display:block;font-size:9px;letter-spacing:1px;font-weight:900;color:var(--theme-muted)}
.notification-panel-head strong{display:block;margin-top:2px;font-size:13px;color:var(--theme-text)}
.notification-panel-head a{font-size:10px;font-weight:900;color:var(--theme-primary);white-space:nowrap}
.notification-list{padding:7px}
.notification-item{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:10px;border-radius:11px;color:var(--theme-text);text-decoration:none;transition:.15s ease}
.notification-item:hover{background:rgba(var(--theme-secondary-rgb),.075)}
.notification-count{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--theme-primary-soft);color:var(--theme-primary);font-weight:900;font-size:13px}
.notification-item.kind-user .notification-count{background:#fff4df;color:#9a6500}
.notification-item.kind-publication .notification-count{background:#f1ecff;color:#6652a7}
.notification-copy{min-width:0}
.notification-copy strong,.notification-copy small{display:block}
.notification-copy strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-copy small{font-size:9.8px;color:var(--theme-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-arrow{font-size:22px;color:var(--theme-muted)}
.notification-empty{padding:28px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--theme-muted)}
.notification-empty>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--theme-secondary-soft);color:var(--theme-primary);font-weight:900;margin-bottom:4px}
.notification-empty strong{color:var(--theme-text);font-size:12px}.notification-empty small{font-size:10px}

/* Password view button */
.password-input-wrap{position:relative;display:block;width:100%}
.password-input-wrap>input{width:100%!important;padding-right:44px!important}
.password-visibility-button{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);width:33px;height:33px;border:0;border-radius:9px;
  display:grid;place-items:center;background:transparent;color:var(--theme-muted);cursor:pointer;padding:0;z-index:2;
}
.password-visibility-button:hover{background:var(--theme-primary-soft);color:var(--theme-primary)}
.password-visibility-button svg{width:18px;height:18px}
.login-password-tools{display:flex;justify-content:flex-end;margin-top:-5px}
.login-password-tools a{font-size:11px;font-weight:800;color:var(--theme-primary)}

/* Password recovery */
.password-recovery-page{padding:28px}
.password-recovery-shell{width:min(470px,100%);margin:auto}
.recovery-card{padding:32px!important;border-radius:19px!important;box-shadow:var(--siri-elevated)!important}
.recovery-brand{display:inline-flex;margin-bottom:18px}.recovery-brand img{width:132px;height:auto;display:block}
.recovery-card h2{font-size:24px;margin:5px 0 8px;color:var(--theme-text)}
.recovery-card .muted-text{line-height:1.65;margin-bottom:18px}
.recovery-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:var(--theme-text)}
.recovery-back-link{display:inline-block;margin-top:17px;font-size:11px;font-weight:800;color:var(--theme-primary)}
.recovery-invalid{padding:15px;border-radius:12px;background:#fff6e8;border:1px solid #f1d7a6;margin:12px 0 15px;color:#795116}
.recovery-invalid strong,.recovery-invalid p{display:block;margin:0}.recovery-invalid p{margin-top:4px;font-size:11px}

/* Pending user verification */
.pending-verification-card{border-left:4px solid #e8a329!important;background:linear-gradient(110deg,#fffefa,var(--theme-surface))!important}
.attention-count{min-width:36px;height:36px;padding:0 9px;border-radius:11px;display:grid;place-items:center;background:#fff1d2;color:#8f5b00;font-size:15px;font-weight:900}
.pending-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pending-user-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid rgba(var(--theme-primary-rgb),.10);border-radius:13px;background:var(--theme-surface)}
.pending-user-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--theme-primary-soft),var(--theme-secondary-soft));color:var(--theme-primary);font-weight:900;font-size:15px}
.pending-user-info{min-width:0}.pending-user-info strong,.pending-user-info span,.pending-user-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pending-user-info strong{font-size:12px;color:var(--theme-text)}.pending-user-info span{font-size:10.5px;color:var(--theme-primary);margin:2px 0}.pending-user-info small{font-size:9.5px;color:var(--theme-muted)}
.pending-user-actions{display:flex;gap:6px;align-items:center}.pending-user-actions form{margin:0}.pending-user-actions details{position:relative}.pending-user-actions summary{list-style:none;cursor:pointer}.pending-user-actions summary::-webkit-details-marker{display:none}
.reject-account-form{position:absolute;right:0;top:34px;width:245px;background:var(--theme-surface);border:1px solid #efc8ca;border-radius:11px;padding:9px;box-shadow:0 15px 35px rgba(80,30,35,.16);z-index:20;display:grid;gap:7px}.reject-account-form input{min-width:0}

/* Study program settings */
.study-program-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.study-program-stats>div{padding:15px 17px;border-radius:14px;border:1px solid rgba(var(--theme-primary-rgb),.10);background:linear-gradient(135deg,var(--theme-surface),var(--theme-background-soft));box-shadow:var(--siri-soft-shadow)}
.study-program-stats span,.study-program-stats strong,.study-program-stats small{display:block}.study-program-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.45px;font-weight:900;color:var(--theme-muted)}.study-program-stats strong{font-size:24px;line-height:1.15;margin:5px 0 2px;color:var(--theme-primary)}.study-program-stats small{font-size:9.8px;color:var(--theme-muted)}
.study-program-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.8fr);gap:16px;align-items:start}
.study-program-form{position:sticky;top:136px;display:grid;gap:12px;border-radius:16px!important}
.study-program-form .card-head{margin-bottom:0}.study-program-form label{display:flex;flex-direction:column;gap:6px;font-size:10.5px;font-weight:800;color:var(--theme-text)}
.two-field-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
.study-program-list-card{border-radius:16px!important;overflow:hidden}
.study-program-filter{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,.65fr) auto auto;gap:8px;margin:5px 0 13px}
.study-program-table th{background:linear-gradient(180deg,var(--theme-primary-soft),var(--theme-background-soft))!important}
.study-program-table tbody tr{transition:background .14s ease}.study-program-table tbody tr:hover{background:rgba(var(--theme-secondary-rgb),.045)}
.degree-chip{display:inline-flex;min-width:34px;justify-content:center;padding:4px 7px;border-radius:8px;background:var(--theme-secondary-soft);color:var(--theme-primary);font-size:10px;font-weight:900}
.status.active,.status.inactive{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:900}
.status.active{background:#e9f8ef;color:#247644}.status.inactive{background:#f2f3f4;color:#6e7478}
.program-action-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.program-action-row form{margin:0}

@media(max-width:1000px){
  .admin-notification-center{order:-1}
  .notification-panel{position:fixed;right:12px;top:68px}
  .pending-user-grid{grid-template-columns:1fr}
  .study-program-layout{grid-template-columns:1fr}.study-program-form{position:static}
  .study-program-filter{grid-template-columns:1fr 1fr}.study-program-filter .btn{width:100%}
}
@media(max-width:680px){
  .notification-bell{width:36px;height:36px}.notification-panel{right:8px;width:calc(100vw - 16px)}
  .pending-user-item{grid-template-columns:38px minmax(0,1fr)}.pending-user-actions{grid-column:1/-1;justify-content:flex-end}
  .study-program-stats{grid-template-columns:1fr}.study-program-filter,.two-field-grid{grid-template-columns:1fr!important}
  .recovery-card{padding:23px!important}
}

/* 2026-08-07 v2: notifications, review workflow, funding groups, SMTP, annual accountability */
.notification-copy em{display:block;margin-top:3px;font-size:8.8px;font-style:normal;color:var(--theme-muted);opacity:.85}
.notification-item.kind-funding .notification-count{background:#fff0d5;color:#875907}
.notification-item.kind-review-assignment .notification-count,.notification-item.kind-review-complete .notification-count{background:#edf1ff;color:#5262a6}
.notification-item.kind-proposal-member .notification-count{background:var(--theme-secondary-soft);color:var(--theme-primary)}

.publication-hero-actions .publication-cta-button{
  min-height:44px;padding:11px 18px!important;border:1px solid var(--theme-accent)!important;
  background:var(--theme-accent)!important;color:var(--theme-on-accent)!important;
  font-size:12px!important;font-weight:900!important;letter-spacing:.1px;
  box-shadow:0 10px 24px rgba(var(--theme-primary-rgb),.22)!important;
}
.publication-hero-actions .publication-cta-button:hover{transform:translateY(-1px);filter:brightness(.97);box-shadow:0 13px 28px rgba(var(--theme-primary-rgb),.28)!important}

.workflow-admin-card,.review-management-card{overflow:hidden}
.workflow-admin-card .action-list>.inline-form{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.workflow-admin-card .action-list>.inline-form textarea{grid-column:1/-1;width:100%;min-width:0;margin:0}
.workflow-admin-card .action-list>.inline-form .btn{width:100%;justify-content:center}
.review-management-card .card-head{gap:12px;align-items:flex-start}
.review-management-card .reviewer-rule{margin-top:12px}
.reviewer-three-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:end!important;width:100%;box-sizing:border-box}
.reviewer-three-form label{min-width:0;width:100%}
.reviewer-three-form select,.reviewer-three-form input{width:100%;min-width:0;box-sizing:border-box}
.reviewer-three-form>.btn{grid-column:1/-1;width:100%;min-height:40px;justify-content:center;margin:0}
.reviewer-three-inline{max-width:100%;box-sizing:border-box}

.funding-scheme-stack{display:grid;gap:15px}
.funding-scheme-card{padding:0!important;overflow:hidden;border-radius:16px!important}
.funding-scheme-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:linear-gradient(135deg,var(--theme-primary-soft),var(--theme-surface));border-bottom:1px solid var(--theme-line)}
.funding-scheme-head h3{font-size:16px;margin:3px 0 2px;color:var(--theme-text)}
.funding-scheme-head p{margin:0;color:var(--theme-muted);font-size:10.5px}
.scheme-budget{flex:0 0 auto;text-align:right;padding:9px 12px;border-radius:12px;background:var(--theme-surface);border:1px solid rgba(var(--theme-primary-rgb),.10)}
.scheme-budget span,.scheme-budget strong{display:block}.scheme-budget span{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--theme-muted);font-weight:900}.scheme-budget strong{font-size:14px;color:var(--theme-primary);margin-top:2px}
.funding-scheme-card .table-wrap{margin:0;border:0;border-radius:0}

.mail-settings-hero,.annual-report-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(120deg,var(--theme-primary-soft),var(--theme-surface));border-color:rgba(var(--theme-primary-rgb),.12)!important}
.mail-settings-hero h2,.annual-report-hero h2{font-size:22px;margin:4px 0 7px}.mail-settings-hero p,.annual-report-hero p{margin:0;max-width:820px;color:var(--theme-muted);line-height:1.6}
.mail-health{min-width:190px;padding:13px 15px;border-radius:14px;border:1px solid var(--theme-line);background:var(--theme-surface)}
.mail-health span,.mail-health strong,.mail-health small{display:block}.mail-health span{font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.45px;color:var(--theme-muted)}.mail-health strong{font-size:17px;margin:4px 0;color:var(--theme-primary)}.mail-health small{font-size:9.8px;color:var(--theme-muted)}
.mail-health.ready{box-shadow:inset 3px 0 0 var(--theme-secondary)}
.mail-settings-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.72fr);gap:16px;align-items:start}
.smtp-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.smtp-settings-form label{min-width:0}.smtp-settings-form input,.smtp-settings-form select{width:100%;min-width:0}
.smtp-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;align-self:end;min-height:38px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-background-soft)}
.smtp-check input{width:auto!important;margin:0}.smtp-check span{font-size:11px;font-weight:800}
.smtp-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:3px}.smtp-form-actions span{font-size:9.8px;color:var(--theme-muted)}
.smtp-test-card{display:grid;gap:18px;position:sticky;top:136px}.smtp-test-card p{color:var(--theme-muted);line-height:1.55}.smtp-security-note{padding:13px;border-radius:12px;background:var(--theme-primary-soft);border:1px solid rgba(var(--theme-primary-rgb),.10)}.smtp-security-note strong{display:block;color:var(--theme-primary);font-size:11px}.smtp-security-note p{font-size:10px;margin:4px 0 0}

.annual-report-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.annual-report-actions form{margin:0}.annual-report-actions select{min-width:180px;background:var(--theme-surface)}
.annual-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.annual-summary-grid article{padding:15px 17px;border-radius:15px;background:var(--theme-surface);border:1px solid rgba(var(--theme-primary-rgb),.10);box-shadow:var(--siri-soft-shadow);min-width:0}
.annual-summary-grid span,.annual-summary-grid strong,.annual-summary-grid small{display:block}.annual-summary-grid span{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:900;color:var(--theme-muted)}.annual-summary-grid strong{font-size:18px;line-height:1.2;color:var(--theme-primary);margin:5px 0 3px;overflow-wrap:anywhere}.annual-summary-grid small{font-size:9.5px;color:var(--theme-muted)}
.annual-detail-table td{vertical-align:top}.annual-report-note{padding:13px 15px;border-radius:12px;background:#fff8e8;border:1px solid #f1d58b;color:#6e541c;font-size:10.5px;line-height:1.6}.annual-report-note strong{color:#684800}

@media(max-width:1000px){
  .mail-settings-grid{grid-template-columns:1fr}.smtp-test-card{position:static}
  .annual-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .workflow-admin-card .action-list>.inline-form,.reviewer-three-form,.smtp-settings-form{grid-template-columns:1fr!important}
  .workflow-admin-card .action-list>.inline-form textarea,.smtp-form-actions{grid-column:auto}
  .reviewer-three-form>.btn{grid-column:auto}
  .funding-scheme-head,.mail-settings-hero,.annual-report-hero{align-items:flex-start;flex-direction:column}
  .scheme-budget{width:100%;text-align:left}.mail-health{width:100%}
  .annual-summary-grid{grid-template-columns:1fr}
  .annual-report-actions{width:100%}.annual-report-actions form,.annual-report-actions select,.annual-report-actions .btn{width:100%}
}

/* =========================================================
   SIRI' V5.1 — Login Berdampak (fix jalur asset + layout)
   ========================================================= */
.login-password-tools{display:flex;justify-content:flex-end;margin-top:-3px;margin-bottom:2px}
.login-password-tools a{font-weight:800;color:#0b626c;text-decoration:none}
.login-password-tools a:hover{text-decoration:underline}
.login-actions{margin-top:12px}
.login-actions .btn.full{border-radius:11px;font-weight:800;background:#fff}

.login-support-card{
  margin-top:18px;
  position:relative;
  overflow:hidden;
  border:1px solid #cfe6e2;
  background:linear-gradient(180deg,#fff 0%,#fbfefd 100%);
  border-radius:16px;
  padding:16px 18px 14px;
  box-shadow:0 12px 28px rgba(2,65,72,.07);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:11px;
}
.login-support-card::before{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-54px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,170,144,.10),rgba(0,170,144,0) 68%);
  pointer-events:none;
}
.login-support-card::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:8px;
  width:112px;
  height:64px;
  background-image:radial-gradient(rgba(0,170,144,.17) 1px,transparent 1px);
  background-size:8px 8px;
  opacity:.42;
  -webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 78%);
  mask-image:linear-gradient(135deg,transparent 5%,#000 78%);
  pointer-events:none;
}
.login-support-pill{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  border-radius:999px;
  background:#e8f7f3;
  border:1px solid #d4ece7;
  color:#2f6f78;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.login-support-pill-icon{
  display:inline-grid;
  place-items:center;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#fff;
  color:#4b94a0;
  font-size:10px;
  box-shadow:inset 0 0 0 1px #d6ece7;
}
.login-support-brand{
  position:relative;
  z-index:1;
  width:100%;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px 2px;
}
.login-support-brand img{
  display:block;
  width:min(88%,330px);
  max-width:100%;
  height:auto;
  max-height:104px;
  object-fit:contain;
}
.login-support-copy{
  position:relative;
  z-index:1;
  width:100%;
  padding-top:12px;
  border-top:1px solid #dcebe8;
}
.login-support-copy h3{
  margin:0 0 5px;
  color:#2e3d45;
  font-size:16px;
  font-weight:900;
}
.login-support-copy p{
  margin:0 auto;
  max-width:390px;
  color:#5b6970;
  line-height:1.45;
  font-size:12px;
}

@media(max-width:700px){
  .login-support-card{padding:15px 14px 13px}
  .login-support-brand img{width:min(92%,290px)}
}

/* =========================================================
   SIRI' V5.2 — balance login layout, enlarge Berdampak logo,
   and remove desktop scrolling
   ========================================================= */
@media (min-width:1001px){
  .login-body{
    min-height:100dvh!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .bima-login-shell{
    width:min(1110px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - 24px)!important;
    grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)!important;
    gap:22px!important;
    align-items:stretch!important;
  }
  .bima-login-brand,
  .login-panel{
    min-height:auto!important;
  }
  .bima-login-brand{
    padding:22px 28px!important;
    justify-content:flex-start!important;
  }
  .login-panel{
    padding:22px 26px!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .risma-logo.big.login-brand-lockup{
    min-height:136px!important;
    padding:14px 18px!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .login-campus-logo{
    width:86px!important;
    min-width:86px!important;
    height:98px!important;
    padding-right:16px!important;
  }
  .login-campus-logo img{
    width:68px!important;
    height:68px!important;
  }
  .login-siri-logo,
  .login-brand-lockup .brand-logo-image--full{
    height:100px!important;
    max-height:100px!important;
  }
  .bima-login-brand h2{
    margin:18px 0 10px!important;
    font-size:22px!important;
    line-height:1.25!important;
  }
  .bima-login-brand p{
    margin:0!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  .login-feature-grid{
    gap:10px!important;
    margin-top:16px!important;
  }
  .login-feature-grid span{
    padding:10px 12px!important;
    font-size:14px!important;
  }
  .login-card h2{
    margin:0 0 6px!important;
    font-size:21px!important;
  }
  .login-card .muted-text{
    margin:0 0 6px!important;
    font-size:13px!important;
  }
  .form-stack{
    gap:10px!important;
  }
  .login-actions{
    margin-top:10px!important;
  }
  .login-support-card{
    margin-top:14px!important;
    padding:13px 16px 12px!important;
    gap:8px!important;
    border-radius:18px!important;
  }
  .login-support-pill{
    padding:7px 13px!important;
    font-size:11px!important;
  }
  .login-support-brand{
    min-height:66px!important;
    padding:2px 0 0!important;
  }
  .login-support-brand img{
    width:min(96%,360px)!important;
    max-width:360px!important;
    max-height:76px!important;
  }
  .login-support-copy{
    padding-top:10px!important;
  }
  .login-support-copy h3{
    margin:0 0 4px!important;
    font-size:15px!important;
  }
  .login-support-copy p{
    max-width:360px!important;
    font-size:12px!important;
    line-height:1.42!important;
  }
  .login-support-card::before{
    width:130px!important;
    height:130px!important;
    right:-30px!important;
    bottom:-40px!important;
  }
  .login-support-card::after{
    width:92px!important;
    height:54px!important;
  }
}

/* =========================================================
   SIRI' V6 — Premium login redesign
   ========================================================= */
.siri-login-v6.login-body{
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:24px!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(28,183,168,.10),transparent 27%),
    radial-gradient(circle at 92% 86%,rgba(54,201,193,.10),transparent 24%),
    #f7fbfb!important;
  align-items:center!important;
}
.siri-login-v6 .siri-login-v6-shell{
  width:min(1240px,100%)!important;
  max-height:none!important;
  min-height:690px;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}

/* Left brand panel */
.siri-login-v6 .siri-login-v6-brand{
  min-height:690px!important;
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  padding:44px 50px!important;
  border-radius:28px!important;
  justify-content:flex-start!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(80,239,211,.22),transparent 22%),
    radial-gradient(circle at 14% 73%,rgba(3,62,79,.28),transparent 30%),
    linear-gradient(138deg,#075565 0%,#087d80 48%,#20c8b1 100%)!important;
  box-shadow:0 26px 70px rgba(14,75,81,.20)!important;
}
.siri-login-v6 .siri-login-v6-brand::before{
  content:"";
  position:absolute;
  z-index:-3;
  width:290px;
  height:290px;
  left:-120px;
  top:-110px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.018);
}
.siri-login-v6 .siri-login-v6-brand::after{
  content:"";
  position:absolute;
  z-index:-3;
  right:-115px;
  bottom:-115px;
  width:360px;
  height:360px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 0 0 68px rgba(255,255,255,.025);
}
.siri-login-v6-orb{
  position:absolute;
  z-index:-2;
  border-radius:50%;
  pointer-events:none;
}
.siri-login-v6-orb--one{
  width:16px;
  height:16px;
  top:195px;
  right:58px;
  background:rgba(247,219,96,.75);
  box-shadow:0 0 25px 10px rgba(247,219,96,.25);
}
.siri-login-v6-orb--two{
  width:74px;
  height:74px;
  right:70px;
  bottom:150px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.025);
}
.siri-login-v6-dots{
  position:absolute;
  z-index:-2;
  width:112px;
  height:112px;
  opacity:.28;
  background-image:radial-gradient(rgba(255,255,255,.7) 1.2px,transparent 1.2px);
  background-size:10px 10px;
  pointer-events:none;
}
.siri-login-v6-dots--top{left:24px;top:20px;mask-image:linear-gradient(135deg,#000,transparent 78%);-webkit-mask-image:linear-gradient(135deg,#000,transparent 78%)}
.siri-login-v6-dots--bottom{left:24px;bottom:18px;mask-image:linear-gradient(45deg,#000,transparent 78%);-webkit-mask-image:linear-gradient(45deg,#000,transparent 78%)}
.siri-login-v6-wave{
  position:absolute;
  z-index:-2;
  left:-8%;
  right:-8%;
  bottom:-48px;
  height:150px;
  border-radius:50% 50% 0 0;
  border-top:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(53,231,204,.11),rgba(53,231,204,.02));
  transform:rotate(-3deg);
  pointer-events:none;
}

.siri-login-v6 .siri-login-v6-lockup{
  width:100%!important;
  min-height:176px!important;
  max-width:none!important;
  padding:22px 28px!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  gap:26px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 22px 44px rgba(0,44,52,.18)!important;
  backdrop-filter:blur(10px);
}
.siri-login-v6 .siri-login-v6-lockup .login-campus-logo{
  width:118px!important;
  min-width:118px!important;
  height:126px!important;
  padding-right:24px!important;
  border-right:1px solid #dbe9e7!important;
}
.siri-login-v6 .siri-login-v6-lockup .login-campus-logo img{
  width:88px!important;
  height:88px!important;
}
.siri-login-v6 .siri-login-v6-lockup .login-siri-logo,
.siri-login-v6 .siri-login-v6-lockup .brand-logo-image--full{
  height:130px!important;
  max-height:130px!important;
}
.siri-login-v6-brand-copy{
  margin-top:34px;
  max-width:590px;
}
.siri-login-v6 .siri-login-v6-brand-copy h1{
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:36px!important;
  line-height:1.13!important;
  letter-spacing:-.8px;
  font-weight:900!important;
}
.siri-login-v6 .siri-login-v6-brand-copy p{
  margin:0!important;
  color:rgba(255,255,255,.93)!important;
  font-size:16px!important;
  line-height:1.65!important;
  max-width:570px;
}
.siri-login-v6 .siri-login-v6-features{
  margin-top:28px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.siri-login-v6-feature{
  min-height:70px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.siri-login-v6-feature-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  color:#eafffb;
}
.siri-login-v6-feature-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Right login panel */
.siri-login-v6 .siri-login-v6-panel{
  min-height:690px!important;
  align-self:stretch!important;
  justify-content:flex-start!important;
  padding:34px 36px 28px!important;
  border-radius:28px!important;
  border:1px solid #e1ecea!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 26px 70px rgba(31,61,72,.11)!important;
  overflow:visible!important;
}
.siri-login-v6-panel-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.siri-login-v6-security-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#118b8b;
  background:linear-gradient(145deg,#e6f8f4,#f1fbf9);
  border:1px solid #d9eeea;
}
.siri-login-v6-security-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.siri-login-v6 .siri-login-v6-panel-head h2{
  margin:0 0 4px!important;
  color:#173c43!important;
  font-size:26px!important;
  line-height:1.15!important;
  letter-spacing:-.35px;
}
.siri-login-v6 .siri-login-v6-panel-head .muted-text{
  margin:0!important;
  color:#6f7f84!important;
  font-size:13px!important;
}
.siri-login-v6-form{gap:9px!important}
.siri-login-v6-form>label{
  margin-top:4px;
  color:#173c43;
  font-size:12px;
  font-weight:900;
}
.siri-login-v6-input-shell{
  min-height:54px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  border:1px solid #cfdfdf;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 14px rgba(24,64,72,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.siri-login-v6-input-shell:focus-within{
  border-color:#34b8ad;
  box-shadow:0 0 0 4px rgba(52,184,173,.11),0 7px 18px rgba(24,64,72,.05);
}
.siri-login-v6-input-icon{
  height:32px;
  display:grid;
  place-items:center;
  color:#7b9096;
  border-right:1px solid #edf2f1;
}
.siri-login-v6-input-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.siri-login-v6-input-shell>input,
.siri-login-v6-input-shell>.password-input-wrap>input{
  height:52px!important;
  min-height:52px!important;
  width:100%!important;
  border:0!important;
  outline:0!important;
  border-radius:0 14px 14px 0!important;
  padding:0 14px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#183d44!important;
  font-size:13px!important;
}
.siri-login-v6-input-shell>.password-input-wrap{
  grid-column:2;
  width:100%;
}
.siri-login-v6-input-shell>.password-input-wrap>input{padding-right:48px!important}
.siri-login-v6-input-shell .password-visibility-button{
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:36px!important;
  height:36px!important;
  color:#82969b!important;
}
.siri-login-v6 .login-password-tools{
  margin:0 0 6px!important;
  min-height:22px;
}
.siri-login-v6 .login-password-tools a{
  color:#0d8988!important;
  font-size:12px!important;
  font-weight:900!important;
}
.siri-login-v6-submit{
  min-height:52px;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,#0d9e98,#25bdb0)!important;
  color:#fff!important;
  font-size:14px!important;
  box-shadow:0 12px 22px rgba(18,164,154,.18)!important;
}
.siri-login-v6-submit:hover{transform:translateY(-1px);filter:brightness(1.02)}
.siri-login-v6-submit span,
.siri-login-v6-register span{
  display:inline-grid;
  place-items:center;
}
.siri-login-v6-submit svg,
.siri-login-v6-register svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.siri-login-v6 .login-actions{margin-top:10px!important}
.siri-login-v6-register{
  min-height:50px;
  border-radius:14px!important;
  border:1px solid #d3e1e0!important;
  background:#fff!important;
  color:#51636a!important;
  font-size:13px!important;
  box-shadow:0 5px 14px rgba(31,61,72,.035)!important;
}
.siri-login-v6-register:hover{
  border-color:#bcd9d5!important;
  color:#137f80!important;
  background:#fafffe!important;
}

/* Berdampak support card */
.siri-login-v6 .siri-login-v6-support{
  margin-top:18px!important;
  padding:16px 24px 18px!important;
  gap:10px!important;
  border-radius:20px!important;
  border:1px solid #d6e9e5!important;
  background:
    radial-gradient(circle at 95% 100%,rgba(37,189,176,.08),transparent 30%),
    linear-gradient(180deg,#fff,#fbfefd)!important;
  box-shadow:0 10px 28px rgba(24,64,72,.055)!important;
}
.siri-login-v6 .siri-login-v6-support::before{
  width:170px!important;
  height:170px!important;
  right:-50px!important;
  bottom:-72px!important;
  opacity:.55;
}
.siri-login-v6 .siri-login-v6-support-pill{
  padding:7px 17px!important;
  color:#157f80!important;
  background:#e8f7f4!important;
  border-color:#d6ece7!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.1px;
}
.siri-login-v6 .siri-login-v6-support-brand{
  min-height:92px!important;
  padding:4px 0!important;
}
.siri-login-v6 .siri-login-v6-support-brand img{
  width:min(94%,390px)!important;
  max-width:390px!important;
  max-height:112px!important;
  height:auto!important;
  object-fit:contain!important;
}
.siri-login-v6 .siri-login-v6-support-copy{
  padding-top:12px!important;
  border-top:1px solid #dbe9e6!important;
}
.siri-login-v6 .siri-login-v6-support-copy h3{
  margin:0 0 4px!important;
  color:#283f46!important;
  font-size:16px!important;
  font-weight:900!important;
}
.siri-login-v6 .siri-login-v6-support-copy p{
  max-width:430px!important;
  color:#6a787e!important;
  font-size:12px!important;
  line-height:1.45!important;
}

@media(max-width:1100px){
  .siri-login-v6 .siri-login-v6-shell{grid-template-columns:1fr!important;max-width:760px!important}
  .siri-login-v6 .siri-login-v6-brand,.siri-login-v6 .siri-login-v6-panel{min-height:auto!important}
}
@media(max-width:700px){
  .siri-login-v6.login-body{padding:12px!important;align-items:flex-start!important}
  .siri-login-v6 .siri-login-v6-shell{gap:16px!important}
  .siri-login-v6 .siri-login-v6-brand{padding:24px 20px!important;border-radius:20px!important}
  .siri-login-v6 .siri-login-v6-lockup{min-height:128px!important;padding:14px 15px!important;grid-template-columns:74px minmax(0,1fr)!important;gap:14px!important;border-radius:17px!important}
  .siri-login-v6 .siri-login-v6-lockup .login-campus-logo{width:74px!important;min-width:74px!important;height:94px!important;padding-right:13px!important}
  .siri-login-v6 .siri-login-v6-lockup .login-campus-logo img{width:60px!important;height:60px!important}
  .siri-login-v6 .siri-login-v6-lockup .login-siri-logo,.siri-login-v6 .siri-login-v6-lockup .brand-logo-image--full{height:96px!important;max-height:96px!important}
  .siri-login-v6-brand-copy{margin-top:24px}
  .siri-login-v6 .siri-login-v6-brand-copy h1{font-size:29px!important}
  .siri-login-v6 .siri-login-v6-brand-copy p{font-size:14px!important}
  .siri-login-v6 .siri-login-v6-features{grid-template-columns:1fr!important}
  .siri-login-v6 .siri-login-v6-panel{padding:24px 20px!important;border-radius:20px!important}
  .siri-login-v6 .siri-login-v6-panel-head h2{font-size:23px!important}
  .siri-login-v6 .siri-login-v6-support-brand img{width:min(100%,360px)!important}
}

/* =========================================================
   SIRI' V9 — Manajemen user ringkas + editor seluruh akun
   ========================================================= */
.admin-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.managed-user-form-shell{scroll-margin-top:120px;margin:0 0 18px}
.managed-user-create-form{margin:0!important;border:1px solid #cfe6e2!important;box-shadow:0 14px 34px rgba(15,70,80,.08)!important}
.managed-user-create-form .card-head.full{align-items:center}
.managed-user-edit-card{scroll-margin-top:120px;border:1px solid #cbe5e0!important;box-shadow:0 16px 38px rgba(15,70,80,.09)!important;margin-bottom:18px}
.managed-user-edit-card>.card-head{padding-bottom:14px;border-bottom:1px solid #e4efed}
.managed-user-edit-form{margin-top:16px}
.edit-user-role-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-top:4px;border-radius:12px;background:#f4fbf9;border:1px solid #dceeea}
.edit-user-role-summary>span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:#577a78}
.edit-user-role-summary small{width:100%;color:#6a8583;line-height:1.45}
.account-edit-button{background:#eef9f7!important;border-color:#cbe9e3!important;color:#0a706c!important}
.account-edit-button:hover{background:#dcf4ef!important}
.account-action-stack{min-width:165px}
@media(max-width:900px){
  .admin-page-actions{width:100%;justify-content:flex-start}
  .managed-user-edit-form{grid-template-columns:1fr!important}
}

/* =========================================================
   SIRI' V10 — proposal centered + focus area master + account actions
   ========================================================= */
.proposal-form.wide-form{
  width:100%;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.focus-area-layout{margin-top:2px}
.focus-area-filter{grid-template-columns:minmax(180px,1fr) auto auto!important}
.focus-area-form{position:sticky;top:120px}
.focus-area-list-card .table-wrap{border-radius:10px}
.account-action-stack .delete-form .btn.danger{
  width:100%;
  justify-content:center;
  background:#fff2f2!important;
  color:#b3262d!important;
  border-color:#efc7ca!important;
}
.account-action-stack .delete-form .btn.danger:hover{
  background:#b3262d!important;
  color:#fff!important;
  border-color:#b3262d!important;
}
@media(max-width:1000px){
  .proposal-form.wide-form{max-width:100%!important}
  .focus-area-form{position:static}
}
@media(max-width:700px){
  .focus-area-filter{grid-template-columns:1fr!important}
}

/* =========================================================
   SIRI V11.1 — pertahankan navbar lama, perbaiki ikon saja
   ========================================================= */

/* Ikon menu admin: tanpa kotak mencolok, hanya outline SVG rapi. */
.admin-restored-nav .nav-item-icon.menu-svg-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:currentColor!important;
}
.admin-restored-nav .nav-item-icon.menu-svg-icon svg{
  width:17px!important;
  height:17px!important;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.admin-restored-nav>a:hover .menu-svg-icon,
.admin-restored-nav>.nav-drop:hover>a .menu-svg-icon,
.admin-restored-nav>.nav-drop:focus-within>a .menu-svg-icon,
.admin-restored-nav>a.active .menu-svg-icon,
.admin-restored-nav>.nav-drop.active>a .menu-svg-icon{
  color:#fff!important;
}

/* Ikon Dosen / Reviewer dengan tampilan lama navbar tetap dipertahankan. */
.bima-nav .menu-inline-icon{
  width:17px;
  height:17px;
  min-width:17px;
  flex:0 0 17px;
  display:inline-grid;
  place-items:center;
  margin-right:6px;
  color:currentColor;
}
.bima-nav .menu-inline-icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Pastikan tampilan navbar kembali ke model lama, bukan floating/light navbar. */
.bima-nav,
.admin-restored-nav{
  background:linear-gradient(100deg,var(--theme-primary-dark) 0%,var(--theme-primary) 52%,var(--theme-secondary-dark) 125%)!important;
}
.admin-restored-nav{
  min-height:44px!important;
  height:44px!important;
  justify-content:center!important;
  gap:7px!important;
  overflow:visible!important;
  padding:0 18px!important;
  box-shadow:0 8px 22px rgba(1,58,65,.16)!important;
}
.admin-restored-nav>a,
.admin-restored-nav>.nav-drop>a{
  min-height:36px!important;
  height:36px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  gap:7px!important;
  color:#effffc!important;
  font-size:12px!important;
  font-weight:800!important;
  background:transparent;
}
.admin-restored-nav>a:hover,
.admin-restored-nav>.nav-drop:hover>a,
.admin-restored-nav>.nav-drop:focus-within>a,
.admin-restored-nav>a.active,
.admin-restored-nav>.nav-drop.active>a{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important;
}

@media(max-width:1000px){
  .admin-restored-nav{
    height:auto!important;
    justify-content:flex-start!important;
    padding:8px 10px 12px!important;
  }
}

/* =========================================================
   SIRI V12 - RED PDF DOWNLOAD BUTTONS
   ========================================================= */
.admin-pdf-button.pdf-download-button,
.pdf-download-button{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px;
  white-space:nowrap;
  border-radius:12px!important;
  border:1px solid #a91212!important;
  background:linear-gradient(180deg,#ef3e3e 0%,#cf1c1c 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 18px rgba(173,17,17,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
  text-shadow:0 1px 0 rgba(0,0,0,.15);
}
.admin-pdf-button.pdf-download-button:hover,
.pdf-download-button:hover{
  background:linear-gradient(180deg,#f85151 0%,#bb1111 100%)!important;
  color:#fff!important;
  border-color:#971010!important;
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(173,17,17,.28), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.admin-pdf-button.pdf-download-button::before,
.pdf-download-button::before{
  content:"PDF";
  display:inline-grid;
  place-items:center;
  min-width:30px;
  height:24px;
  padding:0 7px;
  border-radius:7px;
  background:linear-gradient(180deg,#fff 0%,#f3d7d7 100%);
  color:#bb1010;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 2px 5px rgba(0,0,0,.14);
}
.btn.small.pdf-download-button,
.admin-pdf-button.pdf-download-button{padding-left:12px!important;padding-right:16px!important}
.btn.danger.pdf-download-button{padding-left:12px!important;padding-right:16px!important}
.pdf-download-button.pdf-action-disabled{
  opacity:.68!important;
  filter:saturate(.65);
}
.chair-hero-side .admin-pdf-button.pdf-download-button,
.settings-hero.admin-page-hero .admin-pdf-button.pdf-download-button,
.annual-report-actions .admin-pdf-button.pdf-download-button,
.admin-page-actions .admin-pdf-button.pdf-download-button{
  background:linear-gradient(180deg,#ef3e3e 0%,#cf1c1c 100%)!important;
  color:#fff!important;
  border-color:#a91212!important;
}

/* =========================================================
   SIRI V13 - REGISTER PAGE SCROLL FIX
   Login desktop memang dibuat tanpa scroll, tetapi halaman registrasi
   lebih panjang dan harus boleh mengikuti tinggi konten.
   ========================================================= */
.login-body.register-body{
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:24px!important;
}
.login-body.register-body .register-shell{
  width:min(1120px,100%)!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0 0 30px!important;
}
.login-body.register-body .register-shell .login-card{
  max-height:none!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .login-body.register-body{padding:12px!important;}
  .login-body.register-body .register-shell{padding-bottom:22px!important;}
}

/* =========================================================
   SIRI V18.36 — mobile menu: no white/blank submenu panel
   ========================================================= */
@media (max-width:1000px){
  .bima-top.nav-open{
    background:#fff!important;
  }
  .bima-top.nav-open .bima-nav,
  .bima-nav.open{
    display:flex!important;
    background:linear-gradient(160deg,#075663 0%,#08756f 58%,#0d8c80 100%)!important;
    padding:10px 12px 14px!important;
    gap:4px!important;
  }
  .bima-nav .nav-drop,
  .admin-restored-nav .nav-drop{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
  }
  .bima-nav .drop-menu,
  .admin-restored-nav .drop-menu,
  .admin-restored-nav .drop-menu-right{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    max-height:none!important;
    margin:4px 4px 8px 16px!important;
    padding:5px!important;
    border:0!important;
    border-left:3px solid rgba(190,244,233,.70)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    overflow:visible!important;
    backdrop-filter:none!important;
  }
  .bima-nav .nav-drop:not(.open)>.drop-menu,
  .admin-restored-nav .nav-drop:not(.open)>.drop-menu{
    display:none!important;
  }
  .bima-nav .nav-drop.open>.drop-menu,
  .admin-restored-nav .nav-drop.open>.drop-menu{
    display:block!important;
  }
  .bima-nav .drop-menu a,
  .bima-nav .drop-menu a:visited,
  .admin-restored-nav .drop-menu a,
  .admin-restored-nav .drop-menu a:visited{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 11px!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#effffc!important;
    line-height:1.35!important;
  }
  .bima-nav .drop-menu a strong,
  .admin-restored-nav .drop-menu a strong{
    display:block!important;
    color:#fff!important;
    font-size:11.5px!important;
  }
  .bima-nav .drop-menu a small,
  .admin-restored-nav .drop-menu a small{
    display:block!important;
    margin-top:2px!important;
    color:#d7f5ef!important;
    opacity:.82!important;
    font-size:9.8px!important;
  }
  .bima-nav .drop-menu a:hover,
  .bima-nav .drop-menu a.active,
  .admin-restored-nav .drop-menu a:hover,
  .admin-restored-nav .drop-menu a.active{
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }
}

@media (max-width:520px){
  .bima-top-inner{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    padding:10px 12px!important;
  }
  .bima-userbar{
    gap:8px!important;
    align-items:center!important;
  }
  .nav-toggle{
    border-radius:12px!important;
    box-shadow:0 7px 18px rgba(7,96,94,.18)!important;
  }
  .bima-nav{
    padding:9px 10px 13px!important;
  }
  .bima-nav>a,
  .bima-nav>.nav-drop>a,
  .admin-restored-nav>a,
  .admin-restored-nav>.nav-drop>a{
    min-height:48px!important;
    padding:12px 14px!important;
    border-radius:11px!important;
    font-size:13px!important;
  }
  .bima-nav .drop-menu,
  .admin-restored-nav .drop-menu{
    margin-left:14px!important;
    margin-right:2px!important;
  }
}

/* SIRI V18.37 - Manajemen User tabs: desktop + mobile */
.user-management-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:14px 0 18px!important;
  padding:10px!important;
  border:1px solid #d7ebe7!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f8fcfb 0%,#eef8f6 100%)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.user-management-tab{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:9px 10px!important;
  border:1px solid #dbeae7!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#244b4a!important;
  font:inherit!important;
  text-align:left!important;
  box-shadow:0 5px 14px rgba(18,79,77,.05)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.user-management-tab:hover{
  transform:translateY(-1px)!important;
  border-color:#96d7cf!important;
  box-shadow:0 8px 20px rgba(18,79,77,.09)!important;
}
.user-management-tab .user-tab-icon{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:10px!important;
  background:#e8f7f4!important;
  color:#08756f!important;
  font-size:12px!important;
  font-weight:900!important;
}
.user-management-tab strong{
  display:block!important;
  min-width:0!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.user-management-tab em{
  display:grid!important;
  place-items:center!important;
  min-width:26px!important;
  height:26px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#eef5f4!important;
  color:#315f5c!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}
.user-management-tab.is-active,
.user-management-tab[aria-selected="true"]{
  border-color:#078b83!important;
  background:linear-gradient(135deg,#0b8d85 0%,#0aa69a 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(0,119,114,.20)!important;
}
.user-management-tab.is-active .user-tab-icon,
.user-management-tab[aria-selected="true"] .user-tab-icon{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.user-management-tab.is-active em,
.user-management-tab[aria-selected="true"] em{
  background:#fff!important;
  color:#08756f!important;
}
.user-management-panel{
  display:none!important;
  width:100%!important;
  min-width:0!important;
}
.user-management-panel.is-active{
  display:block!important;
}

@media(max-width:980px){
  .user-management-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  .user-management-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:8px!important;
    margin:10px 0 14px!important;
    border-radius:14px!important;
  }
  .user-management-tab{
    grid-template-columns:30px minmax(0,1fr) auto!important;
    gap:7px!important;
    min-height:50px!important;
    padding:8px!important;
    border-radius:11px!important;
  }
  .user-management-tab .user-tab-icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    border-radius:9px!important;
    font-size:11px!important;
  }
  .user-management-tab strong{
    font-size:10.5px!important;
  }
  .user-management-tab em{
    min-width:24px!important;
    height:24px!important;
    padding:0 6px!important;
    font-size:10px!important;
  }
  /* Reviewer sendiri dibuat memenuhi lebar baris agar komposisi 2+2+1 seimbang. */
  .user-management-tab:last-child:nth-child(odd){
    grid-column:1/-1!important;
  }
}

@media(max-width:380px){
  .user-management-tabs{
    grid-template-columns:1fr!important;
  }
  .user-management-tab:last-child:nth-child(odd){
    grid-column:auto!important;
  }
}

/* =========================================================
   SIRI' V18.38 — campus login, campus admin heroes,
   master setting tabs, notification/UI consistency
   ========================================================= */

/* --- Login: campus photo as a real visual layer, still keeping text readable --- */
.siri-login-v6 .siri-login-v6-brand{
  background:
    linear-gradient(90deg,rgba(2,68,75,.94) 0%,rgba(3,91,92,.88) 43%,rgba(5,105,99,.55) 72%,rgba(5,86,82,.36) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,55,52,.20)),
    url('../images/unisan-campus-login.png') center 58% / cover no-repeat!important;
}
.siri-login-v6 .siri-login-v6-brand::before{
  width:100%!important;height:100%!important;left:0!important;top:0!important;border:0!important;border-radius:0!important;
  background:linear-gradient(180deg,rgba(0,51,58,.10),rgba(0,61,58,.30))!important;
  box-shadow:none!important;
}
.siri-login-v6 .siri-login-v6-brand::after{
  right:-90px!important;bottom:-110px!important;width:320px!important;height:320px!important;
  background:rgba(11,190,169,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 0 0 64px rgba(255,255,255,.018)!important;
}
.siri-login-v6 .siri-login-v6-brand-copy,
.siri-login-v6 .siri-login-v6-features,
.siri-login-v6 .siri-login-v6-lockup{position:relative;z-index:2}
.siri-login-v6 .siri-login-v6-lockup{
  background:rgba(255,255,255,.93)!important;
  box-shadow:0 18px 42px rgba(0,39,43,.24)!important;
}
.siri-login-v6 .siri-login-v6-brand-copy h1{text-shadow:0 2px 14px rgba(0,35,39,.22)}
.siri-login-v6 .siri-login-v6-brand-copy p{text-shadow:0 1px 10px rgba(0,35,39,.20)}
.siri-login-v6-feature{background:rgba(7,77,77,.34)!important;border-color:rgba(255,255,255,.23)!important}

/* --- Give remaining admin/settings heroes the same SIRI campus identity --- */
.settings-hero.admin-page-hero,
.master-settings-hero,
.theme-settings-hero,
.user-management-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:
    linear-gradient(90deg,rgba(4,75,82,.97) 0%,rgba(5,105,105,.90) 48%,rgba(10,159,145,.70) 100%),
    url('../images/unisan-campus-hero.jpg') center / cover no-repeat!important;
  box-shadow:0 16px 38px rgba(12,79,82,.14)!important;
}
.settings-hero.admin-page-hero::before,
.master-settings-hero::before,
.theme-settings-hero::before,
.user-management-hero::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:linear-gradient(90deg,rgba(0,65,71,.40),rgba(0,98,91,.10) 62%,rgba(0,0,0,.03));
  pointer-events:none;
}
.settings-hero.admin-page-hero h2,
.settings-hero.admin-page-hero h3,
.settings-hero.admin-page-hero p,
.settings-hero.admin-page-hero .admin-hero-kicker,
.master-settings-hero h2,.master-settings-hero p,
.theme-settings-hero h2,.theme-settings-hero p,
.user-management-hero h2,.user-management-hero p{color:#fff!important}
.settings-hero.admin-page-hero p,
.master-settings-hero p,
.theme-settings-hero p,
.user-management-hero p{opacity:.94}
.settings-hero.admin-page-hero .btn:not(.danger):not(.pdf-download-button),
.master-settings-hero .btn:not(.danger):not(.pdf-download-button),
.theme-settings-hero .btn:not(.danger):not(.pdf-download-button),
.user-management-hero .btn:not(.danger):not(.pdf-download-button){
  background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;
  backdrop-filter:blur(8px);
}

/* --- Master settings tabs: prevent raw/default browser buttons --- */
.master-settings-tabs{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:12px 0 16px!important;
  padding:8px!important;
  border:1px solid #d7ebe8!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f9fdfc,#f1f9f7)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.master-settings-tab{
  appearance:none!important;-webkit-appearance:none!important;
  width:100%!important;min-width:0!important;min-height:64px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;row-gap:2px!important;
  align-items:center!important;text-align:left!important;
  padding:10px 12px!important;margin:0!important;
  border:1px solid #d7e8e5!important;border-radius:12px!important;
  background:#fff!important;color:#244e4c!important;
  box-shadow:0 5px 14px rgba(16,79,78,.04)!important;
  font-family:inherit!important;cursor:pointer!important;
  white-space:normal!important;overflow:hidden!important;
}
.master-settings-tab>span{
  grid-row:1/3!important;display:grid!important;place-items:center!important;
  width:32px!important;height:32px!important;border-radius:10px!important;
  background:#e8f7f4!important;color:#087a75!important;font-size:11px!important;font-weight:900!important;
}
.master-settings-tab>strong{
  min-width:0!important;color:inherit!important;font-size:12px!important;line-height:1.25!important;font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.master-settings-tab>small{
  min-width:0!important;color:#68817f!important;font-size:10px!important;line-height:1.25!important;font-weight:600!important;
  overflow-wrap:anywhere!important;
}
.master-settings-tab:hover{border-color:#8ed4cc!important;background:#f8fffd!important;transform:translateY(-1px)}
.master-settings-tab.is-active{
  border-color:#0a9088!important;
  background:linear-gradient(135deg,#087a75,#18a99f)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(7,128,121,.18)!important;
}
.master-settings-tab.is-active>span{background:rgba(255,255,255,.18)!important;color:#fff!important}
.master-settings-tab.is-active>small{color:rgba(255,255,255,.84)!important}
.master-settings-panel{display:none!important}
.master-settings-panel.is-active{display:block!important}

@media(max-width:900px){
  .master-settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .siri-login-v6 .siri-login-v6-brand{
    background:
      linear-gradient(90deg,rgba(3,70,76,.92),rgba(6,111,104,.72)),
      url('../images/unisan-campus-login.png') center 62% / cover no-repeat!important;
  }
}
@media(max-width:520px){
  .master-settings-tabs{grid-template-columns:1fr!important;padding:7px!important;gap:7px!important}
  .master-settings-tab{min-height:56px!important;padding:9px 10px!important}
  .settings-hero.admin-page-hero,
  .master-settings-hero,
  .theme-settings-hero,
  .user-management-hero{
    background:
      linear-gradient(90deg,rgba(3,77,82,.96),rgba(8,139,129,.78)),
      url('../images/unisan-campus-hero.jpg') 68% center / cover no-repeat!important;
  }
}

/* =========================================================
   SIRI V18.39 — Mobile table containment & responsive cards
   Prevent wide tables/cards from shrinking or widening the whole page.
   ========================================================= */
html,body,.bima-app{
  max-width:100%;
  overflow-x:hidden;
}
.bima-main,.content,.card,.modern-card,section,
.chair-stage-history-board,.chair-stage-history-head,
.dashboard-trend-card,.proposal-scheme-map,.original-documents-panel{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Every table scrolls inside its own wrapper; the page itself never widens. */
.table-wrap,
.stage-history-table,
.modern-table-wrap,
.activity-table-wrap,
.catalog-table-scroll,
.template-table-scroll,
.reviewer-score-table-wrap,
.proposal-ranking-table,
.funding-year-panel .table-wrap,
.rab-component .table-wrap,
.rab-detail-group .table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-inline:contain;
  box-sizing:border-box!important;
}
.table-wrap>table,
.stage-history-table>table,
.modern-table-wrap>table,
.activity-table-wrap>table,
.catalog-table-scroll>table,
.template-table-scroll>table,
.reviewer-score-table-wrap>table,
.proposal-ranking-table>table{
  max-width:none!important;
}

/* Wide admin tables remain readable but are contained by the wrapper. */
.stage-history-table table{min-width:980px!important}
.proposal-ranking-table table{min-width:1050px!important}
.reviewer-score-table-wrap table{min-width:760px!important}
.publication-table{min-width:900px!important}
.catalog-table-scroll table{min-width:720px!important}
.rab-table{min-width:900px!important}

/* Long values/links do not force the page width. */
td,th,.stage-reviewer-list,.stage-detail-lines,.stage-money-box,
.actions-cell,.publication-table .cost-cell{
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:820px){
  .bima-main{
    width:100%!important;
    max-width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
    overflow-x:hidden!important;
  }
  .content{width:100%!important;max-width:100%!important;min-width:0!important}
  .card,.modern-card{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Trend summary: no more four narrow vertical cards on phones. */
  body .trend-summary-chips.modern-trend-chips{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body .trend-summary-chips.modern-trend-chips article{
    min-width:0!important;
    padding:13px!important;
    border-radius:14px!important;
  }
  body .trend-summary-chips.modern-trend-chips strong{font-size:23px!important}
  body .trend-summary-chips.modern-trend-chips span{font-size:10px!important}
  body .trend-summary-chips.modern-trend-chips small{font-size:11px!important;line-height:1.45!important}
  .modern-trend-card .card-head{flex-direction:column!important;gap:10px!important}
  .modern-trend-card .card-head h2{font-size:22px!important}
  .modern-trend-chart-shell{padding:12px!important;border-radius:16px!important;overflow:hidden!important}
  .trend-chart.modern-trend-chart{height:180px!important}

  /* Admin stage KPI cards stay compact and readable. */
  .stage-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .stage-kpi{min-width:0!important;padding:11px!important}
  .chair-stage-history-head{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px!important;
    gap:10px!important;
  }
  .chair-stage-history-head p{font-size:11px!important;line-height:1.5!important}
  .activity-year-chip{align-self:flex-start!important}

  /* Filter controls must not create horizontal layout width. */
  .filter-bar,.year-filter{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .filter-bar{grid-template-columns:1fr!important}
  .year-filter{margin-left:0!important}
  .filter-bar input,.filter-bar select,.filter-bar .btn,
  .year-filter input{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Current-flow tabs scroll horizontally instead of stretching the page. */
  .current-flow-tabs,.tabbar{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Tables are intentionally wider than viewport, but only the table area scrolls. */
  .stage-history-table table{min-width:900px!important}
  .proposal-ranking-table table{min-width:980px!important}
  .reviewer-score-table-wrap table{min-width:700px!important}
  .publication-table{min-width:820px!important}
  .rab-table{min-width:820px!important}
}

@media(max-width:480px){
  .bima-main{padding-left:8px!important;padding-right:8px!important}
  body .trend-summary-chips.modern-trend-chips{
    grid-template-columns:1fr!important;
  }
  body .trend-summary-chips.modern-trend-chips article{
    min-height:0!important;
  }
  .stage-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .stage-kpi strong{font-size:18px!important}
  .modern-trend-chart-shell{padding:8px!important}
  .trend-chart.modern-trend-chart{height:160px!important}
}

/* =========================================================
   SIRI V18.40 — Mobile cards for RAB / Pelaksanaan / Laporan Akhir
   Tabel tiga tahap utama tidak lagi memampatkan teks menjadi vertikal.
   Pada HP setiap baris berubah menjadi kartu penuh.
   ========================================================= */
@media (max-width: 760px) {
  .chair-rab-revision-board,
  .chair-execution-board,
  .final-report-list-board,
  .correction-list-board {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .chair-rab-revision-head,
  .chair-execution-head,
  .correction-list-heading,
  .section-heading-inline {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Wrapper tidak boleh lagi menerima min-width desktop. */
  .rab-revision-table,
  .execution-monitor-table,
  .final-report-history-table,
  .correction-master-table,
  .activity-master-table {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }

  .rab-revision-table table,
  .execution-monitor-table table,
  .final-report-history-table table,
  .correction-master-table table,
  .activity-master-table table {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    background:transparent!important;
  }

  .rab-revision-table thead,
  .execution-monitor-table thead,
  .final-report-history-table thead,
  .correction-master-table thead,
  .activity-master-table thead {
    display:none!important;
  }

  .rab-revision-table tbody,
  .execution-monitor-table tbody,
  .final-report-history-table tbody,
  .correction-master-table tbody,
  .activity-master-table tbody {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  .rab-revision-table tr,
  .execution-monitor-table tr,
  .final-report-history-table tr,
  .correction-master-table tr,
  .activity-master-table tr {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    padding:4px 0!important;
    border:1px solid #d9ebe7!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(8,82,79,.06)!important;
    overflow:hidden!important;
  }

  .rab-revision-table td,
  .execution-monitor-table td,
  .final-report-history-table td,
  .correction-master-table td,
  .activity-master-table td {
    display:grid!important;
    grid-template-columns:minmax(105px,34%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:11px 13px!important;
    border:0!important;
    border-bottom:1px solid #eef5f3!important;
    box-sizing:border-box!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  .rab-revision-table td:last-child,
  .execution-monitor-table td:last-child,
  .final-report-history-table td:last-child,
  .correction-master-table td:last-child,
  .activity-master-table td:last-child {border-bottom:0!important}

  /* Label sisi kiri setiap field. */
  .rab-revision-table td::before,
  .execution-monitor-table td::before,
  .final-report-history-table td::before,
  .correction-master-table td::before,
  .activity-master-table td::before {
    color:#5d7c79!important;
    font-size:9px!important;
    line-height:1.35!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    white-space:normal!important;
  }

  /* Perbaikan RAB Ketua */
  .rab-revision-table td:nth-child(1)::before{content:"No"}
  .rab-revision-table td:nth-child(2)::before{content:"Ketua / Usulan"}
  .rab-revision-table td:nth-child(3)::before{content:"Skema"}
  .rab-revision-table td:nth-child(4)::before{content:"RAB vs Dana"}
  .rab-revision-table td:nth-child(5)::before{content:"Status Perbaikan"}
  .rab-revision-table td:nth-child(6)::before{content:"Aksi"}

  /* Pelaksanaan Ketua */
  .execution-monitor-table td:nth-child(1)::before{content:"No"}
  .execution-monitor-table td:nth-child(2)::before{content:"Ketua / Usulan"}
  .execution-monitor-table td:nth-child(3)::before{content:"Skema"}
  .execution-monitor-table td:nth-child(4)::before{content:"Capaian Harian"}
  .execution-monitor-table td:nth-child(5)::before{content:"Anggaran"}
  .execution-monitor-table td:nth-child(6)::before{content:"Pembaruan"}
  .execution-monitor-table td:nth-child(7)::before{content:"Status"}
  .execution-monitor-table td:nth-child(8)::before{content:"Aksi"}

  /* Laporan Akhir Ketua: 8 kolom. */
  .final-report-history-table td:nth-child(1)::before{content:"No"}
  .final-report-history-table td:nth-child(2)::before{content:"Ketua Peneliti"}
  .final-report-history-table td:nth-child(3)::before{content:"Skema"}
  .final-report-history-table td:nth-child(4)::before{content:"Judul"}
  .final-report-history-table td:nth-child(5)::before{content:"Tahun"}
  .final-report-history-table td:nth-child(6)::before{content:"Catatan Harian"}
  .final-report-history-table td:nth-child(7)::before{content:"Status"}
  .final-report-history-table td:nth-child(8)::before{content:"Aksi"}

  /* Perbaikan RAB dosen: 8 kolom. */
  .correction-master-table:not(.final-report-history-table) td:nth-child(1)::before{content:"No"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(2)::before{content:"Skema"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(3)::before{content:"Judul"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(4)::before{content:"Tahun"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(5)::before{content:"Pendanaan"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(6)::before{content:"Dokumen"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(7)::before{content:"Status"}
  .correction-master-table:not(.final-report-history-table) td:nth-child(8)::before{content:"Aksi"}

  /* Catatan Harian/Pelaksanaan dosen: 7 kolom. */
  .activity-master-table td:nth-child(1)::before{content:"No"}
  .activity-master-table td:nth-child(2)::before{content:"Skema"}
  .activity-master-table td:nth-child(3)::before{content:"Tahun"}
  .activity-master-table td:nth-child(4)::before{content:"Judul"}
  .activity-master-table td:nth-child(5)::before{content:"Keterangan"}
  .activity-master-table td:nth-child(6)::before{content:"Status"}
  .activity-master-table td:nth-child(7)::before{content:"Aksi"}

  /* Komponen internal jangan lagi memaksakan lebar desktop. */
  .rab-revision-money,
  .rab-revision-progress,
  .rab-revision-actions,
  .execution-capaian,
  .execution-money,
  .execution-actions,
  .correction-funding-card,
  .final-report-monitor-actions,
  .final-report-researcher,
  .final-report-activity-summary {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }

  .rab-revision-money span,
  .execution-money span {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .rab-revision-money b,
  .execution-money b {white-space:normal!important;text-align:right!important}

  .rab-revision-actions,
  .execution-actions,
  .final-report-monitor-actions {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .rab-revision-actions .btn,
  .execution-actions .btn,
  .execution-actions form,
  .execution-actions button,
  .final-report-monitor-actions .btn,
  .final-report-monitor-actions form,
  .final-report-monitor-actions button {
    width:100%!important;
    max-width:100%!important;
  }

  .rank-badge{margin:0!important}
  .correction-icon-cell{display:grid!important}
  .correction-square-btn{width:100%!important;min-height:40px!important;border-radius:9px!important}

  .final-report-monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width: 420px) {
  .rab-revision-table td,
  .execution-monitor-table td,
  .final-report-history-table td,
  .correction-master-table td,
  .activity-master-table td {
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .rab-revision-table td::before,
  .execution-monitor-table td::before,
  .final-report-history-table td::before,
  .correction-master-table td::before,
  .activity-master-table td::before {
    padding-bottom:2px!important;
    border-bottom:1px dashed #e5efed!important;
  }
  .final-report-monitor-metrics{grid-template-columns:1fr!important}
}

/* =========================================================
   SIRI V18.41 - Global responsive table pagination
   Desktop: 15 rows/page | Mobile <=760px: 10 rows/page
   ========================================================= */
.siri-page-hidden{display:none!important}
table tr.siri-page-hidden,
.table-wrap table tr.siri-page-hidden{display:none!important}

.siri-table-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  max-width:100%;
  margin:12px 0 4px;
  padding:11px 12px;
  border:1px solid #d7ebe8;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#f7fbfa 100%);
  box-shadow:0 7px 20px rgba(10,82,79,.05);
  box-sizing:border-box;
  overflow:hidden;
}
.siri-pagination-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 8px;
  min-width:0;
  color:#55716f;
  font-size:12px;
  line-height:1.35;
}
.siri-pagination-summary strong{color:#174d49;font-size:12px}
.siri-pagination-summary span{white-space:nowrap}
.siri-pagination-summary em{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#eaf7f5;
  color:#08756f;
  font-style:normal;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
}
.siri-pagination-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
  flex-wrap:nowrap;
}
.siri-page-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  margin:0;
  padding:0 9px;
  border:1px solid #cfe4e1;
  border-radius:10px;
  background:#fff;
  color:#245653;
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(14,82,79,.04);
}
.siri-page-btn:hover:not(:disabled){
  border-color:#1aa99f;
  color:#007772;
  background:#edf9f7;
}
.siri-page-btn.is-active{
  border-color:#007772;
  background:linear-gradient(135deg,#0e8d85,#007772);
  color:#fff;
  box-shadow:0 6px 14px rgba(0,119,114,.18);
}
.siri-page-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
.siri-page-dots{display:inline-flex;align-items:center;justify-content:center;min-width:18px;color:#78908e;font-weight:800}

/* Pagination tidak boleh membuat wrapper/table card mobile kembali melebar. */
.table-wrap + .siri-table-pagination,
.mobile-table-shell + .siri-table-pagination{
  max-width:100%!important;
  min-width:0!important;
}

@media (max-width:760px){
  .siri-table-pagination{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    padding:10px;
    margin-top:10px;
  }
  .siri-pagination-summary{
    justify-content:center;
    text-align:center;
    font-size:11px;
  }
  .siri-pagination-controls{
    justify-content:center;
    width:100%;
    gap:4px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
  }
  .siri-page-btn{
    min-width:38px;
    height:38px;
    flex:0 0 auto;
    border-radius:10px;
  }
  .siri-page-dots{flex:0 0 auto}
}

/* =========================================================
   SIRI V18.42 - Button + table action layout hardening
   Mencegah label tombol pecah per huruf / vertikal ketika tabel padat.
   ========================================================= */

/* Tombol SIRI tidak boleh memecah teks per huruf. */
.btn,
button.btn,
a.btn,
.row-actions .btn,
.inline-form .btn,
.table-wrap .btn,
.modern-table-wrap .btn{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  line-height:1.2!important;
}

/* Aksi tabel mempertahankan ukuran natural. Bila ruang tidak cukup,
   tabel yang bergeser horizontal, bukan tulisan tombol yang rusak. */
.table-wrap td .btn,
.modern-table-wrap td .btn,
.table-wrap td button.btn,
.modern-table-wrap td button.btn{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:max-content!important;
}

.table-wrap .row-actions,
.modern-table-wrap .row-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
}

/* Tabel daftar usulan memiliki 11 kolom; beri ruang yang cukup pada desktop. */
.proposal-ranking-table{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
}
.proposal-ranking-table>table,
.proposal-ranking-table table{
  width:100%!important;
  min-width:1220px!important;
  table-layout:auto!important;
}
.proposal-ranking-table th:nth-last-child(2),
.proposal-ranking-table td:nth-last-child(2){
  min-width:132px!important;
  width:132px!important;
}
.proposal-ranking-table th:last-child,
.proposal-ranking-table td:last-child{
  min-width:96px!important;
  width:96px!important;
}
.proposal-ranking-table td:nth-last-child(2) .btn{
  min-width:112px!important;
}
.proposal-ranking-table td:last-child .btn{
  min-width:58px!important;
}

/* Kolom tindakan pada tabel lain juga tidak dipaksa terlalu sempit. */
.table-wrap th:last-child,
.table-wrap td:last-child,
.modern-table-wrap th:last-child,
.modern-table-wrap td:last-child{
  min-width:86px;
}

/* Label badge/status tetap aman dan tidak memaksa kolom tombol menyempit. */
.table-wrap .badge,
.modern-table-wrap .badge,
.table-wrap .status-badge,
.modern-table-wrap .status-badge{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Tablet/HP: tabel desktop boleh scroll. Tabel yang memang berubah menjadi card
   pada V18.40 tetap memakai tombol full-width. */
@media(max-width:760px){
  .table-wrap:not(.mobile-card-table-wrap) .row-actions,
  .modern-table-wrap .row-actions{
    width:max-content!important;
    min-width:max-content!important;
  }

  .rab-revision-actions .btn,
  .execution-actions .btn,
  .final-report-monitor-actions .btn,
  .activity-row-actions .btn,
  .correction-master-table .btn,
  .activity-master-table .btn,
  .final-report-history-table .btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }
}

/* =========================================================
   SIRI V18.43 - Global table text layout hardening
   Mencegah teks sel/header terpotong per huruf pada semua tabel.
   Prinsip: kolom diberi lebar baca minimum, tabel yang padat digeser
   horizontal di wrapper; kata normal tidak dipecah sembarang.
   ========================================================= */

/* Jangan pernah pecah kata normal per karakter pada tabel. */
.table-wrap th,
.table-wrap td,
.modern-table-wrap th,
.modern-table-wrap td,
.stage-history-table th,
.stage-history-table td,
.proposal-ranking-table th,
.proposal-ranking-table td,
.reviewer-score-table-wrap th,
.reviewer-score-table-wrap td,
.publication-table th,
.publication-table td,
.catalog-table-scroll th,
.catalog-table-scroll td,
.template-table-scroll th,
.template-table-scroll td,
.rab-table th,
.rab-table td,
.funding-year-panel th,
.funding-year-panel td {
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  white-space:normal!important;
  vertical-align:top;
}

/* Header harus terbaca sebagai kata/frasa, bukan huruf vertikal. */
.table-wrap th,
.modern-table-wrap th,
.stage-history-table th,
.proposal-ranking-table th,
.reviewer-score-table-wrap th,
.publication-table th,
.catalog-table-scroll th,
.template-table-scroll th,
.rab-table th {
  min-width:84px;
  line-height:1.25!important;
}

/* Kolom-kolom isi umum diberi ruang baca minimum. */
.table-wrap td,
.modern-table-wrap td,
.stage-history-table td,
.reviewer-score-table-wrap td,
.publication-table td,
.catalog-table-scroll td,
.template-table-scroll td,
.rab-table td {
  min-width:76px;
}

/* Daftar usulan / ranking proposal: lebar spesifik tiap kolom. */
.proposal-ranking-table table{
  min-width:1420px!important;
}
.proposal-ranking-table th:nth-child(1),
.proposal-ranking-table td:nth-child(1){min-width:52px!important;width:52px!important}
.proposal-ranking-table th:nth-child(2),
.proposal-ranking-table td:nth-child(2){min-width:130px!important;width:130px!important}
.proposal-ranking-table th:nth-child(3),
.proposal-ranking-table td:nth-child(3){min-width:360px!important;width:360px!important}
.proposal-ranking-table th:nth-child(4),
.proposal-ranking-table td:nth-child(4){min-width:135px!important;width:135px!important}
.proposal-ranking-table th:nth-child(5),
.proposal-ranking-table td:nth-child(5){min-width:72px!important;width:72px!important;text-align:center}
.proposal-ranking-table th:nth-child(6),
.proposal-ranking-table td:nth-child(6){min-width:120px!important;width:120px!important}
.proposal-ranking-table th:nth-child(7),
.proposal-ranking-table td:nth-child(7),
.proposal-ranking-table th:nth-child(8),
.proposal-ranking-table td:nth-child(8){min-width:120px!important;width:120px!important}
.proposal-ranking-table th:nth-child(9),
.proposal-ranking-table td:nth-child(9){min-width:110px!important;width:110px!important}
.proposal-ranking-table th:nth-child(10),
.proposal-ranking-table td:nth-child(10){min-width:140px!important;width:140px!important}
.proposal-ranking-table th:nth-child(11),
.proposal-ranking-table td:nth-child(11){min-width:90px!important;width:90px!important}

/* Nilai/nominal/status tidak boleh terbelah di tengah. */
.proposal-ranking-table td:nth-child(5),
.proposal-ranking-table td:nth-child(7),
.proposal-ranking-table td:nth-child(8),
.proposal-ranking-table td:nth-child(9),
.table-wrap .money,
.table-wrap .currency,
.table-wrap .badge,
.table-wrap .status-badge,
.modern-table-wrap .money,
.modern-table-wrap .currency,
.modern-table-wrap .badge,
.modern-table-wrap .status-badge {
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* URL panjang tetap dapat dipatahkan tanpa merusak kata biasa. */
.table-wrap a[href^="http"],
.modern-table-wrap a[href^="http"],
.stage-history-table a[href^="http"]{
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Semua wrapper tabel adalah satu-satunya area yang boleh scroll horizontal. */
.table-wrap,
.modern-table-wrap,
.stage-history-table,
.proposal-ranking-table,
.reviewer-score-table-wrap,
.catalog-table-scroll,
.template-table-scroll,
.rab-component .table-wrap,
.rab-detail-group .table-wrap,
.funding-year-panel .table-wrap{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch!important;
}

/* Desktop/tablet: jangan memampatkan tabel padat ke lebar viewport. */
@media (min-width:761px){
  .table-wrap table,
  .modern-table-wrap table,
  .stage-history-table table,
  .reviewer-score-table-wrap table,
  .catalog-table-scroll table,
  .template-table-scroll table,
  .publication-table,
  .rab-table{
    table-layout:auto!important;
  }
}

/* Mobile: tabel yang belum berubah menjadi card tetap scroll horizontal;
   jangan mengecilkan kolom sampai huruf tersusun vertikal. */
@media (max-width:760px){
  .table-wrap:not(.rab-revision-table):not(.execution-monitor-table):not(.final-report-history-table):not(.correction-master-table):not(.activity-master-table) table,
  .modern-table-wrap table,
  .stage-history-table table,
  .proposal-ranking-table table,
  .reviewer-score-table-wrap table,
  .publication-table,
  .catalog-table-scroll table,
  .template-table-scroll table,
  .rab-table{
    table-layout:auto!important;
    width:max-content!important;
    max-width:none!important;
  }

  .proposal-ranking-table table{min-width:1360px!important}

  /* Card tables V18.40 harus tetap 100% dan tidak mewarisi min-width global. */
  .rab-revision-table td,
  .execution-monitor-table td,
  .final-report-history-table td,
  .correction-master-table td,
  .activity-master-table td,
  .rab-revision-table th,
  .execution-monitor-table th,
  .final-report-history-table th,
  .correction-master-table th,
  .activity-master-table th{
    min-width:0!important;
    width:auto!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
}


/* SIRI V18.44 - Reviewer source document cards: compact, aligned, no overflow */
.reviewer-material-card,
.original-documents-panel,
.original-documents-panel *{box-sizing:border-box}
.reviewer-material-card{min-width:0;max-width:100%;overflow:hidden}
.original-documents-panel{width:100%;max-width:100%;min-width:0;overflow:hidden;padding:18px}
.original-documents-header{min-width:0;max-width:100%}
.original-documents-header>div{max-width:calc(100% - 110px)}
.original-document-list{
  width:100%;
  max-width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  overflow:hidden;
}
.original-document-card{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:15px;
}
.original-document-card__top{width:100%;min-width:0;gap:8px}
.original-document-card__top>div{min-width:0;max-width:100%}
.original-document-version,
.original-document-availability,
.document-type-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.original-document-name{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:44px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.original-document-meta{width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.original-document-meta>div,.original-document-meta dd{min-width:0;max-width:100%}
.original-document-actions{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:auto;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:8px;
  align-items:stretch!important;
}
.original-document-actions .btn,
.original-document-actions .btn.primary{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:38px;
  padding:8px 10px!important;
  justify-content:center;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:12px;
}
@media(max-width:1120px){
  .original-document-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .original-documents-panel{padding:14px 12px}
  .original-documents-header>div{max-width:100%}
  .original-document-list{grid-template-columns:minmax(0,1fr);gap:10px}
  .original-document-card{padding:13px}
  .original-document-card__top{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .original-document-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .original-document-actions{grid-template-columns:1fr 1fr!important;flex-direction:initial!important}
  .original-document-actions .btn{width:100%!important}
}
@media(max-width:420px){
  .original-document-meta{grid-template-columns:1fr}
  .original-document-actions{grid-template-columns:1fr!important}
  .original-document-name{min-height:0;-webkit-line-clamp:3}
}
