:root{--bg: #F7F3EC;--panel: #FFFCF5;--card: #FFFFFF;--line: #EAE2D6;--line-soft: #F1EADF;--field: #E2D7C6;--band: #FAF3E9;--ink: #40392B;--ink-2: #4F4636;--muted: #6E6556;--faint: #7A7062;--label: #5A4A2E;--accent: #FD8F01;--on-accent: #2A1A00;--accent-soft: #FCE7C7;--accent-ink: #6B3900;--link: #9A5200;--pali: #6B5A3A;--ok: #2F6B3E;--warn: #7A4100;--bad: #8A2E22;--serif: Lora, Georgia, serif;--sans: "Public Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{color:#6b3900}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:flex;min-height:100vh}.side{flex:0 0 252px;background:var(--panel);border-right:1px solid var(--line);padding:18px 14px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow:auto}.col{flex:1;min-width:0;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:1240px;align-self:center;padding:28px 36px 48px;display:flex;flex-direction:column;gap:22px}.topbar,.tabbar{display:none}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 14px}.brand-mark{width:30px;height:34px;border-radius:15px 15px 8px 8px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}.brand-name{font-family:var(--serif);font-size:19px;font-weight:600}.brand-tag{font-size:11px;font-weight:700;letter-spacing:1px;color:#7a4100;background:var(--accent-soft);padding:3px 7px;border-radius:6px}.nav-head{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--faint);padding:16px 10px 6px}.nav-link{height:40px;padding:0 10px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}.nav-link:hover{background:#f6eee1;color:var(--ink-2)}.nav-link.active{font-weight:700;color:var(--accent-ink);background:var(--accent-soft)}.badge{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.me{display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid #EDE4D6;margin-top:auto}.me-name{font-size:14px;font-weight:700}.me-role{font-size:12px;color:var(--muted)}.signout{border:0;background:transparent;color:var(--link);font-size:13px;font-weight:600;padding:0}@media(max-width:860px){.side{display:none}.topbar{display:flex;position:sticky;top:0;z-index:5;height:56px;padding:0 12px 0 16px;align-items:center;gap:10px;background:var(--panel);border-bottom:1px solid var(--line)}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:5;height:68px;background:var(--panel);border-top:1px solid var(--line)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--muted);position:relative}.tab.active{font-weight:700;color:var(--link)}.tab .badge{position:absolute;top:6px;left:54%;min-width:18px;height:18px;font-size:11px}.main{padding:16px 16px 100px;gap:16px}.h1{font-size:24px!important}.hide-sm{display:none!important}.stack-sm{flex-direction:column!important;align-items:stretch!important}.stack-sm>*{flex:0 0 auto!important}}.h1{margin:0;font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.2}.lead{font-size:16px;color:var(--ink-2);margin-top:6px;line-height:1.5}.sec{margin:0 2px 10px;font-size:13px;letter-spacing:.6px;font-weight:700;color:var(--label);text-transform:uppercase}.mut{color:var(--muted)}.small{font-size:13px}.serif{font-family:var(--serif)}.date{font-size:13px;font-weight:700;color:var(--link)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px}.pad{padding:18px}.band{background:var(--band);border-radius:16px;padding:16px 18px}.row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line-soft);color:var(--ink)}.row:first-child{border-top:0}a.row:hover{background:#fffaf2;color:var(--ink)}.split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.grow3{flex:3 1 480px;min-width:0}.grow2{flex:2 1 300px;min-width:0}.stack{display:flex;flex-direction:column;gap:14px}.head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.head>.grow{flex:1 1 320px;min-width:0}.btn,.btn2{height:46px;padding:0 20px;border-radius:12px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;white-space:nowrap}.btn{background:var(--accent);color:var(--on-accent)}.btn:hover{color:var(--on-accent);filter:brightness(.97)}.btn2{background:var(--card);color:var(--ink);border:1px solid var(--field)}.btn2:hover{color:var(--ink);background:#fffaf2}.btn-danger{background:var(--bad);color:#fff}.btn:disabled,.btn2:disabled{opacity:.5;cursor:not-allowed}.linkbtn{border:0;background:transparent;color:var(--link);font-weight:700;padding:0}.in{width:100%;height:46px;border-radius:12px;border:1px solid var(--field);background:#fff;padding:0 14px;font-size:15px}textarea.in{height:auto;padding:12px 14px;line-height:1.55;resize:vertical}.in.err{border-color:var(--bad)}.lab{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.labrow{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.labrow .lab{flex:1;margin:0}.count{font-size:12px;color:var(--muted)}.count.over{color:var(--bad);font-weight:700}.hint{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.45}.fielderr{font-size:13px;color:var(--bad);margin-top:6px;font-weight:600}.choice{flex:1 1 160px;display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--field);background:#fff;cursor:pointer}.choice.on{border:2px solid var(--accent);background:#fff6e8}.choice input{margin-top:3px;accent-color:var(--accent)}.pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.p-draf{background:#f1ede6;color:var(--label)}.p-diajukan{background:#ece7f3;color:#4e4170}.p-dikembalikan{background:#fce3bc;color:#7a4100}.p-terbit{background:#e3f0e6;color:var(--ok)}.p-ditarik{background:#eee9e1;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{height:36px;padding:0 14px;border-radius:18px;font-size:13px;font-weight:600;background:#fff;color:var(--ink-2);border:1px solid var(--field);display:inline-flex;align-items:center}.chip.on{background:var(--ink);color:#fffcf5;border-color:var(--ink)}.note{margin-top:10px;padding:12px;border-radius:12px;background:#fff4e2;border:1px solid #F6D7A6;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.note.done{background:#f4f1eb;border-color:var(--line);opacity:.75}.banner{padding:12px 14px;border-radius:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:14px;line-height:1.5}.banner.warn{background:#fff4e2;border:1px solid #F6D7A6}.banner.bad{background:#fff4f1;border:1px solid #F0C3B8}.banner.ok{background:#eef6ef;border:1px solid #CFE3D3}.saved{font-size:13px;color:var(--muted)}.saved.ok{color:var(--ok)}.saved.bad{color:var(--bad);font-weight:600}.scrim{position:fixed;inset:0;z-index:20;background:#2e2a2273;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{width:100%;max-width:560px;max-height:100%;overflow:auto;background:var(--panel);border-radius:20px;padding:24px;box-shadow:0 20px 60px #2e2a2240;display:flex;flex-direction:column;gap:16px}.dialog h2{margin:0;font-family:var(--serif);font-size:23px;font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.face{display:inline-flex;align-items:flex-end;justify-content:center;flex:none;font-family:var(--serif);font-weight:600;color:var(--label)}.phone{width:300px;height:580px;border-radius:32px;background:#1e1a14;padding:10px}.phone-screen{width:100%;height:100%;border-radius:24px;background:#fffcf5;padding:22px 16px;overflow:hidden;display:flex;flex-direction:column;gap:14px}.ph-card{border-radius:16px;background:#f4ecdf;padding:14px;box-shadow:0 0 0 2px var(--accent)}.ph-block{border-radius:16px;background:#efe7da}.empty{padding:40px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.skeleton{height:64px;border-radius:16px;background:linear-gradient(90deg,#efe7da,#f6f0e6,#efe7da);background-size:200% 100%;animation:sh 1.4s infinite}@keyframes sh{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.person{display:flex;gap:14px;align-items:flex-start;padding:16px;color:var(--ink)}.person:hover{background:#fffaf2;color:var(--ink)}@media(max-width:860px){.people{grid-template-columns:1fr}}.step{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:19px;font-weight:600}.step span{width:28px;height:28px;border-radius:14px;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--sans);font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.chip.big{height:40px;font-size:14px}.chip.pick{background:var(--accent-soft);color:#7a4100;border:2px solid var(--accent)}.chip:disabled{opacity:.55;cursor:not-allowed}.stack-tight{display:flex;flex-direction:column;gap:10px}.gets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.gets li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}.gets li svg{color:var(--ok);margin-top:3px}.quote{margin:0;padding:14px 16px;border-radius:14px;background:var(--band);font-family:var(--serif);font-size:16px;line-height:1.6}.invite-col{width:100%;max-width:620px;display:flex;flex-direction:column;gap:18px;align-self:center}.btnd{color:var(--bad)}.stack-tight>.choice{flex:none}.teks{display:grid;grid-template-columns:220px minmax(300px,340px) minmax(0,1fr);gap:20px;align-items:start}.teks-screens{overflow:hidden}.teks-screens button{width:100%;display:flex;align-items:center;gap:8px;padding:11px 16px;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--ink);font-size:14px;text-align:left}.teks-screens button:first-child{border-top:0}.teks-screens button.on{font-weight:700;background:var(--accent-soft)}.teks-screens button:hover:not(.on){background:#fffaf2}.teks-phone{display:flex;flex-direction:column;align-items:center;gap:10px;position:sticky;top:16px}.phone.tall{height:640px}.phone-screen.scroll{overflow-y:auto;gap:10px;font-size:13px}.slot{font:inherit;color:inherit;background:transparent;border:0;padding:1px 3px;margin:-1px -3px;border-radius:6px;text-align:left;cursor:pointer;outline:1.5px dashed #E0A458;outline-offset:1px;overflow-wrap:anywhere}.slot.block{display:block;width:calc(100% + 6px)}.slot:hover,.slot.changed{background:#fff1dc}.slot.on{outline:2px solid var(--accent);background:#ffe7c2}.slot.plain,.slot.plain.changed{outline:0;background:transparent}.ph-hero{border-radius:18px;padding:14px;background:linear-gradient(#f7d9a8,#f2c38a);color:#3a2a10;display:flex;flex-direction:column;gap:4px}.ph-btn{align-self:flex-start;margin-top:6px;padding:6px 14px;border-radius:10px;background:#2e2a22;color:#fffcf5;font-size:12px;font-weight:700}.ph-row{border-radius:14px;background:#f4ecdf;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.ph-h{font-family:var(--serif);font-size:17px;font-weight:600}.ph-chip{padding:4px 10px;border-radius:12px;border:1px solid var(--field);font-size:11px;background:#fff}.ph-card.plain{box-shadow:none;background:#f4ecdf;display:flex;flex-direction:column;gap:2px;padding:12px}.ph-when{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--faint);margin-bottom:-6px}.ph-cover{height:110px;border-radius:16px;background:linear-gradient(135deg,#ead3ae,#d9b784);flex:none}.ph-moment{border-left:2px solid #E2D2B6;padding-left:12px;display:flex;flex-direction:column;gap:4px}.ph-over{font-size:10px!important;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--link)}.ph-link{font-size:12px;font-weight:700;color:var(--link)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:22px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:6px}.why{background:#f6f0fa;border:1px solid #E3D8EE;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.55}.diff-old{text-decoration:line-through;color:var(--muted)}@media(max-width:1100px){.teks{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.teks-screens{grid-column:1 / -1;display:flex;flex-wrap:wrap}.teks-screens button{width:auto;border-top:0}}@media(max-width:860px){.teks{grid-template-columns:1fr}.teks-phone{position:static}}.reader{font-family:var(--serif)}.r-head{text-align:center;margin:4px 0 18px}.r-title{font-size:19px;font-weight:600;letter-spacing:.5px}.r-sub{font-size:14px;color:var(--muted);margin-top:2px}.r-section{display:flex;align-items:center;gap:12px;margin:22px 0 14px;font-size:15px;font-weight:600;color:var(--label)}.r-section:before,.r-section:after{content:"";flex:1;height:1px;background:var(--line)}.r-bait{margin:0 0 18px;font-family:var(--serif)}.r-bait.intro{color:var(--muted);font-size:14px}.r-pali{font-style:italic;color:var(--pali);font-size:16px;line-height:1.6}.r-pali+.r-terj,.r-pali:last-of-type+.r-terj{margin-top:6px}.r-terj{font-size:16px;line-height:1.6}.r-rubric{font-family:var(--sans);font-size:12px;letter-spacing:.6px;color:var(--muted);font-variant:small-caps;margin-top:4px}.r-was .r-pali,.r-was .r-terj{color:var(--muted)}.r-same{display:flex;gap:10px;align-items:baseline;padding:2px 6px;font-size:13px;color:var(--muted)}.r-same-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--serif)}.r-change.baru{border-left:4px solid var(--ok)}.r-change.ubah{border-left:4px solid var(--accent)}.r-change.hapus{border-left:4px solid var(--bad)}.row-card.changed{border-left:4px solid var(--accent)}.row-card.attn{border-color:#f6d7a6;box-shadow:0 0 0 2px #fce3bc}.row-tools{display:inline-flex;gap:14px}.row-tools .linkbtn:disabled{opacity:.35;cursor:default}.row-add{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}textarea.in.pali{font-family:var(--serif);font-style:italic;color:var(--pali)}.more-sheet{display:none}@media(max-width:860px){.more-sheet{display:flex;flex-direction:column;gap:2px;position:fixed;right:8px;bottom:76px;z-index:6;min-width:220px;padding:8px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 40px #2e2a2233}button.tab{border:0;background:transparent}}.seg{display:inline-flex;border:1px solid var(--field);border-radius:10px;overflow:hidden;background:#fff}.seg button{border:0;background:transparent;padding:6px 11px;font-size:13px;font-weight:600;color:var(--ink-2)}.seg button+button{border-left:1px solid var(--field)}.seg button.on{background:var(--ink);color:#fffcf5}.seg[aria-label="Ukuran huruf"] button:nth-child(1){font-size:11px}.seg[aria-label="Ukuran huruf"] button:nth-child(3){font-size:16px}.seg.wide{display:flex}.seg.wide button{flex:1;padding:10px;font-size:14px}.reader-frame{display:flex;flex-direction:column;align-items:center;gap:10px}.reader-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.phone-shell{position:relative;width:384px;max-width:100%;border-radius:34px;background:#1e1a14;padding:12px}.phone-iframe{width:100%;height:100%;border:0;border-radius:24px;background:#fffcf5;display:block}.phone-wait{position:absolute;inset:12px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#fffcf5;color:var(--muted);font-size:14px}.editor-split{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}.editor-preview{position:sticky;top:16px}.send-bar{position:sticky;bottom:12px;z-index:2}.palibar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border-radius:14px;background:var(--band);border:1px solid var(--line);position:sticky;top:8px;z-index:3}.palibar button{min-width:40px;height:40px;border-radius:10px;border:1px solid var(--field);background:#fff;font-family:var(--serif);font-size:18px;color:var(--pali)}.palibar button:hover:not(:disabled){background:var(--accent-soft)}.palibar button:disabled{opacity:.45}.palibar button.case{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink-2);margin-left:auto;padding:0 10px}.palibar button.case.on{background:var(--ink);color:#fffcf5}.row-card.active{box-shadow:0 0 0 2px var(--accent)}.stanza-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.stanza-chips .chip{min-width:40px;justify-content:center;flex:none}.stanza-chips .chip.amber:not(.on){background:#fce3bc;border-color:#f6d7a6}.phone-only{display:none!important}@media(max-width:1180px){.editor-split{grid-template-columns:minmax(0,1fr) 340px}.phone-shell{width:340px}}@media(max-width:860px){.phone-only{display:flex!important}.desk-only{display:none!important}.editor-split{grid-template-columns:minmax(0,1fr)}.send-bar{position:static!important}.editor-preview{position:static}.view-tulis .editor-preview,.view-lihat .editor-rows,.row-card.phone-hide{display:none}.phone-shell{width:100%;border-radius:26px;padding:8px}.palibar.dock{position:fixed;inset:auto 0 68px;border-radius:0;flex-wrap:nowrap;overflow-x:auto;z-index:7}.palibar.dock button{flex:none}}.card.dim{opacity:.62}.field-changed{border-left:3px solid var(--accent);padding-left:10px;margin-left:-13px}
