:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18241f;background:#f4f7f5;--green:#12352e;--green2:#1c4d41;--gold:#efbd52;--gold2:#ffe8ae;--line:#dfe8e3;--muted:#718078;--danger:#a33e49;--shadow:0 18px 55px rgba(18,53,46,.10)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% -10%,#e9f3ee 0,transparent 33%),#f4f7f5;color:#18241f}button,input,select,textarea{font:inherit}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:#d5ad57}.eyebrow.dark{color:#6d847a}.muted{color:var(--muted)}[hidden]{display:none!important}.brand-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#f7cf6f,#dfaa35);display:grid;place-items:center;color:var(--green);font-weight:950;font-size:22px;box-shadow:0 10px 30px rgba(239,189,82,.28)}.brand-mark.small{width:42px;height:42px;border-radius:14px;font-size:18px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#0e2c26,#173f35)}.login-card{width:min(430px,94vw);background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:28px;padding:34px;box-shadow:0 35px 90px rgba(0,0,0,.28)}.login-card h1{margin:15px 0 0;font-size:34px;letter-spacing:-.04em}.login-card p{margin:4px 0 24px;color:var(--muted)}.login-card .brand-mark{margin-bottom:18px}.login-card>.muted{display:block;text-align:center;margin-top:14px}.topbar{height:76px;position:sticky;top:0;z-index:30;background:rgba(18,53,46,.96);backdrop-filter:blur(18px);color:white;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 30px rgba(18,53,46,.16)}.brand-row,.top-actions{display:flex;align-items:center;gap:12px}.brand-row h1{margin:1px 0 0;font-size:17px;letter-spacing:-.02em}.brand-row h1 span{font-weight:500;opacity:.66}.revision-chip{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;padding:9px 12px;font-size:12px}.main{width:min(1480px,94vw);margin:24px auto 60px}.hero{border-radius:26px;padding:28px 30px;background:linear-gradient(125deg,#fff,#f8fbf9);border:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow)}.hero h2{font-size:clamp(22px,3vw,34px);margin:5px 0 7px;letter-spacing:-.04em;max-width:780px}.hero p{margin:0;color:var(--muted)}.hero-actions,.toolbar,.command-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn,.icon-btn,.preset-row button,.segmented button{border:0;cursor:pointer;transition:.18s}.btn{padding:11px 15px;border-radius:12px;font-weight:800;font-size:13px}.btn:hover,.icon-btn:hover,.preset-row button:hover,.segmented button:hover{transform:translateY(-1px)}.btn.primary{background:var(--green);color:white}.btn.accent{background:var(--gold);color:#17352e}.btn.ghost{background:#edf3f0;color:var(--green)}.btn.danger{background:#fae8e9;color:var(--danger)}.btn.wide{width:100%}.small-btn{padding:8px 10px;font-size:11px}.icon-btn{width:39px;height:39px;border-radius:12px;background:#ffffff12;color:white;font-size:20px}.icon-btn.light{background:#eef3f0;color:var(--green)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 17px}.stat span{font-size:11px;color:var(--muted);font-weight:700}.stat b{display:block;font-size:25px;margin-top:5px;letter-spacing:-.04em}.stat i{font-style:normal;font-size:10px;color:#87958e}.section-head,.panel-head,.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-head{margin:0 3px 12px}.section-head h3,.panel-head h3,.modal-head h3{margin:3px 0 0;font-size:20px;letter-spacing:-.025em}.node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.node{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 26px rgba(18,53,46,.05);position:relative;overflow:hidden}.node:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#b4beb9}.node.online:before{background:#29a66a}.nodehead{display:flex;justify-content:space-between;gap:10px;align-items:center}.node-name{display:flex;align-items:center;gap:9px}.node-name input{accent-color:var(--green);width:17px;height:17px}.pill{font-size:10px;font-weight:900;padding:6px 9px;border-radius:999px;background:#eef1ef;color:#68736e}.node.online .pill{background:#ddf7e9;color:#0f6a3e}.node-grid-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0 13px}.node-grid-data div{background:#f7f9f8;border-radius:13px;padding:11px}.node-grid-data span{font-size:10px;color:var(--muted)}.node-grid-data b{display:block;margin-top:3px;font-size:13px;overflow:hidden;text-overflow:ellipsis}.sync-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.sync-ok{color:#14784b;font-weight:800}.sync-wait{color:#a1711f;font-weight:800}.panel{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.filterbar{margin-top:18px;padding:10px;background:#f6f9f7;border-radius:15px;display:flex;justify-content:space-between;gap:12px}.segmented{display:flex;gap:4px;flex-wrap:wrap}.segmented button{background:transparent;color:#5f6f67;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:800}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 3px 12px #12352e12}.search{min-width:260px}.field{display:block}.field>span{display:block;font-size:11px;font-weight:850;margin-bottom:6px;color:#53655c}.field small{display:block;color:#8a9690;font-size:10px;margin-top:5px}input,select,textarea{border:1px solid #d5dfda;background:#fff;border-radius:11px;padding:10px 11px;color:#18241f;outline:none}input:focus,select:focus,textarea:focus{border-color:#77a393;box-shadow:0 0 0 3px #77a3931c}.file-btn{display:inline-flex}.tablewrap{overflow:auto;max-height:64vh;margin-top:12px;border:1px solid #e8eeeb;border-radius:15px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:9px 8px;border-bottom:1px solid #edf1ef;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#f7f9f8;z-index:2;color:#607169;font-size:10px;text-transform:uppercase;letter-spacing:.03em}td input{width:86px;padding:7px 8px;font-size:11px}td.code input{width:124px;font-weight:850}.status-badge{display:inline-flex;padding:5px 7px;border-radius:8px;font-size:9px;font-weight:900}.status-badge.available{background:#e8f5ef;color:#207450}.status-badge.active{background:#fff2cf;color:#8c661d}.status-badge.expired{background:#f1ecec;color:#8c5555}.value-unit{font-weight:800}.value-unit small{font-weight:500;color:#87948e}.panel-foot{padding-top:15px;margin-top:10px;border-top:1px solid #edf1ef}.command-group>span{font-size:10px;color:var(--muted);font-weight:800;margin-right:5px}.modal-backdrop{position:fixed;inset:0;z-index:80;background:#0b201bc2;backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.modal{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;padding:24px;box-shadow:0 35px 100px rgba(0,0,0,.35)}.modal-head{align-items:flex-start;margin-bottom:20px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.field input,.field select{width:100%}.input-unit{display:flex}.input-unit input{border-radius:11px 0 0 11px;min-width:0}.input-unit b{display:grid;place-items:center;background:#eef3f0;border:1px solid #d5dfda;border-left:0;border-radius:0 11px 11px 0;padding:0 10px;font-size:10px;color:#65756d}.preset-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:17px 0}.preset-row span{font-size:10px;font-weight:850;color:#63746b;margin-right:4px}.preset-row button{background:#f0f4f2;color:#355448;padding:7px 9px;border-radius:9px;font-size:10px;font-weight:800}.target-picks{display:flex;gap:8px;flex-wrap:wrap}.target-pick{padding:9px 11px;border:1px solid #dce5e1;border-radius:11px;font-size:11px;font-weight:800}.target-pick input{width:auto;margin-right:4px;accent-color:var(--green)}.preview-box{margin-top:16px;background:#102c26;color:#eaf5f0;border-radius:15px;padding:14px;min-height:74px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.7;word-break:break-all}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.result-modal textarea{width:100%;min-height:270px;resize:vertical;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.7}.toast{position:fixed;right:20px;bottom:20px;z-index:120;max-width:min(440px,90vw);background:#153d33;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:0 15px 50px #0003;opacity:0;transform:translateY(16px);pointer-events:none;transition:.2s;font-size:12px;font-weight:750}.toast.show{opacity:1;transform:translateY(0)}.toast.bad{background:#8e3741}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.topbar{padding:0 14px}.brand-row .eyebrow,.brand-row h1 span,.revision-chip{display:none}.main{width:95vw;margin-top:14px}.hero{padding:20px;display:block}.hero-actions{margin-top:18px}.hero-actions .btn{flex:1}.stats-grid{grid-template-columns:repeat(2,1fr)}.node-grid{grid-template-columns:1fr}.node-grid-data{grid-template-columns:repeat(2,1fr)}.panel{padding:13px}.panel-head{display:block}.toolbar{margin-top:12px}.filterbar{display:block}.search{width:100%;min-width:0;margin-top:8px}.form-grid,.form-grid.four{grid-template-columns:1fr}.modal{padding:18px}.modal-actions .btn{flex:1}.section-head small{display:none}}@media(max-width:440px){.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:13px}.stat b{font-size:21px}.brand-mark.small{width:38px;height:38px}.top-actions{gap:6px}.btn{padding:10px 12px}.hero h2{font-size:23px}.node-grid-data{grid-template-columns:1fr 1fr}}

