/* Revisi 06: tampilan pastel untuk halaman selain dashboard.
   Petugas Terang/Gelap dan seluruh logika aplikasi tetap menggunakan aturan lama. */
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) {
  --cm-page: #fbf2e5;
  --cm-panel: #fffaf1;
  --cm-border: #ead8c4;
  --cm-text: #40362d;
  --cm-muted: #6d5e50;
  --cm-green: #2f6c58;
  --cm-shadow: 0 5px 12px rgba(102,77,48,.10), inset 0 1px 2px rgba(255,255,255,.86);
  background: var(--cm-page);
  color: var(--cm-text);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .main {
  color: var(--cm-text);
  background: linear-gradient(145deg, #fcf1df, #fffaf0 55%, #f9efdf);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .topbar {
  background: #fffaf1;
  border-bottom-color: var(--cm-border);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .topbar :is(h2,.top-right) { color: #46584a; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .topbar .eyebrow { color: #527767; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .page-heading h1 { color: #49372b; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.page-heading p,.panel-head p,.cell-sub,.muted,.analytics-muted) { color: var(--cm-muted); }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.panel,.analytics-panel,.account-stat-card,.analytics-stat,.review-summary,.analytics-modal) {
  background: var(--cm-panel);
  border-color: var(--cm-border);
  border-radius: 18px;
  box-shadow: var(--cm-shadow);
  color: var(--cm-text);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.panel-head,.user-card,.analytics-modal-head) { border-color: #eee0ce; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.panel-head h3,.panel-head h2,.analytics-modal-head h2,.review-summary h3) { color: #493a2e; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.account-stat-card strong,.analytics-stat strong) { color: #315d4b; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.btn.primary) {
  background: #3b806e;
  color: #fff;
  border-radius: 11px;
  box-shadow: 0 3px 7px rgba(45,86,67,.18);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .btn.primary:hover { background: #306a5b; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .btn.secondary {
  background: #fffaf1;
  border-color: #dfcdb8;
  border-radius: 11px;
  color: #485a4b;
  box-shadow: 0 3px 6px rgba(95,71,48,.08);
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.inline-link,.text-btn) { color: #2c705d; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .content :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="submit"]):not([type="button"]) {
  color: #403b32;
  background-color: #fffdf8;
  border-color: #ddcbb5;
  border-radius: 10px;
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .content :is(label,.form-label) { color: #574b3f; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.search-box,.report-filter,.account-tabs) {
  background: #f8f0e3;
  border-color: #ead8c4;
  border-radius: 13px;
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .account-tab { color: #67594b; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .account-tab.active { background: #fffaf1; color: #2f6c58; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.table-wrap,.dashboard-detail-table) { background: #fffaf1; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .content th { background: #f6ecdd; color: #675746; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .content :is(td,tr) { border-color: #f0e4d4; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .content tbody tr:hover { background: #faf2e6; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.empty,.empty b) { color: #716454; }
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(button,a,input,select,textarea):focus-visible { outline: 3px solid #397867; outline-offset: 2px; }

/* Navigasi admin mengikuti warna dashboard pada halaman lain. */
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar,
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar.mobile-drawer {
  background: linear-gradient(160deg, #c4d4c4, #a8c5b4);
  color: #25483c;
  border-right: 1px solid rgba(255,255,255,.8);
  box-shadow: 5px 0 20px rgba(90,80,60,.14);
}
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar :is(.nav-item,.brand b,.user-meta b,.user-meta small,.icon-btn,.mobile-drawer-close) { color: #284d42; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar :is(.brand small,.nav-label) { color: #4a6b5e; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar :is(.brand,.user-card) { border-color: rgba(66,103,91,.24); }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar .nav-item { border-radius: 14px; font-weight: 650; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar .nav-item:is(:hover,:focus-visible) { background: rgba(255,255,255,.62); color: #214d41; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar .nav-item.active { background: linear-gradient(180deg,#fffdf5,#f3eee2); color: #204b3d; box-shadow: 0 4px 7px rgba(55,81,58,.2), inset 0 1px 1px #fff; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar .avatar { background: #fffaf0; color: #326454; }
.layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar :is(.icon-btn,.mobile-drawer-close) { background: rgba(255,255,255,.55); border-color: rgba(67,106,91,.2); }

/* Login dan pengaturan kata sandi memakai tema netral yang sama. */
.login-page { background: #fbf2e5; color: #40362d; }
.login-page .login-art { background: linear-gradient(145deg,#d5e3cf,#abcaba); color: #294c3f; }
.login-page .login-art :is(h1,p,.eyebrow) { color: #294c3f; }
.login-page .login-logo { background: #fffaf1; box-shadow: 0 6px 14px rgba(66,94,69,.18); }
.login-page .login-form-wrap { background: #fbf2e5; }
.login-page .login-form { background: #fffaf1; border: 1px solid #ead8c4; border-radius: 22px; box-shadow: 0 7px 18px rgba(102,77,48,.10); padding: 28px; }
.login-page .login-form :is(h2,label) { color: #49372b; }
.login-page .login-form .muted { color: #6d5e50; }
.login-page .login-form input:not([type="hidden"]) { background: #fffdf8; border-color: #ddcbb5; color: #403b32; border-radius: 10px; }
.login-page .login-form .btn.primary { background: #3b806e; color: #fff; border-radius: 11px; }
.login-page .login-form .btn.primary:hover { background: #306a5b; }
.login-page .login-form .text-btn { color: #2c705d; }
.login-page .login-form :is(button,a,input):focus-visible { outline: 3px solid #397867; outline-offset: 2px; }
.setup-screen,.loading-screen { background: #fbf2e5; color: #40362d; }
.setup-screen .setup-card { background: #fffaf1; color: #40362d; border-color: #ead8c4; box-shadow: 0 7px 18px rgba(102,77,48,.10); }
@media (max-width: 700px) {
  .login-page { background: linear-gradient(160deg,#f7e5d2,#fff8eb); }
  .login-page .login-form-wrap { background: transparent; }
  .login-page .login-form { padding: 24px 20px; }
  .layout:not(.rwa-petugas):not(:has(.dashboard-period-toolbar)) .sidebar.mobile-drawer { background: linear-gradient(160deg,#c4d4c4,#a8c5b4); }
}
@media (max-width: 700px) {
  :is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .mobile-bottom-nav {
    background: #fffaf1;
    border-color: #ead8c4;
    box-shadow: 0 -5px 16px rgba(102,77,48,.10);
  }
  :is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .mobile-bottom-item { color: #607366; }
  :is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) .mobile-bottom-item.active { background: #e0eee1; color: #24614e; }
  :is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) :is(.mobile-menu-btn,.mobile-logout) { background: #fffaf1; border-color: #dfcdb8; color: #345f50; }
}

/* Revisi 07: kontras tombol foto dan header petugas. */
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) #catat-meter-form .photo-actions label.btn.primary.photo-pick {
  color: #fff;
}
:is(.layout:not(.rwa-petugas), .layout.rwa-petugas[data-rwa-theme="pastel"]):not(:has(.dashboard-period-toolbar)) #catat-meter-form .photo-actions label.btn.primary.photo-pick svg {
  color: inherit;
}
.layout.rwa-petugas .topbar > div:first-of-type > .eyebrow,
.layout.rwa-petugas .topbar > div:first-of-type > h2 {
  display: none;
}
@media (max-width: 700px) {
  #catat-meter-form .photo-capture { padding: 12px; gap: 10px; }
  #catat-meter-form .photo-actions { gap: 8px; }
  #catat-meter-form .photo-actions .btn { min-height: 48px; padding: 10px 12px; }
  #catat-meter-form .photo-capture .cell-sub { line-height: 1.45; }
  #catat-meter-form .form-actions { gap: 8px; padding: 12px 13px 14px; }
  #catat-meter-form .form-actions .btn { min-height: 46px; }
}

/* Revisi 08: ikon dan teks tombol foto sejajar di tengah. */
#catat-meter-form .photo-actions label.photo-pick {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 6px;
}
