:root{--brand:#0f766e;--brand-dark:#0b5d56;--brand-soft:#e9f7f5;--ink:#16202a;--muted:#667085;--line:#e6e9ee;--bg:#f5f7fa;--card:#fff;--danger:#b42318;--success:#067647;--shadow:0 8px 28px rgba(16,24,40,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:270px;position:fixed;inset:0 auto 0 0;background:#102a2a;color:#fff;padding:20px 14px;display:flex;flex-direction:column;z-index:1040;overflow:auto}.brand-block{display:flex;align-items:center;gap:12px;padding:4px 8px 18px}.brand-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#20b8a6,#0f766e);display:grid;place-items:center;font-size:21px;box-shadow:0 8px 20px rgba(15,118,110,.28)}.brand-block b{display:block;font-size:18px;letter-spacing:.3px}.brand-block span{display:block;color:#b8cfcc;font-size:11px;margin-top:2px}.role-pill{margin:0 6px 12px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:10px;color:#d6e6e4;font-size:12px}.nav-stack{display:flex;flex-direction:column;gap:3px}.nav-label{font-size:10px;letter-spacing:1.1px;color:#789c98;font-weight:800;padding:16px 12px 5px}.nav-stack a,.sidebar-bottom a{display:flex;align-items:center;gap:11px;color:#dbe8e7;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:600}.nav-stack a:hover,.nav-stack a:focus{background:rgba(255,255,255,.08);color:#fff}.nav-stack i{width:18px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.main-area{margin-left:270px;min-height:100vh;width:calc(100% - 270px);display:flex;flex-direction:column}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:1020}.topbar-title b{display:block;font-size:15px}.topbar-title span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.account-chip{margin-left:auto;display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:18px}.account-avatar{width:38px;height:38px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:18px}.account-chip b,.account-chip span{display:block}.account-chip span{font-size:11px;color:var(--muted)}.mobile-menu{display:none;border:0;background:transparent;font-size:24px;margin-right:10px}.content-area{padding:28px;flex:1}.app-footer{padding:16px 28px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.page-heading h2{font-size:25px;margin:4px 0 5px;font-weight:800}.page-heading p{margin:0;color:var(--muted);max-width:760px}.section-tag{font-size:10px;letter-spacing:1px;color:var(--brand);font-weight:800}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.panel-card,.filter-card,.tabs-card,.course-card,.notice-card,.summary-strip{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.filter-card{padding:18px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.panel-head b,.panel-head span{display:block}.panel-head b{font-size:15px}.panel-head span{color:var(--muted);font-size:12px;margin-top:2px}.panel-body{padding:20px}.btn-brand,.btn-primary-app{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.btn-brand:hover,.btn-primary-app:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.tabs-card{display:flex;gap:4px;padding:6px;margin-bottom:16px;overflow:auto;box-shadow:none}.tabs-card a{white-space:nowrap;text-decoration:none;color:#52606d;padding:10px 14px;border-radius:10px;font-weight:700}.tabs-card a.active,.tabs-card a:hover{background:var(--brand-soft);color:var(--brand)}.notice-card{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;margin-bottom:18px;background:#f6fbff}.notice-card.success{background:#f1faf6}.notice-card>i{font-size:22px;color:var(--brand)}.notice-card b,.notice-card span{display:block}.notice-card span{color:var(--muted);margin-top:3px;font-size:12px}.course-card{padding:18px;height:100%}.course-card-top{display:flex;justify-content:space-between;gap:15px}.course-card h4{font-size:17px;margin:9px 0 5px;font-weight:800}.course-card p{color:var(--muted);margin:0}.course-lecturer{font-size:12px;color:#475467;margin-top:10px}.semester-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:11px}.count-block{text-align:right;min-width:60px}.count-block b{display:block;font-size:28px;color:var(--brand)}.count-block span{font-size:11px;color:var(--muted)}.course-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.count-inline{font-size:12px;color:var(--muted);margin-top:12px}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;overflow:hidden}.summary-strip>div{padding:16px 18px;border-right:1px solid var(--line)}.summary-strip>div:last-child{border:0}.summary-strip span,.summary-strip b{display:block}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip b{margin-top:3px}.table-modern thead th,.table thead th{background:#f8fafc;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.35px;border-bottom:1px solid var(--line);padding:13px 14px;white-space:nowrap}.table td{padding:13px 14px;border-color:#edf0f3;vertical-align:middle}.table tbody tr:hover{background:#fbfcfd}.status-chip,.meeting-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eefbf5;color:#087443;font-size:11px;font-weight:800}.empty-prof{padding:42px 20px;text-align:center;color:var(--muted)}.empty-prof i{display:block;font-size:34px;color:#a6b1bb;margin-bottom:8px}.empty-prof b,.empty-prof span{display:block}.empty-prof b{color:#344054;font-size:15px}.empty-prof span{font-size:12px;margin-top:4px}.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px}.step>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef2f5;color:#667085;font-weight:800}.step.active>span{background:var(--brand);color:#fff}.step b,.step small{display:block}.step small{color:var(--muted);font-size:11px}.upload-zone{display:grid;grid-template-columns:56px 1fr;gap:15px;align-items:center;padding:22px;border:1.5px dashed #b9c7c5;border-radius:14px;background:#fbfefd}.upload-zone>i{width:52px;height:52px;border-radius:14px;background:#eaf8f4;color:#169c7f;display:grid;place-items:center;font-size:26px}.upload-zone label{font-weight:700}.upload-zone small{display:block;color:var(--muted);margin-top:6px}.meta-box{height:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.meta-box span,.meta-box b{display:block}.meta-box span{font-size:11px;color:var(--muted)}.meta-box b{margin-top:3px}.count-badge{padding:6px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand)!important;font-weight:800}.preview-table{max-height:430px;border:1px solid var(--line);border-radius:12px}.preview-table thead{position:sticky;top:0;z-index:2}.confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0 0;margin-top:14px;border-top:1px solid var(--line)}.confirm-bar b,.confirm-bar span{display:block}.confirm-bar span{font-size:12px;color:var(--muted)}.form-control,.form-select{border-color:#d8dee6;border-radius:10px;padding:.68rem .8rem}.form-control:focus,.form-select:focus{border-color:#68b8ae;box-shadow:0 0 0 .2rem rgba(15,118,110,.12)}label,.form-label{font-weight:700;font-size:12px;color:#344054;margin-bottom:6px}.form-panel,.card.panel{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.card-header-clean{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-header-clean b,.card-header-clean small{display:block}.card-header-clean small{color:var(--muted);margin-top:2px}.data-count{background:#f2f4f7;padding:6px 9px;border-radius:999px;font-size:11px;color:#475467}.form-actions{padding-top:6px}.btn-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff}.btn-icon.danger{color:var(--danger)}.btn-soft,.btn-soft-primary{background:#f2f4f7;border:1px solid #eaecf0;color:#475467}.btn-soft-primary{background:var(--brand-soft);color:var(--brand);border-color:#cfece8}.pagination{margin:18px}.page-link{color:var(--brand)}.page-item.active .page-link{background:var(--brand);border-color:var(--brand)}
/* login */.auth-page{min-height:100vh;background:linear-gradient(135deg,#edf8f6,#f8fafc 48%,#eef3f7);display:grid;place-items:center;padding:28px}.auth-card{width:min(1040px,100%);min-height:620px;background:#fff;border:1px solid rgba(15,118,110,.1);border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(16,24,40,.14);display:grid;grid-template-columns:1.05fr .95fr}.auth-hero{background:linear-gradient(145deg,#103a37,#0f766e 70%,#129685);padding:42px;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.06);right:-100px;bottom:-100px}.auth-badge{align-self:flex-start;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px}.auth-hero-copy{margin:auto 0;max-width:440px;position:relative;z-index:1}.auth-logo{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:30px;margin-bottom:18px}.auth-hero h1{font-size:34px;font-weight:900;letter-spacing:.5px}.auth-hero p{color:#d9ece9;line-height:1.65}.auth-feature{display:flex;gap:9px;margin-top:12px;color:#e7f5f3}.auth-feature i{color:#75e0ca}.auth-form-side{display:grid;place-items:center;padding:48px}.auth-form-box{width:100%;max-width:390px}.auth-eyebrow{font-size:10px;font-weight:800;color:var(--brand);letter-spacing:1.2px}.auth-form-box h2{font-size:27px;font-weight:800;margin:7px 0}.auth-form-box>p{color:var(--muted);margin-bottom:26px}.field{margin-bottom:16px}.field-control{position:relative}.field-control i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#98a2b3}.field-control input{padding-left:40px}.captcha-panel{display:grid;grid-template-columns:1fr 120px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin:18px 0}.captcha-panel span,.captcha-panel b{display:block}.captcha-panel span{font-size:10px;color:var(--muted)}.captcha-panel b{font-size:18px}.auth-note{display:flex;gap:8px;margin-top:18px;color:var(--muted);font-size:11px}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.main-area{margin-left:0;width:100%}.mobile-menu{display:block}.content-area{padding:20px}.auth-card{grid-template-columns:1fr}.auth-hero{display:none}.auth-form-side{padding:34px 22px}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid var(--line)}.stepper{grid-template-columns:1fr}.page-heading{flex-direction:column}.heading-actions{width:100%}.course-card-top{flex-direction:column}.count-block{text-align:left}.topbar{padding:0 16px}.topbar-title span{display:none}.account-chip{padding-left:10px}.account-chip>div:last-child{display:none}}@media(max-width:576px){.content-area{padding:14px}.tabs-card{border-radius:12px}.page-heading h2{font-size:21px}.course-actions .btn{flex:1}.confirm-bar{flex-direction:column;align-items:stretch}.captcha-panel{grid-template-columns:1fr}.auth-page{padding:0}.auth-card{min-height:100vh;border-radius:0}.auth-form-side{padding:28px 18px}}
.form-section-title{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--brand);padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:2px}.app-tabs{border:0;gap:5px}.app-tabs .nav-link{border:1px solid var(--line);border-radius:10px;color:#475467;font-weight:700}.app-tabs .nav-link.active{background:var(--brand-soft);color:var(--brand);border-color:#cce9e5}
/* kompatibilitas halaman lama agar seluruh backend tetap konsisten */
.pagehead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.pagehead h3{font-size:25px;margin:4px 0 5px;font-weight:800}.pagehead p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1px;color:var(--brand);font-weight:800}.card.panel{background:#fff}.card.panel .card-body{padding:20px}.form-hint{font-size:11px;color:var(--muted);margin-top:5px}.empty-state{padding:35px;text-align:center;color:var(--muted)}.badge-soft{background:var(--brand-soft);color:var(--brand);border:1px solid #cce9e5}.btn-soft-primary{background:var(--brand-soft);color:var(--brand);border:1px solid #cce9e5}.btn-soft{background:#f2f4f7;color:#475467;border:1px solid #eaecf0}

/* v10 - status/diagnostic cards */
.status-panel{background:#fff;border:1px solid #e7ecea;border-radius:16px;padding:18px 20px;min-height:128px;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.status-panel span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#718078;font-weight:700;margin-bottom:8px}
.status-panel b{display:block;font-size:1.15rem;color:#18352c;margin-bottom:5px}
.status-panel small{display:block;color:#718078;line-height:1.45}
.status-panel.ok{border-left:4px solid #16a34a}.status-panel.warn{border-left:4px solid #f59e0b}
.notice-card.warning{border-left-color:#f59e0b;background:#fffbeb}
.form-hint{font-size:.78rem;color:#718078;margin-top:6px}
/* v11 - pusat mata kuliah profesional */
.monitor-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;background:#f2f4f7;border:1px solid #e4e7ec;color:#475467;font-weight:700}.class-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-weight:800;font-size:11px}.professional-course-card{border:1px solid #e5ebe9;background:linear-gradient(180deg,#fff,#fcfefd);box-shadow:0 10px 30px rgba(15,23,42,.06);border-radius:18px}.course-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.course-mini-stats>div{padding:10px 12px;border-radius:11px;background:#f8fafb;border:1px solid #edf0f2}.course-mini-stats span,.course-mini-stats b{display:block}.course-mini-stats span{font-size:10px;color:#7a8790;text-transform:uppercase;letter-spacing:.04em}.course-mini-stats b{margin-top:3px;font-size:13px}.btn-import-excel{background:#15803d!important;border-color:#15803d!important;color:#fff!important;font-weight:800;box-shadow:0 5px 14px rgba(21,128,61,.18)}.btn-import-excel:hover{background:#116b33!important;border-color:#116b33!important;color:#fff!important}.primary-actions .btn{min-height:40px;display:inline-flex;align-items:center;gap:6px}.import-context-card{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px}.import-context-card>div{padding:14px 16px;background:#fff}.import-context-card span,.import-context-card b{display:block}.import-context-card span{font-size:10px;color:#7a8790;text-transform:uppercase;letter-spacing:.05em}.import-context-card b{margin-top:4px}.professional-upload{background:linear-gradient(180deg,#fbfffd,#f5fbf8);border-color:#9bcbb9}.compact-filter{padding:14px 16px}.academic-tabs{margin-bottom:14px}@media(max-width:767px){.import-context-card{grid-template-columns:1fr 1fr}.course-mini-stats{grid-template-columns:1fr}.primary-actions .btn{flex:1 1 45%}}

/* v12 - ruang kerja kelas profesional */
.class-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:10px;background:#fff;border:1px solid #e7ecea;border-radius:16px;box-shadow:0 8px 24px rgba(15,118,110,.05)}
.class-tabs a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:11px;text-decoration:none;color:#56615e;font-weight:700}
.class-tabs a:hover,.class-tabs a.active{background:#eaf8f3;color:#0f766e}
.sticky-panel{position:sticky;top:92px}
.class-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.class-summary-grid>div{padding:14px;border-radius:12px;background:#f7faf9;border:1px solid #edf1ef}.class-summary-grid span{display:block;font-size:12px;color:#7b8582}.class-summary-grid b{display:block;margin-top:4px;color:#1f2d29}
.import-always-visible{border:1px solid #bde8d8;background:linear-gradient(180deg,#fff,#fbfffd)}
.upload-box-static{padding:18px;border:1.5px dashed #8fd4bc;border-radius:14px;background:#f4fbf8}.upload-box-static>i{display:block;font-size:34px;color:#0f996c;margin-bottom:8px}.upload-box-static small{display:block;color:#6c7874;margin-top:8px;line-height:1.5}
.confirm-import-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:16px;background:#f1faf6;border-radius:12px}.confirm-import-bar span{display:block;color:#6c7874;font-size:13px}
.import-meta{padding:11px 14px;background:#f6f8f7;border-radius:10px;color:#65706c}
.status-chip.muted{background:#f0f2f1;color:#69736f}.status-chip.success{background:#e7f8f0;color:#087653}
@media(max-width:1199px){.sticky-panel{position:static}}@media(max-width:768px){.class-tabs{display:grid;grid-template-columns:1fr 1fr}.confirm-import-bar{align-items:stretch;flex-direction:column}.confirm-import-bar .btn{width:100%}}

/* v13.1 Jadwal CRUD */
.schedule-edit-box{display:inline-block;vertical-align:top;margin-right:.35rem}.schedule-edit-box summary{list-style:none;cursor:pointer}.schedule-edit-box summary::-webkit-details-marker{display:none}.schedule-inline-form{position:absolute;z-index:30;width:min(380px,90vw);background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:14px;margin-top:8px;box-shadow:0 18px 45px rgba(15,23,42,.16)}.schedule-inline-form label{font-size:.75rem;font-weight:700;color:#475569;margin-bottom:3px}.panel-head span{display:block;color:#64748b;font-size:.9rem;margin-top:2px}

/* v13.2 CRUD table polish */
.crud-details{position:relative}.crud-details>summary{list-style:none;cursor:pointer}.crud-details>summary::-webkit-details-marker{display:none}
.crud-popover{position:absolute;z-index:30;right:0;top:38px;width:330px;background:#fff;border:1px solid #dfe7e4;border-radius:14px;padding:14px;box-shadow:0 18px 50px rgba(16,24,40,.18)}
.crud-popover label{font-size:.78rem;font-weight:700;margin-top:7px;margin-bottom:3px;color:#40534e}
.table-modern thead th{white-space:nowrap}.table-modern td{vertical-align:middle}.panel-card{overflow:visible}
@media(max-width:768px){.crud-popover{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:75vh;overflow:auto}.table-responsive{border-radius:12px}}

/* ===== SIKADOSEN v13.3 Professional UI ===== */
:root{--brand:#0f766e;--brand-dark:#0b5f59;--brand-soft:#e8f5f2;--ink:#182522;--muted:#66736f;--line:#e5ece9;--surface:#fff;--bg:#f4f7f6}
.content-area{background:var(--bg);padding:28px}.pro-heading{margin-bottom:18px}.pro-heading h2{font-size:1.65rem;letter-spacing:-.02em;color:var(--ink)}.pro-heading p{color:var(--muted);margin:4px 0 0}
.tabs-card.academic-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 22px rgba(22,52,45,.05);margin-bottom:18px}.tabs-card.academic-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;text-decoration:none;color:#52625e;border-radius:11px;font-weight:700;font-size:.88rem}.tabs-card.academic-tabs a.active{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(15,118,110,.22)}
.filter-card,.form-card-pro,.table-card-pro,.notice-pro{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px rgba(22,52,45,.045)}.compact-filter{padding:16px 18px;margin-bottom:18px}
.form-card-pro{padding:0;overflow:visible}.form-card-head,.table-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line)}.form-card-head>div:last-child,.table-card-head>div:first-child{display:flex;flex-direction:column;gap:2px}.form-card-head b,.table-card-head b{font-size:1rem;color:var(--ink)}.form-card-head span,.table-card-head span{font-size:.82rem;color:var(--muted)}.form-icon{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:1.1rem;flex:0 0 auto}.form-card-head{justify-content:flex-start}.form-card-head>div:last-child{flex:1}.form-grid-pro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 20px}.form-grid-pro .span-2{grid-column:span 2}.form-grid-pro label,.crud-popover label{font-size:.78rem;font-weight:700;color:#42514d;margin-bottom:5px}.form-action{display:flex;align-items:end;justify-content:flex-end}
.table-card-pro{overflow:visible}.data-count{background:var(--brand-soft);color:var(--brand)!important;font-weight:800;padding:6px 10px;border-radius:999px;white-space:nowrap}.table-pro{font-size:.87rem}.table-pro thead th{background:#f7faf9;color:#52615d;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;font-weight:800;border-bottom:1px solid var(--line);padding:12px 14px;white-space:nowrap}.table-pro tbody td{padding:13px 14px;border-color:#edf2f0;color:#263531;vertical-align:middle}.table-pro tbody tr:hover{background:#fbfdfc}.table-pro td small{display:block;color:#84908d;margin-top:2px}.chip-soft,.meeting-chip,.muted-pill,.success-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;white-space:nowrap}.chip-soft{background:#eef4f2;color:#50625d}.meeting-chip{background:#e8f5f2;color:#0d746b}.muted-pill{background:#f0f2f1;color:#78837f}.success-pill{background:#e9f8ef;color:#237a46}
.action-row{display:flex;align-items:center;gap:6px}.btn-icon{width:34px;height:34px;border:0;border-radius:9px;display:inline-grid;place-items:center;text-decoration:none;cursor:pointer}.btn-icon.brand{background:var(--brand);color:#fff}.btn-icon.outline{background:#fff;color:#426760;border:1px solid #cfdad7}.btn-icon.danger{background:#fff0f0;color:#b53939;border:1px solid #f0cccc}.crud-details{position:relative}.crud-details>summary{list-style:none}.crud-details>summary::-webkit-details-marker{display:none}.crud-popover{position:absolute;right:0;top:40px;z-index:100;width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 20px 55px rgba(20,45,39,.2)}.crud-popover.wide{width:390px}.crud-popover>b{display:block;margin-bottom:8px}.crud-popover label{display:block;margin-top:8px}
.pager-pro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-top:1px solid var(--line);background:#fbfdfc;border-radius:0 0 16px 16px}.pager-info{font-size:.81rem;color:var(--muted)}.pager-controls{display:flex;align-items:center;gap:5px}.pager-btn{min-width:32px;height:32px;padding:0 9px;border:1px solid #dce5e2;border-radius:8px;background:#fff;color:#50625d;text-decoration:none;display:grid;place-items:center;font-size:.82rem;font-weight:800}.pager-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.pager-btn.disabled{pointer-events:none;opacity:.42}.pager-ellipsis{padding:0 4px;color:#8c9693}.empty-pro{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;color:#88928f;gap:5px}.empty-pro i{font-size:1.8rem;color:#a8b5b1}.empty-pro b{color:#596762}.notice-pro{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;margin-bottom:18px;border-left:4px solid var(--brand)}.notice-pro>i{color:var(--brand);font-size:1.15rem}.notice-pro>div{display:flex;flex-direction:column}.notice-pro span{color:var(--muted);font-size:.84rem}.evidence-link{display:inline-flex;gap:6px;align-items:center;color:var(--brand);font-weight:700;text-decoration:none}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-strip>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column}.summary-strip span{font-size:.76rem;color:var(--muted);font-weight:700}.summary-strip b{font-size:1.2rem;color:var(--ink)}.professional-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.professional-tabs a{padding:9px 12px;border-radius:9px;text-decoration:none;color:#5d6c68;font-weight:700;font-size:.84rem}.professional-tabs a.active{background:var(--brand-soft);color:var(--brand)}.import-inline{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:18px 20px}.confirm-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border-top:1px solid var(--line);background:#f8fbfa}.confirm-bar>div{display:flex;flex-direction:column}.confirm-bar span{font-size:.8rem;color:var(--muted)}
@media(max-width:1100px){.tabs-card.academic-tabs{grid-template-columns:repeat(3,1fr)}.form-grid-pro{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.content-area{padding:16px 12px}.tabs-card.academic-tabs{display:flex;overflow-x:auto;justify-content:flex-start}.tabs-card.academic-tabs a{min-width:max-content}.form-grid-pro{grid-template-columns:1fr}.form-grid-pro .span-2{grid-column:auto}.import-inline{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,1fr)}.pager-pro{flex-direction:column;align-items:stretch}.pager-controls{justify-content:center;flex-wrap:wrap}.crud-popover,.crud-popover.wide{position:fixed;left:12px;right:12px;top:80px;width:auto;max-height:76vh;overflow:auto}.table-pro{font-size:.82rem}.confirm-bar{flex-direction:column;align-items:stretch}}

/* v13.4 RPS OBE professional workspace */
.six-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
.rps-heading{margin-bottom:18px}.rps-identity-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#dfe9e6;border:1px solid #dfe9e6;border-radius:16px;overflow:hidden;margin-bottom:20px}
.rps-identity-strip>div{background:#fff;padding:15px 16px;min-width:0}.rps-identity-strip span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#71837d;margin-bottom:5px}.rps-identity-strip b{display:block;color:#173d34;overflow:hidden;text-overflow:ellipsis}
.rps-identity-strip.compact{margin:0}.rps-form-shell{display:grid;gap:18px}.rps-section-card{background:#fff;border:1px solid #e1e9e6;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 24px rgba(21,62,52,.05)}
.rps-section-head{display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf2f0;padding-bottom:15px;margin-bottom:18px}.rps-section-head>div:not(.weight-indicator){display:flex;flex-direction:column}.rps-section-head b{font-size:1.02rem;color:#173d34}.rps-section-head small{color:#71837d;margin-top:2px}.step-no{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f5f1;color:#087f5b;font-weight:800;flex:0 0 auto}
.rps-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rps-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rps-form-grid .span-2{grid-column:span 2}.rps-form-grid label{font-size:.82rem;font-weight:700;color:#334e47;margin-bottom:6px}.rps-textarea{line-height:1.55;resize:vertical}.form-hint{font-size:.76rem;color:#82918d;margin-top:5px}
.rps-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#0f766e,#0b5d56);color:#fff;border-radius:18px;padding:18px 22px;margin:20px 0}.rps-submit-bar>div{display:flex;flex-direction:column}.rps-submit-bar span{opacity:.8;font-size:.82rem}.rps-submit-bar .btn{background:#fff;color:#0f766e;border-color:#fff}
.rps-progress-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.rps-progress-strip a{text-decoration:none;color:#415b54;background:#fff;border:1px solid #e1e9e6;border-radius:12px;padding:11px 14px;font-weight:700;font-size:.84rem}.rps-progress-strip a span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e7f4ef;color:#087f5b;margin-right:7px}
.rps-table-wrap{border:1px solid #e3ebe8;border-radius:14px}.rps-prof-table{min-width:1250px}.rps-prof-table thead th{background:#f2f7f5;color:#34534a;font-size:.77rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:13px}.rps-prof-table td{padding:10px;border-color:#edf2f0}.rps-prof-table textarea{min-width:180px;border-color:#dfe8e5}.rps-prof-table .exam-row{background:#fffaf0}.week-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f5f1;color:#087f5b;font-weight:800;margin:auto}.exam-row .week-badge{background:#fff0ca;color:#9a6500}.rps-prof-table td:first-child{text-align:center}.rps-prof-table td:first-child small{display:block;margin-top:4px;font-weight:700;color:#9a6500}
.weight-indicator{margin-left:auto;background:#f4f8f7;border:1px solid #e3ebe8;border-radius:10px;padding:8px 12px;font-size:.8rem;color:#61736e}.weight-indicator b{margin-left:6px}.weight-indicator b.ok{color:#138a60}.weight-indicator b.warn{color:#c65d2e}
.status-rps{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.75rem;font-weight:700}.status-rps.ready{background:#e9f7ef;color:#18794e}.status-rps.draft{background:#fff4df;color:#9b6400}.sticky-save{position:sticky;bottom:12px;z-index:20;box-shadow:0 14px 35px rgba(3,61,50,.2)}
@media(max-width:1100px){.six-tabs{grid-template-columns:repeat(3,1fr)}.rps-identity-strip{grid-template-columns:repeat(2,1fr)}.rps-form-grid,.rps-form-grid.two{grid-template-columns:1fr}.rps-form-grid .span-2{grid-column:auto}}
@media(max-width:650px){.six-tabs{grid-template-columns:repeat(2,1fr)}.rps-progress-strip{grid-template-columns:repeat(2,1fr)}.rps-identity-strip{grid-template-columns:1fr}.rps-section-card{padding:15px}.rps-section-head{align-items:flex-start}.weight-indicator{margin-left:0}.rps-submit-bar{flex-direction:column;align-items:stretch}.sticky-save{position:static}}

/* v13.5 Bimbingan PA - SIMAK */
.guidance-tabs{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.simak-card{background:linear-gradient(135deg,#f7fbff,#f3fbf8);border:1px solid #dce9e5;border-radius:20px;padding:22px;margin-bottom:20px;box-shadow:0 10px 30px rgba(21,62,52,.06)}
.simak-brand{display:flex;align-items:center;gap:15px}.simak-logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#0f766e;color:#fff;font-size:1.45rem}.simak-brand h4{margin:2px 0 3px;color:#173d34}.simak-brand p{margin:0;color:#6f817b}
.simak-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.simak-status-grid>div{background:#fff;border:1px solid #e3ebe8;border-radius:13px;padding:12px 14px}.simak-status-grid span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#7c8e88;margin-bottom:4px}.simak-status-grid b{color:#24473e}
.simak-sync-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:16px;align-items:end;background:#fff;border:1px solid #e3ebe8;border-radius:16px;padding:16px}.simak-sync-form label{font-weight:700;color:#315049;margin-bottom:6px}.simak-sync-form small{display:block;color:#82918d;margin-top:5px}.simak-actions{display:flex;gap:8px;flex-wrap:wrap}
.preview-card{margin-bottom:20px}.preview-confirm{display:flex;justify-content:flex-end;padding:14px 16px;border-top:1px solid #edf2f0;background:#f9fbfa}.source-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#eef3f2;color:#4d625c;font-size:.75rem;font-weight:700}.source-badge.simak{background:#e6f6f2;color:#087f5b}
@media(max-width:900px){.simak-status-grid{grid-template-columns:repeat(2,1fr)}.simak-sync-form{grid-template-columns:1fr}.guidance-tabs{grid-template-columns:1fr}}
@media(max-width:520px){.simak-status-grid{grid-template-columns:1fr}.simak-brand{align-items:flex-start}.simak-actions .btn{width:100%}}

/* v13.7 SIMAK semester selector */
.simak-sync-form.selector-mode{grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr) minmax(120px,.45fr) auto}
.simak-code-preview{background:#f4f8f7;border:1px solid #dfe9e6;border-radius:14px;padding:10px 14px;min-height:58px;display:flex;flex-direction:column;justify-content:center}
.simak-code-preview span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7c8e88}.simak-code-preview b{color:#0f766e;font-size:1rem;margin-top:2px}
@media(max-width:1100px){.simak-sync-form.selector-mode{grid-template-columns:1fr 1fr}.simak-actions{grid-column:1/-1}.simak-code-preview{grid-column:auto}}
@media(max-width:650px){.simak-sync-form.selector-mode{grid-template-columns:1fr}.simak-actions,.simak-code-preview{grid-column:auto}}

/* v14 Dashboard Dosen + Integrasi */
.lecturer-hero{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#0f766e,#0a5d56);color:#fff;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(15,118,110,.18)}
.lecturer-photo-wrap{width:112px;height:112px}.lecturer-photo{width:112px;height:112px;object-fit:cover;border-radius:20px;border:4px solid rgba(255,255,255,.22)}.lecturer-photo.placeholder{display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:3rem}
.lecturer-identity h1{font-size:1.55rem;margin:5px 0 4px}.lecturer-identity p{margin:0;opacity:.82}.profile-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.profile-chips span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:6px 10px;border-radius:999px;font-size:.76rem}.lecturer-edit-btn{white-space:nowrap}
.profile-editor-card,.settings-card{background:#fff;border:1px solid #e1e9e6;border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(21,62,52,.06)}.profile-editor-card label,.settings-card label{font-weight:700;font-size:.82rem;color:#36564d;margin-bottom:6px}
.stats-grid-pro{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:18px}.stat-pro{background:#fff;border:1px solid #e3ebe8;border-radius:16px;padding:16px}.stat-pro span{font-size:.76rem;color:#71837d}.stat-pro strong{display:block;font-size:1.65rem;color:#133f34;margin-top:3px}.stat-pro small{font-size:.7rem;color:#94a29e}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px}.chart-card-pro,.drive-card-pro{background:#fff;border:1px solid #e1e9e6;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(21,62,52,.05)}
.tri-chart{height:230px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:20px 10px 0;border-bottom:1px solid #e6eeeb}.tri-year{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.tri-bars{display:flex;align-items:flex-end;gap:5px;height:185px}.tri-bars span{width:16px;min-height:18px;border-radius:5px 5px 0 0}.tri-bars .research,.dot.research{background:#0f766e}.tri-bars .publication,.dot.publication{background:#4f86c6}.tri-bars .service,.dot.service{background:#d69e2e}.legend-pro{display:flex;gap:18px;margin-top:12px;font-size:.76rem;color:#60746e}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.drive-connected{display:flex;gap:12px;align-items:center;background:#f5f9f8;border-radius:14px;padding:14px}.drive-connected>i,.drive-empty>i{font-size:1.8rem;color:#4285f4}.drive-connected div{display:flex;flex-direction:column}.drive-connected span{font-size:.76rem;color:#71837d}.drive-empty{text-align:center;padding:24px 12px;display:flex;flex-direction:column;align-items:center}.drive-empty b{margin-top:8px}.drive-empty span{font-size:.8rem;color:#71837d;max-width:320px}
.activity-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f5f1;color:#0f766e;font-weight:700;font-size:.72rem}
.pagination-pro{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-top:1px solid #edf2f0;color:#71837d;font-size:.78rem}.page-links{display:flex;gap:5px}.page-links a{min-width:31px;height:31px;display:grid;place-items:center;border:1px solid #dfe8e5;border-radius:9px;text-decoration:none;color:#405b54}.page-links a.active{background:#0f766e;color:#fff;border-color:#0f766e}
.settings-tabs{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.settings-card{margin-bottom:0}.settings-head{display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf2f0;padding-bottom:14px;margin-bottom:18px}.settings-head.compact{border:0;padding:0}.settings-head>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f5f1;color:#0f766e;font-size:1.15rem}.settings-head>div{display:flex;flex-direction:column}.settings-head span{font-size:.78rem;color:#71837d}
@media(max-width:1200px){.stats-grid-pro{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:800px){.lecturer-hero{grid-template-columns:auto 1fr}.lecturer-edit-btn{grid-column:1/-1;width:100%}.stats-grid-pro{grid-template-columns:repeat(2,1fr)}.settings-tabs{grid-template-columns:1fr}.pagination-pro{align-items:flex-start;gap:10px;flex-direction:column}.page-links{flex-wrap:wrap}}
@media(max-width:520px){.lecturer-hero{grid-template-columns:1fr;text-align:center}.lecturer-photo-wrap{margin:auto}.profile-chips{justify-content:center}.stats-grid-pro{grid-template-columns:1fr 1fr}.tri-bars span{width:12px}}

.brand-logo-img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff;padding:3px;flex:0 0 auto}

/* v14.5 Google Drive full table */
.drive-searchbar{padding:14px 16px;border-bottom:1px solid #edf2f0;background:#fbfcfc}
.drive-name-cell{display:flex;align-items:center;gap:9px;min-width:220px}.drive-name-cell i{font-size:1.1rem}
.copy-link-box{display:flex;gap:5px;min-width:340px}.copy-link-box input{font-size:.74rem;color:#60746e}
.page-links span{display:grid;place-items:center;padding:0 4px;color:#8a9995}
@media(max-width:768px){.copy-link-box{min-width:260px}.drive-searchbar .col-md-3{margin-top:4px}}

/* v14.6 Arsip Dokumen */
.archive-summary{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e1e9e6;border-radius:18px;padding:16px 18px;box-shadow:0 8px 24px rgba(21,62,52,.05)}
.archive-profile,.archive-connection{display:flex;align-items:center;gap:11px}.archive-profile{margin-right:auto}.archive-profile>div:last-child,.archive-connection>div{display:flex;flex-direction:column}.archive-profile span,.archive-connection span{font-size:.76rem;color:#71837d}
.archive-avatar{width:46px;height:46px;border-radius:13px;background:#e9f5f1;display:grid;place-items:center;overflow:hidden;color:#0f766e;font-size:1.2rem}.archive-avatar img{width:100%;height:100%;object-fit:cover}
.archive-connection{background:#f6f9f8;border-radius:13px;padding:10px 13px}.archive-connection>i{font-size:1.35rem;color:#4285f4}
@media(max-width:850px){.archive-summary{flex-wrap:wrap}.archive-profile{width:100%;margin-right:0}.archive-connection{flex:1}}

/* v14.7 Arsip Dokumen GDrive + S3 */
.archive-tabs{grid-template-columns:repeat(2,1fr);margin-bottom:18px}.archive-tabs a{display:flex;align-items:center;gap:10px;padding:15px 17px}.archive-tabs a i{font-size:1.15rem}.archive-tabs a span{font-weight:800}.archive-tabs a small{margin-left:auto;color:#81908c;font-size:.72rem}.archive-tabs a.active small{color:inherit;opacity:.75}
.archive-toolbar{background:#fff;border:1px solid #e1e9e6;border-radius:16px;padding:13px 15px;margin:16px 0}.archive-filter-form{display:flex;align-items:center;gap:9px}.archive-search{display:flex;align-items:center;gap:8px;flex:1;border:1px solid #dfe8e5;border-radius:11px;padding:0 12px;background:#fff}.archive-search i{color:#7a8c87}.archive-search input{border:0;outline:0;width:100%;min-height:42px;background:transparent}.s3-filter select{max-width:230px}
.archive-type{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf5f3;color:#315c50;font-size:.72rem;font-weight:700}.archive-type.folder{background:#fff6df;color:#8b6514}
.s3-overview{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:stretch}.s3-status{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e1e9e6;border-radius:16px;padding:15px 18px}.s3-status>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;background:#e9f6f1;color:#0f766e}.s3-status.offline>i{background:#f3f4f4;color:#788884}.s3-status div{display:flex;flex-direction:column}.s3-status span{font-size:.76rem;color:#71837d}.s3-count{min-width:145px;background:linear-gradient(135deg,#0f766e,#0a5d56);color:#fff;border-radius:16px;padding:13px 18px;display:flex;flex-direction:column;justify-content:center}.s3-count span{font-size:.72rem;opacity:.78}.s3-count strong{font-size:1.7rem}
.archive-category-strip{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.archive-category-strip a{text-decoration:none;padding:7px 11px;border:1px solid #dfe8e5;border-radius:999px;color:#526a63;font-size:.75rem;font-weight:700;background:#fff}.archive-category-strip a.active{background:#0f766e;color:#fff;border-color:#0f766e}.archive-category{display:inline-flex;padding:6px 9px;border-radius:8px;background:#edf6f3;color:#0f766e;font-size:.72rem;font-weight:800}.s3-file-name{display:flex;align-items:center;gap:7px;min-width:180px}.s3-file-name i{color:#0f766e}
@media(max-width:850px){.archive-tabs{grid-template-columns:1fr}.archive-tabs a small{display:none}.archive-filter-form{flex-wrap:wrap}.archive-search{width:100%;flex-basis:100%}.s3-filter select{max-width:none;flex:1}.s3-overview{grid-template-columns:1fr}.s3-count{min-width:0}.archive-category-strip{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.archive-category-strip a{white-space:nowrap}}

/* v14.9 tenant isolation */
.tenant-security-note{display:flex;align-items:flex-start;gap:12px;background:#eef8f4;border:1px solid #d5ebe3;border-radius:15px;padding:13px 15px;margin-bottom:14px;color:#28594c}
.tenant-security-note>i{font-size:1.25rem;color:#0f766e}.tenant-security-note>div{display:flex;flex-direction:column}.tenant-security-note span{font-size:.76rem;color:#60746e;margin-top:2px}

/* v15 SKP archive tab */
.skp-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f5fbf8,#f3f7fb);border:1px solid #dfe9e6;border-radius:18px;padding:20px;margin-bottom:18px}.skp-hero h3{margin:4px 0}.skp-hero p{margin:0;color:#6f817b}.skp-limit{min-width:170px;background:#fff;border:1px solid #e0e8e5;border-radius:14px;padding:13px 15px;display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center}.skp-limit i{grid-row:1/4;font-size:1.5rem;color:#0f766e}.skp-limit span,.skp-limit small{font-size:.72rem;color:#7a8c87}.skp-limit b{color:#234e43}.skp-year{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:7px 10px;border-radius:10px;background:#eaf6f2;color:#0f766e;font-weight:800}
@media(max-width:800px){.archive-tabs{grid-template-columns:1fr}.skp-hero{align-items:flex-start;flex-direction:column}.skp-limit{width:100%}}

/* v16 themes & redesigned backend */
:root{--app-accent:#0f766e;--app-accent-dark:#0a5d56;--app-accent-soft:#e9f6f1}
.theme-red{--app-accent:#b42318;--app-accent-dark:#8f1c13;--app-accent-soft:#fff0ee}
.theme-blue{--app-accent:#2563eb;--app-accent-dark:#1d4ed8;--app-accent-soft:#edf4ff}
.theme-green{--app-accent:#0f766e;--app-accent-dark:#0a5d56;--app-accent-soft:#e9f6f1}
.btn-brand,.page-links a.active,.archive-category-strip a.active{background:var(--app-accent)!important;border-color:var(--app-accent)!important}.btn-brand:hover{background:var(--app-accent-dark)!important}.sidebar{background:linear-gradient(180deg,var(--app-accent-dark),var(--app-accent))!important}.section-tag,.archive-category,.activity-badge,.skp-year{color:var(--app-accent)!important}.skp-year,.archive-category,.activity-badge{background:var(--app-accent-soft)!important}
.main-area{background:#f5f7f7}.content-area{max-width:1600px;margin:0 auto;width:100%}.topbar{backdrop-filter:blur(10px);background:rgba(255,255,255,.94)!important;border-bottom:1px solid #e6ecea}.panel-card,.table-card-pro,.settings-card,.profile-editor-card{border-radius:18px!important;box-shadow:0 8px 28px rgba(22,50,43,.055)!important}.table-pro thead th{background:#f2f6f5!important;color:#425b54!important;font-size:.75rem!important;letter-spacing:.025em!important}.form-control,.form-select{border-radius:10px;border-color:#dce6e3}.form-control:focus,.form-select:focus{border-color:var(--app-accent);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--app-accent) 16%,transparent)}
.archive-tabs{grid-template-columns:repeat(4,1fr)}
/* Phone mockup login */
.login-stage{min-height:100vh;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 30% 20%,var(--app-accent-soft),#f4f7f6 45%,#e9eeee)}
.phone-login{width:min(390px,100%);min-height:720px;background:#fff;border:10px solid #16312b;border-radius:38px;overflow:hidden;box-shadow:0 28px 70px rgba(21,45,39,.22);position:relative;padding:0 24px 22px}
.phone-login:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:92px;height:22px;border-radius:0 0 14px 14px;background:#16312b;z-index:2}
.phone-top{height:44px;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:800;color:#71837d;padding-top:9px}.phone-status{display:flex;gap:6px}
.login-brand-area{text-align:center;padding:28px 0 22px}.login-logo-img,.login-logo-fallback{width:78px;height:78px;border-radius:22px;margin:0 auto 13px;object-fit:contain;background:#fff;border:1px solid #e1e9e6;padding:7px}.login-logo-fallback{display:grid;place-items:center;font-size:2rem;color:var(--app-accent);background:var(--app-accent-soft)}.login-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--app-accent);font-weight:800}.login-brand-area h1{font-size:1.55rem;margin:7px 0 4px;color:#173d34}.login-brand-area p{font-size:.82rem;color:#758680;margin:0}
.login-form-mobile label{display:block;font-size:.77rem;font-weight:800;color:#3c564f;margin:13px 0 6px}.login-input{height:48px;border:1px solid #dce6e3;border-radius:13px;display:flex;align-items:center;padding:0 13px;gap:9px}.login-input i{color:var(--app-accent)}.login-input input{border:0;outline:0;width:100%;font-size:.9rem}.captcha-mobile{display:grid;grid-template-columns:1fr 1fr;gap:9px}.captcha-question{height:46px;border-radius:12px;background:var(--app-accent-soft);display:grid;place-items:center;color:var(--app-accent);font-weight:900}.captcha-mobile .form-control{height:46px}.btn-login-mobile{width:100%;height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--app-accent),var(--app-accent-dark));color:#fff;font-weight:800;margin-top:19px;box-shadow:0 10px 24px color-mix(in srgb,var(--app-accent) 25%,transparent)}.login-phone-footer{text-align:center;color:#899793;font-size:.7rem;margin-top:24px}
@media(max-width:900px){.archive-tabs{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.archive-tabs{grid-template-columns:1fr}.login-stage{padding:8px}.phone-login{border-width:6px;border-radius:28px;min-height:680px}}

/* v17 Tridharma + modern profile */
.tridharma-tabs{grid-template-columns:repeat(4,1fr)}
.modern-profile-form{padding:0!important;overflow:hidden}.profile-form-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;background:linear-gradient(135deg,#f8fbfa,#f2f7f5);border-bottom:1px solid #e5ecea}.profile-form-header h4{margin:4px 0}.profile-form-header p{margin:0;color:#71837d;font-size:.82rem}.profile-form-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);font-size:1.45rem}
.profile-section{padding:22px 24px;border-bottom:1px solid #edf2f0}.profile-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.profile-section-title>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);font-weight:900}.profile-section-title>div{display:flex;flex-direction:column}.profile-section-title b{color:#21463d}.profile-section-title small{color:#7a8b86}.profile-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#fbfcfc}.profile-savebar>div{display:flex;flex-direction:column}.profile-savebar span{font-size:.78rem;color:#71837d}
@media(max-width:800px){.tridharma-tabs{grid-template-columns:repeat(2,1fr)}.profile-form-header{align-items:flex-start}.profile-savebar{align-items:stretch;flex-direction:column}}

/* v18 polished backend + login */
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213f37}
.app-shell{background:#f4f7f6}.sidebar{box-shadow:14px 0 40px rgba(12,45,37,.08)}.brand-block{padding:22px 18px!important;border-bottom:1px solid rgba(255,255,255,.1)}.brand-block b{font-size:1rem;letter-spacing:.01em}.brand-block span{font-size:.72rem;opacity:.76}.nav-stack a{border-radius:11px;margin:2px 10px;padding:10px 12px!important;transition:.18s ease}.nav-stack a:hover{background:rgba(255,255,255,.11);transform:translateX(2px)}.nav-label{padding:18px 18px 6px!important;font-size:.63rem!important;letter-spacing:.09em!important;opacity:.6}
.topbar{min-height:72px!important;padding:0 24px!important}.topbar-title b{font-size:1rem}.topbar-title span{font-size:.72rem;color:#7a8c87}.account-chip{background:#f7faf9;border:1px solid #e2ebe8;border-radius:14px;padding:7px 10px}.account-avatar{background:var(--app-accent-soft)!important;color:var(--app-accent)!important}
.content-area{padding:24px 26px 34px!important}.page-heading{margin-bottom:18px}.page-heading h2{font-size:1.45rem;font-weight:800;color:#183f35}.page-heading p{color:#758680}
.panel-card,.table-card-pro,.chart-card-pro,.portfolio-section{border:1px solid #e3ebe8!important;background:#fff;border-radius:20px!important;box-shadow:0 10px 32px rgba(24,64,53,.055)!important}.panel-head,.table-card-head{padding:17px 20px!important}.panel-body{padding:20px!important}
.table-pro td{padding:13px 14px!important}.table-pro tbody tr:hover{background:#fbfdfc}.btn{border-radius:10px;font-weight:700}.btn-sm{border-radius:8px}.form-control,.form-select{min-height:42px;background:#fff}.form-control::placeholder{color:#a2b0ac}
.lecturer-hero{border-radius:24px!important;padding:26px!important;box-shadow:0 20px 44px color-mix(in srgb,var(--app-accent) 20%,transparent)!important}.lecturer-photo{border-radius:22px!important}.stats-grid-pro{gap:14px!important}.stat-pro{border-radius:17px!important;padding:18px!important;box-shadow:0 7px 20px rgba(22,57,48,.04)}.stat-pro strong{font-size:1.8rem!important}
.portfolio-section{padding:0;overflow:hidden}.portfolio-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #edf2f0}.portfolio-head h4{margin:4px 0}.portfolio-head p{margin:0;color:#748680;font-size:.8rem}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.portfolio-item{display:flex;gap:13px;padding:18px 20px;border-bottom:1px solid #eef2f1}.portfolio-item:nth-child(odd){border-right:1px solid #eef2f1}.portfolio-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);flex:0 0 auto}.portfolio-body{min-width:0}.portfolio-body>b{display:block;color:#21473d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-body p{margin:4px 0 0;color:#758680;font-size:.76rem}.portfolio-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}.portfolio-meta span{font-size:.68rem;font-weight:800;color:var(--app-accent);text-transform:uppercase;letter-spacing:.04em}.portfolio-meta small{color:#8a9995}.portfolio-paging{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:#fafcfc}.portfolio-paging a{text-decoration:none;color:var(--app-accent);font-weight:700;font-size:.78rem}.portfolio-paging span{font-size:.75rem;color:#81908c}
/* login premium phone */
.login-stage{background:linear-gradient(145deg,#eef4f2 0%,#f8faf9 46%,var(--app-accent-soft) 100%);position:relative;overflow:hidden}.login-stage:before,.login-stage:after{content:"";position:absolute;border-radius:50%;filter:blur(6px);opacity:.4}.login-stage:before{width:280px;height:280px;background:var(--app-accent-soft);top:8%;left:8%}.login-stage:after{width:220px;height:220px;background:#dfe9e6;bottom:6%;right:10%}
.phone-login{z-index:1;width:min(405px,100%);min-height:740px;border:9px solid #162d28;border-radius:42px;padding:0 26px 24px;box-shadow:0 35px 90px rgba(17,45,38,.28);background:linear-gradient(180deg,#fff,#fbfcfc)}.phone-login:before{width:100px;height:24px;background:#162d28}.login-brand-area{position:relative;padding:34px 0 24px}.login-glow{position:absolute;width:120px;height:120px;border-radius:50%;background:var(--app-accent-soft);left:50%;top:18px;transform:translateX(-50%);filter:blur(14px);opacity:.75}.login-logo-img,.login-logo-fallback{position:relative;z-index:1;width:84px;height:84px;border-radius:24px;box-shadow:0 12px 28px rgba(32,69,59,.1)}.login-brand-area h1{font-size:1.7rem;font-weight:850;letter-spacing:-.02em}.login-brand-area p{font-size:.8rem}.login-form-mobile label{font-size:.75rem;margin-top:14px}.login-input{height:51px;border-radius:14px;background:#fbfcfc;transition:.15s ease}.login-input:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 12%,transparent);background:#fff}.captcha-mobile{gap:10px}.captcha-question{height:49px;border-radius:14px}.btn-login-mobile{height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:10px;transition:.18s ease}.btn-login-mobile:hover{transform:translateY(-1px);box-shadow:0 14px 30px color-mix(in srgb,var(--app-accent) 30%,transparent)}.login-phone-footer{margin-top:28px}
@media(max-width:900px){.portfolio-grid{grid-template-columns:1fr}.portfolio-item:nth-child(odd){border-right:0}.content-area{padding:18px 14px 28px!important}.topbar{padding:0 14px!important}}

/* v19 gradient + ruler navigator + attendance */
.sidebar{background:linear-gradient(180deg,var(--app-accent-dark) 0%,var(--app-accent) 58%,color-mix(in srgb,var(--app-accent) 72%,#102d26) 100%)!important}
.nav-stack{position:relative}.nav-stack:before{content:"";position:absolute;left:17px;top:44px;bottom:16px;width:1px;background:rgba(255,255,255,.12)}
.nav-stack a{position:relative;padding-left:38px!important}.nav-stack a:before{content:"";position:absolute;left:13px;top:50%;width:9px;height:9px;border-radius:50%;transform:translateY(-50%);background:rgba(255,255,255,.28);border:2px solid rgba(255,255,255,.16);z-index:1}.nav-stack a:hover:before,.nav-stack a.active:before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}.nav-stack a.active{background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.07));box-shadow:inset 3px 0 0 #fff}
.topbar{background:linear-gradient(90deg,rgba(255,255,255,.98),color-mix(in srgb,var(--app-accent-soft) 38%,white))!important}
.panel-card,.table-card-pro,.track-card,.chart-card-pro{background:linear-gradient(180deg,#fff,#fcfdfd)!important}
.track-card{border:1px solid #e3ebe8;border-radius:20px;overflow:hidden;box-shadow:0 10px 32px rgba(24,64,53,.055)}.track-head{padding:20px 22px;border-bottom:1px solid #edf2f0;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--app-accent-soft) 55%,white))}.track-head h4{margin:4px 0}.track-head p{margin:0;color:#748680;font-size:.8rem}.track-chart{height:265px;padding:22px 24px 10px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;border-bottom:1px solid #edf2f0}.track-year{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:9px}.track-bars{height:210px;display:flex;align-items:flex-end;gap:6px}.track-bars span{width:18px;min-height:20px;border-radius:6px 6px 1px 1px}.t-research{background:#0f766e}.t-pub{background:#2563eb}.t-service{background:#d97706}.t-support{background:#7c3aed}.track-legend{display:flex;gap:20px;flex-wrap:wrap;padding:14px 22px;font-size:.76rem;color:#667a73}.track-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.attendance-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.attendance-overview>div{background:linear-gradient(135deg,#fff,var(--app-accent-soft));border:1px solid #e1e9e6;border-radius:15px;padding:14px 16px}.attendance-overview span{display:block;font-size:.72rem;color:#71837d}.attendance-overview b{display:block;font-size:1.1rem;color:#21483e;margin-top:3px}.student-searchbar{padding:12px 0}.print-attendance-card{max-width:760px;margin:0 auto;background:linear-gradient(180deg,#fff,#fbfdfc);border:1px solid #e1e9e6;border-radius:22px;padding:24px;box-shadow:0 14px 38px rgba(24,64,53,.07)}.print-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #edf2f0}.print-step>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);font-weight:900}.print-step label{font-weight:800;font-size:.8rem;margin-bottom:6px}.print-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:18px}
@media(max-width:700px){.attendance-overview{grid-template-columns:1fr}.track-bars span{width:12px}.track-chart{padding-left:10px;padding-right:10px}.print-actions{flex-direction:column}.print-actions .btn{width:100%}}

/* v20 latest tridharma */
.recent-tridharma-card{background:linear-gradient(180deg,#fff,#fcfdfd);border:1px solid #e3ebe8;border-radius:20px;overflow:hidden;box-shadow:0 10px 32px rgba(24,64,53,.055)}
.recent-tridharma-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #edf2f0;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--app-accent-soft) 52%,white))}
.recent-tridharma-head h4{margin:4px 0}.recent-tridharma-head p{margin:0;color:#748680;font-size:.8rem}
.recent-tridharma-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.recent-tridharma-item{display:flex;gap:12px;padding:17px 20px;border-bottom:1px solid #edf2f0}.recent-tridharma-item:nth-child(odd){border-right:1px solid #edf2f0}
.recent-type-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);flex:0 0 auto}
.recent-body{min-width:0}.recent-body>b{display:block;color:#21463d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-body p{margin:4px 0 0;color:#748680;font-size:.75rem}
.recent-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}.recent-meta span{font-size:.68rem;font-weight:800;color:var(--app-accent);text-transform:uppercase}.recent-meta small{color:#899894}
@media(max-width:800px){.recent-tridharma-list{grid-template-columns:1fr}.recent-tridharma-item:nth-child(odd){border-right:0}.recent-tridharma-head{align-items:flex-start;flex-direction:column}}

/* v21 Karier Dosen timeline */
.career-card{background:linear-gradient(180deg,#fff,#fcfdfd);border:1px solid #e3ebe8;border-radius:22px;overflow:hidden;box-shadow:0 12px 36px rgba(24,64,53,.065)}
.career-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 23px;border-bottom:1px solid #edf2f0;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--app-accent-soft) 58%,white))}
.career-head h4{margin:4px 0}.career-head p{margin:0;color:#748680;font-size:.8rem}
.career-timeline{position:relative;padding:24px 28px 26px}.career-line{position:absolute;left:48px;top:35px;bottom:35px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--app-accent),color-mix(in srgb,var(--app-accent) 38%,#dce7e3))}
.career-step{position:relative;display:grid;grid-template-columns:42px 1fr;gap:17px;align-items:start;margin-bottom:20px;opacity:0;transform:translateY(12px);animation:careerIn .55s ease forwards;animation-delay:var(--delay)}
.career-step:last-child{margin-bottom:0}.career-dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid var(--app-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--app-accent) 10%,transparent);z-index:2}
.career-dot span{font-size:.75rem;font-weight:900;color:var(--app-accent)}
.career-content{background:linear-gradient(135deg,#fff,#fafcfc);border:1px solid #e3ebe8;border-radius:16px;padding:14px 16px;box-shadow:0 7px 20px rgba(24,64,53,.04)}
.career-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.career-meta span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--app-accent)}.career-meta small{color:#879692;font-weight:700}
.career-content>b{display:block;color:#21463d;font-size:.95rem}.career-content p{margin:4px 0 0;color:#748680;font-size:.77rem}
.career-empty{text-align:center;padding:28px;color:#748680}.career-empty i{font-size:2rem;color:var(--app-accent);display:block;margin-bottom:8px}.career-empty b{display:block;color:#294b42}.career-empty span{font-size:.78rem}
@keyframes careerIn{to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.career-head{align-items:flex-start;flex-direction:column}.career-timeline{padding-left:18px;padding-right:14px}.career-line{left:38px}.career-step{grid-template-columns:42px 1fr;gap:12px}}

/* v22 employment history */
.employment-history-box{border:1px solid #dfe9e6;border-radius:17px;overflow:hidden;background:#fbfdfc}.employment-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#f7fbf9,var(--app-accent-soft));border-bottom:1px solid #e4ece9}.employment-history-head>div{display:flex;flex-direction:column}.employment-history-head b{color:#21483e}.employment-history-head span{font-size:.75rem;color:#71837d}.employment-add-form{padding:14px 16px;border-bottom:1px solid #e7eeec;background:#fff}.employment-add-form label{font-size:.74rem;font-weight:800;margin-bottom:5px}.history-type{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.history-type.rank{background:#edf4ff;color:#2563eb}.history-type.functional{background:#eaf7f1;color:#0f766e}
@media(max-width:700px){.employment-history-head{align-items:flex-start;flex-direction:column}.employment-history-head .btn{width:100%}}

/* v24 Jurnal Perkuliahan */
.journal-filter-card{background:linear-gradient(180deg,#fff,#fbfdfc);border:1px solid #e1e9e6;border-radius:18px;padding:18px 20px;box-shadow:0 8px 26px rgba(24,64,53,.05)}.journal-filter-card label{font-size:.78rem;font-weight:800;margin-bottom:6px}.journal-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:16px}.journal-summary>div{background:linear-gradient(135deg,#fff,var(--app-accent-soft));border:1px solid #e1e9e6;border-radius:15px;padding:14px 16px}.journal-summary span{display:block;font-size:.72rem;color:#71837d}.journal-summary b{display:block;color:#21483e;margin-top:3px}
@media(max-width:750px){.journal-summary{grid-template-columns:1fr}}

/* v25 Modern professional backend */
.app-shell{background:linear-gradient(145deg,#f3f7f5 0%,#f8faf9 42%,color-mix(in srgb,var(--app-accent-soft) 35%,white) 100%)}
.sidebar{border-right:1px solid rgba(255,255,255,.09)!important;background:
linear-gradient(180deg,color-mix(in srgb,var(--app-accent-dark) 92%,#091b16) 0%,var(--app-accent-dark) 32%,var(--app-accent) 72%,color-mix(in srgb,var(--app-accent) 75%,#0a2921) 100%)!important}
.brand-block{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.025));margin:12px;border-radius:17px;border:1px solid rgba(255,255,255,.10)!important;padding:15px!important}
.role-pill{margin:4px 15px 6px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.1);border-radius:999px!important;text-align:center}
.nav-stack:before{left:24px!important;top:47px!important;bottom:20px!important;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.30),rgba(255,255,255,.08))!important}
.nav-stack a{margin:3px 12px!important;border:1px solid transparent;padding:11px 13px 11px 40px!important}
.nav-stack a:before{left:8px!important;width:11px!important;height:11px!important}
.nav-stack a.active{background:linear-gradient(90deg,rgba(255,255,255,.20),rgba(255,255,255,.06))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:inset 3px 0 0 #fff,0 8px 18px rgba(0,0,0,.08)!important}
.sidebar-bottom{padding:12px}.sidebar-bottom a{border-radius:13px;background:rgba(0,0,0,.08);border:1px solid rgba(255,255,255,.08)}
.main-area{background:transparent}.topbar{margin:12px 16px 0;border:1px solid rgba(215,228,223,.82)!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(35,67,58,.05);background:rgba(255,255,255,.88)!important}
.content-area{padding-top:20px!important}.page-heading.pro-heading{background:linear-gradient(135deg,rgba(255,255,255,.96),color-mix(in srgb,var(--app-accent-soft) 50%,white));border:1px solid #e0eae6;border-radius:20px;padding:19px 21px;box-shadow:0 10px 28px rgba(31,66,56,.045)}
.tabs-card{background:rgba(255,255,255,.85)!important;border:1px solid #e0e9e6!important;border-radius:17px!important;padding:5px!important;box-shadow:0 7px 20px rgba(30,63,54,.04)}
.tabs-card a{border-radius:12px!important}.tabs-card a.active{background:linear-gradient(135deg,var(--app-accent),var(--app-accent-dark))!important;color:#fff!important;box-shadow:0 7px 17px color-mix(in srgb,var(--app-accent) 22%,transparent)}
.form-card-pro,.filter-card,.panel-card,.table-card-pro,.profile-editor-card,.settings-card{backdrop-filter:blur(8px);border:1px solid #dde8e4!important;box-shadow:0 12px 32px rgba(23,60,50,.052)!important}
.form-card-head,.panel-head,.table-card-head{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--app-accent-soft) 40%,white))}
.form-action{align-items:center!important}.quartile-badge{display:inline-flex;min-width:42px;justify-content:center;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:900;background:#eef2f1;color:#63746f}.quartile-badge.q1{background:#e8f7ee;color:#15803d}.quartile-badge.q2{background:#edf7ff;color:#2563eb}.quartile-badge.q3{background:#fff7df;color:#a16207}.quartile-badge.q4{background:#fff0ee;color:#b42318}
.scopus-profile-box{margin-top:18px;border:1px solid #dfe9e6;border-radius:17px;overflow:hidden;background:#fff}.scopus-profile-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#f8fbfa,var(--app-accent-soft));border-bottom:1px solid #e2ebe8}.scopus-profile-head>div{display:flex;flex-direction:column}.scopus-profile-head span{font-size:.75rem;color:#71837d}

/* v25 phone mockup login */
.login-v25{min-height:100vh;position:relative;overflow:hidden;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#edf4f1 0%,#f9fbfa 45%,color-mix(in srgb,var(--app-accent-soft) 75%,white) 100%)}
.login-orbit{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--app-accent) 12%,transparent)}.orbit-one{width:520px;height:520px;left:-180px;top:-180px}.orbit-two{width:430px;height:430px;right:-120px;bottom:-180px}
.login-showcase{position:relative;z-index:2;width:min(1040px,100%);display:grid;grid-template-columns:minmax(300px,1fr) 430px;gap:68px;align-items:center}.login-copy{max-width:500px}.login-copy-badge{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #dfe9e5;color:var(--app-accent);font-size:.72rem;font-weight:800}.login-copy h2{font-size:2.7rem;letter-spacing:-.045em;color:#173d34;margin:15px 0 8px;font-weight:850}.login-copy>p{font-size:1rem;color:#687d76;line-height:1.7}.login-copy-features{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.login-copy-features span{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.68);border:1px solid #dee8e5;color:#526a62;font-size:.74rem;font-weight:700}
.phone-v25{width:390px;min-height:735px;padding:9px;background:#132a24;border-radius:42px;box-shadow:0 38px 90px rgba(22,50,43,.28);position:relative}.phone-notch{position:absolute;z-index:3;top:9px;left:50%;transform:translateX(-50%);width:102px;height:25px;border-radius:0 0 15px 15px;background:#132a24}.phone-status-v25{height:40px;padding:8px 13px 0;color:#c9d8d3;display:flex;justify-content:space-between;font-size:.68rem;font-weight:800}.phone-status-v25 div{display:flex;gap:5px}.phone-screen{min-height:676px;background:linear-gradient(180deg,#fff,#fbfdfc);border-radius:32px;padding:28px 25px 20px;overflow:hidden}
.login-brand-v25{text-align:center}.logo-halo{width:84px;height:84px;margin:5px auto 13px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,var(--app-accent-soft));border:1px solid #dfe9e5;box-shadow:0 15px 32px rgba(36,75,64,.11);font-size:2rem;color:var(--app-accent)}.logo-halo img{width:68px;height:68px;object-fit:contain}.login-brand-v25>span{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--app-accent);font-weight:900}.login-brand-v25 h1{font-size:1.65rem;color:#173d34;margin:7px 0 2px;font-weight:850}.login-brand-v25 p{font-size:.76rem;color:#768882}
.login-form-v25{margin-top:23px}.field-v25{margin-bottom:13px}.field-v25 label{font-size:.72rem;font-weight:800;color:#405b53;margin-bottom:5px}.field-v25>div:not(.captcha-v25){display:flex;align-items:center;height:50px;border:1px solid #dce6e3;border-radius:14px;background:#fbfcfc;padding:0 13px;gap:9px}.field-v25 i{color:var(--app-accent)}.field-v25 input{border:0;outline:0;background:transparent;width:100%;font-size:.87rem}.field-v25>div:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 10%,transparent);background:#fff}.captcha-v25{display:grid;grid-template-columns:1fr 1fr;gap:9px}.captcha-v25 strong{height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--app-accent-soft),#fff);border:1px solid #dce7e3;color:var(--app-accent)}.captcha-v25 input{border:1px solid #dce6e3!important;border-radius:14px;padding:0 12px!important}.login-btn-v25{width:100%;height:52px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--app-accent),var(--app-accent-dark));color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:850;margin-top:18px;box-shadow:0 13px 28px color-mix(in srgb,var(--app-accent) 27%,transparent)}.phone-footer-v25{text-align:center;color:#899995;font-size:.68rem;margin-top:26px}
@media(max-width:900px){.login-showcase{grid-template-columns:1fr;justify-items:center}.login-copy{display:none}.phone-v25{width:min(390px,100%)}}@media(max-width:480px){.login-v25{padding:8px}.phone-v25{border-radius:30px;padding:6px}.phone-screen{border-radius:24px;padding:25px 20px 18px}}

/* v26 dashboard rebuild */
.dashboard-profile-card{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,var(--app-accent-dark),var(--app-accent));color:#fff;box-shadow:0 18px 42px color-mix(in srgb,var(--app-accent) 22%,transparent)}
.dashboard-profile-photo{width:100px;height:100px}.dashboard-profile-photo img,.dashboard-profile-photo>div{width:100%;height:100%;border-radius:20px;object-fit:cover;border:4px solid rgba(255,255,255,.18)}.dashboard-profile-photo>div{display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:2.5rem}
.dashboard-profile-main h1{font-size:1.45rem;margin:4px 0 4px}.dashboard-profile-main p{margin:0;opacity:.82}.dashboard-profile-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dashboard-profile-meta span{font-size:.72rem;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
.dashboard-profile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-stats{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:16px}.dashboard-stat-card{background:#fff;border:1px solid #e1e9e6;border-radius:16px;padding:15px;box-shadow:0 7px 20px rgba(23,58,49,.04)}.dashboard-stat-card span{font-size:.7rem;color:#71837d}.dashboard-stat-card strong{display:block;font-size:1.55rem;color:#1f493e;margin:3px 0}.dashboard-stat-card small{font-size:.67rem;color:#92a09c}
.modern-profile-form{margin-top:0!important}.profile-section{background:#fff}.career-card{margin-bottom:0}
@media(max-width:1200px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.dashboard-profile-card{grid-template-columns:80px 1fr}.dashboard-profile-photo{width:80px;height:80px}.dashboard-profile-actions{grid-column:1/-1;justify-content:flex-start}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.dashboard-profile-card{grid-template-columns:1fr;text-align:center}.dashboard-profile-photo{margin:auto}.dashboard-profile-meta,.dashboard-profile-actions{justify-content:center}}

/* v28 education history */
.education-box{border:1px solid #dfe9e6;border-radius:17px;overflow:hidden;background:#fbfdfc}
.education-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#f7fbf9,var(--app-accent-soft));border-bottom:1px solid #e4ece9}
.education-head>div{display:flex;flex-direction:column}.education-head span{font-size:.75rem;color:#71837d}
.education-add-form{padding:14px 16px;background:#fff;border-bottom:1px solid #e7eeec}.education-add-form label{font-size:.74rem;font-weight:800;margin-bottom:5px}
.education-level{display:inline-flex;min-width:42px;justify-content:center;padding:5px 9px;border-radius:999px;background:var(--app-accent-soft);color:var(--app-accent);font-size:.72rem;font-weight:900}
@media(max-width:700px){.education-head{align-items:flex-start;flex-direction:column}.education-head .btn{width:100%}}

/* v29 force course save alignment */
.course-save-row{display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;grid-column:1/-1!important}
.course-save-row .btn{margin-left:auto!important}

/* v30 green gradient login */
.login-v25{
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.12),transparent 28%),
    radial-gradient(circle at 82% 76%,rgba(255,255,255,.08),transparent 24%),
    linear-gradient(135deg,#064e3b 0%,#0f766e 42%,#16a085 72%,#34d399 100%)!important;
}
.login-orbit{border-color:rgba(255,255,255,.16)!important}
.login-copy-badge{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;backdrop-filter:blur(8px)}
.login-copy h2{color:#fff!important}
.login-copy>p{color:rgba(255,255,255,.82)!important}
.login-copy-features span{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important}
.phone-v25{background:#063b31!important;box-shadow:0 40px 95px rgba(0,49,39,.38)!important}
.phone-status-v25{color:#d8f3e9!important}
.phone-screen{background:linear-gradient(180deg,#ffffff 0%,#f3fbf7 100%)!important}
.logo-halo{background:linear-gradient(145deg,#ffffff,#dff6eb)!important;border-color:#ccebdd!important}
.login-btn-v25{background:linear-gradient(135deg,#059669,#047857)!important;box-shadow:0 14px 30px rgba(5,150,105,.28)!important}
.captcha-v25 strong{background:linear-gradient(135deg,#dcfce7,#f0fdf4)!important;color:#047857!important}

/* v31 professional green login */
.login-pro-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px;
  background:
    radial-gradient(circle at 18% 15%,rgba(255,255,255,.10),transparent 24%),
    radial-gradient(circle at 78% 82%,rgba(255,255,255,.07),transparent 26%),
    linear-gradient(135deg,#064e3b 0%,#0b6b52 34%,#0f8a68 68%,#1bb184 100%);
}
.login-pro-panel{
  width:min(1120px,100%);
  min-height:720px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:70px;
}
.login-pro-copy{color:#fff;max-width:560px}
.login-pro-brand{display:flex;align-items:center;gap:14px;margin-bottom:72px}
.login-pro-brand img,.brand-placeholder{
  width:58px;height:58px;border-radius:16px;background:#fff;
  object-fit:contain;padding:6px;box-shadow:0 12px 28px rgba(0,0,0,.12)
}
.brand-placeholder{display:grid;place-items:center;color:#0f766e;font-size:1.5rem}
.login-pro-brand div:last-child{display:flex;flex-direction:column}
.login-pro-brand span{font-size:.72rem;opacity:.78}
.login-pro-brand b{font-size:1.15rem;letter-spacing:.01em}
.login-pro-message .eyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)
}
.login-pro-message h1{font-size:3rem;line-height:1.08;letter-spacing:-.045em;margin:18px 0 14px;font-weight:850}
.login-pro-message p{font-size:1rem;color:rgba(255,255,255,.78);line-height:1.6}
.login-pro-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.login-pro-points span{
  display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-size:.75rem
}

.login-pro-phone-wrap{display:flex;justify-content:center}
.login-pro-phone{
  width:392px;min-height:736px;background:#0e2922;border-radius:42px;padding:8px;
  box-shadow:0 42px 100px rgba(0,41,31,.38);position:relative
}
.phone-earpiece{
  position:absolute;z-index:3;top:8px;left:50%;transform:translateX(-50%);
  width:96px;height:23px;background:#0e2922;border-radius:0 0 15px 15px
}
.phone-statusbar{
  height:40px;display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px 0;color:#d3ece4;font-size:.68rem;font-weight:800
}
.phone-statusbar>div{display:flex;gap:5px}
.phone-content{
  min-height:680px;background:linear-gradient(180deg,#ffffff 0%,#f5fbf8 100%);
  border-radius:32px;padding:34px 26px 22px
}
.phone-login-head{text-align:center}
.phone-logo{
  width:76px;height:76px;margin:0 auto 14px;border-radius:22px;
  display:grid;place-items:center;background:linear-gradient(145deg,#fff,#e4f6ed);
  border:1px solid #d7e9e1;box-shadow:0 14px 32px rgba(28,75,61,.10);color:#0f766e;font-size:1.8rem
}
.phone-logo img{width:60px;height:60px;object-fit:contain}
.phone-login-head>span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#0f766e;font-weight:850}
.phone-login-head h2{font-size:1.55rem;margin:7px 0 3px;color:#173d34;font-weight:850}
.phone-login-head p{font-size:.76rem;color:#778984;margin:0}

.phone-login-form{margin-top:24px}
.pro-field{margin-bottom:14px}
.pro-field label{display:block;font-size:.73rem;font-weight:800;color:#405a53;margin-bottom:6px}
.pro-input{
  height:50px;border:1px solid #dce7e3;border-radius:14px;background:#fff;
  display:flex;align-items:center;gap:9px;padding:0 13px;transition:.15s ease
}
.pro-input i{color:#0f766e}
.pro-input input{border:0;outline:0;background:transparent;width:100%;font-size:.88rem}
.pro-input:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.10)}
.pro-captcha{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.captcha-code{
  height:48px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,#dcfce7,#f0fdf4);border:1px solid #cde8d9;
  color:#047857;font-weight:900;letter-spacing:.05em
}
.pro-captcha input{
  height:48px;border:1px solid #dce7e3;border-radius:14px;padding:0 12px;outline:0;background:#fff
}
.pro-captcha input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.10)}
.pro-login-button{
  width:100%;height:52px;border:0;border-radius:15px;color:#fff;
  display:flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(135deg,#059669,#047857);font-weight:850;
  box-shadow:0 14px 30px rgba(5,150,105,.25);margin-top:20px
}
.phone-login-foot{text-align:center;margin-top:27px;color:#8a9a95;font-size:.68rem}

@media(max-width:900px){
  .login-pro-panel{grid-template-columns:1fr;min-height:auto}
  .login-pro-copy{display:none}
  .login-pro-shell{padding:14px}
}
@media(max-width:460px){
  .login-pro-shell{padding:6px}
  .login-pro-phone{width:100%;border-radius:30px;padding:5px}
  .phone-content{border-radius:24px;padding:30px 20px 20px}
}

/* hard hide quartile unless scopus */
.quartile-field{display:none}

/* v32 Login Gradient Redesign */
.login-v32{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:32px;
  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.12),transparent 26%),
    radial-gradient(circle at 80% 75%,rgba(255,255,255,.09),transparent 24%),
    linear-gradient(135deg,#053b2f 0%,#065f46 28%,#0f766e 58%,#10b981 82%,#34d399 100%);
}
.login-v32-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(8px);
  opacity:.30;
}
.glow-a{width:360px;height:360px;background:#6ee7b7;top:-110px;right:-90px}
.glow-b{width:300px;height:300px;background:#a7f3d0;bottom:-120px;left:-80px}

.login-v32-layout{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:minmax(360px,1fr) 420px;
  gap:72px;
  align-items:center;
  position:relative;
  z-index:2;
}
.login-v32-intro{color:#fff;max-width:570px}
.login-v32-brand{display:flex;align-items:center;gap:14px;margin-bottom:58px}
.login-v32-brand img,.login-v32-logo-placeholder{
  width:58px;height:58px;border-radius:16px;
  background:#fff;object-fit:contain;padding:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.14)
}
.login-v32-logo-placeholder{
  display:grid;place-items:center;color:#047857;font-size:1.55rem
}
.login-v32-brand>div{display:flex;flex-direction:column}
.login-v32-brand small{
  color:rgba(255,255,255,.80);
  font-size:.72rem;
}
.login-v32-brand strong{
  color:#fff;
  font-size:1.2rem;
  letter-spacing:.01em;
}

.login-v32-copy .login-v32-kicker{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.login-v32-copy h1{
  color:#fff;
  font-size:3.15rem;
  line-height:1.06;
  letter-spacing:-.045em;
  margin:18px 0 14px;
  font-weight:850;
}
.login-v32-copy p{
  color:rgba(255,255,255,.84);
  font-size:1rem;
  line-height:1.65;
  margin:0;
}
.login-v32-points{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:30px;
}
.login-v32-points>div{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  border-radius:11px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.75rem;
  font-weight:700;
}
.login-v32-points i{font-size:.95rem}

.login-v32-phone-wrap{display:flex;justify-content:center}
.login-v32-phone{
  width:390px;
  min-height:730px;
  background:#0b261f;
  border-radius:42px;
  padding:8px;
  box-shadow:0 42px 100px rgba(0,35,27,.38);
  position:relative;
}
.login-v32-notch{
  position:absolute;
  z-index:3;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  width:100px;
  height:23px;
  background:#0b261f;
  border-radius:0 0 15px 15px;
}
.login-v32-status{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 14px 0;
  color:#d7efe7;
  font-size:.68rem;
  font-weight:800;
}
.login-v32-status>div{display:flex;gap:5px}

.login-v32-screen{
  min-height:676px;
  background:linear-gradient(180deg,#ffffff 0%,#f4fbf8 100%);
  border-radius:32px;
  padding:32px 26px 22px;
}
.login-v32-head{text-align:center}
.login-v32-icon{
  width:80px;
  height:80px;
  margin:0 auto 14px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#fff,#e5f8ef);
  border:1px solid #d3eadf;
  box-shadow:0 14px 32px rgba(28,75,61,.11);
  color:#047857;
  font-size:1.9rem;
}
.login-v32-icon img{width:62px;height:62px;object-fit:contain}
.login-v32-head small{
  display:block;
  color:#047857;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.login-v32-head h2{
  color:#173d34;
  font-size:1.6rem;
  font-weight:850;
  margin:7px 0 3px;
}
.login-v32-head p{
  color:#6d8079;
  font-size:.77rem;
  margin:0;
}

.login-v32-form{margin-top:24px}
.login-v32-field{margin-bottom:14px}
.login-v32-field label{
  display:block;
  color:#365148;
  font-size:.73rem;
  font-weight:850;
  margin-bottom:6px;
}
.login-v32-input{
  height:50px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce7e3;
  transition:.15s ease;
}
.login-v32-input i{color:#047857}
.login-v32-input input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#183f35;
  font-size:.88rem;
}
.login-v32-input input::placeholder{color:#9cacA6}
.login-v32-input:focus-within{
  border-color:#10b981;
  box-shadow:0 0 0 3px rgba(16,185,129,.11);
}

.login-v32-captcha{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.login-v32-captcha>div{
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#dcfce7,#ecfdf5);
  border:1px solid #c9e9d8;
  color:#047857;
  font-weight:900;
  letter-spacing:.06em;
}
.login-v32-captcha input{
  height:48px;
  border-radius:14px;
  border:1px solid #dce7e3;
  padding:0 12px;
  outline:0;
  background:#fff;
  color:#173d34;
}
.login-v32-captcha input::placeholder{color:#9cacA6}
.login-v32-captcha input:focus{
  border-color:#10b981;
  box-shadow:0 0 0 3px rgba(16,185,129,.11);
}

.login-v32-button{
  width:100%;
  height:52px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#059669 0%,#047857 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:850;
  margin-top:20px;
  box-shadow:0 14px 30px rgba(5,150,105,.28);
}
.login-v32-button:hover{
  background:linear-gradient(135deg,#047857 0%,#065f46 100%);
}
.login-v32-footer{
  margin-top:26px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  color:#80918b;
  font-size:.68rem;
}

@media(max-width:900px){
  .login-v32{padding:14px}
  .login-v32-layout{grid-template-columns:1fr;justify-items:center}
  .login-v32-intro{display:none}
}
@media(max-width:460px){
  .login-v32{padding:6px}
  .login-v32-phone{width:100%;padding:5px;border-radius:30px}
  .login-v32-screen{border-radius:24px;padding:28px 20px 20px}
}

/* v33 CONSISTENT PHONE LOGIN */
.login-v33{
  min-height:100vh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  padding:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.10),transparent 25%),
    radial-gradient(circle at 78% 78%,rgba(255,255,255,.08),transparent 24%),
    linear-gradient(145deg,#043a2d 0%,#065f46 32%,#0f766e 63%,#16a34a 100%);
}
.login-v33-orb{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
}
.orb-one{width:430px;height:430px;top:-180px;left:-150px}
.orb-two{width:360px;height:360px;right:-120px;bottom:-170px}

.login-v33-shell{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
}
.login-v33-caption{text-align:center;color:#fff}
.caption-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-size:.7rem;
  font-weight:800;
}
.login-v33-caption h1{
  margin:10px 0 2px;
  font-size:1.8rem;
  font-weight:850;
  letter-spacing:-.025em;
}
.login-v33-caption p{
  margin:0;
  font-size:.78rem;
  color:rgba(255,255,255,.80);
}

/* phone geometry */
.phone-v33{
  width:392px;
  display:flex;
  justify-content:center;
}
.phone-v33-frame{
  width:392px;
  height:742px;
  position:relative;
  border-radius:44px;
  background:linear-gradient(180deg,#0a211b,#0d2b23);
  padding:8px;
  box-shadow:
    0 42px 90px rgba(0,35,27,.42),
    inset 0 0 0 1px rgba(255,255,255,.04);
}
.phone-v33-notch{
  position:absolute;
  z-index:5;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  width:108px;
  height:27px;
  border-radius:0 0 16px 16px;
  background:#0a211b;
}
.phone-v33-status{
  position:absolute;
  z-index:6;
  top:12px;
  left:18px;
  right:18px;
  height:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#d9ede6;
  font-size:.66rem;
  font-weight:800;
}
.phone-v33-status>div{display:flex;gap:5px}

.phone-v33-screen{
  width:100%;
  height:100%;
  border-radius:36px;
  background:
    linear-gradient(180deg,#ffffff 0%,#f7fbf9 72%,#eef8f4 100%);
  padding:50px 26px 22px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

/* top content */
.phone-v33-top{text-align:center}
.phone-v33-logo{
  width:82px;
  height:82px;
  margin:0 auto 14px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ffffff,#e4f6ed);
  border:1px solid #d3e8df;
  box-shadow:0 14px 30px rgba(21,73,56,.10);
  color:#047857;
  font-size:1.85rem;
}
.phone-v33-logo img{
  width:64px;
  height:64px;
  object-fit:contain;
}
.phone-v33-top small{
  display:block;
  color:#047857;
  font-size:.65rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.phone-v33-top h2{
  margin:7px 0 4px;
  font-size:1.62rem;
  color:#173d34;
  font-weight:850;
}
.phone-v33-top p{
  margin:0 auto;
  max-width:280px;
  color:#70827c;
  font-size:.76rem;
  line-height:1.5;
}

/* fields */
.phone-v33-form{margin-top:22px}
.phone-v33-field{margin-bottom:13px}
.phone-v33-field label{
  display:block;
  margin-bottom:6px;
  color:#39554b;
  font-size:.72rem;
  font-weight:850;
}
.phone-v33-input{
  height:49px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid #dce7e3;
  border-radius:14px;
  background:#fff;
}
.phone-v33-input i{color:#047857}
.phone-v33-input input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#173d34;
  font-size:.87rem;
}
.phone-v33-input input::placeholder{color:#9ca9a4}
.phone-v33-input:focus-within{
  border-color:#10b981;
  box-shadow:0 0 0 3px rgba(16,185,129,.10);
}

.phone-v33-captcha{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.captcha-v33-code,
.phone-v33-captcha input{
  height:48px;
  border-radius:14px;
}
.captcha-v33-code{
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#dcfce7,#f0fdf4);
  border:1px solid #c9e8d7;
  color:#047857;
  font-weight:900;
  letter-spacing:.05em;
}
.phone-v33-captcha input{
  border:1px solid #dce7e3;
  padding:0 12px;
  outline:0;
  color:#173d34;
  background:#fff;
}
.phone-v33-captcha input::placeholder{color:#9ca9a4}
.phone-v33-captcha input:focus{
  border-color:#10b981;
  box-shadow:0 0 0 3px rgba(16,185,129,.10);
}

.phone-v33-button{
  width:100%;
  height:51px;
  border:0;
  border-radius:15px;
  margin-top:18px;
  background:linear-gradient(135deg,#059669,#047857);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:850;
  box-shadow:0 14px 28px rgba(5,150,105,.25);
}

/* bottom */
.phone-v33-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.phone-v33-secure{
  display:flex;
  align-items:center;
  gap:6px;
  color:#80918b;
  font-size:.66rem;
}
.phone-v33-homebar{
  width:112px;
  height:4px;
  border-radius:999px;
  background:#c9d8d2;
}

/* force legacy login elements hidden if any */
.login-v25,.login-pro-shell,.login-v32{display:none!important}

@media(max-width:460px){
  .login-v33{padding:8px}
  .login-v33-caption{display:none}
  .phone-v33,.phone-v33-frame{width:100%}
  .phone-v33-frame{
    max-width:390px;
    height:720px;
    border-radius:32px;
    padding:5px;
  }
  .phone-v33-screen{
    border-radius:27px;
    padding:48px 20px 18px;
  }
}

/* v34 Arsipku-inspired login */
.login-arsip-style{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:34px;
  background:
    radial-gradient(circle at 12% 16%,rgba(255,255,255,.10),transparent 26%),
    radial-gradient(circle at 85% 78%,rgba(255,255,255,.07),transparent 23%),
    linear-gradient(135deg,#073f31 0%,#075e49 34%,#0f766e 66%,#22a874 100%);
}
.login-arsip-grid{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:74px;
  align-items:center;
}
.arsip-hero{color:#fff;max-width:650px}
.arsip-brand-row{display:flex;align-items:center;gap:14px;margin-bottom:54px}
.arsip-brand-logo{
  width:58px;height:58px;border-radius:16px;background:#fff;object-fit:contain;padding:6px;
  box-shadow:0 12px 28px rgba(0,0,0,.13)
}
.arsip-brand-logo.placeholder{display:grid;place-items:center;color:#0f766e;font-size:1.5rem}
.arsip-brand-row>div{display:flex;flex-direction:column}
.arsip-brand-row small{font-size:.72rem;color:rgba(255,255,255,.78)}
.arsip-brand-row strong{font-size:1.15rem;color:#fff}
.arsip-hero-copy h1{
  max-width:640px;
  margin:0;
  color:#fff;
  font-size:3rem;
  line-height:1.07;
  letter-spacing:-.045em;
  font-weight:850;
}
.arsip-hero-copy p{
  max-width:620px;
  margin:18px 0 0;
  color:rgba(255,255,255,.80);
  font-size:1rem;
  line-height:1.7;
}
.arsip-feature-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.arsip-feature-row span{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 11px;border-radius:10px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;font-size:.75rem;font-weight:750
}
.arsip-clock-card{
  margin-top:32px;
  width:310px;
  padding:13px 14px;
  border-radius:14px;
  background:rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.10);
  display:flex;align-items:center;justify-content:space-between
}
.arsip-clock-card>div:first-child{display:flex;flex-direction:column}
.arsip-clock-card strong{font-size:1.25rem;letter-spacing:.04em}
.arsip-clock-card span{font-size:.67rem;color:rgba(255,255,255,.72)}
.arsip-signal{display:flex;gap:6px;color:#dff7ee}

.arsip-login-wrap{display:flex;justify-content:center}
.arsip-phone{
  width:390px;
  min-height:720px;
  border-radius:36px;
  padding:8px;
  background:#102a23;
  box-shadow:0 38px 90px rgba(0,34,27,.38);
}
.arsip-phone-top{
  height:37px;
  padding:8px 13px 0;
  display:flex;align-items:center;justify-content:space-between;
  color:#d8eee6;font-size:.68rem;font-weight:800
}
.arsip-phone-top>div{display:flex;gap:5px}
.arsip-phone-body{
  min-height:668px;
  border-radius:29px;
  background:linear-gradient(180deg,#ffffff 0%,#f6faf8 100%);
  padding:28px 27px 22px;
  display:flex;flex-direction:column
}
.arsip-login-brand{text-align:center}
.arsip-login-brand img,.arsip-login-logo-placeholder{
  width:72px;height:72px;margin:0 auto 11px;border-radius:20px;
  background:#fff;border:1px solid #dce8e3;object-fit:contain;padding:6px;
  box-shadow:0 10px 24px rgba(34,73,61,.08)
}
.arsip-login-logo-placeholder{display:grid;place-items:center;color:#0f766e;font-size:1.65rem}
.arsip-login-brand h2{margin:2px 0 1px;color:#173d34;font-size:1.25rem;font-weight:850}
.arsip-login-brand span{font-size:.66rem;color:#758780;text-transform:uppercase;letter-spacing:.06em}
.arsip-login-copy{margin-top:20px}
.arsip-login-copy h3{margin:0;color:#1d4339;font-size:1.1rem;font-weight:850}
.arsip-login-copy p{margin:4px 0 0;color:#7b8b86;font-size:.75rem}
.arsip-login-form{margin-top:20px}
.arsip-field{margin-bottom:13px}
.arsip-field label{display:block;margin-bottom:6px;color:#405a52;font-size:.72rem;font-weight:850}
.arsip-field>div:not(.arsip-captcha){
  height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;
  border:1px solid #dce7e3;border-radius:12px;background:#fff
}
.arsip-field i{color:#0f766e}
.arsip-field input{
  width:100%;border:0;outline:0;background:transparent;
  color:#193f36;font-size:.87rem
}
.arsip-field input::placeholder{color:#9aa8a3}
.arsip-field>div:focus-within{
  border-color:#0f766e;
  box-shadow:0 0 0 3px rgba(15,118,110,.09)
}
.arsip-captcha{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.arsip-captcha strong,.arsip-captcha input{
  height:48px;border-radius:12px
}
.arsip-captcha strong{
  display:grid;place-items:center;
  background:#e9f7f1;border:1px solid #d3eadf;
  color:#0f766e;font-weight:900
}
.arsip-captcha input{
  border:1px solid #dce7e3!important;
  padding:0 12px!important;background:#fff!important
}
.arsip-login-button{
  width:100%;height:49px;margin-top:17px;border:0;border-radius:12px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;font-weight:850;
  background:linear-gradient(135deg,#0f8a68,#087457);
  box-shadow:0 11px 24px rgba(15,118,110,.20)
}
.arsip-login-footer{
  margin-top:auto;padding-top:20px;text-align:center;
  border-top:1px solid #e8efec;display:flex;flex-direction:column;gap:3px
}
.arsip-login-footer span{font-size:.68rem;color:#6f817b}
.arsip-login-footer small{font-size:.62rem;color:#9aa7a3}

/* supersede earlier login layouts */
.login-v33,.login-v32,.login-pro-shell,.login-v25{display:none!important}

@media(max-width:920px){
  .login-arsip-style{padding:18px}
  .login-arsip-grid{grid-template-columns:1fr;gap:20px}
  .arsip-hero{display:none}
}
@media(max-width:460px){
  .login-arsip-style{padding:6px}
  .arsip-phone{width:100%;min-height:700px;border-radius:28px;padding:5px}
  .arsip-phone-body{min-height:656px;border-radius:23px;padding:26px 20px 18px}
}

/* v35: date/time lives inside the phone status bar */
.arsip-phone-top{
  height:48px!important;
  padding:8px 14px 3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#e5f5ef!important;
}
.phone-status-datetime{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.05;
}
.phone-status-datetime strong{
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.02em;
}
.phone-status-datetime span{
  margin-top:3px;
  max-width:235px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#bcd8cf;
  font-size:.51rem;
  font-weight:650;
}
.phone-status-icons{
  display:flex!important;
  align-items:center;
  gap:6px!important;
  flex-shrink:0;
  color:#fff;
  font-size:.72rem;
}
.arsip-phone-body{
  min-height:657px!important;
}
.arsip-clock-card{display:none!important}

/* v36 publication logic */
[data-field="quartile"]{display:none}

/* v37 reports */
.report-filter-pro{background:#fff;border:1px solid #dde8e4;border-radius:18px;padding:18px 20px;box-shadow:0 10px 28px rgba(25,61,51,.05)}.report-filter-pro label{font-size:.75rem;font-weight:850;margin-bottom:6px}.report-period-summary{display:grid;grid-template-columns:2fr 1fr;gap:12px}.report-period-summary>div{background:linear-gradient(135deg,#fff,var(--app-accent-soft));border:1px solid #e0e9e6;border-radius:15px;padding:13px 16px}.report-period-summary span{display:block;font-size:.7rem;color:#71837d}.report-period-summary b{color:#21483e}.report-card-pro{display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#fbfdfc);border:1px solid #dfe9e6;border-radius:18px;padding:18px;box-shadow:0 9px 26px rgba(24,62,52,.045)}.report-card-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:var(--app-accent-soft);color:var(--app-accent);font-size:1.15rem}.report-card-body h5{margin:13px 0 5px;color:#21463d}.report-card-body p{font-size:.77rem;color:#748680}.report-evidence-link{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border-radius:10px;background:#f4f8f6;color:#63766f;font-size:.69rem}.report-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:15px}
@media(max-width:700px){.report-period-summary{grid-template-columns:1fr}}

/* v37 professional login */
.login-v37{min-height:100vh;display:grid;place-items:center;padding:34px;background:linear-gradient(135deg,#043d2f 0%,#075e48 38%,#0f766e 70%,#23a77b 100%);position:relative;overflow:hidden}.login-v37:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.055);left:-220px;top:-220px}.login-v37:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-160px;bottom:-190px}.login-v37-container{width:min(1120px,100%);display:grid;grid-template-columns:1fr 405px;gap:72px;align-items:center;position:relative;z-index:2}.login-v37-hero{color:#fff}.login-v37-brand{display:flex;align-items:center;gap:13px;margin-bottom:62px}.login-v37-brand img,.login-v37-logo{width:58px;height:58px;border-radius:15px;background:#fff;padding:6px;object-fit:contain;box-shadow:0 12px 28px rgba(0,0,0,.12)}.login-v37-logo{display:grid;place-items:center;color:#0f766e;font-size:1.5rem}.login-v37-brand>div{display:flex;flex-direction:column}.login-v37-brand small{color:rgba(255,255,255,.75);font-size:.7rem}.login-v37-brand strong{font-size:1.16rem}.login-v37-copy>span{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.login-v37-copy h1{font-size:3.05rem;line-height:1.06;letter-spacing:-.045em;margin:17px 0 13px;color:#fff;font-weight:850}.login-v37-copy p{max-width:590px;color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.7}.login-v37-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.login-v37-features>div{padding:12px;border-radius:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:auto 1fr;column-gap:8px}.login-v37-features i{grid-row:1/3;font-size:1.1rem}.login-v37-features b{font-size:.76rem}.login-v37-features small{font-size:.62rem;color:rgba(255,255,255,.68)}.login-v37-card-wrap{display:flex;justify-content:center}.login-v37-card{width:390px;border-radius:29px;background:#0d2b23;padding:7px;box-shadow:0 38px 90px rgba(0,34,26,.38)}.login-v37-status{height:52px;padding:7px 12px 5px;display:flex;justify-content:space-between;align-items:center;color:#fff}.login-v37-status>div{display:flex;flex-direction:column}.login-v37-status strong{font-size:.73rem}.login-v37-status span{font-size:.51rem;color:#bcd7ce}.login-v37-status aside{display:flex;gap:6px;font-size:.72rem}.login-v37-card-body{background:linear-gradient(180deg,#fff,#f5faf8);border-radius:23px;padding:28px 26px 22px}.login-v37-card-head{text-align:center}.login-v37-card-head img,.login-v37-card-logo{width:72px;height:72px;margin:0 auto 13px;border-radius:20px;background:#fff;border:1px solid #d9e7e2;padding:6px;object-fit:contain}.login-v37-card-logo{display:grid;place-items:center;color:#0f766e;font-size:1.7rem}.login-v37-card-head h2{font-size:1.5rem;color:#173d34;margin:0 0 4px;font-weight:850}.login-v37-card-head p{font-size:.74rem;color:#758781}.login-v37-card form{margin-top:23px}.login-v37-field{margin-bottom:13px}.login-v37-field label{display:block;font-size:.71rem;font-weight:850;color:#3f584f;margin-bottom:5px}.login-v37-field>div:not(.login-v37-captcha){height:49px;display:flex;align-items:center;gap:9px;padding:0 13px;background:#fff;border:1px solid #dce7e3;border-radius:12px}.login-v37-field i{color:#0f766e}.login-v37-field input{width:100%;border:0;outline:0;background:transparent;color:#183f35;font-size:.86rem}.login-v37-captcha{display:grid;grid-template-columns:1fr 1fr;gap:9px}.login-v37-captcha strong,.login-v37-captcha input{height:47px;border-radius:12px}.login-v37-captcha strong{display:grid;place-items:center;background:#e7f6ef;border:1px solid #d1e8de;color:#0f766e}.login-v37-captcha input{border:1px solid #dce7e3!important;padding:0 11px!important;background:#fff!important}.login-v37-button{width:100%;height:50px;border:0;border-radius:12px;margin-top:17px;color:#fff;font-weight:850;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#0f8a68,#087056);box-shadow:0 12px 25px rgba(15,118,110,.2)}.login-v37-footer{text-align:center;margin-top:23px;padding-top:16px;border-top:1px solid #e5ece9;color:#82918c;font-size:.66rem}
.login-arsip-style,.login-v33,.login-v32,.login-v25,.login-pro-shell{display:none!important}
@media(max-width:900px){.login-v37-container{grid-template-columns:1fr}.login-v37-hero{display:none}.login-v37{padding:12px}}@media(max-width:440px){.login-v37{padding:5px}.login-v37-card{width:100%;border-radius:24px;padding:5px}.login-v37-card-body{border-radius:19px;padding:24px 20px 18px}}

/* v38 reports clean */
.report-card-pro{min-height:220px}
.report-card-actions{justify-content:flex-start}
.report-card-actions .btn{min-width:84px}

/* v39 period + tridharma form polish */
.period-layout{display:grid;grid-template-columns:2fr 1fr;gap:14px}.period-form-card,.period-info-card{background:#fff;border:1px solid #dfe9e6;border-radius:18px;padding:18px 20px;box-shadow:0 9px 26px rgba(24,62,52,.045)}.period-card-head{margin-bottom:14px}.period-card-head>div{display:flex;flex-direction:column}.period-card-head span,.period-info-card span{font-size:.75rem;color:#71837d}.period-info-card{display:flex;align-items:flex-start;gap:11px;background:linear-gradient(135deg,#fff,var(--app-accent-soft))}.period-info-card i{font-size:1.2rem;color:var(--app-accent)}.period-info-card>div{display:flex;flex-direction:column}
.tridharma-form-pro{border-radius:20px!important;overflow:hidden}.tridharma-form-pro .card-header-clean{background:linear-gradient(135deg,#fff,var(--app-accent-soft));padding:17px 20px}.tridharma-grid{padding:20px!important}.tridharma-grid>div{display:flex;flex-direction:column;justify-content:flex-start}.tridharma-grid label{font-size:.74rem;font-weight:850;color:#3f584f;margin-bottom:6px}.tridharma-grid .form-control,.tridharma-grid .form-select{min-height:44px;border-radius:11px;background:#fff}.tridharma-grid textarea.form-control{min-height:92px}.tridharma-grid [data-field="title"],.tridharma-grid [data-field="activity"],.tridharma-grid [data-field="output"],.tridharma-grid [data-field="evidence_url"]{grid-column:auto}.tridharma-grid [data-field="evidence_url"]{background:#f8fbfa;border:1px dashed #d5e4df;border-radius:13px;padding:12px}.tridharma-grid .form-actions{display:flex;justify-content:flex-end!important;align-items:center!important;margin-top:4px}
[data-field="quartile"]{display:none}
@media(max-width:800px){.period-layout{grid-template-columns:1fr}.tridharma-grid{padding:15px!important}}

/* v40 publication ISSN/ISBN + form alignment */
.tridharma-grid [data-field="title"]{grid-column:span 2}
.tridharma-grid [data-field="title"] .form-control{min-height:46px}
.tridharma-grid .form-actions{display:flex!important;justify-content:flex-end!important;width:100%!important}
.tridharma-grid .form-actions .btn{margin-left:auto!important}
.modal-footer{justify-content:flex-end!important}
.table td:nth-child(3),.table th:nth-child(3){min-width:260px}
@media(max-width:768px){
  .tridharma-grid [data-field="title"]{grid-column:auto}
  .table td:nth-child(3),.table th:nth-child(3){min-width:220px}
}

/* v42 schedule save + Penunjang form */
.schedule-save-row{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  width:100%!important;
  grid-column:1/-1!important;
}
.schedule-save-row .btn{margin-left:auto!important}

/* Penunjang follows the reference form hierarchy */
.module-form-penunjang .tridharma-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px!important;
}
.module-form-penunjang .tridharma-grid>div{grid-column:span 4}
.module-form-penunjang .tridharma-grid [data-field="year"]{grid-column:span 3}
.module-form-penunjang .tridharma-grid [data-field="category"]{grid-column:span 9}
.module-form-penunjang .tridharma-grid [data-field="activity"]{grid-column:span 8}
.module-form-penunjang .tridharma-grid [data-field="activity_type"]{grid-column:span 4}
.module-form-penunjang .tridharma-grid [data-field="institution"]{grid-column:span 6}
.module-form-penunjang .tridharma-grid [data-field="level"]{grid-column:span 3}
.module-form-penunjang .tridharma-grid [data-field="assignment_no"]{grid-column:span 3}
.module-form-penunjang .tridharma-grid [data-field="start_date"],
.module-form-penunjang .tridharma-grid [data-field="end_date"]{grid-column:span 3}
.module-form-penunjang .tridharma-grid [data-field="role"]{grid-column:span 6}
.module-form-penunjang .tridharma-grid [data-field="evidence_url"]{grid-column:span 12}
.module-form-penunjang .tridharma-grid .form-actions{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
}
.module-form-penunjang [data-field="category"] .form-select{
  min-height:46px;
}
.module-form-penunjang [data-field="activity"] .form-control{
  min-height:46px;
}
@media(max-width:900px){
  .module-form-penunjang .tridharma-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .module-form-penunjang .tridharma-grid>div,
  .module-form-penunjang .tridharma-grid [data-field]{grid-column:span 1!important}
  .module-form-penunjang .tridharma-grid [data-field="category"],
  .module-form-penunjang .tridharma-grid [data-field="activity"],
  .module-form-penunjang .tridharma-grid [data-field="evidence_url"],
  .module-form-penunjang .tridharma-grid .form-actions{grid-column:1/-1!important}
}
@media(max-width:600px){
  .module-form-penunjang .tridharma-grid{grid-template-columns:1fr!important}
  .module-form-penunjang .tridharma-grid [data-field],
  .module-form-penunjang .tridharma-grid .form-actions{grid-column:1!important}
}

/* v43 admin masters + repaired penunjang form */
.admin-master-form,.admin-master-layout .admin-master-form{background:#fff;border:1px solid #dfe8e5;border-radius:18px;padding:18px 20px;box-shadow:0 10px 28px rgba(23,60,50,.05)}.admin-master-head{margin-bottom:14px}.admin-master-head>div{display:flex;flex-direction:column}.admin-master-head span{font-size:.75rem;color:#71837d}.admin-master-form label{font-size:.74rem;font-weight:850;margin-bottom:6px;color:#40584f}

/* clean Penunjang layout */
.module-form-penunjang .tridharma-grid{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:16px!important;
}
.module-form-penunjang .tridharma-grid>div{grid-column:auto!important}
.module-form-penunjang .tridharma-grid [data-field="year"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="category"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="activity"]{grid-column:1/-1!important}
.module-form-penunjang .tridharma-grid [data-field="activity_type"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="institution"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="level"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="assignment_no"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="start_date"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="end_date"]{grid-column:span 1!important}
.module-form-penunjang .tridharma-grid [data-field="role"]{grid-column:1/-1!important}
.module-form-penunjang .tridharma-grid [data-field="evidence_url"]{grid-column:1/-1!important}
.module-form-penunjang .tridharma-grid .form-actions{grid-column:1/-1!important}
.module-form-penunjang [data-field="year"] .form-control{width:100%!important;min-width:0!important}
.module-form-penunjang [data-field="category"] .form-select{width:100%!important;min-height:44px}
.module-form-penunjang [data-field="activity"] .form-control{width:100%!important;min-height:46px}
.module-form-penunjang [data-field="evidence_url"]{background:#f8fbfa;border:1px dashed #d5e4df;border-radius:14px;padding:14px}
@media(max-width:760px){.module-form-penunjang .tridharma-grid{grid-template-columns:1fr!important}.module-form-penunjang .tridharma-grid [data-field],.module-form-penunjang .tridharma-grid .form-actions{grid-column:1!important}}

/* v44 admin + SINTA sync */
.researcher-title-row{display:flex!important;align-items:center;gap:10px}
.publication-sync-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#f2fbf6,#fff);border:1px solid #d8eade;border-radius:16px;padding:14px 16px}
.publication-sync-card>div{display:flex;align-items:center;gap:10px}.publication-sync-card>div>i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e4f6eb;color:#198754;font-size:1.05rem}
.publication-sync-card span{display:flex;flex-direction:column}.publication-sync-card small{font-size:.72rem;color:#71837d}.publication-sync-card label{font-size:.68rem;font-weight:800;margin-bottom:4px}
@media(max-width:800px){.publication-sync-card{flex-direction:column;align-items:stretch}.researcher-title-row{align-items:flex-start!important;flex-wrap:wrap}}

/* v45 simplified researcher identity */
.research-sync-box{
  background:linear-gradient(135deg,#f8fbfa,#ffffff);
  border:1px solid #dfe9e6;
  border-radius:17px;
  padding:16px 18px;
}
.research-sync-box label{font-size:.75rem;font-weight:850;color:#3f584f;margin-bottom:6px}
.research-sync-results{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.research-sync-results>div{
  background:linear-gradient(135deg,#fff,var(--app-accent-soft));
  border:1px solid #dfe8e4;
  border-radius:13px;
  padding:11px 12px;
}
.research-sync-results span{display:block;font-size:.67rem;color:#71837d}
.research-sync-results b{display:block;margin-top:3px;color:#21483e;font-size:1rem}
.research-sync-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.research-sync-action small{color:#73847e;font-size:.72rem}
@media(max-width:850px){.research-sync-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.research-sync-results{grid-template-columns:1fr}}

/* v46 dedicated SINTA actions */
.research-sync-separate{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.research-id-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.research-id-form>div{min-width:0}
.research-id-form .btn{height:44px;white-space:nowrap}
.research-sync-form{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.research-sync-form .btn{height:44px;white-space:nowrap}
.research-sync-form small{font-size:.68rem;color:#71837d}
@media(max-width:800px){
  .research-sync-separate{grid-template-columns:1fr}
  .research-id-form{grid-template-columns:1fr}
  .research-id-form .btn,.research-sync-form .btn{width:100%}
}

/* v49 research team */
.module-form-penelitian .tridharma-grid [data-field="title"]{grid-column:span 2}
.module-form-penelitian .tridharma-grid [data-field="research_type"],
.module-form-penelitian .tridharma-grid [data-field="role"]{min-width:0}
.research-members-box{background:#f8fbfa;border:1px dashed #cfe1da;border-radius:14px;padding:14px}
.research-members-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.research-members-head>div{display:flex;flex-direction:column}.research-members-head span{font-size:.72rem;color:#71837d}
.research-members-list{display:flex;flex-direction:column;gap:8px}
.research-member-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.research-member-row .btn{min-width:44px}
@media(max-width:700px){.research-members-head{align-items:flex-start;flex-direction:column}.research-members-head .btn{width:100%}}

/* v50 publication cleanup */
.publication-sync-form-row{display:grid;grid-template-columns:140px 140px auto;gap:10px;align-items:end}
.publication-sync-form-row label{display:block;font-size:.68rem;font-weight:800;margin-bottom:4px}
.publication-sync-form-row .sync-button-col{display:flex;flex-direction:column}
.publication-sync-form-row .sync-button-col .btn{height:31px;white-space:nowrap}
.publication-title-cell{min-width:320px!important;max-width:440px;white-space:normal!important}
.publication-title-cell b{display:block;line-height:1.35}
.publication-dashboard-table{min-width:900px}
.publication-dashboard-table th{white-space:nowrap}
.publication-dashboard-table td:nth-child(3){min-width:320px;max-width:440px;white-space:normal}
.publication-dashboard-table td:nth-child(4){min-width:190px;max-width:280px;white-space:normal}
.publication-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-top:1px solid #e7efec;background:#fbfdfc}
.publication-pager>span{font-size:.72rem;color:#71837d}.publication-pager>div{display:flex;align-items:center;gap:5px}
@media(max-width:760px){.publication-sync-form-row{grid-template-columns:1fr}.publication-pager{align-items:flex-start;flex-direction:column}}

/* v51 publication edit + SINTA compact toolbar */
.research-sync-toolbar{
  display:grid;
  grid-template-columns:minmax(0,560px) auto;
  gap:10px;
  align-items:end;
}
.research-id-inline{
  display:grid;
  grid-template-columns:minmax(180px,300px) auto;
  gap:10px;
  align-items:end;
}
.research-id-control{min-width:0}
.research-id-control label{
  display:block;
  font-size:.75rem;
  font-weight:850;
  color:#3f584f;
  margin-bottom:6px;
}
.research-id-inline .btn,
.research-sync-inline .btn{
  height:44px;
  white-space:nowrap;
}
.research-sync-inline{display:flex;align-items:end}
.research-sync-note{
  margin-top:7px;
  color:#71837d;
  font-size:.71rem;
}

/* Publication edit form: consistent 12-column admin form */
.publication-edit-modal .modal-header{
  background:linear-gradient(135deg,#fff,var(--app-accent-soft));
  border-bottom:1px solid #e2ebe8;
}
.publication-edit-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px!important;
  padding:20px!important;
}
.publication-edit-grid>div{
  grid-column:span 3!important;
  width:auto!important;
  max-width:none!important;
}
.publication-edit-grid [data-field="title"]{grid-column:span 8!important}
.publication-edit-grid [data-field="publication_type"]{grid-column:span 4!important}
.publication-edit-grid [data-field="journal"]{grid-column:span 6!important}
.publication-edit-grid [data-field="issn_isbn"]{grid-column:span 3!important}
.publication-edit-grid [data-field="year"]{grid-column:span 3!important}
.publication-edit-grid [data-field="volume"],
.publication-edit-grid [data-field="issue"],
.publication-edit-grid [data-field="pages"]{grid-column:span 2!important}
.publication-edit-grid [data-field="indexer"]{grid-column:span 3!important}
.publication-edit-grid [data-field="quartile"]{grid-column:span 2!important}
.publication-edit-grid [data-field="authorship"]{grid-column:span 3!important}
.publication-edit-grid [data-field="doi"]{grid-column:span 6!important}
.publication-edit-grid [data-field="url"]{grid-column:span 6!important}
.publication-edit-grid [data-field="evidence_url"]{
  grid-column:1/-1!important;
  background:#f8fbfa;
  border:1px dashed #d6e4df;
  border-radius:14px;
  padding:14px;
}
.publication-edit-grid label{
  font-size:.73rem;
  font-weight:850;
  color:#40584f;
  margin-bottom:6px;
}
.publication-edit-grid .form-control,
.publication-edit-grid .form-select{
  min-height:43px;
  border-radius:10px;
}

@media(max-width:900px){
  .research-sync-toolbar{grid-template-columns:1fr}
  .research-id-inline{grid-template-columns:1fr auto}
  .publication-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .publication-edit-grid>div,
  .publication-edit-grid [data-field]{grid-column:span 1!important}
  .publication-edit-grid [data-field="title"],
  .publication-edit-grid [data-field="journal"],
  .publication-edit-grid [data-field="doi"],
  .publication-edit-grid [data-field="url"],
  .publication-edit-grid [data-field="evidence_url"]{grid-column:1/-1!important}
}
@media(max-width:600px){
  .research-id-inline{grid-template-columns:1fr}
  .research-id-inline .btn,.research-sync-inline .btn{width:100%}
  .publication-edit-grid{grid-template-columns:1fr!important}
  .publication-edit-grid [data-field]{grid-column:1!important}
}

/* v52 - stable Publication Edit modal */
.publication-edit-shell{
  border-radius:20px!important;
  overflow:hidden!important;
  border:0!important;
}
.publication-edit-shell .modal-header{
  padding:18px 22px!important;
  background:linear-gradient(135deg,#ffffff,#f3faf6)!important;
  border-bottom:1px solid #dfe9e5!important;
}
.publication-edit-shell .modal-header h5{
  font-size:1.18rem!important;
  font-weight:850!important;
  color:#173d34!important;
  margin:0!important;
}
.publication-edit-shell .modal-header small{
  color:#72837d!important;
  font-size:.74rem!important;
}
.publication-edit-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px 16px!important;
  padding:20px 22px!important;
  background:#fff!important;
}
.publication-edit-grid .publication-field{
  min-width:0!important;
  width:auto!important;
  margin:0!important;
}
.publication-edit-grid .publication-field label{
  display:block!important;
  margin:0 0 6px!important;
  font-size:.72rem!important;
  font-weight:850!important;
  color:#3f584f!important;
}
.publication-edit-grid .publication-field .form-control,
.publication-edit-grid .publication-field .form-select{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  border-radius:11px!important;
  border:1px solid #dce7e3!important;
  background:#fff!important;
  box-shadow:none!important;
}
.publication-edit-grid .publication-field .form-control:focus,
.publication-edit-grid .publication-field .form-select:focus{
  border-color:#0f766e!important;
  box-shadow:0 0 0 3px rgba(15,118,110,.08)!important;
}

/* Row 1 */
.publication-edit-grid [data-field="year"]{grid-column:span 2!important}
.publication-edit-grid [data-field="title"]{grid-column:span 10!important}

/* Row 2 */
.publication-edit-grid [data-field="publication_type"]{grid-column:span 3!important}
.publication-edit-grid [data-field="journal"]{grid-column:span 4!important}
.publication-edit-grid [data-field="indexer"]{grid-column:span 3!important}
.publication-edit-grid [data-field="quartile"]{grid-column:span 2!important}

/* Row 3 */
.publication-edit-grid [data-field="issn_isbn"]{grid-column:span 3!important}
.publication-edit-grid [data-field="volume"]{grid-column:span 2!important}
.publication-edit-grid [data-field="issue"]{grid-column:span 2!important}
.publication-edit-grid [data-field="pages"]{grid-column:span 2!important}
.publication-edit-grid [data-field="authorship"]{grid-column:span 3!important}

/* Row 4 */
.publication-edit-grid [data-field="doi"]{grid-column:span 4!important}
.publication-edit-grid [data-field="url"]{grid-column:span 8!important}

/* Evidence full width */
.publication-edit-grid [data-field="evidence_url"]{
  grid-column:1/-1!important;
  background:#f8fbfa!important;
  border:1px dashed #cfe0da!important;
  border-radius:14px!important;
  padding:14px!important;
}
.publication-edit-grid [data-field="evidence_url"] .form-control{
  background:#fff!important;
}

/* Title input */
.publication-edit-grid [data-field="title"] .form-control{
  min-height:48px!important;
}

/* Footer */
.publication-edit-shell .modal-footer{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding:15px 22px!important;
  background:#fbfdfc!important;
  border-top:1px solid #e3ebe8!important;
}
.publication-edit-shell .modal-footer .btn{
  min-height:42px!important;
  border-radius:10px!important;
  padding-left:18px!important;
  padding-right:18px!important;
}

/* Prevent legacy rules from shrinking edit inputs */
.publication-edit-grid input,
.publication-edit-grid select,
.publication-edit-grid textarea{
  max-width:none!important;
}

/* Publication table cleanup */
.publication-table-panel .table-responsive,
.publication-dashboard-table{
  overflow-x:auto!important;
}
.publication-title-cell{
  min-width:300px!important;
  max-width:430px!important;
  white-space:normal!important;
}

@media(max-width:992px){
  .publication-edit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .publication-edit-grid .publication-field,
  .publication-edit-grid [data-field]{
    grid-column:span 1!important;
  }
  .publication-edit-grid [data-field="title"],
  .publication-edit-grid [data-field="journal"],
  .publication-edit-grid [data-field="url"],
  .publication-edit-grid [data-field="evidence_url"]{
    grid-column:1/-1!important;
  }
}
@media(max-width:600px){
  .publication-edit-grid{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  .publication-edit-grid [data-field]{
    grid-column:1!important;
  }
  .publication-edit-shell .modal-footer{
    flex-direction:column-reverse!important;
  }
  .publication-edit-shell .modal-footer .btn{
    width:100%!important;
  }
}

/* v53 publication modal rebuilt outside table DOM */
.publication-edit-modal-wrap .modal-dialog{max-width:1040px!important}
.publication-edit-shell-v53{
  border:0!important;border-radius:20px!important;overflow:hidden!important;
  box-shadow:0 24px 70px rgba(22,55,46,.20)!important
}
.publication-edit-shell-v53 .modal-header{
  padding:18px 22px!important;background:linear-gradient(135deg,#fff,#f1f9f5)!important;
  border-bottom:1px solid #dde8e4!important
}
.publication-edit-shell-v53 .modal-header h5{margin:0;font-size:1.2rem;font-weight:850;color:#173d34}
.publication-edit-shell-v53 .modal-header small{display:block;margin-top:3px;color:#72837d;font-size:.74rem}
.publication-form-v53{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:15px 16px!important;padding:20px 22px!important;background:#fff!important
}
.publication-form-v53 .pub-field{min-width:0!important;margin:0!important}
.publication-form-v53 label,.pub-evidence label{
  display:block;margin-bottom:6px;font-size:.73rem;font-weight:850;color:#40584f
}
.publication-form-v53 .form-control,.publication-form-v53 .form-select,.pub-evidence .form-control{
  width:100%!important;min-width:0!important;max-width:none!important;min-height:44px!important;
  border:1px solid #dce7e3!important;border-radius:10px!important;background:#fff!important
}
.publication-form-v53 .form-control:focus,.publication-form-v53 .form-select:focus{
  border-color:#0f766e!important;box-shadow:0 0 0 3px rgba(15,118,110,.09)!important
}
.pub-year{grid-column:span 2}.pub-title{grid-column:span 10}
.pub-type{grid-column:span 3}.pub-journal{grid-column:span 4}
.pub-indexer{grid-column:span 3}.pub-quartile{grid-column:span 2}
.pub-issn{grid-column:span 3}.pub-volume{grid-column:span 2}.pub-issue{grid-column:span 2}
.pub-pages{grid-column:span 2}.pub-authorship{grid-column:span 3}
.pub-doi{grid-column:span 4}.pub-url{grid-column:span 8}
.pub-evidence{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;
  padding:14px;border:1px dashed #cedfd9;border-radius:14px;background:#f8fbfa
}
.current-evidence{display:block;margin-top:5px;color:#6f837b;font-size:.68rem}
.publication-edit-shell-v53 .modal-footer{
  display:flex!important;justify-content:flex-end!important;gap:8px!important;
  padding:14px 22px!important;border-top:1px solid #e1eae7!important;background:#fbfdfc!important
}
@media(max-width:850px){
  .publication-form-v53{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .publication-form-v53 .pub-field{grid-column:span 1!important}
  .publication-form-v53 .pub-title,.publication-form-v53 .pub-journal,
  .publication-form-v53 .pub-url,.publication-form-v53 .pub-evidence{grid-column:1/-1!important}
  .pub-evidence{grid-template-columns:1fr}
}
@media(max-width:560px){
  .publication-form-v53{grid-template-columns:1fr!important;padding:15px!important}
  .publication-form-v53 .pub-field,.publication-form-v53 .pub-evidence{grid-column:1!important}
  .publication-edit-shell-v53 .modal-footer{flex-direction:column-reverse}
  .publication-edit-shell-v53 .modal-footer .btn{width:100%}
}

/* v55 Arsip Lainnya */
.other-archive-hero{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-bottom:18px;padding:20px 22px;border-radius:18px;
  background:linear-gradient(135deg,#fff,var(--app-accent-soft));
  border:1px solid #dfe9e5
}
.other-archive-hero h3{margin:4px 0 5px;color:#21483e}
.other-archive-hero p{margin:0;max-width:720px;color:#71837d;font-size:.8rem}
.other-archive-format{
  min-width:190px;display:grid;grid-template-columns:auto 1fr;gap:2px 9px;
  align-items:center;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #dde8e4
}
.other-archive-format i{grid-row:1/4;font-size:1.45rem;color:var(--app-accent)}
.other-archive-format span,.other-archive-format small{font-size:.68rem;color:#758780}
.other-archive-format b{font-size:.78rem;color:#294d43}
.other-archive-form{
  display:grid!important;grid-template-columns:1.1fr 1fr 1.2fr;gap:14px!important;align-items:end
}
.other-archive-form label,.other-archive-edit-grid label{
  display:block;font-size:.74rem;font-weight:850;color:#40584f;margin-bottom:6px
}
.other-archive-form small{display:block;margin-top:5px;font-size:.68rem;color:#758780}
.other-action{grid-column:1/-1;display:flex;justify-content:flex-end}
.other-doc-name{display:flex;align-items:center;gap:8px;min-width:250px}
.other-doc-name i{color:var(--app-accent);font-size:1rem}
.other-archive-edit-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px
}
.other-archive-edit-grid .edit-name,.other-archive-edit-grid .edit-link{grid-column:1/-1}

@media(max-width:850px){
  .other-archive-hero{align-items:flex-start;flex-direction:column}
  .other-archive-format{width:100%}
  .other-archive-form{grid-template-columns:1fr!important}
  .other-action{grid-column:1!important}
}
@media(max-width:600px){
  .other-archive-edit-grid{grid-template-columns:1fr}
  .other-archive-edit-grid>div{grid-column:1!important}
}

/* v56 repaired Penunjang form */
.module-form-penunjang .tridharma-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px 16px!important;
  margin:0!important;
  padding:20px!important;
}
.module-form-penunjang .tridharma-grid>div{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.module-form-penunjang .tridharma-grid [data-field="year"]{grid-column:span 3!important}
.module-form-penunjang .tridharma-grid [data-field="category"]{grid-column:span 9!important}
.module-form-penunjang .tridharma-grid [data-field="activity"]{grid-column:1/-1!important}
.module-form-penunjang .tridharma-grid [data-field="activity_type"]{grid-column:span 4!important}
.module-form-penunjang .tridharma-grid [data-field="institution"]{grid-column:span 5!important}
.module-form-penunjang .tridharma-grid [data-field="level"]{grid-column:span 3!important}
.module-form-penunjang .tridharma-grid [data-field="assignment_no"]{grid-column:span 4!important}
.module-form-penunjang .tridharma-grid [data-field="start_date"]{grid-column:span 4!important}
.module-form-penunjang .tridharma-grid [data-field="end_date"]{grid-column:span 4!important}
.module-form-penunjang .tridharma-grid [data-field="role"]{grid-column:span 8!important}
.module-form-penunjang .tridharma-grid [data-field="evidence_url"]{
  grid-column:1/-1!important;
  padding:14px!important;
  background:#f8fbfa!important;
  border:1px dashed #d3e2dd!important;
  border-radius:14px!important;
}
.module-form-penunjang .tridharma-grid .form-actions{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  padding-top:4px!important;
}
.module-form-penunjang .tridharma-grid label{
  display:block!important;
  margin:0 0 6px!important;
  font-size:.74rem!important;
  font-weight:850!important;
  color:#40584f!important;
}
.module-form-penunjang .tridharma-grid .form-control,
.module-form-penunjang .tridharma-grid .form-select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:44px!important;
  border-radius:10px!important;
}

/* v56 profile save */
.profile-main-form{display:block}
.profile-section-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e6eeeb;
}
.profile-savebar-top{
  margin-top:16px;
  border-radius:14px;
}
@media(max-width:850px){
  .module-form-penunjang .tridharma-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .module-form-penunjang .tridharma-grid [data-field]{
    grid-column:span 1!important;
  }
  .module-form-penunjang .tridharma-grid [data-field="category"],
  .module-form-penunjang .tridharma-grid [data-field="activity"],
  .module-form-penunjang .tridharma-grid [data-field="evidence_url"],
  .module-form-penunjang .tridharma-grid .form-actions{
    grid-column:1/-1!important;
  }
}
@media(max-width:600px){
  .module-form-penunjang .tridharma-grid{grid-template-columns:1fr!important}
  .module-form-penunjang .tridharma-grid [data-field],
  .module-form-penunjang .tridharma-grid .form-actions{grid-column:1!important}
  .profile-section-actions .btn{width:100%}
}

/* v57 dynamic career staircase */
.career-stair-card{
  overflow:hidden;
  border:1px solid #dce8e3;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 38px rgba(23,61,50,.07);
}
.career-stair-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:20px 22px 16px;
  border-bottom:1px solid #e4ece9;
  background:linear-gradient(135deg,#fff,#f2faf6);
}
.career-stair-head h4{margin:5px 0 5px;color:#183f35;font-weight:850}
.career-stair-head p{margin:0;color:#71837d;font-size:.79rem;max-width:700px}
.career-stair-summary{
  min-width:190px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}
.career-stair-summary span{
  padding:5px 9px;border-radius:999px;background:#e4f6ed;
  color:#16745d;font-size:.66rem;font-weight:850
}
.career-stair-summary b{margin-top:7px;font-size:.86rem;color:#21483e}
.career-stair-summary small{font-size:.66rem;color:#7b8c86}

.career-stair-stage{
  position:relative;
  min-height:500px;
  padding:52px 28px 54px;
  overflow-x:auto;
  overflow-y:hidden;
  background:
    radial-gradient(circle at 15% 15%,rgba(255,255,255,.9),transparent 23%),
    linear-gradient(180deg,#eaf8f2 0%,#f8fcfa 60%,#eef5f1 100%);
}
.career-stair-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.career-cloud{
  position:absolute;width:90px;height:26px;border-radius:30px;background:rgba(255,255,255,.74);
  filter:blur(.2px);animation:careerCloud 14s ease-in-out infinite alternate
}
.career-cloud:before,.career-cloud:after{
  content:"";position:absolute;background:inherit;border-radius:50%
}
.career-cloud:before{width:38px;height:38px;left:16px;top:-17px}
.career-cloud:after{width:30px;height:30px;right:14px;top:-11px}
.cloud-one{top:52px;left:8%}
.cloud-two{top:105px;right:12%;transform:scale(.8);animation-delay:2s}
@keyframes careerCloud{from{translate:-10px 0}to{translate:22px 5px}}

.career-stairs-track{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-width:max-content;
  padding:100px 80px 0 42px;
}
.career-stair-step{
  position:relative;
  width:190px;
  height:calc(94px + (var(--step-index) * 44px));
  display:flex;
  align-items:flex-end;
  opacity:0;
  transform:translateY(20px);
  animation:careerStepIn .55s ease forwards;
  animation-delay:var(--step-delay)
}
@keyframes careerStepIn{to{opacity:1;transform:translateY(0)}}
.career-step-riser{
  position:absolute;
  left:0;bottom:0;
  width:100%;height:100%;
  background:linear-gradient(135deg,#0b7057,#15906e);
  border-left:1px solid rgba(255,255,255,.28);
  border-right:1px solid rgba(2,63,48,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}
.career-step-riser:after{
  content:"";position:absolute;inset:8px 10px auto;height:1px;background:rgba(255,255,255,.15)
}
.career-step-number{
  position:absolute;right:12px;bottom:10px;
  width:27px;height:27px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;background:rgba(255,255,255,.17);
  font-size:.68rem;font-weight:900
}
.career-step-platform{
  position:absolute;
  left:0;top:-116px;
  width:190px;min-height:106px;
  padding:11px 12px;
  border:1px solid #d8e6e0;border-radius:14px 14px 5px 5px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 22px rgba(29,75,61,.08);
  z-index:3
}
.career-step-platform:after{
  content:"";position:absolute;left:28px;bottom:-8px;
  width:14px;height:14px;background:#fff;border-right:1px solid #d8e6e0;border-bottom:1px solid #d8e6e0;
  transform:rotate(45deg)
}
.career-step-year{
  display:inline-flex;padding:3px 7px;border-radius:999px;
  background:#edf7f3;color:#12725a;font-size:.61rem;font-weight:850
}
.career-step-type{
  margin-top:6px;font-size:.61rem;text-transform:uppercase;letter-spacing:.045em;
  color:#7a8b85;font-weight:850
}
.career-step-platform b{
  display:block;margin-top:3px;color:#1f493e;font-size:.78rem;line-height:1.3
}
.career-step-platform p{
  margin:4px 0 0;color:#74857f;font-size:.63rem;line-height:1.35
}
.career-stair-step.current .career-step-riser{
  background:linear-gradient(135deg,#0c785c,#18a577)
}
.career-stair-step.current .career-step-platform{
  border-color:#9ed8c3;box-shadow:0 13px 28px rgba(18,121,88,.16)
}
.career-current-badge{
  display:inline-flex;align-items:center;gap:4px;margin-top:7px;
  padding:3px 6px;border-radius:999px;background:#fff4d9;color:#926509;
  font-size:.58rem;font-weight:850
}

.career-climber{
  position:absolute;
  left:0;top:0;
  width:68px;
  z-index:20;
  transform:translate(70px,320px);
  will-change:transform;
  pointer-events:none
}
.career-climber-photo{
  width:58px;height:58px;margin:auto;border-radius:50%;
  border:4px solid #fff;background:#dceee7;
  box-shadow:0 10px 25px rgba(13,80,60,.22);
  overflow:hidden;display:grid;place-items:center;
  animation:careerWalkerBob .8s ease-in-out infinite alternate
}
.career-climber-photo img{width:100%;height:100%;object-fit:cover}
.career-climber-photo i{font-size:1.55rem;color:#13765d}
.career-climber-label{
  margin-top:4px;padding:3px 6px;border-radius:999px;
  background:rgba(24,63,53,.88);color:#fff;
  font-size:.56rem;font-weight:800;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
@keyframes careerWalkerBob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}

.career-stair-ground{
  position:absolute;left:22px;right:22px;bottom:12px;
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px dashed #b9cec6;padding-top:8px;
  color:#72847e;font-size:.63rem
}
.career-stair-ground span:first-child i{color:#4c7f6f}
.career-stair-ground span:last-child i{color:#d4a31b}
.career-stair-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:230px;padding:28px;text-align:center;color:#73847e
}
.career-stair-empty i{font-size:2rem;color:#5c8e7d}
.career-stair-empty b{margin-top:8px;color:#31584c}
.career-stair-empty span{margin-top:3px;font-size:.73rem}

@media(max-width:780px){
  .career-stair-head{flex-direction:column}
  .career-stair-summary{align-items:flex-start;text-align:left}
  .career-stair-stage{min-height:450px;padding-left:14px;padding-right:14px}
  .career-stair-step{width:160px;height:calc(88px + (var(--step-index) * 38px))}
  .career-step-platform{width:160px;top:-112px}
  .career-stairs-track{padding-left:30px;padding-right:50px}
}
@media(prefers-reduced-motion:reduce){
  .career-cloud,.career-climber-photo,.career-stair-step{animation:none!important}
  .career-stair-step{opacity:1;transform:none}
}

/* v58 neutral career stairs + step-by-step animation */
.career-stair-stage{
  background:
    radial-gradient(circle at 15% 15%,rgba(255,255,255,.95),transparent 23%),
    linear-gradient(180deg,#f7faf9 0%,#fbfcfc 58%,#f1f4f3 100%)!important;
}
.career-step-riser{
  background:linear-gradient(145deg,#e7ecea,#d7dfdc)!important;
  border-left:1px solid #c9d3cf!important;
  border-right:1px solid #bfcac6!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(93,113,105,.08)!important;
}
.career-step-riser:after{
  background:rgba(71,92,84,.08)!important;
}
.career-step-number{
  color:#536a62!important;
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(129,148,141,.22)!important;
}
.career-step-platform{
  background:rgba(255,255,255,.98)!important;
  border-color:#d8e1de!important;
  box-shadow:0 9px 20px rgba(54,74,67,.07)!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.career-step-platform:after{
  background:#fff!important;
  border-right-color:#d8e1de!important;
  border-bottom-color:#d8e1de!important;
}
.career-step-year{
  background:#f0f4f2!important;
  color:#536c63!important;
}
.career-stair-step.current .career-step-riser{
  background:linear-gradient(145deg,#dfe7e4,#cad8d2)!important;
}
.career-stair-step.current .career-step-platform{
  border-color:#bfcfca!important;
  box-shadow:0 11px 24px rgba(70,95,85,.10)!important;
}

/* animation state: only active/current gets green accent */
.career-stair-step.career-step-active .career-step-riser{
  background:linear-gradient(145deg,#d9eee6,#b9daca)!important;
  border-color:#9ec6b5!important;
}
.career-stair-step.career-step-active .career-step-platform{
  transform:translateY(-5px)!important;
  border-color:#75b59d!important;
  box-shadow:0 14px 30px rgba(28,119,87,.15)!important;
}
.career-stair-step.career-step-active .career-step-year{
  background:#e4f5ed!important;
  color:#146c55!important;
}
.career-stair-step.career-step-passed .career-step-riser{
  background:linear-gradient(145deg,#e2e9e6,#d2ddd8)!important;
}
.career-stair-step.career-step-passed .career-step-platform{
  border-color:#d0ddd8!important;
}

.career-climber{
  transition:transform .72s cubic-bezier(.22,.76,.25,1)!important;
}
.career-climber.career-arrived .career-climber-photo{
  animation:careerArriveBounce .42s ease!important;
}
@keyframes careerArriveBounce{
  0%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-8px) scale(1.04)}
  100%{transform:translateY(0) scale(1)}
}
.career-climber-photo{
  border-color:#fff!important;
  background:#edf3f1!important;
  box-shadow:0 9px 22px rgba(65,89,80,.18)!important;
}
.career-climber-label{
  background:rgba(47,66,59,.88)!important;
}
.career-current-badge{
  background:#f4f1e8!important;
  color:#7e6a2c!important;
}
.career-stair-ground{
  border-top-color:#cbd5d1!important;
  color:#74857f!important;
}

/* soften sky elements too */
.career-cloud{
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 4px 18px rgba(70,90,82,.04)!important;
}

/* v59 guidance imports + student activity guidance */
.guidance-import-bar{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:13px 15px;border:1px solid #dce8e3;border-radius:14px;background:#f8fbfa
}
.guidance-import-bar>div:first-child{display:flex;align-items:center;gap:10px}
.guidance-import-bar>div:first-child>i{font-size:1.2rem;color:#198754}
.guidance-import-bar span{display:flex;flex-direction:column}
.guidance-import-bar small{font-size:.7rem;color:#758780}

.student-guidance-grid{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px 16px!important;padding:20px!important
}
.student-guidance-grid>div{min-width:0}
.student-guidance-grid label,.student-guidance-edit-grid label{
  display:block;font-size:.73rem;font-weight:850;color:#40584f;margin-bottom:6px
}
.student-guidance-grid .form-control,.student-guidance-grid .form-select{
  width:100%;min-height:44px;border-radius:10px
}
.sg-type{grid-column:span 4}.sg-name{grid-column:span 5}.sg-period{grid-column:span 3}
.sg-role{grid-column:span 4}.sg-level{grid-column:span 4}.sg-status{grid-column:span 4}
.sg-team{grid-column:1/-1}.sg-sk{grid-column:span 4}.sg-cert{grid-column:span 4}.sg-link{grid-column:span 4}
.sg-notes{grid-column:1/-1}.sg-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.student-guidance-table{min-width:1450px}
.student-guidance-table td:nth-child(4),.student-guidance-table td:nth-child(5){min-width:220px;white-space:normal}
.student-guidance-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}
.student-guidance-edit-grid .wide{grid-column:1/-1}
@media(max-width:800px){
 .guidance-import-bar{align-items:flex-start;flex-direction:column}
 .student-guidance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .student-guidance-grid>div{grid-column:span 1!important}
 .sg-name,.sg-team,.sg-notes,.sg-actions{grid-column:1/-1!important}
 .student-guidance-edit-grid{grid-template-columns:1fr}
 .student-guidance-edit-grid>div{grid-column:1!important}
}

/* v60 career stair visual refinement */
.career-step-riser{
  background:linear-gradient(145deg,#f3f6f5 0%,#dbe7e2 48%,#c9ddd5 100%)!important;
  border-left:1px solid #c4d4ce!important;
  border-right:1px solid #b8cbc4!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -2px 5px rgba(56,86,75,.06)!important;
}
.career-stair-step:nth-child(3n+1) .career-step-riser{
  background:linear-gradient(145deg,#edf6f3 0%,#d5e9e2 55%,#b9d7ca 100%)!important;
}
.career-stair-step:nth-child(3n+2) .career-step-riser{
  background:linear-gradient(145deg,#f4f6fb 0%,#e1e6f1 55%,#cbd5e6 100%)!important;
}
.career-stair-step:nth-child(3n+3) .career-step-riser{
  background:linear-gradient(145deg,#fbf6ef 0%,#efe3d3 55%,#dec9ad 100%)!important;
}
.career-stair-step.current .career-step-riser{
  background:linear-gradient(145deg,#e8f6f0 0%,#cce9dc 50%,#a9d8c5 100%)!important;
}
.career-stair-step.career-step-active .career-step-riser{
  background:linear-gradient(145deg,#e0f4eb 0%,#bfe4d3 50%,#98d3bd 100%)!important;
}

.career-step-number{
  width:36px!important;
  height:36px!important;
  right:12px!important;
  bottom:12px!important;
  font-size:.86rem!important;
  font-weight:900!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0f766e,#16a085)!important;
  border:2px solid rgba(255,255,255,.88)!important;
  box-shadow:0 5px 13px rgba(15,118,110,.24)!important;
}
.career-stair-step:nth-child(3n+2) .career-step-number{
  background:linear-gradient(135deg,#4f6fb3,#758cc6)!important;
  box-shadow:0 5px 13px rgba(79,111,179,.22)!important;
}
.career-stair-step:nth-child(3n+3) .career-step-number{
  background:linear-gradient(135deg,#b77a2f,#d29a53)!important;
  box-shadow:0 5px 13px rgba(183,122,47,.22)!important;
}
.career-stair-step.current .career-step-number,
.career-stair-step.career-step-active .career-step-number{
  width:40px!important;
  height:40px!important;
  font-size:.95rem!important;
  background:linear-gradient(135deg,#0c7055,#19a276)!important;
  box-shadow:0 6px 16px rgba(25,162,118,.28)!important;
}

.career-step-platform{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfc 100%)!important;
}
.career-step-year{
  font-size:.66rem!important;
  padding:4px 8px!important;
  background:linear-gradient(135deg,#eef5f2,#e2ece8)!important;
  color:#47675d!important;
}
.career-step-type{
  font-size:.64rem!important;
}
.career-step-platform b{
  font-size:.82rem!important;
}
.career-step-platform p{
  font-size:.66rem!important;
}

/* v61 reports table */
.report-period-strip{
  display:flex;justify-content:space-between;gap:18px;padding:13px 16px;
  border:1px solid #dfe9e5;border-radius:14px;background:#f8fbfa
}
.report-period-strip>div{display:flex;flex-direction:column}
.report-period-strip span{font-size:.68rem;color:#71837d}
.report-period-strip b{font-size:.82rem;color:#294d43;margin-top:2px}
.report-list-card,.report-preview-card{
  background:#fff;border:1px solid #dfe8e5;border-radius:18px;overflow:hidden;
  box-shadow:0 9px 28px rgba(27,61,51,.05)
}
.report-list-head,.report-preview-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;border-bottom:1px solid #e4ece9;background:linear-gradient(135deg,#fff,#f7faf9)
}
.report-list-head>div,.report-preview-head>div:first-child{display:flex;flex-direction:column}
.report-list-head span,.report-preview-head p{font-size:.7rem;color:#74857f;margin:2px 0 0}
.report-preview-head h4{margin:4px 0 0;color:#21483e}
.report-list-table{min-width:980px}
.report-list-table th{white-space:nowrap}
.report-list-table td:nth-child(3){min-width:300px;white-space:normal}
.report-name-cell{display:flex;align-items:center;gap:10px;min-width:210px}
.report-name-cell>div{display:flex;flex-direction:column}
.report-name-cell small{color:#768781;font-size:.67rem}
.report-list-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:#edf6f2;color:#1a7a60;font-size:1rem
}
.report-proof-info{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;color:#61766e}
.report-row-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;min-width:280px}
.report-row-selected td{background:#f6fbf8!important}
.report-preview-table{min-width:1100px}
.report-preview-table th{white-space:nowrap}
.report-preview-table td{vertical-align:top;white-space:normal;max-width:330px}

/* larger dashboard profile image without cropping */
.dashboard-profile-card{
  grid-template-columns:124px 1fr auto!important;
}
.dashboard-profile-photo{
  width:124px!important;
  height:124px!important;
  padding:4px;
  border-radius:22px;
  background:rgba(255,255,255,.12)
}
.dashboard-profile-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(255,255,255,.96)!important;
  border-radius:18px!important;
  padding:2px!important;
}
.dashboard-profile-photo>div{
  width:100%!important;height:100%!important;border-radius:18px!important
}
@media(max-width:800px){
  .dashboard-profile-card{grid-template-columns:96px 1fr!important}
  .dashboard-profile-photo{width:96px!important;height:96px!important}
  .report-period-strip,.report-preview-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .dashboard-profile-card{grid-template-columns:1fr!important}
  .dashboard-profile-photo{width:112px!important;height:112px!important;margin:auto!important}
}

/* v62 dashboard profile and section order refinements */
.dashboard-profile-photo{
  background:rgba(255,255,255,.10)!important;
  overflow:hidden!important;
}
.dashboard-profile-photo img{
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  padding:0!important;
  border-color:rgba(255,255,255,.22)!important;
}
.dashboard-profile-main h1,
.dashboard-profile-main h1 *,
.dashboard-profile-main .eyebrow,
.dashboard-profile-main .eyebrow *,
.dashboard-profile-card h1,
.dashboard-profile-card h2,
.dashboard-profile-card h3{
  color:#fff!important;
}

/* v63 Dashboard profile refinements */
.dashboard-profile-card .section-tag,
.dashboard-profile-card .eyebrow,
.dashboard-profile-card .dashboard-role,
.dashboard-profile-card .dashboard-label,
.dashboard-profile-card .profile-eyebrow,
.dashboard-profile-card [class*="eyebrow"],
.dashboard-profile-card [class*="section-tag"]{
  color:#fff!important;
  opacity:1!important;
}
.dashboard-profile-card h1,
.dashboard-profile-card h2,
.dashboard-profile-card h3,
.dashboard-profile-card h4,
.dashboard-profile-main h1,
.dashboard-profile-main h2,
.dashboard-profile-main h3{
  color:#fff!important;
}

/* Circular profile photo */
.dashboard-profile-photo{
  width:124px!important;
  height:124px!important;
  border-radius:50%!important;
  padding:4px!important;
  background:rgba(255,255,255,.10)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.dashboard-profile-photo img{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:4px solid rgba(255,255,255,.24)!important;
  padding:0!important;
}
.dashboard-profile-photo>div{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.12)!important;
  border:4px solid rgba(255,255,255,.24)!important;
  display:grid!important;
  place-items:center!important;
}

/* Ensure any Dashboard Dosen text remains white */
.dashboard-profile-card *{
  --dashboard-title-color:#fff;
}
.dashboard-profile-card .text-dark,
.dashboard-profile-card .text-body,
.dashboard-profile-card .text-secondary{
  color:#fff!important;
}

@media(max-width:800px){
  .dashboard-profile-photo{
    width:96px!important;
    height:96px!important;
  }
}
@media(max-width:520px){
  .dashboard-profile-photo{
    width:112px!important;
    height:112px!important;
    margin:auto!important;
  }
}

/* v65 Tridharma Excel import */
.tridharma-import-bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;border:1px solid #dce8e3;border-radius:15px;
  background:linear-gradient(135deg,#fbfdfc,#f2f8f5)
}
.tridharma-import-copy{display:flex;align-items:center;gap:11px}
.tridharma-import-copy>div{display:flex;flex-direction:column}
.tridharma-import-copy small{font-size:.7rem;color:#74857f;margin-top:2px}
.tridharma-import-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:#e4f5ec;color:#18815f;font-size:1.2rem
}
.tridharma-import-actions{display:flex;gap:8px;flex-wrap:wrap}
.import-help-box{
  display:flex;gap:10px;padding:11px 12px;border-radius:12px;
  background:#f6faf8;border:1px solid #dfebe6;color:#526c63
}
.import-help-box>i{color:#198754;font-size:1rem;margin-top:1px}
.import-help-box>div{display:flex;flex-direction:column}
.import-help-box b{font-size:.75rem}.import-help-box span{font-size:.69rem;color:#71837d;margin-top:2px}
@media(max-width:760px){
  .tridharma-import-bar{align-items:flex-start;flex-direction:column}
  .tridharma-import-actions{width:100%}
  .tridharma-import-actions .btn{flex:1}
}

/* v66 - Empty state: prevent icon/title/description from overlapping */
.empty-pro{
  width:100%!important;
  min-height:150px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:28px 20px!important;
  text-align:center!important;
  line-height:1.35!important;
  white-space:normal!important;
  color:#687b74!important;
}
.empty-pro > i{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  margin:0 0 4px 0!important;
  flex:0 0 44px!important;
  border-radius:50%!important;
  background:#eef7f3!important;
  color:#218164!important;
  font-size:1.25rem!important;
  line-height:1!important;
}
.empty-pro > b{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  color:#263c35!important;
}
.empty-pro > span,
.empty-pro > small,
.empty-pro > p{
  display:block!important;
  max-width:520px!important;
  margin:0!important;
  padding:0!important;
  font-size:.76rem!important;
  font-weight:400!important;
  line-height:1.5!important;
  color:#7a8b85!important;
  white-space:normal!important;
}
td > .empty-pro{
  margin:0 auto!important;
}
@media(max-width:600px){
  .empty-pro{
    min-height:130px!important;
    padding:22px 14px!important;
  }
}

/* v67 - SINTA actions right + sidebar ruler navigator */
.research-sync-toolbar-right{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:flex-end!important;
  gap:10px!important;
  width:100%!important;
}
.research-sync-toolbar-right .research-id-inline{
  display:grid!important;
  grid-template-columns:220px auto!important;
  align-items:end!important;
  gap:9px!important;
}
.research-sync-toolbar-right .research-id-control{
  width:220px!important;
}
.research-sync-toolbar-right .research-id-control input{
  width:100%!important;
}
.research-sync-toolbar-right .research-sync-inline{
  display:flex!important;
  align-items:flex-end!important;
}
.research-sync-toolbar-right .btn{
  height:44px!important;
  white-space:nowrap!important;
}

.nav-stack{
  position:relative!important;
}
.sidebar-ruler{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:4px!important;
  height:42px;
  border-radius:0 5px 5px 0!important;
  background:linear-gradient(180deg,#f0c94f,#43b88a)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.14),0 5px 14px rgba(24,90,68,.22)!important;
  opacity:0!important;
  z-index:5!important;
  pointer-events:none!important;
  transition:transform .28s cubic-bezier(.22,.78,.26,1),height .2s ease,opacity .18s ease!important;
}
.sidebar-ruler.show{opacity:1!important}
.sidebar-ruler.no-transition{transition:none!important}
.nav-stack>a{
  position:relative!important;
  z-index:2!important;
}
.nav-stack>a.active{
  background:rgba(255,255,255,.12)!important;
  font-weight:800!important;
}
.nav-stack>a.active:after{
  content:""!important;
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  margin-top:-3px!important;
  border-radius:50%!important;
  background:#f2cf62!important;
  box-shadow:0 0 0 3px rgba(242,207,98,.15)!important;
}

@media(max-width:760px){
  .research-sync-toolbar-right{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .research-sync-toolbar-right .research-id-inline{
    grid-template-columns:1fr!important;
  }
  .research-sync-toolbar-right .research-id-control{
    width:100%!important;
  }
  .research-sync-toolbar-right .research-sync-inline,
  .research-sync-toolbar-right .research-sync-inline .btn,
  .research-sync-toolbar-right .research-id-inline .btn{
    width:100%!important;
  }
}

/* v68 account dropdown */
.top-account-dropdown{margin-left:auto}
.account-chip-button{
  border:0!important;
  cursor:pointer!important;
  text-align:left!important;
}
.account-chip-button:focus{outline:none!important;box-shadow:0 0 0 3px rgba(20,122,92,.10)!important}
.account-chevron{font-size:.72rem;margin-left:6px;opacity:.72}
.account-menu-pro{
  width:230px!important;
  padding:8px!important;
  border:1px solid #dce7e3!important;
  border-radius:14px!important;
  box-shadow:0 15px 38px rgba(27,61,51,.13)!important;
}
.account-menu-head{
  display:flex;align-items:center;gap:10px;padding:10px 9px 11px;
}
.account-menu-avatar{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:#e8f5ef;color:#167458;font-size:1.25rem
}
.account-menu-head>div:last-child{display:flex;flex-direction:column;min-width:0}
.account-menu-head b{font-size:.8rem;color:#27483e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-menu-head span{font-size:.67rem;color:#788982}
.account-menu-pro .dropdown-item{
  display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;
  font-size:.76rem;color:#40594f
}
.account-menu-pro .dropdown-item:hover{background:#f1f7f4}
.account-menu-pro .account-logout{color:#a33d3d}
.password-modal-pro{border:0!important;border-radius:18px!important;overflow:hidden}
.password-modal-pro .modal-header{background:linear-gradient(135deg,#fff,#f3faf6);border-bottom:1px solid #e0e9e6}
.password-modal-pro .modal-header small{display:block;color:#74857f;font-size:.69rem;margin-top:2px}
.password-modal-grid{display:grid;gap:12px;padding:20px}
.password-modal-grid label{display:block;font-size:.72rem;font-weight:800;color:#40584f;margin-bottom:5px}
.password-modal-grid .form-control{min-height:44px;border-radius:10px}

/* v68 PA SIMAK selector: controls + actions fixed in one row at 100% zoom */
.simak-sync-form-fixed{
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) minmax(180px,.8fr) 145px auto!important;
  gap:14px!important;
  align-items:end!important;
  width:100%!important;
}
.simak-sync-form-fixed>div{min-width:0!important}
.simak-actions-fixed{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  min-width:max-content!important;
}
.simak-actions-fixed .btn{
  white-space:nowrap!important;
  flex:0 0 auto!important;
  min-height:48px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
@media(min-width:992px){
  .simak-sync-form-fixed{overflow:visible!important}
}
@media(max-width:1100px){
  .simak-sync-form-fixed{
    grid-template-columns:minmax(180px,1fr) minmax(155px,.8fr) 120px auto!important;
    gap:9px!important
  }
  .simak-actions-fixed .btn{font-size:.72rem!important;padding-left:10px!important;padding-right:10px!important}
}
@media(max-width:900px){
  .simak-sync-form-fixed{grid-template-columns:1fr 1fr!important}
  .simak-code-preview{grid-column:1!important}
  .simak-actions-fixed{grid-column:2!important;justify-content:flex-end!important}
}
@media(max-width:650px){
  .simak-sync-form-fixed{grid-template-columns:1fr!important}
  .simak-code-preview,.simak-actions-fixed{grid-column:1!important}
  .simak-actions-fixed{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .simak-actions-fixed .btn{width:100%!important}
}

/* v68 Samsung Galaxy-style login phone */
.login-v37-card-wrap{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  overflow:visible!important;
}
.samsung-phone-shell{
  position:relative!important;
  width:min(390px,92vw)!important;
  padding:8px!important;
  border-radius:38px!important;
  background:linear-gradient(145deg,#343638,#090a0b 44%,#252729 100%)!important;
  border:1px solid #515457!important;
  box-shadow:
    0 30px 65px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.07),
    inset 0 0 0 5px #101113!important;
}
.samsung-phone-screen{
  position:relative!important;
  width:100%!important;
  min-height:690px!important;
  border-radius:31px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.16)!important;
}
.samsung-punch-hole{
  position:absolute!important;
  z-index:20!important;
  top:9px!important;
  left:50%!important;
  width:12px!important;
  height:12px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:#060708!important;
  border:2px solid #191b1c!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08)!important;
}
.samsung-phone-brand{
  position:absolute!important;
  left:50%!important;
  bottom:-22px!important;
  transform:translateX(-50%)!important;
  color:#5c6062!important;
  font-size:.56rem!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
}
.samsung-side-key{
  position:absolute!important;
  right:-3px!important;
  width:4px!important;
  border-radius:0 3px 3px 0!important;
  background:linear-gradient(180deg,#5b5d5f,#202224)!important;
  box-shadow:1px 0 1px rgba(0,0,0,.3)!important;
}
.samsung-side-key-volume{top:122px!important;height:64px!important}
.samsung-side-key-power{top:205px!important;height:48px!important}
.samsung-phone-screen .login-v37-status{
  padding-top:14px!important;
}
.samsung-phone-screen .login-v37-card-body{
  padding-left:25px!important;
  padding-right:25px!important;
}
@media(max-width:520px){
  .samsung-phone-shell{width:min(370px,95vw)!important;border-radius:34px!important;padding:7px!important}
  .samsung-phone-screen{min-height:650px!important;border-radius:28px!important}
}

/* v69 - slimmer, softer Samsung-inspired professional login */
.samsung-phone-shell{
  width:min(350px,88vw)!important;
  padding:6px!important;
  border-radius:34px!important;
  background:linear-gradient(145deg,#8d9693,#59615f 42%,#78817e 100%)!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 22px 48px rgba(12,47,37,.18),inset 0 0 0 1px rgba(255,255,255,.18)!important;
}
.samsung-phone-screen{
  min-height:660px!important;
  border-radius:29px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.samsung-side-key{
  right:-2px!important;
  background:linear-gradient(180deg,#929a98,#656d6b)!important;
}
.samsung-phone-brand{display:none!important}
.samsung-punch-hole{
  top:8px!important;width:10px!important;height:10px!important;
  background:#202725!important;border:2px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}

/* Login screen refinement */
.login-v37-card{
  background:
    radial-gradient(circle at 80% 10%,rgba(255,255,255,.13),transparent 27%),
    linear-gradient(165deg,#0e6b52 0%,#12805f 42%,#07513f 100%)!important;
}
.login-v37-status{color:#fff!important;padding-left:18px!important;padding-right:18px!important}
.login-v37-card-body{
  margin:10px 10px 12px!important;
  padding:24px 23px 20px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.975)!important;
  box-shadow:0 16px 35px rgba(5,50,37,.13)!important;
}
.login-v37-card-head{margin-bottom:20px!important}
.login-v37-card-head img,
.login-v37-brand img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  padding:0!important;
  mix-blend-mode:multiply!important;
}
.login-v37-card-head img{
  width:62px!important;height:62px!important;
  border-radius:0!important;
}
.login-v37-brand img{
  width:48px!important;height:48px!important;
  border-radius:0!important;
}
.login-v37-card-head h2{
  margin-top:8px!important;
  font-size:1.42rem!important;
  letter-spacing:-.025em!important;
}
.login-v37-card-head p{font-size:.72rem!important;color:#718079!important}
.login-v37-field{margin-bottom:12px!important}
.login-v37-field label{
  font-size:.69rem!important;
  color:#435c53!important;
  margin-bottom:5px!important;
}
.login-v37-field>div:not(.login-v37-captcha){
  border-radius:12px!important;
  background:#f7faf8!important;
  border:1px solid #dce7e2!important;
}
.login-v37-field input{font-size:.76rem!important}
.login-v37-captcha{border-radius:12px!important;overflow:hidden!important}
.login-v37-button{
  min-height:48px!important;
  border-radius:13px!important;
  box-shadow:0 9px 20px rgba(14,117,86,.20)!important;
}
.login-v37-footer{margin-top:15px!important;color:#83918c!important}

/* Left side is cleaner and more executive */
.login-v37-copy h1{
  max-width:600px!important;
  font-size:clamp(2rem,3.2vw,3.2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
.login-v37-copy p{max-width:590px!important;line-height:1.7!important}
.login-v37-features>div{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(8px)!important;
  border-radius:14px!important;
}
@media(max-width:520px){
  .samsung-phone-shell{width:min(338px,91vw)!important;padding:5px!important;border-radius:31px!important}
  .samsung-phone-screen{min-height:640px!important;border-radius:27px!important}
  .login-v37-card-body{margin:9px!important;padding:21px 19px 18px!important}
}

/* v70 backend sidebar logo - transparent */
.sidebar .brand-logo-img,
.brand-block .brand-logo-img{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.brand-block .brand-logo-img{
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
}

/* Copyright remains inside phone screen */
.samsung-phone-screen{
  display:flex!important;
  flex-direction:column!important;
}
.samsung-phone-screen .login-v37-status{
  flex:0 0 auto!important;
}
.samsung-phone-screen .login-v37-card-body{
  flex:1 1 auto!important;
}
.login-phone-copyright{
  flex:0 0 auto!important;
  padding:8px 12px 12px!important;
  text-align:center!important;
  color:rgba(255,255,255,.80)!important;
  font-size:.61rem!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  line-height:1.25!important;
}
@media(max-width:520px){
  .login-phone-copyright{
    font-size:.57rem!important;
    padding-bottom:10px!important;
  }
}

/* v71 PA SIMAK layout - no overlapping at 100% zoom */
.simak-sync-form-fixed{
  display:grid!important;
  grid-template-columns:minmax(250px,1.15fr) minmax(220px,.9fr) 180px!important;
  gap:14px!important;
  align-items:end!important;
  width:100%!important;
  overflow:visible!important;
}
.simak-sync-form-fixed>div{
  min-width:0!important;
}
.simak-sync-form-fixed .simak-code-preview{
  min-width:0!important;
  width:100%!important;
}
.simak-actions-fixed{
  grid-column:1/-1!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding-top:4px!important;
}
.simak-actions-fixed .btn{
  position:static!important;
  margin:0!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:190px!important;
  max-width:none!important;
  white-space:nowrap!important;
  min-height:48px!important;
  font-size:.86rem!important;
}
@media(max-width:900px){
  .simak-sync-form-fixed{
    grid-template-columns:1fr 1fr!important;
  }
  .simak-sync-form-fixed .simak-code-preview{
    grid-column:1/-1!important;
  }
  .simak-actions-fixed{
    grid-column:1/-1!important;
  }
}
@media(max-width:620px){
  .simak-sync-form-fixed{grid-template-columns:1fr!important}
  .simak-sync-form-fixed .simak-code-preview,
  .simak-actions-fixed{grid-column:1!important}
  .simak-actions-fixed{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .simak-actions-fixed .btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* TMT CPNS/PNS + automatic service duration */
.service-duration-card{
  min-height:76px!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #dbe7e2!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f9fcfb,#eef7f3)!important;
}
.service-duration-icon{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#dff3ea,#cde9dd)!important;
  color:#14795e!important;
  font-size:1.15rem!important;
}
.service-duration-card>div:last-child{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.service-duration-card span{
  font-size:.66rem!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#72857e!important;
}
.service-duration-card b{
  margin-top:2px!important;
  font-size:.95rem!important;
  color:#21493e!important;
}
.service-duration-card small{
  margin-top:2px!important;
  font-size:.67rem!important;
  color:#778983!important;
}

/* v72 - single profile save + service duration in career */
.profile-single-savebar{
  margin-top:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border:1px solid #dbe7e2!important;
  background:linear-gradient(135deg,#f8fcfa,#edf7f3)!important;
}
.profile-single-savebar>div{
  display:flex!important;
  flex-direction:column!important;
}
.profile-single-savebar>div b{
  color:#21483e!important;
  font-size:.86rem!important;
}
.profile-single-savebar>div span{
  color:#72847d!important;
  font-size:.7rem!important;
  margin-top:2px!important;
}
.profile-single-savebar .btn{
  min-width:155px!important;
  white-space:nowrap!important;
}

.career-summary-expanded{
  min-width:245px!important;
  gap:1px!important;
}
.career-service-duration{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:10px!important;
  padding:9px 10px!important;
  border:1px solid #d8e5e0!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.82)!important;
  text-align:left!important;
}
.career-service-duration>i{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#dff3ea,#c7e6d9)!important;
  color:#14775c!important;
  font-size:.95rem!important;
}
.career-service-duration>div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
.career-service-duration small{
  margin:0!important;
  color:#73857e!important;
  font-size:.58rem!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.career-service-duration strong{
  margin-top:1px!important;
  color:#21483e!important;
  font-size:.77rem!important;
  line-height:1.25!important;
}
.career-service-duration em{
  margin-top:2px!important;
  color:#7b8d86!important;
  font-size:.58rem!important;
  font-style:normal!important;
  line-height:1.25!important;
}

@media(max-width:700px){
  .profile-single-savebar{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .profile-single-savebar .btn{
    width:100%!important;
  }
  .career-summary-expanded{
    width:100%!important;
    min-width:0!important;
  }
}

/* v73 promotion reminder running text */
.promotion-reminder-ticker{
  display:flex!important;
  align-items:center!important;
  min-height:46px!important;
  border:1px solid #eadca8!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fffdf5,#fff9e8)!important;
  box-shadow:0 7px 18px rgba(115,91,24,.06)!important;
}
.promotion-reminder-icon{
  flex:0 0 48px!important;
  align-self:stretch!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#d5a51e,#efc84e)!important;
  color:#fff!important;
  font-size:1rem!important;
}
.promotion-marquee{
  position:relative!important;
  flex:1!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.promotion-marquee-track{
  display:inline-flex!important;
  align-items:center!important;
  gap:18px!important;
  min-width:max-content!important;
  padding:0 18px!important;
  animation:promotionTicker 28s linear infinite!important;
  will-change:transform!important;
}
.promotion-message{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  color:#665322!important;
  font-size:.74rem!important;
  line-height:1!important;
}
.promotion-message b{
  color:#8c6a0d!important;
  font-weight:850!important;
}
.promotion-separator{
  color:#c79a21!important;
  font-size:.9rem!important;
}
.promotion-reminder-ticker:hover .promotion-marquee-track{
  animation-play-state:paused!important;
}
@keyframes promotionTicker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media(max-width:700px){
  .promotion-reminder-ticker{min-height:42px!important}
  .promotion-reminder-icon{flex-basis:42px!important}
  .promotion-message{font-size:.68rem!important}
  .promotion-marquee-track{animation-duration:23s!important}
}
@media(prefers-reduced-motion:reduce){
  .promotion-marquee-track{
    animation:none!important;
    transform:none!important;
  }
  .promotion-marquee{
    overflow-x:auto!important;
  }
}

/* v74 - urgent promotion reminder: red label/ticker, white typography */
.promotion-reminder-ticker{
  border:1px solid #b91c1c!important;
  background:linear-gradient(90deg,#b91c1c,#dc2626 52%,#b91c1c)!important;
  box-shadow:0 7px 18px rgba(153,27,27,.14)!important;
}
.promotion-reminder-icon{
  background:rgba(127,29,29,.72)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.22)!important;
}
.promotion-message,
.promotion-message b,
.promotion-separator{
  color:#fff!important;
}
.promotion-message{
  font-weight:600!important;
}
.promotion-message b{
  font-weight:850!important;
}
.promotion-separator{
  opacity:.72!important;
}

/* v75 - promotion reminder: professional green gradient */
.promotion-reminder-ticker{
  border:1px solid rgba(16,112,82,.72)!important;
  background:linear-gradient(100deg,#075c46 0%,#0b7a5b 42%,#15906b 72%,#08644d 100%)!important;
  box-shadow:0 8px 20px rgba(5,91,67,.16)!important;
}
.promotion-reminder-icon{
  background:rgba(3,74,55,.55)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
}
.promotion-message{
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:700!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.08)!important;
}
.promotion-message b{
  color:#fff!important;
  font-weight:900!important;
}
.promotion-separator{
  color:rgba(255,255,255,.78)!important;
  font-weight:900!important;
}
@media(max-width:700px){
  .promotion-message{
    font-size:.70rem!important;
    font-weight:700!important;
  }
}

/* v76 Profile Wizard */
.profile-wizard-nav{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 18px!important;
  padding:12px 10px!important;
  border:1px solid #dce8e3!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fbfdfc,#f3f8f6)!important;
  overflow:hidden!important;
}
.profile-wizard-progress{
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  top:31px!important;
  height:3px!important;
  background:#dbe5e1!important;
  border-radius:3px!important;
  overflow:hidden!important;
  z-index:0!important;
}
.profile-wizard-progress span{
  display:block!important;
  width:0;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#0b7257,#17a178)!important;
  transition:width .3s ease!important;
}
.profile-wizard-node{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
  padding:3px 6px!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  cursor:pointer!important;
}
.profile-wizard-node>span{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:2px solid #d2dfda!important;
  background:#fff!important;
  color:#73867e!important;
  font-size:.76rem!important;
  font-weight:900!important;
  transition:.25s ease!important;
}
.profile-wizard-node>div{display:flex!important;flex-direction:column!important}
.profile-wizard-node b{font-size:.72rem!important;color:#52685f!important}
.profile-wizard-node small{font-size:.59rem!important;color:#899791!important}
.profile-wizard-node.active>span{
  border-color:#12805f!important;
  background:linear-gradient(135deg,#087057,#18a278)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(13,119,88,.20)!important;
  transform:scale(1.08)!important;
}
.profile-wizard-node.active b{color:#17634f!important}
.profile-wizard-node.done>span{
  border-color:#9dceb9!important;
  background:#daf0e6!important;
  color:#117357!important;
}
.profile-wizard-node.done>span::before{content:"✓";font-size:.9rem}
.profile-wizard-node.done>span{font-size:0!important}

.profile-wizard-step{
  display:none!important;
  animation:wizardFade .28s ease!important;
}
.profile-wizard-step.wizard-active{
  display:block!important;
}
@keyframes wizardFade{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

/* Old profile save bar is not used in wizard */
.profile-single-savebar{display:none!important}

.profile-wizard-actions{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:14px 16px!important;
  border-top:1px solid #e3ece8!important;
  background:#fbfdfc!important;
}
.profile-wizard-actions #profileWizardPrev{justify-self:start!important}
.profile-wizard-actions #profileWizardNext{justify-self:end!important;display:inline-flex;align-items:center;gap:7px}
.profile-wizard-status{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.profile-wizard-status span{font-size:.58rem!important;color:#81918b!important;text-transform:uppercase!important}
.profile-wizard-status b{font-size:.75rem!important;color:#31564b!important}

.wizard-review-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.wizard-review-card{
  min-height:92px!important;
  padding:13px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border:1px solid #dce7e3!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#fff,#f7faf9)!important;
}
.wizard-review-card>span{
  font-size:.59rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#7d8d87!important;
}
.wizard-review-card>b{
  margin-top:4px!important;
  color:#264c40!important;
  font-size:.83rem!important;
}
.wizard-review-card>small{
  margin-top:3px!important;
  color:#788982!important;
  font-size:.66rem!important;
}
.wizard-final-notice{
  display:flex!important;
  gap:10px!important;
  margin-top:14px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  border:1px solid #d9e7e1!important;
  background:#f4faf7!important;
  color:#49655b!important;
}
.wizard-final-notice>i{color:#147b5e!important;font-size:1rem!important;margin-top:1px}
.wizard-final-notice>div{display:flex!important;flex-direction:column!important}
.wizard-final-notice b{font-size:.76rem!important}
.wizard-final-notice span{font-size:.67rem!important;color:#72847d!important;margin-top:2px}
.wizard-final-save{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:16px!important;
}
.wizard-final-save .btn{min-width:190px!important}

@media(max-width:800px){
  .profile-wizard-nav{
    grid-template-columns:repeat(5,1fr)!important;
    padding:10px 5px!important;
  }
  .profile-wizard-node b,.profile-wizard-node small{display:none!important}
  .profile-wizard-node>span{width:34px!important;height:34px!important}
  .profile-wizard-progress{top:27px!important}
  .wizard-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .profile-wizard-node>span{width:30px!important;height:30px!important;font-size:.68rem!important}
  .profile-wizard-progress{top:25px!important}
  .profile-wizard-actions{grid-template-columns:1fr 1fr!important}
  .profile-wizard-status{display:none!important}
  .profile-wizard-actions #profileWizardPrev,
  .profile-wizard-actions #profileWizardNext{width:100%!important;justify-content:center!important}
  .wizard-review-grid{grid-template-columns:1fr!important}
  .wizard-final-save .btn{width:100%!important}
}

/* v77 - compact dashboard, career directly below statistics */
.dashboard-stats{
  margin-bottom:14px!important;
}
.dashboard-career-section{
  padding:0!important;
  margin:0 0 16px!important;
  border:0!important;
  background:transparent!important;
}
.dashboard-career-card{
  margin:0!important;
}
#editProfil{
  margin-top:12px!important;
  margin-bottom:16px!important;
}
#editProfil.collapse:not(.show):not(.collapsing){
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#editProfil.collapsing{
  display:block!important;
  overflow:hidden!important;
}
#editProfil.collapse.show{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.dashboard-career-section + #editProfil{
  margin-top:0!important;
}

/* v79 - stable custom Edit Profile panel, independent from Bootstrap collapse */
#editProfil.profile-edit-panel[hidden]{
  display:none!important;
}
#editProfil.profile-edit-panel.profile-edit-open{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin-top:14px!important;
  margin-bottom:16px!important;
}
#editProfileToggle.active{
  background:#eef8f4!important;
  color:#126c53!important;
  border-color:#bcdccf!important;
}

.history-subsection{
  margin-top:16px!important;
  border:1px solid #dde9e4!important;
  border-radius:15px!important;
  overflow:hidden!important;
  background:#fbfdfc!important;
}
.history-subsection-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  padding:14px 16px!important;
  background:linear-gradient(135deg,#f8fcfa,#eef8f4)!important;
  border-bottom:1px solid #e2ece8!important;
}
.history-subsection-head>div{
  display:flex!important;
  flex-direction:column!important;
}
.history-subsection-head b{
  color:#244b3f!important;
  font-size:.82rem!important;
}
.history-subsection-head small{
  color:#74867f!important;
  font-size:.66rem!important;
  margin-top:2px!important;
}
.history-kicker{
  color:#168060!important;
  font-size:.56rem!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.history-inline-form{
  padding:14px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #e5eeea!important;
}
.history-inline-form label{
  font-size:.68rem!important;
  font-weight:750!important;
  color:#456158!important;
  margin-bottom:4px!important;
}
@media(max-width:700px){
  .history-subsection-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .history-subsection-head .btn{
    width:100%!important;
  }
}

/* v80 - deterministic server-driven Edit Profile mode */
.profile-edit-launch{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:125px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.profile-edit-launch.active{
  background:rgba(255,255,255,.92)!important;
  color:#145e49!important;
  border-color:rgba(255,255,255,.9)!important;
}
#editProfil.profile-edit-panel[hidden]{
  display:none!important;
}
#editProfil.profile-edit-panel.profile-edit-open{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin:16px 0!important;
  padding:0!important;
}
#editProfil.profile-edit-panel.profile-edit-open .profile-editor-card{
  margin:0!important;
  border:1px solid #d8e7e1!important;
  box-shadow:0 15px 36px rgba(19,73,58,.08)!important;
}

/* v81 - rebuilt wizard: reliable steps and history only inside wizard */
.profile-wizard-shell{overflow:visible!important}
.profile-wizard-step{display:none!important}
.profile-wizard-step.wizard-active{display:block!important}
.profile-wizard-actions{position:sticky!important;bottom:0!important;z-index:20!important;border-radius:0 0 18px 18px!important;box-shadow:0 -8px 20px rgba(25,65,53,.05)!important}
.profile-wizard-actions button:disabled{opacity:.45!important;cursor:not-allowed!important}

.wizard-history-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:14px!important;
  padding:7px!important;
  border:1px solid #dce8e3!important;
  border-radius:13px!important;
  background:#f5f9f7!important;
}
.wizard-history-tab{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:40px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#5c7068!important;
  font-size:.68rem!important;
  font-weight:800!important;
}
.wizard-history-tab.active{
  background:linear-gradient(135deg,#0b7257,#16946f)!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(11,114,87,.16)!important;
}
.wizard-history-pane{display:none!important}
.wizard-history-pane.active{display:block!important}
.wizard-history-step .history-subsection{margin-top:0!important}
.wizard-history-step .table-responsive{max-height:340px!important;overflow:auto!important}
@media(max-width:800px){
  .wizard-history-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .wizard-history-tabs{grid-template-columns:1fr!important}
}

/* v82 - professional full-screen modal profile wizard */
body.profile-wizard-modal-open{
  overflow:hidden!important;
}

#editProfil.profile-wizard-modal[hidden]{
  display:none!important;
}
#editProfil.profile-wizard-modal.profile-edit-open{
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:1045!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  padding:24px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#edf5f1 0%,#f7faf9 48%,#e8f2ed 100%)!important;
}
#editProfil.profile-wizard-modal::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(20,128,96,.08),transparent 30%),
    radial-gradient(circle at 90% 85%,rgba(20,128,96,.06),transparent 28%)!important;
}
#editProfil.profile-wizard-modal .profile-wizard-shell{
  position:relative!important;
  z-index:1!important;
  width:min(1180px,96vw)!important;
  height:min(860px,92vh)!important;
  max-height:92vh!important;
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d2e2dc!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 28px 70px rgba(20,65,52,.18)!important;
}
.profile-wizard-modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:18px 22px!important;
  border-bottom:1px solid #e0eae6!important;
  background:linear-gradient(135deg,#ffffff,#f2faf6)!important;
}
.profile-wizard-modal-head h4{
  margin:3px 0!important;
  font-weight:900!important;
  color:#173f34!important;
}
.profile-wizard-head-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.profile-wizard-close{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d8e4df!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#5d7169!important;
  text-decoration:none!important;
  font-size:1rem!important;
  transition:.2s ease!important;
}
.profile-wizard-close:hover{
  background:#edf7f3!important;
  color:#11694f!important;
  border-color:#bcd8cd!important;
}

#editProfil .profile-wizard-nav{
  flex:0 0 auto!important;
  margin:14px 18px 8px!important;
}
#editProfil .profile-wizard-step{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding:18px 22px!important;
}
#editProfil .profile-wizard-step.wizard-active{
  display:block!important;
}
#editProfil .profile-wizard-actions{
  position:static!important;
  flex:0 0 auto!important;
  margin:0!important;
  border-radius:0!important;
  padding:13px 20px!important;
  background:#fbfdfc!important;
  box-shadow:0 -8px 22px rgba(26,68,55,.055)!important;
}

#editProfil .wizard-history-step{
  overflow-y:auto!important;
}
#editProfil .wizard-history-tabs{
  position:sticky!important;
  top:-18px!important;
  z-index:8!important;
  margin-top:0!important;
  background:#f5f9f7!important;
}
#editProfil .wizard-history-pane{
  padding-top:4px!important;
}

/* Ensure no duplicated history block can appear as normal dashboard content */
body:not(.profile-wizard-modal-open) > .history-subsection,
.main-content > .history-subsection{
  display:none!important;
}

@media(max-width:800px){
  #editProfil.profile-wizard-modal.profile-edit-open{
    padding:10px!important;
    align-items:stretch!important;
  }
  #editProfil.profile-wizard-modal .profile-wizard-shell{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    border-radius:16px!important;
  }
  .profile-wizard-modal-head{
    padding:14px 15px!important;
  }
  .profile-wizard-modal-head .profile-form-icon{
    display:none!important;
  }
  #editProfil .profile-wizard-nav{
    margin:10px 10px 6px!important;
  }
  #editProfil .profile-wizard-step{
    padding:14px!important;
  }
}

/* v83 - feedback and preserved history tab after save */
.profile-wizard-alerts{
  flex:0 0 auto!important;
  margin:10px 18px 0!important;
}
.profile-wizard-alerts .alert{
  border-radius:10px!important;
  font-size:.72rem!important;
  font-weight:700!important;
  padding:9px 12px!important;
}

/* v84 - stable inline edit for education inside profile wizard */
.education-inline-edit{
  margin-bottom:14px!important;
  border:1px solid #bcdccd!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(20,105,79,.07)!important;
}
.education-inline-edit-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:12px 14px!important;
  background:linear-gradient(135deg,#edf8f3,#f8fcfa)!important;
  border-bottom:1px solid #d8e9e2!important;
}
.education-inline-edit-head>div{
  display:flex!important;
  flex-direction:column!important;
}
.education-inline-edit-head b{
  color:#225445!important;
  font-size:.8rem!important;
}
.education-inline-edit-head small{
  color:#71877f!important;
  font-size:.65rem!important;
}
.education-edit-form{
  margin:0!important;
  border:0!important;
  background:#fff!important;
}
@media(max-width:700px){
  .education-inline-edit-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

/* v87 - mandatory initial SINTA synchronization */
.sinta-required-lock{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:13px 15px!important;
  border:1px solid #f1cf89!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#fff9ea,#fffdf7)!important;
  box-shadow:0 8px 20px rgba(120,86,17,.06)!important;
}
.sinta-required-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  background:#fff0c7!important;
  color:#9a6810!important;
  font-size:1rem!important;
}
.sinta-required-lock>div:last-child{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
.sinta-required-lock b{
  color:#725019!important;
  font-size:.78rem!important;
}
.sinta-required-lock span{
  color:#7c6a48!important;
  font-size:.68rem!important;
  line-height:1.5!important;
}

/* v89 - searchable Program Studi selector */
.prodi-search-wrap{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
.prodi-search-input-wrap{
  position:relative!important;
}
.prodi-search-input-wrap>i{
  position:absolute!important;
  left:11px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#6f837c!important;
  z-index:2!important;
  font-size:.78rem!important;
}
.prodi-search-input{
  padding-left:32px!important;
  font-size:.75rem!important;
}
.prodi-search-select{
  font-size:.76rem!important;
}
.prodi-search-info{
  color:#7a8b85!important;
  font-size:.62rem!important;
  line-height:1.35!important;
}

/* v90 - relational Faculty -> Program Studi */
.prodi-search-select:disabled{
  background-color:#f4f7f6!important;
  color:#899790!important;
  cursor:not-allowed!important;
}

/* v93 - Dashboard Admin */
.admin-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.admin-stat-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:150px;
  padding:22px;
  border-radius:20px;
  background:linear-gradient(135deg,#0f7a55,#149668);
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(20,80,60,.16);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.admin-stat-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,80,60,.22)}
.admin-stat-icon{
  width:58px;height:58px;border-radius:17px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.16);
  font-size:1.6rem;flex:0 0 auto;
}
.admin-stat-copy{display:flex;flex-direction:column;min-width:0}
.admin-stat-copy span{font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;opacity:.9}
.admin-stat-copy strong{font-size:2.2rem;line-height:1.05;margin:5px 0;font-weight:900}
.admin-stat-copy small{font-size:.72rem;opacity:.82}
.admin-stat-arrow{position:absolute;right:20px;bottom:18px;opacity:.75}
@media(max-width:900px){.admin-stat-grid{grid-template-columns:1fr}}

/* v94 - Master SDM tabs */
.sdm-tabs-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px;
  margin-bottom:18px;
  border:1px solid #dfe8e4;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(25,70,55,.06);
}
.sdm-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 18px;
  border-radius:12px;
  color:#52645d!important;
  font-weight:800;
  font-size:.82rem;
  text-decoration:none!important;
  transition:.18s ease;
}
.sdm-tab:hover{
  background:#eef8f3;
  color:#0f7a55!important;
}
.sdm-tab.active{
  background:linear-gradient(135deg,#0f7a55,#149668);
  color:#fff!important;
  box-shadow:0 7px 18px rgba(20,120,85,.20);
}
@media(max-width:700px){
  .sdm-tabs-wrap{display:grid;grid-template-columns:1fr 1fr}
  .sdm-tab{padding:9px 8px;font-size:.72rem}
}

/* v95 - Jenis Dashboard otomatis berdasarkan role */
.dashboard-type-box{
  position:relative;
  display:flex;
  align-items:center;
}
.dashboard-type-box>i{
  position:absolute;
  left:14px;
  z-index:2;
  color:#13815c;
  font-size:1rem;
}
.dashboard-type-display{
  padding-left:42px!important;
  font-weight:800!important;
  background:#f3faf7!important;
  border-color:#cfe7dc!important;
  color:#176647!important;
  cursor:default;
}
.dashboard-type-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef8f3;
  border:1px solid #d4eade;
  color:#176647;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}

/* v96 - Dashboard khusus Pegawai/Tendik */
.employee-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.employee-summary-card{
  min-height:135px;
  padding:20px;
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid #dcebe4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(29,77,59,.07);
}
.employee-summary-main{
  background:linear-gradient(135deg,#0f7a55,#149668);
  color:#fff;
  border-color:transparent;
}
.employee-summary-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:1.4rem;
  background:#eef8f3;
  color:#107a56;
}
.employee-summary-main .employee-summary-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.employee-summary-card>div:last-child{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.employee-summary-card span{
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
  opacity:.76;
}
.employee-summary-card strong{
  margin:5px 0 2px;
  font-size:1.05rem;
  line-height:1.3;
}
.employee-summary-card small{opacity:.72}
.employee-card-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.employee-profile-grid{
  padding:18px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.employee-profile-item{
  padding:15px 16px;
  border:1px solid #e3ece8;
  border-radius:14px;
  background:#f9fbfa;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.employee-profile-item span{
  color:#75847e;
  font-size:.72rem;
  font-weight:700;
}
.employee-profile-item b{
  color:#263c34;
  overflow-wrap:anywhere;
}
.employee-dashboard-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px 18px;
  border-radius:16px;
  background:#eef8f3;
  border:1px solid #d4eade;
  color:#176647;
}
.employee-dashboard-note>i{font-size:1.2rem;margin-top:1px}
.employee-dashboard-note>div{display:flex;flex-direction:column;gap:3px}
.employee-dashboard-note span{font-size:.8rem;color:#527166}
@media(max-width:900px){
  .employee-dashboard-grid,.employee-profile-grid{grid-template-columns:1fr}
}

/* v97 - Profil lengkap dan arsip Pegawai */
.employee-profile-hero{
  display:flex;align-items:center;gap:20px;padding:22px;
  border-radius:20px;background:linear-gradient(135deg,#0f7a55,#149668);
  color:#fff;box-shadow:0 12px 28px rgba(20,80,60,.16);
}
.employee-photo-wrap{flex:0 0 auto}
.employee-photo,.employee-edit-photo{
  width:94px;height:94px;border-radius:24px;object-fit:cover;
  border:3px solid rgba(255,255,255,.55);
}
.employee-photo-placeholder{
  display:grid;place-items:center;background:rgba(255,255,255,.16);
  color:#fff;font-size:2.4rem;
}
.employee-hero-info{min-width:0;flex:1}
.employee-role-pill{
  display:inline-flex;padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,.16);font-size:.72rem;font-weight:800;
}
.employee-hero-info h4{margin:8px 0 3px;font-weight:900}
.employee-hero-info p{margin:0;opacity:.9}
.employee-hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px;font-size:.8rem}
.employee-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.employee-hero-actions .btn-outline-success{background:#fff;border-color:#fff;color:#147653}
.employee-detail-grid{
  padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.employee-detail-grid>div{
  padding:13px 14px;border:1px solid #e1ebe6;border-radius:13px;background:#fafcfb;
  display:flex;flex-direction:column;gap:3px;
}
.employee-detail-grid span{font-size:.7rem;color:#76857f;font-weight:700}
.employee-detail-grid b{font-size:.88rem;color:#263a33;overflow-wrap:anywhere}
.employee-mini-card{
  max-width:280px;display:flex;align-items:center;gap:14px;padding:16px 18px;
  background:#fff;border:1px solid #dfeae5;border-radius:16px;text-decoration:none!important;
  color:#244238!important;box-shadow:0 6px 18px rgba(25,70,55,.06)
}
.employee-mini-card>i{font-size:1.5rem;color:#12805b}
.employee-mini-card>div{display:flex;flex-direction:column}
.employee-mini-card span{font-size:.72rem;color:#718078;font-weight:700}
.employee-mini-card strong{font-size:1.4rem;color:#164e3a}
.employee-edit-section{padding:16px;border:1px solid #e1ebe6;border-radius:15px;background:#fbfcfc}
.employee-edit-section h6{font-weight:900;color:#176647;margin-bottom:14px}
.employee-edit-photo{width:110px;height:110px;border-color:#d6e9df;color:#176647;background:#eef8f3}
@media(max-width:900px){
  .employee-profile-hero{align-items:flex-start;flex-direction:column}
  .employee-hero-actions{width:100%;justify-content:flex-start}
  .employee-detail-grid{grid-template-columns:1fr}
}

/* v98 - Wizard profil pegawai + tombol cetak */
.employee-hero-actions{max-width:370px}
.employee-hero-actions .btn{font-weight:800}
.employee-wizard-nav{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px 16px;
  border-bottom:1px solid #e1ebe6;background:#f8fbfa
}
.employee-wizard-node{
  border:0;background:#fff;border:1px solid #dfeae5;border-radius:13px;
  min-height:66px;padding:8px;display:flex;align-items:center;justify-content:center;
  gap:5px;flex-direction:column;color:#60716a;font-size:.72rem
}
.employee-wizard-node>span{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:#edf4f1;font-weight:900
}
.employee-wizard-node.active{
  background:linear-gradient(135deg,#0f7a55,#149668);color:#fff;border-color:transparent;
  box-shadow:0 8px 18px rgba(20,120,85,.18)
}
.employee-wizard-node.active>span{background:rgba(255,255,255,.18);color:#fff}
.employee-wizard-step{display:none}
.employee-wizard-step.active{display:block}
.wizard-section-title{font-weight:900;color:#176647;margin-bottom:12px}
.employee-wizard-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.employee-wizard-footer #employeeWizardNext{justify-self:end}
.employee-wizard-progress-text{font-size:.78rem;font-weight:800;color:#65756e}
@media(max-width:900px){
  .employee-wizard-nav{grid-template-columns:1fr 1fr}
  .employee-wizard-node:last-child{grid-column:1/-1}
  .employee-wizard-footer{grid-template-columns:1fr 1fr}
  .employee-wizard-progress-text{display:none}
}

/* v99 - Notifikasi pangkat dan animasi karier pegawai */
.employee-rank-ticker{
  margin:16px 0;
  min-height:46px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:stretch;
  border-radius:14px;
  overflow:hidden;
  border:1px solid #d8e8e0;
  background:#fff;
  box-shadow:0 5px 18px rgba(25,70,55,.06);
}
.employee-rank-ticker-label{
  display:flex;align-items:center;gap:8px;padding:0 15px;
  background:#147a56;color:#fff;font-size:.72rem;white-space:nowrap;
}
.employee-rank-ticker.is-due .employee-rank-ticker-label{background:#b93838}
.employee-rank-ticker.is-due{border-color:#efcaca;background:#fff9f9}
.employee-rank-marquee{overflow:hidden;display:flex;align-items:center;min-width:0}
.employee-rank-marquee-track{
  display:flex;align-items:center;width:max-content;min-width:200%;
  animation:employeeRankMarquee 26s linear infinite;
}
.employee-rank-marquee-track span{
  display:block;min-width:50%;padding:0 30px;font-size:.8rem;font-weight:800;color:#3d574d;
  white-space:nowrap;
}
.employee-rank-ticker.is-due .employee-rank-marquee-track span{color:#9d3030}
@keyframes employeeRankMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.employee-career-card{overflow:hidden}
.employee-career-badge{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#eef8f3;color:#176647;font-size:.72rem;font-weight:800;
}
.employee-career-track{
  position:relative;height:230px;margin:8px 28px 0;padding-top:20px;
}
.employee-career-line{
  position:absolute;left:8%;right:8%;top:98px;height:6px;border-radius:999px;
  background:linear-gradient(90deg,#dcece5,#a6d5c0,#5db38d);
}
.employee-career-point{
  position:absolute;top:83px;transform:translateX(-50%);width:150px;text-align:center;
}
.career-dot{
  display:block;width:22px;height:22px;margin:4px auto 9px;border-radius:50%;
  background:#fff;border:5px solid #abcdbd;box-shadow:0 0 0 4px rgba(20,122,86,.07);
  transition:.3s ease;
}
.employee-career-point.career-active .career-dot{
  border-color:#147a56;transform:scale(1.12);box-shadow:0 0 0 5px rgba(20,122,86,.12)
}
.career-point-card{
  min-height:76px;padding:9px 10px;border:1px solid #e1ebe6;border-radius:12px;
  background:#fff;box-shadow:0 5px 16px rgba(25,70,55,.06);
  display:flex;flex-direction:column;gap:2px;
}
.career-point-card small{font-size:.65rem;color:#77877f}
.career-point-card b{font-size:.76rem;color:#21483a}
.career-point-card span{font-size:.65rem;color:#738079}
.employee-career-climber{
  position:absolute;top:54px;left:8%;transform:translateX(-50%);
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:#147a56;color:#fff;box-shadow:0 8px 18px rgba(20,122,86,.22);
  transition:left .55s cubic-bezier(.2,.8,.2,1);z-index:3;font-size:1.1rem;
}
.employee-career-caption{
  display:flex;justify-content:space-between;gap:10px;padding:0 28px 18px;
  color:#687a72;font-size:.68rem;font-weight:700;
}
.employee-career-empty{
  min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;color:#718179;padding:22px;
}
.employee-career-empty>i{font-size:2rem;color:#48a27c}
.employee-career-empty b{color:#29483c}
#employeeTenurePreview{background:#eef8f3!important;color:#176647;font-weight:900}
@media(max-width:900px){
  .employee-rank-ticker{grid-template-columns:1fr}
  .employee-rank-ticker-label{min-height:36px;justify-content:center}
  .employee-career-track{height:auto;margin:12px 16px;padding:0}
  .employee-career-line,.employee-career-climber{display:none}
  .employee-career-point{position:relative!important;left:auto!important;top:auto;transform:none;width:100%;margin-bottom:9px;text-align:left}
  .career-dot{display:none}
  .career-point-card{min-height:0}
  .employee-career-caption{display:none}
}

/* v100 - Riwayat Kepangkatan Pegawai */
.employee-rank-history-box{
  border:1px solid #dfeae5;
  border-radius:16px;
  background:#f9fcfb;
  padding:16px;
}
.employee-rank-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.employee-rank-history-head h6{
  margin:0 0 3px;
  color:#176647;
  font-weight:900;
}
.employee-rank-history-head small{
  color:#70817a;
}
.employee-rank-add-form{
  padding:14px;
  border:1px dashed #cddfd7;
  border-radius:14px;
  background:#fff;
}
.employee-rank-history-box table thead th{
  white-space:nowrap;
}

/* v101 - Tabs Arsip Pegawai */
.employee-archive-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.employee-archive-tab{
  display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:15px;
  border:1px solid #dce8e2;background:#fff;text-decoration:none!important;color:#375248!important;
}
.employee-archive-tab>i{font-size:1.45rem;color:#16805b}
.employee-archive-tab>div{display:flex;flex-direction:column;gap:2px}
.employee-archive-tab b{font-size:.88rem}
.employee-archive-tab span{font-size:.7rem;color:#76857f}
.employee-archive-tab.active{
  border-color:#16805b;background:#eef8f3;box-shadow:0 6px 18px rgba(20,120,85,.09)
}
@media(max-width:700px){.employee-archive-tabs{grid-template-columns:1fr}}

/* v102 - Kelola Tunjangan */
.allowance-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.allowance-tab{
  display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:17px;
  border:1px solid #dce8e2;background:#fff;text-decoration:none!important;color:#324e43!important;
  box-shadow:0 5px 16px rgba(25,70,55,.05)
}
.allowance-tab-icon{
  width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;
  background:#eef8f3;color:#16805b;font-size:1.25rem
}
.allowance-tab>div:last-child{display:flex;flex-direction:column;gap:2px}
.allowance-tab b{font-size:.92rem}
.allowance-tab span{font-size:.7rem;color:#74857d}
.allowance-tab.active{
  background:linear-gradient(135deg,#0f7a55,#149668);border-color:transparent;color:#fff!important
}
.allowance-tab.active .allowance-tab-icon{background:rgba(255,255,255,.17);color:#fff}
.allowance-tab.active span{color:rgba(255,255,255,.8)}
.allowance-form-card{position:sticky;top:82px}
.job-class-chip{
  min-width:42px;display:inline-grid;place-items:center;padding:7px 10px;border-radius:10px;
  background:#eef8f3;border:1px solid #d2e9de;color:#176647;font-weight:900
}
.allowance-amount{color:#176647;white-space:nowrap}
.allowance-status{
  display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:6px 9px;
  font-size:.7rem;font-weight:900
}
.allowance-status.is-active{background:#e9f7ef;color:#18704d}
.allowance-status.is-inactive{background:#f1f2f2;color:#69746f}
.allowance-table th{white-space:nowrap}
@media(max-width:900px){
  .allowance-tabs{grid-template-columns:1fr}
  .allowance-form-card{position:static}
}

/* v103 - Admin Timeline */
.timeline-choice-bar{
  display:flex;gap:8px;overflow-x:auto;padding-bottom:3px
}
.timeline-choice{
  flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;
  border:1px solid #dce8e2;background:#fff;text-decoration:none!important;color:#496158!important;
  font-size:.72rem;font-weight:800
}
.timeline-choice.active{background:#147a56;color:#fff!important;border-color:#147a56}
.timeline-form-card{position:sticky;top:82px}
.admin-timeline-wrap{position:relative;padding:22px 22px 28px 58px}
.admin-timeline-line{
  position:absolute;left:29px;top:34px;bottom:32px;width:5px;border-radius:999px;
  background:linear-gradient(#cfe7dc,#8bc7aa,#35a172)
}
.admin-timeline-runner{
  position:absolute;left:13px;top:30px;width:37px;height:37px;border-radius:50%;z-index:3;
  display:grid;place-items:center;background:#147a56;color:#fff;
  box-shadow:0 7px 18px rgba(20,122,86,.25);transition:top .65s cubic-bezier(.2,.8,.2,1)
}
.admin-timeline-item{position:relative;margin-bottom:17px;opacity:.68;transform:translateX(5px);transition:.35s ease}
.admin-timeline-item.timeline-active{opacity:1;transform:translateX(0)}
.admin-timeline-dot{
  position:absolute;left:-40px;top:18px;width:17px;height:17px;border-radius:50%;
  background:#fff;border:4px solid #9bcdb5;z-index:2;transition:.3s ease
}
.admin-timeline-item.timeline-active .admin-timeline-dot{border-color:#147a56;transform:scale(1.12)}
.admin-timeline-card{
  border:1px solid #e0ebe6;border-radius:16px;background:#fff;padding:15px 16px;
  box-shadow:0 5px 17px rgba(25,70,55,.055)
}
.admin-timeline-item.is-ongoing .admin-timeline-card{border-color:#98ceb5;background:#f6fcf9}
.admin-timeline-item.is-passed .admin-timeline-card{background:#fafafa}
.admin-timeline-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.admin-timeline-top small{white-space:nowrap;color:#75847e;font-weight:700}
.timeline-category,.timeline-target,.timeline-priority{
  display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:900
}
.timeline-category{background:#edf7f2;color:#176647}
.timeline-target{background:#eef3f8;color:#3d607b}
.timeline-priority{background:#f2f2f2;color:#64706b}
.priority-penting{background:#fff1cd;color:#8a6500}
.priority-mendesak{background:#fde8e8;color:#a83232}
.admin-timeline-card h5{font-size:.94rem;font-weight:900;color:#25463a;margin-bottom:6px}
.admin-timeline-card p{font-size:.77rem;color:#66776f;line-height:1.6;margin-bottom:10px}
.admin-timeline-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin-timeline-actions form{margin:0}
.timeline-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#728179;text-align:center}
.timeline-empty i{font-size:2.2rem;color:#4ca77e;margin-bottom:5px}
.timeline-empty b{color:#304c41}
@media(max-width:900px){
  .timeline-form-card{position:static}
  .admin-timeline-wrap{padding-left:48px;padding-right:12px}
  .admin-timeline-line{left:23px}
  .admin-timeline-runner{left:7px}
  .admin-timeline-dot{left:-34px}
  .admin-timeline-top{flex-direction:column}
}

/* v104 - Timeline dashboard & popup */
.dashboard-timeline-panel{margin:14px 0 17px;padding:16px;border:1px solid #dceae3;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(25,70,55,.055)}
.dashboard-timeline-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}
.dashboard-timeline-head h5{margin:4px 0 2px;font-size:.95rem;font-weight:900;color:#29483c}
.dashboard-timeline-head p{margin:0;font-size:.72rem;color:#718078}
.dashboard-timeline-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 5px}
.dashboard-timeline-mini{min-width:310px;max-width:390px;display:flex;gap:12px;padding:12px;border:1px solid #e2ece7;border-radius:14px;background:#fbfdfc}
.dashboard-timeline-mini.priority-penting{border-left:4px solid #d6a400}
.dashboard-timeline-mini.priority-mendesak{border-left:4px solid #bd3b3b}
.dashboard-timeline-date{width:54px;flex:0 0 54px;border-radius:12px;background:#eef8f3;color:#176647;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px}
.dashboard-timeline-date b{font-size:1.15rem;line-height:1}.dashboard-timeline-date span{font-size:.59rem;font-weight:800;margin-top:3px}
.dashboard-timeline-mini-body{min-width:0}.dashboard-timeline-mini-body>b{display:block;font-size:.78rem;color:#304a40;margin:6px 0 3px}.dashboard-timeline-mini-body p{font-size:.68rem;line-height:1.45;color:#6d7b75;margin:0 0 7px}
.timeline-announcement-modal .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(20,55,43,.22)}
.timeline-popup-hero{padding:20px;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#157a57,#1b9a6d);color:#fff}
.timeline-popup-hero.priority-penting{background:linear-gradient(135deg,#9a7100,#d6a400)}
.timeline-popup-hero.priority-mendesak{background:linear-gradient(135deg,#8e2929,#c54545)}
.timeline-popup-icon{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:1.35rem}
.timeline-popup-hero span{font-size:.65rem;font-weight:900;letter-spacing:.05em}.timeline-popup-hero h4{font-size:1rem;font-weight:900;margin:3px 0 0}
.timeline-popup-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.timeline-popup-meta span{font-size:.68rem;padding:6px 8px;border-radius:9px;background:#f1f6f3;color:#52675e;font-weight:700}
.timeline-announcement-modal .modal-body p{font-size:.78rem;line-height:1.65;color:#5f7068}
.admin-dashboard-timeline-list{padding:4px 14px 14px}.admin-dashboard-timeline-item{display:flex;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid #edf1ef}.admin-dashboard-timeline-item:last-child{border-bottom:0}
.admin-dashboard-timeline-date{width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:#edf8f3;color:#176647;display:flex;flex-direction:column;align-items:center;justify-content:center}.admin-dashboard-timeline-date b{font-size:1rem;line-height:1}.admin-dashboard-timeline-date span{font-size:.58rem;font-weight:900;text-transform:uppercase}
.admin-dashboard-timeline-copy{flex:1;min-width:0}.admin-dashboard-timeline-copy>b{display:block;font-size:.78rem;color:#304a40}.admin-dashboard-timeline-copy>small{font-size:.64rem;color:#7b8982}.timeline-empty.compact{min-height:130px}
@media(max-width:700px){.dashboard-timeline-mini{min-width:280px}.admin-dashboard-timeline-item{align-items:flex-start}}

/* v105 - Timeline email notification */
.timeline-email-options{padding:12px;border:1px solid #dceae3;border-radius:13px;background:#f8fcfa}
.timeline-email-options .form-check-label small{font-size:.65rem;color:#718078}
.timeline-email-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#e9f5ff;color:#326887;font-size:.61rem;font-weight:900}
.timeline-cron-setting{padding:13px;border-radius:13px;background:#f6faf8;border:1px solid #dce9e3}

/* v107 - Timeline email diagnostics */
.timeline-email-log-table th{font-size:.66rem;text-transform:uppercase;color:#708078;background:#f7faf8;white-space:nowrap}
.timeline-email-log-table td{font-size:.72rem;vertical-align:middle}.timeline-email-log-table td small{display:block;color:#78877f;font-size:.62rem}
.email-log-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:900}.email-log-status.success{background:#eaf7f0;color:#1e7854}.email-log-status.failed{background:#fdecec;color:#a53c3c}
.email-error-summary{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;background:#f7faf8;margin-bottom:10px}.email-error-summary span{font-size:.72rem;color:#6c7a74}
.email-error-code{white-space:pre-wrap;word-break:break-word;padding:13px;border-radius:11px;background:#2d3431;color:#f2f5f3;font-size:.72rem;max-height:280px;overflow:auto}
.timeline-email-log-empty{padding:30px;text-align:center;color:#78877f}.timeline-email-log-empty i{margin-right:5px}

/* v108 - Pengaturan Sistem modern & responsive */
.settings-page-heading{margin-bottom:14px}
.settings-nav-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;background:#fff;border:1px solid #e5ece8;border-radius:18px;box-shadow:0 8px 24px rgba(25,58,43,.06);margin-bottom:16px}
.settings-nav-item{display:flex;align-items:center;gap:11px;min-width:0;padding:12px 14px;border-radius:14px;text-decoration:none!important;color:#4d6057;border:1px solid transparent;transition:.2s ease}
.settings-nav-item:hover{background:#f6faf8;color:#1e6b4a}.settings-nav-item.active{background:linear-gradient(135deg,#ecf8f1,#f8fcfa);border-color:#cfe8da;color:#176a47;box-shadow:inset 0 0 0 1px rgba(36,123,83,.03)}
.settings-nav-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#eff5f2;display:grid;place-items:center;font-size:1rem}.settings-nav-item.active .settings-nav-icon{background:#dff2e7}
.settings-nav-copy{min-width:0;display:flex;flex-direction:column}.settings-nav-copy b{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-nav-copy small{font-size:.62rem;color:#86938d;margin-top:2px}
.settings-section-card{background:#fff;border:1px solid #e3ebe7;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(25,58,43,.055)}
.settings-section-head{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid #edf1ef}.settings-section-head.compact{padding-bottom:10px;margin-bottom:12px}
.settings-section-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#eaf6ef;color:#21714f;font-size:1.05rem}
.settings-section-head h5{font-size:.91rem;margin:0 0 2px;font-weight:800;color:#263a31}.settings-section-head p{font-size:.67rem;margin:0;color:#7c8a83}
.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.settings-form-grid label{display:block;font-size:.67rem;font-weight:800;color:#53645c;margin:0 0 6px}.settings-form-grid .form-control,.settings-form-grid .form-select{min-height:42px;border-radius:10px;border-color:#dce5e0;font-size:.74rem}
.settings-full{grid-column:1/-1}.field-help{display:block;font-size:.61rem;color:#87948e;margin-top:5px}
.settings-switch-cell{display:flex;flex-direction:column}.settings-switch-box{min-height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid #dce5e0;border-radius:10px;background:#fbfcfb;font-size:.7rem}
.settings-actions{display:flex;justify-content:flex-end;padding-top:16px;margin-top:16px;border-top:1px solid #edf1ef}.settings-actions .btn{min-width:170px}
.settings-subsection{margin-top:18px;padding:15px;border-radius:15px;background:#f9fbfa;border:1px solid #e6ece9}.settings-subsection-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.settings-subsection-head>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9f4ee;color:#24704f}.settings-subsection-head>div{display:flex;flex-direction:column}.settings-subsection-head b{font-size:.75rem}.settings-subsection-head small{font-size:.61rem;color:#829089}
.settings-notice{display:flex;gap:10px;padding:12px 14px;border-radius:13px;font-size:.66rem;line-height:1.55}.settings-notice>i{font-size:1rem;margin-top:1px}.settings-notice>div{display:flex;flex-direction:column;gap:2px}.settings-notice-warning{background:#fff8e8;border:1px solid #f3dfac;color:#755a18}.settings-notice-info{background:#eef7ff;border:1px solid #d5e7f6;color:#315f7d}
.settings-test-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.settings-test-form .btn{min-width:160px}.settings-s3-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;margin-top:16px;border-top:1px solid #edf1ef;font-size:.7rem}
@media(max-width:900px){.settings-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.settings-nav-card{grid-template-columns:1fr;padding:8px}.settings-nav-item{padding:10px 12px}.settings-nav-copy b{font-size:.76rem}.settings-form-grid,.settings-form-grid-4{grid-template-columns:1fr}.settings-section-card{padding:14px;border-radius:15px}.settings-full{grid-column:auto}.settings-actions .btn{width:100%}.settings-test-form{grid-template-columns:1fr}.settings-test-form .btn{width:100%}.settings-s3-footer{align-items:stretch;flex-direction:column}.settings-s3-footer .btn{width:100%}}

/* v109 - clean settings tabs override */
.settings-nav-card,.settings-nav-item,.settings-nav-icon,.settings-nav-copy{all:unset}
.settings-tabbar-wrap{background:#fff;border:1px solid #e5ebe8;border-radius:16px;padding:8px;margin:0 0 16px;box-shadow:0 6px 18px rgba(28,55,43,.05);overflow:hidden}
.settings-tabbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.settings-tab{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border-radius:11px;text-decoration:none!important;border:1px solid transparent;background:#f7f9f8;color:#5e6c65;font-size:.73rem;font-weight:800;line-height:1.1;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.settings-tab i{font-size:.9rem;line-height:1}
.settings-tab:hover{background:#f1f7f4;color:#216b4d;border-color:#dbe9e2}
.settings-tab.active{background:#e8f5ee;color:#176b49;border-color:#cbe5d7;box-shadow:0 2px 7px rgba(25,103,71,.08)}
.settings-section-card{overflow:hidden}
@media(max-width:760px){
  .settings-tabbar{grid-template-columns:1fr}
  .settings-tab{justify-content:flex-start;white-space:normal}
  .settings-tabbar-wrap{padding:7px;border-radius:14px}
}

/* v110 - 4 card statistik dashboard admin */
.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-stat-grid{grid-template-columns:1fr}}

/* v112 - Master SDM dependent Fakultas/Prodi + professional user form */
.user-create-card{background:#fff;border:1px solid #e3ebe7;border-radius:18px;box-shadow:0 9px 28px rgba(27,58,44,.06);overflow:hidden}
.user-create-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #edf1ef;background:linear-gradient(180deg,#fff,#fbfcfb)}
.user-create-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e7f5ed;color:#1f714f;font-size:1.05rem}
.user-create-head>div:last-child{display:flex;flex-direction:column}.user-create-head b{font-size:.88rem}.user-create-head span{font-size:.66rem;color:#7c8983;margin-top:2px}
.user-form-section{padding:16px 18px;border-bottom:1px solid #edf1ef}.user-form-section-title{display:flex;align-items:center;gap:9px;margin-bottom:13px}.user-form-section-title>i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f0f6f3;color:#2b7455}.user-form-section-title>div{display:flex;flex-direction:column}.user-form-section-title b{font-size:.75rem}.user-form-section-title small{font-size:.6rem;color:#86928d}
.user-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.user-form-grid label{display:block;font-size:.66rem;font-weight:800;color:#536159;margin-bottom:6px}.user-form-grid label span{color:#b64747}.user-form-grid .form-control,.user-form-grid .form-select{min-height:42px;border-radius:10px;border-color:#dce5e0;font-size:.73rem}
.user-create-footer{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfb}.user-create-footer>span{font-size:.62rem;color:#7c8983}.user-create-footer>span i{margin-right:4px}
.sdm-prodi-select:disabled{background:#f4f6f5;color:#8b9690}.sdm-prodi-help{font-size:.59rem!important;margin-top:4px;display:block}
@media(max-width:1050px){.user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.user-form-grid{grid-template-columns:1fr}.user-create-footer{align-items:stretch;flex-direction:column}.user-create-footer .btn{width:100%}}

/* v113 - Timeline Kepegawaian dashboard admin sebagai running text */
.admin-timeline-ticker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;min-height:48px;background:#fff;border:1px solid #e1e9e5;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(25,58,43,.05)}
.admin-timeline-ticker-label{display:flex;align-items:center;gap:8px;padding:0 15px;background:#176b49;color:#fff;font-size:.7rem;font-weight:800;white-space:nowrap;z-index:2}
.admin-timeline-ticker-label i{font-size:.9rem}
.admin-timeline-ticker-window{display:flex;align-items:center;overflow:hidden;position:relative;min-width:0;background:#fff}
.admin-timeline-ticker-window:before,.admin-timeline-ticker-window:after{content:"";position:absolute;top:0;bottom:0;width:24px;z-index:1;pointer-events:none}
.admin-timeline-ticker-window:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.admin-timeline-ticker-window:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.admin-timeline-ticker-track{display:flex;align-items:center;width:max-content;white-space:nowrap;animation:adminTimelineTicker 34s linear infinite;padding-left:30px}
.admin-timeline-ticker-window:hover .admin-timeline-ticker-track{animation-play-state:paused}
.admin-timeline-ticker-item{display:inline-flex;align-items:center;gap:7px;font-size:.69rem;color:#45544c}
.admin-timeline-ticker-item strong{color:#1f3229;font-size:.72rem}
.admin-timeline-ticker-item .ticker-meta{color:#78867f}
.admin-timeline-separator{padding:0 22px;color:#82a894;font-weight:900}
.ticker-priority{display:inline-flex;padding:3px 7px;border-radius:999px;background:#fff0e8;color:#b45228;font-size:.55rem;text-transform:uppercase;letter-spacing:.03em}
.admin-timeline-ticker-action{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 13px;border-left:1px solid #e7ece9;color:#176b49;text-decoration:none;font-size:.65rem;font-weight:800;background:#f8fbf9;z-index:2}
.admin-timeline-ticker-action:hover{background:#edf7f1;color:#12563b}
.admin-timeline-ticker-empty{padding:0 18px;font-size:.68rem;color:#7b8882}
@keyframes adminTimelineTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){
 .admin-timeline-ticker{grid-template-columns:auto minmax(0,1fr)}
 .admin-timeline-ticker-label{padding:0 10px}.admin-timeline-ticker-label span{display:none}
 .admin-timeline-ticker-action{display:none}
 .admin-timeline-ticker-track{animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){.admin-timeline-ticker-track{animation:none}}

/* v114 - Monitoring pensiun */
.admin-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.retirement-stat-card .admin-stat-icon{background:#fff3df;color:#a46614}
.retirement-ticker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:44px;border:1px solid #eadfc9;border-radius:13px;overflow:hidden;background:#fff}
.retirement-ticker-label{display:flex;align-items:center;gap:7px;padding:0 13px;background:#9b671d;color:#fff;font-size:.67rem;font-weight:800;white-space:nowrap}
.retirement-ticker-window{overflow:hidden;display:flex;align-items:center}.retirement-ticker-track{display:flex;width:max-content;white-space:nowrap;animation:retirementTicker 38s linear infinite}
.retirement-ticker-window:hover .retirement-ticker-track{animation-play-state:paused}.retirement-ticker-item{font-size:.67rem;color:#4f574f}.retirement-ticker-item b{color:#7b541a}.retirement-ticker-sep{padding:0 20px;color:#bc9c6b}
.retirement-ticker-action{display:flex;align-items:center;padding:0 13px;background:#fffaf1;color:#8d5d18;font-size:.64rem;font-weight:800;text-decoration:none;border-left:1px solid #eee2cd}
@keyframes retirementTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.retirement-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.retirement-summary-card{background:#fff;border:1px solid #e4ebe7;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;box-shadow:0 5px 18px rgba(30,55,44,.04)}.retirement-summary-card span{font-size:.66rem;color:#66746d;font-weight:800}.retirement-summary-card strong{font-size:1.5rem;color:#1f694b;margin:3px 0}.retirement-summary-card small{font-size:.58rem;color:#8a9690}
.retirement-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.58rem;font-weight:800;white-space:nowrap}.status-segera-pensiun{background:#fde8e8;color:#a33b3b}.status-mendekati-pensiun{background:#fff1dc;color:#9a651b}.status-persiapan-pensiun{background:#eaf4ee;color:#277152}
.retirement-rule-form{padding:16px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.retirement-rule-form label{font-size:.62rem;font-weight:800;margin-bottom:5px}.retirement-rule-form .form-control,.retirement-rule-form .form-select{min-height:40px;font-size:.7rem}.retirement-rule-form .rule-notes{grid-column:span 5}.retirement-rule-form .rule-action{display:flex;justify-content:flex-end}
@media(max-width:1200px){.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.retirement-rule-form{grid-template-columns:repeat(3,minmax(0,1fr))}.retirement-rule-form .rule-notes{grid-column:span 2}}
@media(max-width:800px){.retirement-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-ticker-label span{display:none}}
@media(max-width:650px){.admin-stat-grid,.retirement-summary-grid,.retirement-rule-form{grid-template-columns:1fr}.retirement-rule-form .rule-notes{grid-column:auto}.retirement-rule-form .rule-action .btn{width:100%}.retirement-ticker{grid-template-columns:auto minmax(0,1fr)}.retirement-ticker-action{display:none}}

/* v116 executive admin dashboard */
.exec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:15px}.exec-head h3{margin:2px 0 3px;font-weight:800}.exec-head p{margin:0;color:#75827c;font-size:.72rem}.exec-head-actions{display:flex;align-items:center;gap:9px}.exec-date{padding:8px 11px;border:1px solid #dce7e1;border-radius:9px;background:#fff;font-size:.64rem;color:#64736c;font-weight:700}
.exec-stat-grid .admin-stat-card{min-width:0}.exec-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.exec-grid-wide{grid-template-columns:1.35fr .85fr}.exec-panel{padding:0!important;overflow:hidden}.exec-panel-head{padding:14px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.exec-panel-head h6{margin:1px 0 0;font-size:.83rem;font-weight:800}.exec-panel-head>a{font-size:.61rem;text-decoration:none;font-weight:800;color:#237151}.exec-panel-head small{font-size:.58rem;color:#89958f}.exec-kicker{font-size:.52rem;letter-spacing:.08em;color:#7d8b84;font-weight:900}.exec-total{font-size:.58rem;padding:5px 8px;border-radius:999px;background:#eef7f2;color:#347257;font-weight:800}
.sdm-composition{display:flex;align-items:center;justify-content:center;gap:34px;padding:7px 18px 20px}.donut{--p:50;width:116px;height:116px;border-radius:50%;background:conic-gradient(#23815b calc(var(--p)*1%),#dce9e2 0);display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;width:76px;height:76px;background:#fff;border-radius:50%}.donut div{z-index:1;text-align:center}.donut b{display:block;font-size:1.1rem;color:#1d6549}.donut span{font-size:.55rem;color:#85928c}.composition-legend{min-width:145px}.composition-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #eef2f0;font-size:.65rem}.composition-legend b{font-size:.76rem}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot-dosen{background:#23815b}.dot-tendik{background:#a8c8b8}
.quality-score{font-size:1.2rem;color:#237151}.quality-progress{height:7px;background:#e8efeb;margin:2px 16px 15px;border-radius:10px;overflow:hidden}.quality-progress span{display:block;height:100%;background:#25815c;border-radius:10px}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px 13px}.quality-grid>div{background:#f8faf9;border:1px solid #edf1ef;border-radius:10px;padding:10px}.quality-grid b{display:block;font-size:.94rem;color:#2c624d}.quality-grid span{display:block;font-size:.51rem;color:#7d8983;margin-top:2px}.quality-note{padding:9px 16px;background:#f4f8f6;color:#718078;font-size:.55rem}
.faculty-bars{padding:5px 16px 6px}.faculty-bar-row{display:grid;grid-template-columns:130px 1fr 28px;gap:10px;align-items:center;margin:9px 0}.faculty-bar-name{font-size:.57rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.faculty-bar-track{height:9px;background:#eef2f0;border-radius:9px;overflow:hidden;display:flex}.faculty-bar-dosen,.faculty-bar-tendik{height:100%;display:block}.faculty-bar-dosen{background:#23815b}.faculty-bar-tendik{background:#a8c8b8}.faculty-bar-value{font-size:.58rem;font-weight:800;text-align:right}.bar-legend{display:flex;gap:15px;padding:5px 16px 13px;font-size:.54rem;color:#75827c}.bar-legend span{display:flex;align-items:center;gap:5px}
.retirement-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px 14px 13px}.retire-mini{border-radius:11px;padding:11px;background:#f8faf9;display:flex;flex-direction:column}.retire-mini i{font-size:.8rem;margin-bottom:5px}.retire-mini b{font-size:1.1rem}.retire-mini span{font-size:.54rem;font-weight:800}.retire-mini small{font-size:.48rem;color:#829089}.retire-mini.urgent{background:#fff5f4;color:#a64a43}.retire-mini.near{background:#fff9ed;color:#9a6b20}.retire-mini.prepare{background:#f0f8f3;color:#397257}.next-retirement{margin:0 14px 14px;padding:9px 11px;border:1px solid #e8eee9;border-radius:10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.next-retirement span{font-size:.5rem;text-transform:uppercase;color:#88948e}.next-retirement b{font-size:.63rem}.next-retirement small{font-size:.52rem;color:#76837d}.exec-empty{padding:20px;text-align:center;font-size:.62rem;color:#89958f}
.quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:4px 14px 14px}.quick-actions a{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e7eeea;border-radius:10px;text-decoration:none;color:#3f5d50;font-size:.58rem;font-weight:800;background:#fbfcfc}.quick-actions a:hover{background:#eef7f2;border-color:#cfe1d7}.quick-actions i{font-size:.82rem;color:#237151}
@media(max-width:1100px){.exec-grid,.exec-grid-wide{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.exec-head{align-items:flex-start;flex-direction:column}.exec-head-actions{width:100%;justify-content:space-between}.quality-grid{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}.faculty-bar-row{grid-template-columns:90px 1fr 24px}.sdm-composition{gap:20px}.retirement-mini-grid{grid-template-columns:1fr 1fr 1fr}.next-retirement{grid-template-columns:1fr}.exec-date{display:none}}

/* v117 - Notification bell replacing dashboard running text */
.topbar{gap:10px}.top-notification-dropdown{margin-left:auto;position:relative}.top-notification-dropdown+.top-account-dropdown{margin-left:0}
.notification-bell{width:38px;height:38px;border:1px solid #dfe8e3;border-radius:11px;background:#fff;color:#476356;display:grid;place-items:center;position:relative;box-shadow:0 3px 12px rgba(30,60,45,.04)}
.notification-bell:hover,.notification-bell[aria-expanded="true"]{background:#eef7f2;color:#176b49;border-color:#cfe1d7}.notification-bell i{font-size:.95rem}
.notification-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#c7473d;color:#fff;border:2px solid #fff;font-size:.49rem;font-weight:900;display:flex;align-items:center;justify-content:center}
.notification-menu{width:360px;max-width:calc(100vw - 24px);padding:0;border:0;border-radius:15px;overflow:hidden;box-shadow:0 18px 50px rgba(27,55,42,.18);margin-top:9px!important}
.notification-menu-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 10px;background:#fff}.notification-menu-head b{display:block;font-size:.76rem}.notification-menu-head span{font-size:.53rem;color:#839089}.notification-count{width:25px;height:25px;border-radius:50%;background:#eaf5ef;color:#247151!important;font-size:.58rem!important;font-weight:900;display:grid!important;place-items:center}
.notification-tabs{display:flex;gap:5px;padding:0 15px 10px;border-bottom:1px solid #edf1ef}.notification-tabs button{border:0;background:#f5f7f6;color:#75817b;padding:5px 9px;border-radius:7px;font-size:.53rem;font-weight:800}.notification-tabs button.active{background:#237151;color:#fff}
.notification-scroll{max-height:355px;overflow-y:auto}.notification-item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid #f0f3f1;text-decoration:none;color:#3e5048}.notification-item:hover{background:#f7faf8}.notification-item-icon{flex:0 0 32px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.notification-item-icon.retirement{background:#fff2df;color:#9b671d}.notification-item-icon.timeline{background:#eaf5ef;color:#237151}
.notification-item-copy{min-width:0;display:block}.notification-item-copy b{display:block;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-copy span{display:block;font-size:.53rem;color:#6f7d76;margin:2px 0}.notification-item-copy small{display:block;font-size:.49rem;color:#9aa39f}
.notification-menu-foot{display:grid;grid-template-columns:1fr 1fr;background:#f7faf8;border-top:1px solid #e9efec}.notification-menu-foot a{padding:9px;text-align:center;text-decoration:none;color:#347258;font-size:.52rem;font-weight:800}.notification-menu-foot a+a{border-left:1px solid #e3ebe7}.notification-empty{padding:30px 15px;text-align:center;color:#8b9691}.notification-empty i{display:block;font-size:1.2rem;margin-bottom:5px}.notification-empty b,.notification-empty span{display:block;font-size:.58rem}.notification-empty span{font-size:.51rem;margin-top:3px}
@media(max-width:650px){.notification-menu{position:fixed!important;top:58px!important;right:10px!important;left:10px!important;width:auto!important;transform:none!important}.top-notification-dropdown{margin-left:auto}.notification-scroll{max-height:55vh}}

.notification-menu-foot-single{display:block!important;padding:8px 12px;text-align:center}
.notification-menu-foot-single span{font-size:.5rem;color:#7b8982;font-weight:700}

/* v119 Admin Arsip SDM */
.archive-filter-card{padding:13px 15px!important}.archive-filter{display:grid;grid-template-columns:180px 1fr auto auto;gap:9px;align-items:end}.archive-filter label{display:block;font-size:.54rem;font-weight:800;color:#74817a;margin-bottom:4px}.archive-filter .form-control,.archive-filter .form-select{font-size:.64rem}
.archive-table{font-size:.61rem;margin:0}.archive-table thead th{font-size:.52rem;text-transform:uppercase;letter-spacing:.03em;color:#76847d;background:#f7faf8;white-space:nowrap}.archive-type,.archive-category{display:inline-block;padding:4px 7px;border-radius:7px;background:#edf6f1;color:#267153;font-size:.51rem;font-weight:800}.archive-type.pegawai{background:#eef3f8;color:#4b6780}.archive-detail-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.archive-detail-head h3{margin:3px 0}.archive-detail-head p{font-size:.62rem;color:#7a8781;margin:0}.archive-back{display:inline-block;text-decoration:none;font-size:.56rem;font-weight:800;color:#347258;margin-bottom:9px}.archive-total{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#edf7f2;color:#287153}.archive-total i{font-size:1.1rem}.archive-total b,.archive-total span{display:block}.archive-total b{font-size:1rem}.archive-total span{font-size:.49rem}.archive-category-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:9px}.archive-category-tabs a{white-space:nowrap;text-decoration:none;padding:6px 9px;border:1px solid #e3ebe7;border-radius:8px;background:#fff;color:#617168;font-size:.54rem;font-weight:800}.archive-category-tabs a.active{background:#237151;color:#fff;border-color:#237151}.archive-category-tabs b{margin-left:3px}.archive-doc-panel{padding:0!important;overflow:hidden}.archive-readonly{font-size:.52rem;color:#347258;background:#eef7f2;padding:5px 8px;border-radius:8px}.archive-actions{display:flex;gap:5px;white-space:nowrap}.archive-info{display:flex;gap:10px;padding:11px 13px;border:1px solid #dceae3;background:#f5faf7;border-radius:11px;color:#537063}.archive-info b,.archive-info span{display:block;font-size:.57rem}.archive-info span{font-size:.52rem;color:#7b8982;margin-top:2px}
@media(max-width:760px){.archive-filter{grid-template-columns:1fr 1fr}.archive-search{grid-column:1/-1}.archive-detail-head{align-items:flex-start;gap:10px}.archive-total{padding:8px 10px}.archive-actions{flex-direction:column}.archive-table{min-width:850px}}

/* v120 - Integrasi Arsip Lainnya Dosen ke Master SDM > Arsip SDM */
.archive-admin-sync-note{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid #cfe4d8;background:#f2faf5;border-radius:12px;color:#35684f}
.archive-admin-sync-note>i{width:34px;height:34px;border-radius:10px;background:#237151;color:#fff;display:grid;place-items:center}
.archive-admin-sync-note b,.archive-admin-sync-note span{display:block}.archive-admin-sync-note b{font-size:.65rem}.archive-admin-sync-note span{font-size:.54rem;color:#708078;margin-top:2px}
.archive-tab-intro{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;border-radius:13px;background:linear-gradient(135deg,#edf8f2,#f8fbf9);border:1px solid #dcebe3}
.archive-tab-intro>div:first-child{width:38px;height:38px;border-radius:11px;background:#237151;color:#fff;display:grid;place-items:center;font-size:1rem}
.archive-tab-intro b,.archive-tab-intro span{display:block}.archive-tab-intro b{font-size:.7rem;color:#315b49}.archive-tab-intro span{font-size:.55rem;color:#74827b;margin-top:2px}
.sdm-tabs-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
.other-archive-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}.other-archive-form .name-field{grid-column:span 2}.other-archive-form .link-field{grid-column:span 2}
@media(max-width:900px){.other-archive-form{grid-template-columns:1fr 1fr!important}.other-archive-form .name-field,.other-archive-form .link-field{grid-column:span 2}}
@media(max-width:650px){.sdm-tabs-wrap{grid-template-columns:1fr}.other-archive-form{grid-template-columns:1fr!important}.other-archive-form .name-field,.other-archive-form .link-field{grid-column:span 1}}
/* v121 Arsip Dosen terpusat */
.archive-tabs-central{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:650px){.archive-tabs-central{grid-template-columns:1fr!important}}

/* v122 folder arsip dinamis */
.admin-folder-grid{display:grid;gap:12px}.admin-cat-card{background:#fff;border:1px solid #e1ebe6;border-radius:13px;overflow:hidden}.admin-cat-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#f5faf7;border-bottom:1px solid #e3ece7}.admin-cat-head>div{display:flex;align-items:center;gap:8px}.admin-cat-head i{color:#2b7657}.admin-cat-head b{font-size:.68rem}.admin-cat-head span{font-size:.52rem;color:#738179}.admin-folder-list{padding:8px}.admin-folder-item{border:1px solid #e8efeb;border-radius:10px;margin:6px 0;overflow:hidden}.admin-folder-item summary{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;cursor:pointer;background:#fbfdfc;list-style:none}.admin-folder-item summary>div{display:flex;gap:7px;align-items:center}.admin-folder-item summary b{font-size:.61rem}.admin-folder-item summary span{font-size:.5rem;color:#77857e}.admin-folder-files{padding:5px 9px 9px}.admin-file-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px dashed #e6ece9}.admin-file-row:last-child{border-bottom:0}.admin-file-icon{width:28px;height:28px;border-radius:8px;background:#edf7f2;color:#2b7657;display:grid;place-items:center}.admin-file-main b,.admin-file-main span{display:block}.admin-file-main b{font-size:.57rem}.admin-file-main span{font-size:.48rem;color:#819087;margin-top:2px}.admin-file-actions{display:flex;gap:4px}
@media(max-width:700px){.admin-file-row{grid-template-columns:28px 1fr}.admin-file-actions{grid-column:2;flex-wrap:wrap}}

/* v123 - pusat notifikasi aman Dosen/Tendik */
.user-notif-list{padding:6px 12px 12px}.user-notif-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #edf1ef}.user-notif-row:last-child{border-bottom:0}.user-notif-row.unread{background:#f7fcf9}.user-notif-icon,.notif-retirement-icon{width:36px;height:36px;border-radius:10px;background:#e9f5ef;color:#277253;display:grid;place-items:center}.user-notif-copy b,.user-notif-copy span,.user-notif-copy small{display:block}.user-notif-copy>div{display:flex;align-items:center;gap:7px}.user-notif-copy b{font-size:.63rem}.user-notif-copy span{font-size:.51rem;color:#687970;margin-top:2px}.user-notif-copy small{font-size:.48rem;color:#8a978f;margin-top:2px}.notif-read-mark{font-size:.5rem;color:#6f8077}.notif-retirement-card{display:flex;align-items:center;gap:11px;padding:13px}.notif-retirement-card b,.notif-retirement-card span,.notif-retirement-card small{display:block}.notif-retirement-card b{font-size:.67rem}.notif-retirement-card span{font-size:.54rem;color:#576b61}.notif-retirement-card small{font-size:.49rem;color:#839087}.notification-menu-foot-single a{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none}
@media(max-width:700px){.user-notif-row{grid-template-columns:34px 1fr}.user-notif-row form,.notif-read-mark{grid-column:2}}

/* v125 SPI & SPTJM TUKIN */
.sptjm-private-note{display:flex;gap:10px;align-items:center;padding:11px 13px;margin-bottom:12px;border:1px solid #ead9a7;background:#fffaf0;border-radius:12px}.sptjm-private-note>i{width:36px;height:36px;border-radius:10px;background:#9b7218;color:#fff;display:grid;place-items:center}.sptjm-private-note b,.sptjm-private-note span{display:block}.sptjm-private-note b{font-size:.65rem}.sptjm-private-note span{font-size:.52rem;color:#786e57;margin-top:2px}.spi-hero{display:flex;justify-content:space-between;align-items:center;padding:20px;border-radius:16px;background:linear-gradient(135deg,#174f3a,#28785a);color:#fff;margin-bottom:14px}.spi-hero span{font-size:.52rem;letter-spacing:.08em}.spi-hero h2{font-size:1.2rem;margin:4px 0}.spi-hero p{font-size:.58rem;opacity:.82;margin:0}.spi-hero>i{font-size:3rem;opacity:.25}.spi-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.spi-stats>div{background:#fff;border:1px solid #e3ece7;border-radius:13px;padding:14px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px}.spi-stats i{color:#277253;font-size:1rem}.spi-stats span{font-size:.55rem;color:#708078}.spi-stats b{font-size:1.1rem}.spi-entry{display:flex;justify-content:space-between;align-items:center;padding:14px}.spi-entry>div{display:flex;gap:10px;align-items:center}.spi-entry>div>i{font-size:1.5rem;color:#277253}.spi-entry b,.spi-entry span{display:block}.spi-entry b{font-size:.68rem}.spi-entry span{font-size:.52rem;color:#77847d}.spi-person-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #e8eeeb}.spi-person-head>div b,.spi-person-head>div small{display:block}.spi-person-head>div b{font-size:.66rem;margin-top:5px}.spi-person-head>div small{font-size:.5rem;color:#75827b}.spi-person-head>span{font-size:.52rem;color:#65756c}@media(max-width:700px){.spi-stats{grid-template-columns:1fr}.spi-entry{align-items:flex-start;gap:12px;flex-direction:column}}

/* v126 SPTJM specialized */
.tukin-value-card{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;border-radius:14px;background:linear-gradient(135deg,#164d39,#2d7b5c);color:#fff}.tukin-value-card>div:first-child{display:grid;grid-template-columns:34px 1fr;gap:1px 9px;align-items:center}.tukin-value-card i{grid-row:1/3;font-size:1.3rem}.tukin-value-card span,.tukin-value-card small{font-size:.51rem;opacity:.8}.tukin-value-card b{font-size:1.05rem}.tukin-value-card>div:last-child{text-align:right}.tukin-value-card strong{display:block;font-size:.9rem}.tukin-value-card.tukin-empty{background:#66746d}.sptjm-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.sptjm-form-grid label,.spi-filter-grid label{display:block;font-size:.53rem;font-weight:700;margin-bottom:4px}.sptjm-form-grid small{font-size:.46rem;color:#7b8881}.sptjm-notes{grid-column:span 2}.sptjm-action{display:flex;align-items:end;justify-content:flex-end}.spi-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.spi-filter-action{display:flex;gap:6px}.spi-tukin-mini{text-align:right}.spi-tukin-mini span,.spi-tukin-mini b{display:block}.spi-tukin-mini span{font-size:.48rem;color:#718078}.spi-tukin-mini b{font-size:.68rem;color:#246d51}@media(max-width:900px){.sptjm-form-grid,.spi-filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.sptjm-form-grid,.spi-filter-grid{grid-template-columns:1fr}.sptjm-notes{grid-column:auto}.tukin-value-card{align-items:flex-start;gap:10px;flex-direction:column}.tukin-value-card>div:last-child{text-align:left}}

/* v127 Professional SPI */
.spi-dashboard-shell{display:grid;gap:14px}.spi-dashboard-hero,.spi-archive-head{position:relative;overflow:hidden;background:linear-gradient(135deg,#103f30 0%,#1f6f51 58%,#3a8a67 100%);border-radius:18px;color:#fff;padding:22px}.spi-dashboard-hero{display:flex;justify-content:space-between;align-items:center;min-height:185px}.spi-dashboard-hero:after,.spi-archive-head:after{content:"";position:absolute;width:210px;height:210px;border:28px solid rgba(255,255,255,.06);border-radius:50%;right:-55px;top:-65px}.spi-kicker{font-size:.52rem;letter-spacing:.16em;font-weight:800;opacity:.8}.spi-dashboard-copy{position:relative;z-index:2;max-width:680px}.spi-dashboard-copy h2,.spi-archive-head h3{margin:6px 0 7px;font-size:1.28rem}.spi-dashboard-copy p,.spi-archive-head p{font-size:.59rem;line-height:1.65;opacity:.82;margin:0}.spi-hero-actions{margin-top:14px}.spi-dashboard-emblem{position:relative;z-index:2;width:92px;height:92px;border-radius:25px;background:rgba(255,255,255,.12);display:grid;place-items:center;backdrop-filter:blur(5px)}.spi-dashboard-emblem i{font-size:2.8rem}.spi-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.spi-metric{background:#fff;border:1px solid #e2ebe6;border-radius:14px;padding:13px;display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;box-shadow:0 7px 18px rgba(19,66,49,.04)}.spi-metric-icon{width:38px;height:38px;border-radius:11px;background:#eaf6f0;color:#246e52;display:grid;place-items:center}.spi-metric span,.spi-metric small,.spi-metric b{display:block}.spi-metric span{font-size:.5rem;color:#6d7c74}.spi-metric b{font-size:1.08rem;color:#173f31;margin:1px 0}.spi-metric small{font-size:.45rem;color:#94a098}.spi-dashboard-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.spi-quick-card,.spi-recent-card{padding:15px}.spi-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.spi-card-head span,.spi-card-head b{display:block}.spi-card-head span{font-size:.46rem;letter-spacing:.08em;color:#7a8a81}.spi-card-head b{font-size:.68rem}.spi-card-head>i{font-size:1.3rem;color:#2a7658}.spi-quick-card p{font-size:.54rem;line-height:1.65;color:#697970}.spi-recent-list{display:grid;gap:4px}.spi-recent-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed #e5ece8}.spi-recent-item:last-child{border-bottom:0}.spi-recent-badge{font-size:.43rem;padding:4px 6px;border-radius:7px;background:#edf7f2;color:#2c7559;font-weight:700}.spi-recent-item div b,.spi-recent-item div span{display:block}.spi-recent-item div b{font-size:.55rem}.spi-recent-item div span,.spi-recent-item>small{font-size:.45rem;color:#819087}.spi-archive-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.spi-archive-head>div,.spi-archive-head>a{position:relative;z-index:2}.spi-active-filter{display:flex;gap:9px;align-items:center;background:#f3faf6;border:1px solid #dcece3;padding:9px 12px;border-radius:11px;margin-bottom:10px;color:#286b50}.spi-active-filter b,.spi-active-filter span{display:block}.spi-active-filter b{font-size:.53rem}.spi-active-filter span{font-size:.46rem;color:#72827a}.spi-filter-grid{background:#fff;border-radius:14px}.spi-person-card{overflow:hidden;border-radius:14px!important}.spi-person-head{background:linear-gradient(180deg,#fff,#fafdfb)}
@media(max-width:1100px){.spi-metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.spi-dashboard-grid{grid-template-columns:1fr}.spi-metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.spi-dashboard-hero,.spi-archive-head{align-items:flex-start;gap:12px;flex-direction:column}.spi-dashboard-emblem{display:none}.spi-metric-grid{grid-template-columns:1fr}.spi-recent-item{grid-template-columns:auto 1fr}.spi-recent-item>small{grid-column:2}}

/* v128 Arsip Privat SPI */
.spi-head-lock{position:relative;z-index:2;font-size:2.1rem;opacity:.7}.spi-archive-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.spi-archive-tabs>a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe9e4;border-radius:13px;background:#fff;text-decoration:none;color:#41544a}.spi-archive-tabs>a>i{width:37px;height:37px;border-radius:10px;background:#edf6f1;color:#277153;display:grid;place-items:center}.spi-archive-tabs b,.spi-archive-tabs span{display:block}.spi-archive-tabs b{font-size:.62rem}.spi-archive-tabs span{font-size:.48rem;color:#829087}.spi-archive-tabs>a.active{border-color:#3b8567;background:#f4faf7;box-shadow:0 5px 15px rgba(26,91,65,.08)}.spi-private-banner{display:flex;gap:9px;align-items:center;padding:10px 13px;border-radius:11px;background:#eef8f3;border:1px solid #d7ebe1;margin-bottom:11px;color:#27694f}.spi-private-banner>i{font-size:1.05rem}.spi-private-banner b,.spi-private-banner span{display:block}.spi-private-banner b{font-size:.55rem}.spi-private-banner span{font-size:.47rem;color:#6f8077}.spi-own-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.spi-own-form label{display:block;font-size:.52rem;font-weight:700;margin-bottom:4px}.spi-own-action{display:flex;align-items:end;justify-content:flex-end}.spi-drive-status{margin:10px 13px;padding:8px 10px;border-radius:9px;background:#f0f8f4;color:#317256;font-size:.5rem}@media(max-width:700px){.spi-archive-tabs,.spi-own-form{grid-template-columns:1fr}}

/* v129 - posisi tombol Simpan Arsip SPI */
.spi-own-action-right{grid-column:1/-1;justify-content:flex-end!important;padding-top:2px}

/* v130 Google Drive per-user isolation */
.gdrive-personal-notice{display:flex;gap:10px;align-items:center;padding:10px 13px;margin-bottom:11px;border:1px solid #d9ebe2;background:#f2faf6;border-radius:11px;color:#286b50}.gdrive-personal-notice>i{font-size:1.15rem}.gdrive-personal-notice b,.gdrive-personal-notice span{display:block}.gdrive-personal-notice b{font-size:.56rem}.gdrive-personal-notice span{font-size:.47rem;color:#718178;line-height:1.5}

/* v131 Google Drive Auto Sync */
.gdrive-sync-status{display:flex;gap:9px;align-items:center;padding:9px 12px;margin-bottom:10px;border:1px solid #d8eadf;background:#f5fbf7;border-radius:10px;color:#2e7558}.gdrive-sync-status i{font-size:1rem}.gdrive-sync-status b,.gdrive-sync-status span{display:block}.gdrive-sync-status b{font-size:.54rem}.gdrive-sync-status span{font-size:.46rem;color:#74837b}

/* v132 Drive tab fast-load */
.gdrive-bg-state{font-size:.45rem;color:#73827a;padding:5px 12px 8px}.gdrive-bg-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;opacity:.55}
