:root{--navy:#07152c;--navy2:#0d2347;--gold:#d9af56;--gold2:#f2d692;--ink:#17223b;--muted:#6c7892;--line:#e7ebf2;--bg:#f4f6fa;--white:#fff;--green:#198765;--red:#c3484b;--blue:#2469d8;--shadow:0 18px 55px rgba(16,35,70,.10);font-family:Inter,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:270px;background:linear-gradient(165deg,#07152c,#0d2347 65%,#122d55);position:fixed;inset:0 auto 0 0;color:white;padding:26px 18px;display:flex;flex-direction:column;z-index:40;box-shadow:10px 0 40px rgba(7,21,44,.12)}.brand{display:flex;align-items:center;gap:13px;padding:0 8px 26px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#fff,#e8edf6);display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.22)}.brand-mark img{width:38px;height:38px;object-fit:contain}.brand b,.brand strong,.brand small{display:block}.brand b{font-size:12px;letter-spacing:2px;color:var(--gold2)}.brand strong{font-family:'Playfair Display';font-size:21px}.brand small{opacity:.65;font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:7px;margin-top:24px}.nav-item{display:flex;gap:13px;align-items:center;padding:12px 14px;border-radius:14px;color:rgba(255,255,255,.72);font-weight:600;font-size:14px;transition:.2s}.nav-item i{font-size:19px;width:24px}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}.nav-item.active{background:linear-gradient(90deg,rgba(217,175,86,.24),rgba(217,175,86,.08));color:#fff;border:1px solid rgba(242,214,146,.25);box-shadow:inset 3px 0 var(--gold)}.side-note{margin-top:auto;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center}.side-note i{color:var(--gold2);font-size:22px}.side-note b,.side-note small{display:block}.side-note b{font-size:13px}.side-note small{font-size:10px;opacity:.65;margin-top:3px}.main-area{margin-left:270px;min-width:0;flex:1;min-height:100vh;display:flex;flex-direction:column}.topbar{height:88px;padding:0 34px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.topbar h1{font-size:22px;margin:3px 0 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--gold);text-transform:uppercase}.eyebrow.gold{color:var(--gold2)}.user-menu{display:flex;align-items:center;gap:11px}.avatar,.student-avatar{display:grid;place-items:center;border-radius:50%;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--navy2),#315b93);box-shadow:0 8px 22px rgba(13,35,71,.2)}.avatar{width:42px;height:42px}.student-avatar{width:68px;height:68px;font-size:24px}.user-copy b,.user-copy small{display:block}.user-copy b{font-size:13px}.user-copy small{font-size:11px;color:var(--muted);margin-top:3px}.icon-btn{border:1px solid var(--line);background:#fff;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}.mobile-menu{display:none}.content{padding:30px 34px;flex:1}.footer{padding:20px 34px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;justify-content:space-between;background:#fff}.hero-card{background:linear-gradient(120deg,var(--navy),#12315d 68%,#1c4478);border-radius:25px;padding:28px 30px;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 55px rgba(7,21,44,.2);position:relative;overflow:hidden;margin-bottom:24px}.hero-card:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-90px;top:-130px;border:40px solid rgba(217,175,86,.1)}.hero-card h2{font-family:'Playfair Display';font-size:30px;margin:8px 0}.hero-card p{margin:0;color:rgba(255,255,255,.7);max-width:660px}.sync-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:13px 16px;border-radius:15px;display:flex;align-items:center;gap:11px;z-index:1}.sync-pill small,.sync-pill b{display:block}.sync-pill small{font-size:10px;color:rgba(255,255,255,.6)}.sync-pill b{font-size:12px;margin-top:3px}.pulse{width:10px;height:10px;background:#4dd5a8;border-radius:50%;box-shadow:0 0 0 6px rgba(77,213,168,.15)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:20px;padding:21px;box-shadow:0 10px 30px rgba(16,35,70,.055);position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:70px;height:70px;background:linear-gradient(145deg,rgba(217,175,86,.16),transparent);border-radius:50%;right:-22px;top:-22px}.metric i{font-size:22px;color:var(--gold)}.metric span,.metric b,.metric small{display:block}.metric span{font-size:12px;color:var(--muted);margin-top:8px}.metric b{font-size:28px;margin-top:5px}.metric small{color:var(--muted);font-size:10px;margin-top:5px}.metric b.small-value{font-size:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.card h3{margin:0 0 16px;font-size:17px}.card p{line-height:1.65;color:#52607a;font-size:13px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.card-head h3{margin:4px 0 0}.accent-card{border-top:4px solid var(--gold)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.quick-grid a{padding:15px;border:1px solid var(--line);border-radius:16px;transition:.2s}.quick-grid a:hover{border-color:#d9af56;transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,35,70,.08)}.quick-grid i{color:var(--gold);font-size:20px;display:block;margin-bottom:8px}.quick-grid b,.quick-grid small{display:block}.quick-grid b{font-size:12px}.quick-grid small{font-size:10px;color:var(--muted);margin-top:4px}.source-list>div{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.source-list>div:last-child{border:none}.source-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.source-icon.ag{background:#e9f1ff;color:#2469d8}.source-icon.gw{background:#fff4dd;color:#b67910}.source-icon.pm{background:#e8f8f2;color:#198765}.source-list b,.source-list small{display:block}.source-list b{font-size:12px}.source-list small{font-size:10px;color:var(--muted);margin-top:3px}.status-dot{margin-left:auto;font-size:10px;color:var(--green);font-weight:700}.student-welcome,.profile-mini,.profile-hero{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 22px;box-shadow:var(--shadow)}.student-welcome h3,.profile-mini h2,.profile-hero h2{margin:6px 0 4px}.student-welcome p,.profile-mini p,.profile-hero p{margin:0;color:var(--muted);font-size:12px}.profile-source{margin-left:auto;color:var(--green);font-size:12px}.badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:700}.badge-gold{background:#fff2d5;color:#98680e}.badge-soft{background:#eef2f8;color:#52607a}.selector{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 16px;margin-bottom:20px;display:flex;gap:15px;align-items:center;box-shadow:0 8px 24px rgba(16,35,70,.05)}.selector label{font-size:12px;font-weight:700}.selector select{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.span-2{grid-column:span 2}label{font-size:12px;font-weight:700;color:#3b4862}input,select,textarea{width:100%;border:1px solid #dfe4ed;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink);font:inherit;font-size:13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,175,86,.12)}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.btn-primary{background:linear-gradient(135deg,var(--navy2),#1b4b86);color:#fff;box-shadow:0 10px 24px rgba(13,35,71,.18)}.btn-secondary{background:#eef2f7;color:#3a4964}.btn-lg{padding:14px 20px;font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--line);font-size:11px;vertical-align:top}th{background:#f7f9fc;color:#647089;font-size:10px;text-transform:uppercase;letter-spacing:.7px}tbody tr:hover{background:#fbfcfe}.block{display:block;color:var(--muted);margin-top:4px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.status-h{background:#e5f7ef;color:#147451}.status-s{background:#fff4d9;color:#9a6a0e}.status-i{background:#e9f1ff;color:#2469d8}.status-a{background:#ffe9e9;color:#b83d42}.score,.points{display:inline-grid;place-items:center;min-width:38px;height:30px;border-radius:10px;font-weight:800}.score.good{background:#e5f7ef;color:#147451}.score.warn{background:#fff1e1;color:#b26710}.points{background:#fff0f0;color:#bd3f45}.detail-list{display:grid;gap:0}.detail-list>div{display:grid;grid-template-columns:145px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.detail-list dt{font-size:11px;color:var(--muted)}.detail-list dd{margin:0;font-size:12px;font-weight:600;line-height:1.5}.schedule-grid{display:grid;grid-template-columns:repeat(6,minmax(175px,1fr));gap:12px;overflow:auto}.day-column{background:#f7f9fc;border-radius:16px;padding:10px;min-height:220px}.day-title{text-transform:uppercase;letter-spacing:1px;font-weight:800;font-size:11px;padding:8px;color:var(--navy2)}.schedule-item{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:12px;margin-bottom:9px}.schedule-item h4{font-size:12px;margin:7px 0}.schedule-item p,.schedule-item small{display:block;font-size:9px;margin:4px 0;color:var(--muted)}.schedule-item i{margin-right:5px}.period{font-size:9px;font-weight:800;color:#93650d}.day-empty{font-size:10px;color:#98a0af;padding:15px 8px}.progress-list{display:grid;gap:18px}.progress-list>div>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.progress{height:8px;background:#edf0f5;border-radius:999px;overflow:hidden;display:block}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:999px}.insight{display:flex;gap:12px;background:#f7f9fc;padding:15px;border-radius:15px;margin-top:20px}.insight i{color:var(--gold);font-size:20px}.insight b{font-size:12px}.insight p{margin:4px 0 0;font-size:11px}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding-bottom:15px}.timeline-item:after{content:"";position:absolute;left:5px;top:13px;bottom:0;width:1px;background:var(--line)}.timeline-dot{width:11px;height:11px;border-radius:50%;margin-top:4px;background:var(--gold);z-index:1}.timeline-dot.presensi{background:#e58b38}.timeline-dot.nilai{background:#2a82dd}.timeline-dot.pelanggaran{background:#c3484b}.timeline-item small,.timeline-item b,.timeline-item p{display:block}.timeline-item small{font-size:9px;color:var(--muted)}.timeline-item b{font-size:11px;margin-top:2px}.timeline-item p{font-size:10px;margin:3px 0;color:var(--muted)}.empty-state{text-align:center;padding:65px 20px;background:#fff;border:1px dashed #d8deea;border-radius:20px;color:var(--muted)}.empty-state i{font-size:38px;color:var(--gold)}.empty-state h3{color:var(--ink);margin:12px 0 5px}.empty-cell{text-align:center;color:var(--muted);padding:30px}.alert{border-radius:13px;padding:12px 14px;margin-bottom:18px;display:flex;gap:9px;align-items:flex-start;font-size:12px}.alert-success{background:#e8f8f2;color:#147451}.alert-danger{background:#ffeded;color:#a7393e}.alert-info{background:#eaf2ff;color:#235ea8}.inline-filter{display:flex;gap:8px;max-width:500px}.role-form select{padding:7px 9px}.actions{display:flex;gap:6px}.login-body{background:var(--navy);min-height:100vh}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-hero{position:relative;overflow:hidden;padding:42px 7vw;color:#fff;background:radial-gradient(circle at 25% 10%,#1b477b 0,#0c2448 35%,#07152c 80%);display:flex;flex-direction:column}.hero-brand{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:1.7px;font-weight:800}.hero-brand img{width:50px;height:50px;background:white;padding:5px;border-radius:15px}.hero-copy{margin:auto 0;max-width:720px;position:relative;z-index:2}.hero-copy h1{font-family:'Playfair Display';font-size:clamp(42px,5vw,70px);line-height:1.02;margin:15px 0 22px}.hero-copy em{font-style:normal;color:var(--gold2)}.hero-copy p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.68);max-width:620px}.feature-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.feature-row span{font-size:11px;padding:10px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05)}.feature-row i{color:var(--gold2);margin-right:6px}.hero-orb{position:absolute;border-radius:50%;border:1px solid rgba(242,214,146,.14)}.orb-one{width:480px;height:480px;right:-220px;top:-180px;box-shadow:0 0 0 70px rgba(217,175,86,.035),0 0 0 140px rgba(217,175,86,.02)}.orb-two{width:180px;height:180px;left:-70px;bottom:-60px;background:rgba(217,175,86,.04)}.login-panel{background:#f7f9fc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.login-card{width:min(430px,100%);background:#fff;padding:38px;border-radius:26px;border:1px solid var(--line);box-shadow:0 30px 90px rgba(7,21,44,.15)}.login-card h2{font-family:'Playfair Display';font-size:31px;margin:8px 0}.login-card>p{color:var(--muted);font-size:12px;margin-bottom:24px}.login-card form{display:grid;gap:10px}.input-icon{position:relative}.input-icon>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a95aa}.input-icon input{padding-left:40px}.peek{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;padding:8px;cursor:pointer}.login-help{display:flex;gap:8px;background:#f4f7fb;border-radius:12px;padding:12px;margin-top:18px;font-size:10px;color:var(--muted)}.login-footer{color:#8a95aa;margin-top:18px}.install-card{width:min(680px,calc(100% - 30px));margin:8vh auto;background:white;padding:38px;border-radius:26px;text-align:center}.install-card img{width:75px}.install-card h1{font-family:'Playfair Display';font-size:35px}.install-card p{color:var(--muted);line-height:1.7}.install-card form{margin:22px}.security-warning{color:var(--red)!important}.sidebar-backdrop{display:none}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.login-wrap{grid-template-columns:1fr}.login-hero{min-height:45vh}.login-panel{padding:30px}.hero-copy h1{font-size:46px}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(7,21,44,.55);z-index:35}.main-area{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 17px;height:76px}.topbar .user-copy{display:none}.content{padding:20px 15px}.footer{padding:18px 15px;gap:10px}.grid-2{grid-template-columns:1fr}.hero-card{align-items:flex-start;gap:20px;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.profile-source{display:none}.detail-list>div{grid-template-columns:110px 1fr}.inline-filter{display:grid;width:100%}.card-head{align-items:flex-start;flex-direction:column}.login-hero{padding:30px 25px;min-height:430px}.login-panel{padding:25px 15px}.login-card{padding:28px 22px}.feature-row{gap:7px}.hero-copy p{font-size:13px}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.topbar h1{font-size:18px}.hero-card h2{font-size:25px}.footer{flex-direction:column}.login-hero{min-height:390px}.hero-copy h1{font-size:37px}.hero-copy p{display:none}.feature-row span:nth-child(3){display:none}}

/* V7: pencarian murid, keamanan password, dan role BK */
.selector.student-finder{align-items:flex-start}.selector-copy{min-width:180px;padding-top:5px}.selector-copy label,.selector-copy small{display:block}.selector-copy small{font-size:10px;color:var(--muted);margin-top:4px}.student-finder-controls{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:9px;align-items:center;flex:1}.student-search-box{position:relative}.student-search-box i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8490a6}.student-search-box input{padding-left:39px}.student-result-count{grid-column:1/-1;color:var(--muted);font-size:10px}.embedded-student-finder{display:grid;grid-template-columns:1fr 1.35fr;gap:9px}.embedded-student-finder .student-result-count{grid-column:1/-1}.password-admin-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(120deg,#07152c,#173b6a);color:#fff;margin-bottom:20px}.password-admin-banner h3{margin:5px 0 7px}.password-admin-banner p{margin:0;color:rgba(255,255,255,.7);max-width:780px}.role-information{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.role-information span{display:flex;align-items:flex-start;gap:9px;background:#f5f8fc;border:1px solid var(--line);border-radius:13px;padding:12px;font-size:10px;line-height:1.6;color:#536078}.role-information i{color:var(--gold);font-size:17px}.admin-user-actions{min-width:132px}.password-page-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(420px,1.35fr);gap:20px}.password-target-head{display:flex;align-items:center;gap:14px;margin:17px 0}.large-avatar{width:58px;height:58px;font-size:20px}.password-target-head h3{margin:0 0 5px}.password-target-head p{margin:0;color:var(--muted)}.security-note{display:flex;gap:10px;align-items:flex-start;background:#e9f7f1;color:#176d50;border-radius:14px;padding:13px;font-size:10px;line-height:1.55;margin-top:16px}.security-note i{font-size:18px}.password-form{display:grid;gap:15px}.password-form .field small{color:var(--muted);font-size:10px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:48px}.password-input-wrap .peek{right:5px}.badge-bk{background:#e9f1ff;color:#245fae}
@media(max-width:1050px){.student-finder-controls{grid-template-columns:1fr}.student-result-count{grid-column:auto}.password-page-grid{grid-template-columns:1fr}.role-information{grid-template-columns:1fr}}
@media(max-width:800px){.selector.student-finder{display:grid}.selector-copy{min-width:0}.embedded-student-finder{grid-template-columns:1fr}.password-admin-banner{align-items:flex-start;flex-direction:column}.student-finder-controls{width:100%}}

/* V9: role Wali Kelas dan penetapan kelas binaan */
.role-assignment-form{display:grid;grid-template-columns:minmax(145px,1fr) minmax(160px,1fr) auto;gap:7px;align-items:center;min-width:470px}.role-assignment-form select:disabled{opacity:.55;background:#f3f5f8}.role-save-btn{padding:10px 12px;white-space:nowrap}.user-role-table td:nth-child(3){min-width:500px}.badge-wali-kelas{background:#e8f8f2;color:#167354}
@media(max-width:1050px){.role-assignment-form{grid-template-columns:1fr 1fr}.role-save-btn{grid-column:1/-1}.user-role-table td:nth-child(3){min-width:360px}}

/* V10: pelaporan mandiri, rekap pelanggaran, dan cetak akun */
.self-report-card{border-top:4px solid #2d8b6c;margin-bottom:20px}.self-report-intro{display:flex;gap:12px;align-items:flex-start;background:#eaf8f3;border:1px solid #cfeadf;border-radius:15px;padding:14px;margin-bottom:17px}.self-report-intro>i{font-size:23px;color:#197456}.self-report-intro b,.self-report-intro small{display:block}.self-report-intro b{font-size:12px}.self-report-intro small{font-size:10px;color:#5d6e69;line-height:1.55;margin-top:4px}.truth-confirm{display:flex;align-items:flex-start;gap:10px;background:#f7f9fc;border:1px solid var(--line);border-radius:13px;padding:12px;font-size:11px;line-height:1.55;cursor:pointer}.truth-confirm input{width:18px;height:18px;flex:0 0 auto;margin:0}.badge-self-report{background:#e8f8f2;color:#167354}.report-actions,.credential-tabs{display:flex;gap:8px;position:relative;z-index:2;flex-wrap:wrap}.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:13px}.report-search-field{grid-column:span 3}.report-filter-submit .btn{width:100%}.status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-summary>div{background:#f7f9fc;border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;align-items:center;justify-content:space-between}.status-summary b{font-size:22px}.category-summary{display:grid;gap:8px}.category-summary>div{display:flex;justify-content:space-between;align-items:center;background:#f7f9fc;border-radius:12px;padding:11px 13px;font-size:11px}.category-summary b{font-size:14px}.compact-report-table th,.compact-report-table td{padding:9px 10px}.print-only{display:none}.report-print-heading{text-align:center;margin-bottom:15px}.report-print-heading h1{font-size:20px;margin:0}.report-print-heading h2{font-size:14px;margin:3px 0}.report-print-heading p{font-size:9px;color:#555}.credential-filter-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:end}.credential-security-note{display:flex;gap:13px;background:#fff5df;border:1px solid #f0dfb6;border-radius:15px;padding:15px;margin:18px 0;color:#71531c}.credential-security-note i{font-size:24px}.credential-security-note b{font-size:12px}.credential-security-note p{font-size:10px;line-height:1.65;margin:5px 0 0;color:#745f37}.credential-print-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px}.credential-print-confirm .truth-confirm{flex:1}.preview-limit-note{font-size:10px;color:var(--muted);margin:12px 0 0}.print-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px 18px;margin-bottom:20px}.print-toolbar b,.print-toolbar small{display:block}.print-toolbar small{font-size:10px;color:var(--muted);margin-top:4px}.credential-print-header{text-align:center;margin:0 0 8mm}.credential-print-header h1{font-size:22px;letter-spacing:1px;margin:0}.credential-print-header h2{font-size:15px;margin:4px 0}.credential-print-header p{font-size:9px;color:#667;margin:3px}.credential-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.credential-card{background:#fff;border:1px solid #cfd7e5;border-radius:16px;padding:14px;min-height:235px;display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:0 10px 28px rgba(16,35,70,.08)}.credential-card:after{content:"";position:absolute;width:120px;height:120px;border:24px solid rgba(217,175,86,.08);border-radius:50%;right:-58px;bottom:-70px}.credential-card-top{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e6eaf1;padding-bottom:9px;position:relative;z-index:1}.credential-school-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#0d2347;color:#f2d692;font-weight:900;font-size:12px}.credential-card-top b,.credential-card-top small{display:block}.credential-card-top b{font-size:9px;letter-spacing:.3px}.credential-card-top small{font-size:7px;color:#748096;margin-top:2px}.credential-number{margin-left:auto;font-size:8px;color:#8791a3}.credential-person{display:flex;gap:11px;align-items:center;padding:13px 0;position:relative;z-index:1}.credential-person-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#eef2f8;color:#173b6a;font-size:20px}.credential-person small,.credential-person span{display:block}.credential-person small{font-size:7px;color:#788397;text-transform:uppercase;letter-spacing:.7px}.credential-person h3{font-size:12px;margin:3px 0;line-height:1.25}.credential-person div>span{font-size:8px;color:#8b661d;font-weight:700}.credential-login{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;position:relative;z-index:1}.credential-login>div{background:#f5f7fb;border-radius:10px;padding:9px}.credential-login dt{font-size:7px;text-transform:uppercase;color:#778397}.credential-login dd{font-size:10px;font-weight:800;margin:3px 0 0;word-break:break-all}.credential-card-footer{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;gap:8px;font-size:7px;color:#58657b;position:relative;z-index:1}.credential-card-footer small{font-size:7px;color:#a06d10}.no-print-shadow{}
@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(2,1fr)}.report-search-field{grid-column:span 1}.credential-filter-form{grid-template-columns:1fr 1fr}.credential-filter-form .field:last-child{grid-column:1/-1}.credential-print-confirm{align-items:flex-start;flex-direction:column}.credential-card-grid{grid-template-columns:1fr}}
@media(max-width:800px){.report-filter-grid{grid-template-columns:1fr}.report-search-field{grid-column:span 1}.status-summary{grid-template-columns:1fr}.credential-filter-form{grid-template-columns:1fr}.report-actions,.credential-tabs{width:100%}.report-actions .btn,.credential-tabs .btn{flex:1}.credential-card-grid{grid-template-columns:1fr}}

@media print{
 @page{size:A4 portrait;margin:9mm}
 body{background:#fff!important}.sidebar,.topbar,.footer,.sidebar-backdrop,.no-print,.report-hero,.credential-hero{display:none!important}.main-area{margin:0!important;min-height:0}.content{padding:0!important}.print-only{display:block!important}.card,.metric{box-shadow:none!important;border-color:#bbb!important}.report-metrics{grid-template-columns:repeat(4,1fr)!important;gap:5px;margin:6px 0}.report-metrics .metric{padding:8px;border-radius:7px}.report-metrics .metric i{font-size:13px}.report-metrics .metric span{font-size:7px;margin-top:3px}.report-metrics .metric b{font-size:14px;margin-top:2px}.report-metrics .metric small{font-size:6px}.report-summary-grid{grid-template-columns:1fr 1fr!important;gap:6px;margin-top:6px}.report-summary-grid .card,.report-detail-card,.content>.card{padding:9px;border-radius:7px;margin-top:6px}.card-head{margin-bottom:6px;display:flex!important;flex-direction:row!important}.card-head h3{font-size:10px;margin:2px 0 0}.eyebrow{font-size:6px}.status-summary>div{padding:6px;border-radius:5px}.status-summary b{font-size:11px}.category-summary{gap:3px}.category-summary>div{padding:4px 6px;font-size:7px}.category-summary b{font-size:8px}.compact-report-table{min-width:0!important}.compact-report-table th,.compact-report-table td{padding:3px 4px;font-size:6.5px}.compact-report-table th{font-size:6px}.compact-report-table .block{font-size:5.8px;margin-top:1px}.badge,.status{font-size:6px;padding:2px 4px}.table-wrap{overflow:visible;border-radius:3px}.report-detail-card{break-before:page}.credential-print-header{margin-bottom:5mm}.credential-print-header h1{font-size:15px}.credential-print-header h2{font-size:10px}.credential-print-header p{font-size:7px}.credential-card-grid{grid-template-columns:repeat(2,1fr)!important;gap:4mm 5mm}.credential-card{min-height:59mm;max-height:59mm;padding:4mm;border-radius:3mm;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.credential-card:nth-child(8n+1){break-before:page}.credential-card:first-child{break-before:auto}.credential-school-mark{width:8mm;height:8mm;border-radius:2mm}.credential-card-top b{font-size:7pt}.credential-card-top small,.credential-number{font-size:5.5pt}.credential-person{padding:3mm 0}.credential-person-icon{width:10mm;height:10mm;border-radius:2.5mm;font-size:13pt}.credential-person small{font-size:5pt}.credential-person h3{font-size:8.5pt;margin:1mm 0}.credential-person div>span{font-size:6pt}.credential-login>div{padding:2.2mm;border-radius:2mm}.credential-login dt{font-size:5pt}.credential-login dd{font-size:7.5pt}.credential-card-footer{font-size:5pt;padding-top:2mm}.credential-card-footer small{font-size:5pt}
}

/* KOP SURAT RESMI V31 - otomatis pada seluruh halaman cetak */
@media print{body::before{content:"";display:block;width:100%;height:38mm;margin:0 auto 4mm;background:url('../img/kop-surat-resmi-smkn1-singosari-v31.png') center top/contain no-repeat;page-break-inside:avoid;break-inside:avoid}}
