.card{
    border:none;
    border-radius:16px;
    box-shadow:0 4px 20px rgba(0,0,0,0.05);
    transition:0.3s;
}
.card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 30px rgba(0,0,0,0.08);
}
.card-title{
    font-weight:600;
    font-size:1.1rem;
}
.info-card .card-icon{
    width:50px;
    height:50px;
    font-size:22px;
    background:linear-gradient(135deg,#14b8a6,#0d9488);
    color:#fff;
}
.badge-soft{
    background:#f1f3f9;
    padding:6px 12px;
    border-radius:8px;
}
.progress{
    height:8px;
    border-radius:10px;
    background:#f1f3f9;
}
.progress-bar{
    border-radius:10px;
    background:linear-gradient(90deg,#0d9488,#14b8a6);
}
.btn{
    border-radius:10px;
}
.section.dashboard{
    padding-top:10px;
}

.card{
    border-radius:14px;
    border:none;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    transition:all .25s ease;
}
.card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(0,0,0,0.1);
}
.card-title{
    font-weight:600;
    font-size:1.05rem;
}
.info-card .card-icon{
    width:48px;
    height:48px;
    font-size:20px;
    transition:.3s;
}
.info-card:hover .card-icon{
    transform:scale(1.1);
}
.progress{
    height:10px;
    border-radius:20px;
    background:#eef2f7;
}
.progress-bar{
    border-radius:20px;
    font-weight:600;
}
.btn{
    border-radius:10px;
    font-weight:500;
}
.table{
    font-size:0.95rem;
}
.table thead{
    background:#f8fafc;
}
.badge{
    border-radius:8px;
    padding:6px 10px;
}

/* Dashboard home tracer — ringkasan modern */
.tracer-home-hero{
    background:linear-gradient(135deg,#f0fdfa 0%,#ecfeff 45%,#f8fafc 100%);
    border:1px solid rgba(13,148,136,0.14);
    border-radius:16px;
    padding:1.5rem 1.75rem;
    margin-bottom:1.25rem;
    position:relative;
    overflow:hidden;
}
.tracer-home-hero::before{
    content:"";
    position:absolute;
    top:0; right:0;
    width:180px; height:180px;
    background:radial-gradient(circle at top right,rgba(20,184,166,0.18),transparent 70%);
    pointer-events:none;
}
.tracer-home-hero .hero-title{
    font-size:1.35rem;
    font-weight:700;
    letter-spacing:-0.02em;
    color:#2c384f;
    margin-bottom:0.35rem;
}
.tracer-home-hero .hero-meta{
    font-size:0.92rem;
    color:#6c757d;
}
.tracer-home-hero .hero-badge{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    background:rgba(255,255,255,0.9);
    border:1px solid rgba(13,148,136,0.2);
    border-radius:999px;
    padding:0.35rem 0.85rem;
    font-size:0.8rem;
    font-weight:600;
    color:#0f766e;
}
.tracer-home-hero-icon{
    width:48px;
    height:48px;
    border-radius:12px;
    background:linear-gradient(135deg,#14b8a6,#0d9488);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.35rem;
    flex-shrink:0;
}
.tracer-home-stat{
    border-radius:16px;
    border:none;
    height:100%;
    background:#fff;
    box-shadow:0 6px 22px rgba(15,23,42,0.06);
    transition:transform .2s ease, box-shadow .2s ease;
}
.tracer-home-stat:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(15,23,42,0.1);
}
.tracer-home-stat .stat-value{
    font-size:1.75rem;
    font-weight:700;
    letter-spacing:-0.03em;
    line-height:1.2;
    color:#1e293b;
}
.tracer-home-stat .stat-label{
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.06em;
    font-weight:600;
    color:#94a3b8;
    margin-bottom:0.25rem;
}
.tracer-home-stat .stat-hint{
    font-size:0.82rem;
    color:#64748b;
    margin-top:0.35rem;
}
.tracer-home-stat .stat-icon{
    width:48px;
    height:48px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.35rem;
    color:#fff;
    flex-shrink:0;
}
.tracer-home-stat.stat-alumni .stat-icon{background:linear-gradient(135deg,#6366f1,#4f46e5);}
.tracer-home-stat.stat-respon .stat-icon{background:linear-gradient(135deg,#10b981,#059669);}
.tracer-home-stat.stat-pending .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);}
.tracer-home-stat.stat-rate .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);}
.tracer-home-stat.stat-prodi-total .stat-icon{background:linear-gradient(135deg,#6366f1,#4f46e5);}
.tracer-home-stat.stat-prodi-s1 .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);}
.tracer-home-stat.stat-prodi-s2 .stat-icon{background:linear-gradient(135deg,#10b981,#059669);}
.tracer-home-stat.stat-prodi-s3 .stat-icon{background:linear-gradient(135deg,#7c3aed,#5b21b6);}
.tracer-home-stat.stat-prodi-lain .stat-icon{background:linear-gradient(135deg,#94a3b8,#64748b);}
.prodi-jenjang-stack{
    display:flex;
    height:12px;
    border-radius:999px;
    overflow:hidden;
    background:#e2e8f0;
    margin-top:1rem;
}
.prodi-jenjang-stack .seg{
    height:100%;
    transition:width .6s ease;
    min-width:0;
}
.prodi-jenjang-stack .seg-s1{background:linear-gradient(90deg,#3b82f6,#2563eb);}
.prodi-jenjang-stack .seg-s2{background:linear-gradient(90deg,#10b981,#059669);}
.prodi-jenjang-stack .seg-s3{background:linear-gradient(90deg,#7c3aed,#5b21b6);}
.prodi-jenjang-stack .seg-lain{background:linear-gradient(90deg,#94a3b8,#64748b);}
.prodi-jenjang-legend{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem 1.25rem;
    margin-top:0.75rem;
    font-size:0.82rem;
    color:#64748b;
}
.prodi-jenjang-legend .item{
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
}
.prodi-jenjang-legend .dot{
    width:10px;
    height:10px;
    border-radius:50%;
    flex-shrink:0;
}
.prodi-jenjang-legend .dot-s1{background:#3b82f6;}
.prodi-jenjang-legend .dot-s2{background:#10b981;}
.prodi-jenjang-legend .dot-s3{background:#7c3aed;}
.prodi-jenjang-legend .dot-lain{background:#94a3b8;}
.tracer-home-stat.stat-prodi-kaprodi .stat-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);}
.tracer-home-stat.stat-prodi-sekprodi .stat-icon{background:linear-gradient(135deg,#f97316,#ea580c);}
.prodi-table-card .table td{vertical-align:middle;}
.prodi-info-cell{min-width:200px;}
.prodi-info-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.2rem;}
.prodi-info-cell .prodi-code{
    display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:.4rem;
    background:#eef2ff;color:#4338ca;font-size:.72rem;font-weight:700;letter-spacing:.02em;
}
.prodi-info-cell .prodi-singkat{
    font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;
}
.prodi-info-cell .prodi-info-name{font-weight:600;color:#0f172a;line-height:1.35;}
.prodi-info-cell .prodi-info-fak{font-size:.78rem;color:#64748b;margin-top:.15rem;}
.prodi-info-cell .prodi-info-fak .bi{margin-right:.2rem;opacity:.75;}
.prodi-pegawai-cell{display:flex;align-items:flex-start;gap:.65rem;min-width:200px;}
.prodi-pegawai-cell .avatar{
    width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
    font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;
}
.prodi-pegawai-cell.tone-kap .avatar{background:linear-gradient(135deg,#0ea5e9,#0284c7);}
.prodi-pegawai-cell.tone-sek .avatar{background:linear-gradient(135deg,#f97316,#ea580c);}
.prodi-pegawai-cell .body{min-width:0;}
.prodi-pegawai-cell .name{font-weight:600;color:#0f172a;line-height:1.3;font-size:.88rem;}
.prodi-pegawai-cell .meta{display:flex;flex-direction:column;gap:.1rem;margin-top:.15rem;font-size:.74rem;color:#64748b;}
.prodi-pegawai-cell .meta .bi{margin-right:.25rem;opacity:.8;}
.prodi-pegawai-cell .warn{font-size:.72rem;color:#b45309;margin-top:.2rem;line-height:1.3;}
.prodi-pegawai-cell.is-missing .name{color:#64748b;}
.prodi-pegawai-empty{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:#94a3b8;}
.tracer-home-progress{
    height:10px;
    border-radius:999px;
    background:#e2e8f0;
    overflow:hidden;
    margin-top:1rem;
}
.tracer-home-progress .bar{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#6366f1,#22d3ee);
    transition:width .6s ease;
}
.tracer-home-actions .btn{
    padding:0.55rem 1rem;
    font-weight:500;
}
.tracer-home-actions .btn i{
    opacity:0.9;
}
.tracer-home-panel,
.tracer-home-actions-card{
    border-radius:16px;
    box-shadow:0 6px 22px rgba(15,23,42,0.06);
    background:#fff;
}
.tracer-home-actions-card{
    background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}
.tracer-home-scope-badge{
    font-weight:500;
    font-size:0.78rem;
}
.tracer-home-dash > [class*="col-"]{
    margin-bottom:0.25rem;
}
body.tracer-app .tracer-home-hero .hero-title{
    color:var(--tr-text,#1e293b);
}
body.tracer-app .section.dashboard{
    padding-top:0;
}

/* Dashboard alumni — timeline IKU-1 */
.tracer-home-alumni .tracer-alumni-hero{
    background:linear-gradient(135deg,#eef2ff 0%,#f0fdfa 55%,#f8fafc 100%);
    border:1px solid rgba(99,102,241,0.14);
    border-radius:16px;
    padding:1.25rem 1.5rem;
}
@media (min-width:768px){
    .tracer-home-alumni .tracer-alumni-hero{padding:1.5rem 1.75rem;}
}
.tracer-home-alumni .tracer-alumni-hero .hero-title{
    font-size:1.2rem;
    font-weight:700;
    color:#1e293b;
    margin-bottom:.25rem;
    line-height:1.35;
}
@media (min-width:768px){
    .tracer-home-alumni .tracer-alumni-hero .hero-title{font-size:1.35rem;}
}
.tracer-home-alumni .tracer-alumni-hero .hero-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    background:rgba(255,255,255,0.92);
    border:1px solid rgba(99,102,241,0.18);
    border-radius:999px;
    padding:.35rem .85rem;
    font-size:.78rem;
    font-weight:600;
    color:#4f46e5;
    white-space:nowrap;
    flex-shrink:0;
}
.tracer-home-alumni .tracer-alumni-type-badge{
    display:inline-block;
    font-size:.72rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#4f46e5;
    background:rgba(99,102,241,.1);
    border-radius:999px;
    padding:.2rem .65rem;
    margin-bottom:.5rem;
}
.tracer-home-alumni .hero-meta,
.tracer-home-alumni .hero-lead{
    font-size:.88rem;
    color:#64748b;
    line-height:1.55;
}
@media (min-width:768px){
    .tracer-home-alumni .hero-meta,
    .tracer-home-alumni .hero-lead{font-size:.92rem;}
}
.tracer-home-alumni .hero-lead{
    margin-top:.5rem;
    max-width:42rem;
}
.tracer-alumni-panel{
    border-radius:16px;
    box-shadow:0 6px 22px rgba(15,23,42,.06);
    overflow:hidden;
}
.tracer-alumni-panel .card-title{
    font-size:1.05rem;
    font-weight:700;
    color:#1e293b;
}
.tracer-pengisian-banner{
    border-radius:14px;
    padding:1rem 1.15rem;
    border:1px solid transparent;
}
@media (min-width:768px){
    .tracer-pengisian-banner{padding:1rem 1.25rem;}
}
.tracer-pengisian-banner--lengkap{background:#ecfdf5;border-color:#a7f3d0;}
.tracer-pengisian-banner--sebagian{background:#fffbeb;border-color:#fde68a;}
.tracer-pengisian-banner--belum{background:#fef2f2;border-color:#fecaca;}
.tracer-pengisian-banner--belum_waktu{background:#eff6ff;border-color:#bfdbfe;}
.tracer-pengisian-kicker{
    font-size:.72rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#64748b;
}
.tracer-pengisian-title{
    font-size:1rem;
    font-weight:700;
    color:#1e293b;
    line-height:1.4;
}
.tracer-pengisian-hint{
    font-size:.86rem;
    color:#64748b;
    margin-top:.25rem;
    line-height:1.5;
}
.tracer-pengisian-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem;
    background:#fff;
    color:#4f46e5;
    flex-shrink:0;
}
.tracer-pengisian-stats{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem .85rem;
    margin-top:.65rem;
    font-size:.82rem;
}
.tracer-pengisian-stats .stat-sudah{color:#059669;}
.tracer-pengisian-stats .stat-sebagian{color:#d97706;}
.tracer-pengisian-stats .stat-belum{color:#dc2626;}
.tracer-pengisian-stats .stat-waktu{color:#2563eb;}
.tracer-pengisian-submit-badge{
    font-size:.76rem;
    font-weight:600;
    color:#059669;
    background:#fff;
    border:1px solid #a7f3d0;
    border-radius:999px;
    padding:.35rem .75rem;
    white-space:nowrap;
    align-self:flex-start;
}
@media (max-width:575px){
    .tracer-pengisian-submit-badge{width:100%;text-align:center;}
}
.tracer-alumni-gate{
    border-left:4px solid #f59e0b !important;
    border-radius:12px !important;
}
.tracer-isi-badge{
    display:inline-flex;
    align-items:center;
    font-size:.72rem;
    font-weight:600;
    border-radius:999px;
    padding:.28rem .6rem;
    white-space:normal;
    text-align:left;
    line-height:1.35;
    max-width:100%;
}
.tracer-isi-badge--lg{font-size:.78rem;padding:.32rem .72rem;}
.tracer-isi--sudah{background:#dcfce7;color:#166534;}
.tracer-isi--sebagian{background:#fef3c7;color:#92400e;}
.tracer-isi--belum{background:#fee2e2;color:#991b1b;}
.tracer-isi--belum-waktu{background:#dbeafe;color:#1e40af;}
.tracer-isi--pengguna{background:#ede9fe;color:#5b21b6;}
.tracer-isi--netral{background:#f1f5f9;color:#475569;}
.tracer-tl-track{
    position:relative;
    padding-left:.15rem;
}
.tracer-tl-track::before{
    content:"";
    position:absolute;
    left:17px;
    top:18px;
    bottom:18px;
    width:2px;
    background:linear-gradient(180deg,#c7d2fe 0%,#e2e8f0 55%,#e2e8f0 100%);
    z-index:0;
}
.tracer-tl-fase{margin-bottom:0;}
.tracer-tl-item{
    position:relative;
    display:flex;
    gap:.85rem;
    padding-bottom:1.35rem;
    z-index:1;
}
.tracer-tl-item--fase{padding-bottom:1.35rem;}
.tracer-tl-item--fase.tracer-tl-item--last{padding-bottom:.25rem;}
.tracer-tl-item--fase::before,
.tracer-tl-fase-items .tracer-tl-item::before{display:none;}
.tracer-tl-marker{
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:2px solid #e2e8f0;
    color:#64748b;
    flex-shrink:0;
    z-index:1;
    font-size:.95rem;
    box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.tracer-tl-marker--sub{
    width:12px;
    height:12px;
    margin-left:12px;
    margin-top:8px;
    font-size:.35rem;
    border-width:0;
    box-shadow:none;
    background:#cbd5e1;
    color:#cbd5e1;
}
.tracer-tl-item--done .tracer-tl-marker{background:#dcfce7;border-color:#86efac;color:#16a34a;}
.tracer-tl-item--progress .tracer-tl-marker{background:#fef3c7;border-color:#fcd34d;color:#d97706;}
.tracer-tl-item--active .tracer-tl-marker{background:#dbeafe;border-color:#93c5fd;color:#2563eb;}
.tracer-tl-item--overdue .tracer-tl-marker{background:#fee2e2;border-color:#fca5a5;color:#dc2626;}
.tracer-tl-item--upcoming .tracer-tl-marker{background:#f8fafc;border-color:#e2e8f0;color:#64748b;}
.tracer-tl-item--pending .tracer-tl-marker{background:#fef3c7;border-color:#fcd34d;color:#d97706;}
.tracer-tl-item--unavailable .tracer-tl-marker{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;}
.tracer-tl-card{
    flex:1;
    min-width:0;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:.95rem 1rem;
    box-shadow:0 1px 3px rgba(15,23,42,.04);
}
@media (min-width:768px){
    .tracer-tl-card{padding:1rem 1.15rem;}
}
.tracer-tl-card--fase{
    background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
    padding:1rem 1.05rem;
}
@media (min-width:768px){
    .tracer-tl-card--fase{padding:1.15rem 1.25rem;}
}
.tracer-tl-card--sub{
    background:#fafbfc;
    border-style:dashed;
    padding:.85rem .95rem;
}
.tracer-tl-fase-head{margin-bottom:0;}
.tracer-tl-fase-num{
    font-size:.7rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#6366f1;
    margin-bottom:.35rem;
}
.tracer-tl-fase-title{
    font-size:1rem;
    font-weight:700;
    color:#1e293b;
    line-height:1.35;
}
.tracer-tl-fase-sub{
    font-size:.84rem;
    color:#64748b;
    margin-top:.15rem;
    line-height:1.45;
}
.tracer-tl-fase-desc{
    font-size:.84rem;
    color:#64748b;
    margin-top:.55rem;
    line-height:1.55;
}
.tracer-tl-fase-badges{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.35rem;
    max-width:100%;
}
@media (max-width:575px){
    .tracer-tl-fase-badges{
        justify-content:flex-start;
        width:100%;
        margin-top:.35rem;
    }
}
.tracer-tl-fase-pesan{
    display:flex;
    align-items:flex-start;
    gap:.35rem;
    margin-top:.75rem;
    padding:.7rem .85rem;
    border-radius:10px;
    font-size:.84rem;
    line-height:1.55;
    border:1px solid transparent;
}
.tracer-tl-fase-pesan i{
    flex-shrink:0;
    margin-top:.1rem;
}
.tracer-tl-fase-pesan--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46;}
.tracer-tl-fase-pesan--warning{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.tracer-tl-fase-pesan--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b;}
.tracer-tl-fase-pesan--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;}
.tracer-tl-fase-pesan--neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569;}
.tracer-tl-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.35rem .85rem;
    margin-top:.75rem;
    padding-top:.75rem;
    border-top:1px solid #f1f5f9;
    font-size:.8rem;
    color:#64748b;
}
.tracer-tl-countdown{
    font-weight:600;
    color:#4f46e5;
    background:rgba(99,102,241,.08);
    border-radius:999px;
    padding:.15rem .55rem;
}
.tracer-tl-fase-items{
    margin-top:.85rem;
    padding-top:.65rem;
    border-top:1px dashed #e2e8f0;
}
.tracer-tl-fase-items .tracer-tl-item{
    padding-bottom:.85rem;
    gap:.65rem;
}
.tracer-tl-fase-items .tracer-tl-item--last{padding-bottom:0;}
.tracer-tl-kategori{
    font-weight:600;
    color:#334155;
    font-size:.88rem;
    line-height:1.4;
}
.tracer-tl-fase-note{
    font-size:.82rem;
    color:#5b21b6;
    background:#f5f3ff;
    border-radius:8px;
    padding:.55rem .75rem;
    line-height:1.5;
}
.tracer-tl-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    margin-top:1.15rem;
    padding-top:1rem;
    border-top:1px solid rgba(99,102,241,.12);
}
@media (min-width:992px){
    .tracer-tl-summary{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.tracer-tl-summary-item{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(99,102,241,.1);
    border-radius:12px;
    padding:.65rem .75rem;
}
.tracer-tl-summary-item .label{
    display:block;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#94a3b8;
    font-weight:600;
    margin-bottom:.15rem;
}
.tracer-tl-summary-item .value{
    font-size:.95rem;
    font-weight:700;
    color:#1e293b;
    line-height:1.3;
    word-break:break-word;
}
.tracer-tl-empty{
    text-align:center;
    padding:2rem 1rem;
}
@media (min-width:768px){
    .tracer-tl-empty{padding:2.5rem 1.5rem;}
}
.tracer-tl-empty-icon{
    font-size:2.25rem;
    color:#94a3b8;
    margin-bottom:.75rem;
}
body.tracer-app .tracer-home-alumni .card-title{
    color:var(--tr-text,#1e293b);
}
body.tracer-app .section.dashboard .tracer-home-alumni{
    margin-bottom:.5rem;
}

/* Fitur tree — drag & drop menu */
.fitur-tree-wrap{
    background:#f8fafc;
    border:1px dashed rgba(78,115,223,0.25);
    border-radius:14px;
    padding:1rem 1rem 1rem 0.5rem;
}
.fitur-tree-list{
    list-style:none;
    margin:0;
    padding-left:0;
    min-height:8px;
}
.fitur-tree-root > .fitur-tree-item{
    margin-bottom:0.5rem;
}
.fitur-tree-list .fitur-tree-list{
    margin-top:0.35rem;
    margin-left:2rem;
    padding-left:0.75rem;
    border-left:2px solid rgba(78,115,223,0.15);
}
.fitur-tree-item{
    margin-bottom:0.35rem;
}
.fitur-tree-node{
    display:flex;
    align-items:center;
    gap:0.65rem;
    background:#fff;
    border:1px solid rgba(15,23,42,0.08);
    border-radius:12px;
    padding:0.55rem 0.75rem;
    box-shadow:0 2px 8px rgba(15,23,42,0.04);
    transition:box-shadow .2s ease, border-color .2s ease;
}
.fitur-tree-node:hover{
    border-color:rgba(78,115,223,0.25);
    box-shadow:0 4px 14px rgba(15,23,42,0.08);
}
.fitur-drag-handle{
    cursor:grab;
    color:#94a3b8;
    font-size:1.1rem;
    line-height:1;
    padding:0.15rem 0.25rem;
    border-radius:6px;
}
.fitur-drag-handle:active{
    cursor:grabbing;
}
.fitur-tree-icon{
    width:34px;
    height:34px;
    border-radius:10px;
    background:linear-gradient(135deg,#eef2ff,#e0e7ff);
    color:#4154f1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.fitur-tree-meta{
    flex:1;
    min-width:0;
}
.fitur-tree-title{
    font-weight:600;
    color:#1e293b;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fitur-tree-sub{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0.35rem;
    margin-top:0.15rem;
}
.fitur-badge{
    font-size:0.68rem;
    font-weight:600;
}
.fitur-tree-user{
    font-size:0.72rem;
    color:#64748b;
}
.fitur-tree-actions{
    display:flex;
    gap:0.35rem;
    flex-shrink:0;
}
.fitur-tree-ghost .fitur-tree-node{
    opacity:0.45;
    background:#eef2ff;
}
.fitur-tree-chosen .fitur-tree-node{
    border-color:#4154f1;
    box-shadow:0 8px 24px rgba(65,84,241,0.15);
}
.fitur-tree-drag .fitur-tree-node{
    transform:rotate(1deg);
}
@media (max-width:767px){
    .fitur-tree-list .fitur-tree-list{
        margin-left:1rem;
    }
    .fitur-tree-actions .btn{
        padding:0.2rem 0.45rem;
    }
}

/* Halaman profil pengguna */
.profile-page .tracer-profile-hero{
    background:linear-gradient(135deg,#f6f9ff 0%,#eef4ff 50%,#f8fafc 100%);
    border:1px solid rgba(78,115,223,0.12);
    border-radius:18px;
    padding:1.75rem 2rem;
    position:relative;
    overflow:hidden;
}
.profile-page .tracer-profile-hero::after{
    content:"";
    position:absolute;
    top:-40px; right:-40px;
    width:160px; height:160px;
    background:radial-gradient(circle,rgba(99,102,241,0.12),transparent 70%);
    pointer-events:none;
}
.profile-page .tracer-profile-avatar{
    width:88px;
    height:88px;
    border-radius:50%;
    overflow:hidden;
    border:3px solid #fff;
    box-shadow:0 8px 24px rgba(65,84,241,0.18);
    background:linear-gradient(135deg,#6366f1,#4f46e5);
    display:flex;
    align-items:center;
    justify-content:center;
}
.profile-page .tracer-profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.profile-page .tracer-profile-initials{
    color:#fff;
    font-size:1.65rem;
    font-weight:700;
    letter-spacing:0.04em;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}
.profile-page .tracer-profile-type{
    font-size:0.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#6366f1;
    margin-bottom:0.25rem;
}
.profile-page .tracer-profile-name{
    font-size:1.45rem;
    font-weight:700;
    color:#1e293b;
    margin:0 0 0.35rem;
    letter-spacing:-0.02em;
}
.profile-page .tracer-profile-meta{
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem 1.25rem;
    font-size:0.88rem;
    color:#64748b;
}
.profile-page .tracer-profile-badges{
    display:flex;
    flex-wrap:wrap;
    gap:0.4rem;
}
.profile-page .tracer-profile-badge{
    display:inline-block;
    background:rgba(255,255,255,0.9);
    border:1px solid rgba(99,102,241,0.2);
    color:#4338ca;
    font-size:0.72rem;
    font-weight:600;
    padding:0.3rem 0.65rem;
    border-radius:999px;
}
.profile-page .tracer-profile-card{
    box-shadow:0 6px 22px rgba(15,23,42,0.06);
    border-radius:16px;
}
.profile-page .tracer-profile-card-title{
    font-size:1rem;
    font-weight:600;
    color:#334155;
}
.profile-page .tracer-profile-summary-card .card-body{
    padding:1.35rem 1.35rem 1.25rem;
}
.profile-page .tracer-profile-card-head{
    display:flex;
    align-items:center;
    gap:0.85rem;
    padding-bottom:1rem;
    margin-bottom:0.25rem;
    border-bottom:1px solid #eef2f7;
}
.profile-page .tracer-profile-card-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:linear-gradient(135deg,#eef2ff,#e0e7ff);
    color:#4154f1;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.15rem;
    flex-shrink:0;
}
.profile-page .tracer-profile-card-sub{
    font-size:0.78rem;
    color:#94a3b8;
    margin-top:0.1rem;
}
.profile-page .tracer-profile-summary-groups{
    display:flex;
    flex-direction:column;
}
.profile-page .tracer-profile-summary-group + .tracer-profile-summary-group{
    margin-top:0.85rem;
    padding-top:0.85rem;
    border-top:1px solid #f1f5f9;
}
.profile-page .tracer-profile-summary-group-title{
    font-size:0.68rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#94a3b8;
    margin-bottom:0.65rem;
}
.profile-page .tracer-profile-summary-item{
    display:flex;
    align-items:flex-start;
    gap:0.75rem;
    padding:0.55rem 0.65rem;
    border-radius:10px;
    transition:background .15s ease;
}
.profile-page .tracer-profile-summary-item:hover{
    background:#f8fafc;
}
.profile-page .tracer-profile-summary-item + .tracer-profile-summary-item{
    margin-top:0.15rem;
}
.profile-page .tracer-profile-summary .summary-icon{
    width:32px;
    height:32px;
    border-radius:8px;
    background:#f1f5f9;
    color:#64748b;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.95rem;
    flex-shrink:0;
}
.profile-page .tracer-profile-summary .summary-content{
    display:flex;
    flex-direction:column;
    gap:0.1rem;
    min-width:0;
    flex:1;
}
.profile-page .tracer-profile-summary .label{
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    font-weight:600;
    color:#94a3b8;
    line-height:1.3;
}
.profile-page .tracer-profile-summary .value{
    font-size:0.88rem;
    font-weight:500;
    color:#1e293b;
    line-height:1.45;
    word-break:break-word;
}
.profile-page .tracer-profile-summary-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0.5rem;
    padding:2rem 1rem;
    text-align:center;
    color:#94a3b8;
    font-size:0.88rem;
}
.profile-page .tracer-profile-summary-empty i{
    font-size:1.5rem;
    opacity:0.6;
}
.profile-page .tracer-profile-tabs .nav-link{
    font-weight:500;
    color:#64748b;
    border:none;
    border-bottom:2px solid transparent;
    padding:0.65rem 1rem;
}
.profile-page .tracer-profile-tabs .nav-link.active{
    color:#4154f1;
    border-bottom-color:#4154f1;
    background:transparent;
}
.profile-page .tracer-profile-info-item{
    display:flex;
    align-items:flex-start;
    gap:0.85rem;
    background:#f8fafc;
    border:1px solid #eef2f7;
    border-radius:12px;
    padding:0.85rem 1rem;
    height:100%;
}
.profile-page .tracer-profile-info-item .icon-wrap{
    width:38px;
    height:38px;
    border-radius:10px;
    background:linear-gradient(135deg,#eef2ff,#e0e7ff);
    color:#4154f1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1.1rem;
}
.profile-page .tracer-profile-info-item .info-label{
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    font-weight:600;
    color:#94a3b8;
    margin-bottom:0.1rem;
}
.profile-page .tracer-profile-info-item .info-value{
    font-size:0.92rem;
    color:#1e293b;
    word-break:break-word;
}
.profile-page .tracer-profile-security-note{
    display:flex;
    align-items:flex-start;
    gap:0.85rem;
    background:linear-gradient(135deg,#eef2ff,#f8fafc);
    border:1px solid rgba(99,102,241,0.15);
    border-radius:12px;
    padding:1rem 1.15rem;
}
.profile-page .tracer-profile-security-note > i{
    font-size:1.35rem;
    color:#6366f1;
    margin-top:0.1rem;
}
.profile-page .tracer-password-group .input-group-text{
    background:#f8fafc;
    border-color:#dee2e6;
    color:#64748b;
}
.profile-page .tracer-password-group .form-control{
    border-color:#dee2e6;
}
.profile-page .tracer-password-group .form-control:focus{
    border-color:#4154f1;
    box-shadow:0 0 0 0.2rem rgba(65,84,241,0.12);
}
@media (max-width:767px){
    .profile-page .tracer-profile-hero{
        padding:1.25rem 1.35rem;
    }
    .profile-page .tracer-profile-name{
        font-size:1.2rem;
    }
}

/* Halaman profil alumni */
.profil-alumni-page{
    --alumni-accent:#6366f1;
    --alumni-surface:#ffffff;
    --alumni-muted:#94a3b8;
    --alumni-text:#1e293b;
    --alumni-border:#eef2f7;
}
.profil-alumni-page .tracer-alumni-layout{
    align-items:stretch;
}
.profil-alumni-page .tracer-alumni-side-col{
    position:relative;
}
@media (min-width:1200px){
    .profil-alumni-page .tracer-alumni-side-col{
        position:sticky;
        top:calc(var(--tr-header-h, 64px) + 1.25rem);
        align-self:flex-start;
    }
}
.profil-alumni-page .tracer-alumni-side-card,
.profil-alumni-page .tracer-alumni-main-card{
    background:var(--alumni-surface);
    border:1px solid var(--alumni-border);
    border-radius:18px;
    box-shadow:0 4px 20px rgba(15,23,42,0.05);
    overflow:hidden;
}
.profil-alumni-page .tracer-alumni-side-card .card-body{
    padding:1.75rem 1.5rem 1.5rem;
    background:linear-gradient(180deg,#f8faff 0%,#ffffff 55%);
}
.profil-alumni-page .tracer-alumni-main-card .card-body{
    padding:0 1.5rem 1.5rem;
}
.profil-alumni-page .tracer-alumni-avatar-wrap{
    width:120px;
    height:120px;
    margin:0 auto 1rem;
    border-radius:50%;
    overflow:hidden;
    border:4px solid #fff;
    box-shadow:0 8px 24px rgba(99,102,241,0.18);
    background:linear-gradient(135deg,#6366f1,#4f46e5);
    display:flex;
    align-items:center;
    justify-content:center;
}
.profil-alumni-page .tracer-alumni-avatar-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.profil-alumni-page .tracer-alumni-initials{
    color:#fff;
    font-size:2rem;
    font-weight:700;
    letter-spacing:0.04em;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}
.profil-alumni-page .tracer-alumni-type{
    display:inline-block;
    font-size:0.68rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:var(--alumni-accent);
    background:rgba(99,102,241,0.1);
    padding:0.28rem 0.65rem;
    border-radius:999px;
    margin-bottom:0.65rem;
}
.profil-alumni-page .tracer-alumni-name{
    font-size:1.2rem;
    font-weight:700;
    color:var(--alumni-text);
    margin:0 0 0.4rem;
    line-height:1.35;
    letter-spacing:-0.02em;
}
.profil-alumni-page .tracer-alumni-nim{
    font-size:0.86rem;
    color:#64748b;
    margin-bottom:0.85rem;
}
.profil-alumni-page .tracer-alumni-meta-list{
    display:flex;
    flex-direction:column;
    gap:0.45rem;
    text-align:left;
    margin:0 0 1rem;
    padding:0.85rem 0 0;
    border-top:1px solid var(--alumni-border);
}
.profil-alumni-page .tracer-alumni-meta-item{
    display:flex;
    align-items:flex-start;
    gap:0.55rem;
    font-size:0.82rem;
    color:#475569;
    line-height:1.4;
}
.profil-alumni-page .tracer-alumni-meta-item i{
    color:var(--alumni-accent);
    margin-top:0.1rem;
    flex-shrink:0;
}
.profil-alumni-page .tracer-alumni-meta-item span{
    min-width:0;
    word-break:break-word;
}
.profil-alumni-page .tracer-alumni-view-note{
    margin-top:0.75rem;
    font-size:0.76rem;
    color:var(--alumni-muted);
    background:#f8fafc;
    border:1px dashed #e2e8f0;
    border-radius:10px;
    padding:0.45rem 0.65rem;
    text-align:center;
}
.profil-alumni-page .tracer-alumni-social-label{
    font-size:0.68rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--alumni-muted);
    margin-bottom:0.55rem;
}
.profil-alumni-page .tracer-alumni-social{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:0.5rem;
    padding-top:0.85rem;
    border-top:1px solid var(--alumni-border);
}
.profil-alumni-page .tracer-alumni-social a{
    width:36px;
    height:36px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:0.95rem;
    text-decoration:none;
    color:#fff;
    transition:transform .15s ease, box-shadow .15s ease;
}
.profil-alumni-page .tracer-alumni-social a:hover{
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(15,23,42,0.12);
    color:#fff;
}
.profil-alumni-page .tracer-alumni-social a[data-social="wa"]{ background:#25d366; }
.profil-alumni-page .tracer-alumni-social a[data-social="tw"]{ background:#0f1419; }
.profil-alumni-page .tracer-alumni-social a[data-social="fb"]{ background:#1877f2; }
.profil-alumni-page .tracer-alumni-social a[data-social="ig"]{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.profil-alumni-page .tracer-alumni-social a[data-social="in"]{ background:#0a66c2; }
.profil-alumni-page .tracer-alumni-social-empty{
    font-size:0.78rem;
    color:var(--alumni-muted);
    text-align:center;
    padding:0.35rem 0;
}
.profil-alumni-page .tracer-alumni-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:0.25rem;
    border-bottom:1px solid var(--alumni-border);
    padding:1rem 0 0;
    margin:0 -0.25rem;
}
.profil-alumni-page .tracer-alumni-tabs .nav-item{
    margin-bottom:0;
}
.profil-alumni-page .tracer-alumni-tabs .nav-link{
    font-size:0.86rem;
    font-weight:500;
    color:#64748b;
    border:none;
    border-bottom:2px solid transparent;
    border-radius:8px 8px 0 0;
    padding:0.6rem 1rem;
    margin-bottom:-1px;
    background:transparent;
}
.profil-alumni-page .tracer-alumni-tabs .nav-link:hover{
    color:var(--alumni-accent);
    background:rgba(99,102,241,0.05);
}
.profil-alumni-page .tracer-alumni-tabs .nav-link.active{
    color:var(--alumni-accent);
    border-bottom-color:var(--alumni-accent);
    background:rgba(99,102,241,0.06);
}
.profil-alumni-page .tracer-alumni-tab-content{
    padding-top:1.25rem;
}
.profil-alumni-page .tracer-alumni-section-title{
    display:flex;
    align-items:center;
    gap:0.55rem;
    font-size:0.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.07em;
    color:var(--alumni-muted);
    margin:0 0 0.75rem;
    padding-bottom:0.55rem;
    border-bottom:1px solid #f1f5f9;
}
.profil-alumni-page .tracer-alumni-section-title i{
    color:var(--alumni-accent);
    font-size:0.9rem;
}
.profil-alumni-page .tracer-alumni-section-title:not(:first-child){
    margin-top:1.35rem;
}
.profil-alumni-page .tracer-alumni-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0.75rem;
}
.profil-alumni-page .tracer-alumni-info-item{
    display:flex;
    align-items:flex-start;
    gap:0.75rem;
    background:#f8fafc;
    border:1px solid var(--alumni-border);
    border-radius:12px;
    padding:0.85rem 0.95rem;
    min-height:100%;
}
.profil-alumni-page .tracer-alumni-info-item .icon-wrap{
    width:36px;
    height:36px;
    border-radius:10px;
    background:linear-gradient(135deg,#eef2ff,#e0e7ff);
    color:#4154f1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1rem;
}
.profil-alumni-page .tracer-alumni-info-item .info-label{
    font-size:0.68rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    font-weight:600;
    color:var(--alumni-muted);
    margin-bottom:0.15rem;
    line-height:1.3;
}
.profil-alumni-page .tracer-alumni-info-item .info-value{
    font-size:0.88rem;
    font-weight:500;
    color:var(--alumni-text);
    line-height:1.45;
    word-break:break-word;
}
.profil-alumni-page .tracer-alumni-info-item.is-wide{
    grid-column:1 / -1;
}
.profil-alumni-page .tracer-alumni-form{
    max-width:720px;
}
.profil-alumni-page .tracer-alumni-form-section{
    margin-bottom:1.5rem;
}
.profil-alumni-page .tracer-alumni-form-section-title{
    font-size:0.82rem;
    font-weight:700;
    color:#475569;
    margin-bottom:0.85rem;
    padding-bottom:0.45rem;
    border-bottom:1px solid #f1f5f9;
}
.profil-alumni-page .tracer-alumni-form-photo{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1rem;
    padding:1rem;
    background:#f8fafc;
    border:1px solid var(--alumni-border);
    border-radius:12px;
}
.profil-alumni-page .tracer-alumni-edit-photo{
    width:80px;
    height:80px;
    border-radius:12px;
    object-fit:cover;
    border:2px solid #e2e8f0;
    background:#fff;
    flex-shrink:0;
}
.profil-alumni-page .tracer-alumni-edit-photo.placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--alumni-muted);
    font-size:1.5rem;
}
.profil-alumni-page .tracer-alumni-form .form-label{
    font-size:0.84rem;
    font-weight:500;
    color:#475569;
    margin-bottom:0.35rem;
}
.profil-alumni-page .tracer-alumni-form .form-control,
.profil-alumni-page .tracer-alumni-form .form-select{
    border-color:#e2e8f0;
    border-radius:10px;
    font-size:0.88rem;
}
.profil-alumni-page .tracer-alumni-form .form-control:focus,
.profil-alumni-page .tracer-alumni-form .form-select:focus{
    border-color:var(--alumni-accent);
    box-shadow:0 0 0 0.2rem rgba(99,102,241,0.12);
}
.profil-alumni-page .tracer-profile-security-note{
    display:flex;
    align-items:flex-start;
    gap:0.85rem;
    background:linear-gradient(135deg,#eef2ff,#f8fafc);
    border:1px solid rgba(99,102,241,0.15);
    border-radius:12px;
    padding:1rem 1.15rem;
    max-width:520px;
}
.profil-alumni-page .tracer-profile-security-note > i{
    font-size:1.25rem;
    color:var(--alumni-accent);
    margin-top:0.1rem;
}
.profil-alumni-page .tracer-password-group .input-group-text{
    background:#f8fafc;
    border-color:#e2e8f0;
    color:#64748b;
}
.profil-alumni-page .tracer-alumni-biodata-empty{
    text-align:center;
    padding:2.5rem 1rem;
    color:var(--alumni-muted);
    font-size:0.88rem;
}
.profil-alumni-page .tracer-alumni-biodata-empty i{
    font-size:2rem;
    opacity:0.5;
    display:block;
    margin-bottom:0.5rem;
}
@media (max-width:991px){
    .profil-alumni-page .tracer-alumni-info-grid{
        grid-template-columns:1fr;
    }
    .profil-alumni-page .tracer-alumni-info-item.is-wide{
        grid-column:auto;
    }
}
@media (max-width:575px){
    .profil-alumni-page .tracer-alumni-side-card .card-body,
    .profil-alumni-page .tracer-alumni-main-card .card-body{
        padding-left:1rem;
        padding-right:1rem;
    }
    .profil-alumni-page .tracer-alumni-tabs .nav-link{
        padding:0.55rem 0.75rem;
        font-size:0.8rem;
    }
}

/* ============================================================
   Tracer App — shell & komponen (override NiceAdmin)
   ============================================================ */
body.tracer-app{
    --tr-font:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
    --tr-accent:#6366f1;
    --tr-accent-2:#818cf8;
    --tr-accent-warm:#f59e0b;
    --tr-accent-soft:rgba(99,102,241,0.14);
    --tr-accent-ring:rgba(99,102,241,0.25);
    --tr-sidebar:#1a1f3c;
    --tr-sidebar-2:#252b48;
    --tr-sidebar-text:#a5b4cb;
    --tr-sidebar-hover:rgba(255,255,255,0.06);
    --tr-sidebar-active:rgba(99,102,241,0.22);
    --tr-bg:#eef0f6;
    --tr-surface:#ffffff;
    --tr-text:#1f2937;
    --tr-muted:#64748b;
    --tr-border:rgba(15,23,42,0.08);
    --tr-header-h:64px;
    --tr-sidebar-w:272px;
    --tr-radius:14px;
    --tr-radius-lg:18px;
    --tr-shadow:0 1px 2px rgba(15,23,42,0.04),0 10px 28px rgba(15,23,42,0.06);
    --tr-shadow-sm:0 1px 3px rgba(15,23,42,0.06);
    font-family:var(--tr-font);
    background:
        radial-gradient(ellipse 120% 80% at 100% -20%, rgba(99,102,241,0.08), transparent 55%),
        radial-gradient(ellipse 80% 60% at 0% 100%, rgba(168,85,247,0.05), transparent 50%),
        var(--tr-bg);
    color:var(--tr-text);
}
body.tracer-app a:not(.btn){
    color:var(--tr-accent);
}
body.tracer-app a:not(.btn):hover{
    color:#4f46e5;
}
body.tracer-app h1,
body.tracer-app h2,
body.tracer-app h3,
body.tracer-app h4,
body.tracer-app h5,
body.tracer-app h6,
body.tracer-app .card-title,
body.tracer-app .pagetitle h1{
    font-family:var(--tr-font);
    color:#111827;
    letter-spacing:-0.02em;
}

/* Header */
body.tracer-app .header{
    height:var(--tr-header-h);
    padding-left:1.1rem;
    padding-right:1.25rem;
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--tr-border);
    box-shadow:none;
}
body.tracer-app .tracer-header-logo img{
    max-height:38px;
    width:auto;
    border-radius:10px;
}
body.tracer-app .tracer-header-logo-title{
    font-size:0.95rem;
    font-weight:700;
    color:#111827;
    line-height:1.2;
}
body.tracer-app .tracer-header-logo-sub{
    font-size:0.68rem;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#6366f1;
    line-height:1.2;
}
body.tracer-app .tracer-sidebar-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    margin-left:0.35rem;
    padding:0;
    border:1px solid var(--tr-border);
    border-radius:12px;
    background:var(--tr-surface);
    color:#334155;
    font-size:1.35rem;
    cursor:pointer;
    transition:background .2s ease,border-color .2s ease,color .2s ease;
}
body.tracer-app .tracer-sidebar-toggle:hover{
    background:var(--tr-accent-soft);
    border-color:var(--tr-accent-ring);
    color:var(--tr-accent);
}
body.tracer-app .header-nav .nav-profile{
    color:var(--tr-text);
}
body.tracer-app .header-nav .nav-profile img{
    max-height:38px;
    border:2px solid #fff;
    box-shadow:var(--tr-shadow-sm);
}
body.tracer-app .header-nav .nav-profile span{
    font-size:0.88rem;
    font-weight:600;
    color:#334155;
}
body.tracer-app .header-nav .profile{
    border:1px solid var(--tr-border);
    border-radius:var(--tr-radius);
    box-shadow:var(--tr-shadow);
    overflow:hidden;
}
body.tracer-app .header-nav .profile .dropdown-header{
    background:linear-gradient(135deg,#f0fdfa,#ecfeff);
    padding:1rem 1.1rem;
}
body.tracer-app .header-nav .profile .dropdown-header h6{
    color:#111827;
    font-weight:700;
}
body.tracer-app .header-nav .profile .dropdown-header span{
    color:var(--tr-muted);
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
}
body.tracer-app .header-nav .profile .dropdown-item{
    font-weight:500;
    color:#334155;
}
body.tracer-app .header-nav .profile .dropdown-item:hover{
    background:var(--tr-accent-soft);
    color:#0f766e;
}
body.tracer-app .header-nav .notifications .notification-item:hover,
body.tracer-app .header-nav .messages .message-item:hover{
    background:var(--tr-accent-soft);
}

/* Sidebar */
body.tracer-app .sidebar{
    top:var(--tr-header-h);
    width:var(--tr-sidebar-w);
    padding:0.85rem 0.75rem 1.25rem;
    background:
        linear-gradient(165deg, #1e1b4b 0%, #1a1f3c 38%, #252b48 100%);
    border-right:1px solid rgba(129,140,248,0.12);
    box-shadow:4px 0 24px rgba(15,23,42,0.12);
    scrollbar-color:rgba(165,180,252,0.35) transparent;
}
body.tracer-app .sidebar::-webkit-scrollbar-thumb{
    background-color:rgba(165,180,252,0.35);
    border-radius:999px;
}
body.tracer-app .tracer-sidebar-brand{
    align-items:center;
    gap:0.75rem;
    padding:0.55rem 0.65rem 0.95rem;
    margin-bottom:0.5rem;
    border-bottom:1px solid rgba(255,255,255,0.07);
}
body.tracer-app .tracer-sidebar-brand-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#6366f1 0%,#a855f7 55%,#f59e0b 100%);
    color:#fff;
    font-size:1.05rem;
    box-shadow:0 6px 18px rgba(99,102,241,0.35);
    flex-shrink:0;
}
body.tracer-app .tracer-sidebar-brand-title{
    font-size:0.88rem;
    font-weight:600;
    color:#f1f5f9;
    line-height:1.25;
    letter-spacing:-0.01em;
}
body.tracer-app .tracer-sidebar-brand-sub{
    font-size:0.72rem;
    font-weight:400;
    color:var(--tr-sidebar-text);
    margin-top:0.12rem;
}
body.tracer-app .sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:0.2rem;
}
body.tracer-app .sidebar-nav .nav-heading{
    color:rgba(165,180,252,0.55);
    letter-spacing:0.1em;
    font-weight:500;
}
body.tracer-app .sidebar-nav .nav-item{
    margin-bottom:0;
}
body.tracer-app .sidebar-nav .nav-link{
    display:flex;
    align-items:center;
    gap:0.7rem;
    font-size:0.875rem;
    font-weight:400;
    color:#c7d2e3;
    background:transparent;
    border-radius:11px;
    padding:0.5rem 0.65rem;
    margin-bottom:0;
    border:none;
    line-height:1.35;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
body.tracer-app .sidebar-nav .nav-link > span{
    flex:1;
    min-width:0;
}
body.tracer-app .sidebar-nav .nav-link > i:first-of-type{
    width:32px;
    height:32px;
    margin-right:0;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    font-size:0.95rem;
    color:#a5b4fc;
    background:rgba(255,255,255,0.05);
    transition:background .18s ease,color .18s ease,transform .18s ease;
}
body.tracer-app .sidebar-nav .nav-link .bi-chevron-down{
    margin-right:0;
    margin-left:auto;
    font-size:0.72rem;
    color:rgba(165,180,252,0.45);
    transition:transform .2s ease,color .18s ease;
}
body.tracer-app .sidebar-nav .nav-link.collapsed{
    color:#b6c2d6;
    background:transparent;
}
body.tracer-app .sidebar-nav .nav-link.collapsed > i:first-of-type{
    color:#94a3b8;
    background:rgba(255,255,255,0.04);
}
body.tracer-app .sidebar-nav .nav-link:hover{
    color:#f8fafc;
    background:var(--tr-sidebar-hover);
}
body.tracer-app .sidebar-nav .nav-link:hover > i:first-of-type{
    color:#c4b5fd;
    background:rgba(99,102,241,0.18);
}
body.tracer-app .sidebar-nav .nav-link:not(.collapsed){
    color:#f8fafc;
    background:var(--tr-sidebar-active);
    box-shadow:0 2px 12px rgba(99,102,241,0.15);
}
body.tracer-app .sidebar-nav .nav-link:not(.collapsed) > i:first-of-type{
    color:#fff;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    box-shadow:0 4px 10px rgba(99,102,241,0.3);
}
body.tracer-app .sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down{
    color:#c4b5fd;
}
body.tracer-app .sidebar-nav .nav-item > .nav-link:not(.collapsed){
    font-weight:500;
}
body.tracer-app .sidebar-nav .nav-content{
    padding:0.15rem 0 0.25rem 0.35rem;
    margin:0.1rem 0 0.25rem 0.5rem;
    border-left:1px solid rgba(129,140,248,0.2);
}
body.tracer-app .sidebar-nav .nav-content a{
    font-size:0.8125rem;
    font-weight:400;
    color:#94a3b8;
    padding:0.42rem 0.65rem 0.42rem 0.85rem;
    border-radius:8px;
    margin:0.05rem 0;
    position:relative;
    transition:background .15s ease,color .15s ease;
}
body.tracer-app .sidebar-nav .nav-content a i{
    display:none;
}
body.tracer-app .sidebar-nav .nav-content a::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(148,163,184,0.5);
    transform:translateY(-50%);
    transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
body.tracer-app .sidebar-nav .nav-content a:hover{
    color:#e2e8f0;
    background:rgba(255,255,255,0.04);
}
body.tracer-app .sidebar-nav .nav-content a:hover::before{
    background:#a78bfa;
    transform:translateY(-50%) scale(1.2);
}
body.tracer-app .sidebar-nav .nav-content a.active{
    color:#e0e7ff;
    font-weight:500;
    background:rgba(99,102,241,0.14);
}
body.tracer-app .sidebar-nav .nav-content a.active::before{
    background:#818cf8;
    box-shadow:0 0 0 3px rgba(129,140,248,0.25);
    transform:translateY(-50%) scale(1.25);
}
body.tracer-app .sidebar-nav > .nav-item:last-child{
    margin-top:0.65rem;
    padding-top:0.65rem;
    border-top:1px solid rgba(255,255,255,0.06);
}
body.tracer-app .sidebar-nav > .nav-item:last-child .nav-link:hover{
    background:rgba(239,68,68,0.1);
    color:#fecaca;
}
body.tracer-app .sidebar-nav > .nav-item:last-child .nav-link:hover > i:first-of-type{
    color:#fca5a5;
    background:rgba(239,68,68,0.18);
}

/* Layout utama */
body.tracer-app #main,
body.tracer-app #footer{
    transition:margin-left .3s ease;
}
body.tracer-app #main{
    margin-top:var(--tr-header-h);
    padding:1.35rem 1.5rem 2rem;
}
body.tracer-app .section{
    padding:0;
}
@media (min-width:1200px){
    body.tracer-app #main,
    body.tracer-app #footer{
        margin-left:var(--tr-sidebar-w);
    }
    body.tracer-app.toggle-sidebar #main,
    body.tracer-app.toggle-sidebar #footer{
        margin-left:0;
    }
    body.tracer-app.toggle-sidebar .sidebar{
        left:calc(var(--tr-sidebar-w) * -1);
    }
}
@media (max-width:1199px){
    body.tracer-app .sidebar{
        left:calc(var(--tr-sidebar-w) * -1);
    }
    body.tracer-app.toggle-sidebar .sidebar{
        left:0;
    }
}

/* Footer */
body.tracer-app #footer{
    padding:1rem 1.5rem;
    background:transparent;
    border-top:1px solid var(--tr-border);
    color:var(--tr-muted);
    font-size:0.82rem;
}
body.tracer-app #footer .copyright{
    text-align:center;
}
body.tracer-app #footer .credits{
    display:none;
}

/* Kartu & konten */
body.tracer-app .card{
    border:1px solid var(--tr-border);
    border-radius:var(--tr-radius-lg);
    box-shadow:var(--tr-shadow-sm);
    background:var(--tr-surface);
}
body.tracer-app .card:not(.tracer-home-stat):hover{
    transform:none;
    box-shadow:var(--tr-shadow);
}
body.tracer-app .tracer-home-stat:hover{
    transform:translateY(-3px);
    box-shadow:var(--tr-shadow);
}
body.tracer-app .card-title{
    font-size:1.02rem;
    font-weight:700;
}
body.tracer-app .card-header,
body.tracer-app .card-footer{
    background:transparent;
    border-color:var(--tr-border);
}

/* Tombol & form — warna teks kontras (hindari bentrok dengan body.tracer-app a) */
body.tracer-app .btn{
    border-radius:11px;
    font-weight:600;
    letter-spacing:0.01em;
}
body.tracer-app a.btn,
body.tracer-app button.btn{
    text-decoration:none;
}
body.tracer-app .btn-primary{
    --bs-btn-color:#fff;
    --bs-btn-bg:#4f46e5;
    --bs-btn-border-color:#4f46e5;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#4338ca;
    --bs-btn-hover-border-color:#4338ca;
    --bs-btn-active-color:#fff;
    --bs-btn-active-bg:#3730a3;
    --bs-btn-active-border-color:#3730a3;
    --bs-btn-disabled-color:#fff;
    --bs-btn-disabled-bg:#a5b4fc;
    --bs-btn-disabled-border-color:#a5b4fc;
    color:#fff;
    box-shadow:0 6px 18px rgba(79,70,229,0.32);
}
body.tracer-app .btn-primary:hover,
body.tracer-app .btn-primary:focus,
body.tracer-app .btn-primary:active{
    color:#fff;
    box-shadow:0 8px 22px rgba(79,70,229,0.38);
}
body.tracer-app .btn-outline-primary{
    --bs-btn-color:#4338ca;
    --bs-btn-bg:#fff;
    --bs-btn-border-color:#6366f1;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#4f46e5;
    --bs-btn-hover-border-color:#4f46e5;
    --bs-btn-active-color:#fff;
    --bs-btn-active-bg:#4338ca;
    --bs-btn-active-border-color:#4338ca;
    color:#4338ca;
    background-color:#fff;
}
body.tracer-app .btn-outline-primary:hover,
body.tracer-app .btn-outline-primary:focus,
body.tracer-app .btn-outline-primary:active{
    color:#fff !important;
    background-color:#4f46e5 !important;
    border-color:#4338ca !important;
}
body.tracer-app .btn-outline-secondary{
    --bs-btn-color:#334155;
    --bs-btn-bg:#fff;
    --bs-btn-border-color:#cbd5e1;
    --bs-btn-hover-color:#0f172a;
    --bs-btn-hover-bg:#f1f5f9;
    --bs-btn-hover-border-color:#94a3b8;
    --bs-btn-active-color:#0f172a;
    --bs-btn-active-bg:#e2e8f0;
    --bs-btn-active-border-color:#94a3b8;
    color:#334155;
    background-color:#fff;
}
body.tracer-app .btn-outline-secondary:hover,
body.tracer-app .btn-outline-secondary:focus,
body.tracer-app .btn-outline-secondary:active{
    color:#0f172a;
}
body.tracer-app .btn-outline-success{
    --bs-btn-color:#047857;
    --bs-btn-bg:#fff;
    --bs-btn-border-color:#34d399;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#059669;
    --bs-btn-hover-border-color:#059669;
    --bs-btn-active-color:#fff;
    --bs-btn-active-bg:#047857;
    --bs-btn-active-border-color:#047857;
    color:#047857;
    background-color:#fff;
}
body.tracer-app .btn-outline-success:hover,
body.tracer-app .btn-outline-success:focus,
body.tracer-app .btn-outline-success:active{
    color:#fff;
}
body.tracer-app .btn-secondary{
    --bs-btn-color:#fff;
    --bs-btn-bg:#64748b;
    --bs-btn-border-color:#64748b;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#475569;
    --bs-btn-hover-border-color:#475569;
    color:#fff;
}
body.tracer-app .btn-light{
    --bs-btn-color:#1e293b;
    --bs-btn-bg:#f8fafc;
    --bs-btn-border-color:#e2e8f0;
    --bs-btn-hover-color:#0f172a;
    --bs-btn-hover-bg:#f1f5f9;
    --bs-btn-hover-border-color:#cbd5e1;
    color:#1e293b;
    background-color:#f8fafc;
    border-color:#e2e8f0;
}
body.tracer-app .btn-danger{
    --bs-btn-color:#fff;
    --bs-btn-bg:#dc2626;
    --bs-btn-border-color:#dc2626;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#b91c1c;
    --bs-btn-hover-border-color:#b91c1c;
    color:#fff;
}
body.tracer-app .tracer-home-actions .btn i{
    color:inherit;
    opacity:1;
}
body.tracer-app .form-control,
body.tracer-app .form-select{
    border-radius:11px;
    border-color:#dbe3ec;
    font-size:0.92rem;
}
body.tracer-app .form-control:focus,
body.tracer-app .form-select:focus{
    border-color:var(--tr-accent);
    box-shadow:0 0 0 0.2rem var(--tr-accent-ring);
}

/* Tabel */
body.tracer-app .table{
    font-size:0.9rem;
    --bs-table-bg:transparent;
}
body.tracer-app .table thead,
body.tracer-app .table thead th,
body.tracer-app .table-light{
    --bs-table-bg:#f8fafc;
    --bs-table-color:var(--tr-muted);
    background:#f8fafc !important;
    color:var(--tr-muted) !important;
    border-bottom:2px solid #e2e8f0 !important;
    font-size:0.74rem;
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
}
body.tracer-app .table > :not(caption) > * > *{
    border-color:#eef2f7;
}
body.tracer-app .table-hover > tbody > tr:hover > *{
    --bs-table-bg-state:#f0fdfa;
}
body.tracer-app table.dataTable thead th{
    background:#f8fafc !important;
    color:var(--tr-muted) !important;
    border-bottom:2px solid #e2e8f0 !important;
}
body.tracer-app .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.tracer-app .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
    background:var(--tr-accent) !important;
    border-color:var(--tr-accent) !important;
    color:#fff !important;
    border-radius:8px;
}
body.tracer-app .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    background:var(--tr-accent-soft) !important;
    border-color:transparent !important;
    color:#0f766e !important;
    border-radius:8px;
}

/* Badge, alert, progress */
body.tracer-app .badge{
    border-radius:999px;
    font-weight:600;
    letter-spacing:0.02em;
}
body.tracer-app .badge.bg-primary{
    background-color:var(--tr-accent) !important;
}
body.tracer-app .alert{
    border:none;
    border-radius:var(--tr-radius);
}
body.tracer-app .progress,
body.tracer-app .tracer-home-progress{
    background:#e2e8f0;
}
body.tracer-app .progress-bar,
body.tracer-app .tracer-home-progress .bar{
    background:linear-gradient(90deg,var(--tr-accent),var(--tr-accent-2));
}

/* Select2 */
body.tracer-app .select2-container--default .select2-selection--single,
body.tracer-app .select2-container--default .select2-selection--multiple{
    border-radius:11px !important;
    border-color:#dbe3ec !important;
    min-height:38px;
}
body.tracer-app .select2-container--default.select2-container--focus .select2-selection--multiple,
body.tracer-app .select2-container--default.select2-container--open .select2-selection--single{
    border-color:var(--tr-accent) !important;
}

/* Back to top */
body.tracer-app .back-to-top{
    width:44px;
    height:44px;
    border-radius:14px;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    box-shadow:0 10px 24px rgba(99,102,241,0.35);
}
body.tracer-app .back-to-top i{
    font-size:1.5rem;
}

/* Pagetitle lama NiceAdmin */
body.tracer-app .pagetitle{
    margin-bottom:1.25rem;
}
body.tracer-app .breadcrumb{
    font-size:0.84rem;
}
body.tracer-app .breadcrumb a{
    color:var(--tr-muted);
}
body.tracer-app .breadcrumb .active{
    color:var(--tr-text);
    font-weight:600;
}

@media (max-width:767px){
    body.tracer-app #main{
        padding:1rem 0.85rem 1.5rem;
    }
    body.tracer-app .header{
        padding-left:0.75rem;
        padding-right:0.85rem;
    }
}

/* Modul belum tersedia — placeholder shell dashboard */
.tracer-module-soon{
    max-width:640px;
    margin:0 auto;
}
.tracer-module-soon-card{
    border-radius:1.25rem;
    overflow:hidden;
    background:
        linear-gradient(160deg, rgba(99,102,241,0.06) 0%, rgba(255,255,255,1) 42%),
        var(--tr-surface,#fff);
}
.tracer-module-soon-icon{
    width:88px;
    height:88px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    color:#fff;
    background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#a855f7 100%);
    box-shadow:0 16px 40px rgba(99,102,241,0.28);
}
.tracer-module-soon-badge{
    display:inline-block;
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#4f46e5;
    background:rgba(99,102,241,0.12);
    border:1px solid rgba(99,102,241,0.2);
    border-radius:999px;
    padding:0.35rem 0.85rem;
}
.tracer-module-soon-title{
    font-size:clamp(1.35rem,2.5vw,1.75rem);
    font-weight:700;
    color:var(--tr-text,#1f2937);
}
.tracer-module-soon-lead{
    max-width:32rem;
    color:var(--tr-muted,#64748b);
    font-size:0.95rem;
    line-height:1.65;
}
.tracer-module-soon-steps{
    max-width:26rem;
    font-size:0.9rem;
    color:var(--tr-text,#374151);
}
.tracer-module-soon-steps li{
    display:flex;
    align-items:flex-start;
    gap:0.65rem;
    padding:0.45rem 0;
}
.tracer-module-soon-steps li i{
    color:#6366f1;
    margin-top:0.15rem;
    flex-shrink:0;
}
/* Loading halaman dashboard / modul */
.tracer-page-loading{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:2.5rem 1rem;
    min-height:220px;
}
.tracer-page-loading--skeleton-dashboard{
    align-items:stretch;
    justify-content:flex-start;
    padding:0;
    min-height:auto;
}
.tracer-page-loading-spinner{
    width:42px;
    height:42px;
    border-radius:50%;
    border:3px solid rgba(99,102,241,0.18);
    border-top-color:#6366f1;
    animation:tracer-spin 0.75s linear infinite;
    margin-bottom:1rem;
}
.tracer-page-loading-text{
    color:var(--tr-muted,#64748b);
    font-size:0.92rem;
    font-weight:500;
}
@keyframes tracer-spin{
    to{ transform:rotate(360deg); }
}
.tracer-skeleton-dashboard .tracer-skeleton-block{
    border-radius:1rem;
    background:linear-gradient(90deg,#eef0f6 25%,#f8f9fc 50%,#eef0f6 75%);
    background-size:200% 100%;
    animation:tracer-shimmer 1.35s ease-in-out infinite;
}
.tracer-skeleton-hero{
    height:88px;
    margin-bottom:1.25rem;
}
.tracer-skeleton-card{
    height:108px;
}
.tracer-skeleton-panel{
    height:140px;
}
@keyframes tracer-shimmer{
    0%{ background-position:200% 0; }
    100%{ background-position:-200% 0; }
}
.tracer-nav-skeleton{
    padding:0.35rem 0.75rem;
}
.tracer-nav-skeleton-line{
    display:block;
    height:38px;
    border-radius:0.65rem;
    background:linear-gradient(90deg,rgba(255,255,255,0.05) 25%,rgba(255,255,255,0.12) 50%,rgba(255,255,255,0.05) 75%);
    background-size:200% 100%;
    animation:tracer-shimmer 1.35s ease-in-out infinite;
}
.tracer-page-error{
    max-width:480px;
    margin:1rem auto 0;
    border-radius:1.1rem;
}
.tracer-page-error-icon{
    width:56px;
    height:56px;
    margin:0 auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    color:#dc2626;
    background:rgba(220,38,38,0.1);
}

/* Toolbar & tombol modul admin (seragam) */
body.tracer-app .tracer-admin-page-head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
}
body.tracer-app .tracer-admin-page-head__text{
    flex:1 1 16rem;
    min-width:0;
}
body.tracer-app .tracer-admin-lead{
    color:var(--tr-muted);
    font-size:.875rem;
    line-height:1.55;
    max-width:42rem;
}
body.tracer-app .tracer-admin-lead code{
    font-size:.8em;
    padding:.1rem .35rem;
    border-radius:6px;
    background:rgba(79,70,229,0.08);
    color:#4338ca;
}
body.tracer-app .tracer-admin-toolbar-bar{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:space-between;
    gap:.75rem 1rem;
    padding:.85rem 1rem;
    border:1px solid var(--tr-border);
    border-radius:var(--tr-radius-lg);
    background:linear-gradient(180deg,#fafbff 0%,#f8fafc 100%);
}
body.tracer-app .tracer-admin-toolbar-bar__filters{
    flex:1 1 18rem;
    min-width:0;
}
body.tracer-app .tracer-admin-toolbar-bar__actions{
    flex:0 0 auto;
    align-self:center;
}
body.tracer-app .tracer-admin-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:38px;
    padding:.5rem 1rem;
    font-size:.875rem;
    font-weight:600;
    line-height:1.2;
    border-radius:10px;
    white-space:nowrap;
}
body.tracer-app .tracer-admin-btn i{
    font-size:1rem;
    line-height:1;
}
body.tracer-app .tracer-admin-btn-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    padding:0;
    border-radius:10px;
}
body.tracer-app .tracer-admin-btn:disabled{
    opacity:.72;
}

body.tracer-app .tracer-hak-pegawai-module .tracer-hak-check-item{
    display:flex;
    align-items:flex-start;
    gap:.55rem;
    width:100%;
    margin:0;
    padding:.65rem .75rem;
    border:1px solid var(--tr-border);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    transition:border-color .15s ease, box-shadow .15s ease;
}
body.tracer-app .tracer-hak-pegawai-module .tracer-hak-check-item:hover{
    border-color:#c7d2fe;
    box-shadow:0 0 0 3px rgba(79,70,229,0.08);
}
body.tracer-app .tracer-hak-pegawai-module .tracer-hak-check-item:has(input:checked){
    border-color:#818cf8;
    background:#f5f7ff;
}
body.tracer-app .tracer-hak-pegawai-module .tracer-hak-check-body{
    display:flex;
    flex-direction:column;
    gap:.2rem;
    min-width:0;
}
body.tracer-app .tracer-hak-pegawai-module .tracer-hak-check-label{
    font-size:.82rem;
    color:var(--tr-muted);
    line-height:1.35;
}

body.tracer-app .tracer-pegawai-module .tracer-pegawai-panel{
    overflow:hidden;
    box-shadow:0 1px 3px rgba(15,23,42,0.06);
    border-radius:var(--tr-radius-lg);
}
body.tracer-app .tracer-pegawai-module .tracer-pegawai-stats .tracer-home-stat{
    box-shadow:0 1px 3px rgba(15,23,42,0.05);
}
body.tracer-app .tracer-pegawai-module .tracer-pegawai-filters .form-select,
body.tracer-app .tracer-pegawai-module .tracer-admin-toolbar-bar__filters .form-select{
    border-radius:10px;
    border-color:var(--tr-border);
    min-height:38px;
    font-size:.875rem;
}
body.tracer-app .tracer-pegawai-module .tracer-pegawai-table-wrap{
    border:1px solid var(--tr-border);
    border-radius:var(--tr-radius-lg);
    padding:.35rem .5rem .65rem;
    background:#fff;
}
body.tracer-app .tracer-pegawai-module table.tracer-pegawai-table{
    font-size:.875rem;
}
body.tracer-app .tracer-pegawai-module table.tracer-pegawai-table thead th{
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--tr-muted);
    vertical-align:top;
    padding-top:.75rem;
    padding-bottom:.75rem;
    border-bottom-width:1px;
}
body.tracer-app .tracer-pegawai-module table.tracer-pegawai-table tbody td,
body.tracer-app .tracer-pegawai-module table.dataTable tbody td{
    vertical-align:top !important;
    padding-top:.7rem;
    padding-bottom:.7rem;
    line-height:1.45;
}
body.tracer-app .tracer-pegawai-module .pgw-username{
    font-size:.8rem;
    padding:.15rem .4rem;
    border-radius:6px;
    background:#f1f5f9;
    color:#334155;
}
body.tracer-app .tracer-pegawai-module .pgw-hak-badges{
    display:flex;
    flex-wrap:wrap;
    gap:.25rem;
    align-items:flex-start;
    max-width:220px;
}
body.tracer-app .tracer-pegawai-module .pgw-hak-badges .badge{
    font-size:.72rem;
    font-weight:600;
    padding:.35em .55em;
}
body.tracer-app .tracer-pegawai-module .pgw-col-nip{
    font-variant-numeric:tabular-nums;
    color:#475569;
}
body.tracer-app .tracer-pegawai-module table.dataTable{
    margin-top:0 !important;
    margin-bottom:.35rem !important;
}
body.tracer-app .tracer-pegawai-detail-item{
    display:flex;
    gap:.85rem;
    align-items:flex-start;
    height:100%;
    padding:.85rem 1rem;
    border:1px solid var(--tr-border);
    border-radius:var(--tr-radius);
    background:#f8fafc;
}
body.tracer-app .tracer-pegawai-detail-item .detail-icon{
    width:36px;
    height:36px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:#4f46e5;
    background:rgba(79,70,229,0.1);
    font-size:1rem;
}
body.tracer-app .tracer-pegawai-detail-item .detail-label{
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--tr-muted);
    margin-bottom:.15rem;
}
body.tracer-app .tracer-pegawai-detail-item .detail-value{
    font-size:.92rem;
    color:var(--tr-text);
    word-break:break-word;
}
body.tracer-app .tracer-pegawai-module .dataTables_wrapper .dataTables_length,
body.tracer-app .tracer-pegawai-module .dataTables_wrapper .dataTables_filter{
    padding:.35rem .15rem;
}
body.tracer-app .tracer-pegawai-module .dataTables_wrapper .dataTables_info{
    padding:.5rem .15rem 0;
    font-size:.82rem;
    color:var(--tr-muted);
}
@media (max-width:767.98px){
    body.tracer-app .tracer-admin-page-head .tracer-admin-toolbar-bar__actions{
        width:100%;
    }
    body.tracer-app .tracer-admin-page-head .tracer-admin-toolbar-bar__actions .tracer-admin-btn{
        flex:1 1 calc(50% - .5rem);
    }
    body.tracer-app .tracer-admin-toolbar-bar{
        padding:.75rem;
    }
}

/* Google Forms — builder kuesioner */
.gf-builder{
    background:linear-gradient(180deg,#f3f6fc 0%,#f8fafc 220px);
    border-radius:16px;
    padding:1rem 1rem 2rem;
    min-height:420px;
}
.gf-builder-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:1rem;
}
.gf-builder-toolbar .gf-stat-chip{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .75rem;
    border-radius:999px;
    background:#fff;
    border:1px solid #e2e8f0;
    font-size:.82rem;
    color:#475569;
}
.gf-form-header{
    background:#fff;
    border-radius:12px;
    box-shadow:0 1px 3px rgba(60,64,67,.15),0 4px 8px rgba(60,64,67,.08);
    overflow:hidden;
    margin-bottom:1rem;
    max-width:860px;
    margin-left:auto;
    margin-right:auto;
}
.gf-form-header-accent{
    height:10px;
    background:linear-gradient(90deg,#0d9488 0%,#673ab7 100%);
}
.gf-form-header-body{
    padding:1.35rem 1.5rem 1.5rem;
}
.gf-form-header-body h1{
    font-size:1.65rem;
    font-weight:400;
    color:#202124;
    margin:0 0 .35rem;
    line-height:1.3;
}
.gf-form-header-body p{
    margin:0;
    color:#5f6368;
    font-size:.92rem;
}
.gf-questions-wrap{
    max-width:860px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.gf-q-card{
    background:#fff;
    border:1px solid transparent;
    border-radius:8px;
    box-shadow:0 1px 3px rgba(60,64,67,.15),0 4px 8px rgba(60,64,67,.08);
    padding:1rem 1.15rem 1rem;
    transition:border-color .2s, box-shadow .2s;
    position:relative;
}
.gf-q-card:hover{
    border-color:#dadce0;
}
.gf-q-card.is-editing{
    border-color:#673ab7;
    box-shadow:0 2px 6px rgba(103,58,183,.18),0 8px 24px rgba(60,64,67,.1);
}
.gf-q-card.is-inactive{
    opacity:.72;
    background:#fafafa;
}
.gf-q-card-top{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:.75rem;
    margin-bottom:.85rem;
}
.gf-q-num{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#e8f5f3;
    color:#0d9488;
    font-size:.78rem;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-top:.35rem;
}
.gf-q-title-wrap{
    flex:1 1 240px;
    min-width:0;
}
.gf-q-title{
    width:100%;
    border:none;
    border-bottom:1px solid transparent;
    font-size:1.05rem;
    font-weight:500;
    color:#202124;
    padding:.35rem 0;
    background:transparent;
    resize:vertical;
    min-height:2.2rem;
}
.gf-q-title:focus{
    outline:none;
    border-bottom-color:#673ab7;
}
.gf-q-type-wrap{
    flex:0 0 210px;
}
.gf-q-type{
    font-size:.85rem;
}
.gf-q-options{
    border-top:1px solid #f1f3f4;
    padding-top:.85rem;
    margin-bottom:.25rem;
}
.gf-q-options-label{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#80868b;
    margin-bottom:.55rem;
}
.gf-q-preview--hint{
    border-top:1px solid #f1f3f4;
    padding-top:.85rem;
    margin-bottom:.25rem;
}
.gf-q-preview-label{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#80868b;
    margin-bottom:.55rem;
}
.gf-option-row{
    display:flex;
    align-items:center;
    gap:.65rem;
    margin-bottom:.45rem;
    padding:.2rem .35rem;
    border-radius:6px;
}
.gf-option-row.has-jump{
    align-items:flex-start;
    background:linear-gradient(90deg,#f3e8ff 0%,#faf5ff 100%);
    border-left:3px solid #673ab7;
}
.gf-option-row.has-jump .gf-option-icon{
    margin-top:.42rem;
}
.gf-option-main{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.35rem;
}
.gf-option-row--new .gf-option-input{
    border-bottom-color:#673ab7;
    border-bottom-style:dashed;
}
.gf-option-icon{
    width:20px;
    height:20px;
    flex-shrink:0;
    border:2px solid #5f6368;
}
.gf-option-icon.is-radio{border-radius:50%}
.gf-option-icon.is-check{border-radius:3px}
.gf-option-input{
    flex:1;
    border:none;
    border-bottom:1px solid #dadce0;
    padding:.35rem .1rem;
    font-size:.95rem;
    color:#202124;
    background:#fff;
    cursor:text;
}
.gf-option-input:focus{
    outline:none;
    border-bottom-color:#673ab7;
    border-bottom-width:2px;
    padding-bottom:calc(.35rem - 1px);
}
.gf-option-input::placeholder{
    color:#80868b;
}
.gf-option-actions{
    display:flex;
    gap:.25rem;
    opacity:0;
    transition:opacity .15s;
    flex-shrink:0;
    padding-top:.15rem;
}
.gf-option-row:hover .gf-option-actions,
.gf-option-row.has-jump .gf-option-actions{opacity:1}
.gf-jump-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    max-width:100%;
    padding:.2rem .55rem;
    border-radius:999px;
    background:#ede9fe;
    border:1px solid #c4b5fd;
    color:#5b21b6;
    font-size:.78rem;
    font-weight:600;
    line-height:1.3;
}
.gf-jump-badge i{
    font-size:.85rem;
    flex-shrink:0;
}
.gf-jump-badge__text{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.gf-jump-badge.is-missing{
    background:#fef3c7;
    border-color:#fcd34d;
    color:#92400e;
}
.gf-q-jump-flag{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    padding:.15rem .5rem;
    margin-bottom:.35rem;
    border-radius:999px;
    background:#ede9fe;
    border:1px solid #c4b5fd;
    color:#5b21b6;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.02em;
}
.gf-q-title-row{
    display:flex;
    flex-direction:column;
    gap:0;
}
.gf-stat-chip--jump{
    background:#f5f3ff;
    border-color:#c4b5fd;
    color:#5b21b6;
    font-weight:600;
}
.gf-add-option{
    color:#673ab7;
    font-size:.88rem;
    font-weight:500;
    background:none;
    border:none;
    padding:.25rem 0 .25rem 1.75rem;
    cursor:pointer;
}
.gf-add-option:hover{text-decoration:underline}
.gf-q-mock-textarea,
.gf-q-mock-input{
    width:100%;
    max-width:520px;
    border:1px solid #dadce0;
    border-radius:4px;
    padding:.55rem .75rem;
    background:#fafafa;
    color:#80868b;
    font-size:.9rem;
    cursor:default;
}
.gf-q-mock-textarea{min-height:72px}
.gf-q-footer{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    border-top:1px solid #f1f3f4;
    margin-top:.75rem;
    padding-top:.75rem;
}
.gf-q-footer-left{display:flex;gap:.35rem}
.gf-add-card{
    background:#fff;
    border:2px dashed #dadce0;
    border-radius:8px;
    padding:1rem;
    text-align:center;
    color:#673ab7;
    font-weight:600;
    cursor:pointer;
    transition:background .15s, border-color .15s, color .15s;
}
.gf-add-card:hover{
    color:#5b21b6 !important;
    background:#f8f5ff;
    border-color:#673ab7;
}
.gf-empty-state{
    text-align:center;
    padding:3rem 1.5rem;
    color:#5f6368;
    background:#fff;
    border-radius:12px;
    box-shadow:0 1px 3px rgba(60,64,67,.12);
    max-width:860px;
    margin:0 auto;
}
.gf-mode-chip{
    display:inline-flex;
    align-items:center;
    padding:.35rem .75rem;
    border-radius:999px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.gf-mode-chip.is-preview{
    background:#ede9fe;
    border:1px solid #c4b5fd;
    color:#5b21b6;
}
.gf-mode-chip.is-edit{
    background:#ecfdf5;
    border:1px solid #6ee7b7;
    color:#047857;
}
.gf-btn-mode-toggle{
    font-weight:600;
    border-width:1px;
    transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
}
.gf-btn-mode-toggle.is-preview-mode{
    color:#fff;
    background:#673ab7;
    border-color:#673ab7;
}
.gf-btn-mode-toggle.is-preview-mode:hover,
.gf-btn-mode-toggle.is-preview-mode:focus,
.gf-btn-mode-toggle.is-preview-mode:active{
    color:#fff !important;
    background:#5b21b6 !important;
    border-color:#5b21b6 !important;
    box-shadow:0 4px 12px rgba(91,33,182,.28);
}
.gf-btn-mode-toggle.is-edit-mode{
    color:#4338ca;
    background:#fff;
    border-color:#6366f1;
}
.gf-btn-mode-toggle.is-edit-mode:hover,
.gf-btn-mode-toggle.is-edit-mode:focus,
.gf-btn-mode-toggle.is-edit-mode:active{
    color:#fff !important;
    background:#4f46e5 !important;
    border-color:#4f46e5 !important;
    box-shadow:0 4px 12px rgba(79,70,229,.24);
}
.gf-builder-toolbar .btn-outline-secondary{
    color:#334155;
    background:#fff;
    border-color:#cbd5e1;
}
.gf-builder-toolbar .btn-outline-secondary:hover,
.gf-builder-toolbar .btn-outline-secondary:focus,
.gf-builder-toolbar .btn-outline-secondary:active{
    color:#0f172a !important;
    background:#f1f5f9 !important;
    border-color:#94a3b8 !important;
}
.gf-search-panel{
    max-width:860px;
    margin:0 auto 1rem;
    padding:0 .15rem;
}
.gf-search-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.65rem;
}
.gf-search-input-wrap{
    position:relative;
    flex:1 1 260px;
    min-width:0;
}
.gf-search-icon{
    position:absolute;
    left:.65rem;
    top:50%;
    transform:translateY(-50%);
    color:#80868b;
    pointer-events:none;
    font-size:.9rem;
}
.gf-search-input{
    padding-left:2rem;
    padding-right:2rem;
    border-radius:999px;
    border-color:#dadce0;
    background:#fff;
    box-shadow:0 1px 2px rgba(60,64,67,.08);
}
.gf-search-input:focus{
    border-color:#673ab7;
    box-shadow:0 0 0 3px rgba(103,58,183,.15);
}
.gf-search-clear{
    position:absolute;
    right:.35rem;
    top:50%;
    transform:translateY(-50%);
    border:none;
    background:transparent;
    color:#80868b;
    width:28px;
    height:28px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.gf-search-clear:hover{
    color:#202124;
    background:#f1f3f4;
}
.gf-search-nav{
    display:flex;
    align-items:center;
    gap:.35rem;
    flex-shrink:0;
}
.gf-search-count{
    font-size:.78rem;
    color:#5f6368;
    white-space:nowrap;
    margin-right:.15rem;
}
.gf-search-nav .btn{
    color:#334155;
    background:#fff;
    border-color:#cbd5e1;
    padding:.2rem .45rem;
}
.gf-search-nav .btn:hover,
.gf-search-nav .btn:focus{
    color:#0f172a !important;
    background:#f1f5f9 !important;
    border-color:#94a3b8 !important;
}
.gf-search-hits{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    margin-top:.65rem;
}
.gf-search-hit-wrap{
    display:inline-flex;
    align-items:stretch;
    max-width:100%;
    border-radius:999px;
    overflow:hidden;
    border:1px solid #e2e8f0;
    background:#fff;
}
.gf-search-hit-wrap:hover,
.gf-search-hit-wrap:has(.gf-search-hit.is-active){
    border-color:#c4b5fd;
    box-shadow:0 1px 4px rgba(103,58,183,.12);
}
.gf-search-hit{
    border:none;
    background:transparent;
    border-radius:0;
    padding:.25rem .55rem .25rem .7rem;
    font-size:.78rem;
    color:#334155;
    cursor:pointer;
    max-width:100%;
    text-align:left;
}
.gf-search-hit:hover,
.gf-search-hit.is-active{
    background:#ede9fe;
    color:#5b21b6;
    box-shadow:none;
}
.gf-search-hit-edit{
    border:none;
    border-left:1px solid #e2e8f0;
    background:#fff;
    color:#673ab7;
    padding:0 .55rem;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
}
.gf-search-hit-edit:hover{
    background:#673ab7;
    color:#fff !important;
    border-left-color:#673ab7;
}
.gf-search-tip{
    margin-top:.45rem;
    line-height:1.45;
}
.gf-search-tip kbd{
    font-size:.72rem;
    padding:.1rem .35rem;
    border-radius:4px;
    background:#f1f3f4;
    border:1px solid #dadce0;
}
.gf-q-preview-actions{
    display:flex;
    justify-content:flex-end;
    gap:.5rem;
    margin-top:.85rem;
    padding-top:.75rem;
    border-top:1px solid #f1f3f4;
}
.btn-gf-edit-one{
    color:#fff;
    background:#673ab7;
    border:1px solid #673ab7;
    font-weight:600;
}
.btn-gf-edit-one:hover,
.btn-gf-edit-one:focus{
    color:#fff !important;
    background:#5b21b6 !important;
    border-color:#5b21b6 !important;
    box-shadow:0 4px 12px rgba(91,33,182,.22);
}
.gf-q-card--single-edit{
    border-color:#673ab7;
    box-shadow:0 2px 8px rgba(103,58,183,.2),0 12px 28px rgba(60,64,67,.12);
}
.gf-q-single-edit-bar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    margin:-.15rem 0 .85rem;
    padding:.55rem .75rem;
    border-radius:8px;
    background:linear-gradient(90deg,#ede9fe 0%,#f5f3ff 100%);
    border:1px solid #c4b5fd;
}
.gf-q-single-edit-label{
    font-size:.82rem;
    font-weight:600;
    color:#5b21b6;
}
.gf-q-single-edit-bar .btn-gf-close-edit{
    color:#334155;
    background:#fff;
    border-color:#cbd5e1;
    font-weight:600;
}
.gf-q-single-edit-bar .btn-gf-close-edit:hover,
.gf-q-single-edit-bar .btn-gf-close-edit:focus{
    color:#5b21b6 !important;
    background:#fff !important;
    border-color:#673ab7 !important;
}
.gf-add-card--hint{
    font-size:.9rem;
}
.gf-search-hit-no{
    font-weight:700;
    color:#673ab7;
}
.gf-search-empty{
    margin-top:.65rem;
    padding:.55rem .75rem;
    border-radius:8px;
    background:#fff8e1;
    border:1px solid #ffe082;
    color:#6d4c00;
    font-size:.84rem;
}
.gf-search-mark{
    background:#fef08a;
    color:inherit;
    padding:0 .05rem;
    border-radius:2px;
}
.gf-q-card.is-search-match{
    box-shadow:0 0 0 2px rgba(103,58,183,.22),0 4px 12px rgba(60,64,67,.1);
}
.gf-q-card.is-search-focus{
    box-shadow:0 0 0 3px rgba(103,58,183,.45),0 8px 20px rgba(103,58,183,.16);
    animation:gf-search-pulse 1.2s ease-out 1;
}
@keyframes gf-search-pulse{
    0%{transform:scale(1);}
    35%{transform:scale(1.01);}
    100%{transform:scale(1);}
}
.gf-q-card--preview{
    padding:1.15rem 1.25rem 1.25rem;
}
.gf-q-preview-head{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
}
.gf-q-preview-content{
    flex:1;
    min-width:0;
}
.gf-q-title-preview{
    font-size:1.05rem;
    font-weight:500;
    color:#202124;
    line-height:1.45;
    margin-bottom:.55rem;
    white-space:pre-wrap;
    word-break:break-word;
}
.gf-q-jenis-badge{
    display:inline-block;
    margin-bottom:.75rem;
    padding:.15rem .5rem;
    border-radius:4px;
    background:#f1f3f4;
    color:#5f6368;
    font-size:.72rem;
    font-weight:600;
}
.gf-q-jump-flag--preview{
    margin-bottom:.45rem;
}
.gf-preview-options-label{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#80868b;
    margin-bottom:.45rem;
}
.gf-preview-options{
    display:flex;
    flex-direction:column;
    gap:.5rem;
}
.gf-preview-opt{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.55rem;
    padding:.15rem 0;
}
.gf-preview-opt.has-jump{
    padding:.35rem .5rem;
    border-radius:6px;
    background:#faf5ff;
    border-left:3px solid #673ab7;
}
.gf-preview-opt-text{
    color:#3c4043;
    font-size:.95rem;
    line-height:1.4;
}
.gf-preview-field{
    max-width:520px;
}
.gf-preview-no-opt{
    font-style:italic;
    padding:.25rem 0;
}
.gf-q-inactive-note{
    margin-top:.75rem;
    padding:.45rem .65rem;
    border-radius:6px;
    background:#fef3c7;
    border:1px solid #fcd34d;
    color:#92400e;
    font-size:.82rem;
}
.gf-q-card--preview.is-inactive{
    opacity:.85;
}
.gf-preview-mode .gf-add-card{
    display:none;
}
.gf-option-actions .btn-outline-info{
    color:#0284c7;
    border-color:#7dd3fc;
    background:#fff;
}
.gf-option-actions .btn-outline-info:hover,
.gf-option-actions .btn-outline-info:focus{
    color:#fff !important;
    background:#0284c7 !important;
    border-color:#0284c7 !important;
}
.gf-option-actions .btn-outline-danger:hover,
.gf-option-actions .btn-outline-danger:focus{
    color:#fff !important;
}
@media (max-width:767.98px){
    .gf-q-type-wrap{flex:1 1 100%}
    .gf-builder{padding:.75rem .65rem 1.5rem}
}

body.tracer-app .modal-dialog-scrollable .modal-content > form{
    display:flex;
    flex-direction:column;
    min-height:0;
    height:100%;
}
body.tracer-app .modal-dialog-scrollable .modal-content > form .modal-body{
    flex:1 1 auto;
    overflow-y:auto;
}
body.tracer-app .modal-dialog-scrollable .modal-content > form .modal-header,
body.tracer-app .modal-dialog-scrollable .modal-content > form .modal-footer{
    flex-shrink:0;
}
body.tracer-app .tracer-modal-footer{
    background:#fff;
    border-top:1px solid #e9ecef;
    padding:1rem 1.25rem;
    margin-top:0;
}

.tracer-banner-crop-wrap{
    width:100%;
    min-height:240px;
    max-height:360px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:.75rem;
    overflow:hidden;
}
.tracer-banner-crop-wrap .cropper-container{
    max-height:360px !important;
}
.tracer-banner-crop-wrap img{
    display:block;
    max-width:100%;
}
.tracer-banner-preview-box{
    width:100%;
    aspect-ratio:16/9;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:.75rem;
    overflow:hidden;
}
.tracer-banner-preview-box img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.tracer-banner-current-img,
.tracer-banner-thumb{
    width:100%;
    max-width:120px;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:.5rem;
    border:1px solid #e2e8f0;
}

.daftar-alumni-page .alumni-page-hero{
    margin-bottom:0;
}
.daftar-alumni-page .daftar-alumni-card{
    border-radius:16px;
    box-shadow:0 6px 22px rgba(15,23,42,0.06);
}
.daftar-alumni-page .alumni-filter-form{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:1rem;
}
.daftar-alumni-page #datatable_alumni{
    font-size:0.9rem;
}
.daftar-alumni-page #datatable_alumni thead th{
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:#64748b;
    font-weight:600;
    white-space:nowrap;
}
@media print{
    .daftar-alumni-page .alumni-filter-form,
    .daftar-alumni-page .btn,
    .daftar-alumni-page #alumni_sync_info,
    .daftar-alumni-page .dataTables_length,
    .daftar-alumni-page .dataTables_filter,
    .daftar-alumni-page .dataTables_paginate{
        display:none !important;
    }
}

.daftar-responden-page .responden-page-hero{
    margin-bottom:0;
}
.daftar-responden-page .daftar-responden-card{
    border-radius:16px;
    box-shadow:0 6px 22px rgba(15,23,42,0.06);
}
.daftar-responden-page .responden-filter-form{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:1rem;
}
.daftar-responden-page #datatable_responden{
    font-size:0.9rem;
}
.daftar-responden-page #datatable_responden thead th{
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:#64748b;
    font-weight:600;
    white-space:nowrap;
}
.daftar-responden-page .stat-responden .stat-icon{
    background:linear-gradient(135deg,#4154f1,#6776f4);
    color:#fff;
}
.daftar-responden-page .stat-month .stat-icon{
    background:linear-gradient(135deg,#2eca6a,#59d98e);
    color:#fff;
}
.daftar-responden-page .stat-today .stat-icon{
    background:linear-gradient(135deg,#ff771d,#ff9a57);
    color:#fff;
}
.daftar-responden-page .stat-prodi .stat-icon{
    background:linear-gradient(135deg,#0dcaf0,#6edff6);
    color:#fff;
}
@media print{
    .daftar-responden-page .responden-filter-form,
    .daftar-responden-page .btn,
    .daftar-responden-page .dataTables_length,
    .daftar-responden-page .dataTables_filter,
    .daftar-responden-page .dataTables_paginate{
        display:none !important;
    }
}
.tracer-banner-thumb{
    max-width:96px;
}

/* Modul Pekerjaan Alumni */
.tracer-pekerjaan-page .tracer-pk-table tbody td{
    vertical-align:middle;
}
.tracer-pekerjaan-page .dataTables_wrapper .dataTables_filter input,
.tracer-pekerjaan-page .dataTables_wrapper .dataTables_length select{
    border-radius:8px;
}

/* Modul Kuesioner Alumni */
.tracer-kuesioner-page{
    --kq-primary:#4f46e5;
    --kq-primary-soft:rgba(79,70,229,0.1);
    --kq-accent:#0d9488;
    --kq-surface:#fff;
    --kq-muted:#64748b;
    --kq-border:rgba(148,163,184,0.28);
}
.tracer-kq-kategori{
    background:var(--kq-primary-soft);
    color:var(--kq-primary);
    font-weight:600;
    border-radius:999px;
    padding:0.2rem 0.65rem;
    font-size:0.82rem;
}
.tracer-kq-options{
    display:flex;
    flex-direction:column;
    gap:0.65rem;
}
.tracer-kq-option{
    display:flex;
    align-items:flex-start;
    gap:0.85rem;
    padding:0.95rem 1.1rem;
    border:2px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;
    margin:0;
}
.tracer-kq-option:hover{
    border-color:#c7d2fe;
    background:#fafaff;
}
.tracer-kq-option.is-selected{
    border-color:var(--kq-primary);
    background:linear-gradient(135deg,rgba(79,70,229,0.06),rgba(124,58,237,0.04));
    box-shadow:0 6px 20px rgba(79,70,229,0.12);
}
.tracer-kq-option-input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.tracer-kq-option-marker{
    flex-shrink:0;
    width:1.35rem;
    color:#94a3b8;
    font-size:1.2rem;
    line-height:1.4;
}
.tracer-kq-option-marker .bi-check-circle-fill,
.tracer-kq-option-marker .bi-check-square-fill{
    display:none;
    color:var(--kq-primary);
}
.tracer-kq-option.is-selected .tracer-kq-option-marker .bi-circle,
.tracer-kq-option.is-selected .tracer-kq-option-marker .bi-square{
    display:none;
}
.tracer-kq-option.is-selected .tracer-kq-option-marker .bi-check-circle-fill,
.tracer-kq-option.is-selected .tracer-kq-option-marker .bi-check-square-fill{
    display:inline;
}
.tracer-kq-option-text{
    flex:1;
    font-size:1rem;
    color:#1e293b;
    line-height:1.5;
    padding-top:0.05rem;
}
.tracer-kq-select,
.tracer-kq-text{
    border-radius:12px !important;
    border:2px solid #e2e8f0 !important;
}
.tracer-kq-select:focus,
.tracer-kq-text:focus{
    border-color:var(--kq-primary) !important;
    box-shadow:0 0 0 0.2rem rgba(79,70,229,0.15) !important;
}
.tracer-kq-numeric{
    max-width:220px;
}
.tracer-kq-progress{
    height:8px;
    background:#e2e8f0;
    border-radius:999px;
    overflow:hidden;
}
.tracer-kq-progress-bar{
    height:100%;
    background:linear-gradient(90deg,var(--kq-primary),#7c3aed);
    border-radius:999px;
    transition:width 0.35s ease;
}

/* Kuesioner — tampilan ringkas */
body.tracer-kq-active #main{
    padding:0.65rem 1rem 0.75rem;
}
body.tracer-kq-question-mode .pagetitle,
body.tracer-kq-end-mode .pagetitle{
    display:none;
}
body.tracer-kq-question-mode #footer{
    display:none;
}
body.tracer-kq-landing-mode .pagetitle{
    margin-bottom:0.5rem;
}
body.tracer-kq-landing-mode .pagetitle h1{
    font-size:1.15rem;
}
body.tracer-kq-landing-mode .breadcrumb{
    margin-bottom:0;
}

.tracer-kq-compact-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
    gap:0.65rem;
}
.tracer-kq-panel{
    background:var(--kq-surface);
    border:1px solid var(--kq-border);
    border-radius:12px;
    padding:0.75rem 0.85rem;
    box-shadow:0 2px 10px rgba(15,23,42,0.04);
}
.tracer-kq-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.5rem;
    margin-bottom:0.5rem;
}
.tracer-kq-panel-title{
    font-size:0.92rem;
    font-weight:700;
    color:#0f172a;
}
.tracer-kq-panel-label{
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:var(--kq-muted);
    margin-bottom:0.45rem;
}
.tracer-kq-info-line{
    font-size:0.78rem;
    margin:0 0 0.5rem;
    line-height:1.35;
}
.tracer-kq-info-line.text-dark{
    color:#0f172a !important;
}
.tracer-kq-end-sync-actions{
    display:flex;
    justify-content:center;
}
.tracer-kq-sync-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0.55rem;
    width:100%;
}
.tracer-kq-end-sync-actions .tracer-kq-sync-wrap{
    align-items:center;
}
.tracer-kq-sync-status{
    display:flex;
    align-items:center;
    gap:0.55rem;
    width:100%;
    padding:0.55rem 0.75rem;
    border-radius:0.65rem;
    background:linear-gradient(135deg,rgba(79,70,229,0.1),rgba(99,102,241,0.06));
    border:1px solid rgba(99,102,241,0.22);
    color:#312e81;
    font-size:0.82rem;
    font-weight:600;
    line-height:1.35;
}
.tracer-kq-end-sync-actions .tracer-kq-sync-status{
    justify-content:center;
    max-width:22rem;
}
.tracer-kq-sync-status-dot{
    width:0.55rem;
    height:0.55rem;
    border-radius:50%;
    background:#4f46e5;
    flex-shrink:0;
    animation:tracer-kq-sync-pulse 1.1s ease-in-out infinite;
}
.tracer-kq-sync-status-spinner{
    width:1rem;
    height:1rem;
    border-width:0.14em;
    color:#4f46e5;
    flex-shrink:0;
}
@keyframes tracer-kq-sync-pulse{
    0%,100%{opacity:0.45;transform:scale(0.92)}
    50%{opacity:1;transform:scale(1)}
}
body.tracer-app .btn-kq-sync-tracer,
body.tracer-app button.btn-kq-sync-tracer{
    display:inline-flex !important;
    align-items:center;
    gap:0.45rem;
    color:#fff !important;
    background:linear-gradient(135deg,#4f46e5,#6366f1) !important;
    border:1px solid #4338ca !important;
    font-weight:600;
    box-shadow:0 4px 14px rgba(79,70,229,0.24);
    transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
    cursor:pointer;
    pointer-events:auto;
    position:relative;
    z-index:2;
}
body.tracer-app .btn-kq-sync-tracer:hover,
body.tracer-app .btn-kq-sync-tracer:focus-visible,
body.tracer-app .btn-kq-sync-tracer.btn-outline-primary:hover,
body.tracer-app .btn-kq-sync-tracer.btn-outline-primary:focus-visible{
    color:#fff !important;
    background:linear-gradient(135deg,#4338ca,#4f46e5) !important;
    border-color:#3730a3 !important;
    box-shadow:0 6px 18px rgba(79,70,229,0.34);
    transform:translateY(-1px);
    filter:none;
}
body.tracer-app .btn-kq-sync-tracer.is-syncing,
body.tracer-app .btn-kq-sync-tracer:disabled{
    color:#fff !important;
    background:linear-gradient(135deg,#818cf8,#a5b4fc) !important;
    border-color:#a5b4fc !important;
    opacity:1;
    box-shadow:none;
    cursor:wait;
    transform:none;
}
body.tracer-app .btn-kq-sync-tracer.is-syncing .btn-kq-sync-tracer-icon,
body.tracer-app .btn-kq-sync-tracer.is-syncing .btn-kq-sync-tracer-label{
    opacity:0.55;
}
body.tracer-app .btn-kq-sync-tracer.is-syncing .btn-kq-sync-tracer-icon i{
    animation:tracer-kq-sync-spin 0.9s linear infinite;
}
@keyframes tracer-kq-sync-spin{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}
.tracer-kq-sync-result-wrap{
    width:100%;
    margin-top:0.55rem;
}
.tracer-kq-end-sync-actions .tracer-kq-sync-result-wrap{
    max-width:28rem;
}
.tracer-kq-sync-result{
    text-align:left;
    padding:0.75rem 0.85rem;
}
.tracer-kq-sync-result-head{
    display:flex;
    align-items:center;
    gap:0.35rem;
    font-weight:700;
    font-size:0.84rem;
    margin-bottom:0.5rem;
}
.tracer-kq-sync-result-grid{
    display:grid;
    gap:0.35rem 0.75rem;
    font-size:0.8rem;
}
.tracer-kq-sync-result-row{
    display:grid;
    grid-template-columns:7.5rem 1fr;
    gap:0.35rem 0.65rem;
    align-items:start;
}
.tracer-kq-sync-result-label{
    color:#475569;
    font-weight:600;
}
.tracer-kq-sync-result-value{
    color:#0f172a;
    line-height:1.45;
    word-break:break-word;
}
.tracer-kq-muted-line{
    font-size:0.78rem;
    color:var(--kq-muted);
}
.tracer-kq-status-row,
.tracer-kq-action-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0.45rem 0.65rem;
}
.tracer-kq-chips{
    display:flex;
    flex-wrap:wrap;
    gap:0.35rem;
}
.tracer-kq-chip{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    font-size:0.74rem;
    font-weight:600;
    color:#334155;
    background:#f8fafc;
    border:1px solid var(--kq-border);
    border-radius:999px;
    padding:0.18rem 0.55rem;
}

.tracer-kq-form-layout{
    display:flex;
    flex-direction:column;
    min-height:calc(100dvh - var(--tr-header-h) - 1.5rem);
    max-height:calc(100dvh - var(--tr-header-h) - 1.5rem);
}
.tracer-kq-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.65rem;
    padding:0.45rem 0.65rem;
    background:var(--kq-surface);
    border:1px solid var(--kq-border);
    border-radius:10px;
    margin-bottom:0.55rem;
    flex-shrink:0;
}
.tracer-kq-body{
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:0.65rem 0.7rem;
    background:var(--kq-surface);
    border:1px solid var(--kq-border);
    border-radius:12px;
}
.tracer-kq-compact .tracer-kq-q-text{
    font-size:clamp(0.95rem,1.8vw,1.12rem);
    line-height:1.4;
    margin:0 0 0.55rem;
    color:#0f172a;
    font-weight:700;
}
.tracer-kq-compact .tracer-kq-options{
    gap:0.4rem;
}
@media (min-width:768px){
    .tracer-kq-compact .tracer-kq-options--many{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0.4rem;
    }
}
.tracer-kq-compact .tracer-kq-option{
    padding:0.5rem 0.65rem;
    border-radius:10px;
    border-width:1px;
    gap:0.55rem;
}
.tracer-kq-compact .tracer-kq-option:hover{transform:none}
.tracer-kq-compact .tracer-kq-option-marker{
    width:1rem;
    font-size:0.95rem;
}
.tracer-kq-compact .tracer-kq-option-text{
    font-size:0.84rem;
    line-height:1.35;
}
.tracer-kq-compact .tracer-kq-select,
.tracer-kq-compact .tracer-kq-text{
    border-radius:8px !important;
    border-width:1px !important;
    font-size:0.86rem;
}
.tracer-kq-footer{
    display:flex;
    align-items:center;
    gap:0.45rem;
    margin-top:0.55rem;
    padding-top:0.45rem;
    border-top:1px solid var(--kq-border);
    flex-shrink:0;
}
.tracer-kq-footer .btn-kq-next{flex:1}
.tracer-kq-footer .btn-kq-cancel{
    font-size:0.78rem;
    text-decoration:none;
}
.tracer-kq-footer .btn-kq-cancel:hover{text-decoration:underline}

.tracer-kq-compact .tracer-kq-end-card{
    max-width:420px;
    margin:0 auto;
    padding:1rem 0.85rem;
    background:var(--kq-surface);
    border:1px solid var(--kq-border);
    border-radius:12px;
}
.tracer-kq-compact .tracer-kq-end-icon{
    width:3.25rem;
    height:3.25rem;
    margin:0 auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#d1fae5,#a7f3d0);
    color:#059669;
    font-size:1.6rem;
}
.tracer-kq-compact .tracer-kq-end-title{
    font-size:1.15rem;
    margin:0.5rem 0 0.25rem;
    font-weight:700;
    color:#0f172a;
}
.tracer-kq-compact .tracer-kq-end-lead{
    font-size:0.84rem;
    margin-bottom:0.65rem;
    color:var(--kq-muted);
}
.tracer-kq-end-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.4rem;
}
.tracer-kq-end-cancel{margin-top:0.35rem}

.tracer-kq-panel--bio{
    margin-bottom:0.65rem;
}
.tracer-kq-bio-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0.45rem 0.85rem;
}
.tracer-kq-bio-item{
    min-width:0;
}
.tracer-kq-bio-label{
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.02em;
    text-transform:uppercase;
    color:var(--kq-muted);
    margin-bottom:0.12rem;
}
.tracer-kq-bio-value{
    font-size:0.84rem;
    font-weight:600;
    color:#1e293b;
    line-height:1.35;
    word-break:break-word;
}
.tracer-kq-bio-item:nth-child(2) .tracer-kq-bio-value{
    font-size:0.92rem;
    color:#0f172a;
}
@media (min-width:992px){
    .tracer-kq-bio-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .tracer-kq-bio-item:nth-child(1),
    .tracer-kq-bio-item:nth-child(2){
        grid-column:span 2;
    }
}

@media (max-width:767.98px){
    .tracer-kq-bio-grid{grid-template-columns:1fr}
    .tracer-kq-compact-grid{grid-template-columns:1fr}
    .tracer-kq-form-layout{
        min-height:calc(100dvh - var(--tr-header-h) - 1rem);
        max-height:calc(100dvh - var(--tr-header-h) - 1rem);
    }
}

/* Lihat kuesioner */
body.tracer-lk-active .pagetitle{
    margin-bottom:0.75rem;
}
.tracer-lk-page{
    --lk-primary:#4f46e5;
    --lk-primary-soft:rgba(79,70,229,0.1);
    --lk-accent:#0d9488;
    --lk-accent-soft:rgba(13,148,136,0.1);
    --lk-surface:#fff;
    --lk-muted:#64748b;
    --lk-border:rgba(148,163,184,0.24);
    --lk-shadow:0 10px 30px rgba(15,23,42,0.06);
    display:grid;
    gap:1rem;
}
.tracer-lk-hero{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1.25rem;
    padding:1.35rem 1.5rem;
    border-radius:1rem;
    background:linear-gradient(135deg,var(--lk-primary-soft),rgba(13,148,136,0.08));
    border:1px solid var(--lk-border);
    box-shadow:var(--lk-shadow);
}
.tracer-lk-hero-main{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}
.tracer-lk-avatar{
    width:4rem;
    height:4rem;
    border-radius:1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:1.2rem;
    color:#fff;
    background:linear-gradient(135deg,var(--lk-primary),#7c3aed);
    box-shadow:0 8px 20px rgba(79,70,229,0.25);
    flex-shrink:0;
}
.tracer-lk-hero-kicker{
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--lk-primary);
    margin-bottom:0.2rem;
}
.tracer-lk-hero-name{
    margin:0 0 0.35rem;
    font-size:1.45rem;
    font-weight:700;
    line-height:1.2;
    color:#0f172a;
}
.tracer-lk-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem 1rem;
    color:var(--lk-muted);
    font-size:0.9rem;
}
.tracer-lk-hero-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:0.75rem;
}
.tracer-lk-status-badge{
    font-size:0.82rem;
    padding:0.45rem 0.7rem;
}
.tracer-lk-hero-dates{
    display:grid;
    gap:0.45rem;
    text-align:right;
    font-size:0.88rem;
}
.tracer-lk-mini-label{
    display:block;
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--lk-muted);
    margin-bottom:0.1rem;
}
.tracer-lk-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0.85rem;
}
.tracer-lk-stat{
    display:flex;
    align-items:center;
    gap:0.85rem;
    padding:0.95rem 1rem;
    border-radius:0.9rem;
    background:var(--lk-surface);
    border:1px solid var(--lk-border);
    box-shadow:var(--lk-shadow);
}
.tracer-lk-stat-icon{
    width:2.5rem;
    height:2.5rem;
    border-radius:0.75rem;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    flex-shrink:0;
}
.tracer-lk-stat--primary .tracer-lk-stat-icon{background:var(--lk-primary-soft);color:var(--lk-primary)}
.tracer-lk-stat--accent .tracer-lk-stat-icon{background:var(--lk-accent-soft);color:var(--lk-accent)}
.tracer-lk-stat--teal .tracer-lk-stat-icon{background:rgba(14,165,233,0.12);color:#0284c7}
.tracer-lk-stat--success .tracer-lk-stat-icon{background:rgba(34,197,94,0.12);color:#16a34a}
.tracer-lk-stat--muted .tracer-lk-stat-icon{background:rgba(100,116,139,0.12);color:#64748b}
.tracer-lk-stat-value{
    font-size:1.15rem;
    font-weight:700;
    line-height:1.1;
    color:#0f172a;
}
.tracer-lk-stat-label{
    font-size:0.78rem;
    color:var(--lk-muted);
    margin-top:0.15rem;
}
.tracer-lk-contact{
    display:flex;
    flex-wrap:wrap;
    gap:0.75rem;
    padding:0.9rem 1rem;
    border-radius:0.9rem;
    background:var(--lk-surface);
    border:1px solid var(--lk-border);
}
.tracer-lk-contact-item{
    display:flex;
    align-items:center;
    gap:0.65rem;
    min-width:min(100%,14rem);
}
.tracer-lk-contact-icon{
    width:2.2rem;
    height:2.2rem;
    border-radius:0.65rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--lk-primary-soft);
    color:var(--lk-primary);
}
.tracer-lk-contact-label{
    display:block;
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--lk-muted);
}
.tracer-lk-contact-value{
    display:block;
    font-weight:600;
    color:#0f172a;
}
.tracer-lk-contact-link{
    color:inherit;
    text-decoration:none;
}
.tracer-lk-contact-link:hover{text-decoration:underline}
.tracer-lk-toc{
    padding:0.95rem 1rem;
    border-radius:0.9rem;
    background:var(--lk-surface);
    border:1px solid var(--lk-border);
}
.tracer-lk-toc-label{
    font-size:0.78rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:var(--lk-muted);
    margin-bottom:0.55rem;
}
.tracer-lk-toc-chips{
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem;
}
.tracer-lk-toc-chip{
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    padding:0.4rem 0.7rem;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid var(--lk-border);
    color:#334155;
    font-size:0.84rem;
    font-weight:500;
    text-decoration:none;
    transition:background .15s,border-color .15s,transform .15s;
}
.tracer-lk-toc-chip:hover{
    background:var(--lk-primary-soft);
    border-color:rgba(79,70,229,0.25);
    color:var(--lk-primary);
}
.tracer-lk-toc-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:1.35rem;
    height:1.35rem;
    padding:0 0.35rem;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--lk-border);
    font-size:0.72rem;
    font-weight:700;
}
.tracer-lk-groups{
    display:grid;
    gap:1rem;
}
.tracer-lk-group{
    border-radius:1rem;
    background:var(--lk-surface);
    border:1px solid var(--lk-border);
    box-shadow:var(--lk-shadow);
    overflow:hidden;
    scroll-margin-top:calc(var(--tr-header-h,4rem) + 1rem);
    transition:box-shadow .25s,border-color .25s;
}
.tracer-lk-group.is-highlight{
    border-color:rgba(79,70,229,0.45);
    box-shadow:0 0 0 3px rgba(79,70,229,0.12);
}
.tracer-lk-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 1.15rem;
    background:linear-gradient(180deg,#fafbff,#fff);
    border-bottom:1px solid var(--lk-border);
}
.tracer-lk-group-title{
    display:flex;
    align-items:center;
    gap:0.85rem;
    min-width:0;
}
.tracer-lk-group-icon{
    width:2.5rem;
    height:2.5rem;
    border-radius:0.75rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--lk-primary-soft);
    color:var(--lk-primary);
    flex-shrink:0;
}
.tracer-lk-group-name{
    margin:0;
    font-size:1.05rem;
    font-weight:700;
    color:#0f172a;
}
.tracer-lk-group-meta{
    font-size:0.82rem;
    color:var(--lk-muted);
    margin-top:0.15rem;
}
.tracer-lk-group-index{
    font-size:0.78rem;
    font-weight:700;
    color:var(--lk-muted);
    background:#f8fafc;
    border:1px solid var(--lk-border);
    border-radius:999px;
    padding:0.25rem 0.55rem;
    flex-shrink:0;
}
.tracer-lk-items{
    display:grid;
    gap:0;
}
.tracer-lk-item{
    padding:1rem 1.15rem;
    border-top:1px solid rgba(148,163,184,0.16);
}
.tracer-lk-item:first-child{border-top:0}
.tracer-lk-item.is-empty .tracer-lk-answer-empty{color:#94a3b8}
.tracer-lk-item-head{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0.55rem;
    margin-bottom:0.55rem;
}
.tracer-lk-qno{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:1.85rem;
    height:1.85rem;
    border-radius:0.55rem;
    background:var(--lk-primary-soft);
    color:var(--lk-primary);
    font-size:0.82rem;
    font-weight:700;
}
.tracer-lk-jenis{
    font-size:0.72rem;
    font-weight:600;
}
.tracer-lk-question{
    font-size:0.96rem;
    font-weight:600;
    color:#1e293b;
    line-height:1.45;
    margin-bottom:0.65rem;
}
.tracer-lk-answer-single{
    display:flex;
    align-items:flex-start;
    gap:0.15rem;
    padding:0.75rem 0.9rem;
    border-radius:0.75rem;
    background:#f8fafc;
    border:1px solid var(--lk-border);
    color:#0f172a;
    line-height:1.45;
}
.tracer-lk-answer-single i{
    color:var(--lk-accent);
    margin-top:0.15rem;
    flex-shrink:0;
}
.tracer-lk-answer-chips{
    display:flex;
    flex-wrap:wrap;
    gap:0.45rem;
}
.tracer-lk-answer-chip{
    display:inline-flex;
    align-items:center;
    padding:0.35rem 0.65rem;
    border-radius:999px;
    background:var(--lk-accent-soft);
    border:1px solid rgba(13,148,136,0.18);
    color:#0f766e;
    font-size:0.84rem;
    font-weight:500;
}
.tracer-lk-answer-empty{
    display:inline-flex;
    align-items:center;
    padding:0.55rem 0.75rem;
    border-radius:0.65rem;
    background:#f8fafc;
    border:1px dashed var(--lk-border);
    font-size:0.86rem;
    font-style:italic;
}
.tracer-lk-empty{
    text-align:center;
    padding:2.5rem 1.5rem;
    border-radius:1rem;
    background:var(--lk-surface);
    border:1px dashed var(--lk-border);
}
.tracer-lk-empty-icon{
    width:3.5rem;
    height:3.5rem;
    margin:0 auto 0.85rem;
    border-radius:1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--lk-primary-soft);
    color:var(--lk-primary);
    font-size:1.5rem;
}
.tracer-lk-empty-title{
    margin:0 0 0.35rem;
    font-size:1.1rem;
    font-weight:700;
}
.tracer-lk-empty-lead{
    margin:0;
    color:var(--lk-muted);
    max-width:28rem;
    margin-inline:auto;
}
.tracer-lk-error{
    border-radius:0.85rem;
}

@media (max-width:991.98px){
    .tracer-lk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
    .tracer-lk-hero{padding:1rem}
    .tracer-lk-hero-side{align-items:flex-start;width:100%}
    .tracer-lk-hero-dates{text-align:left}
    .tracer-lk-stats{grid-template-columns:1fr}
    .tracer-lk-group-head{align-items:flex-start;flex-direction:column}
}
