#budiprvi-web-design.bp-real-portal { min-height:100vh;color-scheme:dark; }
#budiprvi-web-design .bp-portal,#budiprvi-web-design #account-portal,#budiprvi-web-design [data-panel],#budiprvi-web-design .bp-portal-panel { min-width:0;max-width:100%; }
#budiprvi-web-design .portal-header-actions { display:flex;align-items:center;gap:16px; }
#budiprvi-web-design .portal-home { color:var(--bp-muted);font-size:13px; }
#budiprvi-web-design .portal-auth { max-width:480px;margin:25px auto 70px;padding:32px; }
#budiprvi-web-design .portal-auth h1 { font-size:30px;letter-spacing:-.8px;line-height:1.15;margin-bottom:12px; }
#budiprvi-web-design .portal-auth>p { line-height:1.7; }
#budiprvi-web-design .portal-auth-tabs,.portal-tabs { display:flex;gap:6px; }
#budiprvi-web-design .portal-auth-tabs { margin:24px 0 20px;background:var(--bp-bg);padding:4px;border-radius:10px; }
#budiprvi-web-design .portal-auth-tabs button { flex:1; }
#budiprvi-web-design .portal-auth-tabs button,#budiprvi-web-design .portal-tabs button { border:0;background:transparent;color:var(--bp-muted);border-radius:7px;min-height:44px;padding:9px 16px;cursor:pointer;font:inherit;font-size:13px; }
#budiprvi-web-design .portal-auth-tabs button[aria-pressed=true],#budiprvi-web-design .portal-tabs button[aria-current=page] { background:var(--bp-surface);color:var(--bp-ink);box-shadow:inset 0 0 0 1px var(--bp-line); }
#budiprvi-web-design .portal-tabs { margin-bottom:28px;overflow-x:auto;border-bottom:1px solid var(--bp-line);padding-bottom:10px; }
#budiprvi-web-design .portal-form { display:grid;gap:18px;margin-top:20px; }
#budiprvi-web-design .portal-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px; }
#budiprvi-web-design .portal-wide { grid-column:1/-1; }
#budiprvi-web-design .bp-real-portal label,#budiprvi-web-design .portal-form label,#budiprvi-web-design .portal-settings-fields label { display:grid;gap:9px;font-size:12px;color:var(--bp-muted);line-height:1.55; }
#budiprvi-web-design .portal-form input,#budiprvi-web-design .portal-settings-fields input:not([type=checkbox]),#budiprvi-web-design .portal-settings-fields textarea,#budiprvi-web-design .portal-settings-fields select { width:100%;min-width:0;min-height:44px;background:var(--bp-bg);border:1px solid var(--bp-line);border-radius:8px;padding:11px 12px;color:var(--bp-ink);font:inherit;font-size:14px; }
#budiprvi-web-design .portal-settings-fields textarea { resize:vertical;min-height:75px; }
#budiprvi-web-design .portal-check { display:flex!important;align-items:center;gap:10px!important;margin-block:16px;color:var(--bp-ink)!important;min-height:44px; }
#budiprvi-web-design input[type=checkbox] { width:19px;height:19px;accent-color:var(--bp-free);flex-shrink:0; }
#budiprvi-web-design .portal-text-button { background:transparent;border:0;color:var(--bp-muted);font:inherit;font-size:13px;cursor:pointer;min-height:44px; }
#budiprvi-web-design .portal-section-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px; }
#budiprvi-web-design .portal-section-heading h2 { font-size:22px;letter-spacing:-.4px; }
#budiprvi-web-design .portal-help { color:var(--bp-muted);font-size:12px;line-height:1.75;margin-top:9px;overflow-wrap:anywhere; }
#budiprvi-web-design .portal-help a { color:var(--bp-ink);text-decoration:underline;text-underline-offset:3px; }
#budiprvi-web-design .portal-message { background:var(--bp-surface);border:1px solid var(--bp-line);border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.7;margin-bottom:20px;overflow-wrap:anywhere; }
#budiprvi-web-design .portal-message[data-kind=error],#budiprvi-web-design .portal-warning { border-color:#916738;color:#ffd5a2; }
#budiprvi-web-design .portal-message[data-kind=success] { border-color:#35683c; }
#budiprvi-web-design .portal-message details { margin:12px 0; }
#budiprvi-web-design .portal-message pre { white-space:pre-wrap;font-size:12px;max-height:240px;overflow:auto; }
#budiprvi-web-design .portal-status { border:1px solid var(--bp-line);border-radius:20px;padding:8px 13px;color:var(--bp-muted);font-size:12px; }
#budiprvi-web-design .portal-status[data-status=active] { color:var(--bp-free);border-color:#35683c; }
#budiprvi-web-design .portal-summary { margin-bottom:20px; }
#budiprvi-web-design .portal-chart { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;min-height:240px;margin-top:24px;align-items:end; }
#budiprvi-web-design .portal-chart-column { display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0; }
#budiprvi-web-design .portal-chart-value { font-size:11px;color:var(--bp-muted); }
#budiprvi-web-design .portal-chart-bar { height:180px;width:min(42px,100%);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:5px; }
#budiprvi-web-design .portal-chart-paid { background:var(--bp-blue);height:var(--paid); }
#budiprvi-web-design .portal-chart-free { background:var(--bp-free);height:var(--free); }
#budiprvi-web-design .portal-chart-day { font-size:11px;color:var(--bp-muted); }
#budiprvi-web-design .portal-capability { display:flex;flex-direction:column;gap:7px;padding:17px 0;border-bottom:1px solid var(--bp-line);font-size:13px; }
#budiprvi-web-design .portal-capability span { color:var(--bp-muted);font-size:12px;line-height:1.6; }
#budiprvi-web-design .portal-settings-fields { border:0;min-width:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px; }
#budiprvi-web-design .portal-settings-fields h3 { font-size:17px; }
#budiprvi-web-design .portal-slots { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0; }
#budiprvi-web-design .portal-days { display:flex;flex-wrap:wrap;gap:8px;margin:20px 0; }
#budiprvi-web-design .portal-days label { display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid var(--bp-line);border-radius:8px;padding:7px 9px; }
#budiprvi-web-design .portal-save-bar { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:18px;background:var(--bp-surface);border:1px solid var(--bp-line);border-radius:10px; }
#budiprvi-web-design button:disabled { opacity:.5;cursor:default;transform:none; }
#budiprvi-web-design fieldset:disabled { opacity:.72; }
#budiprvi-web-design .portal-table-wrap { overflow-x:auto;max-width:100%;min-width:0;width:100%; }
#budiprvi-web-design .portal-reports-table { width:100%;min-width:660px; }
#budiprvi-web-design .portal-reports-table th { white-space:nowrap; }
#budiprvi-web-design .portal-reports-table td { vertical-align:middle; }
#budiprvi-web-design .portal-reports-table td small { display:block;color:var(--bp-muted);font-size:11px;margin-top:5px; }
#budiprvi-web-design .portal-report-warning { color:#ffd5a2!important; }
#budiprvi-web-design #more-reports { margin-top:20px; }
#budiprvi-web-design .portal-account-details { margin-top:20px; }
#budiprvi-web-design .portal-account-details>div { display:grid;grid-template-columns:140px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--bp-line);font-size:13px; }
#budiprvi-web-design .portal-account-details dt { color:var(--bp-muted); }
#budiprvi-web-design .portal-account-details dd { margin:0;overflow-wrap:anywhere; }
#budiprvi-web-design .portal-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
#budiprvi-web-design dialog { background:var(--bp-surface);color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:15px;width:min(900px,calc(100% - 32px));max-height:85dvh;padding:26px; }
#budiprvi-web-design dialog::backdrop { background:#030710c9;backdrop-filter:blur(4px); }
#budiprvi-web-design .portal-dialog-header { display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px; }
#budiprvi-web-design #report-detail { font-size:13px;line-height:1.8; }
#budiprvi-web-design #report-detail pre { white-space:pre-wrap;overflow-wrap:anywhere;max-height:40dvh;overflow:auto;font:12px/1.7 ui-monospace,monospace;background:var(--bp-bg);padding:16px;border-radius:8px;margin-top:18px; }
#budiprvi-web-design :is(input,select,textarea,button,a):focus-visible { outline:2px solid var(--bp-free);outline-offset:3px; }
#budiprvi-web-design [hidden] { display:none!important; }
@media(max-width:1000px) { #budiprvi-web-design .portal-settings-fields { grid-template-columns:1fr; } }
@media(max-width:600px) {
  #budiprvi-web-design .portal-auth { padding:24px;margin-top:10px; }
  #budiprvi-web-design .portal-form-grid { grid-template-columns:1fr; }
  #budiprvi-web-design .portal-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #budiprvi-web-design .portal-section-heading { align-items:flex-start; }
  #budiprvi-web-design .portal-section-heading h2 { font-size:19px; }
  #budiprvi-web-design .portal-save-bar { flex-direction:column;align-items:stretch; }
  #budiprvi-web-design .portal-save-bar .bp-button { width:100%; }
  #budiprvi-web-design .portal-tabs button { flex:1;padding-inline:10px;white-space:nowrap; }
  #budiprvi-web-design .portal-account-details>div { grid-template-columns:1fr;gap:5px; }
  #budiprvi-web-design .portal-home { display:none; }
  #budiprvi-web-design .portal-chart { gap:8px; }
  #budiprvi-web-design .portal-dialog-header h2 { font-size:18px; }
}

.billing-test-badge{display:inline-block;padding:.45rem .75rem;border-radius:999px;background:#d8ff52;color:#14200b;font-size:.75rem;font-weight:800;letter-spacing:.08em}
#budiprvi-web-design .billing-test-badge{color:#14200b}
.billing-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}
.billing-actions select{min-height:44px;max-width:100%;border:1px solid var(--bp-border,#364051);border-radius:12px;background:var(--bp-panel,#19202c);color:inherit;padding:10px 14px;font:inherit}
.billing-admin{border-top:1px solid var(--bp-border,#364051);margin-top:32px;padding-top:24px}
.billing-account-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--bp-border,#364051);overflow-wrap:anywhere}
@media(max-width:640px){.billing-actions>*{width:100%}.billing-account-row{align-items:flex-start;flex-direction:column}}

#budiprvi-web-design .admin-table{width:100%;border-collapse:collapse;min-width:760px;font-size:13px}
#budiprvi-web-design .admin-table th{text-align:left;color:var(--bp-muted);font-weight:500}
#budiprvi-web-design .admin-table :is(th,td){padding:18px 12px;border-bottom:1px solid var(--bp-line);vertical-align:middle}
#budiprvi-web-design .admin-table td:first-child{overflow-wrap:anywhere;max-width:280px}
#budiprvi-web-design :is(.admin-table td,#admin-audit p) small{display:block;color:var(--bp-muted);margin-top:6px;overflow-wrap:anywhere}
#budiprvi-web-design .admin-status{display:inline-block;padding:6px 10px;border-radius:999px;background:#252f3d;white-space:nowrap}
#budiprvi-web-design .admin-status-active{background:#163c2c;color:#9affc0}
#budiprvi-web-design .admin-status-disabled{background:#452a2f;color:#ffc1c4}
#budiprvi-web-design .admin-status-pending{background:#403421;color:#ffda9b}
#budiprvi-web-design #admin-search{margin-top:0}
#budiprvi-web-design #admin-search label{display:grid;gap:8px;flex:1;min-width:180px;font-size:13px}
#budiprvi-web-design #admin-search input{background:var(--bp-bg);color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:10px;padding:12px;font:inherit;width:100%}
#budiprvi-web-design #admin-editor-panel{margin-top:24px}
#budiprvi-web-design #admin-devices-panel{margin-top:24px}
#budiprvi-web-design .admin-device-policy label{display:grid;gap:8px;font-size:13px}
#budiprvi-web-design .admin-device-policy input{background:var(--bp-bg);color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:10px;padding:12px;font:inherit;width:120px}
#budiprvi-web-design .admin-device-table .billing-actions{gap:8px;margin:0}
#budiprvi-web-design .admin-device-fingerprint{font-family:ui-monospace,monospace}
#budiprvi-web-design :is(.admin-device-details,.admin-device-history,.admin-device-advanced)>summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:650}
#budiprvi-web-design :is(.admin-device-history,.admin-device-advanced){margin-top:18px;padding:6px 16px;border:1px solid var(--bp-line);border-radius:14px}
#budiprvi-web-design .admin-device-details p{margin:7px 0;font-size:12px;overflow-wrap:anywhere}
#budiprvi-web-design .admin-device-details{margin-top:8px}
#budiprvi-web-design .admin-device-status-approved{background:#163c2c;color:#9affc0}
#budiprvi-web-design .admin-device-status-pending{background:#403421;color:#ffda9b}
#budiprvi-web-design :is(.admin-device-status-rejected,.admin-device-status-revoked){background:#452a2f;color:#ffc1c4}
#budiprvi-web-design .admin-edit-form{max-width:650px;margin-bottom:32px}
#budiprvi-web-design .admin-edit-form select{background:var(--bp-bg);color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:10px;padding:12px;font:inherit}
#budiprvi-web-design .admin-edit-form .admin-active-label{display:flex;align-items:center;gap:12px}
#budiprvi-web-design .admin-active-label input{width:20px;height:20px;accent-color:var(--bp-free)}
#budiprvi-web-design #admin-dashboard h1{font-size:clamp(25px,4vw,42px);letter-spacing:-.04em}
#budiprvi-web-design #admin-dashboard .portal-section-heading{flex-wrap:wrap}
#budiprvi-web-design #admin-dashboard .portal-section-heading>div{min-width:0;overflow-wrap:anywhere}
#budiprvi-web-design .admin-edit-form textarea{background:var(--bp-bg);color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:10px;padding:12px;font:inherit;resize:vertical}
#budiprvi-web-design #admin-editor h2{font-size:clamp(20px,3vw,30px);overflow-wrap:anywhere}
@media(max-width:650px){
 #budiprvi-web-design .admin-table{display:block;min-width:0}
 #budiprvi-web-design .admin-table thead{display:none}
 #budiprvi-web-design .admin-table tbody{display:block}
 #budiprvi-web-design .admin-table tr{display:block;padding:12px 0;border-bottom:1px solid var(--bp-line)}
 #budiprvi-web-design .admin-table td{display:block;max-width:none!important;padding:8px 0;border:0}
 #budiprvi-web-design .admin-table td::before{content:attr(data-label);display:block;font-size:11px;color:var(--bp-muted);margin-bottom:6px}
 #budiprvi-web-design .admin-table td:last-child::before{display:none}
 #budiprvi-web-design .admin-table button{width:100%}
}

.portal-report-warning{color:#a06a14}
