:root{--bg:#f4f7fa;--ink:#1d3449;--muted:#8292a3;--line:#e3eaf1;--teal:#087e76;--dark:#096b65;--tint:#e9f6f3}*{box-sizing:border-box}body{font-family:Inter,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink);margin:0;font-size:13px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}a:focus-visible,input:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #80d4c5;outline-offset:2px}.btn{border-radius:8px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:750;min-height:36px;border:1px solid transparent;background:white;text-decoration:none;white-space:nowrap}.btn.primary{color:white;background:var(--teal)}.btn.primary:hover{background:var(--dark);color:#fff}.btn.outline{color:#487083;border-color:#d8e2e9;background:#fff}.btn.outline:hover{color:var(--dark);border-color:#a5cfca;background:#f8fdfb}.btn.subtle{color:#6e8296;background:#f1f5f8}.btn.danger{color:#b54043;background:#fff2f1;border-color:#f2cbcb}.btn.danger:hover{background:#fbe4e2}.btn.full{width:100%;margin-top:7px}.inline-form{display:inline-flex;margin:0}.admin-top{height:74px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:10px}.admin-brand{display:flex;align-items:center;gap:11px}.admin-mark,.auth-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:800;background:linear-gradient(135deg,#15978c,#086e70);color:white}.admin-brand span:last-child{display:flex;flex-direction:column;gap:0}.admin-brand strong{font-size:14px;color:#1a3146}.admin-brand small{font-size:10px;color:#96a4b1}.admin-top-actions{display:flex;align-items:center;gap:8px}.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 74px)}.admin-sidebar{background:white;border-right:1px solid var(--line);padding:28px 13px 22px;position:sticky;top:74px;height:calc(100vh - 74px);overflow-y:auto}.admin-eyebrow{color:#8fa0af;font-size:10px;letter-spacing:1.45px;font-weight:850;text-transform:uppercase;margin-bottom:13px}.admin-sidebar .admin-eyebrow{padding-left:11px}.criterion-new{display:block;border:1px dashed #a7d8cd;border-radius:9px;color:#087d72;background:#f1faf7;padding:11px 12px;font-weight:750;margin-bottom:17px;font-size:12px}.admin-nav-item{display:flex;gap:10px;align-items:flex-start;border-radius:9px;padding:11px 10px;color:#738296;font-size:12px;line-height:1.4;margin:4px 0}.admin-nav-item:hover{background:#f5f9f8}.admin-nav-item.selected{color:#0a7d75;background:#e9f6f3;font-weight:740}.admin-nav-index{width:27px;height:27px;flex:none;border-radius:7px;background:#f0f3f6;color:#8795a4;display:grid;place-items:center;font-size:10px;font-weight:800}.admin-nav-item.selected .admin-nav-index{background:#07847b;color:white}.admin-nav-item span:last-child{flex:1}.admin-nav-item small{display:block;font-size:10px;color:#b48135;font-weight:550;margin-top:4px}.admin-help{margin-top:22px;background:#f4f9f8;color:#7c9696;border:1px solid #e3eeeb;border-radius:9px;padding:12px;font-size:11px}.admin-main{min-width:0;width:100%;max-width:1220px;margin:0 auto;padding:32px 36px 65px}.admin-pagehead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.admin-pagehead h1{font-size:26px;letter-spacing:-.5px;line-height:1.2;margin:0 0 7px}.admin-pagehead p{margin:0;color:#8fa0b0;font-size:12px}.admin-pagehead .admin-eyebrow{margin-bottom:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.summary-grid div{background:white;border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:3px}.summary-grid strong{font-size:23px;color:#1b3c50}.summary-grid span{font-size:11px;color:#98a5b2}.panel{border-radius:12px;background:#fff;border:1px solid var(--line);margin:14px 0 18px;overflow:hidden;box-shadow:0 2px 14px #13304407}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:23px 23px 20px}.panel-header h2{font-size:18px;line-height:1.35;margin:0 0 7px;letter-spacing:-.3px}.panel-header p{font-size:12px;color:#8998a9;margin:0 0 8px;max-width:730px}.panel-heading{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading.inset{border-top:1px solid #ecf0f3;border-bottom:1px solid #ecf0f3;background:#fafcfd}.panel-heading h2,.panel-heading h3{margin:0;font-size:15px}.overline{font-size:10px;color:#0c8d80;letter-spacing:1.4px;font-weight:800;margin-bottom:6px}.muted-small{font-size:11px;color:#a0acb9;font-weight:500}.status{font-size:10px;font-weight:700;border-radius:30px;padding:4px 9px;display:inline-block}.status.public{background:#eaf8f1;color:#188469}.status.private{background:#fff3e5;color:#ad7b32}.create-box{position:relative}.create-box>summary{list-style:none;cursor:pointer}.create-box>summary::-webkit-details-marker,.edit-file>summary::-webkit-details-marker{display:none}.create-box[open]{width:100%}.create-box[open] .edit-form{background:#f9fbfc;border-radius:9px;border:1px solid #e5ecf0;padding:16px;margin-top:12px}.panel-heading:has(.create-box[open]){flex-wrap:wrap}.edit-form{padding:19px 23px 23px;display:flex;flex-direction:column;gap:15px}.edit-form.separator{border-top:1px solid #e9eef2;background:#fafdfe}.edit-form label,.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:720;color:#52657b}.edit-form input:not([type=checkbox]),.edit-form textarea,.edit-form select,.auth-card input{border:1px solid #d9e3ec;background:white;border-radius:8px;padding:10px 11px;min-height:41px;width:100%;outline:none;color:#243d54}.edit-form input:focus,.edit-form textarea:focus,.edit-form select:focus,.auth-card input:focus{border-color:#5daf9d;box-shadow:0 0 0 3px #0a8e800f}.edit-form textarea{resize:vertical}.edit-form label.check{display:flex;flex-direction:row;align-items:center;gap:9px}.edit-form small{font-size:10px;color:#8295a5;font-weight:400}.field-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:14px}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.item-list{border-top:1px solid #edf1f5}.item-row{display:flex;align-items:center;padding:14px 22px;gap:13px;border-bottom:1px solid #edf1f5}.item-row:last-child{border-bottom:0}.item-row:hover{background:#f9fcfb}.item-row.row-active{background:#edf8f5}.item-symbol{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#edf5fb;color:#5682ab;font-size:15px}.item-name{flex:1;font-size:12px;color:#50677c;font-weight:660}.item-arrow{color:#9aaaba;font-size:21px}.empty-inline{padding:23px;color:#97a5b5;font-size:12px}.empty-panel{padding:30px;color:#8394a5}.file-admin-row{border-bottom:1px solid #e9eff3;padding:13px 22px}.file-admin-row:last-of-type{border-bottom:0}.file-admin-display{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.file-admin-display strong{font-size:12px;color:#40586c;font-weight:750}.file-symbol{font-size:17px;color:#078e7b;margin-right:10px}.small-type{display:inline-block;font-size:9px;color:#6e889b;background:#eaf1f6;border-radius:5px;padding:3px 7px;margin-left:9px;font-weight:700}.small-url{padding:6px 0 0 27px;font-size:11px;color:#a0afbc;word-break:break-all}.edit-file{min-width:68px}.edit-file>summary{list-style:none;cursor:pointer}.edit-file[open]{min-width:min(100%,600px)}.edit-file .edit-form{background:#f9fcfd;border:1px solid #eaf0f3;border-radius:9px;padding:12px;margin-top:10px}.file-admin-display:has(.edit-file[open]){flex-direction:column}.delete-area{padding:0 23px 20px}.edit-file .delete-area{padding:0 12px 10px}.admin-footnote{border:1px dashed #c9e5e0;background:#f0faf7;border-radius:10px;padding:15px 17px;color:#658983;font-size:11px;line-height:1.7}.alert{border-radius:9px;padding:11px 13px;font-size:12px;margin-bottom:14px}.alert.success{background:#e7f8f0;border:1px solid #c4ebd8;color:#216f53}.alert.error{background:#fff0ef;border:1px solid #f2c9c5;color:#ae443d}.alert.warn{background:#fff7e6;color:#936b29;border:1px solid #f2e2b9}.auth-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 0 0,#e5f6f2,transparent 40%),#f5f7fa}.auth-card{width:min(440px,100%);padding:34px;background:#fff;border:1px solid #e3eaf0;border-radius:17px;box-shadow:0 18px 55px #17324b0b}.auth-mark{margin:0 auto 15px;width:50px;height:50px}.auth-label{text-align:center;font-size:10px;letter-spacing:1.5px;font-weight:800;color:#149080}.auth-card h1{text-align:center;font-size:24px;letter-spacing:-.5px;color:#172e44;margin:11px 0 8px}.auth-card>p{text-align:center;color:#8a9aac;font-size:12px;line-height:1.7;margin:0 0 24px}.auth-card form{display:flex;flex-direction:column;gap:15px}.auth-bottom{text-align:center;border-top:1px solid #eaf0f4;padding-top:18px;margin-top:24px;font-size:12px;color:#669287}.auth-card .muted{color:#9aa8b6;text-align:left}.auth-card strong{color:#304b5d}
@media(max-width:980px){.admin-layout{grid-template-columns:212px minmax(0,1fr)}.admin-sidebar{padding:22px 9px}.admin-main{padding:27px 20px}.admin-top{padding:0 15px}}@media(max-width:690px){.admin-layout{display:block}.admin-sidebar{position:static;height:auto;padding:15px;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar nav{display:flex;gap:6px;overflow:auto;padding-bottom:3px}.admin-nav-item{min-width:170px;border:1px solid #ecf0f4}.admin-sidebar .admin-eyebrow{margin-bottom:6px}.admin-help{display:none}.criterion-new{display:inline-block;margin:0 0 9px}.admin-top{height:auto;min-height:68px;padding:10px;align-items:flex-start;flex-wrap:wrap}.admin-top-actions{flex-wrap:wrap;justify-content:flex-end}.admin-brand strong{font-size:12px}.admin-top-actions .btn{font-size:10px;padding:7px 9px}.admin-main{padding:22px 14px}.admin-pagehead{align-items:flex-start}.admin-pagehead h1{font-size:23px}.summary-grid{gap:6px}.summary-grid div{padding:11px}.summary-grid strong{font-size:19px}.summary-grid span{font-size:9px}.panel-header,.panel-heading{padding:17px 14px}.panel-header h2{font-size:15px}.panel-header .btn,.panel-heading .btn{font-size:10px;padding:7px 9px}.edit-form{padding:14px}.field-grid{grid-template-columns:1fr}.item-row{padding:12px 14px}.file-admin-row{padding:12px}.small-url{overflow-wrap:anywhere}}


/* Logo FEBI pada semua header admin dan halaman autentikasi. */
.admin-brand { min-width:0; }
.admin-brand > span:last-child { min-width:0; }
.admin-brand .admin-mark.admin-febi-logo {
  width:132px;
  height:58px;
  flex:0 0 132px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.admin-febi-logo img,
.auth-febi-logo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.auth-card .auth-mark.auth-febi-logo {
  width:160px;
  height:72px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin:0 auto 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
@media (max-width:690px) {
  .admin-brand .admin-mark.admin-febi-logo {
    width:90px;
    height:46px;
    flex-basis:90px;
  }
  .admin-brand { gap:8px; }
  .admin-top { align-items:center; }
  .admin-top-actions { width:100%; justify-content:flex-start; }
  .auth-card .auth-mark.auth-febi-logo { width:138px; height:62px; }
}
@media (max-width:390px) {
  .admin-brand .admin-mark.admin-febi-logo {
    width:76px;
    height:43px;
    flex-basis:76px;
  }
  .admin-brand strong {font-size:11px;}
}

/* Header FEBI v3.3: tagline panjang tidak menimpa tombol di layar kecil. */
.admin-brand{flex:1 1 auto;min-width:0;}
.admin-brand > span:last-child{min-width:0;overflow:hidden;}
.admin-brand strong,.admin-brand small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-top-actions{flex:0 1 auto;}
@media(max-width:690px){.admin-brand{flex:1 1 100%;}.admin-top-actions{flex:1 1 100%;}.admin-brand small{font-size:10px;}}


/* === FEBI v3.4: Perbaikan logo halaman login dan header administrator === */
.admin-brand {
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:13px!important;
}
.admin-brand .admin-mark,
.admin-brand .admin-mark.admin-febi-logo {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 136px!important;
  width:136px!important;
  min-width:136px!important;
  height:60px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.admin-brand .admin-mark img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.admin-brand > span:last-child {
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  justify-content:center!important;
}
.admin-brand strong,
.admin-brand small {
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
/* Logo pada halaman login harus mendapat area sendiri di atas subjudul. */
.auth-card .auth-mark,
.auth-card .auth-mark.auth-febi-logo {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:176px!important;
  height:96px!important;
  min-height:96px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  margin:0 auto 18px!important;
}
.auth-card .auth-mark img,
.auth-card .auth-mark.auth-febi-logo img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.auth-card .auth-label {
  display:block!important;
  position:relative!important;
  margin-top:4px!important;
  line-height:1.7!important;
  text-align:center!important;
  letter-spacing:1.1px!important;
}
@media (max-width:690px) {
  .admin-brand { gap:8px!important; }
  .admin-brand .admin-mark,
  .admin-brand .admin-mark.admin-febi-logo {
    flex:0 0 92px!important;
    width:92px!important;
    min-width:92px!important;
    height:48px!important;
  }
  .auth-card .auth-mark,
  .auth-card .auth-mark.auth-febi-logo {
    width:156px!important;
    height:88px!important;
    min-height:88px!important;
  }
}
@media (max-width:390px) {
  .admin-brand .admin-mark,
  .admin-brand .admin-mark.admin-febi-logo {
    flex:0 0 76px!important;
    width:76px!important;
    min-width:76px!important;
    height:43px!important;
  }
}
