:root{--r:#d62828;--g:#1f9d55;--y:#e9a800;--b:#2563eb;--bg:#f4f5f7;--t:#1c1f26;--m:#6b7280}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
body{font:16px system-ui,sans-serif;background:var(--bg);color:var(--t)}
#app{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:84px}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;background:var(--r);color:#fff;padding:14px 16px}
.top div{flex:1}.top small{display:block;opacity:.85;font-size:12px}.bk,.bell{color:#fff;text-decoration:none;font-size:22px;position:relative}
.bell i{position:absolute;top:-6px;right:-8px;background:#fff;color:var(--r);font:700 11px sans-serif;border-radius:9px;padding:1px 5px}
main{padding:14px}h1{font-size:28px;margin:10px 0}h3{margin:16px 0 8px}p{margin:4px 0;color:var(--m);font-size:14px}
.card{background:#fff;border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0001}
.inc{border-left:6px solid var(--y)}.inc.TINGGI{border-color:var(--r)}.inc b{color:var(--r)}
.stat{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;border:2px solid var(--g)}
.stat.NONAKTIF{border-color:var(--y)}.stat.TUGAS{border-color:var(--r)}.stat button{background:var(--bg);border:0;border-radius:10px;padding:10px;font-weight:700}
.bk.card,.card.bk{background:#fff1f1;border:2px solid var(--r)}
.btn{display:block;width:100%;min-height:52px;border:0;border-radius:14px;background:var(--b);color:#fff;font:700 16px system-ui;text-align:center;text-decoration:none;line-height:52px;padding:0 10px;cursor:pointer;margin:6px 0}
.btn.red{background:var(--r)}.btn.green{background:var(--g)}.btn.ghost,.ghost{background:#e8ebf0;color:var(--t)}.btn.big{min-height:64px;line-height:64px;font-size:18px}
.ghost{border:0;border-radius:12px;padding:12px;width:100%;font-weight:600}.row{display:flex;gap:8px}.row>*{flex:1}
input,select,textarea{width:100%;padding:14px;border:1px solid #d5d9e0;border-radius:12px;font:16px system-ui;margin:6px 0;background:#fff}
textarea{min-height:90px}.logo{font:800 24px system-ui;color:var(--r);text-align:center;padding:14px}
.pub main,.pub{padding:14px}code{font:700 24px monospace;color:var(--r)}.ok{text-align:center;border:2px solid var(--g)}
.map{height:300px;border-radius:14px;margin:10px 0;z-index:0}.map.s{height:160px}
.pin{font-size:24px;text-align:center;filter:drop-shadow(0 1px 2px #0006)}
.step{display:flex;gap:8px;padding:6px 0;color:var(--m)}.step.on{color:var(--t);font-weight:700}.step.done{color:var(--g)}
.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.chips span{white-space:nowrap;font-size:12px;padding:6px 10px;border-radius:99px;background:#e8ebf0}.chips .on{background:var(--r);color:#fff}
.tabs{display:flex;background:#e8ebf0;border-radius:12px;padding:4px;margin-bottom:12px}.tabs a{flex:1;text-align:center;padding:10px;border-radius:9px;font-weight:700;color:var(--m);text-decoration:none}.tabs .on{background:#fff;color:var(--t)}
.mem{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef0f3}.mem:last-child{border:0}.mem div{flex:1}.mem small{color:var(--m)}
.av{width:40px;height:40px;border-radius:50%;background:var(--r);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.chat{display:flex;flex-direction:column;gap:8px;margin-bottom:70px}.msg{display:flex;gap:6px;align-items:flex-end;max-width:86%}.msg.me{align-self:flex-end;flex-direction:row-reverse}
.bub{background:#fff;border-radius:16px 16px 16px 4px;padding:8px 12px}.me .bub{background:var(--r);color:#fff;border-radius:16px 16px 4px 16px}.bub b{display:block;font-size:12px;color:var(--b)}.bub small{display:block;font-size:10px;opacity:.7;text-align:right}.bub img,.bub video{max-width:200px;border-radius:10px;display:block}
.comp{position:fixed;bottom:64px;left:0;right:0;max-width:520px;margin:auto;display:flex;gap:6px;padding:8px;background:#fff;border-top:1px solid #e5e7eb;align-items:center}.comp input{margin:0}.comp label,.comp button{font-size:22px;background:none;border:0;padding:6px;cursor:pointer}.comp .send{color:var(--r)}
nav{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:auto;display:flex;background:#fff;border-top:1px solid #e5e7eb;padding-bottom:env(safe-area-inset-bottom);z-index:6}
nav a{flex:1;text-align:center;padding:8px 0;color:var(--m);text-decoration:none;font-size:11px;min-height:56px}nav a span{display:block;font-size:22px}nav .on{color:var(--r);font-weight:700}
.toast{position:fixed;top:10px;left:10px;right:10px;max-width:500px;margin:auto;background:#fff;border-left:6px solid var(--r);border-radius:14px;padding:14px;box-shadow:0 6px 24px #0004;z-index:99}.toast a{display:inline-block;margin-top:8px;background:var(--r);color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700}
.sheet{position:fixed;inset:0;background:#0007;z-index:50;display:flex;align-items:flex-end}.sheet>div{background:#fff;width:100%;max-width:520px;margin:auto;border-radius:20px 20px 0 0;padding:18px}
.tg{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f3}.tg input{width:auto}
@media(min-width:900px){#app{box-shadow:0 0 30px #0002}}
