/* =====================================================================
   EDITOR BLOK (studio) — layar penuh di atas aplikasi. Semua kelas diawali .sd- supaya tidak bentrok dengan app.css.
   ===================================================================== */
html.sd-open,html.sd-open body{overflow:hidden}
.sd{position:fixed;inset:0;z-index:76;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr);height:100vh;height:100dvh;background:#070d18;color:#e6ecf5;font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif}
.sd *{box-sizing:border-box}
.sd button{font-family:inherit}
/* bar atas */
.sd-top{display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid rgba(80,103,149,.32);background:#0a1322;min-width:0}
.sd-nm{display:flex;flex-direction:column;min-width:0;flex:1}
.sd-nm input{background:transparent;border:1px solid transparent;border-radius:8px;color:#fff;font:750 15px Inter,Arial,sans-serif;padding:3px 6px;min-width:0;width:100%;max-width:420px;outline:0}
.sd-nm input:hover{border-color:rgba(86,111,165,.42)}
.sd-nm input:focus{border-color:#6b5cff;background:#0d182b}
.sd-nm small{color:#7f93b0;font-size:10.5px;padding-left:7px;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-nm small i{width:6px;height:6px;border-radius:50%;background:#28e58d;display:inline-block;flex:0 0 auto}
.sd-nm small i.wait{background:#ffc56a}
.sd-nm small i.bad{background:#ff6b81}
.sd-ib{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(86,111,165,.42);background:#0f1b2e;color:#dfe6ef;cursor:pointer;flex:0 0 auto;padding:0}
.sd-ib svg{width:16px;height:16px}
.sd-ib:disabled{opacity:.35;cursor:default}
.sd-ib.is-on{border-color:#6b5cff;background:rgba(98,88,255,.2);color:#fff}
.sd-dev{display:flex;padding:3px;border-radius:11px;border:1px solid rgba(86,111,165,.42);background:#0d182b;flex:0 0 auto}
.sd-dev button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#9aabc2;font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer}
.sd-dev button svg{width:14px;height:14px}
.sd-dev button.is-on{background:#5a47ff;color:#fff}
.sd-go{border:0;border-radius:10px;padding:9px 14px;background:linear-gradient(135deg,#5a47ff,#7a6dff);color:#fff;font-weight:750;font-size:12px;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.sd-go .s{display:none}
.sd-gb{border:1px solid rgba(86,111,165,.42);border-radius:10px;padding:8px 12px;background:#0f1b2e;color:#eef2f8;font-weight:700;font-size:12px;cursor:pointer;display:flex;gap:6px;align-items:center;white-space:nowrap;flex:0 0 auto}
.sd-gb svg{width:14px;height:14px}
.sd-gb.is-on{border-color:#6b5cff;background:rgba(98,88,255,.2)}
.sd-gb:disabled{opacity:.5;cursor:default}
/* tiga kolom */
.sd-body{display:grid;grid-template-columns:268px minmax(0,1fr) 300px;min-height:0}
.sd-pan{min-height:0;overflow-y:auto;overflow-x:hidden;background:#0b1424;border-right:1px solid rgba(80,103,149,.28);overscroll-behavior:contain}
.sd-pan.right{border-right:0;border-left:1px solid rgba(80,103,149,.28)}
.sd-tabs{display:flex;gap:4px;padding:10px 10px 0;position:sticky;top:0;background:#0b1424;z-index:2}
.sd-tabs button{flex:1;border:0;background:transparent;color:#8fa0b8;font-size:11.5px;font-weight:750;padding:9px 6px;border-radius:9px 9px 0 0;border-bottom:2px solid transparent;cursor:pointer}
.sd-tabs button.is-on{color:#fff;border-bottom-color:#6b5cff}
.sd-pb{padding:12px 12px 28px}
.sd-ph{font-size:9.5px;font-weight:800;letter-spacing:.08em;color:#7f93b0;text-transform:uppercase;margin:14px 2px 8px}
.sd-ph:first-child{margin-top:2px}
.sd-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sd-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:74px;border:1px solid rgba(86,111,165,.38);border-radius:12px;background:#0f1b2e;color:#dfe6ef;font-size:11px;font-weight:700;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;text-align:center;padding:6px}
.sd-tile svg{width:22px;height:22px;color:#a596ff}
.sd-tile:hover,.sd-tile:focus-visible{border-color:rgba(140,130,255,.7);background:#131f37;outline:0}
.sd-hint{font-size:10.5px;color:#7f93b0;line-height:1.5;margin:10px 2px 0}
.sd-gal{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sd-g{border:1px solid rgba(86,111,165,.38);border-radius:10px;overflow:hidden;background:#0f1b2e;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:0;color:inherit;text-align:left}
.sd-g img{width:100%;height:76px;object-fit:cover;display:block;pointer-events:none;background:#16223a}
.sd-g small{display:block;padding:5px 7px;font-size:9.5px;color:#9aabc2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-g.pick{cursor:pointer}
.sd-g.pick img{height:50px}
.sd-g.is-on{outline:2px solid #8d7dff;outline-offset:-2px}
.sd-up{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed rgba(140,130,255,.55);border-radius:12px;padding:12px;color:#dfe6ef;font-size:11.5px;font-weight:700;background:rgba(98,88,255,.07);cursor:pointer;margin-bottom:10px;text-align:center}
.sd-up svg{width:16px;height:16px;color:#a596ff;flex:0 0 auto}
.sd-up.busy{opacity:.6;pointer-events:none}
/* kanvas */
.sd-cvw{min-height:0;overflow:auto;background:#0e1626 radial-gradient(rgba(120,140,180,.13) 1px,transparent 1px) 0 0/18px 18px;position:relative;overscroll-behavior:contain}
.sd-cv{padding:22px 24px 120px;display:flex;flex-direction:column;align-items:center;position:relative;min-height:100%}
.sd-inbox{width:100%;max-width:680px;border-radius:14px 14px 0 0;background:#fff;color:#1d2433;font:13px/1.45 Arial,sans-serif;padding:10px 16px;border-bottom:1px solid #e6e9ef}
.sd-inbox .sd-r{display:flex;gap:8px;align-items:center;padding:5px 0;min-width:0}
.sd-inbox .sd-r + .sd-r{border-top:1px solid #f0f2f6}
.sd-inbox label{flex:0 0 92px;color:#7a8394;font-size:12px}
.sd-inbox input{flex:1;min-width:0;border:0;outline:0;font:13px Arial,sans-serif;color:#1d2433;padding:4px 0;background:transparent}
.sd-inbox input::placeholder{color:#a0a8b8}
.sd-inbox .sd-from{flex:1;min-width:0;color:#1d2433;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-inbox .sd-chip{border:1px solid #d9dce5;border-radius:999px;padding:2px 8px;font-size:11px;color:#5a47ff;background:#f4f2ff;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.sd-inbox .sd-cnt{font-size:10.5px;color:#a0a8b8;white-space:nowrap;flex:0 0 auto}
.sd-inbox .sd-cnt.bad{color:#d9485f}
.sd-mail{width:100%;max-width:680px;border-radius:0 0 14px 14px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.sd-em{padding:24px 12px 26px;border-radius:0 0 14px 14px}
.sd-card{margin:0 auto;position:relative;color:#1d2433}
.sd-blk{position:relative;outline:1px solid transparent;outline-offset:-1px;transition:outline-color .12s}
.sd-blk:hover{outline-color:rgba(107,92,255,.55)}
.sd-blk.is-sel{outline:2px solid #6b5cff;outline-offset:-2px;z-index:3}
.sd-blk.ghosted{opacity:.35}
.sd-blk.repl{box-shadow:inset 0 0 0 3px #6b5cff}
/* isi email: gaya aplikasi tidak boleh ikut (tampilan = email sungguhan) */
.sd-bc,.sd-bc *{all:revert}
.sd-bc a{cursor:text}
.sd-bc [contenteditable]{outline:0;cursor:text;min-width:20px}
.sd-bc [contenteditable]:empty::before{content:attr(data-ph);color:#a0a8b8}
.sd-bc .sd-noimg{display:block;border:2px dashed #c9cfdc;border-radius:10px;padding:26px 10px;text-align:center;color:#8a93a6;font:12px Arial,sans-serif;background:#f6f7fa}
.sd-blk[data-t="space"] > .sd-bc{background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(107,92,255,.07) 6px 12px)}
.sd-cv.dev-hp .sd-bc .sd-col{display:block!important;width:100%!important;padding:0!important}
.sd-cv.dev-hp .sd-bc .sd-col-t{padding-top:12px!important}
.sd-handle{position:absolute;left:-34px;top:50%;transform:translateY(-50%);width:26px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(86,111,165,.5);background:#16223a;color:#c9d4e6;cursor:grab;opacity:0;touch-action:none;transition:opacity .12s;padding:0;z-index:4}
.sd-handle svg{width:14px;height:14px}
.sd-blk:hover .sd-handle,.sd-blk.is-sel .sd-handle{opacity:1}
.sd-pill{position:absolute;right:6px;top:-15px;display:none;gap:2px;padding:3px;border-radius:10px;background:#5a47ff;box-shadow:0 6px 18px rgba(40,20,140,.45);z-index:5}
.sd-blk.is-sel .sd-pill{display:flex}
.sd-pill button{width:26px;height:24px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#fff;cursor:pointer;padding:0}
.sd-pill button:hover{background:rgba(255,255,255,.18)}
.sd-pill button svg{width:13px;height:13px}
.sd-pill .lb{font:700 10px Inter,Arial,sans-serif;color:#fff;padding:0 6px 0 4px;display:flex;align-items:center;letter-spacing:.02em}
.sd-drop{position:absolute;left:0;height:4px;border-radius:4px;background:#6b5cff;box-shadow:0 0 0 3px rgba(107,92,255,.25);pointer-events:none;z-index:9;display:none}
.sd-drop::before{content:"Lepas di sini";position:absolute;left:50%;top:-22px;transform:translateX(-50%);background:#6b5cff;color:#fff;font:700 10px Inter,Arial,sans-serif;padding:3px 8px;border-radius:999px;white-space:nowrap}
.sd-ghost{position:fixed;z-index:95;pointer-events:none;padding:8px 12px;border-radius:10px;background:#5a47ff;color:#fff;font:700 12px Inter,Arial,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.45);display:flex;align-items:center;gap:7px;transform:translate(-50%,-130%)}
.sd-ghost svg{width:15px;height:15px}
.sd-ghost img{width:54px;height:34px;object-fit:cover;border-radius:5px}
.sd-foot{padding:14px 24px 4px;text-align:center;color:#7a8394;font:12px/1.6 Arial,sans-serif;margin:0 auto}
.sd-foot u{color:#5a6475}
.sd-foot .lock{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;color:#a0a8b8;border:1px dashed #cdd2dc;border-radius:999px;padding:2px 8px}
.sd-foot .lock svg{width:11px;height:11px}
.sd-empty{margin:16px 24px;padding:30px;border:2px dashed #c9cfdc;border-radius:12px;text-align:center;color:#8a93a6;font:13px Arial,sans-serif}
.sd-viewbar{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:12px;color:#c8d1e0;font-size:12px;width:100%;max-width:680px}
.sd-viewbar svg{width:15px;height:15px}
.sd-viewbar .input,.sd-viewbar .csel{max-width:240px;min-height:34px;padding-top:6px;padding-bottom:6px}
.sd-viewbar small{color:#7f93b0}
.sd-vframe{display:block;width:100%;border:0;background:#fff;min-height:400px}
/* toolbar teks melayang */
.sd-ftb{position:fixed;z-index:90;display:none;align-items:center;gap:2px;padding:4px;border-radius:12px;background:#121d33;border:1px solid rgba(120,140,190,.45);box-shadow:0 12px 30px rgba(0,0,0,.45)}
.sd-ftb.is-on{display:flex}
.sd-ftb button{min-width:30px;height:30px;padding:0 7px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#e6ecf5;font:700 12px Inter,Arial,sans-serif;cursor:pointer}
.sd-ftb button:hover,.sd-ftb button.is-on{background:rgba(98,88,255,.3)}
.sd-ftb button svg{width:14px;height:14px}
.sd-ftb .sep{width:1px;height:20px;background:rgba(120,140,190,.35);margin:0 3px}
.sd-ftb .dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:conic-gradient(#e11d48,#f59e0b,#1CE07E,#2563eb,#6b5cff,#e11d48)}
.sd-pop{position:fixed;z-index:91;display:none;padding:10px;border-radius:12px;background:#121d33;border:1px solid rgba(120,140,190,.45);box-shadow:0 12px 30px rgba(0,0,0,.45);color:#e6ecf5;font-size:11.5px;max-width:calc(100vw - 16px)}
.sd-pop.is-on{display:block}
.sd-pop .sd-swg{display:grid;grid-template-columns:repeat(6,26px);gap:6px}
.sd-pop .sd-swg button{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;padding:0}
.sd-pop .var{display:grid;gap:2px;min-width:210px}
.sd-pop .var button{display:flex;justify-content:space-between;gap:10px;border:0;background:transparent;color:#e6ecf5;padding:8px 9px;border-radius:8px;font-size:12px;cursor:pointer;text-align:left}
.sd-pop .var button:hover{background:rgba(98,88,255,.2)}
.sd-pop .var small{color:#7f93b0}
.sd-pop input{width:260px;max-width:100%;border:1px solid rgba(86,111,165,.5);background:#0b1526;color:#fff;border-radius:8px;padding:8px;font-size:12px;outline:0;margin-top:8px;display:block}
.sd-pop .row{display:flex;gap:6px;margin-top:8px}
/* panel kanan: pengaturan */
.sd-pr{display:grid;gap:14px}
.sd-prh{display:flex;align-items:center;gap:9px;padding:2px 2px 4px}
.sd-prh .ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(98,88,255,.18);color:#c9bfff;flex:0 0 auto}
.sd-prh .ico svg{width:16px;height:16px}
.sd-prh b{font-size:13px;color:#fff}
.sd-prh small{display:block;color:#7f93b0;font-size:10.5px}
.sd-f{display:grid;gap:7px;min-width:0}
.sd-f > label{font-size:11px;font-weight:700;color:#c8d1e0;display:flex;justify-content:space-between;gap:6px}
.sd-f > label span{color:#7f93b0;font-weight:600}
.sd-rng{display:flex;align-items:center;gap:10px;min-width:0}
.sd-rng input[type=range]{flex:1;min-width:0;width:100%;accent-color:#6b5cff;height:22px;margin:0}
.sd-nb{display:flex;align-items:center;flex:0 0 auto;height:32px;border:1px solid rgba(86,111,165,.5);background:#0b1526;border-radius:9px;overflow:hidden}
.sd-nb:focus-within{border-color:#6b5cff;box-shadow:0 0 0 3px rgba(107,92,255,.2)}
.sd-nb input{width:40px;border:0;outline:0;background:transparent;color:#fff;font:700 12px Inter,Arial,sans-serif;text-align:right;padding:0 2px 0 6px;height:100%;min-width:0}
.sd-nb span{color:#7f93b0;font:600 10.5px Inter,Arial,sans-serif;padding:0 8px 0 2px}
.sd-nb.pm{width:100%}
.sd-nb.pm input{flex:1;text-align:center;padding:0}
.sd-nb.pm span{padding:0 4px 0 0}
.sd-nb button{width:30px;height:100%;border:0;background:#121f36;color:#c9d4e6;font:700 15px Inter,Arial,sans-serif;cursor:pointer;flex:0 0 auto;padding:0}
.sd-nb button:hover{background:#1b2a47;color:#fff}
.sd-seg{display:flex;padding:3px;border-radius:10px;border:1px solid rgba(86,111,165,.42);background:#0d182b}
.sd-seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:#9aabc2;font-size:11px;font-weight:700;padding:7px 4px;border-radius:7px;cursor:pointer;min-width:0;white-space:nowrap}
.sd-seg button svg{width:14px;height:14px}
.sd-seg button.is-on{background:#5a47ff;color:#fff}
.sd-sws{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.sd-sws button{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.18);cursor:pointer;padding:0}
.sd-sws button.is-on{box-shadow:0 0 0 2px #0b1424,0 0 0 4px #8d7dff}
.sd-sws .hex{width:84px;border:1px solid rgba(86,111,165,.5);background:#0b1526;color:#fff;border-radius:8px;padding:6px 8px;font:12px "JetBrains Mono",ui-monospace,monospace;outline:0}
.sd-sws .hex:focus{border-color:#6b5cff}
.sd-sws .clr{width:auto;border-radius:8px;padding:0 8px;height:26px;font-size:10.5px;color:#c8d1e0;background:#0f1b2e;border-color:rgba(86,111,165,.5)}
.sd-inp{width:100%;border:1px solid rgba(86,111,165,.5);background:#0b1526;color:#fff;border-radius:10px;padding:9px 10px;font-size:12px;outline:0;font-family:inherit}
.sd-inp:focus{border-color:#6b5cff}
.sd-inp.bad{border-color:#d9485f}
.sd-tg{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:#dfe6ef}
.sd-tg button{width:38px;height:22px;border-radius:999px;border:0;background:#2a3650;position:relative;cursor:pointer;flex:0 0 auto;padding:0}
.sd-tg button::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#9aabc2;transition:left .15s}
.sd-tg button.is-on{background:#5f4fff}
.sd-tg button.is-on::after{left:19px;background:#fff}
.sd-btn{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(86,111,165,.5);background:#0f1b2e;color:#eef2f8;border-radius:10px;padding:9px;font-size:11.5px;font-weight:700;cursor:pointer;text-align:center}
.sd-btn svg{width:14px;height:14px;flex:0 0 auto}
.sd-btn.pri{border-color:transparent;background:linear-gradient(135deg,#5a47ff,#7a6dff);color:#fff}
.sd-btn.danger{color:#ff9aab;border-color:rgba(202,73,94,.5);background:rgba(202,73,94,.1)}
.sd-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.sd-none{padding:18px 8px 6px;text-align:center;color:#7f93b0;font-size:12px;line-height:1.6}
.sd-none svg{width:26px;height:26px;color:#5f6e86;display:block;margin:0 auto 8px}
.sd-tip{padding:8px 10px;border:1px solid rgba(86,111,165,.38);border-radius:10px;background:#0f1b2e;font-size:11px;color:#9aabc2;line-height:1.5}
.sd-card2{padding:12px;border:1px solid rgba(86,111,165,.38);border-radius:12px;background:#0f1b2e;display:grid;gap:8px;font-size:11.5px;color:#c8d1e0;line-height:1.5}
.sd-card2 b{color:#fff}
.sd-card2 .big{font-size:20px;font-weight:800;color:#fff}
.sd-checks{display:grid;gap:6px}
.sd-checks div{display:flex;gap:7px;align-items:flex-start;font-size:11px;line-height:1.45;color:#c8d1e0}
.sd-checks svg{width:13px;height:13px;flex:0 0 auto;margin-top:2px}
.sd-checks .ok svg{color:#28e58d}
.sd-checks .wn svg{color:#ffc56a}
.sd-checks .bd{color:#ff9aab}
.sd-checks .bd svg{color:#ff6b81}
.sd.is-view .sd-pan.left{opacity:.35;pointer-events:none}
.sd-mbar{display:none}
.sd-sheetbg{display:none}
@media(max-width:1180px){.sd-body{grid-template-columns:240px minmax(0,1fr) 272px}.sd-top .hide-l{display:none}}
@media(max-width:620px){.sd-bc .sd-col{display:block!important;width:100%!important;padding:0!important}.sd-bc .sd-col-t{padding-top:12px!important}}
@media(max-width:900px){
  .sd{grid-template-rows:52px minmax(0,1fr) auto}
  .sd-top{padding:0 8px;gap:6px}
  .sd-top .sd-dev,.sd-top .sd-gb .t,.sd-top .hide-m{display:none}
  .sd-go .t{display:none}
  .sd-go .s{display:inline}
  .sd-nm input{font-size:14px;max-width:none}
  .sd-body{grid-template-columns:minmax(0,1fr)}
  .sd-pan{position:fixed;left:0;right:0;bottom:0;z-index:84;max-height:72vh;max-height:72dvh;border:0;border-top:1px solid rgba(120,140,190,.4);border-radius:20px 20px 0 0;transform:translateY(105%);transition:transform .22s;box-shadow:0 -20px 50px rgba(0,0,0,.5)}
  .sd-pan.right{border-left:0}
  .sd-pan.is-open{transform:none}
  .sd-pan::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:#3a4864;margin:8px auto 0}
  .sd-sheetbg{display:block;position:fixed;inset:0;z-index:83;background:rgba(3,8,16,.55);opacity:0;pointer-events:none;transition:opacity .2s}
  .sd-sheetbg.is-on{opacity:1;pointer-events:auto}
  .sd-cv{padding:12px 8px 30px}
  .sd-em{padding:14px 0 18px}
  .sd-handle{left:4px;opacity:1;width:26px;height:32px;background:rgba(22,34,58,.88)}
  .sd-blk:not(.is-sel) .sd-handle{opacity:0}
  .sd-inbox{padding:8px 12px}
  .sd-inbox label{flex-basis:70px}
  .sd-inbox .sd-r.from-r{display:none}
  .sd-mbar{display:flex;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#09101d;border-top:1px solid rgba(80,103,149,.35);overflow-x:auto}
  .sd-mbar button{flex:1 0 auto;min-width:58px;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:#9aabc2;font-size:10px;font-weight:700;padding:6px 4px;border-radius:10px;cursor:pointer}
  .sd-mbar button svg{width:20px;height:20px}
  .sd-mbar button.pri{color:#fff;background:rgba(98,88,255,.25)}
  .sd-mbar button.danger{color:#ff9aab}
  .sd-pill{display:none!important}
  .sd-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .sd-tile,.sd-g{touch-action:pan-y}
  .sd-tile{min-height:64px;font-size:10px;padding:4px}
  .sd-gal{grid-template-columns:1fr 1fr 1fr}
  .sd-inp,.sd-pop input,.sd-sws .hex,.sd-nb input,.sd-inbox input{font-size:16px}
  .sd-nb{height:38px}
  .sd-nb input{width:46px}
  .sd-nb button{width:38px}
}
/* toast aplikasi di atas editor (HP: di atas, supaya tidak menutupi bar bawah & lembar) */
@media(max-width:900px){html.sd-open .toast{bottom:auto;top:60px;left:12px;right:12px}}
.sd-nm b{font:750 14px Inter,Arial,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:7px}
.sd-done{padding-left:10px}
.sd-muted{color:#a0a8b8;font-weight:400}
.sd-code{border:1px solid rgba(86,111,165,.38);border-radius:10px;background:#0f1b2e;padding:8px 10px;font-size:11.5px;color:#c8d1e0}
.sd-code summary{cursor:pointer;font-weight:700}
.sd-code textarea{margin:8px 0;font:11px/1.5 "JetBrains Mono",ui-monospace,monospace;min-height:160px;resize:vertical}
.sd-card2 small{color:#7f93b0}
/* halaman kampanye: kartu "Isi email" */
.ed-design{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid rgba(86,111,165,.38);border-radius:14px;background:rgba(15,27,46,.6)}
.ed-thumb{position:relative;height:170px;border-radius:10px;overflow:hidden;background:#eef1f5;cursor:pointer;border:1px solid rgba(86,111,165,.38)}
.ed-thumb iframe{position:absolute;left:0;top:0;width:600px;height:680px;border:0;transform:scale(.25);transform-origin:0 0;pointer-events:none;background:#fff}
.ed-thumb::after{content:"";position:absolute;inset:0}
.ed-dinfo{display:grid;gap:8px;min-width:0}
.ed-dinfo b{font-size:14px;color:#fff}
.ed-dinfo small{color:#8fa0b8;font-size:11.5px;line-height:1.5}
.ed-dinfo .control-btn{justify-self:start}
.ed-tools2{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
@media(max-width:900px){.ed-design{grid-template-columns:96px minmax(0,1fr);gap:10px}.ed-thumb{height:120px}.ed-thumb iframe{transform:scale(.16)}}
