:root{--dsm-bg:#f6f8fb;--dsm-card:#fff;--dsm-text:#172033;--dsm-muted:#68758b;--dsm-line:#e7ebf2;--dsm-accent:#1f5fa8;--dsm-accent-soft:#eaf2fb;--dsm-good:#127a4b;--dsm-warm:#a75d00;--dsm-radius:18px;--dsm-shadow:0 8px 28px rgba(25,42,70,.08)}
.dsm-public{background:var(--dsm-bg);padding:34px 0 54px;color:var(--dsm-text)}
.dsm-public *{box-sizing:border-box}.dsm-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.dsm-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.dsm-eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--dsm-accent);margin-bottom:7px}.dsm-title{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.1;color:var(--dsm-text)}.dsm-subtitle{margin:8px 0 0;color:var(--dsm-muted);max-width:760px}.dsm-stats{display:flex;gap:10px;flex-wrap:wrap}.dsm-stat{background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:14px;padding:10px 14px;min-width:105px;box-shadow:0 3px 12px rgba(25,42,70,.04)}.dsm-stat b{display:block;font-size:21px;line-height:1.1}.dsm-stat span{font-size:12px;color:var(--dsm-muted)}
.dsm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:16px;padding:12px;margin-bottom:22px;box-shadow:0 3px 12px rgba(25,42,70,.04)}.dsm-search,.dsm-filter{height:42px;border:1px solid #d8dfeb;border-radius:11px;background:#fff;padding:0 13px;color:var(--dsm-text);font-size:14px}.dsm-search{min-width:260px;flex:1}.dsm-filter{min-width:170px}.dsm-search:focus,.dsm-filter:focus{outline:2px solid rgba(31,95,168,.16);border-color:var(--dsm-accent)}
.dsm-section{margin-top:28px}.dsm-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px}.dsm-section-head h2{font-size:20px;margin:0}.dsm-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 9px;border-radius:99px;background:var(--dsm-accent-soft);color:var(--dsm-accent);font-weight:800;font-size:12px}
.dsm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dsm-person{background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:var(--dsm-radius);overflow:hidden;box-shadow:var(--dsm-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dsm-person:hover{transform:translateY(-3px);box-shadow:0 13px 32px rgba(25,42,70,.12);border-color:#ced9e8}.dsm-person a{text-decoration:none;color:inherit}.dsm-photo{aspect-ratio:4/4.4;background:linear-gradient(135deg,#e8eef8,#f8fafc);overflow:hidden;display:flex;align-items:center;justify-content:center}.dsm-photo img{width:100%;height:100%;object-fit:cover}.dsm-initial{width:82px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dce9f8;color:var(--dsm-accent);font-size:28px;font-weight:900}.dsm-person-body{padding:15px}.dsm-person-name{font-weight:850;font-size:16px;line-height:1.25;margin-bottom:7px}.dsm-meta{color:var(--dsm-muted);font-size:13px;line-height:1.55}.dsm-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.dsm-badge{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;background:#f0f4f9;color:#42536a;font-size:11px;font-weight:700}.dsm-badge.primary{background:var(--dsm-accent-soft);color:var(--dsm-accent)}.dsm-badge.good{background:#e8f6ef;color:var(--dsm-good)}
.dsm-table-card{background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:var(--dsm-radius);overflow:hidden;box-shadow:var(--dsm-shadow)}.dsm-table{width:100%;border-collapse:collapse;margin:0}.dsm-table th{background:#f2f5f9;color:#42536a;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;border-bottom:1px solid var(--dsm-line)}.dsm-table td{padding:12px 14px;border-bottom:1px solid #edf0f5;font-size:14px;vertical-align:middle}.dsm-table tr:last-child td{border-bottom:0}.dsm-table tbody tr:hover{background:#fafbfd}.dsm-table a{font-weight:750;color:var(--dsm-text);text-decoration:none}.dsm-table a:hover{color:var(--dsm-accent)}.dsm-num{width:58px;color:var(--dsm-muted)}
.dsm-year-block{margin-top:26px}.dsm-year-title{display:flex;align-items:center;gap:10px;margin:0 0 14px}.dsm-year-title strong{font-size:22px}.dsm-alumni-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.dsm-alumni-card{display:flex;gap:14px;background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:16px;padding:15px;box-shadow:0 5px 18px rgba(25,42,70,.06)}.dsm-avatar-sm{flex:0 0 62px;width:62px;height:62px;border-radius:14px;overflow:hidden;background:#eaf1fa;display:flex;align-items:center;justify-content:center;color:var(--dsm-accent);font-weight:900}.dsm-avatar-sm img{width:100%;height:100%;object-fit:cover}.dsm-alumni-main{min-width:0;flex:1}.dsm-alumni-name{font-weight:850;line-height:1.2;margin-bottom:6px}.dsm-alumni-name a{text-decoration:none;color:var(--dsm-text)}.dsm-alumni-info{font-size:12.5px;color:var(--dsm-muted);line-height:1.55}.dsm-alumni-info b{color:#3a4659}.dsm-highlight{margin-top:7px;padding-top:7px;border-top:1px dashed var(--dsm-line);color:#43536b}
.dsm-profile{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.dsm-profile-side,.dsm-profile-main{background:var(--dsm-card);border:1px solid var(--dsm-line);border-radius:var(--dsm-radius);box-shadow:var(--dsm-shadow);overflow:hidden}.dsm-profile-photo{aspect-ratio:4/4.6;background:linear-gradient(135deg,#e8eef8,#f8fafc);display:flex;align-items:center;justify-content:center}.dsm-profile-photo img{width:100%;height:100%;object-fit:cover}.dsm-profile-side-body{padding:17px}.dsm-profile-main{padding:24px}.dsm-profile-name{font-size:30px;line-height:1.1;margin:0 0 10px}.dsm-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.dsm-info{border:1px solid var(--dsm-line);border-radius:13px;padding:11px 13px;background:#fbfcfe}.dsm-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dsm-muted);font-weight:800;margin-bottom:3px}.dsm-info-value{font-size:14px;font-weight:700;overflow-wrap:anywhere}.dsm-block{margin-top:24px}.dsm-block h2{font-size:18px;margin:0 0 10px}.dsm-content{line-height:1.75;color:#3e4b5f}.dsm-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;text-decoration:none;color:var(--dsm-accent);font-weight:750}.dsm-empty{background:var(--dsm-card);border:1px dashed #cad4e1;border-radius:16px;padding:28px;text-align:center;color:var(--dsm-muted)}.dsm-hidden{display:none!important}
@media(max-width:960px){.dsm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dsm-alumni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-profile{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:720px){.dsm-public{padding-top:22px}.dsm-hero{align-items:flex-start;flex-direction:column}.dsm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-alumni-grid{grid-template-columns:1fr}.dsm-profile{grid-template-columns:1fr}.dsm-profile-side{max-width:420px;width:100%;margin:auto}.dsm-info-grid{grid-template-columns:1fr}.dsm-table-card{overflow-x:auto}.dsm-table{min-width:560px}}
@media(max-width:480px){.dsm-wrap{width:min(100% - 20px,1180px)}.dsm-grid{grid-template-columns:1fr}.dsm-search,.dsm-filter{width:100%;min-width:0}.dsm-person{display:grid;grid-template-columns:110px 1fr}.dsm-photo{aspect-ratio:auto;height:100%}.dsm-person-body{padding:14px}.dsm-title{font-size:30px}.dsm-profile-main{padding:18px}}

/* GTK modern di beranda — Bridge v1.5.0 */
.dsm-home-gtk{--dsm-bg:#f6f8fb;--dsm-card:#fff;--dsm-text:#172033;--dsm-muted:#68758b;--dsm-line:#e7ebf2;--dsm-accent:#1f5fa8;--dsm-accent-soft:#eaf2fb;--dsm-radius:18px;--dsm-shadow:0 8px 28px rgba(25,42,70,.08);background:linear-gradient(180deg,#f7f9fc 0%,#f3f6fa 100%);padding:42px 0;margin:28px 0 0;color:var(--dsm-text);clear:both}
.dsm-home-gtk *{box-sizing:border-box}.dsm-home-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.dsm-home-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.dsm-home-head h2{font-size:clamp(25px,3.4vw,38px);line-height:1.12;margin:0;color:var(--dsm-text)}.dsm-home-head p{margin:7px 0 0;color:var(--dsm-muted);font-size:14px}.dsm-home-all{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none!important;font-weight:800;color:#fff!important;background:var(--dsm-accent);padding:11px 15px;border-radius:12px;box-shadow:0 5px 16px rgba(31,95,168,.18)}.dsm-home-all:hover{transform:translateY(-1px);filter:brightness(.98)}
.dsm-home-group{margin-top:24px}.dsm-home-group:first-of-type{margin-top:0}.dsm-home-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dsm-home-group-head h3{font-size:18px;line-height:1.2;margin:0;color:var(--dsm-text)}.dsm-home-group-head span{font-size:12px;font-weight:800;color:var(--dsm-accent);background:var(--dsm-accent-soft);padding:5px 9px;border-radius:999px}.dsm-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dsm-home-group-kepala .dsm-home-grid{grid-template-columns:minmax(230px,285px)}.dsm-home-person .dsm-photo{aspect-ratio:4/4.1}.dsm-home-person .dsm-person-body{padding:13px}.dsm-home-person .dsm-person-name{font-size:15px}.dsm-home-person .dsm-meta{font-size:12.5px}.dsm-home-more{margin-top:11px;text-align:right}.dsm-home-more a{font-size:13px;font-weight:800;color:var(--dsm-accent)!important;text-decoration:none!important}
@media(max-width:960px){.dsm-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.dsm-home-gtk{padding:32px 0}.dsm-home-head{align-items:flex-start;flex-direction:column}.dsm-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-home-group-kepala .dsm-home-grid{grid-template-columns:minmax(0,1fr);max-width:360px}.dsm-home-all{width:100%;justify-content:center}}
@media(max-width:480px){.dsm-home-wrap{width:min(100% - 20px,1180px)}.dsm-home-grid{grid-template-columns:1fr}.dsm-home-person{display:grid;grid-template-columns:105px 1fr}.dsm-home-person .dsm-photo{height:100%;aspect-ratio:auto}.dsm-home-person>a{display:contents}.dsm-home-person .dsm-person-body{align-self:center}.dsm-home-group-kepala .dsm-home-grid{max-width:none}}

/* Bridge v1.6.0 — statistik beranda, direktori alumni, form update alumni */
.dsm-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px}.dsm-home-stat{display:flex;flex-direction:column;justify-content:center;min-height:112px;padding:18px 20px;border:1px solid var(--dsm-line);border-radius:18px;background:#fff;box-shadow:var(--dsm-shadow);text-decoration:none!important;color:var(--dsm-text)!important}.dsm-home-stat:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(25,42,70,.12)}.dsm-home-stat-num{font-size:34px;line-height:1;font-weight:900;color:var(--dsm-accent)}.dsm-home-stat-label{margin-top:8px;font-size:13px;font-weight:800;color:var(--dsm-muted);text-transform:uppercase;letter-spacing:.05em}.dsm-home-stats-note{text-align:right;color:var(--dsm-muted);font-size:12px;margin:-18px 2px 25px}
.dsm-toolbar-alumni{display:grid;grid-template-columns:minmax(220px,1fr) 180px 200px;gap:10px}.dsm-year-pills{display:flex;gap:10px;overflow-x:auto;padding:2px 0 14px;margin-bottom:8px}.dsm-year-pill{border:1px solid var(--dsm-line);background:#fff;border-radius:14px;padding:10px 13px;min-width:112px;text-align:left;cursor:pointer;box-shadow:0 3px 12px rgba(25,42,70,.05)}.dsm-year-pill:hover{border-color:#b7cae1;background:#f8fbff}.dsm-year-pill b{display:block;font-size:17px;color:var(--dsm-text)}.dsm-year-pill span{display:block;font-size:11.5px;color:var(--dsm-muted);margin-top:2px}.dsm-profile-link{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:800;color:var(--dsm-accent)!important;text-decoration:none!important}
.dsm-alumni-update{margin-top:24px;background:#fff;border:1px solid var(--dsm-line);border-radius:20px;padding:24px;box-shadow:var(--dsm-shadow)}.dsm-update-head h2{font-size:24px;margin:2px 0 6px;color:var(--dsm-text)}.dsm-update-head p{margin:0 0 18px;color:var(--dsm-muted);line-height:1.6}.dsm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dsm-update-form label{display:block}.dsm-update-form label>span{display:block;font-size:12px;font-weight:800;color:#43536b;margin-bottom:6px}.dsm-update-form input{width:100%;border:1px solid #ccd5e1;border-radius:11px;padding:11px 12px;background:#fff;color:var(--dsm-text);font-size:14px}.dsm-update-form input:focus{outline:0;border-color:#6c9fd3;box-shadow:0 0 0 3px rgba(31,95,168,.1)}.dsm-submit{margin-top:16px;border:0;background:var(--dsm-accent);color:#fff;font-weight:850;border-radius:12px;padding:12px 18px;cursor:pointer}.dsm-submit:hover{filter:brightness(.97)}.dsm-form-note{font-size:11.5px;color:var(--dsm-muted);margin:10px 0 0}.dsm-form-alert{padding:11px 13px;border-radius:11px;margin:0 0 16px;font-weight:700;font-size:13px}.dsm-form-alert.success{background:#e8f6ef;color:#176b43;border:1px solid #bfe7d2}.dsm-form-alert.error{background:#fff1f0;color:#9f2723;border:1px solid #f3c5c2}.dsm-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:900px){.dsm-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-toolbar-alumni{grid-template-columns:1fr 1fr}.dsm-toolbar-alumni .dsm-search{grid-column:1/-1}}
@media(max-width:620px){.dsm-home-stats{grid-template-columns:1fr 1fr;gap:9px}.dsm-home-stat{min-height:92px;padding:14px}.dsm-home-stat-num{font-size:28px}.dsm-home-stats-note{text-align:left;margin-top:-18px}.dsm-toolbar-alumni{grid-template-columns:1fr}.dsm-toolbar-alumni .dsm-search{grid-column:auto}.dsm-form-grid{grid-template-columns:1fr}.dsm-alumni-update{padding:18px}}

/* Bridge v1.8.0 — SMAPA dalam Angka + Prestasi */
.dsm-home-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.dsm-home-stats-actions{display:flex;justify-content:flex-end;margin:-18px 2px 10px}.dsm-home-stats-actions a{font-size:13px;font-weight:850;color:var(--dsm-accent)!important;text-decoration:none!important}
.dsm-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:22px 0}.dsm-kpi{display:flex;flex-direction:column;justify-content:center;min-height:122px;padding:20px;border:1px solid var(--dsm-line);background:#fff;border-radius:18px;box-shadow:var(--dsm-shadow);text-decoration:none!important;color:var(--dsm-text)!important}.dsm-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(25,42,70,.12)}.dsm-kpi b{font-size:36px;line-height:1;font-weight:950;color:var(--dsm-accent)}.dsm-kpi span{margin-top:9px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--dsm-muted)}
.dsm-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.dsm-number-card{background:#fff;border:1px solid var(--dsm-line);border-radius:20px;padding:22px;box-shadow:var(--dsm-shadow)}.dsm-number-card h2{font-size:20px;margin:0 0 16px;color:var(--dsm-text)}.dsm-number-card-wide{margin-top:18px}.dsm-number-bars{display:grid;gap:13px}.dsm-number-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--dsm-muted)}.dsm-number-bar-head b{color:var(--dsm-text)}.dsm-number-track{height:9px;background:#edf1f6;border-radius:999px;overflow:hidden;margin-top:6px}.dsm-number-track span{display:block;height:100%;background:linear-gradient(90deg,#1f5fa8,#4b8ed0);border-radius:999px}.dsm-empty-inline{padding:16px;border-radius:12px;background:#f8fafc;color:var(--dsm-muted);font-size:13px}.dsm-facility-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dsm-facility{background:#f7f9fc;border:1px solid var(--dsm-line);border-radius:16px;padding:16px}.dsm-facility b{display:block;font-size:27px;color:var(--dsm-accent)}.dsm-facility span{display:block;margin-top:5px;font-size:12px;font-weight:800;color:var(--dsm-muted)}.dsm-public-note{font-size:12px;color:var(--dsm-muted);margin-top:18px;text-align:right}
.dsm-home-prestasi{background:#fff;padding:44px 0;color:var(--dsm-text);clear:both}.dsm-prestasi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dsm-prestasi-card{background:#fff;border:1px solid var(--dsm-line);border-radius:18px;overflow:hidden;box-shadow:var(--dsm-shadow);transition:.18s ease}.dsm-prestasi-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(25,42,70,.12)}.dsm-prestasi-card>a{display:block;color:inherit!important;text-decoration:none!important;height:100%}.dsm-prestasi-photo{aspect-ratio:16/10;background:linear-gradient(135deg,#edf4fb,#dceaf8);display:flex;align-items:center;justify-content:center;overflow:hidden}.dsm-prestasi-photo img{width:100%;height:100%;object-fit:cover}.dsm-prestasi-photo>span{font-size:54px;color:#8aafd4}.dsm-prestasi-body{padding:17px}.dsm-prestasi-body h2,.dsm-prestasi-body h3{margin:10px 0 7px;font-size:18px;line-height:1.35;color:var(--dsm-text)}.dsm-prestasi-subject{font-weight:800;color:#33435a;font-size:13px}.dsm-prestasi-meta,.dsm-prestasi-date{font-size:12.5px;color:var(--dsm-muted);margin-top:7px;line-height:1.5}.dsm-toolbar-prestasi{display:grid;grid-template-columns:minmax(240px,1fr) 150px 180px 180px;gap:10px;margin-bottom:20px}.dsm-prestasi-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dsm-prestasi-single{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:28px;background:#fff;border:1px solid var(--dsm-line);border-radius:22px;overflow:hidden;box-shadow:var(--dsm-shadow)}.dsm-prestasi-single-photo{min-height:420px;background:#edf4fb;display:flex;align-items:center;justify-content:center}.dsm-prestasi-single-photo img{width:100%;height:100%;object-fit:cover}.dsm-prestasi-single-photo>span{font-size:80px;color:#8aafd4}.dsm-prestasi-single-body{padding:30px}.dsm-prestasi-single-body h1{font-size:clamp(28px,4vw,44px);line-height:1.12;margin:8px 0;color:var(--dsm-text)}.dsm-prestasi-single-subject{font-size:18px;font-weight:850;color:#43536b;margin:0 0 18px}
@media(max-width:1000px){.dsm-home-stats,.dsm-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dsm-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dsm-toolbar-prestasi{grid-template-columns:1fr 1fr}.dsm-toolbar-prestasi .dsm-search{grid-column:1/-1}}
@media(max-width:820px){.dsm-prestasi-grid,.dsm-prestasi-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-prestasi-single{grid-template-columns:1fr}.dsm-prestasi-single-photo{min-height:260px;max-height:520px}}
@media(max-width:650px){.dsm-home-stats,.dsm-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-number-grid{grid-template-columns:1fr}.dsm-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsm-prestasi-grid,.dsm-prestasi-archive-grid{grid-template-columns:1fr}.dsm-toolbar-prestasi{grid-template-columns:1fr}.dsm-toolbar-prestasi .dsm-search{grid-column:auto}.dsm-public-note{text-align:left}.dsm-kpi b{font-size:30px}}
