:root{--bg:#0b1018;--panel:#111925;--panel2:#151f2d;--line:#253144;--text:#e8edf5;--muted:#8996a9;--orange:#f59e0b;--green:#35c48b;--red:#f87171;--blue:#60a5fa;--yellow:#fbbf24}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;background:#0e1520;border-right:1px solid #1d2938;padding:25px 16px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:2px 10px 32px}.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#f59e0b,#e46b18);display:grid;place-items:center;color:#10151d;font-weight:900;font-size:23px;box-shadow:0 7px 20px #f59e0b22}.brand strong{display:block;font-size:15px;letter-spacing:1.5px}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:2px;margin-top:4px}.side-label,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#748197}.side-label{padding:0 12px 12px}nav{display:grid;gap:5px}nav a{color:#9ba8ba;text-decoration:none;padding:12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-weight:600;transition:.2s}nav a span{font-size:17px;width:20px;text-align:center}nav a:hover{background:#172232;color:#fff}nav a.active{background:linear-gradient(90deg,#f59e0b20,#f59e0b08);color:#ffbd4a;border:1px solid #f59e0b25}.sidebar-bottom{margin-top:auto;padding:14px 10px;border:1px solid #253144;background:#111925;border-radius:11px;display:flex;gap:10px;align-items:center}.sidebar-bottom b{display:block;font-size:11px}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.online-dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #35c48b17}.main-content{min-width:0;flex:1}.topbar{height:92px;border-bottom:1px solid #1e2938;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#0d131d}.topbar h1{font-size:23px;margin:5px 0 0;font-weight:750;letter-spacing:-.4px}.top-actions{display:flex;align-items:center;gap:20px}.clock{font-size:13px;font-variant-numeric:tabular-nums;color:#c4cedb;font-weight:700;letter-spacing:1px}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:7px 10px;font-size:10px;letter-spacing:.8px;font-weight:800}.pill-sim{background:#302511;color:#f8bd4f;border:1px solid #5a431c}.pill-sim i,.live-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.page-body{padding:28px 34px 40px;max-width:1600px;margin:auto}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.welcome-row h2{font-size:21px;margin:7px 0;color:#f1f5f9}.welcome-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.button{border:0;border-radius:8px;padding:11px 15px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:7px;font-weight:750;font-size:12px;cursor:pointer;white-space:nowrap;transition:.18s}.button-primary{background:var(--orange);color:#17130a}.button-primary:hover{background:#ffc04d}.button-secondary{background:#202c3c;border:1px solid #344155;color:#dbe4ef}.button-secondary:hover,.button-ghost:hover{background:#29384b}.button-danger{background:#7f252b;color:#fff;border:1px solid #b33b44}.button-danger:hover{background:#9b3038}.button-ghost{background:transparent;color:#aab6c6;border:1px solid #344155}.button-small{padding:8px 11px}.full-button{width:100%;margin-top:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.stats-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 25px #0000000b}.stat-card{padding:18px 19px;min-width:0}.stat-head{display:flex;justify-content:space-between;align-items:center;color:#aab6c7;font-size:11px;font-weight:650;gap:10px}.icon-box{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:850;font-size:12px;flex-shrink:0}.icon-box.orange{background:#422b13;color:#ffb648}.icon-box.yellow{background:#3b3216;color:#fbd34d}.icon-box.green{background:#123a31;color:#54e0ad}.icon-box.blue{background:#172f4b;color:#7abaff}.stat-value{font-size:30px;font-weight:800;letter-spacing:-1px;margin:14px 0 12px;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;letter-spacing:0;color:#91a0b3;font-weight:600;margin-left:6px}.stat-value.compact{font-size:23px;letter-spacing:0}.stat-foot{color:#7f8da1;font-size:10px;display:flex;align-items:center;gap:8px}.stat-foot .status-dot{width:6px;height:6px}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:18px;margin-bottom:18px}.bottom-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.panel{padding:21px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.panel-heading h3{margin:0;font-size:14px;font-weight:750}.panel-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.mini-tag{font-size:10px;background:#202b3a;color:#b9c4d3;padding:5px 8px;border-radius:6px}.chart-wrap{height:260px;position:relative}.chart-wrap.tall{height:330px}.live-badge{font-size:9px;color:#4dd6a0;display:flex;align-items:center;gap:6px;background:#123229;padding:6px 8px;border-radius:6px}.session-number{color:#9aa7b9;font-size:10px;font-weight:800;letter-spacing:1.2px}.stopwatch{font-size:38px;font-weight:850;letter-spacing:1px;font-variant-numeric:tabular-nums;margin:13px 0 9px;color:#f7f9fc}.large-stopwatch{font-size:44px}.session-state{display:flex;align-items:center;gap:9px;color:#51d7a1;font-size:11px;font-weight:750;margin:8px 0 15px}.divider{height:1px;background:var(--line);margin:20px 0 13px}.session-summary,.setting-readout{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;color:#9ba8b9;font-size:11px}.session-summary b,.setting-readout b{color:#e3eaf3;font-size:12px}.empty-state{text-align:center;padding:22px 12px 10px}.empty-icon{font-size:31px;color:#6e7c91;margin-bottom:10px}.empty-state b{display:block;font-size:13px}.empty-state p{font-size:11px;color:var(--muted);line-height:1.6;max-width:250px;margin:8px auto 12px}.actuator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actuator{background:#151f2c;border:1px solid #253246;border-radius:10px;padding:13px;display:flex;align-items:center;gap:10px;min-width:0}.actuator-icon{display:grid;place-items:center;width:32px;height:32px;background:#222e3f;border-radius:8px;color:#aabbd0;font-size:18px}.actuator div{min-width:0;flex:1}.actuator b{display:block;font-size:11px}.actuator small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.state-chip{display:inline-block;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:850;letter-spacing:.3px;white-space:nowrap}.chip-on{color:#53dba4;background:#12392e}.chip-off{color:#9ba8b9;background:#253142}.chip-warn{color:#ffb65c;background:#402d17}.chip-blue{color:#82baff;background:#172f4a}.alarm-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #222d3d}.alarm-row:last-child{border:0}.alarm-symbol{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#402d17;color:#ffbd63;font-weight:900}.alarm-row div{flex:1;min-width:0}.alarm-row b{display:block;font-size:11px}.alarm-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.text-link{color:#f6b746;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.text-link:hover{color:#ffda8b}.inline-empty,.table-empty{padding:28px 12px;text-align:center;color:#7e8ca0;font-size:12px}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{text-align:left;padding:12px 13px;background:#151f2c;color:#8593a7;font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}td{padding:13px;border-bottom:1px solid #222d3c;color:#aeb9c9}tbody tr:hover{background:#151f2b}.strong{font-weight:750;color:#e5ebf4}.filter-panel{margin-bottom:18px}.filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-form label,.settings-form label{display:flex;flex-direction:column;gap:7px;color:#a9b5c5;font-size:10px;font-weight:750;flex:1;min-width:130px}.filter-form input,.filter-form select,.settings-form input{width:100%;background:#0d141e;border:1px solid #344155;color:#e3eaf3;border-radius:7px;padding:10px;font:inherit;outline:none}.filter-form input:focus,.filter-form select:focus,.settings-form input:focus{border-color:#b88025;box-shadow:0 0 0 3px #f59e0b14}.control-panel{align-self:start}.notice{padding:12px 15px;border:1px solid #355e4d;background:#123025;color:#9be9c6;border-radius:9px;margin-bottom:18px;font-size:12px}.safety-note{background:#2a2116;border:1px solid #594322;border-radius:9px;padding:13px 14px;margin-top:20px}.safety-note b{color:#f6c06c;font-size:11px}.safety-note p{color:#c1a980;font-size:10px;line-height:1.7;margin:6px 0 0}.muted-note{color:#8795a8;font-size:10px;line-height:1.7;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.settings-form{display:grid;gap:17px}.settings-form label{font-size:11px}.settings-form small{font-size:9px;color:#8290a4;font-weight:400;line-height:1.5}.settings-form .button{justify-self:start;margin-top:4px}.info-block{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #253144}.info-block:last-child{border:0}.info-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#293344;color:#f5b747;font-size:10px;font-weight:900;flex-shrink:0}.info-block b{font-size:11px}.info-block p{font-size:10px;line-height:1.6;color:#8e9caf;margin:5px 0 0}.footer{border-top:1px solid #1c2736;padding:18px 34px;color:#68768a;font-size:10px;display:flex;justify-content:space-between}.footer span{color:#8491a4}
@media(max-width:1150px){.sidebar{width:215px}.page-body{padding:24px}.topbar{padding:0 24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.bottom-grid{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{display:block}.sidebar{width:100%;padding:14px}.brand{padding:0 5px 15px}.side-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;padding-bottom:3px}nav a{padding:9px 11px;white-space:nowrap;font-size:11px}nav a span{display:none}.topbar{height:auto;padding:18px;align-items:flex-start}.topbar h1{font-size:19px}.top-actions{gap:9px;flex-direction:column;align-items:flex-end}.page-body{padding:18px 13px}.welcome-row{align-items:flex-start;flex-direction:column}.stats-grid,.stats-grid.three-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:14px}.stat-value{font-size:25px}.stat-value.compact{font-size:18px}.panel{padding:15px}.actuator-grid{grid-template-columns:1fr}.filter-form{align-items:stretch}.filter-form label{min-width:100%}.filter-form .button{flex:1}.stopwatch{font-size:32px}.large-stopwatch{font-size:36px}.footer{padding:15px;gap:8px;flex-direction:column}}

/* Alur proses New Session (simulasi web) */
.process-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(3,7,13,.82);backdrop-filter:blur(5px);padding:20px;align-items:center;justify-content:center}.process-modal.is-open{display:flex}.process-dialog{width:min(620px,100%);max-height:92vh;overflow:auto;background:#111925;border:1px solid #344155;border-radius:16px;padding:24px;box-shadow:0 24px 80px #0009}.process-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.process-top h3{margin:7px 0 0;font-size:19px}.modal-close{width:32px;height:32px;border:1px solid #344155;border-radius:8px;background:#1b2635;color:#9ba8ba;font-size:23px;line-height:1;cursor:not-allowed}.process-subtitle{color:#91a0b3;font-size:11px;line-height:1.7;margin:12px 0 20px}.process-steps{display:grid;gap:10px}.process-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #273447;background:#141e2b;border-radius:10px}.step-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#253246;color:#9aa8ba;font-weight:850}.process-step b{display:block;font-size:12px}.process-step small{display:block;color:#8795a8;font-size:10px;margin-top:5px;line-height:1.5}.step-status{font-size:9px;font-weight:800;color:#7f8da1;white-space:nowrap}.process-step.is-running{border-color:#7c5a20;background:#292316}.process-step.is-running .step-icon{background:#f59e0b;color:#19140a}.process-step.is-running .step-status{color:#ffc35a}.process-step.is-done{border-color:#245a49}.process-step.is-done .step-icon{background:#164735;color:#66e3b1}.process-step.is-done .step-status{color:#66e3b1}.process-result{margin-top:16px;padding:12px 14px;border-radius:9px;font-size:11px;line-height:1.7;background:#192638;border:1px solid #344155;color:#c7d4e5}.process-result.is-success{background:#123025;border-color:#2b6a50;color:#a0f0cb}.process-result.is-failure{background:#351b22;border-color:#7b303b;color:#ffb4bb}.process-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:17px}.process-actions p{width:100%;margin:0 0 2px;color:#aab6c7;font-size:11px}.process-actions[hidden],.process-result[hidden]{display:none}.process-actions .button{flex:1;white-space:normal;min-height:40px}.process-spinner{width:16px;height:16px;border:2px solid #3a4658;border-top-color:#f59e0b;border-radius:50%;animation:processSpin .7s linear infinite}.process-actions span:last-child{color:#b7c3d3;font-size:11px}@keyframes processSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){.process-dialog{padding:17px}.process-step{grid-template-columns:30px minmax(0,1fr);gap:9px}.step-status{grid-column:2}.process-actions{flex-direction:column;align-items:stretch}.process-actions .button{width:100%;flex:auto}}


/* Incinerator IoT V1.2: device/session status */
.notice-info,.notice-success,.notice-warning,.notice-danger{padding:13px 16px;border-radius:12px;margin:0 0 18px;border:1px solid rgba(148,163,184,.18);background:rgba(59,130,246,.09);color:#cbd5e1}
.notice-success{background:rgba(16,185,129,.10);color:#a7f3d0;border-color:rgba(16,185,129,.25)}
.notice-warning{background:rgba(245,158,11,.10);color:#fde68a;border-color:rgba(245,158,11,.25)}
.notice-danger{background:rgba(239,68,68,.10);color:#fecaca;border-color:rgba(239,68,68,.25)}
.pill-online{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.25)}
.device-summary{display:flex;align-items:center;gap:12px;padding:14px 15px;margin:14px 0 22px;background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.12);border-radius:12px}
.device-summary b,.device-summary small{display:block}.device-summary b{font-size:13px;color:#e2e8f0}.device-summary small{font-size:11px;color:#8290a5;margin-top:4px}
.device-led{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.12)}.device-led.is-online{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.12)}
.process-live{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.18);color:#b9c8dc;font-size:12px;line-height:1.6}
.sensor-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0 10px}.sensor-mini-grid>div{padding:12px;border-radius:10px;background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.12);min-width:0}.sensor-mini-grid small,.sensor-mini-grid b{display:block}.sensor-mini-grid small{font-size:10px;color:#8290a5;margin-bottom:7px}.sensor-mini-grid b{font-size:15px;color:#e2e8f0;overflow-wrap:anywhere}
@media(max-width:520px){.sensor-mini-grid{grid-template-columns:1fr}.device-summary{align-items:flex-start}}


/* V1.2 compact cards: sembunyikan teks penjelasan yang berulang */
.welcome-row>div>p,.panel-heading p,.empty-state p,.actuator small,.settings-form label small,.muted-note,.info-block p{display:none!important}
.safety-note{padding:9px 11px;margin-top:14px}
.safety-note p{display:none!important}
.panel-heading{margin-bottom:15px}
.stat-card{padding:16px 18px}


/* Login dan akun pengguna */
.user-badge{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #253144;border-radius:10px;background:#111925}.user-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#3b2c16;color:#ffc15a;font-weight:900}.user-meta b,.user-meta small{display:block}.user-meta b{font-size:11px;color:#e6edf6}.user-meta small{font-size:9px;color:#8492a6;margin-top:3px}.logout-link{font-size:11px;color:#f6b746;text-decoration:none;font-weight:750}.logout-link:hover{color:#ffda8b}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#182538 0%,#0b1018 60%)}.login-card{width:min(100%,420px);padding:32px;background:#111925;border:1px solid #253144;border-radius:18px;box-shadow:0 24px 70px #0005}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}.login-brand strong{display:block;font-size:15px;letter-spacing:1.5px}.login-brand small{display:block;color:#8996a9;font-size:9px;letter-spacing:2px;margin-top:4px}.login-heading h1{font-size:27px;letter-spacing:-.6px;margin:8px 0 5px}.login-heading p{color:#8996a9;margin:0 0 24px;font-size:12px}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:8px;color:#a9b5c5;font-size:11px;font-weight:750}.login-form input{width:100%;padding:12px 13px;background:#0b111a;border:1px solid #344155;border-radius:8px;color:#e3eaf3;font:inherit;outline:none}.login-form input:focus{border-color:#b88025;box-shadow:0 0 0 3px #f59e0b14}.login-form .full-button{margin-top:4px;padding:13px}.login-alert,.login-success,.login-hint{padding:12px 13px;border-radius:9px;font-size:11px;line-height:1.7;margin-bottom:16px}.login-alert{background:#3c1e25;border:1px solid #73313c;color:#ffc0c7}.login-success{background:#123025;border:1px solid #2a6049;color:#a7f3d0}.login-hint{background:#302511;border:1px solid #5a431c;color:#f8d99b}.login-hint code{color:#fff;font-weight:800}.login-hint small{color:#d5bb83}.login-footer{text-align:center;color:#6f7d91;font-size:10px;margin-top:23px;padding-top:17px;border-top:1px solid #253144}
@media(max-width:700px){.topbar{padding:0 16px}.top-actions{gap:8px}.user-meta{display:none}.pill-sim{display:none}.logout-link{font-size:10px}}

/* Simple login layout */
.login-card-simple{width:min(100%,360px);padding:26px}.login-card-simple .login-brand{margin-bottom:24px}.login-card-simple .login-heading h1{font-size:24px;margin:0 0 5px}.login-card-simple .login-heading p{margin:0 0 20px}.login-card-simple .login-form{gap:13px}.login-card-simple .login-footer{display:none}


/* Modal konfirmasi logout */
.logout-link{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border:1px solid #684329;border-radius:9px;background:linear-gradient(180deg,#302219,#211a17);color:#ffc27a;font-size:11px;text-decoration:none;font-weight:800;transition:background .18s,border-color .18s,transform .18s}
.logout-link:hover{background:#42271c;border-color:#a65c35;color:#ffe0b8;transform:translateY(-1px)}
.logout-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:20px}
.logout-modal.is-open{display:flex;animation:logoutFadeIn .18s ease-out}
.logout-backdrop{position:absolute;inset:0;background:rgba(3,7,13,.78);backdrop-filter:blur(7px)}
.logout-dialog{position:relative;width:min(420px,100%);padding:30px;border:1px solid #344155;border-radius:20px;background:linear-gradient(155deg,#172232 0%,#101722 68%);box-shadow:0 30px 100px #000b;text-align:center;animation:logoutPop .22s cubic-bezier(.2,.8,.2,1)}
.logout-icon{width:58px;height:58px;margin:0 auto 17px;display:grid;place-items:center;border:1px solid #80532c;border-radius:18px;background:linear-gradient(145deg,#3b2a1b,#241d18);color:#ffc27a;font-size:26px;font-weight:800;box-shadow:inset 0 1px #ffffff0b,0 8px 24px #0003}
.logout-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid #303c4e;border-radius:9px;background:#182333;color:#8d9bb0;font-size:23px;line-height:1;cursor:pointer}
.logout-x:hover{background:#263348;color:#fff}
.logout-kicker{font-size:9px;letter-spacing:2px;font-weight:850;color:#e7a85e}
.logout-dialog h2{margin:8px 0 7px;color:#f2f6fb;font-size:23px;letter-spacing:-.5px}
.logout-dialog>p{margin:0;color:#91a0b4;font-size:12px;line-height:1.65}
.logout-user{display:flex;align-items:center;justify-content:flex-start;gap:11px;margin:22px 0;padding:12px 14px;text-align:left;border:1px solid #293649;border-radius:12px;background:#0d141f}
.logout-user-avatar{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:#3b2c16;color:#ffc15a;font-size:15px;font-weight:900}
.logout-user b,.logout-user small{display:block}.logout-user b{font-size:12px;color:#e6edf6}.logout-user small{margin-top:4px;color:#8492a6;font-size:10px}
.logout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.logout-actions button,.logout-actions a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:11px 14px;border-radius:10px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.logout-cancel{border:1px solid #354256;background:#192333;color:#c4cfdd}.logout-cancel:hover{background:#253247;border-color:#4b5b73}
.logout-confirm{border:1px solid #9c552f;background:linear-gradient(180deg,#d97736,#a94b25);color:#fff4e9;box-shadow:0 5px 16px #9c4d282b}.logout-confirm:hover{background:linear-gradient(180deg,#ed8845,#bd592e);transform:translateY(-1px)}
.logout-actions button:focus-visible,.logout-actions a:focus-visible,.logout-x:focus-visible{outline:2px solid #ffc27a;outline-offset:3px}
@keyframes logoutFadeIn{from{opacity:0}to{opacity:1}}@keyframes logoutPop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:480px){.logout-dialog{padding:26px 20px;border-radius:17px}.logout-dialog h2{font-size:21px}.logout-actions{grid-template-columns:1fr}.logout-actions a{order:-1}}
@media(prefers-reduced-motion:reduce){.logout-modal.is-open,.logout-dialog{animation:none}.logout-link,.logout-actions button,.logout-actions a{transition:none}}

/* Android/mobile: cegah menu Copy/Select saat teks halaman ditekan lama.
   Kolom input tetap bisa dipilih dan diedit. */
html, body, body * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
input, textarea, select, [contenteditable="true"], input *, textarea * {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  user-select: text;
}
