:root{
  --bg:#f5f7f6;--surface:#fff;--text:#17201d;--muted:#6c7874;--line:#e5ebe8;
  --brand:#0f766e;--brand2:#115e59;--soft:#e7f4f1;--danger:#b42318;--shadow:0 10px 30px rgba(15,35,29,.08);
}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.shell{min-height:100dvh;display:flex;flex-direction:column;max-width:860px;margin:0 auto;background:var(--surface);box-shadow:var(--shadow)}
.topbar{height:66px;display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);position:sticky;top:0;z-index:5}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d7eee8,#a8d8cc);font-weight:800;color:var(--brand2);overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}
.title{font-weight:800;font-size:16px}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.grow{flex:1}
.icon-btn{width:40px;height:40px;border:0;border-radius:12px;background:#f2f6f4;color:var(--text)}
.chat{flex:1;overflow:auto;padding:18px 14px 110px;background:linear-gradient(rgba(245,247,246,.92),rgba(245,247,246,.92)),radial-gradient(circle at 20% 20%,#dfeee9 0 2px,transparent 2px);background-size:auto,24px 24px}
.day{font-size:11px;color:var(--muted);text-align:center;margin:4px 0 18px}.msgrow{display:flex;margin:8px 0}.msgrow.me{justify-content:flex-end}.bubble{max-width:min(78%,620px);padding:10px 12px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 12px rgba(12,30,24,.04);white-space:pre-wrap;word-break:break-word}.me .bubble{background:var(--soft);border-color:#cfe7e1;border-radius:16px 16px 5px 16px}.meta{font-size:10px;color:var(--muted);margin-top:5px;text-align:right}.attachment{margin-top:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}
.composer{position:fixed;bottom:64px;left:50%;transform:translateX(-50%);width:min(860px,100%);padding:10px 12px;display:flex;gap:8px;align-items:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.4),#fff 25%);z-index:6}.composer textarea{resize:none;max-height:120px;min-height:44px;flex:1;border:1px solid var(--line);border-radius:15px;padding:11px 12px;outline:none;background:#fff}.composer textarea:focus{border-color:#9acdc2;box-shadow:0 0 0 3px #e6f4f1}.send{width:46px;height:46px;border:0;border-radius:50%;background:var(--brand);color:#fff;font-size:18px}.attach{width:46px;height:46px;border:0;border-radius:50%;background:#f1f5f3;font-size:19px}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(860px,100%);height:64px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:#fff;z-index:7}.nav button{border:0;background:#fff;color:var(--muted);font-size:12px;font-weight:700}.nav button.active{color:var(--brand)}
.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef8f5,#f8fbfa)}.card{width:min(430px,100%);background:#fff;padding:26px;border-radius:24px;box-shadow:var(--shadow);border:1px solid var(--line)}.logo{width:72px;height:72px;border-radius:22px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:28px;margin-bottom:18px}.card h1{font-size:25px;margin:0 0 8px}.card p{color:var(--muted);margin:0 0 24px;line-height:1.5}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:12px;font-weight:800}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:12px;padding:12px;outline:none;background:#fff}.primary{width:100%;border:0;border-radius:12px;padding:12px 14px;background:var(--brand);color:#fff;font-weight:800}.linkbtn{border:0;background:transparent;color:var(--brand);font-weight:800;padding:12px 0}.note{font-size:11px;color:var(--muted);margin-top:16px;line-height:1.5}
.page{padding:18px 14px 90px}.announce{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.announce h3{margin:0 0 6px;font-size:15px}.announce p{margin:0;color:#34413d;line-height:1.5}.announce time{display:block;color:var(--muted);font-size:11px;margin-top:9px}
.admin-shell{min-height:100dvh;background:#f4f7f6}.admin-top{height:62px;padding:0 18px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.admin-grid{display:grid;grid-template-columns:300px 1fr;min-height:calc(100dvh - 62px)}.side{border-right:1px solid var(--line);background:#fff}.side-head{padding:12px}.search{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px}.useritem{padding:12px 14px;border-top:1px solid var(--line);cursor:pointer}.useritem:hover,.useritem.active{background:#f2f8f6}.useritem b{display:block;font-size:13px}.useritem span{display:block;color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 6px;border-radius:99px;background:var(--brand);color:#fff;font-size:10px;font-weight:800}.panel{display:flex;flex-direction:column;min-width:0}.panel-head{padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;display:flex;gap:8px;align-items:center}.panel-body{padding:16px;overflow:auto;flex:1}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.small{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px}.tabs{display:flex;gap:6px}.tabs button{border:0;border-radius:10px;padding:8px 10px;background:#f1f5f3}.tabs .active{background:var(--brand);color:#fff}.admin-compose{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}.admin-compose textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px;resize:none}.section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}.section h2{font-size:17px;margin:0 0 14px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.danger{color:var(--danger)}
@media(max-width:720px){.admin-grid{grid-template-columns:1fr}.side{border-right:0}.panel.mobile-hide{display:none}.side.mobile-hide{display:none}.admin-top{gap:6px}.bubble{max-width:86%}}
/* v2: tampilan lebih sederhana seperti aplikasi chat */
.brandlock{display:flex;align-items:center;gap:14px;margin-bottom:18px}.brandlock .logo{margin:0;width:58px;height:58px;border-radius:18px;font-size:24px}.brandlock h1{margin:0}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--brand);margin-top:4px}.hero-copy{font-size:14px}.trustline{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 20px}.trustline span{font-size:11px;background:var(--soft);color:var(--brand2);padding:7px 9px;border-radius:999px;font-weight:800}.privacy-note{text-align:center;color:var(--muted);font-size:11px;margin:11px 0 2px}.admin-entry{display:block;margin:0 auto;font-size:12px;color:var(--muted)}
@media(max-width:520px){.login{padding:14px}.card{padding:22px;border-radius:20px}.hero-copy{font-size:13px}.trustline{gap:6px}.trustline span{font-size:10px}.topbar{height:64px}}
