/* Layout Relifire Dashboard, menggunakan token dan bahasa kartu DashOM. */
*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);background:var(--bg-color);color:var(--text-color);font-size:13px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button,input,select,a{ -webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.6}button,a,input,select{transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}button:active,.primary-link:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--primary-light);outline-offset:3px}button{color:var(--text-color)}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100;background:var(--card-bg);color:var(--primary);padding:10px}
.topbar{position:sticky;top:0;z-index:20;background:var(--header-bg);border-bottom:var(--card-border);box-shadow:0 2px 8px var(--shadow-color);padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand-bar,.header-controls{display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:6px;text-decoration:none;color:#ef4444;font-size:17px;font-weight:800;letter-spacing:.2px}.brand b{font-size:14px;font-weight:600;color:var(--text-color);letter-spacing:0}.workspace{border-left:1px solid var(--border-color);padding-left:14px;color:var(--text-muted);font-size:11px}.last-fetch{color:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums}.header-controls select,.theme-toggle,.text-button{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-muted);border-radius:8px;height:33px;padding:0 10px;font-size:11px}.text-button{border:0;background:transparent}.theme-toggle{width:38px;padding:0;font-size:17px}.header-controls select:hover,.theme-toggle:hover{border-color:var(--primary)}
main{max-width:1320px;margin:0 auto;padding:22px 24px}.group-nav{display:flex;gap:10px;margin-bottom:18px;border-bottom:1px solid var(--border-color);padding-bottom:15px}.group-nav button{display:flex;align-items:center;text-align:left;gap:10px;min-width:165px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-muted);padding:9px 16px;font-size:14px;font-weight:600}.group-nav button small{display:block;font-size:10px;font-weight:400;margin-top:1px}.group-nav button[aria-selected=true]{border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}.group-nav button:hover{background:var(--hover-overlay)}.group-initial{display:grid;place-items:center;border-radius:9px;width:32px;height:32px;font-size:16px;background:var(--card-bg);color:var(--primary);font-weight:700}.origin-initial{color:#0f766e}
.welcome-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--card-bg);border:var(--card-border);border-radius:16px;box-shadow:0 2px 6px var(--shadow-color);padding:16px 25px;min-height:125px;margin-bottom:23px;overflow:hidden}.welcome-identity{display:flex;align-items:center;gap:14px;min-width:180px}.owner-mark{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;background:var(--primary-bg);font-size:28px;font-weight:700;color:var(--primary)}.welcome-identity h1{font-size:25px;line-height:1.2;margin:0 0 4px;font-weight:750;letter-spacing:-.6px}.welcome-identity>div>span{font-size:12px;color:var(--text-muted)}.welcome-greeting{flex:1;text-align:center}.welcome-greeting h2{font-size:20px;font-weight:600;margin:0 0 6px;letter-spacing:-.3px}.welcome-greeting p{font-size:12px;color:var(--text-muted);margin:0}.mascot{display:flex;align-items:flex-end;gap:6px;align-self:flex-end}.mascot img{width:93px;height:105px;object-fit:contain;object-position:bottom}.mascot>span{font-size:10px;color:var(--text-muted);font-weight:600;padding-bottom:10px;white-space:nowrap}.origin-logo{max-width:165px;height:75px;object-fit:contain}.logo-dark{display:none}body.dark-theme .logo-light{display:none}body.dark-theme .logo-dark{display:block}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.toolbar h2{font-size:15px;font-weight:650;margin:0 0 3px}.toolbar p{font-size:11px;color:var(--text-muted);margin:0}.controls{display:flex;align-items:flex-end;gap:9px}.period-label{display:grid;gap:4px;font-size:10px;color:var(--text-muted)}input[type=month]{height:34px;max-width:170px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-color);padding:0 10px;font-size:12px;color-scheme:light}body.dark-theme input[type=month]{color-scheme:dark}.refresh{height:34px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:0 14px}.refresh>span{font-size:18px;margin-right:5px;vertical-align:-1px}.mode-bar{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--text-muted);font-size:11px;flex-wrap:wrap}.segmented{display:flex;gap:3px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);padding:3px}.segmented button{background:transparent;color:var(--text-muted);border:0;border-radius:5px;font-size:10px;font-weight:600;padding:5px 11px}.segmented button[aria-pressed=true]{background:var(--primary);color:#fff}.banner{font-size:11px;line-height:1.7;color:var(--text-muted);padding:9px 12px;background:var(--primary-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:17px}
.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.summary-item{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:19px 21px;background:radial-gradient(circle at 15% -10%,var(--primary-bg) 0%,var(--card-bg) 60%);border:var(--card-border);border-radius:16px;box-shadow:0 2px 6px var(--shadow-color);transition:transform .2s,box-shadow .2s}.summary-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--shadow-color)}.metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:var(--text-muted);margin-bottom:3px}.summary-item>strong{font-size:27px;font-weight:750;letter-spacing:-.5px;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--primary)}.summary-item.attention>strong{color:var(--accent-amber)}.metric-foot{font-size:10px;color:var(--text-muted);position:relative;z-index:1}.kpi-bottom{font-size:10px;color:var(--text-muted);padding-top:10px;margin-top:5px;border-top:1px dashed var(--border-color);width:100%}.kpi-icon{font-size:49px;position:absolute;right:20px;top:20px;opacity:.07;pointer-events:none;line-height:1}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}.section-heading h2{font-size:12px;font-weight:650;letter-spacing:.5px;color:var(--text-muted);text-transform:uppercase;margin:0}.legend{display:flex;gap:12px;font-size:10px;color:var(--text-muted);flex-wrap:wrap}.legend>span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.green{background:var(--color-success)}.amber{background:var(--color-warning)}.gray{background:var(--text-muted);opacity:.55}
.companies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:stretch;gap:16px}.company{min-width:0;background:var(--card-bg);border:var(--card-border);border-radius:16px;box-shadow:0 2px 6px var(--shadow-color);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.company:hover{transform:translateY(-3px);border-color:var(--primary-light);box-shadow:0 10px 24px var(--shadow-color)}.company-header{display:flex;align-items:center;gap:10px;padding:17px 18px 13px}.company-logo{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border-radius:10px;background:var(--primary-bg);font-size:11px;font-weight:700;color:var(--primary)}.company-heading{min-width:0}.company-heading h3{font-size:14px;font-weight:700;letter-spacing:-.2px;margin:0 0 3px}.company-heading p{font-size:10px;color:var(--text-muted);margin:0}.connection{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--text-muted);white-space:nowrap;margin-left:auto;align-self:flex-start;padding-top:2px}.connection.error{color:var(--color-danger)}.progress-area{padding:0 18px 14px}.progress-label{display:flex;justify-content:space-between;align-items:center;gap:5px;color:var(--text-muted);font-size:10px;margin-bottom:7px}.progress-label strong{color:var(--primary);font-weight:700}.progress-label strong.low{color:var(--accent-amber)}.progress-label .help{font-size:9px}.progress-track{height:4px;border-radius:3px;background:var(--border-color);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:3px}.progress-fill.low{background:var(--color-warning)}.financials{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;padding:13px 18px 15px;border-top:1px solid var(--border-color)}.financials>div{display:grid;gap:6px;min-width:0}.financials>div+div{border-left:1px dashed var(--border-color);padding-left:16px}.financials span{color:var(--text-muted);font-size:10px}.financials strong{font-weight:750;font-size:23px;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1.3;letter-spacing:-.5px;white-space:nowrap}.financials strong.negative{color:var(--color-danger)}.financials small{font-size:8px;color:var(--color-danger);font-weight:700;margin-left:3px}.pocket-heading{display:flex;justify-content:space-between;align-items:center;padding:9px 18px;color:var(--text-muted);font-size:9px;border-top:1px solid var(--border-color);background:var(--primary-bg)}.pocket-heading b{font-size:10px;font-weight:600}.pockets{padding:0;margin:0;list-style:none}.pocket{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;padding:9px 18px;min-height:48px;align-items:start}.pocket:nth-child(even){background:var(--hover-overlay)}.pocket-name{font-size:11px;font-weight:500;line-height:1.4}.pocket-name .kind{font-size:8px;font-weight:400;color:var(--text-muted);margin-left:4px}.pocket-balance{font-weight:650;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.pocket-note{font-size:9px;color:var(--text-muted);line-height:1.4}.pocket-age{font-size:9px;color:var(--text-muted);text-align:right;white-space:nowrap}.alert{color:var(--accent-amber)}.flag{display:inline-grid;place-items:center;width:11px;height:11px;font-size:9px;font-weight:700;color:var(--accent-amber);border:1px solid currentColor;border-radius:3px;margin-right:4px}.empty{font-size:11px;line-height:1.8;color:var(--text-muted);padding:22px 18px}.empty strong{display:block;font-weight:600;color:var(--text-color);margin-bottom:3px}.api-notes{font-size:10px;color:var(--text-muted);line-height:1.7;padding:0 18px 13px}.todos{padding:12px 18px 13px;background:var(--primary-bg);border-top:1px solid var(--border-color);margin-top:auto}.todos h4{font-size:9px;font-weight:650;letter-spacing:.5px;color:var(--text-muted);margin:0 0 7px;display:flex;gap:7px;align-items:center}.todos h4 span{color:var(--primary);background:var(--card-bg);border-radius:4px;padding:1px 5px;letter-spacing:0}.todo{display:flex;gap:6px;color:var(--text-muted);font-size:10px;line-height:1.6;margin:3px 0}.todo>span:first-child{color:var(--accent-amber)}.company-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px dashed var(--border-color);padding:11px 18px;font-size:9px;color:var(--text-muted)}.company-bottom button{font-size:10px;font-weight:600;color:var(--primary);border:0;background:transparent;padding:0;white-space:nowrap}.section-note{font-size:10px;color:var(--text-muted);margin:14px 0 0}.loading{grid-column:1/-1;background:var(--card-bg);border:var(--card-border);border-radius:16px;padding:60px 20px;text-align:center;font-size:12px;color:var(--text-muted)}.error-state{color:var(--color-danger)}
.origin-card{border:var(--card-border);border-radius:16px;padding:27px;background:var(--card-bg);box-shadow:0 2px 6px var(--shadow-color)}.origin-card-heading{display:flex;align-items:center;gap:12px}.origin-card-heading>span:first-child{font-size:29px}.origin-card h2{font-size:19px;margin:0 0 3px}.origin-card p{font-size:12px;color:var(--text-muted);max-width:650px;line-height:1.9}.origin-card-heading p{margin:0;font-size:11px}.integration-status{margin-left:auto;color:var(--text-muted);font-size:10px;border:1px solid var(--border-color);border-radius:6px;padding:5px 9px;white-space:nowrap}.branch-list{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.branch-list>span{padding:6px 11px;background:var(--primary-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-muted);font-size:11px}.primary-link{display:inline-flex;gap:15px;align-items:center;background:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:8px;text-decoration:none;padding:9px 15px;font-size:12px;font-weight:600}.local-caption{display:block;font-size:10px;color:var(--text-muted);margin-top:9px}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:24px;border-top:1px solid var(--border-color);padding-top:17px;color:var(--text-muted);font-size:9px}footer b{font-weight:650;letter-spacing:.5px}dialog{padding:24px;border:var(--card-border);border-radius:16px;background:var(--card-bg);color:var(--text-color);max-width:510px;width:calc(100% - 32px);box-shadow:0 10px 24px var(--shadow-color)}dialog::backdrop{background:rgba(15,23,42,.45);backdrop-filter:blur(3px)}.dialog-heading,.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-heading h2,.detail-heading h2{margin:0;font-size:20px;font-weight:650}.dialog-heading button,.detail-heading button{width:30px;height:30px;flex-shrink:0;background:var(--bg-color);color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;font-size:20px}dialog p{font-size:12px;line-height:1.8;color:var(--text-muted)}.source-item{border-top:1px solid var(--border-color);padding:14px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px}.source-item small{display:block;font-size:10px;line-height:1.7;color:var(--text-muted);margin-top:5px}.source-item>span{color:var(--text-muted);font-size:10px;max-width:185px;text-align:right}.dialog-note{padding:12px;background:var(--primary-bg);border-radius:8px;font-size:11px;color:var(--text-muted);line-height:1.8}.detail-dialog{position:fixed;inset:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(100%,510px);max-width:510px;margin:0;border-radius:16px 0 0 16px;padding:0}.detail-heading{padding:23px;position:sticky;top:0;z-index:1;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.detail-eyebrow{display:block;font-size:9px;color:var(--text-muted);letter-spacing:.7px;margin-bottom:6px}#detail-content{padding:20px}.detail-status{display:flex;justify-content:space-between;gap:10px;color:var(--text-muted);font-size:10px;padding-bottom:15px}.detail-section{border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);overflow:hidden;margin-bottom:16px}.detail-section h3{font-size:12px;margin:0;padding:14px 18px;color:var(--text-color);background:var(--primary-bg)}.detail-section .financials{border:0}.detail-section .todos{border:0;background:transparent}.detail-section .api-notes{padding-top:13px}.detail-section .pocket-heading{border:0}
@media(max-width:1100px){.workspace,.last-fetch{display:none}.welcome-card{gap:18px}.mascot>span{display:none}.summary-item{padding:17px}.summary-item>strong{font-size:24px}.companies{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr))}.company-header,.progress-area,.financials,.pocket,.pocket-heading,.todos,.company-bottom{padding-left:15px;padding-right:15px}.company-heading h3{font-size:13px}.company-logo{width:29px;height:29px}.connection{font-size:8px}}
@media(max-width:760px){.topbar{padding:11px 16px;gap:10px}.brand{font-size:14px}.brand b{font-size:12px}.header-controls{gap:7px}.header-controls select{max-width:108px;font-size:10px;height:30px}.theme-toggle{width:31px;height:30px;font-size:15px}.text-button{font-size:10px;padding:0 4px}.welcome-card{padding:17px;gap:12px;min-height:112px}.welcome-identity{min-width:110px;gap:9px}.owner-mark{width:39px;height:39px;font-size:23px;border-radius:11px}.welcome-identity h1{font-size:21px}.welcome-identity>div>span{font-size:10px}.welcome-greeting h2{font-size:17px}.welcome-greeting p{font-size:10px}.mascot img{width:65px;height:85px}.summary{gap:10px}.summary-item{padding:15px 12px}.summary-item>strong{font-size:21px}.metric-label{font-size:9px}.metric-foot,.kpi-bottom{font-size:9px}.kpi-icon{font-size:37px;right:12px}.companies{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.section-heading{flex-wrap:wrap}.legend{font-size:9px}.origin-logo{width:110px;height:60px}main{padding:18px 16px}.group-nav button{min-width:145px}.integration-status{white-space:normal;max-width:90px;text-align:center}}
@media(max-width:540px){.topbar{gap:9px}.brand-bar{width:100%}.header-controls{width:100%;justify-content:flex-end}.header-controls .text-button{margin-right:auto}.header-controls select{max-width:130px}.welcome-card{flex-wrap:wrap;min-height:132px;padding-right:78px}.welcome-identity{min-width:100%;gap:10px}.welcome-greeting{text-align:left;min-width:100%}.welcome-greeting h2{font-size:15px}.welcome-greeting p{max-width:230px;line-height:1.7}.mascot{position:absolute;right:12px;bottom:15px}.mascot img{width:65px;height:92px}.welcome-identity h1{font-size:22px}.welcome-identity .owner-mark{width:38px;height:38px}.welcome-identity .origin-logo{height:53px;width:120px}.group-nav{gap:8px;margin-bottom:15px}.group-nav button{min-width:0;flex:1;padding:8px 10px;font-size:13px}.group-initial{width:28px;height:28px}.group-nav button small{font-size:9px}.toolbar{align-items:flex-start;gap:10px}.toolbar h2{font-size:13px}.toolbar p{font-size:9px;max-width:130px}.controls{gap:6px}.period-label{font-size:9px}input[type=month]{width:135px;font-size:11px;height:31px}.refresh{width:32px;height:31px;font-size:0;padding:0}.refresh>span{font-size:20px;margin:0}.mode-bar{gap:8px}.mode-bar #mode-note{font-size:9px}.summary{grid-template-columns:1fr;gap:10px}.summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 9px;padding:14px 17px}.summary-item .metric-label{grid-column:1;font-size:9px;margin:0}.summary-item>strong{grid-row:1/3;grid-column:2;align-self:center;font-size:23px}.summary-item .metric-foot{grid-column:1;font-size:9px;max-width:170px}.kpi-bottom{display:none}.kpi-icon{font-size:37px;right:130px;top:10px}.companies{gap:14px}.company-header{padding-top:17px}.company-heading h3{font-size:14px}.connection{font-size:9px}.company-logo{width:33px;height:33px}.financials strong{font-size:25px}.financials,.company-header,.progress-area,.pocket,.pocket-heading,.todos,.company-bottom{padding-left:18px;padding-right:18px}.section-heading h2{font-size:11px}.section-heading{gap:8px}.legend{font-size:8px;gap:10px}.origin-card{padding:20px}.origin-card-heading{flex-wrap:wrap}.origin-card h2{font-size:17px}.origin-card-heading .integration-status{margin-left:0;max-width:none}.detail-dialog{border-radius:0}.section-note{line-height:1.8}footer{font-size:8px}.banner{font-size:10px}}
@media(max-width:540px){.detail-dialog .financials{grid-template-columns:1fr;padding:15px 18px}.detail-dialog .financials>div+div{border-left:0;border-top:1px dashed var(--border-color);padding:13px 0 0}.detail-dialog .financials strong{font-size:24px;white-space:normal;overflow-wrap:anywhere}.detail-dialog .financials>div{gap:5px}}
/* Pertahankan kontras label aksi di seluruh preset DashOM. */
body.theme-sepia.light-theme{--action-bg:#96521f}
.refresh,.primary-link,.segmented button[aria-pressed=true]{background:var(--action-bg,var(--primary));border-color:var(--action-bg,var(--primary))}
body.dark-theme .refresh,body.dark-theme .primary-link,body.dark-theme .segmented button[aria-pressed=true]{color:#07111f}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.company:hover,.summary-item:hover{transform:none}}