.legacy-invalid{border-color:#d97706!important;background:#fff7ed!important;color:#9a3412!important;font-weight:700}.legacy-invalid:focus{outline-color:#d97706!important}
.trial-panel{margin:-12px 0 28px;background:linear-gradient(110deg,#fff8e8,#fff);border:1px solid #f0dfb5;border-radius:22px;padding:18px 20px;display:flex;align-items:center;gap:15px;box-shadow:0 8px 26px rgba(18,53,46,.05)}.trial-icon{width:48px;height:48px;border-radius:15px;background:#12352e;color:#f7cf6f;display:grid;place-items:center;font-size:24px;flex:0 0 auto}.trial-copy{flex:1}.trial-copy h3{margin:2px 0 4px;font-size:17px}.trial-copy p{margin:0;color:var(--muted);font-size:11px}.trial-used{min-width:145px;text-align:right}.trial-used span,.trial-used small{display:block;color:var(--muted);font-size:10px}.trial-used b{display:block;font-size:25px;color:var(--green);line-height:1.1}@media(max-width:650px){.trial-panel{align-items:flex-start;flex-wrap:wrap}.trial-used{text-align:left;margin-left:63px}}

.trial-actions{display:flex;align-items:center;gap:12px}.trial-summary-box{margin-top:16px;background:#f8fbf9;border:1px solid var(--line);border-radius:15px;padding:14px;font-size:12px;color:#40544b;line-height:1.6}.trial-summary-box b{color:var(--green)}.trial-modal{width:min(820px,96vw)}@media(max-width:650px){.trial-actions{width:100%;justify-content:space-between;margin-left:63px}.trial-used{margin-left:0!important}.trial-actions .btn{white-space:nowrap}}

/* v3.8.0 — feedback tindakan dan bahasa antarmuka */
.activity-bar{margin:0 0 12px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;gap:9px;box-shadow:0 5px 18px rgba(18,53,46,.04);font-size:11px;font-weight:800;color:#42574e}
.activity-bar small{margin-left:auto;color:var(--muted);font-weight:600}.activity-dot{width:9px;height:9px;border-radius:50%;background:#36a66e;box-shadow:0 0 0 4px #36a66e18}.activity-bar.busy .activity-dot{background:#d89d26;box-shadow:0 0 0 4px #d89d2618;animation:pulse-dot 1s infinite}.activity-bar.attention .activity-dot{background:#d89d26}.activity-bar.error{background:#fff8f8;border-color:#f0d4d7;color:#8e3741}.activity-bar.error .activity-dot{background:#b94a57}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.55}}
.btn:disabled,.icon-btn:disabled,.preset-row button:disabled,.segmented button:disabled{cursor:not-allowed;opacity:.58;transform:none}.btn.is-loading,.icon-btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:7px}.mini-spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:ranum-spin .7s linear infinite;flex:0 0 auto}@keyframes ranum-spin{to{transform:rotate(360deg)}}
.btn.has-changes{box-shadow:0 0 0 3px rgba(247,203,45,.22);background:#0d5a49}.preset-row button.active{background:var(--green);color:#fff}.trial-icon{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif}.node.offline{opacity:.82}.node.offline .pill{background:#f3e8e8;color:#8b4d55}
@media(max-width:780px){.activity-bar{align-items:flex-start;flex-wrap:wrap}.activity-bar small{width:100%;margin-left:18px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* RANUM v3.9.0 — profil perangkat dan telemetri */
.node-name span{display:flex;flex-direction:column;gap:1px}.node-name small{font-size:9px;color:var(--muted);font-weight:700}.node-location{display:flex;align-items:center;gap:9px;margin-top:13px;padding:10px 11px;border-radius:13px;background:#f4f8f6;border:1px solid #e4ece8}.node-location>span{font-size:17px}.node-location>div{min-width:0;flex:1}.node-location b{display:block;font-size:12px}.node-location small{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:normal}.node-location .btn{flex:0 0 auto}.node-grid-detailed{grid-template-columns:repeat(3,minmax(0,1fr))}.node-grid-detailed div{min-width:0}.node-grid-detailed b{white-space:normal;word-break:break-word;line-height:1.3}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.node-notes{margin-top:14px}.node-profile-modal textarea{width:100%;resize:vertical;min-height:95px}
@media(max-width:1250px){.node-grid-detailed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.node-location{align-items:flex-start}.node-location .btn{padding:7px 8px}.node-grid-detailed{grid-template-columns:1fr 1fr}}


/* RANUM v3.9.2 — identitas merek */
.brand-expansion{font-weight:800;letter-spacing:.01em;color:#12352e;margin:.15rem 0 .2rem;line-height:1.35}
.brand-context{display:block;margin-bottom:.75rem;color:var(--muted,#6b7280)}
.topbar-expansion{font-size:.72rem;font-weight:700;opacity:.78;margin-top:.12rem}
.hero-lead{font-weight:700;margin:.3rem 0 .35rem}
@media (max-width:720px){.topbar-expansion{font-size:.66rem;max-width:240px}.brand-expansion{font-size:.92rem}}

/* v3.9.3 — perincian & manajemen Trial Gratis */
.trial-history-panel{margin:-13px 0 28px;padding:20px}.trial-history-head{margin:0 0 16px}.trial-history-head p{font-size:12px;margin:7px 0 0}.trial-history-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#f8faf9;border:1px solid #e8efea;border-radius:16px;padding:13px}.trial-history-tools .field{min-width:175px}.trial-history-tools .trial-search{flex:1;min-width:210px}.trial-history-tools .btn{margin-bottom:1px}.trial-history-summary{margin:14px 2px 7px;font-size:12px}.trial-history-tablewrap{margin-top:0;max-height:55vh}.trial-history-table td{padding:11px 10px}.trial-history-table .mac-code{font-family:ui-monospace,Consolas,monospace;font-weight:800}.trial-history-table .row-actions{flex-wrap:nowrap}.trial-history-table details{font-size:11px;max-width:340px;white-space:normal}.trial-history-table details summary{cursor:pointer;color:var(--green);font-weight:850}.trial-history-table .trial-events{padding:7px 0;margin:0 0 0 15px;font-size:11px;line-height:1.6}.trial-history-table .trial-events li{margin:3px 0}.trial-history-foot{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.trial-history-foot span{max-width:800px;font-size:11px;line-height:1.5}.trial-history-foot .btn{flex-shrink:0}.trial-warning{font-size:11px;color:#8c661d;margin:12px 0 0;line-height:1.5}.trial-history-table .muted{font-size:10px}.trial-history-table .trial-reset-tag{color:#9a651c;font-weight:800}
@media(max-width:800px){.trial-history-panel{padding:15px}.trial-history-tools .field{min-width:0;flex:1 1 150px}.trial-history-tools .trial-search{flex:1 1 100%}.trial-history-table .row-actions{flex-wrap:wrap}.trial-history-foot{align-items:flex-start;flex-direction:column}.trial-history-tablewrap{max-height:57vh}}

@media(max-width:680px){.trial-panel .trial-actions{margin-left:0;flex-wrap:wrap;justify-content:flex-start;gap:8px}.trial-panel .trial-used{flex-basis:100%;margin-left:0}.trial-panel .trial-actions .btn{white-space:normal;flex:1 1 130px}.trial-history-tools .btn{width:100%}}

/* RANUM 3.9.4 diagnostic readout, isolated from existing theme */
.node-diagnostic {grid-column:1/-1; border-top:1px solid rgba(127,127,127,.18); padding-top:10px}
.node-diagnostic small {display:block; margin-top:3px; color:var(--muted, #64748b); overflow-wrap:anywhere}
