:root { --ui-ink: #0f172a; --ui-muted: #64748b; --ui-border: #e2e8f0; --ui-surface: #fff; --ui-canvas: #f8fafc; }
html { scroll-padding-top: 80px; }
body { -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.op-public, .m-app { background: var(--ui-canvas); color: var(--ui-ink); }
.op-newsbar-frame { display: block; width: 100%; height: 64px; border: 0; background: #fff; border-bottom: 1px solid var(--ui-border); }
.op-skip-link { position: fixed; left: 16px; top: -80px; z-index: 10000; padding: 12px 18px; border-radius: 10px; background: #0f172a; color: #fff; font-weight: 700; text-decoration: none; }
.op-skip-link:focus { top: 12px; }
.op-public .topbar { border-bottom: 1px solid var(--ui-border); box-shadow: 0 1px 6px rgb(15 23 42 / 3%); gap: 12px; }
.tb-navlinks a { border-radius: 9px; padding: 9px 10px; }
.tb-navlinks a.active { color: #745000; background: #fffbeb; }
.tb-burger, .tb-ic { min-width: 40px; min-height: 40px; border-radius: 10px; }
.tb-burger:hover, .tb-ic:hover { background: #f1f5f9; }
.tb-guest-btn { padding: 10px 15px; border-radius: 10px; }
.tb-mobnav { padding: 8px; border-bottom: 1px solid var(--ui-border); }
.tb-mobnav a { border: 0; border-radius: 9px; margin: 2px 0; padding: 12px 14px; }
.tb-mobnav a.active { border: 0; }
.topbar-lang { border-radius: 10px; }
.topbar-lang a { padding: 7px 10px; }
.pt-infostrip { background: #fffcf1; }
.solat-picker-btn, .ws-picker-btn { min-height: 40px; }
.op-public .op-page { max-width: 1120px; margin: 28px auto; padding: 24px; }
.op-public .info-card, .op-dashboard .info-card, .op-admin .card, .m-card { border: 1px solid var(--ui-border); border-radius: 14px; box-shadow: 0 4px 20px rgb(15 23 42 / 4%); }
.op-public input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), .op-public select, .op-public textarea { border-radius: 10px; }
.op-public input[type=search], .op-public select, .op-public .form-control, .m-input { min-height: 44px; }
.op-public .btn, .op-public .btn-primary, .op-public .btn-ghost { border-radius: 10px; }
.art-container { padding-top: 30px; }
.artikel-title { color: var(--ui-ink); letter-spacing: -.025em; line-height: 1.22; }
.artikel-body .ab-p, .m-baca .ab-p, .m-app #articleContent .ab-p { font-size: 17px; line-height: 1.85; }
.art-table td { padding-top: 16px; padding-bottom: 16px; }
.art-table tbody tr:hover { background: #fffcf1; }
.status-tabs { gap: 8px; }
.ws-wrap { padding-top: 24px; padding-bottom: 40px; }
.ws-crumb { margin-bottom: 20px; }
.cx-picker-bar { padding: 14px 16px; background: #fff; border: 1px solid var(--ui-border); border-radius: 14px; margin-bottom: 20px; gap: 12px; }
.cx-hero { box-shadow: 0 10px 28px rgb(3 105 161 / 12%); border-radius: 18px; }
.cx-wk, .cx-dist, .cx-hourly, .ws-faq-item { border-color: var(--ui-border); }
.ws-picker-search, .solat-picker-search { min-height: 44px; font-size: 16px; }
.ws-pk-item, .m-wpick-item, .sp-item { min-height: 42px; }
.op-picker-empty { margin: 8px; padding: 14px; color: var(--ui-muted); font-size: 13px; line-height: 1.6; background: #f8fafc; border-radius: 10px; }
.m-appbar { border-bottom: 1px solid var(--ui-border); }
.m-appbar-ic { min-height: 40px; min-width: 40px; }
.m-page { padding-top: 20px; }
.m-searchbar { border: 1px solid var(--ui-border); box-shadow: 0 3px 14px rgb(15 23 42 / 4%); }
.m-menu-open { overflow: hidden; }
.m-sheet { max-height: calc(100dvh - 100px); overflow-y: auto; }
.m-sheet-close { position: absolute; top: 7px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f1f5f9; color: #334155; font-size: 25px; cursor: pointer; }
.m-sheet-grid { padding-top: 16px; }
.user-menu { border: 0; background: transparent; font: inherit; color: inherit; }
.m-nav { box-shadow: 0 -4px 18px rgb(15 23 42 / 5%); }
.m-nav-item { min-height: 48px; }
@media(max-width: 640px) {
  .op-public .op-page { margin: 12px auto; padding: 18px 14px; }
  .ws-wrap { padding-top: 16px; }
  .cx-picker-bar { align-items: stretch; flex-direction: column; padding: 12px; }
  .cx-picker-bar .ws-picker, .cx-picker-bar .ws-picker-btn { width: 100%; }
  .cx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artikel-body .ab-p, .m-app #articleContent .ab-p { font-size: 16px; }
  .op-public .topbar { gap: 6px; }
  .tb-brand { font-size: .88rem; }
  .tb-guest-btn { padding: 9px 8px; font-size: .72rem; }
  .topbar-lang a { padding: 7px; }
  .op-public .topbar .user-name { display: none; }
  .op-public .topbar .user-menu { gap: 4px; }
  .op-public .topbar .user-avatar { width: 30px; height: 30px; }
  .op-public .topbar .tb-ic { min-width: 32px; }
  .op-public .topbar .tb-burger { min-width: 36px; }
}
@media(prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
