:root{
  --purple-950:#10002f;
  --purple-900:#190044;
  --purple-800:#25005f;
  --purple-700:#3d0791;
  --purple-600:#6412c8;
  --purple-500:#861cf1;
  --purple-400:#a95bff;
  --gold:#ffd43b;
  --white:#fff;
  --text:#f8f7ff;
  --muted:#c8c0dc;
  --line:rgba(255,255,255,.13);
  --card:rgba(66,17,129,.42);
  --shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--text);background:linear-gradient(135deg,#10002f 0%,#1a0047 42%,#270061 100%);min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(1270px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,0,39,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:flex;align-items:center;gap:13px;min-width:260px}
.brand-mark{width:57px;height:57px;border-radius:18px;border:2px solid var(--gold);display:grid;place-items:center;font-weight:800;font-size:13px;line-height:1;background:linear-gradient(145deg,#321074,#16003c);box-shadow:0 0 0 5px rgba(255,212,59,.08)}
.brand-mark span{color:var(--gold);font-size:16px}
.brand-logo{width:57px;height:57px;flex:0 0 57px;object-fit:contain;border-radius:14px;display:block;background:rgba(255,255,255,.04)}
.brand-title{font-weight:800;line-height:1.05;letter-spacing:.3px}
.brand-tagline{font-size:10px;color:var(--muted);margin-top:7px}
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav>a,.nav-drop-btn{padding:13px 12px;color:#fff;font-size:13px;font-weight:600;border:0;background:none;cursor:pointer}
.main-nav>a:hover,.nav-drop-btn:hover{color:var(--gold)}
.nav-dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:47px;left:0;min-width:210px;background:#1b0344;border:1px solid rgba(170,91,255,.35);box-shadow:var(--shadow);border-radius:13px;padding:8px}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:11px 13px;border-radius:9px;font-size:13px;color:#eae3f8}
.dropdown-menu a:hover{background:rgba(134,28,241,.25);color:#fff}
.login-btn{background:linear-gradient(135deg,#6f16d5,#941cf4);border-radius:11px!important;padding:12px 16px!important;margin-left:8px;box-shadow:0 8px 20px rgba(134,28,241,.28)}
.mobile-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;border-radius:9px;padding:8px 11px;font-size:20px}

.hero{position:relative;overflow:hidden;padding:85px 0 65px;border-bottom:1px solid var(--line)}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero:before{width:420px;height:420px;background:rgba(125,29,233,.19);left:-180px;top:-120px}
.hero:after{width:520px;height:520px;background:rgba(74,9,161,.25);right:-190px;bottom:-250px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center;position:relative;z-index:1}
.eyebrow{color:var(--gold);font-weight:600;letter-spacing:.3px;font-size:17px}
.hero h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;margin:14px 0 22px;letter-spacing:-2px}
.hero p{max-width:660px;color:#ddd7e9;font-size:16px;line-height:1.8}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:13px 20px;font-weight:700;font-size:13px;border:1px solid rgba(255,255,255,.22);cursor:pointer}
.btn-primary{background:linear-gradient(135deg,#7414dc,#9a20ff);border-color:transparent}
.btn-outline{background:rgba(255,255,255,.03)}
.btn-gold{background:var(--gold);color:#250047;border-color:var(--gold)}
.hero-visual{min-height:420px;border-radius:34px 10px 34px 10px;border:1px solid rgba(255,255,255,.16);overflow:hidden;position:relative;background:linear-gradient(135deg,#4c119b,#160037);box-shadow:var(--shadow)}
.school-illustration{height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;padding:40px;position:relative}
.school-building{width:88%;height:235px;border-radius:12px 12px 5px 5px;background:linear-gradient(#8d79ad 0 22%,#d4c9df 22% 100%);position:relative;box-shadow:0 18px 30px rgba(0,0,0,.3)}
.school-building:before{content:"";position:absolute;left:5%;right:5%;top:-58px;height:70px;background:#6d236f;clip-path:polygon(5% 100%,50% 0,95% 100%);border-bottom:6px solid #ffd43b}
.school-building:after{content:"SD NEGERI 12\\A DUNGALIYO";white-space:pre;text-align:center;position:absolute;top:-33px;left:0;right:0;font-weight:800;font-size:13px;line-height:1.1;color:#fff}
.windows{position:absolute;left:8%;right:8%;bottom:45px;display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.window{height:70px;background:linear-gradient(135deg,#41206c,#6f58a2);border:5px solid #eee8f3;border-radius:4px}
.door{position:absolute;bottom:0;left:calc(50% - 34px);width:68px;height:105px;background:#4a286b;border:6px solid #eee8f3;border-bottom:0}
.flag{position:absolute;right:15%;top:30px;width:3px;height:115px;background:#eee}
.flag:after{content:"";position:absolute;top:0;left:2px;width:62px;height:35px;background:linear-gradient(#f33 50%,#fff 50%)}
.hero-badge{position:absolute;left:25px;bottom:25px;background:rgba(19,0,50,.82);border:1px solid rgba(255,255,255,.18);border-radius:15px;padding:13px 17px;font-size:12px}
.hero-badge strong{display:block;font-size:18px;color:var(--gold)}

.stats{padding:18px 0;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.stat{background:linear-gradient(145deg,rgba(94,19,168,.5),rgba(37,0,95,.72));border:1px solid var(--line);border-radius:13px;padding:19px 18px;display:flex;gap:13px;align-items:center}
.stat-icon{font-size:26px}
.stat strong{font-size:23px;display:block}.stat span{font-size:11px;color:var(--muted);display:block}.stat small{font-size:10px;color:#ddd}

.section{padding:65px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.section-title{margin:0;font-size:27px;border-left:4px solid var(--gold);padding-left:12px}
.section-sub{color:var(--muted);margin:7px 0 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:rgba(45,5,91,.6);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.card-img{height:170px;background:linear-gradient(135deg,#6121a4,#b26bff);display:grid;place-items:center;font-size:45px}
.card-body{padding:19px}
.card h3{margin:0 0 8px;font-size:17px}.card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.meta{font-size:10px;color:#bda8da;margin-bottom:8px}.tag{display:inline-block;padding:5px 9px;background:rgba(134,28,241,.28);color:#d9b5ff;border-radius:20px;font-size:10px;margin-top:13px}
.announcement{background:rgba(35,4,76,.66);border:1px solid var(--line);border-radius:17px;padding:18px}
.announce-row{display:flex;gap:15px;padding:15px 5px;border-bottom:1px solid var(--line)}.announce-row:last-child{border-bottom:0}
.date-box{min-width:54px;height:54px;border-radius:10px;background:#6e17d2;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:800}.date-box strong{font-size:17px}
.news-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:25px}

.page-banner{padding:65px 0 40px;background:radial-gradient(circle at 80% 20%,rgba(134,28,241,.35),transparent 35%),linear-gradient(135deg,#1b0048,#290064);border-bottom:1px solid var(--line)}
.page-banner h1{font-size:44px;margin:8px 0}.breadcrumb{color:#bda8da;font-size:12px}.content-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:26px}.content-card{background:rgba(39,6,80,.65);border:1px solid var(--line);border-radius:17px;padding:27px}.content-card h2{margin-top:0}.content-card p,.content-card li{color:#d4cde1;line-height:1.85;font-size:14px}
.link-list{display:grid;gap:12px}.work-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(94,19,168,.2);transition:.2s}.work-link:hover{transform:translateY(-2px);background:rgba(134,28,241,.3);border-color:rgba(169,91,255,.5)}.work-link span{color:#fff;font-weight:600;font-size:13px}.work-link small{color:#bcaed0;display:block;margin-top:3px;font-size:10px}.arrow{color:var(--gold);font-size:18px}
.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.program-card{padding:22px;border:1px solid var(--line);background:rgba(56,8,111,.55);border-radius:15px}.program-card .icon{font-size:30px}.program-card h3{margin:10px 0 6px}.program-card p{font-size:12px;color:var(--muted);line-height:1.7}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:grid;gap:7px}.field label{font-size:12px;color:#d8cde9}.field input,.field textarea,.field select{width:100%;padding:12px 13px;background:#19003f;border:1px solid var(--line);border-radius:10px;color:#fff;outline:none}.field textarea{min-height:130px;resize:vertical}
.login-box{max-width:510px;margin:auto}.notice{padding:13px 15px;border-radius:10px;background:rgba(255,212,59,.08);border:1px solid rgba(255,212,59,.2);color:#e9ddbf;font-size:12px;margin-bottom:16px}
.cta-strip{margin-top:30px;border:1px solid rgba(169,91,255,.3);background:linear-gradient(135deg,rgba(105,18,210,.55),rgba(47,4,97,.7));border-radius:20px;padding:27px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cta-strip h3{margin:0 0 5px}.cta-strip p{margin:0;color:var(--muted);font-size:12px}
.site-footer{margin-top:30px;border-top:1px solid var(--line);background:#10002e}.footer-grid{padding:42px 0;display:grid;grid-template-columns:1.5fr .8fr .9fr 1fr;gap:35px}.footer-grid h4{margin:0 0 13px}.footer-grid a{display:block;color:#c9bfdc;font-size:12px;margin:9px 0}.footer-grid p{color:#c9bfdc;font-size:12px;line-height:1.6}.muted{color:var(--muted)!important}.socials{display:flex;align-items:center;gap:9px;margin-top:14px}.socials a.social-btn{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0;color:#fff;text-decoration:none;box-sizing:border-box;transition:transform .18s ease,border-color .18s ease,background .18s ease}.socials a.social-btn:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06)}.socials a.social-btn svg{width:16px;height:16px;display:block;fill:currentColor;stroke:currentColor;stroke-width:0}.socials a.social-btn svg rect{fill:none;stroke:currentColor;stroke-width:1.8}.socials a.social-btn svg circle{fill:none;stroke:currentColor;stroke-width:1.8}.socials a.social-btn svg circle.fill{fill:currentColor;stroke:none}.footer-bottom{border-top:1px solid var(--line);padding:15px 0;color:#9e91b7;font-size:10px}
.empty{text-align:center;padding:60px 20px;color:var(--muted)}
.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:#23005a;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow);padding:14px 17px;border-radius:11px;font-size:12px;display:none}

@media(max-width:1050px){
  .main-nav>a,.nav-drop-btn{padding:11px 7px;font-size:11px}
  .brand{min-width:auto}.stats-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:350px}.content-grid,.news-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .mobile-toggle{display:block}.main-nav{display:none;position:absolute;left:24px;right:24px;top:82px;background:#17003c;border:1px solid var(--line);border-radius:14px;padding:10px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}.main-nav>a,.nav-drop-btn{display:block;width:100%;text-align:left}.nav-dropdown{width:100%}.dropdown-menu{position:static;display:none;margin:4px 0;background:rgba(134,28,241,.08);box-shadow:none}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown.open .dropdown-menu{display:block}.login-btn{margin:7px 0 0!important;text-align:center!important}
  .stats-grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.program-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .container{width:min(100% - 30px,1270px)}.brand-title{font-size:12px}.brand-mark{width:47px;height:47px}.hero{padding:55px 0}.hero h1{font-size:40px}.hero-visual,.school-illustration{min-height:300px}.school-building{height:170px}.windows{bottom:30px}.window{height:50px}.door{height:75px}.footer-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.section{padding:45px 0}.page-banner h1{font-size:35px}
}

/* Kurikulum */
.kurikulum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.kurikulum-card{min-height:250px}.kurikulum-icon{font-size:42px;margin-bottom:8px}.doc-list{margin-top:16px;display:grid;gap:10px}.doc-item{border:1px solid #e7e9ee;border-radius:12px;padding:12px;background:#fff}.doc-item strong{display:block}.doc-item small{display:block;color:#697386;margin-top:4px}.doc-item p{margin:7px 0;font-size:13px;color:#596273}.doc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.btn-sm{padding:8px 12px;font-size:12px}.btn-danger{background:#b42318;color:#fff;border:0}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{background:#fff;border-radius:18px;padding:24px;max-width:760px;width:100%;max-height:90vh;overflow:auto;position:relative}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.modal-card h2{margin-top:0}.modal-card textarea{min-height:100px}.modal-card small{display:block;color:#667085;margin-top:5px}@media(max-width:820px){.kurikulum-grid{grid-template-columns:1fr}.kurikulum-card{min-height:auto}.doc-actions .btn{flex:1;text-align:center;min-width:90px}.modal-card{padding:20px}}

/* Admin Dashboard */
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin-bottom:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,rgba(92,16,176,.45),rgba(35,4,76,.65))}
.admin-kicker{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800}.admin-topbar h2{margin:5px 0}.admin-topbar .actions{margin-top:0}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.admin-stat{padding:22px;border:1px solid var(--line);border-radius:15px;background:rgba(39,6,80,.65)}.admin-stat strong{display:block;font-size:28px}.admin-stat span{color:var(--muted);font-size:12px}
.admin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.admin-list{display:grid;gap:10px}.admin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(56,8,111,.35)}.admin-row strong{display:block;font-size:13px}.admin-row small{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:4px}.admin-row p{font-size:12px;color:#d4cde1;line-height:1.6;margin:9px 0 0;white-space:pre-wrap}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.role-pill{color:var(--gold)}.admin-topbar .btn-danger,.admin-row .btn-danger{background:#b42318;color:#fff;border:0}
@media(max-width:820px){.admin-topbar,.admin-grid{grid-template-columns:1fr;display:grid}.admin-stats{grid-template-columns:1fr}.admin-row{flex-direction:column}.admin-row-actions{justify-content:flex-start}.admin-topbar .actions{flex-wrap:wrap}}

.cms-content h2,.cms-content h3{margin-top:0}.cms-content p,.cms-content li{line-height:1.8;color:#d8d1e6}.cms-content a{color:var(--gold)}.cms-content img{max-width:100%;border-radius:12px}.cms-content table{width:100%;border-collapse:collapse}.cms-content td,.cms-content th{padding:10px;border:1px solid var(--line)}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(25,0,63,.7)}.admin-tabs button{border:1px solid var(--line);background:transparent;color:#ddd;padding:10px 13px;border-radius:9px;cursor:pointer;font:inherit;font-size:11px}.admin-tabs button.active,.admin-tabs button:hover{background:rgba(134,28,241,.35);color:#fff}.admin-thumb{width:76px;height:56px;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px}.cms-content{overflow-wrap:anywhere}.cms-content h2{margin-top:0}.cms-content h3,.cms-content h4{margin-top:24px}.cms-content p,.cms-content li{color:#d8d1e6;line-height:1.85;font-size:14px}.cms-content a{color:var(--gold)}.cms-content img{max-width:100%;height:auto;border-radius:12px}.cms-content table{width:100%;border-collapse:collapse}.cms-content th,.cms-content td{border:1px solid var(--line);padding:9px;text-align:left}.card-img img{width:100%;height:100%;object-fit:cover}.admin-row .admin-thumb{flex:none}@media(max-width:820px){.admin-tabs{overflow:auto;flex-wrap:nowrap}.admin-tabs button{white-space:nowrap}.admin-row .admin-thumb{width:100%;height:150px}}

/* V5 CMS */
.brand-mark img{width:52px;height:52px;object-fit:contain;border-radius:10px}.hero-upload-image{width:100%;max-width:560px;max-height:420px;object-fit:cover;border-radius:24px;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.admin-tabs button{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(35,4,76,.7);color:#fff;cursor:pointer}.admin-tabs button.active{background:#6a20bd}.admin-thumb{width:88px;height:68px;object-fit:cover;border-radius:10px;flex:none}.admin-thumb.portrait{width:70px;height:88px;object-fit:cover}.upload-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.upload-card{border:1px dashed var(--line);padding:14px;border-radius:12px;background:rgba(25,4,54,.35)}.upload-card label{display:block;font-weight:700;font-size:12px;margin-bottom:8px}.upload-card img,.form-preview{display:block;max-width:100%;max-height:180px;object-fit:contain;border-radius:10px;margin:8px 0}.visual-editor-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;color:#17111f}.editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid #ddd;background:#f3f3f3}.editor-toolbar button{border:1px solid #ccc;background:#fff;padding:6px 9px;border-radius:6px;cursor:pointer;color:#222}.visual-editor{min-height:260px;padding:15px;outline:none}.visual-editor img{max-width:100%;height:auto}.visual-editor table{border-collapse:collapse;width:100%;margin:12px 0}.visual-editor td,.visual-editor th{border:1px solid #aaa;padding:8px}.gtk-public{margin-top:24px}.org-chart{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:25px}.org-node{text-align:center}.org-card{min-width:190px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(39,6,80,.72);box-shadow:0 10px 25px rgba(0,0,0,.12)}.org-card img,.org-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}.org-card span{font-size:11px;color:var(--muted)}.org-children{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:18px;padding-top:18px;border-top:2px solid rgba(255,255,255,.18)}
@media(max-width:700px){.upload-preview-grid{grid-template-columns:1fr}.admin-tabs button{flex:1 1 auto}.hero-upload-image{max-height:300px}}

.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}
.upload-card{display:grid;gap:10px}
.upload-card input[type=file]{width:100%}

/* V11.5 GTK profile layout - full width, photo + information side by side */
.gtk-public.cards{display:grid;grid-template-columns:1fr;gap:22px;margin-top:28px}
.gtk-profile-card{width:100%;display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(48,7,100,.72),rgba(27,2,62,.62));box-shadow:var(--shadow)}
.gtk-profile-photo{width:230px;height:280px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center}
.gtk-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.gtk-placeholder{font-size:64px;opacity:.75}
.gtk-profile-info{min-width:0;padding:2px 0}
.gtk-label{font-size:11px;letter-spacing:1.3px;color:var(--gold);font-weight:700;margin:0 0 7px}
.gtk-profile-info h3{font-size:27px;line-height:1.25;margin:0 0 24px}
.gtk-position{font-size:18px;font-weight:700;margin:0 0 25px}
.gtk-description{font-size:15px;line-height:1.9;color:#ddd5e8;margin:0;text-align:justify;text-justify:inter-word;white-space:pre-line;max-width:none}
.gtk-profile-info h3,
.gtk-position,
.gtk-description{overflow-wrap:anywhere}
@media(max-width:820px){
  .gtk-profile-card{grid-template-columns:190px minmax(0,1fr);gap:24px;padding:22px}
  .gtk-profile-photo{width:190px;height:245px}
  .gtk-profile-info h3{font-size:22px}
  .gtk-position{font-size:16px}
  .gtk-description{font-size:14px;line-height:1.8}
}
@media(max-width:560px){
  .gtk-profile-card{grid-template-columns:1fr;gap:18px;padding:20px}
  .gtk-profile-photo{width:175px;height:220px}
  .gtk-profile-info{padding:0}
  .gtk-profile-info h3{font-size:20px;margin-bottom:18px}
  .gtk-position{margin-bottom:20px}
}


/* ==========================================================
   V11.5 - Struktur Organisasi sesuai contoh
   ========================================================== */
.org-chart{width:100%;margin-top:28px;overflow-x:auto;padding:8px 0 20px}
.org-structure-v115{width:min(100%,980px);margin:0 auto;padding:4px 8px 24px;display:flex;flex-direction:column;align-items:center;color:#f8f4ff}
.org-top-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:42px;align-items:start;position:relative}
.org-main-column{min-width:0;display:flex;flex-direction:column;align-items:center}
.org-committee-column{position:relative;padding-top:0;display:flex;justify-content:flex-start}
.org-card{box-sizing:border-box;min-width:0;width:100%;display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:linear-gradient(135deg,rgba(52,8,101,.92),rgba(31,4,67,.88));box-shadow:0 10px 24px rgba(0,0,0,.16);text-align:left}
.org-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.org-card-label{font-size:10px;letter-spacing:.8px;font-weight:800;color:var(--gold);text-transform:uppercase}
.org-card strong{font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.org-card span{font-size:12px;color:#d9d0e7;line-height:1.35}
.org-photo{width:82px;height:100px;flex:0 0 82px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.org-photo img{width:100%;height:100%;object-fit:cover;display:block}
.org-avatar{width:100%;height:100%;display:grid;place-items:center;font-size:30px}
.principal-card{max-width:420px;background:linear-gradient(135deg,rgba(42,91,157,.22),rgba(39,6,80,.82));border-color:rgba(120,184,255,.45)}
.committee-card{max-width:270px;background:linear-gradient(135deg,rgba(25,109,85,.20),rgba(39,6,80,.82));border-color:rgba(84,202,163,.42)}
.tu-card{width:calc(50% - 10px);max-width:310px;background:linear-gradient(135deg,rgba(96,60,180,.22),rgba(39,6,80,.82));border-color:rgba(157,128,255,.42)}
.org-tu-row{width:100%;display:flex;justify-content:center;gap:20px}
.org-connector{position:relative}
.org-connector-down{height:28px;width:2px;background:rgba(255,255,255,.48)}
.org-connector-down:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(255,255,255,.62)}
.org-coordination{position:absolute;left:-42px;top:47px;font-size:10px;color:#d9d0e7;white-space:nowrap}
.org-coordination:after{content:"";position:absolute;left:100%;top:50%;width:42px;border-top:1px dashed rgba(255,255,255,.45)}
.org-teachers-group{width:100%;border:1px dashed rgba(255,255,255,.20);border-radius:14px;padding:16px 18px 18px;background:rgba(255,255,255,.025);position:relative}
.org-group-title{font-size:13px;font-weight:800;color:#fff;margin:0 0 12px}
.org-teacher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.teacher-card{flex-direction:column;align-items:center;text-align:center;padding:13px 10px;gap:8px;background:rgba(245,241,229,.08);border-color:rgba(255,255,255,.18);box-shadow:none}
.teacher-card .org-card-copy{align-items:center;text-align:center}
.teacher-card .org-photo{width:78px;height:92px;flex-basis:92px;border-radius:9px}
.teacher-card .org-card-label{display:none}
.teacher-card strong{font-size:14px}
.teacher-card span{font-size:11px}
.org-students{min-width:220px;text-align:center;padding:12px 28px;border:1px solid rgba(255,151,125,.55);border-radius:10px;background:rgba(174,69,45,.18);color:#ffd8cd;font-weight:800;font-size:15px}
.org-empty-slot{width:100%;box-sizing:border-box;padding:18px;border:1px dashed rgba(255,255,255,.22);border-radius:12px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:820px){
  .org-top-row{grid-template-columns:minmax(0,1fr) 230px;gap:22px}
  .org-card{gap:11px;padding:11px}
  .org-photo{width:68px;height:84px;flex-basis:68px}
  .org-card strong{font-size:14px}
  .org-card span{font-size:11px}
  .org-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .org-coordination{left:-25px}
  .org-coordination:after{width:25px}
}
@media(max-width:620px){
  .org-structure-v115{min-width:650px}
  .org-chart{padding-bottom:12px}
}

/* Narasi/pernyataan: rata kiri-kanan */
.cms-content p,
.cms-content li,
.gtk-description,
.card-body > p,
.work-link small,
.about-copy p,
.narrative,
.description,
.deskripsi,
.sambutan,
.moto{ text-align:justify; text-justify:inter-word; }


/* V12 SPMB */
.spmb-wrap{max-width:1100px;margin:0 auto}
.spmb-status{border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:20px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.spmb-status strong{font-size:15px}.spmb-status span{font-size:12px;color:var(--muted)}
.spmb-open{background:rgba(40,150,80,.12)}.spmb-closed{background:rgba(180,50,50,.1)}
.spmb-closed-card{text-align:center;padding:60px 25px}.spmb-lock-icon{font-size:52px;margin-bottom:12px}.spmb-closed-card h2{margin:0 0 10px}
.spmb-form{background:rgba(39,6,80,.65);border:1px solid var(--line);border-radius:17px;padding:25px}
.spmb-section{padding:22px 0;border-bottom:1px solid var(--line)}.spmb-section:first-child{padding-top:5px}.spmb-section:last-of-type{border-bottom:0}
.spmb-section h3{margin:0 0 18px;font-size:17px}.spmb-note{margin-top:15px}
.spmb-form .field textarea{resize:vertical}.spmb-upload-grid{grid-template-columns:repeat(2,1fr)}
.spmb-consent{margin:22px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:rgba(94,19,168,.15);font-size:13px}
.spmb-consent label{display:flex;gap:10px;align-items:flex-start}.spmb-consent input{margin-top:3px}
.spmb-submit{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.spmb-submit .muted{font-size:12px}
.spmb-admin-badge{padding:8px 12px;border-radius:20px;font-size:11px;font-weight:800}.spmb-admin-badge.is-open{background:rgba(40,150,80,.18)}.spmb-admin-badge.is-closed{background:rgba(180,50,50,.16)}
.spmb-control-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;border:1px solid var(--line);border-radius:15px;background:rgba(94,19,168,.14)}
.spmb-control-card p{margin:6px 0 0}.spmb-detail dl{display:grid;grid-template-columns:210px 1fr;gap:8px 15px;margin:0 0 22px}.spmb-detail dt{font-weight:700;color:#cdbde1}.spmb-detail dd{margin:0;color:#eee;word-break:break-word}.spmb-detail h4{margin:22px 0 12px}
.spmb-file-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:700px){.spmb-form{padding:17px}.spmb-upload-grid{grid-template-columns:1fr}.spmb-control-card{align-items:flex-start;flex-direction:column}.spmb-detail dl{grid-template-columns:1fr;gap:3px}.spmb-detail dd{margin-bottom:9px}}

/* V12.2 - SPMB export & readable admin modal */
.spmb-export-actions{display:flex;gap:8px;flex-wrap:wrap}.menu-settings-card{background:rgba(94,19,168,.08)!important}.modal-card .spmb-detail dt{color:#5b3b78}.modal-card .spmb-detail dd{color:#344054}.modal-card .spmb-detail h4{color:#3d1f5f}.modal-card .spmb-file-row{color:#344054}.modal-card .spmb-file-row a{color:#5b21b6}
/* V12.3 - SPMB nomor pendaftaran, status, bukti cetak */
.spmb-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;white-space:nowrap}.status-baru{background:#fff4cc;color:#7a4d00}.status-diterima{background:#dcfce7;color:#166534}.status-cadangan{background:#dbeafe;color:#1d4ed8}.status-tidak{background:#fee2e2;color:#b42318}
.spmb-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:#f7f4fb;border:1px solid #e6def0;border-radius:14px;padding:14px;margin-bottom:18px}.spmb-detail-head>div{display:flex;flex-direction:column;gap:4px}.spmb-detail-head strong{font-size:18px;color:#3d1f5f}.spmb-detail-head select{padding:9px 12px;border:1px solid #d0c4df;border-radius:9px;background:#fff}.spmb-detail-actions{margin-top:20px;display:flex;justify-content:flex-end}.spmb-receipt{margin-top:20px;padding:20px;border:1px solid #b9a1d6;border-radius:16px;background:#faf7ff;display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center}.receipt-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;color:#6b21a8}.spmb-receipt h3{margin:5px 0}.spmb-receipt p{margin:0;color:#667085}.receipt-number{font-size:19px;font-weight:800;color:#4c1d95;background:#fff;border:1px dashed #a78bfa;border-radius:10px;padding:12px 14px}.receipt-meta{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr 70px 1fr;gap:8px 12px;padding-top:10px;border-top:1px solid #e5d9f0}.receipt-meta span{color:#667085;font-size:13px}.receipt-meta strong{font-size:13px}.spmb-receipt .btn{grid-column:1/-1;justify-self:start}
@media(max-width:700px){.spmb-detail-head{flex-direction:column}.spmb-receipt{grid-template-columns:1fr}.receipt-number{grid-column:auto}.receipt-meta{grid-template-columns:1fr}.spmb-receipt .btn{width:100%}}
