.admin-body{background:#f7f8fc;font-size:13px}.sidebar{width:258px;position:fixed;left:0;top:0;bottom:0;background:white;border-right:1px solid var(--border);padding:30px 18px 100px;overflow-y:auto;z-index:25}.sidebar>.brand{padding:0 10px 25px;font-size:23px}.sidebar .brand-icon{width:40px;height:40px;font-size:21px}.brand-accent{color:var(--purple)}.sidebar .brand small{font-size:7px;letter-spacing:1.3px}.sidebar-label{display:block;color:#a09aac;font-size:9px;letter-spacing:1.6px;font-weight:700;margin:25px 16px 12px}.side-link{display:flex;gap:13px;align-items:center;color:#777181;font-size:12px;padding:11px 15px;border-radius:7px;margin-bottom:3px}.side-link i{width:16px;font-size:15px;color:#95909f}.side-link:hover{background:#f8f6fd}.side-link.selected{background:#f0ebfc;color:var(--purple);font-weight:600}.side-link.selected i{color:var(--purple)}.sidebar-bottom{position:fixed;bottom:0;left:0;width:257px;padding:20px;background:#fff;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.avatar{height:37px;width:37px;display:grid;place-items:center;background:#eae4fc;border-radius:50%;color:var(--purple);font-size:14px;font-weight:600}.sidebar-bottom strong{font-size:11px;display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px}.sidebar-bottom form{margin-left:auto}.sidebar-bottom button{background:none;border:0;color:var(--muted)}.admin-main{margin-left:258px}.admin-header{min-height:79px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:relative;z-index:15;font-size:11px}.header-right{display:flex;gap:10px;align-items:center;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:#71b897}.small-avatar{width:31px;height:31px;font-size:11px;margin-left:10px}.admin-content{padding:36px 38px 50px;min-height:calc(100vh - 140px);max-width:1600px;margin:auto}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.admin-heading .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:12px}.admin-heading h1{font-size:31px;margin-bottom:10px}.admin-heading p{font-size:12px;margin:0}.wave{color:#d8a960;font-size:28px}.admin-heading .button{font-size:11px;padding:11px 17px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px 22px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.stat .round-icon{width:35px;height:35px;font-size:16px;border-radius:10px}.stat>strong{display:block;font:600 36px Jost,sans-serif;line-height:1.4;margin:5px 0 15px}.stat>small{display:flex;justify-content:space-between;font-size:10px;color:#8d8799;border-top:1px solid #f0eef5;padding-top:12px}.stat>small>span{color:var(--purple)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:25px;margin-bottom:26px}.admin-body .panel{padding:25px;border-color:#e9e7ef}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.panel-heading h3{font-size:18px;margin:0 0 6px}.panel-heading p{font-size:10px;margin:0}.panel-heading .pill{font-size:9px;white-space:nowrap}.bar-chart{display:flex;flex-direction:column;gap:23px;padding:20px 0 12px}.chart-row{display:grid;grid-template-columns:100px 1fr 25px;align-items:center;gap:15px;font-size:11px;color:var(--muted)}.chart-row>strong{color:var(--ink);text-align:right;font-size:12px}.bar-track{height:12px;background:#f4f1fa;border-radius:4px;overflow:hidden}.bar-track>div{height:100%;background:#a794ed;border-radius:4px;min-width:0}.chart-row:nth-child(2n) .bar-track>div{background:#c0b2ee}.quick-panel{border:1px solid #e3def2;background:#f0ecfa;border-radius:11px;padding:28px 30px;position:relative;overflow:hidden}.quick-panel .eyebrow{font-size:9px;margin-bottom:16px}.quick-panel h2{font-size:32px;line-height:1.2}.quick-panel p{font-size:11px;max-width:290px;line-height:1.8}.quick-panel .button{font-size:10px;padding:9px 15px}.quick-links{margin-top:23px}.quick-links a{display:flex;justify-content:space-between;font-size:10px;padding:10px 0;border-bottom:1px solid #ddd7ed;color:#6a5c86}.activity-panel{margin-top:25px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:normal}th{font-size:9px;color:#9a94a4;background:#faf9fc;font-weight:500;padding:13px 15px;text-transform:uppercase;letter-spacing:.7px}td{padding:18px 15px;border-bottom:1px solid #f0eef4;color:#87818f;font-size:11px}td:first-child{min-width:180px}td strong{font-weight:500;color:#4e485b}td .text-link{font-size:10px}.badge{border-radius:4px;padding:4px 8px;font-size:9px;background:#f1eef9;color:#8b78c0;display:inline-block;white-space:nowrap}.badge.published,.badge.diterima,.badge.selesai{background:#e8f6ef;color:#4d9b77}.badge.baru{background:#fff2dd;color:#b58a43}.badge.ditolak{background:#ffeded;color:#bb6565}.badge.diverifikasi,.badge.dibaca{background:#e9f0ff;color:#6686bd}.row-actions{display:flex;align-items:center;gap:8px}.row-actions .button{font-size:9px;padding:5px 10px}.table-sub{display:block;color:#a29ba9;font-size:10px;margin-top:5px}.filter-form{display:flex;gap:10px;max-width:650px;flex:1}.filter-form input,.filter-form select{margin:0;font-size:11px;padding:9px 12px}.filter-form select{width:145px}.filter-form input{max-width:300px}.filter-form .button{font-size:10px;padding:8px 14px}.pagination{padding-top:20px;font-size:12px}.pagination a,.pagination span{margin-right:12px}.editor-form{max-width:1000px}.edit-image{max-width:240px;max-height:170px;display:block;border-radius:8px;margin-bottom:10px}.submission-data{background:var(--pale);border-radius:8px;padding:25px}.submission-data h3{font-size:18px}.submission-data dl{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:0;font-size:12px}.submission-data dt{color:var(--muted)}.submission-data dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.admin-footer{border-top:1px solid var(--border);padding:18px 38px;font-size:10px;color:#a29aaa;display:flex;justify-content:space-between}.admin-menu-toggle{display:none;background:var(--pale);border:0;padding:5px 9px;border-radius:4px;margin-right:10px}.login-body{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{padding:65px 12%;background:#f2edfb;position:relative;overflow:hidden;min-height:100vh}.login-art h1{font-size:52px;position:relative;z-index:2}.login-art p{font-size:14px;position:relative;z-index:2;max-width:370px}.login-art img{position:absolute;height:47%;width:auto;bottom:-10px;right:0;object-fit:contain;opacity:.8}.login-art .eyebrow{font-size:10px}.login-main{display:grid;place-items:center;padding:45px}.login-card{width:100%;max-width:380px}.login-card>.text-link{display:block;font-size:11px;color:var(--muted);margin-bottom:60px}.login-card .eyebrow{font-size:10px;margin-bottom:15px}.login-card h2{font-size:38px}.login-card p{font-size:13px}.login-card label{margin-bottom:22px}.login-card button{width:100%;margin-top:7px}.login-card .login-note{font-size:10px;text-align:center;margin-top:25px;color:#9c95a5}
@media(max-width:1200px){.sidebar{width:230px;padding-left:12px;padding-right:12px}.sidebar-bottom{width:229px}.admin-main{margin-left:230px}.admin-content{padding:30px 25px}.admin-header{padding:0 25px}.stat-grid{gap:12px}.stat{padding:16px}.stat-top{font-size:9px}.stat .round-icon{width:30px;height:30px}.dashboard-grid{grid-template-columns:1.25fr 1fr;gap:18px}.chart-row{grid-template-columns:75px 1fr 18px;gap:10px;font-size:10px}.quick-panel{padding:24px}.quick-panel h2{font-size:29px}}@media(max-width:950px){.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:215px}.sidebar-bottom{width:214px}.sidebar .brand{font-size:20px;padding-left:5px}.sidebar .brand small{font-size:6px}.side-link{font-size:10px;padding:10px}.admin-main{margin-left:215px}.admin-heading{align-items:flex-start;flex-wrap:wrap}.filter-form{flex-wrap:wrap}.panel-heading{flex-wrap:wrap}.login-art{padding:55px 9%}.login-art h1{font-size:40px}.login-main{padding:35px}.admin-heading h1{font-size:28px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:245px}.sidebar-open .sidebar{transform:translateX(0);box-shadow:20px 0 50px #33264433}.sidebar-bottom{width:244px}.admin-main{margin-left:0}.admin-menu-toggle{display:inline-block}.admin-header{padding:0 18px;min-height:65px;position:sticky;top:0}.admin-header>div:first-child{display:flex;align-items:center}.admin-header .header-right{font-size:0;gap:5px}.admin-content{padding:25px 18px 40px}.admin-heading h1{font-size:27px}.admin-heading .eyebrow{font-size:8px}.stat-grid{gap:12px}.stat{padding:14px}.stat-top{font-size:9px;align-items:flex-start}.stat .round-icon{width:28px;height:28px;font-size:12px}.stat>strong{font-size:30px}.stat>small{font-size:8px}.admin-body .panel{padding:20px}.chart-row{grid-template-columns:85px 1fr 20px}.admin-footer{padding:15px 18px;font-size:8px}.login-body{grid-template-columns:1fr}.login-art{display:none}.login-main{min-height:100vh;padding:35px 25px}.login-card>.text-link{margin-bottom:45px}.filter-form input{max-width:none;flex:1}.filter-form select{width:130px}.filter-form .button{flex:1}.submission-data dl{grid-template-columns:1fr;gap:3px}.submission-data dd{margin-bottom:15px}.panel-heading .muted{font-size:10px}.admin-heading .actions{gap:10px}.admin-heading .button{font-size:10px}}

.website-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.website-tabs a { padding:9px 14px; border:1px solid var(--border); border-radius:7px; background:#fff; font-size:11px; color:var(--muted); }
.website-tabs a.selected { background:var(--purple); color:#fff; border-color:var(--purple); }
.website-editor h2 { font-size:25px; margin-bottom:10px; }
.website-editor .editor-field { min-width:0; }
.website-editor .editor-field>small { display:block; margin-top:8px; }
.website-editor .edit-image { margin-top:12px; background:#f5f3fa; }
.website-editor .checkbox { margin-top:12px; align-items:center; }
.website-editor input[type=color] { height:46px; padding:5px; cursor:pointer; }
.website-editor .field-error { font-size:11px; color:#a33d39; margin:5px 0 0; }
.editor-save { padding-top:20px; border-top:1px solid var(--border); }

.rich-editor{border:1px solid #ccd5e1;border-radius:10px;overflow:hidden;background:white;min-width:0}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:#f3f5fa;border-bottom:1px solid #dbe0ea}.rich-toolbar button{border:1px solid #dbe0ea;border-radius:5px;background:white;color:#26324b;padding:6px 10px;cursor:pointer}.rich-toolbar button:hover,.rich-toolbar button:focus-visible{background:#e8e3ff;outline:2px solid #7c62bb}.rich-content{min-height:150px;max-height:600px;overflow:auto;padding:14px;line-height:1.7;font-weight:400;outline:none;white-space:pre-wrap}.rich-content:focus{box-shadow:inset 0 0 0 2px #8b70cc}.rich-content ul,.rich-content ol{padding-left:28px}.rich-editor textarea[hidden]{display:none}
.rich-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.rich-field small{font-weight:400}.rich-editor{font-size:15px}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.admin-gallery-photo{padding:12px;min-width:0}.admin-gallery-photo>img{width:100%;height:220px;object-fit:cover;border-radius:8px;margin-bottom:12px}.admin-gallery-photo .row-actions{flex-wrap:wrap}.gallery-previews{display:flex;flex-wrap:wrap;gap:12px}.gallery-previews img{width:130px;height:110px;object-fit:cover;border-radius:8px}.gallery-previews:empty{display:none}@media(max-width:1100px){.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-gallery-grid{grid-template-columns:1fr}}
.partner-edit-logo{width:260px;height:160px;object-fit:contain;background:#fff;padding:12px;border:1px solid var(--border);border-radius:8px}
.sidebar .brand{white-space:normal;align-items:center;gap:10px}.admin-school-logo{width:46px;height:54px;object-fit:contain;flex-shrink:0}.admin-school-name{font-size:17px;line-height:1.35;overflow-wrap:anywhere;min-width:0}.sidebar .brand .admin-school-name small{font-size:8px;line-height:1.5;letter-spacing:1px}
