:root{
  --bg:#eef7f4;--card:#ffffff;--ink:#14213d;--muted:#64748b;--primary:#0f766e;--primary2:#10b981;--accent:#f6c445;--danger:#ef4444;--soft:#ecfeff;--line:#dbe7e4;--shadow:0 18px 45px rgba(15,118,110,.12);--radius:24px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#d5fff4 0,#f7fbff 32%,#eef7f4 74%);min-height:100vh}
a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(160deg,#082f49,#064e3b 54%,#0f766e);color:#fff;padding:22px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-logo{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#facc15,#ffffff,#5eead4);display:grid;place-items:center;color:#082f49;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.25)}.brand h1{font-size:18px;line-height:1.1;margin:0}.brand p{margin:4px 0 0;color:#cffafe;font-size:12px}.nav-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a7f3d0;margin:20px 10px 8px}.nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:#e8fffb;margin:4px 0;font-size:14px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}.main{padding:24px 30px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.page-title h2{margin:0;font-size:28px}.page-title p{margin:6px 0 0;color:var(--muted)}.user-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:8px 12px;box-shadow:var(--shadow)}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:white;font-weight:800;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.88);border:1px solid rgba(219,231,228,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;backdrop-filter:blur(10px)}.card h3{margin:0 0 12px;font-size:18px}.stat{position:relative;overflow:hidden}.stat b{font-size:32px;display:block}.stat span{color:var(--muted)}.stat:after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,rgba(16,185,129,.16),rgba(246,196,69,.18))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:var(--primary);color:#fff;padding:10px 14px;font-weight:700;cursor:pointer;box-shadow:0 12px 24px rgba(15,118,110,.18);line-height:1}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#0f172a}.btn.light{background:#e6fffa;color:#0f766e;box-shadow:none}.btn.warn{background:var(--accent);color:#14305a}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;border-radius:11px;font-size:12px}.form{display:grid;gap:13px}.form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}label{font-weight:700;font-size:13px;color:#334155}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(20,184,166,.16);border-color:#2dd4bf}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px;vertical-align:top}th{background:#f8fafc;color:#334155}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#dcfce7;color:#166534;font-weight:800;font-size:12px}.badge.gray{background:#f1f5f9;color:#475569}.badge.gold{background:#fef3c7;color:#92400e}.badge.red{background:#fee2e2;color:#991b1b}.alert{border-radius:16px;padding:12px 14px;margin-bottom:14px;font-weight:650}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.alert.info{background:#e0f2fe;color:#075985}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#ccfbf1,transparent 28%),linear-gradient(135deg,#052e16,#0f766e 56%,#facc15)}.auth-card{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;border-radius:34px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.28);background:#fff}.auth-hero{padding:42px;background:linear-gradient(145deg,#083344,#065f46);color:#fff;position:relative}.auth-hero:after{content:"";position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border-radius:60px;background:rgba(250,204,21,.28);transform:rotate(25deg)}.auth-hero h1{font-size:42px;line-height:1;margin:0 0 10px}.auth-hero p{color:#d1fae5;font-size:16px}.auth-form{padding:42px}.friend-card{border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.cover{height:170px;background:linear-gradient(135deg,#0f766e,#67e8f9,#facc15);background-size:cover;background-position:center}.profile-main{padding:0 22px 22px}.profile-photo{width:118px;height:118px;border-radius:32px;margin-top:-58px;background:#fff;border:6px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.18);overflow:hidden;display:grid;place-items:center;font-size:34px;font-weight:900;color:#0f766e}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-main h2{margin:12px 0 4px}.skill-tag{display:inline-block;margin:3px 4px 3px 0;padding:6px 10px;border-radius:999px;background:#ecfeff;color:#155e75;font-weight:700;font-size:12px}.portfolio-item{padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;margin-bottom:10px}.progress{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-area textarea{font-family:Consolas,Monaco,monospace;min-height:210px;background:#0f172a;color:#d1fae5;border-color:#1e293b}.preview-frame{width:100%;height:520px;background:#fff;border:1px solid var(--line);border-radius:18px}.exam-question{border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px;background:#fff}.muted{color:var(--muted)}.mt{margin-top:18px}.mb{margin-bottom:18px}.text-right{text-align:right}.public-profile{max-width:1080px;margin:0 auto;padding:26px}.mobile-toggle{display:none}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:18px}.grid-2,.grid-3,.grid-4,.form-row,.auth-card,.code-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.auth-hero h1{font-size:32px}.sidebar .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav-title{grid-column:1/-1}}




.profile-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.profile-comments{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.92));}
.profile-comments:before{content:"";position:absolute;right:-70px;top:-70px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.15),transparent 68%);pointer-events:none}
.profile-comments h3{margin-bottom:4px}.comment-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;position:relative}.comment-form{display:grid;gap:10px;margin:14px 0 18px;position:relative}.comment-form textarea{min-height:92px;background:#fff;border:1px solid #cde7e1;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.comment-list{display:grid;gap:12px;margin-top:14px;position:relative}.comment-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;padding:14px;border:1px solid rgba(15,118,110,.12);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f6fffd);box-shadow:0 12px 28px rgba(15,118,110,.08);overflow:hidden}.comment-avatar{width:52px;height:52px;min-width:52px;max-width:52px;min-height:52px;max-height:52px;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,var(--primary),#38bdf8,var(--accent));display:grid;place-items:center;color:#fff;font-weight:900;border-radius:18px;border:3px solid #fff;box-shadow:0 8px 18px rgba(15,118,110,.22),0 0 0 1px rgba(15,118,110,.14);position:relative;line-height:1}.comment-avatar:after{content:"";position:absolute;inset:0;border-radius:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);pointer-events:none}.comment-avatar img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;display:block;border-radius:14px}.comment-body{min-width:0}.comment-body p{margin:8px 0 0;line-height:1.55;overflow-wrap:anywhere}.comment-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.comment-name{font-weight:900;color:var(--primary)}.comment-meta small{display:block;margin-top:3px}@media(max-width:640px){.comment-head,.comment-meta{flex-direction:column}.comment-item{grid-template-columns:44px minmax(0,1fr);padding:12px}.comment-avatar{width:44px;height:44px;min-width:44px;max-width:44px;min-height:44px;max-height:44px;border-radius:15px}}


.auth-card-wide{width:min(1080px,100%)}
.auth-tabs{display:flex;gap:8px;margin-bottom:18px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;padding:6px}
.auth-tabs a{flex:1;text-align:center;border-radius:12px;padding:10px 12px;font-weight:900;color:#475569}
.auth-tabs a.active{background:#fff;color:var(--primary);box-shadow:0 10px 24px rgba(15,118,110,.12)}
.register-hero{background:radial-gradient(circle at 15% 15%,rgba(250,204,21,.35),transparent 28%),linear-gradient(145deg,#052e16,#075985 60%,#0f766e)}
.feature-list{display:grid;gap:10px;margin-top:26px;position:relative;z-index:1}
.feature-list span{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);color:#ecfeff;font-weight:800}

/* ===== Social feed & internal messages ===== */
.message-shell{display:grid;gap:18px}.message-tabs{display:flex;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:22px;padding:8px;box-shadow:var(--shadow)}.message-tabs a{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:16px;font-weight:900;color:#475569}.message-tabs a.active{background:linear-gradient(135deg,var(--primary),#0891b2);color:#fff;box-shadow:0 12px 24px rgba(15,118,110,.18)}.message-tabs span{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px}.message-list{display:grid;gap:12px}.message-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:20px;background:#fff}.message-item.unread{border-color:rgba(15,118,110,.32);background:linear-gradient(135deg,#f0fdfa,#fff);box-shadow:0 14px 30px rgba(15,118,110,.1)}.message-icon{width:48px;height:48px;border-radius:16px;background:#ecfeff;display:grid;place-items:center;font-size:22px}.message-summary p{margin:5px 0;overflow-wrap:anywhere}.message-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.message-detail h3{font-size:24px;margin:10px 0 4px}.message-body-read{padding:18px;border-radius:18px;background:#f8fafc;border:1px solid var(--line);line-height:1.7;overflow-wrap:anywhere}.profile-feed{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,253,250,.92))}.profile-feed:before{content:"";position:absolute;left:-95px;top:-95px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(246,196,69,.18),transparent 70%);pointer-events:none}.feed-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;position:relative}.feed-head h3{margin-bottom:4px}.feed-form{display:grid;gap:10px;margin:14px 0 18px;position:relative}.feed-form textarea{min-height:105px;border-color:#cde7e1;background:#fff}.feed-form-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.feed-list{display:grid;gap:14px;position:relative}.feed-post{padding:16px;border:1px solid rgba(15,118,110,.14);border-radius:24px;background:linear-gradient(135deg,#fff,#f8fffd);box-shadow:0 14px 34px rgba(15,118,110,.08)}.feed-post-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.feed-author{display:flex;align-items:center;gap:11px}.feed-avatar,.feed-comment-avatar{overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#38bdf8,var(--accent));color:#fff;font-weight:900;border:3px solid #fff;box-shadow:0 8px 18px rgba(15,118,110,.18)}.feed-avatar{width:52px;height:52px;border-radius:18px}.feed-avatar img,.feed-comment-avatar img{width:100%;height:100%;object-fit:cover;display:block}.feed-content{margin:14px 0 10px;padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.feed-comments{display:grid;gap:8px;margin-top:12px}.feed-comment{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:start}.feed-comment-avatar{width:38px;height:38px;border-radius:14px;font-size:13px}.feed-comment-bubble{padding:10px 12px;border-radius:16px;background:#ecfeff;border:1px solid rgba(15,118,110,.12)}.feed-comment-bubble p{margin:4px 0 0;line-height:1.45;overflow-wrap:anywhere}.feed-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:5px}.feed-comment-form input{border-radius:999px;background:#fff}@media(max-width:640px){.message-item{grid-template-columns:40px minmax(0,1fr);}.message-item form{grid-column:2}.message-icon{width:40px;height:40px;border-radius:14px}.message-detail-head,.feed-head,.feed-post-top{flex-direction:column}.feed-comment{grid-template-columns:34px minmax(0,1fr)}.feed-comment form{grid-column:2}.feed-comment-form{grid-template-columns:1fr}.feed-avatar{width:46px;height:46px}.feed-comment-avatar{width:34px;height:34px}}

/* ===== Friends / pertemanan siswa ===== */
.nav-badge{margin-left:auto;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#facc15;color:#713f12;font-size:11px;font-weight:900}.badge.success{background:#dcfce7;color:#166534}.inline-form{display:inline-flex;align-items:center;margin:0}.friends-shell{display:grid;gap:18px}.stat-card{position:relative;overflow:hidden;border-radius:24px;padding:20px;background:linear-gradient(135deg,#ffffff,#f0fdfa);border:1px solid rgba(15,118,110,.12);box-shadow:var(--shadow)}.stat-card b{display:block;font-size:34px;line-height:1;color:var(--primary)}.stat-card span{display:block;margin-top:8px;color:var(--muted);font-weight:800}.friend-section{position:relative;overflow:hidden}.friend-section:before{content:"";position:absolute;right:-80px;top:-80px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.12),transparent 68%);pointer-events:none}.friend-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px;position:relative}.friend-section-head h3{margin-bottom:4px}.friend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;position:relative}.friend-grid.compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.friend-card-lite{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:center;padding:14px;border:1px solid rgba(15,118,110,.13);border-radius:22px;background:linear-gradient(135deg,#fff,#f8fffd);box-shadow:0 12px 28px rgba(15,118,110,.08)}.friend-card-lite.search-result{grid-template-columns:64px minmax(0,1fr);align-items:start}.friend-avatar-lg,.friend-mini-avatar,.profile-friend-avatar{overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#38bdf8,var(--accent));color:#fff;font-weight:900;border:3px solid #fff;box-shadow:0 10px 22px rgba(15,118,110,.2)}.friend-avatar-lg{width:64px;height:64px;border-radius:22px}.friend-avatar-lg img,.friend-mini-avatar img,.profile-friend-avatar img{width:100%;height:100%;object-fit:cover;display:block}.friend-info{min-width:0}.friend-info p,.friend-card-lite p{margin:4px 0}.friend-info small{display:block;color:var(--muted);overflow-wrap:anywhere}.friend-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;grid-column:1/-1}.friend-mini-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:11px;align-items:center;padding:12px;border:1px solid rgba(15,118,110,.12);border-radius:20px;background:#fff;box-shadow:0 10px 22px rgba(15,118,110,.07)}.friend-mini-avatar{width:50px;height:50px;border-radius:17px}.friend-mini-body small{display:block;color:var(--muted);margin-top:3px}.friend-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.profile-friend-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.profile-friends-card{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,253,250,.9))}.profile-friend-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.profile-friend-chip{display:flex;align-items:center;gap:10px;padding:10px;border-radius:18px;background:#fff;border:1px solid rgba(15,118,110,.13);box-shadow:0 10px 22px rgba(15,118,110,.07)}.profile-friend-avatar{width:44px;height:44px;min-width:44px;border-radius:16px;font-size:13px}.profile-friend-chip small{display:block;color:var(--muted);margin-top:2px}@media(max-width:640px){.friend-section-head{flex-direction:column}.friend-search{grid-template-columns:1fr}.friend-card-lite{grid-template-columns:54px minmax(0,1fr)}.friend-avatar-lg{width:54px;height:54px;border-radius:18px}.friend-actions{grid-column:1/-1}.stat-card b{font-size:28px}}

/* ===== Friends mini dashboard fix: avatar kecil & rapi ===== */
.friends-shell .friend-dashboard-mini{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:center;
  padding:18px;
  background:linear-gradient(135deg,#ffffff,#ecfeff 55%,#fff7ed);
  overflow:hidden;
  position:relative;
}
.friends-shell .friend-dashboard-mini:after{
  content:"";
  position:absolute;
  right:-55px;
  top:-55px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(20,184,166,.18),transparent 70%);
  pointer-events:none;
}
.friends-shell .friend-dashboard-profile{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
  position:relative;
  z-index:1;
}
.friends-shell .friend-dashboard-avatar,
.friends-shell .friend-avatar-lg,
.friends-shell .friend-mini-avatar{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#0f766e,#38bdf8,#f6c445) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:15px !important;
  border:3px solid #fff !important;
  box-shadow:0 10px 22px rgba(15,118,110,.18),0 0 0 1px rgba(15,118,110,.1) !important;
  line-height:1 !important;
  text-align:center !important;
  flex:0 0 56px !important;
}
.friends-shell .friend-dashboard-avatar{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  min-height:68px !important;
  max-height:68px !important;
  flex-basis:68px !important;
  border-radius:22px !important;
  font-size:18px !important;
}
.friends-shell .friend-dashboard-avatar img,
.friends-shell .friend-avatar-lg img,
.friends-shell .friend-mini-avatar img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:inherit !important;
}
.friends-shell .friend-dashboard-info{min-width:0}.friends-shell .friend-dashboard-info h3{margin:3px 0 2px;font-size:20px}.friends-shell .mini-label{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.friends-shell .friend-dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.friends-shell .friend-dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative;z-index:1}.friends-shell .friend-dashboard-stats div{padding:13px 10px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(15,118,110,.13);text-align:center;box-shadow:0 10px 20px rgba(15,118,110,.06)}.friends-shell .friend-dashboard-stats b{display:block;font-size:24px;color:#0f766e;line-height:1}.friends-shell .friend-dashboard-stats span{display:block;margin-top:5px;font-size:12px;color:#64748b;font-weight:800}.friends-shell .friend-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important}.friends-shell .friend-card-lite.friend-mini-profile-card{grid-template-columns:56px minmax(0,1fr) !important;gap:12px !important;align-items:center !important;padding:12px !important;border-radius:20px !important;background:linear-gradient(135deg,#fff,#f8fffd) !important;overflow:hidden !important}.friends-shell .friend-card-lite.friend-mini-profile-card > div:not(.friend-actions){min-width:0}.friends-shell .friend-card-lite.friend-mini-profile-card b,.friends-shell .friend-mini-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friends-shell .friend-card-lite.friend-mini-profile-card p{margin:2px 0 0;font-size:13px}.friends-shell .friend-info small{display:block;margin-top:5px;line-height:1.35;max-height:38px;overflow:hidden}.friends-shell .friend-actions{gap:6px !important;margin-top:6px}.friends-shell .friend-actions .btn,.friends-shell .friend-actions .badge{font-size:11px !important;padding:7px 9px !important;border-radius:10px !important}.friends-shell .friend-mini-card{grid-template-columns:48px minmax(0,1fr) !important;align-items:center !important;overflow:hidden !important}.friends-shell .friend-mini-avatar{width:48px !important;height:48px !important;min-width:48px !important;max-width:48px !important;min-height:48px !important;max-height:48px !important;flex-basis:48px !important;border-radius:16px !important}.friends-shell .friend-section{overflow:hidden !important}
@media(max-width:900px){.friends-shell .friend-dashboard-mini{grid-template-columns:1fr}.friends-shell .friend-dashboard-stats{max-width:100%}}
@media(max-width:640px){.friends-shell .friend-dashboard-profile{align-items:flex-start}.friends-shell .friend-dashboard-avatar{width:58px !important;height:58px !important;min-width:58px !important;max-width:58px !important;min-height:58px !important;max-height:58px !important;flex-basis:58px !important}.friends-shell .friend-dashboard-stats{grid-template-columns:repeat(3,1fr)}.friends-shell .friend-grid{grid-template-columns:1fr !important}.friends-shell .friend-card-lite.friend-mini-profile-card{grid-template-columns:48px minmax(0,1fr) !important}.friends-shell .friend-avatar-lg{width:48px !important;height:48px !important;min-width:48px !important;max-width:48px !important;min-height:48px !important;max-height:48px !important;flex-basis:48px !important;border-radius:16px !important}}

/* ===== Emergency fix v2: halaman teman avatar mini ===== */
.friends-shell .friend-dashboard-avatar,
.friends-shell .friend-avatar-lg,
.friends-shell .friend-mini-avatar{
  width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;
  min-height:54px!important;max-height:54px!important;aspect-ratio:1/1!important;
  overflow:hidden!important;display:grid!important;place-items:center!important;flex:0 0 54px!important;
  border-radius:18px!important;border:3px solid #fff!important;line-height:1!important;text-align:center!important;
}
.friends-shell .friend-dashboard-avatar{width:66px!important;height:66px!important;min-width:66px!important;max-width:66px!important;min-height:66px!important;max-height:66px!important;flex-basis:66px!important;border-radius:22px!important}
.friends-shell .friend-mini-avatar{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;flex-basis:48px!important;border-radius:16px!important}
.friends-shell .friend-dashboard-avatar img,
.friends-shell .friend-avatar-lg img,
.friends-shell .friend-mini-avatar img{
  width:100%!important;height:100%!important;min-width:100%!important;max-width:100%!important;
  min-height:100%!important;max-height:100%!important;object-fit:cover!important;display:block!important;
  border-radius:inherit!important;margin:0!important;padding:0!important;
}
.friends-shell .friend-card-lite{grid-template-columns:54px minmax(0,1fr)!important;overflow:hidden!important}
.friends-shell .friend-mini-card{grid-template-columns:48px minmax(0,1fr)!important;overflow:hidden!important}

/* Revisi pesan: balas pesan + pembatasan teman */
.message-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.message-actions form{margin:0}
.message-reply-box{margin-top:18px;padding:16px;border-radius:20px;background:linear-gradient(135deg,#f0fdfa,#ffffff);border:1px solid rgba(15,118,110,.16)}
.message-reply-box h3{margin:0 0 8px}
.message-reply-form textarea{min-height:96px;background:#fff}
.alert.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
@media(max-width:640px){.message-actions{grid-column:2;justify-content:flex-start}.message-actions .btn{width:auto}}

/* ===== Patch chat terpadu + avatar teman profil mini ===== */
.public-profile .profile-friends-card{overflow:hidden!important;}
.public-profile .profile-friend-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:10px!important;align-items:stretch!important;}
.public-profile .profile-friend-chip{display:flex!important;align-items:center!important;gap:10px!important;padding:10px!important;border-radius:18px!important;background:#fff!important;border:1px solid rgba(15,118,110,.13)!important;box-shadow:0 10px 22px rgba(15,118,110,.07)!important;overflow:hidden!important;text-decoration:none!important;min-height:66px!important;}
.public-profile .profile-friend-avatar{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;flex:0 0 46px!important;aspect-ratio:1/1!important;overflow:hidden!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(135deg,#0f766e,#38bdf8,#facc15)!important;color:#fff!important;font-weight:900!important;border:3px solid #fff!important;box-shadow:0 8px 18px rgba(15,118,110,.22)!important;font-size:13px!important;line-height:1!important;}
.public-profile .profile-friend-avatar img{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;object-fit:cover!important;display:block!important;border-radius:13px!important;}
.public-profile .profile-friend-mini-info{min-width:0!important;display:block!important;line-height:1.25!important;}
.public-profile .profile-friend-mini-info b{display:block!important;font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#0f172a!important;}
.public-profile .profile-friend-mini-info small{display:block!important;font-size:12px!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-top:3px!important;}

.chat-shell{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;min-height:68vh;}
.chat-sidebar,.chat-panel{background:#fff;border:1px solid rgba(15,118,110,.12);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;}
.chat-sidebar{padding:14px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 120px);position:sticky;top:18px;}
.chat-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px;}
.chat-side-head h3{margin:0;}.mini-alert{font-size:12px;padding:10px;border-radius:14px;}
.chat-list,.chat-contact-list{display:grid;gap:8px;overflow:auto;padding-right:3px;}
.chat-list{max-height:310px;}
.chat-contact-list{max-height:230px;}
.chat-list-item,.chat-contact{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border-radius:18px;text-decoration:none;color:inherit;border:1px solid transparent;}
.chat-contact{grid-template-columns:34px minmax(0,1fr);}
.chat-list-item:hover,.chat-contact:hover,.chat-list-item.active,.chat-contact.active{background:linear-gradient(135deg,#f0fdfa,#ffffff);border-color:rgba(15,118,110,.14);}
.chat-avatar{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;display:grid!important;place-items:center!important;overflow:hidden!important;border-radius:16px;background:linear-gradient(135deg,#0f766e,#38bdf8,#facc15);color:#fff;font-weight:900;border:3px solid #fff;box-shadow:0 8px 18px rgba(15,118,110,.18);font-size:13px;}
.chat-avatar.tiny{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;border-radius:12px;font-size:11px;border-width:2px;}
.chat-avatar.big{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;min-height:56px!important;max-height:56px!important;border-radius:20px;font-size:16px;}
.chat-avatar img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;display:block!important;}
.chat-list-body,.chat-contact span:last-child{min-width:0;}.chat-list-body b,.chat-contact b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;}.chat-list-body small,.chat-contact small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;margin-top:2px;}.chat-unread{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#facc15;color:#713f12;display:grid;place-items:center;font-size:11px;font-weight:900;}
.chat-new-box{border-top:1px solid #e2e8f0;padding-top:12px;}.chat-new-box h4{margin:0 0 8px;}
.chat-panel{display:flex;flex-direction:column;min-height:68vh;background:linear-gradient(180deg,#ffffff,#f8fafc);}
.chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.88);position:sticky;top:0;z-index:3;}
.chat-header-info{min-width:0;flex:1}.chat-header-info h3{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-info p{margin:2px 0 0;}
.chat-history{flex:1;overflow:auto;padding:18px;background:radial-gradient(circle at top left,rgba(20,184,166,.08),transparent 26%),linear-gradient(180deg,#f8fafc,#f0fdfa);display:flex;flex-direction:column;gap:10px;max-height:64vh;}
.chat-row{display:flex;align-items:flex-end;gap:8px;}.chat-row.mine{justify-content:flex-end;}.chat-row.theirs{justify-content:flex-start;}.bubble-avatar{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;border-radius:12px;font-size:11px;}
.chat-bubble{max-width:min(620px,78%);padding:10px 12px;border-radius:18px;background:#fff;border:1px solid rgba(15,118,110,.11);box-shadow:0 8px 18px rgba(15,118,110,.07);}
.chat-row.mine .chat-bubble{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border-color:transparent;border-bottom-right-radius:7px;}.chat-row.theirs .chat-bubble{border-bottom-left-radius:7px;}.chat-bubble p{margin:0;line-height:1.5;overflow-wrap:anywhere;}.chat-time{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:5px;font-size:10px;opacity:.75;}.chat-row.theirs .chat-time{justify-content:flex-start;color:#64748b;}.chat-delete{display:inline-flex;margin:0;}.chat-delete button{width:18px;height:18px;border:0;border-radius:999px;background:rgba(15,23,42,.12);color:inherit;cursor:pointer;font-weight:900;line-height:18px;padding:0;}.chat-row.mine .chat-delete button{background:rgba(255,255,255,.22);color:#fff;}
.chat-compose{border-top:1px solid #e2e8f0;background:#fff;padding:12px 14px;}.chat-compose form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;}.chat-compose textarea{min-height:48px;max-height:140px;resize:vertical;border-radius:18px;background:#f8fafc;}.chat-locked,.chat-empty-line{padding:13px;border-radius:16px;background:#fef9c3;color:#854d0e;font-weight:800;}.chat-empty.card{margin:18px;}.chat-empty-line{text-align:center;background:rgba(255,255,255,.7);color:#64748b;}
@media(max-width:880px){.chat-shell{grid-template-columns:1fr}.chat-sidebar{position:static;max-height:none}.chat-list{max-height:240px}.chat-panel{min-height:62vh}.chat-history{max-height:55vh}.chat-bubble{max-width:86%}}
@media(max-width:640px){.public-profile .profile-friend-list{grid-template-columns:1fr!important}.public-profile .profile-friend-avatar,.public-profile .profile-friend-avatar img{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important}.chat-header{padding:12px}.chat-history{padding:12px}.chat-compose form{grid-template-columns:1fr}.chat-bubble{max-width:92%}.chat-sidebar,.chat-panel{border-radius:20px}}

/* ===== Patch tugas selesai + edit akun + hapus user ===== */
.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.assignments-student .assignment-card{position:relative;overflow:hidden}
.assignment-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.assignment-done{background:linear-gradient(135deg,#ffffff,#f0fdfa)!important;border-color:rgba(15,118,110,.18)!important}
.submission-done-box{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:#ecfdf5;border:1px solid rgba(16,185,129,.22);margin:14px 0}
.submission-done-box h4{margin:0 0 3px;color:#065f46}.submission-done-box p{margin:0}.done-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#10b981);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 10px 22px rgba(15,118,110,.2);flex:0 0 42px}
.score-panel{display:flex;align-items:center;gap:12px;padding:13px;border-radius:20px;background:#fff;border:1px solid #dbe7e4;box-shadow:0 10px 24px rgba(15,118,110,.08);margin-bottom:12px}
.score-number{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#facc15,#fff7ed);color:#713f12;font-size:22px;font-weight:900;flex:0 0 64px}.score-number.pending{font-size:20px;background:#f1f5f9;color:#64748b}.submission-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.teacher-feedback{padding:12px;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;color:#713f12}
.account-page .account-card{overflow:hidden}.account-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.account-avatar{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;border-radius:24px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#0f766e,#38bdf8,#facc15);color:#fff;font-weight:900;font-size:20px;border:4px solid #fff;box-shadow:0 12px 24px rgba(15,118,110,.18);flex:0 0 72px}.account-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.account-note{padding:13px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.user-actions{white-space:nowrap}.user-actions form{margin:2px;display:inline-block!important}.user-actions button[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
@media(max-width:640px){.assignment-head{align-items:flex-start}.score-panel{align-items:flex-start}.user-actions{white-space:normal}.account-head{align-items:flex-start}.account-avatar{width:58px!important;height:58px!important;min-width:58px!important;max-width:58px!important;min-height:58px!important;max-height:58px!important;border-radius:20px}}

/* ===== Patch edit materi/tugas guru + jawaban ringkas ===== */
.guru-editor-grid{align-items:start}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-title-row h3{margin-bottom:4px}.section-title-row p{margin:0}.editor-card textarea{min-height:150px}.teacher-tips-card{background:linear-gradient(135deg,#ffffff,#f0fdfa)}.mini-note,.current-file-box,.empty-mini{padding:12px 13px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.current-file-box a{font-weight:900;color:#0f766e}.submission-compact-list{display:grid;gap:10px;max-height:650px;overflow:auto;padding-right:4px}.submission-mini-card{padding:12px;border-radius:20px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid rgba(15,118,110,.12);box-shadow:0 10px 22px rgba(15,118,110,.07)}.submission-mini-card.graded{background:linear-gradient(135deg,#ffffff,#f0fdfa);border-color:rgba(16,185,129,.2)}.submission-mini-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.submission-student-mini{display:flex;align-items:center;gap:10px;min-width:0}.submission-avatar{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#0f766e,#38bdf8,#facc15);color:#fff;font-weight:900;border:3px solid #fff;box-shadow:0 8px 16px rgba(15,118,110,.18);font-size:12px;flex:0 0 44px}.submission-avatar img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;display:block!important}.submission-student-info{min-width:0}.submission-student-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submission-student-info small{display:block;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.submission-mini-title{font-weight:900;margin:8px 0;color:#0f172a}.answer-details{border-radius:16px;background:#fff;border:1px solid #e2e8f0;padding:9px 11px;margin:8px 0}.answer-details summary{cursor:pointer;font-weight:900;color:#0f766e}.answer-details p{max-height:120px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin:9px 0;line-height:1.5}.compact-grade-form{margin-top:9px}.grade-row{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:8px;align-items:center}.grade-row input{padding:9px 10px;border-radius:12px}.submissions-compact-card{overflow:hidden}@media(max-width:720px){.section-title-row,.submission-mini-head{flex-direction:column;align-items:flex-start}.grade-row{grid-template-columns:1fr}.submission-compact-list{max-height:none}}

/* ===== Patch premium guru assignments avatar lock ===== */
.guru-assignment-page .ga-avatar,
.guru-assignment-page .ga-avatar *{
  max-width:52px!important;
  max-height:52px!important;
}
.guru-assignment-page .ga-avatar img,
.guru-assignment-page img.ga-avatar-img{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:15px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
}

/* === Lencana Prestasi Guru === */
.badge-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff7ed,#ecfeff,#ffffff);border:1px solid rgba(245,158,11,.22);overflow:hidden;position:relative}
.badge-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(250,204,21,.35),transparent 68%)}
.badge-hero h2{margin:.45rem 0 .35rem;font-size:clamp(22px,3vw,34px)}
.badge-hero-icon{font-size:64px;filter:drop-shadow(0 18px 25px rgba(245,158,11,.25));position:relative;z-index:1}
.section-head-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.teacher-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.teacher-badge-card,.profile-award-card,.student-award-mini{position:relative;display:flex;align-items:center;gap:13px;border-radius:22px;padding:14px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.08);overflow:hidden}
.teacher-badge-card:before,.profile-award-card:before,.student-award-mini:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--award-color,#f59e0b)}
.teacher-badge-icon,.profile-award-icon{width:54px;height:54px;min-width:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--award-soft,#fef3c7),#fff);font-size:28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.teacher-badge-info,.profile-award-info{min-width:0;flex:1}.teacher-badge-info b,.profile-award-info b{display:block;color:#0f172a}.teacher-badge-info small,.profile-award-info small{display:block;color:#64748b}.teacher-badge-info p,.profile-award-info p{margin:.4rem 0 0;color:#475569;font-size:13px;line-height:1.45}
.teacher-badge-card form{margin-left:auto}.teacher-mini-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:var(--award-soft,#fef3c7);color:var(--award-text,#92400e);white-space:nowrap}
.badge-color-gold{--award-color:#f59e0b;--award-soft:#fef3c7;--award-text:#92400e}.badge-color-blue{--award-color:#2563eb;--award-soft:#dbeafe;--award-text:#1e40af}.badge-color-green{--award-color:#059669;--award-soft:#d1fae5;--award-text:#065f46}.badge-color-purple{--award-color:#7c3aed;--award-soft:#ede9fe;--award-text:#5b21b6}.badge-color-red{--award-color:#dc2626;--award-soft:#fee2e2;--award-text:#991b1b}.badge-color-cyan{--award-color:#0891b2;--award-soft:#cffafe;--award-text:#155e75}.badge-color-pink{--award-color:#db2777;--award-soft:#fce7f3;--award-text:#9d174d}.badge-color-dark{--award-color:#111827;--award-soft:#e5e7eb;--award-text:#111827}
.badge-style-circle .teacher-badge-icon,.badge-style-circle .profile-award-icon{border-radius:999px}.badge-style-ribbon{clip-path:polygon(0 0,100% 0,100% 86%,92% 100%,84% 86%,0 86%)}.badge-style-pixel{border-radius:10px;box-shadow:6px 6px 0 rgba(15,23,42,.08)}.badge-style-cyber{box-shadow:0 0 0 1px rgba(59,130,246,.15),0 18px 34px rgba(37,99,235,.16)}
.award-history-list,.mini-rank-list{display:grid;gap:10px}.award-history-item{display:flex;align-items:flex-start;gap:12px;border:1px solid #e2e8f0;background:#fff;border-radius:20px;padding:12px}.award-student-avatar{width:46px;height:46px;min-width:46px;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#e0f2fe;color:#0369a1;font-weight:900}.award-student-avatar img{width:46px!important;height:46px!important;object-fit:cover!important;display:block!important}.award-history-main{flex:1;min-width:0}.award-history-top{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}.award-history-main p{margin:.35rem 0;color:#475569;font-size:13px}.mini-rank-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:10px}.mini-rank-item b{display:block}.mini-rank-item small{display:block;color:#64748b;font-size:12px}.student-award-mini{margin:8px 0;padding:11px 12px;border-radius:18px}.student-award-mini>span{width:38px;height:38px;min-width:38px;border-radius:14px;background:var(--award-soft,#fef3c7);display:grid;place-items:center;font-size:22px}.student-award-mini b{display:block;font-size:14px}.student-award-mini small{display:block;color:#64748b;font-size:12px}.profile-awards-card .profile-award-card{margin:10px 0}.profile-award-card{align-items:flex-start}.profile-award-info .badge{margin:3px 4px 0 0}
@media(max-width:720px){.badge-hero{align-items:flex-start}.badge-hero-icon{font-size:42px}.section-head-flex,.award-history-item{flex-direction:column}.teacher-badge-grid{grid-template-columns:1fr}.award-history-top{display:block}.teacher-badge-card form{margin-left:0}}


/* Patch visual lencana: avatar guru_badges kecil dan profil ringkas */
.award-history-item{overflow:hidden!important}.award-student-avatar{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;min-height:54px!important;max-height:54px!important;border-radius:18px!important;overflow:hidden!important;display:grid!important;place-items:center!important;border:3px solid #fff!important;background:linear-gradient(135deg,#e0f2fe,#ccfbf1)!important;color:#0369a1!important;font-weight:900!important;box-shadow:0 8px 18px rgba(15,23,42,.12),0 0 0 1px rgba(14,165,233,.14)!important;line-height:1!important}.award-student-avatar img{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;min-height:54px!important;max-height:54px!important;object-fit:cover!important;display:block!important;border-radius:15px!important;position:static!important;transform:none!important;inset:auto!important}.profile-award-compact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.profile-award-compact{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;border-radius:18px!important;background:linear-gradient(135deg,#fff,var(--award-soft,#fef3c7))!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 10px 22px rgba(15,23,42,.07)!important;min-height:64px!important;overflow:hidden!important}.profile-award-compact .profile-award-icon{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;border-radius:15px!important;font-size:23px!important;display:grid!important;place-items:center!important;background:var(--award-soft,#fef3c7)!important;color:var(--award-text,#92400e)!important}.profile-award-compact .profile-award-info b{font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.profile-award-compact .profile-award-info small{font-size:11.5px!important;color:#64748b!important}.profile-award-compact .profile-award-info p,.profile-award-compact .badge{display:none!important}

/* === Patch: Siswa Materi, Tugas, Ujian Compact Premium === */
.student-compact-page{max-width:1180px;margin:0 auto}.student-mini-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:18px;padding:20px;border:1px solid rgba(148,163,184,.22);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,253,250,.92));box-shadow:0 18px 45px rgba(15,23,42,.08);overflow:hidden;position:relative}.student-mini-hero:before{content:"";position:absolute;right:-90px;top:-90px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.22),transparent 66%);pointer-events:none}.student-mini-hero h2{margin:6px 0 6px;font-size:28px;line-height:1.15}.student-mini-hero p{margin:0;color:#64748b;max-width:680px}.mini-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#ecfeff;color:#0f766e;font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.mini-stats{display:grid;grid-template-columns:repeat(2,118px);gap:10px;position:relative;z-index:1}.mini-stats.three{grid-template-columns:repeat(3,96px)}.mini-stats div{padding:13px 12px;border-radius:20px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 25px rgba(15,23,42,.06);text-align:center}.mini-stats b{display:block;color:#0f172a;font-size:24px;line-height:1}.mini-stats span{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:800}.compact-list{display:grid;gap:12px}.compact-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:start;padding:15px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 35px rgba(15,23,42,.07);transition:.18s ease;overflow:hidden}.compact-item:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(15,23,42,.1);border-color:#99f6e4}.compact-icon{width:58px;height:58px;border-radius:21px;display:grid;place-items:center;font-size:25px;background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid #ccfbf1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.compact-main{min-width:0}.compact-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.compact-meta,.compact-sub{color:#64748b;font-size:13px}.compact-item h3{margin:3px 0 4px;font-size:18px;line-height:1.25;color:#0f172a}.compact-details{margin-top:10px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;overflow:hidden}.compact-details summary{cursor:pointer;list-style:none;padding:10px 13px;font-weight:900;color:#0f766e;display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-details summary::-webkit-details-marker{display:none}.compact-details summary:after{content:"Buka";font-size:11px;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 9px}.compact-details[open] summary:after{content:"Tutup"}.compact-details p,.compact-details .compact-full-text,.compact-details .compact-preview{padding:0 13px 12px;margin:0;color:#475569;line-height:1.65}.compact-full-text{white-space:normal}.compact-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 13px 13px}.assignment-row.is-done{border-color:#bbf7d0;background:linear-gradient(135deg,#fff,#f0fdf4)}.assignment-row.is-open{border-color:#fed7aa;background:linear-gradient(135deg,#fff,#fff7ed)}.submission-mini-result{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin:12px 13px;padding:12px;border-radius:18px;background:#fff;border:1px solid #dcfce7}.submission-mini-result .done-icon{width:44px;height:44px;border-radius:16px;background:#dcfce7;color:#166534;display:grid;place-items:center;font-size:24px;font-weight:900}.mini-score{min-width:86px;padding:10px;border-radius:17px;background:#ecfeff;text-align:center;border:1px solid #ccfbf1}.mini-score span{display:block;font-size:24px;font-weight:950;color:#0f766e;line-height:1}.mini-score small{display:block;color:#64748b;font-weight:800;font-size:11px}.mini-score.pending{background:#f8fafc;border-color:#e2e8f0}.mini-score.pending span{color:#94a3b8}.nested-details{margin:10px 13px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff}.nested-details summary{cursor:pointer;padding:10px 12px;font-weight:850;color:#334155}.nested-details p{padding:0 12px 12px;margin:0;color:#475569}.compact-feedback{margin:0 13px 13px;padding:10px 12px;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.compact-submit-form{padding:0 13px 13px}.compact-submit-form textarea{min-height:92px}.exam-row.available{border-color:#99f6e4;background:linear-gradient(135deg,#fff,#ecfeff)}.exam-row.done{border-color:#fde68a;background:linear-gradient(135deg,#fff,#fffbeb)}.exam-row.upcoming,.exam-row.expired{background:linear-gradient(135deg,#fff,#f8fafc)}.exam-schedule-mini{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 0}.exam-schedule-mini span{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px}.exam-schedule-mini b{color:#334155}.disabled-like{opacity:.75;pointer-events:none}.exam-take-card{border-radius:26px;overflow:hidden}.exam-take-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.exam-take-head h3{font-size:24px;margin:7px 0 4px}.exam-timer-box{padding:12px 15px;border-radius:18px;background:#0f172a;color:#fff;font-weight:900;box-shadow:0 14px 28px rgba(15,23,42,.18)}.compact-exam-question{border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05);padding:15px;margin-bottom:12px}.answer-option{display:flex!important;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:15px;background:#f8fafc;font-weight:650;cursor:pointer}.answer-option:hover{border-color:#99f6e4;background:#ecfeff}.answer-option input{margin-top:3px}.empty-state{text-align:center;border-radius:24px;background:linear-gradient(135deg,#fff,#f8fafc)}
@media(max-width:860px){.student-mini-hero{grid-template-columns:1fr}.mini-stats,.mini-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.student-mini-hero h2{font-size:24px}.compact-item{grid-template-columns:48px minmax(0,1fr);padding:13px;border-radius:21px}.compact-icon{width:48px;height:48px;border-radius:18px;font-size:22px}.exam-take-head{grid-template-columns:1fr}.exam-timer-box{justify-self:start}.submission-mini-result{grid-template-columns:38px minmax(0,1fr);}.submission-mini-result .mini-score{grid-column:1/3;justify-self:start}.submission-mini-result .done-icon{width:38px;height:38px;border-radius:14px}}
@media(max-width:560px){.mini-stats,.mini-stats.three{grid-template-columns:1fr 1fr}.compact-topline{gap:6px}.compact-item h3{font-size:16px}.compact-meta{width:100%}.exam-schedule-mini{display:grid;grid-template-columns:1fr}.student-mini-hero{padding:16px;border-radius:22px}}

/* =========================================================
   UJIAN ONLINE PRO - modern compact dashboard
   ========================================================= */
.exam-pro-shell{display:flex;flex-direction:column;gap:18px}.exam-pro-hero{display:flex;justify-content:space-between;gap:18px;align-items:stretch;padding:22px;border-radius:28px;background:linear-gradient(135deg,#eef2ff,#f0fdfa 55%,#fff7ed);border:1px solid rgba(148,163,184,.22);box-shadow:0 22px 55px rgba(15,23,42,.08)}.exam-pro-hero h2{margin:6px 0 6px;font-size:28px;line-height:1.15}.exam-pro-hero p{margin:0;color:#64748b;max-width:760px}.exam-pro-stats{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));gap:10px;min-width:360px}.exam-pro-stats div,.exam-pro-mini-grid .mini-card{border-radius:20px;background:rgba(255,255,255,.8);border:1px solid rgba(148,163,184,.2);padding:14px;text-align:center;box-shadow:0 10px 24px rgba(15,23,42,.06)}.exam-pro-stats b,.exam-pro-mini-grid b{display:block;font-size:24px;color:#0f172a}.exam-pro-stats span,.exam-pro-mini-grid span{font-size:12px;color:#64748b}.exam-pro-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.exam-list-panel{position:sticky;top:16px;max-height:calc(100vh - 36px);overflow:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h3{margin:0}.exam-list-modern{display:flex;flex-direction:column;gap:10px}.exam-list-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:13px;border-radius:20px;background:#fff;border:1px solid #e2e8f0;text-decoration:none;color:inherit;transition:.18s ease;box-shadow:0 8px 20px rgba(15,23,42,.04)}.exam-list-card:hover,.exam-list-card.active{transform:translateY(-1px);border-color:#14b8a6;box-shadow:0 16px 36px rgba(20,184,166,.14)}.exam-list-card.active{background:linear-gradient(135deg,#ecfeff,#fff)}.exam-list-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#f8fafc;border:1px solid #e2e8f0}.exam-list-card h4{margin:0 0 3px;font-size:14px;line-height:1.25}.exam-list-card p{margin:0 0 7px;color:#64748b;font-size:12px}.exam-list-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#64748b}.exam-workspace{display:flex;flex-direction:column;gap:16px;min-width:0}.exam-empty-workspace{text-align:center;padding:40px}.empty-illustration{font-size:64px;margin-bottom:10px}.exam-manager-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.exam-manager-head h2{margin:7px 0;font-size:24px}.exam-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-form{display:inline}.exam-pro-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.question-builder,.question-list-pro,.attempts-panel{border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 40px rgba(15,23,42,.06)}.rich-field label{font-weight:700;color:#0f172a}.rich-editor{border:1px solid #dbe3ef;border-radius:18px;background:#fff;overflow:hidden}.rich-editor:focus-within{border-color:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.12)}.rich-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.rich-toolbar button{border:1px solid #dbe3ef;background:#fff;border-radius:10px;padding:7px 10px;font-size:12px;cursor:pointer}.rich-toolbar button:hover{background:#ecfeff;border-color:#14b8a6}.rich-box{min-height:120px;padding:13px;outline:none;line-height:1.65;color:#0f172a}.rich-box:empty:before{content:attr(data-placeholder);color:#94a3b8}.rich-editor.mini .rich-box{min-height:76px}.option-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0}.option-editor-card{border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;padding:10px}.option-editor-card.optional-option{grid-column:auto}.option-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.radio-key{font-size:12px;color:#475569;display:flex;align-items:center;gap:5px}.current-image-chip{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.current-image-chip img{width:78px!important;height:58px!important;object-fit:cover!important;border-radius:12px!important}.question-accordion-list{display:flex;flex-direction:column;gap:10px}.question-accordion{border:1px solid #e2e8f0;border-radius:20px;background:#fff;overflow:hidden}.question-accordion summary{cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;list-style:none}.question-accordion summary::-webkit-details-marker{display:none}.q-number{width:36px;height:36px;border-radius:14px;background:#ecfeff;border:1px solid #99f6e4;display:grid;place-items:center;font-weight:800;color:#0f766e}.q-title{font-weight:750;color:#0f172a;line-height:1.35}.q-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.q-tags span,.q-tags b{font-size:11px;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569}.question-preview{border-top:1px solid #e2e8f0;padding:14px;background:#fbfdff}.rich-output{line-height:1.65}.rich-output p{margin:.35rem 0}.rich-output table{border-collapse:collapse;width:100%;margin:10px 0}.rich-output td,.rich-output th{border:1px solid #cbd5e1;padding:7px}.math-inline{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:2px 7px;color:#1d4ed8}.question-image-preview{display:block;width:min(100%,520px)!important;max-height:260px!important;object-fit:contain!important;border-radius:18px!important;border:1px solid #e2e8f0!important;background:#fff!important;padding:6px!important;margin:12px 0!important}.option-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.option-preview{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;border-radius:16px;border:1px solid #e2e8f0;background:#fff;padding:10px}.option-preview b{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:#f1f5f9;color:#334155}.option-preview.correct{border-color:#22c55e;background:#f0fdf4}.option-preview.correct b{background:#22c55e;color:#fff}.option-preview.selected{box-shadow:0 0 0 3px rgba(59,130,246,.16);border-color:#60a5fa}.explanation-box{margin-top:12px;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;padding:12px}.question-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.attempts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attempt-mini-card{display:grid;grid-template-columns:48px minmax(0,1fr) 62px;gap:10px;align-items:center;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:10px}.attempt-avatar,.attempt-avatar img{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;border-radius:16px!important;object-fit:cover!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#0f766e;color:#fff;font-weight:800}.attempt-mini-card span{display:block;color:#64748b;font-size:12px;margin-top:2px}.attempt-score{border-radius:14px;padding:9px;text-align:center;font-weight:900;background:#fee2e2;color:#991b1b}.attempt-score.pass{background:#dcfce7;color:#166534}.modal-lite{position:fixed;inset:0;z-index:999;background:rgba(15,23,42,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}.modal-lite[hidden]{display:none}.modal-card{position:relative;background:#fff;border-radius:26px;border:1px solid #e2e8f0;box-shadow:0 30px 90px rgba(15,23,42,.28);padding:22px;width:min(680px,96vw);max-height:92vh;overflow:auto}.modal-card.wide{width:min(920px,96vw)}.modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:22px}.setting-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.setting-check-grid label{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:10px;display:flex;align-items:center;gap:8px}.setting-check-grid input[type=number]{max-width:80px;margin-left:auto}.modal-actions{display:flex;gap:10px;align-items:center}.delete-exam-form{border-top:1px dashed #fecaca;margin-top:16px;padding-top:12px;text-align:right}.empty-mini{padding:18px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;text-align:center}.exam-instruction-box{border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;padding:12px;margin-bottom:14px}.pro-take-question{border:1px solid #e2e8f0;border-radius:20px;background:#fff;padding:16px;margin-bottom:14px}.question-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.question-top span{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 9px}.question-text{font-weight:600;color:#0f172a}.pro-answer-option{border:1px solid #e2e8f0!important;border-radius:16px!important;background:#f8fafc!important;padding:10px 12px!important;margin:8px 0!important;display:flex!important;gap:8px!important;align-items:flex-start!important}.pro-answer-option:hover{border-color:#14b8a6!important;background:#ecfeff!important}.exam-result-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#eef2ff,#f0fdfa)}.result-score-ring{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:#fee2e2;color:#991b1b;border:8px solid rgba(255,255,255,.75);box-shadow:0 14px 38px rgba(15,23,42,.12)}.result-score-ring.pass{background:#dcfce7;color:#166534}.result-score-ring span{display:block;font-size:28px;font-weight:900;line-height:1}.result-score-ring small{display:block;font-size:11px;text-align:center}.result-review-list{display:flex;flex-direction:column;gap:10px}.result-question{border-radius:18px;border:1px solid #e2e8f0;background:#fff;overflow:hidden}.result-question summary{display:grid;grid-template-columns:34px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:12px;cursor:pointer}.result-question summary span{width:30px;height:30px;border-radius:12px;background:#f1f5f9;display:grid;place-items:center;font-weight:800}.result-question summary em{font-style:normal;border-radius:999px;padding:5px 8px;text-align:center;font-size:12px}.result-question.correct summary em{background:#dcfce7;color:#166534}.result-question.wrong summary em{background:#fee2e2;color:#991b1b}.result-question>div,.result-question>p,.result-question>.option-preview-grid,.result-question>.explanation-box,.result-question>img{margin-left:12px;margin-right:12px}.result-question>.explanation-box{margin-bottom:12px}@media(max-width:1100px){.exam-pro-layout{grid-template-columns:1fr}.exam-list-panel{position:static;max-height:none}.exam-pro-hero{flex-direction:column}.exam-pro-stats{min-width:0}.attempts-grid{grid-template-columns:1fr}}@media(max-width:720px){.exam-pro-stats,.exam-pro-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid-pro,.option-preview-grid,.setting-check-grid{grid-template-columns:1fr}.question-accordion summary{grid-template-columns:34px minmax(0,1fr)}.q-tags{grid-column:2;justify-content:flex-start}.exam-manager-head,.exam-result-hero{flex-direction:column;align-items:flex-start}.exam-head-actions{justify-content:flex-start}.attempt-mini-card{grid-template-columns:44px minmax(0,1fr) 56px}.modal-card{padding:18px}.exam-pro-hero h2{font-size:23px}}

/* TinyMCE self-hosted upgrade - Ujian Online Pro */
.tinymce-status-notice{margin:14px 0 18px!important;border-radius:18px!important}
.rich-editor.tinymce-upgraded{border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;padding:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.rich-editor.tinymce-upgraded textarea{width:100%;min-height:180px;border:1px solid #dbeafe;border-radius:14px;padding:12px;background:#fff;color:#0f172a;font:inherit}
.tox-tinymce{border-radius:16px!important;border-color:#dbeafe!important;box-shadow:0 12px 34px rgba(15,23,42,.08)!important;overflow:hidden!important}
.tox .tox-toolbar,.tox .tox-toolbar__primary{background:#f8fafc!important}
.tox .tox-tbtn{border-radius:10px!important}
.tox .tox-edit-area__iframe{background:#fff!important}
.option-editor-card .tox-tinymce{box-shadow:0 8px 22px rgba(15,23,42,.06)!important}
.question-builder .tox-statusbar{background:#f8fafc!important}
.tinymce-source{display:block!important}
.rich-output img,.exam-question img,.question-preview img{max-width:100%!important;height:auto!important;border-radius:14px!important;border:1px solid #e2e8f0!important;box-shadow:0 12px 28px rgba(15,23,42,.10)!important}
.rich-output a{color:#2563eb;text-decoration:underline;text-underline-offset:3px}
.rich-output table{width:100%;border-collapse:collapse;margin:10px 0;background:#fff;border-radius:12px;overflow:hidden}
.rich-output td,.rich-output th{border:1px solid #cbd5e1;padding:9px;text-align:left}
.rich-output pre{background:#0f172a;color:#e2e8f0;padding:14px;border-radius:14px;white-space:pre-wrap;overflow:auto}
.rich-output code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:2px 6px;color:#334155}
.rich-output .math-inline{display:inline-block;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:2px 7px;color:#9a3412;font-weight:700}

/* TinyMCE Fix v2 - pastikan editor rapi dan area ketik tidak tertutup */
.tinymce-status-notice{margin:14px 0 18px!important;border-radius:18px!important}
.rich-editor.tinymce-upgraded{border:0!important;background:transparent!important;padding:0!important;overflow:visible!important;box-shadow:none!important}
.rich-editor.tinymce-upgraded textarea.tinymce-source{width:100%;min-height:190px;border:1px solid #dbeafe;border-radius:14px;padding:12px;background:#fff;color:#0f172a;font:inherit}
.rich-editor.tinymce-upgraded .tox-tinymce{width:100%!important;min-height:190px!important;border-radius:18px!important;border:1px solid #dbeafe!important;box-shadow:0 14px 38px rgba(15,23,42,.08)!important;overflow:hidden!important;background:#fff!important}
.rich-editor.tinymce-upgraded .tox-editor-container{background:#fff!important}
.rich-editor.tinymce-upgraded .tox-editor-header{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;box-shadow:none!important}
.rich-editor.tinymce-upgraded .tox-toolbar,.rich-editor.tinymce-upgraded .tox-toolbar__primary,.rich-editor.tinymce-upgraded .tox-toolbar-overlord{background:#f8fafc!important}
.rich-editor.tinymce-upgraded .tox-tbtn{border-radius:10px!important}
.rich-editor.tinymce-upgraded .tox-edit-area{background:#fff!important}
.rich-editor.tinymce-upgraded .tox-edit-area__iframe{display:block!important;background:#fff!important;min-height:130px!important;width:100%!important}
.rich-editor.tinymce-upgraded .tox-statusbar{background:#f8fafc!important;border-top:1px solid #e2e8f0!important}
.rich-editor.tinymce-fallback{border:1px solid #dbeafe!important;border-radius:18px!important;background:#f8fbff!important;padding:10px!important;overflow:visible!important}
.rich-editor.tinymce-fallback textarea{display:block!important;width:100%!important;min-height:220px!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:12px!important;background:#fff!important;color:#0f172a!important;font:inherit!important}
.option-editor-card .rich-editor.tinymce-upgraded .tox-tinymce{min-height:170px!important;box-shadow:0 8px 22px rgba(15,23,42,.06)!important}
.tox.tox-tinymce-aux{z-index:10000!important}
.exam-upgrade-note{display:none!important}

/* Simple Exam Editor - stabil tanpa TinyMCE */
.simple-word-editor{border:1px solid #dbe7f3;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 28px rgba(15,23,42,.06)}
.simple-word-editor .rich-toolbar{display:flex!important;flex-wrap:wrap;gap:7px;padding:10px 12px;background:linear-gradient(135deg,#f8fafc,#eff6ff);border-bottom:1px solid #dbe7f3;position:sticky;top:0;z-index:1}
.simple-word-editor .rich-toolbar button{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:10px;padding:7px 10px;font-weight:700;font-size:12px;cursor:pointer;box-shadow:0 4px 10px rgba(15,23,42,.05)}
.simple-word-editor .rich-toolbar button:hover{background:#0f766e;color:#fff;border-color:#0f766e;transform:translateY(-1px)}
.simple-word-editor .rich-box{display:block!important;min-height:230px;padding:18px;background:#fff;color:#0f172a;line-height:1.7;outline:none;font-size:15px;overflow:auto;border:0!important;border-radius:0!important;box-shadow:none!important}
.simple-word-editor.mini .rich-box{min-height:130px;padding:13px;font-size:14px}
.simple-word-editor .rich-box:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}
.simple-word-editor .rich-box:focus{background:linear-gradient(180deg,#ffffff,#fbfdff)}
.simple-word-editor table,.rich-output table{width:100%;border-collapse:collapse;margin:10px 0;background:#fff}
.simple-word-editor td,.simple-word-editor th,.rich-output td,.rich-output th{border:1px solid #cbd5e1;padding:8px;vertical-align:top}
.simple-word-editor pre,.rich-output pre{background:#0f172a;color:#e2e8f0;padding:13px;border-radius:14px;white-space:pre-wrap;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.simple-word-editor code,.rich-output code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;padding:2px 6px;border-radius:7px}
.simple-word-editor img,.rich-output img{max-width:100%;height:auto;border-radius:14px}
.math-inline{display:inline-block;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:1px 7px;font-weight:700}
.import-modal-card .bulk-question-area,.bulk-question-area{width:100%;min-height:360px;border:1px solid #cbd5e1;border-radius:18px;padding:16px;background:#f8fafc;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.65;resize:vertical;box-shadow:inset 0 2px 10px rgba(15,23,42,.04)}
.import-format-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:12px 0;padding:12px;border-radius:16px;background:#ecfeff;border:1px solid #bae6fd;color:#075985;font-size:13px}
.import-format-help b{grid-column:1/-1;color:#0f172a}
.import-format-help code{background:#fff;border:1px solid #bae6fd;border-radius:6px;padding:2px 6px}
.exam-head-actions{gap:8px;flex-wrap:wrap}
@media(max-width:760px){.simple-word-editor .rich-toolbar{position:relative}.simple-word-editor .rich-toolbar button{font-size:11px;padding:6px 8px}.simple-word-editor .rich-box{min-height:190px}.import-modal-card .bulk-question-area{min-height:300px}}
