:root {
  --rs-brown:#9a3f14;--rs-brown-2:#7c330f;--rs-brown-soft:#f3e7df;--rs-gray:#5b5b5b;--rs-line:#e7e1dd;--rs-bg:#f7f5f2;--rs-text:#1f1f1f;--rs-muted:#6f6f6f;--success:#1f8a4c;--warning:#b76a00;--danger:#b3261e;--neutral:#68707a;--shadow:0 18px 45px rgba(55,38,28,.09);--radius-lg:22px;--radius-md:16px;--radius-sm:11px;--font:Inter,Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--rs-text);font-family:var(--font);background:radial-gradient(circle at 10% 5%,rgba(154,63,20,.08),transparent 28%),radial-gradient(circle at 90% 18%,rgba(91,91,91,.08),transparent 26%),linear-gradient(135deg,#fbfaf8 0%,var(--rs-bg) 52%,#eee9e4 100%);font-size:13px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page{width:min(1180px,calc(100% - 34px));margin:0 auto;padding:22px 0 44px}.topbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.88);border:1px solid var(--rs-line);border-radius:999px;padding:10px 16px;box-shadow:var(--shadow);backdrop-filter:blur(14px);position:sticky;top:14px;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff}.brand-word h1{margin:0;font-size:14px;line-height:1.1;letter-spacing:.18em;color:var(--rs-brown);font-weight:900;text-transform:uppercase}.brand-word p{margin:3px 0 0;color:var(--rs-gray);font-size:11px;letter-spacing:.35em;text-transform:uppercase}.public-nav{display:flex;align-items:center;gap:8px}.nav-link{padding:9px 13px;border-radius:999px;color:var(--rs-gray);font-size:12px;font-weight:700;transition:.18s}.nav-link:hover,.nav-link.active{background:var(--rs-brown-soft);color:var(--rs-brown)}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--rs-line);border-radius:999px;color:var(--rs-gray);font-size:12px;background:#fff;white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:99px;background:var(--success);box-shadow:0 0 0 5px rgba(31,138,76,.11)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch;margin-top:30px}.card{background:rgba(255,255,255,.92);border:1px solid var(--rs-line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero-card{padding:34px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;right:-80px;bottom:-90px;width:250px;height:250px;background-image:url("/static/logo.png");background-size:contain;background-repeat:no-repeat;opacity:.045}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--rs-brown);background:var(--rs-brown-soft);border:1px solid #ecd7ca;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;margin-bottom:18px}h2{margin:0;font-size:clamp(28px,4.6vw,44px);line-height:1.02;letter-spacing:-.045em;color:#232323}h2 span{color:var(--rs-brown)}.lead{margin:17px 0 0;color:var(--rs-muted);line-height:1.75;font-size:14px;max-width:640px}.step-list{display:grid;gap:11px;margin-top:26px}.step{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--rs-line);border-radius:15px;background:#fff}.step-no{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--rs-brown-soft);color:var(--rs-brown);font-weight:900;font-size:13px}.step strong{display:block;font-size:13px;margin-bottom:2px}.step small{color:var(--rs-muted);line-height:1.45}.form-card{padding:26px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.section-head h3{margin:0;font-size:18px;letter-spacing:-.02em}.section-head p{margin:6px 0 0;color:var(--rs-muted);font-size:12.5px;line-height:1.55}.icon-box{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:var(--rs-brown);background:var(--rs-brown-soft);border:1px solid #ecd7ca;flex:0 0 auto;font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.form-group{display:grid;gap:7px}.form-group.full{grid-column:1/-1}label{color:#343434;font-size:12px;font-weight:800}input,select,textarea{width:100%;border:1px solid #d8d0ca;outline:none;border-radius:12px;background:#fff;color:var(--rs-text);padding:11px 12px;transition:.18s;font-size:13px}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--rs-brown);box-shadow:0 0 0 4px rgba(154,63,20,.10)}.hint{color:var(--rs-muted);font-size:11.5px;line-height:1.5}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px}.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;font-size:12.5px;font-weight:900;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn-primary{background:linear-gradient(135deg,var(--rs-brown),var(--rs-brown-2));color:#fff;box-shadow:0 14px 28px rgba(154,63,20,.20)}.btn-secondary{background:#fff;color:var(--rs-brown);border:1px solid #e2cabc}.btn-success{background:#1f8a4c;color:#fff}.btn-danger{background:#b3261e;color:#fff}.btn-neutral{background:#f1eeeb;color:#4e4e4e}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px}.info-card{padding:14px;border-radius:14px;border:1px solid var(--rs-line);background:#fff}.info-card b{display:block;font-size:12.5px;margin-bottom:5px}.info-card p{margin:0;color:var(--rs-muted);font-size:11.7px;line-height:1.55}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item{padding:13px;border:1px solid var(--rs-line);border-radius:14px;background:#fff}.detail-item span{display:block;color:var(--rs-muted);font-size:11px;margin-bottom:6px}.detail-item b{color:#252525;font-size:13px;word-break:break-word}.admin-shell{display:grid;grid-template-columns:248px 1fr;gap:20px;margin-top:24px}.sidebar{position:sticky;top:96px;align-self:start;padding:14px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:8px 8px 15px;border-bottom:1px solid var(--rs-line);margin-bottom:10px}.sidebar-logo img{width:38px;height:38px;object-fit:contain}.sidebar-logo b{display:block;color:var(--rs-brown);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.sidebar-logo small{color:var(--rs-muted);font-size:11px}.side-link{display:flex;align-items:center;gap:10px;color:var(--rs-gray);padding:11px 12px;border-radius:12px;font-weight:800;font-size:12.5px;transition:.18s}.side-link:hover,.side-link.active{background:var(--rs-brown-soft);color:var(--rs-brown)}.admin-main{min-width:0}.admin-header{padding:22px;margin-bottom:18px}.admin-header h2{font-size:28px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin-bottom:18px}.stat-card{padding:17px}.stat-card span{display:block;color:var(--rs-muted);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat-card b{display:block;margin-top:6px;font-size:28px;letter-spacing:-.04em;color:var(--rs-brown)}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.toolbar .search{flex:1;min-width:220px}.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}.table-wrap{overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--rs-line);text-align:left;vertical-align:middle;font-size:12.5px}th{color:#605d5b;background:#faf8f6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}td{color:#353535}tbody tr:hover{background:#fbf7f4}.user-cell{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--rs-brown);font-weight:900;font-size:12px}.user-cell strong{display:block;font-size:12.5px}.user-cell small{display:block;color:var(--rs-muted);font-size:11.5px;margin-top:2px}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.badge.success{background:rgba(31,138,76,.10);color:var(--success)}.badge.warning{background:rgba(183,106,0,.11);color:var(--warning)}.badge.danger{background:rgba(179,38,30,.10);color:var(--danger)}.badge.neutral{background:#eef0f2;color:var(--neutral)}.code-box{display:inline-flex;padding:7px 9px;border-radius:10px;border:1px solid #ddd5cf;background:#fbfaf8;color:#222;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.empty{text-align:center;color:var(--rs-muted);padding:25px}.email-template{white-space:pre-wrap;padding:16px;border-radius:14px;border:1px dashed #d7b9a6;background:#fffaf7;color:#4f4a47;line-height:1.65;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:960px){.hero,.admin-shell{grid-template-columns:1fr}.sidebar{position:static}}@media(max-width:720px){.page{width:min(100% - 22px,1180px)}.topbar{height:auto;border-radius:22px;align-items:flex-start;flex-direction:column}.public-nav,.toolbar-actions{width:100%}.nav-link,.btn{flex:1;text-align:center}.hero-card,.form-card,.admin-header{padding:20px}.form-grid,.info-grid,.detail-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}table{min-width:860px}}

/* ===== RuangSpasial Compact Fullscreen Update ===== */

.page {
  width: 100%;
  max-width: none;
  padding: 14px 18px 30px;
}

.topbar {
  max-width: none;
  border-radius: 18px;
  height: 60px;
  top: 10px;
}

.brand-logo {
  width: 40px;
  height: 40px;
}

.brand-word h1 {
  font-size: 13px;
  letter-spacing: .16em;
}

.brand-word p {
  font-size: 10px;
  letter-spacing: .30em;
}

.nav-link {
  font-size: 11.8px;
  padding: 8px 12px;
}

.status-pill {
  font-size: 11.5px;
  padding: 7px 11px;
}

.hero {
  margin-top: 18px;
  min-height: calc(100vh - 96px);
}

.hero-full {
  grid-template-columns: 1fr;
}

.hero-wide {
  min-height: calc(100vh - 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.request-layout {
  grid-template-columns: .88fr 1.12fr;
  align-items: stretch;
}

.hero-card,
.form-card,
.admin-header {
  padding: 22px;
}

h2 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -.04em;
  max-width: 820px;
}

.lead {
  font-size: 13px;
  max-width: 720px;
}

.section-head h3 {
  font-size: 16px;
}

.section-head p {
  font-size: 12px;
}

label {
  font-size: 11.8px;
}

input,
select,
textarea {
  font-size: 12.5px;
  padding: 10px 12px;
}

.btn {
  min-height: 36px;
  font-size: 12px;
  padding: 9px 13px;
}

.form-footer-right {
  justify-content: flex-end;
}

.info-grid {
  display: none !important;
}

.card {
  box-shadow: 0 10px 26px rgba(55, 38, 28, 0.075);
}

.hero-card::after {
  opacity: .035;
}

.admin-shell {
  grid-template-columns: 230px 1fr;
  gap: 16px;
}

.sidebar {
  padding: 12px;
}

.side-link {
  font-size: 12px;
  padding: 10px 11px;
}

th,
td {
  font-size: 12px;
  padding: 11px 12px;
}

th {
  font-size: 10.5px;
}

.stat-card b {
  font-size: 24px;
}

@media (max-width: 960px) {
  .request-layout {
    grid-template-columns: 1fr;
  }

  .hero-wide {
    min-height: auto;
  }
}


/* ===== Centered flow + bilingual switch update ===== */

.topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lang-switch {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--rs-line);
  border-radius: 999px;
  background: #fff;
}

.lang-btn {
  min-height: 0;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  color: var(--rs-gray);
  background: transparent;
  box-shadow: none;
}

.lang-btn:hover {
  transform: none;
}

.lang-btn.active {
  background: var(--rs-brown);
  color: #fff;
}

.hero-center {
  place-items: center;
}

.centered-card {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.centered-card .eyebrow {
  margin-left: auto;
  margin-right: auto;
}

.center-lead {
  margin-left: auto;
  margin-right: auto;
}

.center-steps {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.center-actions {
  justify-content: center;
}

.request-centered {
  align-items: center;
}

.flow-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flow-card .eyebrow {
  width: fit-content;
}

.detailed-steps {
  gap: 10px;
}

.detailed-steps .step {
  min-height: 74px;
}

.detailed-steps .step strong {
  font-size: 13px;
}

.detailed-steps .step small {
  font-size: 11.7px;
}

.request-form-card {
  align-self: center;
}

@media (max-width: 720px) {
  .topbar-right {
    width: 100%;
    justify-content: space-between;
  }

  .lang-switch {
    flex: 0 0 auto;
  }

  .status-pill {
    flex: 1;
    justify-content: center;
  }

  .centered-card {
    text-align: left;
  }

  .centered-card .eyebrow,
  .center-lead,
  .center-steps {
    margin-left: 0;
    margin-right: 0;
  }

  .center-actions {
    justify-content: stretch;
  }
}


/* ===== Center Home + Language Dropdown Update ===== */

.public-shell {
  min-height: 100vh;
}

.public-shell .page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.hero-center {
  flex: 1;
  min-height: calc(100vh - 94px);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 14px !important;
}

.hero-full {
  grid-template-columns: none !important;
}

.centered-card {
  width: min(980px, 100%);
  min-height: auto !important;
  margin: auto !important;
  text-align: center;
}

.centered-card h2 {
  margin-left: auto;
  margin-right: auto;
}

.centered-card .lead {
  margin-left: auto;
  margin-right: auto;
}

.centered-card .step-list {
  width: min(820px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.center-actions {
  justify-content: center !important;
}

.center-actions .btn-secondary {
  display: none !important;
}

.lang-select {
  height: 34px;
  min-width: 132px;
  border: 1px solid var(--rs-line);
  border-radius: 999px;
  background: #fff;
  color: var(--rs-brown);
  font-size: 11.5px;
  font-weight: 800;
  padding: 0 12px;
  outline: none;
  cursor: pointer;
}

.lang-select:focus {
  border-color: var(--rs-brown);
  box-shadow: 0 0 0 4px rgba(154, 63, 20, .10);
}

.lang-switch,
.lang-btn {
  display: none !important;
}

@media (max-width: 720px) {
  .hero-center {
    align-items: flex-start !important;
    min-height: auto;
  }

  .centered-card {
    text-align: left;
  }

  .center-actions {
    justify-content: stretch !important;
  }

  .lang-select {
    flex: 0 0 auto;
    min-width: 126px;
  }
}


/* ===== Remove status + stronger center alignment ===== */

.topbar {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  justify-content: space-between;
}

.topbar-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.public-shell .page {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.hero-center {
  width: 100%;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.centered-card {
  width: min(1100px, calc(100% - 70px));
  margin-left: auto !important;
  margin-right: auto !important;
}

.centered-card h2,
.centered-card .lead,
.centered-card .step-list,
.centered-card .form-footer {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.centered-card .form-footer {
  justify-content: center !important;
}

@media (max-width: 720px) {
  .topbar {
    width: calc(100% - 20px);
  }

  .centered-card {
    width: calc(100% - 24px);
  }
}


/* ===== Home text alignment revision ===== */

.centered-card {
  text-align: left !important;
}

.centered-card h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.centered-card .eyebrow {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.centered-card .lead {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.centered-card .step-list {
  margin-left: auto !important;
  margin-right: auto !important;
}

.centered-card .form-footer {
  justify-content: center !important;
}


/* ===== Request page previous layout + flow 8 steps ===== */

.request-layout {
  grid-template-columns: .95fr 1.05fr !important;
  align-items: start !important;
  min-height: auto !important;
}

.request-layout .hero-card,
.request-layout .form-card {
  align-self: start !important;
}

.flow-card {
  justify-content: flex-start !important;
}

.request-layout h2 {
  text-align: left !important;
  font-size: clamp(24px, 2.6vw, 34px);
}

.request-layout .step-list {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.request-layout .step {
  min-height: 70px;
}

.request-layout .step small {
  line-height: 1.5;
}

.request-form-card {
  position: sticky;
  top: 92px;
}

@media (max-width: 960px) {
  .request-layout {
    grid-template-columns: 1fr !important;
  }

  .request-form-card {
    position: static;
  }
}


/* ===== Request proportional compact fix ===== */

.request-compact-layout {
  width: min(1260px, calc(100% - 52px));
  margin: 24px auto 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px !important;
  gap: 22px !important;
  align-items: start !important;
  min-height: auto !important;
}

.request-compact-layout .request-flow-card,
.request-compact-layout .request-form-card {
  width: 100%;
  align-self: start !important;
}

.request-flow-card {
  padding: 28px !important;
}

.request-flow-card::after {
  display: none !important;
}

.request-flow-card .eyebrow {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.request-flow-card h2 {
  text-align: left !important;
  font-size: clamp(25px, 2.45vw, 36px) !important;
  line-height: 1.12 !important;
  max-width: 760px !important;
  margin: 0 !important;
}

.request-lead {
  margin: 14px 0 0 !important;
  font-size: 12.8px !important;
  max-width: 680px !important;
}

.flow-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.flow-grid .step {
  min-height: 104px !important;
  align-items: flex-start !important;
  padding: 13px !important;
  grid-template-columns: 38px 1fr !important;
}

.flow-grid .step-no {
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
  margin-top: 1px;
}

.flow-grid .step strong {
  font-size: 12.7px !important;
  line-height: 1.25 !important;
}

.flow-grid .step small {
  display: block;
  margin-top: 5px;
  font-size: 11.4px !important;
  line-height: 1.45 !important;
}

.request-form-card {
  position: static !important;
  padding: 24px !important;
}

.request-form-card .form-grid {
  grid-template-columns: 1fr !important;
}

.request-form-card .form-group.full {
  grid-column: auto !important;
}

.request-form-card::after {
  display: none !important;
}

@media (max-width: 1080px) {
  .request-compact-layout {
    grid-template-columns: 1fr !important;
  }

  .request-form-card {
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  .request-compact-layout {
    width: calc(100% - 24px);
  }

  .flow-grid {
    grid-template-columns: 1fr !important;
  }

  .request-flow-card {
    padding: 20px !important;
  }
}


/* ===== TAHAP 4A-2 - Line Chart Model Like Reference ===== */

.chart-box-clean {
  background: #ffffff !important;
  border: 1px solid #e4dad3 !important;
  border-radius: 18px !important;
  padding: 10px 12px !important;
}

.rs-line-chart {
  display: block !important;
  width: 100% !important;
  height: 320px !important;
  background: #ffffff !important;
}

.chart-bg {
  fill: #ffffff !important;
}

.chart-main-title {
  fill: #202020 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.chart-axis-title-y,
.chart-axis-title-x {
  fill: #5d5651 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.chart-grid-line {
  stroke: #e2dedb !important;
  stroke-width: 1 !important;
}

.chart-axis-line {
  stroke: #5f5f5f !important;
  stroke-width: 1.5 !important;
}

.chart-y-label {
  fill: #1f1f1f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.chart-label {
  fill: #1f1f1f !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
}

.chart-line {
  fill: none !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.chart-pending {
  stroke: #f2b705 !important;
}

.chart-rejected {
  stroke: #c43c2d !important;
}

.chart-active {
  stroke: #2f9a54 !important;
}

.chart-point {
  stroke: #ffffff !important;
  stroke-width: 2 !important;
}

.point-pending {
  fill: #f2b705 !important;
}

.point-rejected {
  fill: #c43c2d !important;
}

.point-active {
  fill: #2f9a54 !important;
}

.chart-value {
  fill: #000000 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
}


/* =====================================================
   TAHAP 4B - RAPIIKAN LAYOUT DASHBOARD ADMIN
   ===================================================== */

/* area utama dashboard */
.admin-dashboard-v2 {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 18px !important;
  align-items: start !important;
}

/* panel utama grafik */
.dashboard-chart-panel {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 22px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fff8f1 100%) !important;
  border: 1px solid #e9ddd4 !important;
  box-shadow: 0 14px 34px rgba(79, 56, 40, 0.08) !important;
}

/* header atas grafik */
.dashboard-title-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}

/* area teks kiri */
.dashboard-title-row > div:first-child {
  flex: 1 1 520px !important;
  min-width: 280px !important;
}

/* judul utama */
.dashboard-title-row h2 {
  margin: 6px 0 8px 0 !important;
  font-size: 30px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
  color: #202020 !important;
}

/* subjudul penjelasan */
.dashboard-title-row p {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: #6c625d !important;
  max-width: 760px !important;
}

/* label kecil weekly analytics */
.mini-label {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #f3e4d8 !important;
  border: 1px solid #e7cdbd !important;
  color: #9a3f14 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* legend kanan */
.chart-legend {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  flex: 0 1 auto !important;
  margin-top: 2px !important;
}

.chart-legend span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid #e7ddd6 !important;
  background: #ffffff !important;
  color: #504945 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* kotak grafik */
.chart-box,
.chart-box-clean {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid #e6dbd4 !important;
  overflow: hidden !important;
}

/* svg agar tidak keluar */
.rs-line-chart {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 320px !important;
  overflow: visible !important;
}

/* statistik bawah grafik harus sejajar */
.dashboard-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

.dashboard-stat-card {
  min-height: 96px !important;
  padding: 16px !important;
  border-radius: 22px !important;
  border: 1px solid #e8ddd6 !important;
  background: #ffffff !important;
  box-shadow: 0 12px 24px rgba(79, 56, 40, 0.06) !important;
}

.dashboard-stat-card span {
  display: block !important;
  margin-bottom: 8px !important;
  color: #72665e !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.dashboard-stat-card b {
  display: block !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: #9a3f14 !important;
}

.stat-pending b {
  color: #bd8600 !important;
}

.stat-rejected b {
  color: #c43c2d !important;
}

.stat-active b {
  color: #2f9a54 !important;
}

/* panel rekap plugin */
.dashboard-summary-panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 20px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #fff9f0 0%, #ffffff 100%) !important;
  border: 1px solid #eadfd8 !important;
  box-shadow: 0 12px 28px rgba(79, 56, 40, 0.06) !important;
}

/* recent panel */
.dashboard-recent-panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 20px !important;
  border-radius: 24px !important;
  border: 1px solid #eadfd8 !important;
  box-shadow: 0 12px 28px rgba(79, 56, 40, 0.06) !important;
}

/* responsif */
@media (max-width: 1180px) {
  .dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .dashboard-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .chart-legend {
    justify-content: flex-start !important;
  }

  .dashboard-title-row h2 {
    font-size: 24px !important;
  }

  .dashboard-stat-grid {
    grid-template-columns: 1fr !important;
  }

  .rs-line-chart {
    height: 280px !important;
  }
}


/* ===== TAHAP 5C - Plugin Delete Button ===== */

.plugin-delete-form {
  margin: 0;
}

.btn-delete-plugin {
  min-height: 32px !important;
  padding: 7px 11px !important;
  font-size: 11.5px !important;
  border-radius: 10px !important;
  background: #b3261e !important;
  color: #ffffff !important;
}

.btn-delete-plugin:hover {
  filter: brightness(1.05);
}


/* ===== TAHAP 6B - License Action Dropdown ===== */

.license-action-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.license-action-select {
  min-width: 155px;
  height: 36px;
  border: 1px solid #e1c9bb;
  border-radius: 12px;
  background: #ffffff;
  color: #9a3f14;
  font-size: 12px;
  font-weight: 800;
  padding: 0 10px;
  outline: none;
  cursor: pointer;
}

.license-action-select:focus {
  border-color: #9a3f14;
  box-shadow: 0 0 0 4px rgba(154, 63, 20, .10);
}

.license-action-wrap form {
  display: none;
}


/* ===== License Action Clean Fix ===== */

.license-action-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.license-action-select {
  min-width: 165px;
  height: 36px;
  border: 1px solid #e1c9bb;
  border-radius: 12px;
  background: #ffffff;
  color: #9a3f14;
  font-size: 12px;
  font-weight: 800;
  padding: 0 10px;
  outline: none;
  cursor: pointer;
}

.license-action-select:focus {
  border-color: #9a3f14;
  box-shadow: 0 0 0 4px rgba(154, 63, 20, .10);
}

.license-action-wrap form {
  display: none;
}

.license-alert-danger {
  margin: 0 0 14px;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(179, 38, 30, .09);
  border: 1px solid rgba(179, 38, 30, .24);
  color: #b3261e;
  font-weight: 800;
  font-size: 12.5px;
}

