
    :root {
      --primary: #0F5132;
      --primary-light: #E8F5E9;
      --primary-dark: #0A3622;
      --accent: #C5A059;
      --accent-light: #FFF8E7;
      --danger: #DC3545;
      --danger-light: #F8D7DA;
      --bg: #F4F6F8;
      --surface: #FFFFFF;
      --text-main: #1E293B;
      --text-muted: #64748B;
      --border: #E2E8F0;
      --radius: 16px;
      --shadow-sm: 0 2px 6px rgba(0,0,0,0.04);
      --font-scale: 1.15;
    }

    body.theme-wanita {
      --primary: #9D174D;
      --primary-light: #FCE7F3;
      --primary-dark: #831843;
      --accent: #D97706;
      --accent-light: #FEF3C7;
      --bg: #FDF2F8;
      --surface: #FFFFFF;
      --text-main: #27141E;
      --border: #FBCFE8;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Plus Jakarta Sans', sans-serif;
      -webkit-tap-highlight-color: transparent;
    }

    body {
      background-color: var(--bg);
      color: var(--text-main);
      padding-bottom: calc(95px + env(safe-area-inset-bottom));
      font-size: calc(13px * var(--font-scale));
      line-height: 1.5;
    }

    header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--surface);
      border-bottom: 1px solid var(--border);
      box-shadow: var(--shadow-sm);
    }

    .top-controls {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 16px;
    }

    .app-title {
      font-weight: 800;
      color: var(--primary);
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: calc(16px * var(--font-scale));
      cursor: pointer;
    }

    .top-actions {
      display: flex;
      gap: 8px;
      align-items: center;
    }

    .btn-font {
      background: var(--surface);
      border: 1.5px solid var(--border);
      padding: 5px 11px;
      border-radius: 8px;
      font-weight: 800;
      font-size: calc(14px * var(--font-scale));
      cursor: pointer;
      color: var(--text-main);
    }

    .btn-profile-icon {
      background: var(--primary-light);
      border: 2px solid var(--primary);
      width: 38px;
      height: 38px;
      border-radius: 50%;
      font-size: 20px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      overflow: hidden;
      outline: none;
    }
    .btn-profile-icon img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: none;
    }

    .hero-info-section {
      background: var(--surface);
      border-bottom: 1px solid var(--border);
    }

    .manhaj-subbar {
      background: var(--primary-light);
      color: var(--primary-dark);
      padding: 7px 16px;
      font-size: 12px;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 7px;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .manhaj-subbar::-webkit-scrollbar { display:none; }
    .manhaj-subbar > span {
      white-space: nowrap;
      flex: 0 0 auto;
    }

    
    .prayer-times-bar {
      background: #FFFFFF;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 7px 8px;
      display: grid;
      grid-template-columns: minmax(74px, 1.25fr) repeat(5, minmax(56px, 1fr));
      align-items: stretch;
      gap: 3px;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .prayer-times-bar::-webkit-scrollbar { display:none; }
    .prayer-item, .prayer-location-item {
      min-width: 56px;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      line-height:1.15; text-align:center; white-space:nowrap;
      padding:2px 3px; border-radius:8px;
    }
    .prayer-location-item { min-width:74px; align-items:flex-start; text-align:left; color:var(--primary-dark); font-weight:800; }
    .prayer-label { font-size:calc(9px * var(--font-scale)); color:var(--text-muted); font-weight:700; }
    .prayer-item strong { font-size:calc(11px * var(--font-scale)); color:var(--text-main); margin-top:2px; }
    .prayer-location-item strong { font-size:calc(11px * var(--font-scale)); max-width:100px; overflow:hidden; text-overflow:ellipsis; }
    @media (max-width:390px){
      .prayer-times-bar{grid-template-columns:minmax(70px,1.2fr) repeat(5,minmax(52px,1fr)); padding-left:6px; padding-right:6px;}
      .prayer-label{font-size:8px;} .prayer-item strong,.prayer-location-item strong{font-size:10px;}
    }

    .dual-clock-container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      padding: 10px 16px;
      gap: 10px;
      background: linear-gradient(135deg, var(--primary-dark), var(--primary));
      color: white;
    }

    .clock-card {
      background: rgba(255, 255, 255, 0.12);
      padding: 8px 10px;
      border-radius: 12px;
      backdrop-filter: blur(4px);
    }

    .clock-label {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      opacity: 0.9;
    }

    .clock-time {
      font-size: calc(18px * var(--font-scale));
      font-weight: 800;
      margin: 2px 0;
    }

    .clock-sub {
      font-size: 11px;
      opacity: 0.85;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .date-row {
      background: var(--surface);
      padding: 8px 16px;
      font-size: 12px;
      font-weight: 700;
      color: var(--text-main);
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 4px;
    }

    .countdown-bar {
      background: var(--accent-light);
      padding: 4px 10px;
      border-bottom: 1px solid #F0C36D;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      font-size: 12px;
      font-weight: 800;
      color: #78350F;
    }
    .countdown-bar > span {
      min-width: 0;
      min-height: 34px;
      text-align: center;
      white-space: normal;
      overflow: visible;
      padding: 2px 7px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      line-height: 1.18;
      text-wrap: balance;
    }
    .countdown-bar > span strong { display:inline; font:inherit; font-weight:800; }
    .countdown-bar > span + span { border-left: 1px solid rgba(120,53,15,.22); }
    #cd-sisa-wrap{cursor:pointer;} #cd-sisa-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;}
    @media (max-width: 380px) {
      .countdown-bar { font-size: 10.5px; padding:3px 4px; }
      .countdown-bar > span { min-height:32px; padding:2px 5px; gap:3px; }
    }

    .container {
      padding: 16px;
      max-width: 650px;
      margin: 0 auto;
    }

    .view-content {
      display: none;
    }
    .view-content.active {
      display: block;
    }

    .card {
      background: var(--surface);
      border-radius: var(--radius);
      padding: 16px;
      margin-bottom: 16px;
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--border);
    }

    .card-title {
      font-size: calc(16px * var(--font-scale));
      font-weight: 800;
      color: var(--primary);
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .fase-select-wrapper {
      position: sticky;
      top: 57px;
      z-index: 95;
      background: var(--surface);
      padding: 6px 0 12px 0;
      margin-bottom: 12px;
    }

    .fase-select {
      width: 100%;
      padding: 11px 12px;
      border: 2px solid var(--primary);
      border-radius: 12px;
      font-size: calc(13px * var(--font-scale));
      font-weight: 700;
      background: white;
      color: var(--primary-dark);
      outline: none;
      box-shadow: var(--shadow-sm);
    }

    .komponen-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .komponen-card {
      border: 1.5px solid var(--border);
      border-radius: 12px;
      background: white;
      overflow: hidden;
      box-shadow: none;
    }

    
    .komponen-card.frame-larangan {
      border: 2px solid var(--danger);
      background: #FFF5F5;
    }
    .komponen-card.frame-larangan .komponen-header {
      background: #FEE2E2;
      color: #991B1B;
    }

    
    .komponen-card.frame-mitigasi { border: 2px solid #EAB308; background: #FFFBEB; }
    .komponen-card.frame-mitigasi .komponen-header { background: #FEF3C7; color: #854D0E; }

    .komponen-header {
      padding: 12px 14px;
      font-size: calc(13px * var(--font-scale));
      font-weight: 700;
      display: flex;
      justify-content: space-between;
      align-items: center;
      cursor: pointer;
      background: #FAFAFA;
      user-select: none;
    }
    .komponen-header.active {
      background: var(--primary-light);
      color: var(--primary-dark);
      border-bottom: 1px solid var(--border);
    }

    .komponen-body {
      padding: 14px;
      font-size: calc(13px * var(--font-scale));
      line-height: 1.6;
    }

    .arabic-box {
      background: #FCFDFD;
      border: 1px solid var(--border);
      border-right: 4px solid var(--primary);
      border-radius: 12px;
      padding: 14px;
      margin: 8px 0;
    }

    .arabic-text {
      font-family: 'Amiri', serif;
      font-size: calc(23px * var(--font-scale));
      line-height: 2.2;
      text-align: right;
      direction: rtl;
      color: #0A3622;
      margin-bottom: 8px;
    }
    body.theme-wanita .arabic-text {
      color: #831843;
    }

    .latin-text {
      font-size: calc(12.5px * var(--font-scale));
      color: #475569;
      font-style: italic;
      margin-bottom: 4px;
    }

    .translation-text {
      font-size: calc(13px * var(--font-scale));
      color: var(--text-main);
    }

    
    .cross-check-item {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin-bottom: 8px;
      cursor: pointer;
      color: #991B1B;
      font-weight: 600;
    }
    .cross-box {
      width: 20px;
      height: 20px;
      min-width: 20px;
      border: 2px solid var(--danger);
      border-radius: 5px;
      background: white;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 900;
      color: transparent;
      user-select: none;
      transition: all 0.15s ease;
      margin-top: 1px;
    }
    .cross-check-item.checked .cross-box {
      background: var(--danger);
      color: white;
    }

    .sub-tabs {
      display: flex;
      background: #E2E8F0;
      padding: 3px;
      border-radius: 10px;
      gap: 3px;
      margin-bottom: 14px;
      overflow-x: auto;
    }

    .sub-tab-btn {
      flex: 1;
      padding: 8px 6px;
      text-align: center;
      font-size: calc(11.5px * var(--font-scale));
      font-weight: 700;
      border-radius: 8px;
      border: none;
      background: transparent;
      cursor: pointer;
      color: var(--text-muted);
      white-space: nowrap;
    }

    .sub-tab-btn.active {
      background: var(--surface);
      color: var(--primary);
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .bottom-nav {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      background: var(--surface);
      border-top: 1.5px solid var(--border);
      display: flex;
      justify-content: space-around;
      padding: 8px 2px calc(8px + env(safe-area-inset-bottom));
      z-index: 100;
      box-shadow: 0 -4px 14px rgba(0,0,0,0.06);
    }

    .nav-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      background: none;
      border: none;
      color: var(--text-muted);
      font-size: calc(10.5px * var(--font-scale));
      font-weight: 700;
      cursor: pointer;
      width: 20%;
      min-height: 48px;
    }

    .nav-item.active {
      color: var(--primary);
      background: rgba(15, 81, 50, 0.12);
      border-radius: 14px;
    }

    .nav-icon {
      font-size: 20px;
      line-height: 1;
    }

    .form-group {
      margin-bottom: 12px;
    }
    .form-label {
      display: block;
      font-size: calc(12.5px * var(--font-scale));
      font-weight: 700;
      margin-bottom: 4px;
    }
    .form-select, .form-input {
      width: 100%;
      padding: 10px 12px;
      border: 1.5px solid var(--border);
      border-radius: 10px;
      font-size: calc(13.5px * var(--font-scale));
      outline: none;
      background: white;
    }

    .btn-block {
      width: 100%;
      padding: 13px;
      border-radius: 12px;
      border: none;
      font-weight: 800;
      font-size: calc(14px * var(--font-scale));
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      text-decoration: none;
    }
    .btn-primary { background: var(--primary); color: white; }
    .btn-danger { background: var(--danger); color: white; }
    .btn-secondary { background: white; border: 1.5px solid var(--border); color: var(--text-main); }
    .btn-wa { background: #25D366; color: white; }

    .photo-upload-box {
      border: 2px dashed var(--border);
      border-radius: 14px;
      padding: 14px;
      text-align: center;
      background: #F8FAFC;
      margin-bottom: 12px;
    }
    .photo-preview {
      width: 84px;
      height: 84px;
      border-radius: 50%;
      object-fit: cover;
      margin: 0 auto 8px;
      display: none;
      border: 2px solid white;
    }

    .contact-card {
      background: white;
      border: 1.5px solid var(--border);
      border-radius: 12px;
      padding: 12px;
      margin-bottom: 10px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .id-table {
      width: 100%;
      border-collapse: collapse;
      font-size: calc(11.5px * var(--font-scale));
      color: white !important;
      margin-top: 10px;
    }
    .id-table td {
      padding: 6px 4px;
      border-bottom: 1px solid rgba(255,255,255,0.15);
      vertical-align: middle;
      color: white !important;
    }
    .id-col-en {
      width: 32%;
      text-align: left;
      opacity: 0.95;
      font-size: 11px;
      color: white !important;
    }
    .id-col-val {
      width: 38%;
      text-align: center;
      font-weight: 700;
      color: white !important;
    }
    .id-col-ar {
      width: 30%;
      text-align: right;
      font-family: 'Amiri', serif;
      font-size: 16px;
      color: white !important;
    }

    .phase-alert-box {
      background: #FEF3C7;
      border: 1.5px solid #F59E0B;
      color: #92400E;
      padding: 12px 14px;
      border-radius: 12px;
      font-size: calc(13px * var(--font-scale));
      margin-bottom: 14px;
      display: none;
    }

    
    button, a, select, input { touch-action: manipulation; }
    .contact-card a { min-height:48px; }
    textarea:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
    button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
    .status-card { border:1.5px solid var(--border); border-radius:12px; padding:13px; margin-top:10px; background:var(--surface); }
    .status-card.level-green { border-color:#86B99A; background:#F0FDF4; }
    .status-card.level-yellow { border-color:#F0C36D; background:#FFF8E7; }
    .status-card.level-red { border-color:#F29AA2; background:#FFF1F2; }
    .guidance-note { font-size:calc(12px * var(--font-scale)); color:var(--text-muted); line-height:1.55; }
    .overlay-v16 { position:fixed; inset:0; z-index:9999; background:rgba(15,23,42,.72); display:none; align-items:center; justify-content:center; padding:18px; }
    .overlay-v16.active { display:flex; }
    .overlay-panel { width:min(100%,520px); max-height:92vh; overflow:auto; background:var(--surface); border-radius:20px; padding:20px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
    .onboard-options { display:grid; gap:9px; margin:12px 0; }
    .onboard-options label { display:flex; align-items:center; gap:9px; border:1.5px solid var(--border); border-radius:12px; padding:11px; font-weight:700; cursor:pointer; min-height:48px; }
    .emergency-panel { background:#fff; border:3px solid var(--danger); }
    
    .text-caption { font-size:calc(12px * var(--font-scale)); line-height:1.45; color:var(--text-muted); }
    .text-secondary { font-size:calc(13px * var(--font-scale)); line-height:1.55; color:var(--text-muted); }
    .text-body { font-size:calc(14px * var(--font-scale)); line-height:1.6; font-weight:400; }
    .section-title { font-size:calc(16px * var(--font-scale)); line-height:1.35; font-weight:800; }
    .violation-result { font-size:calc(14px * var(--font-scale)); line-height:1.6; }
    .violation-result .result-heading { font-size:calc(16px * var(--font-scale)); line-height:1.35; font-weight:800; margin-bottom:7px; }
    .violation-result .result-body { font-size:calc(14px * var(--font-scale)); line-height:1.6; font-weight:400; }
    .violation-result .result-action { margin-top:12px; padding-top:10px; border-top:1px solid rgba(0,0,0,.08); }
    .violation-result .result-action strong { display:block; font-size:calc(14px * var(--font-scale)); line-height:1.45; margin-bottom:4px; }
    .violation-result .result-action span { display:block; font-size:calc(14px * var(--font-scale)); line-height:1.6; font-weight:400; }
    .contact-card a, .contact-card button { min-height:44px; font-size:calc(13px * var(--font-scale)) !important; }
    .form-label { font-size:calc(13px * var(--font-scale)); }
    .form-input,.form-select,textarea.form-input { font-size:calc(14px * var(--font-scale)); line-height:1.45; }
    #c-label,#c-sub,#tasbih-round { font-size:calc(13px * var(--font-scale)) !important; }
    #btn-tap-counter-text { font-size:calc(17px * var(--font-scale)) !important; }
    #btn-counter-reset,#btn-counter-undo { font-size:calc(14px * var(--font-scale)); min-height:48px; }
    .emergency-name { font-size:calc(24px * var(--font-scale)); font-weight:800; text-align:center; }
    .emergency-ar { font-family:'Amiri',serif; font-size:calc(26px * var(--font-scale)); line-height:1.5; text-align:center; margin:12px 0; }
    .offline-pill { display:none; position:fixed; right:10px; bottom:92px; z-index:500; background:#334155; color:#fff; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:800; }
    body[data-connection="offline"] .offline-pill { display:block; }
    .pwa-update-pill { display:none; position:fixed; left:10px; right:10px; bottom:92px; z-index:501; max-width:520px; margin:auto; background:#fff; color:#1f2937; border:1px solid #d1d5db; border-radius:14px; padding:10px 12px; box-shadow:0 8px 24px rgba(0,0,0,.18); align-items:center; gap:10px; font-size:12px; font-weight:700; }
    .pwa-update-pill.show { display:flex; }
    .pwa-update-pill button { margin-left:auto; min-height:40px; border:0; border-radius:10px; padding:8px 12px; background:var(--primary); color:#fff; font-weight:800; cursor:pointer; }
    @media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
    @media (max-width:390px){ .prayer-label{font-size:calc(9px * var(--font-scale));} .prayer-item strong,.prayer-location-item strong{font-size:calc(11px * var(--font-scale));} }
  
    
    .manhaj-subbar{display:grid !important;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,1fr);align-items:center;text-align:center;gap:0 !important;width:100%;overflow:hidden !important;padding:7px 8px;}
    .manhaj-subbar > span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 7px;border-right:1px solid rgba(0,0,0,.14);}
    .manhaj-subbar > span:last-child{border-right:0;}
    @media(max-width:390px){.manhaj-subbar{font-size:calc(10px * var(--font-scale));padding-left:3px;padding-right:3px}.manhaj-subbar > span{padding:0 3px;}}

    
    @media (max-width:600px){
      .top-controls{padding:8px 10px;gap:8px;}
      .app-title{flex:1 1 auto;min-width:0;gap:5px;font-size:calc(15px * var(--font-scale));white-space:nowrap;line-height:1.1;}
      .app-title span{flex:0 0 auto;}
      .top-actions{flex:0 0 auto;gap:5px;}
      .btn-font{min-height:34px;padding:4px 8px;border-radius:8px;font-size:calc(12px * var(--font-scale));line-height:1;}
      #btn-search{min-width:38px;padding-left:8px;padding-right:8px;font-size:calc(15px * var(--font-scale));}
      #btn-font-dec,#btn-font-inc{min-width:34px;padding-left:6px;padding-right:6px;font-size:calc(12px * var(--font-scale));}
      .btn-profile-icon{width:36px;height:36px;font-size:19px;flex:0 0 36px;}
    }
    @media (max-width:390px){
      .top-controls{padding-left:7px;padding-right:7px;gap:5px;}
      .app-title{font-size:calc(14px * var(--font-scale));gap:4px;}
      .top-actions{gap:4px;}
      #btn-search{min-width:36px;}
      #btn-font-dec,#btn-font-inc{min-width:31px;padding-left:5px;padding-right:5px;}
      .btn-profile-icon{width:34px;height:34px;flex-basis:34px;}
    }

    
    .search-overlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:9998;display:none;align-items:flex-start;justify-content:center;padding:72px 14px 24px;}
    .search-overlay.active{display:flex}.search-panel{width:min(680px,100%);max-height:82vh;overflow:auto;background:#fff;border-radius:18px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.24)}
    .search-head{display:flex;gap:8px;align-items:center}.search-input{flex:1;min-height:50px;border:2px solid var(--border);border-radius:12px;padding:0 14px;font:inherit;font-size:calc(16px * var(--font-scale));outline:none}.search-input:focus{border-color:var(--primary)}
    .search-close{min-width:48px;min-height:48px;border:0;border-radius:12px;background:#f1f5f9;font-size:22px;cursor:pointer}.search-help{font-size:calc(12px * var(--font-scale));color:var(--text-muted);margin:8px 2px 12px}.search-result{display:block;width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px;margin:8px 0;cursor:pointer}.search-result-title{font-weight:800;color:var(--primary-dark)}.search-result-meta{font-size:calc(11px * var(--font-scale));color:var(--text-muted);margin-top:3px}.search-empty{padding:18px;text-align:center;color:var(--text-muted)}
    @media(max-width:600px){.search-overlay{padding:0}.search-panel{width:100%;height:100%;max-height:none;border-radius:0;padding-top:max(16px,env(safe-area-inset-top))}}

    
    :root { --tap-min:48px; }
    html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    body { line-height:1.55; }
    button, [role="button"], select, input:not([type="checkbox"]):not([type="radio"]), a.btn, .btn {
      min-height:var(--tap-min);
    }
    button, [role="button"], .nav-item, .accordion-header, .phase-select { -webkit-tap-highlight-color:rgba(15,81,50,.12); }
    button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
      outline:3px solid #0F5132; outline-offset:2px;
    }
    .form-input,.form-select,textarea.form-input { min-height:48px; }
    textarea.form-input { min-height:96px; }
    .bottom-nav { padding-bottom:max(8px, env(safe-area-inset-bottom)); }
    .modal-card, .sheet-card { max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; }
    @media (max-width:420px){
      .text-body,.violation-result,.violation-result .result-body { font-size:calc(14.5px * var(--font-scale)); }
      .text-secondary,.form-label { font-size:calc(13.5px * var(--font-scale)); }
      .section-title { font-size:calc(16.5px * var(--font-scale)); }
      .contact-card a,.contact-card button { min-height:48px; }
    }
    @media (max-width:360px){
      .app-title { font-size:18px; }
      .header-actions { gap:4px; }
      .header-actions button { min-width:44px; padding-left:8px; padding-right:8px; }
      .profile-badges { font-size:11px; }
    }

    
    .btn-profile-icon {
      width:38px !important; height:38px !important; min-width:38px; min-height:38px !important;
      flex:0 0 38px; aspect-ratio:1 / 1; border-radius:50%;
    }
    .btn-profile-icon img { width:100%; height:100%; aspect-ratio:1 / 1; object-fit:cover; }
    #subview-prof-kloter .form-group[style*="grid-template-columns"] { min-width:0; }
    #subview-prof-kloter .form-group[style*="grid-template-columns"] > div { min-width:0; }
    input[type="date"].form-input {
      display:block; width:100%; max-width:100%; min-width:0; box-sizing:border-box;
      padding-left:14px; padding-right:12px; overflow:hidden;
    }
    input[type="date"]::-webkit-date-and-time-value { min-width:0; text-align:left; }
    input[type="date"]::-webkit-calendar-picker-indicator {
      margin:0; padding:8px 2px 8px 8px; flex:0 0 auto;
    }
    @media (max-width:360px){
      #subview-prof-kloter .form-group[style*="grid-template-columns"] { grid-template-columns:1fr !important; gap:10px !important; }
    }

    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    }
    @media(max-width:520px){}
    .profile-focus-target{outline:3px solid var(--accent)!important;outline-offset:3px;box-shadow:0 0 0 5px rgba(245,158,11,.16)!important}

  
    
    .komponen-card{--component-font-size:calc(13px * var(--font-scale));}
    .komponen-card .komponen-header,
    .komponen-card .komponen-body,
    .komponen-card .komponen-body *:not(.arabic-text){font-size:var(--component-font-size)!important;}
    .komponen-card .arabic-text{font-size:calc(23px * var(--font-scale))!important;line-height:2.15;}
    .komponen-card .komponen-header{line-height:1.4;}
    .komponen-card .komponen-body{line-height:1.62;}

    
    .komponen-card .komponen-body{font-weight:400;}
    .komponen-card .komponen-body .arabic-text{font-weight:700!important;}

    
    .komponen-card.frame-panduan .komponen-body,
    .komponen-card.frame-mitigasi .komponen-body,
    .komponen-card.frame-bantuan .komponen-body{padding-left:24px;padding-right:24px;}

  

.r22-ui-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.r22-ui-card{width:min(100%,440px);max-height:min(82vh,680px);overflow:auto;background:var(--surface,#fff);color:var(--text,#172033);border:1px solid rgba(127,127,127,.22);border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.28);font:inherit}
.r22-ui-title{font-size:1.08rem;font-weight:750;margin:0 0 12px;line-height:1.35}
.r22-ui-message{font-size:.98rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 20px}
.r22-ui-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.r22-ui-btn{appearance:none;border:1px solid #cbd5e1;border-radius:11px;padding:10px 16px;font:inherit;font-weight:650;cursor:pointer;background:#f8fafc;color:#172033;min-height:42px}
.r22-ui-btn-primary{background:#1769aa;color:#fff;border-color:#1769aa}
.r22-ui-btn-danger{background:#b42318;color:#fff;border-color:#b42318}
.r22-ui-input{box-sizing:border-box;width:100%;min-height:110px;resize:vertical;padding:12px;border:1px solid #94a3b8;border-radius:10px;font:inherit;line-height:1.45;margin:0 0 16px;background:transparent;color:inherit}
.r22-ui-btn:focus-visible,.r22-ui-input:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}
@media(prefers-color-scheme:dark){.r22-ui-card{background:#172033;color:#f8fafc}.r22-ui-btn:not(.r22-ui-btn-primary):not(.r22-ui-btn-danger){background:#253047;color:#f8fafc;border-color:#64748b}.r22-ui-input{border-color:#64748b}}


:root{--r22-gold:#b38b46} [hidden]{display:none!important} button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.top-controls{gap:6px;padding-left:10px;padding-right:10px}.app-title{font-size:clamp(12px,3.25vw,18px);white-space:nowrap;gap:5px}.r22-brand-logo{width:29px;height:29px;object-fit:cover;border-radius:7px}.top-actions{gap:3px}.top-actions .btn-font{min-width:26px;padding:3px;font-size:11px}.btn-profile-icon{flex-shrink:0}.manhaj-subbar{gap:8px}.manhaj-subbar #header-manhaj-badge{display:none}.manhaj-subbar>span{flex:1;text-align:center}#form-img-preview{width:156px!important;height:208px!important;border-radius:12px!important;object-fit:cover;object-position:center;margin:0 auto 12px}#form-default-avatar{width:156px;height:208px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px!important;background:var(--primary-light);border-radius:12px;border:1px dashed var(--border)}#header-avatar-img{width:100%;height:100%;border-radius:50%!important;object-fit:cover}.r22-quick-actions{display:flex;gap:8px;margin:12px 0}.r22-quick-actions button{flex:1;border:1px solid var(--border);padding:11px;border-radius:12px;color:var(--primary);background:var(--primary-light);font-weight:700;font-size:13px}.r22-module-picker{padding-top:16px;border-top:1px solid var(--border);margin:16px 0}.r22-stage-head{padding:20px 0 16px;border-bottom:1px solid var(--border);margin-bottom:14px}.r22-stage-head h2{font-size:clamp(19px,4.3vw,25px);color:var(--primary-dark);line-height:1.35;margin-top:7px}.r22-kicker{font-size:11px;letter-spacing:.1em;font-weight:800;color:var(--text-muted)}.r22-component{border:1px solid var(--border);border-radius:13px;background:var(--surface);margin:13px 0;overflow:hidden}.r22-component>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:16px;font-weight:750;color:var(--primary-dark);background:var(--primary-light);list-style:none;min-height:54px}.r22-component>summary::-webkit-details-marker{display:none}.r22-component[open]>summary{border-bottom:1px solid var(--border)}.r22-component-body{padding:14px 16px;line-height:1.75}.r22-larangan{border-color:#f0b1b1}.r22-larangan>summary{background:#fff1f1;color:#a61c2c}.r22-mitigasi_darurat{border-color:#f0d595}.r22-mitigasi_darurat>summary{background:#fff8df;color:#855d14}.r22-paragraph{margin:10px 0}.r22-text{white-space:pre-wrap;overflow-wrap:anywhere}.r22-subtitle{font-weight:750;color:var(--primary-dark);font-size:1.02em;margin:18px 0 8px;line-height:1.6}.r22-note{font-size:.83em;color:var(--text-muted);margin:8px 0;line-height:1.7}.r22-pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:monospace;font-size:.7em;line-height:1.5;overflow:auto;max-width:100%;padding:8px 0}.r22-check{border-bottom:1px solid var(--border);padding:13px 0}.r22-check:last-child{border-bottom:0}.r22-check>label{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.r22-check input{width:21px;height:21px;min-width:21px;accent-color:var(--primary);margin-top:4px}.r22-check-detail{padding-left:32px}.r22-tab-row{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 12px}.r22-tab{min-height:46px;border:1px solid var(--border);padding:9px 12px;background:var(--surface);color:var(--primary-dark);border-radius:10px;font-size:.83em;font-weight:700}.r22-tab.active{background:var(--primary);color:white;border-color:var(--primary)}.r22-prayer{margin:12px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.r22-prayer>summary{padding:11px 12px;cursor:pointer;background:#faf8f2;display:flex;justify-content:space-between;font-weight:650;font-size:.86em;list-style:none}.r22-prayer-body{padding:14px}.r22-arabic{font-family:Amiri,'Traditional Arabic',serif;font-size:calc(26px * var(--font-scale));line-height:2.1;text-align:right;white-space:pre-wrap;overflow-wrap:anywhere}.r22-latin{font-size:.88em;line-height:1.8;color:var(--primary);margin:14px 0;white-space:pre-wrap}.r22-translation{font-size:.88em;line-height:1.8;white-space:pre-wrap}.r22-audio{min-height:44px;margin-top:12px;border:1px solid var(--primary);border-radius:8px;padding:8px 14px;background:var(--primary-light);color:var(--primary-dark);font-weight:700}.r22-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.r22-slide{flex:0 0 90%;scroll-snap-align:center;margin:0}.r22-slide>button{display:block;width:100%;padding:0;border:0;background:#f6f3e9;border-radius:9px;overflow:hidden}.r22-slide img{width:100%;height:340px;object-fit:contain;display:block}.r22-slide figcaption{font-size:.8em;line-height:1.65;margin:8px 0}.r22-stage-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;padding:20px 0 8px;border-top:1px solid var(--border)}.r22-stage-footer button{border:0;border-radius:10px;padding:13px 10px;min-height:55px;font-weight:700;font-size:.82em}.r22-stage-list{display:grid;gap:8px}.r22-stage-list button{display:flex;justify-content:space-between;border:1px solid var(--border);background:white;color:var(--primary-dark);padding:16px;text-align:left;border-radius:10px}.r22-wa-card{border:1px solid #b2d3be;border-radius:16px;background:var(--primary-light);padding:18px;text-align:center;margin-bottom:20px}.r22-wa-card h3{font-size:14px;color:var(--primary-dark)}#r22-my-wa{font-size:clamp(21px,6vw,30px);font-weight:800;letter-spacing:.02em;overflow-wrap:anywhere;color:var(--primary-dark);margin:9px 0 14px}#r22-qr{background:white;border-radius:12px;padding:12px;max-width:250px;margin:14px auto}#r22-qr svg{width:100%;height:auto;display:block}.r22-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.r22-actions>button,.r22-actions>a{padding:10px 13px;border:1px solid var(--border);background:white;color:var(--primary-dark);border-radius:9px;min-height:44px;line-height:1.5;font-size:13px;text-decoration:none;font-weight:650}.r22-note-card{padding:16px;border:1px solid var(--border);border-radius:12px}.r22-note-card.done{opacity:.7;background:#f4f6f8}.r22-note-card.done>.r22-text{text-decoration:line-through}.r22-note-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.r22-place{font-size:11px;border-radius:6px;padding:4px 7px;background:var(--primary-light);color:var(--primary-dark);font-weight:700}.r22-empty{padding:24px 10px;color:var(--text-muted);text-align:center;font-size:.85em}.r22-form-label{display:block;font-weight:650;font-size:.85em;margin:12px 0 6px}.r22-form{border:1px solid var(--border);border-radius:12px;padding:16px;margin:15px 0}#r22-ihram-banner{background:#fff3ca;color:#684a0c;text-align:center;padding:8px 12px;font-size:12px;font-weight:700;border-bottom:1px solid #dcc780}.r22-ihram-active #main-header{border-bottom:3px solid var(--accent)}.r22-ihram-active #r22-ihram-toggle{background:#fff2bd;border-color:#d2ad57;color:#684a0c}.r22-splash{position:fixed;inset:0;z-index:2500;background:#fbf8ef;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.r22-splash img{width:min(360px,100%);max-height:76dvh;object-fit:contain}.r22-splash>button{min-width:200px;max-width:100%;padding:14px 24px;border:1px solid #d4c9aa;border-radius:99px;color:#0f5132;background:white;font-weight:750}.r22-splash small{color:#756d5d;margin-top:12px;font-size:12px}.r22-dialog{background:#0e1514;color:white;border:0;border-radius:16px;max-width:min(96vw,700px);max-height:96dvh;padding:15px;margin:auto}.r22-dialog::backdrop{background:#000b}.r22-dialog img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}.r22-dialog .r22-actions{justify-content:center}.r22-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.r22-doc-card{border:1px solid var(--border);border-radius:12px;padding:10px}.r22-doc-card a{color:var(--primary);font-size:13px;text-decoration:none;display:block;overflow-wrap:anywhere}.r22-doc-card img{width:100%;height:140px;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px}.r22-doc-card button{width:100%;min-height:44px;border:0;border-radius:8px;padding:8px;margin-top:8px}.r22-pin{padding:14px 0;border-bottom:1px solid var(--border)}.r22-pin>small{display:block;color:var(--text-muted);margin-top:4px}.r22-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:min(92vw,520px);padding:13px 18px;border-radius:12px;background:#163d2d;color:white;font-size:14px;box-shadow:0 5px 20px #0002;z-index:3500;pointer-events:none;opacity:0;transition:opacity .2s}.r22-toast.show{opacity:1}#r22-dam-material{margin-top:24px;padding-top:16px;border-top:2px solid var(--border)}.search-result>.r22-note{display:block}.r22-about{font-size:.86em;line-height:1.8}.r22-about strong{color:var(--primary-dark)}.r22-doc-input{padding:12px;background:var(--primary-light);border-radius:10px;max-width:100%}@media(min-width:800px){.r22-slide img{height:460px}.r22-slide{flex-basis:65%}.r22-doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.r22-splash img{display:none}.r22-splash:before{content:'Panduan Haji 2027';font-size:28px;font-weight:800;color:#0f5132;margin-bottom:25px}}


body{font-size:calc(15px * var(--font-scale));line-height:1.65}.container{padding-left:10px;padding-right:10px}#view-navigator>.card{padding:14px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}#view-navigator>.card>.card-title{font-size:calc(15px * var(--font-scale));margin-bottom:14px}.komponen-list{padding:0!important;gap:0!important}.r22-stage-head{padding:15px 0 12px;margin-bottom:4px}.r22-stage-head h2{font-size:calc(17px * var(--font-scale));font-weight:750;line-height:1.45}.r22-kicker{font-size:calc(10px * var(--font-scale));letter-spacing:.04em}.r23-component{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background:transparent!important;overflow:visible!important;border-top:1px solid var(--border)!important}.r23-component>summary{padding:15px 0;background:transparent;min-height:52px;border:0;font-size:calc(15px * var(--font-scale));font-weight:750;color:var(--primary-dark)}.r23-component[open]>summary{padding-bottom:10px!important}.r23-component>.r22-component-body{padding:0 0 16px!important;font-size:inherit;line-height:1.7}.r23-component.r22-larangan>summary{color:#ad2335}.r23-component.r22-mitigasi_darurat>summary{color:#856017}.r23-component.r22-pusat_bantuan .btn-block{margin-top:12px}.r22-subtitle{font-size:calc(15px * var(--font-scale));line-height:1.6;font-weight:750;margin:17px 0 8px}.r22-paragraph{margin:10px 0;font-size:inherit}.r22-note,.guidance-note{font-size:calc(13px * var(--font-scale));line-height:1.7}.form-label,.r22-form-label{font-size:calc(14px * var(--font-scale));line-height:1.55}.form-input,.form-select{font-size:calc(14px * var(--font-scale));padding:12px;min-height:48px;max-width:100%}.card-title{font-size:calc(16px * var(--font-scale))}.sub-tab-btn,.r22-tab{font-size:calc(13px * var(--font-scale))!important;padding:10px 12px!important;min-height:46px}.btn-block,.r22-stage-footer button{font-size:calc(14px * var(--font-scale))!important;min-height:48px}.r22-stage-footer{margin-top:12px;padding-top:16px}.r22-stage-footer button{padding:12px;border-radius:10px}.r22-check{padding:13px 0}.r22-check-detail{padding-left:0;margin-top:8px}.r22-tab-row{margin:5px 0 14px}.r22-check input{width:20px;height:20px;min-width:20px}.r23-prohibition{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f1e1e2}.r23-prohibition:last-child{border-bottom:0}.r23-cross{display:inline-flex;align-items:center;justify-content:center;flex:0 0 21px;width:21px;height:21px;border:1.5px solid #c43b49;color:#b02736;font-size:20px;font-weight:700;line-height:1;border-radius:4px;margin-top:3px}.r23-feature{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:100%;text-align:left;border:1px solid var(--border);background:var(--primary-light);color:var(--primary-dark);border-radius:9px;min-height:46px;padding:10px 13px;font-size:calc(13px * var(--font-scale));font-weight:650;margin:10px 0;white-space:normal}.r22-gallery.r23-feed{display:block;overflow:visible;scroll-snap-type:none;padding:0;margin:0 -12px}.r23-feed .r22-slide{display:block;margin:0 0 18px;width:100%;max-width:100%;padding:0}.r23-feed .r22-slide>button{border-radius:0;background:#f7f6f0;padding:0;width:100%}.r23-feed .r22-slide img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain}.r23-feed .r22-slide figcaption{padding:10px 12px 0;margin:0;font-size:calc(13px * var(--font-scale));line-height:1.65;color:var(--text-muted)}.r23-audio-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 14px}.r23-audio-bar>.r22-audio{margin:0;min-height:44px;font-size:calc(13px * var(--font-scale));padding:8px 13px}.r23-stop{background:var(--surface);border-color:var(--border);color:var(--text-main)}.r22-prayer>summary{font-size:calc(14px * var(--font-scale));padding:12px}.r22-prayer-body{padding:12px}.r22-arabic{font-size:calc(25px * var(--font-scale));line-height:2.05}.r22-latin,.r22-translation{font-size:calc(14px * var(--font-scale));line-height:1.8}.manhaj-subbar{display:flex;align-items:stretch;gap:4px}.manhaj-subbar #header-gelombang-badge,.manhaj-subbar #header-profile-badge,.manhaj-subbar #r23-ihram-badge{flex:1;display:flex;align-items:center;justify-content:center;font-size:calc(11px * var(--font-scale));padding:4px 2px;text-align:center;line-height:1.4}.manhaj-subbar #r23-ihram-badge{font-weight:850;border-left:1px solid #ffffff40;border-right:1px solid #ffffff40}.manhaj-subbar #r23-ihram-badge[data-state=ihram]{color:#ffe09b}.manhaj-subbar #r23-ihram-badge[data-state=halal]{color:inherit}.r22-source-note,.r23-source-note{font-size:calc(13px * var(--font-scale));white-space:pre-wrap;line-height:1.65;margin:8px 0;color:var(--text-muted)}.r22-actions>button,.r22-actions>a{font-size:calc(13px * var(--font-scale))}.r22-note-card .r22-note{font-size:calc(13px * var(--font-scale))}#view-penghitung>.card{padding:16px}#view-penghitung .sub-tabs{flex-wrap:wrap}#r23-counters,#r23-ihram-card,#r23-tools,#r23-documents,#r23-qibla{scroll-margin-top:80px}.r23-dam-result{border-left:3px solid var(--primary);background:var(--primary-light);border-radius:10px;padding:16px;margin:16px 0}.r23-dam-result h3{font-size:calc(16px * var(--font-scale));font-weight:750;color:var(--primary-dark);margin-bottom:12px}.r23-dam-result dl{margin:0}.r23-dam-result dt{font-weight:750;font-size:calc(13px * var(--font-scale));margin-top:12px}.r23-dam-result dd{margin:3px 0 10px;font-size:calc(14px * var(--font-scale));line-height:1.75}.r23-basis{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.r23-basis>summary{cursor:pointer;font-weight:700;font-size:calc(13px * var(--font-scale))}.r23-basis p{font-size:calc(13px * var(--font-scale));margin:9px 0;white-space:pre-wrap}.r23-history{padding:14px 0;border-bottom:1px solid var(--border);font-size:calc(14px * var(--font-scale))}.r23-history button{padding:9px 14px;min-height:44px;border:0;border-radius:8px;margin-top:10px}.r23-dam-material{padding:16px 12px!important}.r22-splash>button{font-size:17px;min-height:52px}#view-penghitung .card-title{justify-content:flex-start}.r23-feed .r22-slide:last-child{margin-bottom:0}@media(min-width:800px){#view-navigator>.card{padding:20px}.r22-gallery.r23-feed{margin:0 -20px}.r23-feed .r22-slide figcaption{padding-left:20px;padding-right:20px}.r23-feed .r22-slide img{height:auto!important}}@media(max-width:360px){.manhaj-subbar #header-gelombang-badge,.manhaj-subbar #header-profile-badge,.manhaj-subbar #r23-ihram-badge{font-size:11px}.container{padding-left:6px;padding-right:6px}}

#view-navigator>.card{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;padding:0!important}#view-navigator>.card>.card-title{padding:0 2px}.r22-stage-head{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px;background:var(--surface);padding:13px 14px;margin:14px 0 8px}.r22-gallery.r23-feed{margin:0}.r23-feed .r22-slide>button{border-radius:0}.r23-feed .r22-slide figcaption{padding-left:0;padding-right:0}.r23-component>.r22-component-body{background:transparent}.fase-select-wrapper{margin-bottom:14px}


#komponen-container .r22-component-body,#r22-dam-material .r22-component-body{font-size:calc(12px * var(--font-scale));line-height:1.7}
#komponen-container .r22-subtitle,#r22-dam-material .r22-subtitle{font-size:calc(13px * var(--font-scale));line-height:1.6}
.r23-component>summary{font-size:calc(13px * var(--font-scale))}
.r22-latin,.r22-translation{font-size:calc(12px * var(--font-scale));line-height:1.8}
.r22-prayer>summary{font-size:calc(12px * var(--font-scale))}
.r22-arabic{font-size:calc(22px * var(--font-scale));line-height:2.05}
.r22-note,.r23-source-note{font-size:calc(12px * var(--font-scale));line-height:1.7}
.r23-dam-result dd,.r23-history{font-size:calc(12px * var(--font-scale));line-height:1.75}
.r23-dam-result h3{font-size:calc(15px * var(--font-scale))}
.r23-feed .r22-slide figcaption{font-size:calc(12px * var(--font-scale))}


:is(#view-navigator,#view-pelanggaran){font-family:'Plus Jakarta Sans',sans-serif;font-size:calc(15px * var(--font-scale));line-height:1.5}
#view-navigator>.card>.card-title,#view-pelanggaran .card-title{font-size:calc(16px * var(--font-scale));font-weight:800;line-height:1.5}
:is(#view-navigator,#view-pelanggaran) .r22-stage-head h2{font-size:calc(16px * var(--font-scale));font-weight:800;line-height:1.35}
#view-navigator .fase-select{font-size:calc(13px * var(--font-scale));font-weight:700;line-height:1.5}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary{font-size:calc(13px * var(--font-scale));font-weight:700;line-height:1.5}
#view-navigator #komponen-container .r22-component-body,#view-pelanggaran #r22-dam-material .r22-component-body{font-size:calc(13px * var(--font-scale));font-weight:400;line-height:1.6}
:is(#view-navigator,#view-pelanggaran) .r22-subtitle{font-size:calc(13px * var(--font-scale));font-weight:700;line-height:1.6}
:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{font-size:calc(13px * var(--font-scale));line-height:1.6}
:is(#view-navigator,#view-pelanggaran) .r22-arabic{font-family:'Amiri',serif;font-size:calc(23px * var(--font-scale));line-height:2.2;margin-bottom:8px}
:is(#view-navigator,#view-pelanggaran) .r22-latin{font-size:calc(12.5px * var(--font-scale));font-style:italic;line-height:1.6;margin-bottom:4px}
:is(#view-navigator,#view-pelanggaran) .r22-translation{font-size:calc(13px * var(--font-scale));line-height:1.6}
:is(#view-navigator,#view-pelanggaran) .r22-note,:is(#view-navigator,#view-pelanggaran) .r23-source-note{font-size:calc(12px * var(--font-scale));line-height:1.55}
:is(#view-navigator,#view-pelanggaran) .r23-feed .r22-slide figcaption{font-size:calc(12px * var(--font-scale));line-height:1.45}
#view-pelanggaran .form-label{font-size:calc(13px * var(--font-scale));line-height:1.5}
#view-pelanggaran .form-input,#view-pelanggaran .form-select{font-size:calc(14px * var(--font-scale));line-height:1.45}
#view-pelanggaran .r23-dam-result,#view-pelanggaran .r23-dam-result dd,#view-pelanggaran .r23-history{font-size:calc(14px * var(--font-scale));line-height:1.6}
#view-pelanggaran .r23-dam-result h3{font-size:calc(16px * var(--font-scale));font-weight:800;line-height:1.35}
#view-pelanggaran .r23-dam-result dt{font-size:calc(13px * var(--font-scale));font-weight:700;line-height:1.5}
#view-pelanggaran .r23-basis>summary,#view-pelanggaran .r23-basis p{font-size:calc(13px * var(--font-scale));line-height:1.6}


:is(#view-navigator,#view-pelanggaran) .r22-check{border:0;box-shadow:none}
:is(#view-navigator,#view-pelanggaran) .r22-prayer{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;margin:10px 0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{border:0;border-radius:0;background:transparent;padding:4px 0;justify-content:flex-start;gap:10px;min-height:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer-body{padding:8px 0 0;border:0;background:transparent}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail{padding-left:31px}
:is(#view-navigator,#view-pelanggaran) .r22-paragraph>.r22-prayer{margin-left:31px}
:is(#view-navigator,#view-pelanggaran) .r22-gallery.r23-feed{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%;padding:0 0 10px;margin:0}
:is(#view-navigator,#view-pelanggaran) .r23-feed .r22-slide{display:block;flex:0 0 100%;min-width:0;width:100%;max-width:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
:is(#view-navigator,#view-pelanggaran) .r23-feed .r22-slide img{width:100%;height:auto!important;max-height:none!important;object-fit:contain}


:is(#view-navigator,#view-pelanggaran) .r22-check{padding:0;margin:0;border:0}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail{margin:0;padding-top:0;padding-bottom:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer{margin-top:0;margin-bottom:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{padding-top:0;padding-bottom:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer-body{padding-top:0}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail .r22-paragraph{margin:0}
.manhaj-subbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px!important;padding:7px 10px}
.manhaj-subbar #header-gelombang-badge{grid-column:1;justify-content:flex-start;text-align:left;padding:0;opacity:1!important}
.manhaj-subbar #header-profile-badge{grid-column:3;justify-content:flex-end;text-align:right;padding:0;opacity:1!important}
.manhaj-subbar #r23-ihram-badge{grid-column:2;grid-row:1;justify-content:center;text-align:center;border:0;border-radius:7px;padding:5px 9px;font-weight:800;color:#fff;white-space:nowrap}
.manhaj-subbar #r23-ihram-badge[data-state=ihram]{background:#b91c1c;color:#fff}
.manhaj-subbar #r23-ihram-badge[data-state=halal]{background:#166534;color:#fff}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary,:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{list-style:none}
:is(#view-navigator,#view-pelanggaran) summary::-webkit-details-marker{display:none}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary>span:last-child,:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary>span:last-child{display:none}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary::after,:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary::after{content:'';width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease;margin:0 5px 4px 8px;opacity:.8}
:is(#view-navigator,#view-pelanggaran) .r22-component[open]>summary::after,:is(#view-navigator,#view-pelanggaran) .r22-prayer[open]>summary::after{transform:rotate(225deg);margin-bottom:0}
@media(prefers-reduced-motion:reduce){:is(#view-navigator,#view-pelanggaran) summary::after{transition:none!important}}

.app-title{font-size:clamp(18px,4.8vw,24px);font-weight:800}
body.r22-ihram-active #main-header{background:#b91c1c;color:#fff;border-bottom-color:#7f1d1d}
body.r22-ihram-active #main-header .app-title{color:#fff}
body.r22-ihram-active #main-header .btn-font,body.r22-ihram-active #main-header .btn-profile-icon{background:#fff;color:#991b1b;border-color:#fecaca}
.manhaj-subbar #header-gelombang-badge,.manhaj-subbar #header-profile-badge,.manhaj-subbar #r23-ihram-badge{font-size:calc(12px * var(--font-scale));line-height:1.4}
.clock-label{font-weight:800}
.r22-tab-row{display:flex;flex-wrap:nowrap;width:100%;gap:6px}
.r22-tab-row .r22-tab{flex:1 1 0;min-width:0;white-space:normal}
:is(#view-navigator,#view-pelanggaran) .r22-component{--r28-bg:#e7f1ec;--r28-ink:#164e35}
:is(#view-navigator,#view-pelanggaran) .r22-larangan{--r28-bg:#fee2e2;--r28-ink:#991b1b}
:is(#view-navigator,#view-pelanggaran) .r22-infografis{--r28-bg:#e0f2fe;--r28-ink:#075985}
:is(#view-navigator,#view-pelanggaran) .r22-urutan_kegiatan{--r28-bg:#e0e7ff;--r28-ink:#3730a3}
:is(#view-navigator,#view-pelanggaran) .r22-perlengkapan{--r28-bg:#f3e8ff;--r28-ink:#6b21a8}
:is(#view-navigator,#view-pelanggaran) .r22-tips_praktis{--r28-bg:#fef3c7;--r28-ink:#78350f}
:is(#view-navigator,#view-pelanggaran) .r22-mitigasi_darurat{--r28-bg:#ffedd5;--r28-ink:#9a3412}
:is(#view-navigator,#view-pelanggaran) .r22-pusat_bantuan{--r28-bg:#fce7f3;--r28-ink:#9d174d}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary{background:var(--r28-bg);color:var(--r28-ink);border:0;border-radius:9px;padding:12px 14px;margin:8px 0;font-weight:800;justify-content:space-between}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary::after,:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary::after{content:'↓';border:0;width:auto;height:auto;flex:0 0 auto;transform:none;margin:0 0 0 10px;font-size:1.25em;font-weight:800;line-height:1}
:is(#view-navigator,#view-pelanggaran) .r22-component[open]>summary::after,:is(#view-navigator,#view-pelanggaran) .r22-prayer[open]>summary::after{content:'↑';transform:none;margin-bottom:0}
#view-navigator #komponen-container .r22-component-body,#view-pelanggaran #r22-dam-material .r22-component-body{padding:8px 0 8px 31px}
:is(#view-navigator,#view-pelanggaran) .r22-infografis>.r22-component-body{padding-left:0!important}
:is(#view-navigator,#view-pelanggaran) .r22-check{padding:6px 0;margin:0;border:0}
.r22-check>label{position:relative}
.r22-check>label>input{position:absolute;left:-31px;top:0}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail{padding-left:0;margin-top:6px}
:is(#view-navigator,#view-pelanggaran) .r22-prayer{margin:10px 0}
:is(#view-navigator,#view-pelanggaran) .r22-paragraph>.r22-prayer{margin-left:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{font-weight:800;padding:4px 0;display:flex;justify-content:flex-start}
:is(#view-navigator,#view-pelanggaran) .r22-prayer-body{padding-top:8px}
.r23-feature,:is(#view-navigator,#view-pelanggaran) .r22-component-body>.btn-block{display:inline-flex;width:auto;max-width:100%;align-items:center;gap:10px;padding:9px 12px;white-space:normal}
.r28-help-title{text-align:center;font-weight:800;margin:8px 0 12px}
.r23-prohibition{position:relative;display:block;padding:6px 0;border:0;cursor:pointer}
.r28-cross-input{position:absolute;left:-31px;top:9px;width:21px;height:21px;margin:0;opacity:0;z-index:1;cursor:pointer}
.r23-prohibition .r23-cross{position:absolute;left:-31px;top:6px;margin:3px 0 0}
.r28-cross-input:checked+.r23-cross::after{content:'×'}
.r28-cross-input:focus-visible+.r23-cross{outline:3px solid var(--accent);outline-offset:3px}
.r28-tip{position:relative;margin:10px 0}
.r28-tip>span{position:absolute;left:-27px;top:0}
.r28-tip .r22-paragraph{margin:0}
#r22-image-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#07100f;overflow:hidden}
#r22-image-dialog[open]{display:flex;align-items:center;justify-content:center}
#r22-image-dialog img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0;touch-action:pan-y pinch-zoom}
#r22-image-dialog .r28-image-close{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:2;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#000a;color:#fff;font-size:30px;line-height:1}
#r28-image-dots{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;max-width:90%;padding:4px 8px;background:#0009;border-radius:24px}
#r28-image-dots .r28-dot{width:28px;min-width:28px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;background:transparent;border:0}
.r28-dot>span{width:8px;height:8px;border:1.5px solid white;border-radius:50%;background:transparent}
.r28-dot.active>span{background:white;width:10px;height:10px}

#view-navigator #komponen-container .r22-component-body,#view-pelanggaran #r22-dam-material .r22-component-body{padding:8px 0}
:is(#view-navigator,#view-pelanggaran) .r22-check>label{display:grid;grid-template-columns:21px minmax(0,1fr);gap:11px;align-items:start}
:is(#view-navigator,#view-pelanggaran) .r22-check>label>input{position:static;left:auto;top:auto;margin-top:3px}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail{padding-left:32px}
:is(#view-navigator,#view-pelanggaran) .r23-prohibition{display:grid;grid-template-columns:21px minmax(0,1fr);gap:11px;align-items:start}
.r23-prohibition .r23-cross{position:static;left:auto;top:auto;grid-column:1;grid-row:1;margin-top:3px}
.r23-prohibition .r28-cross-input{left:0;top:9px}
.r23-prohibition>.r22-text{grid-column:2;grid-row:1;min-width:0}
.r28-tip{display:grid;grid-template-columns:21px minmax(0,1fr);gap:11px;align-items:start}
.r28-tip>span{position:static;left:auto;top:auto}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan):not(.r22-infografis)>.r22-component-body>.r22-paragraph{padding-left:32px}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary{color:#3730a3;text-transform:uppercase}
#r23-counters>.sub-tabs{display:flex;flex-wrap:nowrap;gap:3px;width:100%;overflow-x:auto}
#r23-counters>.sub-tabs>.sub-tab-btn{flex:1 0 auto;min-width:0;padding:9px 5px!important;font-size:calc(11px * var(--font-scale))!important;white-space:nowrap}
#r22-pin-list .r22-actions{display:flex;gap:8px;flex-wrap:wrap}
#r22-pin-list .r22-actions>a,#r22-pin-list .r22-actions>button{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center}
#r29-compass{text-align:center;margin:18px 0}
.r29-compass-face{position:relative;width:min(270px,85%);aspect-ratio:1;margin:24px auto;border:3px solid var(--primary);border-radius:50%;background:var(--surface)}
.r29-dial{position:absolute;inset:8px;border-radius:50%;border:1px dashed var(--border);transform-origin:center}
.r29-dial>span{position:absolute;font-size:14px;font-weight:800}
.r29-n{left:50%;top:5px;transform:translateX(-50%);color:#b91c1c}.r29-e{right:7px;top:50%;transform:translateY(-50%)}.r29-s{bottom:5px;left:50%;transform:translateX(-50%)}.r29-w{left:7px;top:50%;transform:translateY(-50%)}
.r29-kaaba-arm{position:absolute;inset:0;transform-origin:center}
.r29-kaaba-arm>span{position:absolute;top:26px;left:50%;font-size:30px;line-height:1}
.r29-forward{position:absolute;left:50%;top:-23px;transform:translateX(-50%);color:var(--primary);font-size:22px;z-index:1}
.r29-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--primary)}
#r29-compass-status{font-weight:700;min-height:3em;font-size:calc(13px * var(--font-scale))}

:is(#view-navigator,#view-pelanggaran) .r22-component>summary{background:var(--r28-bg)!important;color:var(--r28-ink)!important;border:1px solid color-mix(in srgb,var(--r28-ink) 30%,white);border-left:5px solid var(--r28-ink);border-radius:10px;box-shadow:0 2px 5px #10261c12;padding:13px 14px;margin:12px 0 8px;min-height:48px}
:is(#view-navigator,#view-pelanggaran) .r22-prayer{margin-left:0!important;text-indent:0}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan)>.r22-component-body>.r22-prayer{margin-left:32px!important}
:is(#view-navigator,#view-pelanggaran) .r22-prayer>summary{padding-left:0;padding-right:0;min-width:0;white-space:normal;text-align:left;text-indent:0}
.r29-compass-face{background:radial-gradient(circle,#fffdf6 0 48%,#f0ead9 49% 65%,#fbf6e8 66%);border:5px solid #a78542;box-shadow:0 0 0 4px #ece3cc,0 8px 20px #0f342029}
.r29-dial{inset:5px;border:1px solid #c9b783;background:transparent}
.r30-ticks{position:absolute;inset:0;border-radius:50%}
.r30-ticks i{position:absolute;left:50%;top:0;height:50%;width:1px;transform-origin:bottom center;transform:rotate(var(--tick))}
.r30-ticks i::before{content:'';position:absolute;top:3px;width:1px;height:5px;background:#9a927e}
.r30-ticks i.major::before{width:2px;height:11px;background:#61543a}
.r29-n{top:17px}.r29-e{right:17px}.r29-s{bottom:17px}.r29-w{left:17px}
.r29-kaaba-arm>span{top:42px;font-size:29px;filter:drop-shadow(0 1px 2px #0004)}
.r30-needle{position:absolute;inset:27%;pointer-events:none}
.r30-needle::before,.r30-needle::after{content:'';position:absolute;left:50%;width:18px;height:50%;transform:translateX(-50%);clip-path:polygon(50% 0,100% 100%,50% 85%,0 100%)}
.r30-needle::before{top:0;background:#b91c1c}
.r30-needle::after{bottom:0;background:#385c50;transform:translateX(-50%) rotate(180deg)}
.r29-center{width:13px;height:13px;background:#b59a5b;border:2px solid #fff9e8;border-radius:50%;font-size:0;z-index:2}
.r29-forward{color:#991b1b;top:-26px}
.r30-compass-calibrate{margin:12px auto 0;padding:10px 14px;border:1px solid var(--border);border-radius:9px}

:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan) [role=tabpanel]>.r22-paragraph{padding-left:32px}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan) [role=tabpanel]>.r22-prayer{margin-left:32px!important}

.manhaj-subbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);gap:7px!important}
.manhaj-subbar>span,.manhaj-subbar>strong{border:0!important;min-width:0;overflow:visible;text-overflow:clip}
.manhaj-subbar #header-gelombang-badge,.manhaj-subbar #header-profile-badge{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;line-height:1.4}
.manhaj-subbar #header-profile-badge{text-wrap:balance}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary{padding-left:22px;padding-right:22px}
:is(#view-navigator,#view-pelanggaran) .r22-mitigasi_darurat>.r22-component-body>.r31-mitigation{padding-left:0;display:grid;grid-template-columns:21px minmax(0,1fr);gap:11px;align-items:start}
.r31-mitigation-icon{grid-column:1;grid-row:1}.r31-mitigation>.r22-text{grid-column:2;grid-row:1;min-width:0}
.r31-category{font-size:inherit;font-weight:800;line-height:1.6;text-align:left;margin:14px 0 8px;padding:0}
:is(#view-navigator,#view-pelanggaran) .r22-pusat_bantuan>.r22-component-body>.btn-block{display:flex;margin:12px auto;width:max-content;max-width:100%;justify-content:center}
#view-pelanggaran .r23-basis>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:9px 0;font-weight:700}
#view-pelanggaran .r23-basis>summary::-webkit-details-marker{display:none}
#view-pelanggaran .r23-basis>summary::after{content:'↓';flex:0 0 auto;font-size:1.25em;font-weight:800}
#view-pelanggaran .r23-basis[open]>summary::after{content:'↑'}
#view-pelanggaran .r23-basis a{color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px}
#r22-dam-material{scroll-margin-top:90px}
#r31-notes-title{scroll-margin-top:90px}
.r29-kaaba-arm>span{font-size:19px;line-height:1}

:is(#view-navigator,#view-pelanggaran) .r22-component>summary{padding-left:22px;padding-right:22px}
:is(#view-navigator,#view-pelanggaran) .r22-mitigasi_darurat .r22-paragraph.r31-mitigation{padding-left:0!important;margin-left:0!important;grid-template-columns:21px minmax(0,1fr);gap:11px}
.r31-mitigation-icon{padding-left:0;margin-left:0;text-align:left}
.manhaj-subbar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px!important}
.manhaj-subbar #r23-ihram-badge{grid-column:1;grid-row:1;justify-self:start;margin:0}
#r32-badge-group{grid-column:2;grid-row:1;min-width:0;display:block;text-align:center;line-height:1.5;color:inherit}
#r32-badge-group #header-gelombang-badge,#r32-badge-group #header-profile-badge{display:inline;white-space:normal;text-align:center;padding:0;margin:0;overflow:visible;line-height:1.5}
#violation-active-guidance{display:none}


:root{--r33-title-left:2px;--r33-title-right:14px}
#view-navigator>.card>.card-title{padding-left:var(--r33-title-left)}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary{padding:13px var(--r33-title-right) 13px var(--r33-title-left);border:0!important;box-shadow:0 2px 5px #10261c12}
:is(#view-navigator,#view-pelanggaran) .r22-component>summary::after{margin-right:0}


:is(#view-navigator,#view-pelanggaran) .r22-check>label,:is(#view-navigator,#view-pelanggaran) .r23-prohibition,.r28-tip,:is(#view-navigator,#view-pelanggaran) .r22-mitigasi_darurat .r22-paragraph.r31-mitigation{column-gap:6px}
:is(#view-navigator,#view-pelanggaran) .r22-check-detail{padding-left:27px}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan):not(.r22-infografis)>.r22-component-body>.r22-paragraph:not(.r31-mitigation){padding-left:27px}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan) [role=tabpanel]>.r22-paragraph{padding-left:27px}
:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan)>.r22-component-body>.r22-prayer,:is(#view-navigator,#view-pelanggaran) .r22-component:not(.r22-panduan_manasik):not(.r22-pusat_bantuan) [role=tabpanel]>.r22-prayer{margin-left:27px!important}
#r32-badge-group>.r35-badge-dot{display:inline-block;white-space:pre;font-weight:400;color:inherit;vertical-align:baseline}


#view-titipan .r22-note-card>.r22-text{font-size:calc(13px * var(--font-scale));line-height:1.6}
#view-pelanggaran #r22-dam-material>.r22-paragraph{font-size:calc(13px * var(--font-scale));line-height:1.6}
#view-pelanggaran #violation-history,#view-pelanggaran #violation-history .r23-history{font-size:calc(13px * var(--font-scale));line-height:1.6}
#violation-history .r23-history>p:not(.r22-note){font-size:inherit;line-height:inherit}
.r36-app-icon{flex:0 0 auto}


#komponen-container .r22-paragraph.r37-flush{padding-left:0!important;margin-left:0!important}
.r37-full-module{padding:8px 0;font-size:calc(13px * var(--font-scale));line-height:1.6}
.r37-full-module .r22-check{margin:6px 0}
.r37-full-module .r22-subtitle{font-weight:800;margin-top:18px}
#komponen-container a{color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.r37-normal .r22-text{font-weight:400}


#komponen-container .r38-packing .r22-component-body{font-size:calc(13px * var(--font-scale));line-height:1.6}
#komponen-container .r38-packing>.r22-component-body>.r22-paragraph{padding-left:0}


#komponen-container .r40-mala-name{padding-left:27px;margin-left:0}


.r41-prayer-note{font-size:calc(13px * var(--font-scale));line-height:1.6;margin:8px 0 12px;font-style:italic}


.r42-app-arrow{font-weight:900;font-size:1.3em;-webkit-text-stroke:.4px currentColor;line-height:1}
.r42-normal{font-weight:400}
:is(#view-navigator,#view-pelanggaran) .r22-prayer.r42-prayer-compact{margin-top:0;margin-bottom:0}
:is(#view-navigator,#view-pelanggaran) .r22-prayer.r42-prayer-compact>summary{padding-top:0;padding-bottom:0}
#komponen-container .r42-prayer-end{margin-bottom:0;padding-bottom:0}
#komponen-container .r42-prayer-start{margin-top:0;padding-top:0}
.r23-feature>span:last-child{font-weight:900;font-size:1.3em;-webkit-text-stroke:.4px currentColor;line-height:1}


:is(#view-navigator,#view-pelanggaran) .r43-prayer-group{display:flex;flex-direction:column;gap:14px;margin:10px 0}
:is(#view-navigator,#view-pelanggaran) .r43-prayer-group>.r22-prayer{margin:0!important}
:is(#view-navigator,#view-pelanggaran) .r43-prayer-group>.r22-prayer>summary{padding-top:0;padding-bottom:0}
#komponen-container .r43-empty-reading-wrapper{display:none}
.r43-normal{font-weight:400}


#r46-quick{margin:0 0 22px;padding:0 2px}
#r46-title{font-size:calc(16px * var(--font-scale));color:var(--primary-dark);margin:0 0 8px;font-weight:800}
.r46-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.r46-shortcut{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left;border:1px solid var(--r46-border);border-radius:16px;background:var(--r46-bg);color:var(--r46-ink);padding:9px 12px;min-height:110px;min-width:0;text-decoration:none;line-height:1.3}
.r46-shortcut:hover{filter:brightness(.97)}
.r46-shortcut .r46-icon{font-size:26px;line-height:1.1}
.r46-shortcut .r46-label{font-size:calc(14px * var(--font-scale));font-weight:800;overflow-wrap:anywhere}
.r46-shortcut small{font-size:calc(11px * var(--font-scale));font-weight:500;line-height:1.35}
.r46-lost{--r46-bg:#fff0f1;--r46-ink:#9f1830;--r46-border:#f3c6ce}
.r46-hotel{--r46-bg:#eaf4f0;--r46-ink:#15563c;--r46-border:#c6e1d4}
.r46-count{--r46-bg:#eef0ff;--r46-ink:#373483;--r46-border:#d5d7f3}
.r46-contact{--r46-bg:#fff6df;--r46-ink:#74501a;--r46-border:#eadab5}
.r46-resume{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin-top:12px;border:1px solid #c6e1d4;border-radius:14px;background:white;color:var(--primary-dark);padding:16px 12px;min-height:64px;font-size:calc(14px * var(--font-scale));font-weight:800;line-height:1.45}
.r46-resume>span:nth-child(2){flex:1;min-width:0}.r46-resume small{display:block;font-size:calc(11px * var(--font-scale));font-weight:500;margin-top:4px}.r46-resume>span:last-child{font-size:1.4em;font-weight:900}
.r46-dialog{width:calc(100% - 32px);max-width:440px;max-height:85vh;overflow:auto;border:0;border-radius:20px;padding:20px;margin:auto;background:var(--surface);color:var(--text-main);box-shadow:0 16px 50px #0004;font-size:calc(13px * var(--font-scale));line-height:1.6}
.r46-dialog::backdrop{background:#112b26a6}.r46-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.r46-dialog-head h2{font-size:calc(17px * var(--font-scale));color:var(--primary-dark);margin:0}.r46-dialog-head button{width:44px;min-height:44px;flex-shrink:0;border:0;border-radius:50%;background:#edf2ef;color:#24473b;font-size:28px}.r46-dialog p{margin:10px 0 16px}.r46-counter-options{display:grid;gap:12px}.r46-counter-options button{padding:18px;border:1px solid #c6e1d4;background:#eaf4f0;color:#15563c;border-radius:12px;text-align:left;font-size:calc(17px * var(--font-scale));font-weight:800;min-height:64px}.r46-hotel-option{border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:12px}.r46-hotel-option strong{display:block;margin-bottom:10px}


.container:has(>#view-navigator.active){padding-top:8px}


.r22-about>.r48-about-description{margin-bottom:18px}


.r51-developer-handle{display:block;font-size:calc(16px * var(--font-scale));line-height:1.4;margin-bottom:4px}
.r51-developer-handle+br{display:none}


.r22-about>.r53-about-name{text-align:center;margin:0 0 8px}
.r53-developer>.card-title{margin-bottom:18px}


.r58-splash-art{position:relative;display:block;line-height:0;max-width:100%}
.r58-splash-art::after{content:'';position:absolute;left:0;right:0;top:72%;height:11%;background:#fbf8ef;pointer-events:none}
#komponen-container .r22-paragraph.r58-flush{padding-left:0!important;margin-left:0!important}
@media(prefers-reduced-motion:reduce){.r22-splash:before{content:'Panduan Haji'}}


#komponen-container .r59-packing-prohibitions{margin:8px 0;padding:0;text-indent:0}
#komponen-container .r59-prohibition-heading{margin:0 0 8px;padding:0;font-size:inherit;font-weight:700;line-height:inherit}
#komponen-container .r59-packing-prohibitions .r23-prohibition{border:0;padding:6px 0;align-items:start;column-gap:6px}


.r22-splash>button{position:relative;z-index:2;margin-top:10px}

/* Kalkulator dan materi dam */
.dam-intro,.dam-prose{line-height:1.75;overflow-wrap:anywhere}
.dam-context{font-size:.92em;line-height:1.65;color:#475569;margin:10px 0 18px;padding-left:10px;border-left:3px solid #c9a55a}
.dam-input-note{font-size:.92em;color:#64748b;line-height:1.6;margin:10px 0}
.dam-result{border:1px solid #d5e4db;border-radius:14px;margin:16px 0;padding:18px;overflow-wrap:anywhere;background:#f5faf6;color:#153c2c}
.dam-result-duty{background:#fffaf0;border-color:#dec79a;color:#513d1b}
.dam-result p{line-height:1.7;margin:10px 0}
.dam-result .dam-result-status{font-weight:800;text-transform:uppercase;font-size:.86em;letter-spacing:.03em;margin:0 0 10px}
.dam-result h3{font-size:1.12em;line-height:1.45;margin:6px 0 14px}
.dam-amount{font-size:1.1em;font-weight:700}
.dam-options{padding-left:22px;margin:12px 0}.dam-options li{margin:10px 0;line-height:1.65}
.dam-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.dam-actions>*{flex:1 1 140px;text-align:center;min-height:46px;border-radius:10px;padding:11px 13px;font:inherit;font-size:.9em;text-decoration:none;white-space:normal}
#view-pelanggaran button:disabled{opacity:.55;cursor:default}
#view-pelanggaran select{white-space:normal;height:auto;min-height:48px;max-width:100%;font-size:1em}
#dam-questions .form-group{margin:18px 0}#dam-questions .form-label{line-height:1.55;margin-bottom:8px}
.dam-topic{border-bottom:1px solid #dfe7e2;padding:10px 0}.dam-topic>summary{font-weight:750;font-size:1em;line-height:1.55;cursor:pointer;min-height:46px;display:flex;align-items:center;gap:10px}.dam-topic>summary:after{content:'+';margin-left:auto;font-size:1.3em}.dam-topic[open]>summary:after{content:'−'}.dam-topic-body{padding:6px 0 12px}.dam-topic-body .r22-subtitle{margin:22px 0 12px;font-size:1em;line-height:1.55}
.dam-prose{margin:12px 0}.dam-table-wrap{overflow-x:auto;max-width:100%;margin:18px 0;-webkit-overflow-scrolling:touch}.dam-table{border-collapse:collapse;width:100%;font-size:.9em;line-height:1.6}.dam-table th,.dam-table td{border:1px solid #d9e1db;padding:11px 12px;text-align:left;vertical-align:top;min-width:125px;white-space:normal}.dam-table th{background:#e9f2ec;color:#17432d;font-weight:700}.dam-table tbody tr:nth-child(even){background:#fafcfb}

@media(max-width:400px){.dam-result{padding:14px}.dam-actions>*{flex-basis:100%}.dam-table th,.dam-table td{padding:10px;min-width:110px}}

.dam-selected-answer{font-size:.9em;line-height:1.6;color:#475569;margin:9px 0 0}

/* Jarak pengantar dan label, serta rincian riwayat dam. */
#view-pelanggaran .dam-intro{margin:0 0 24px;font-size:calc(13px * var(--font-scale));font-weight:400}
#violation-history .dam-history-field{margin:12px 0;line-height:1.7;overflow-wrap:anywhere}
#violation-history .dam-history-field span{white-space:pre-line}

.dam-classification{margin:16px 0;border-top:1px solid #dfd6c5;padding-top:3px}.dam-classification dt{font-weight:700;margin:12px 0 3px;line-height:1.6}.dam-classification dd{margin:0;line-height:1.65;overflow-wrap:anywhere}

/* Ringkas beranda; konten tetap dapat membesar mengikuti ukuran huruf. */
.dual-clock-container{padding-top:6px;padding-bottom:6px}
.r46-shortcut{gap:4px}

/* Lebarkan lokasi; kolom waktu berbagi ruang sesuai isi. */
.prayer-times-bar{grid-template-columns:minmax(85px,1.65fr) repeat(5,minmax(max-content,1fr));gap:1px}
.prayer-item{min-width:0;padding-left:1px;padding-right:1px}
.prayer-location-item{min-width:0;padding-left:2px;padding-right:2px}
.prayer-location-item strong{display:block;max-width:100%;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Kartu waktu lebih lebar tanpa bidang hijau di sekelilingnya. */
.dual-clock-container{background:transparent;padding:6px 8px;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.clock-card{background:#295f4b;min-width:0}

/* Kartu jam sejajar dengan dua kolom Akses Cepat dan mengikuti tema profil. */
.dual-clock-container{width:min(100%,650px);margin:0 auto;padding:6px 18px;gap:8px}
.clock-card{background:var(--primary);color:#fff}
.clock-label{font-size:calc(10px * var(--font-scale));line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}
.clock-time{font-size:calc(22px * var(--font-scale));line-height:1.2;white-space:nowrap}
.clock-sub{font-size:calc(11px * var(--font-scale));line-height:1.3;white-space:normal}

/* Sisi kartu jam mengikuti padding wadah dan kisi Akses Cepat. */
.dual-clock-container{padding-left:12px;padding-right:12px}
@media(max-width:360px){.dual-clock-container{padding-left:8px;padding-right:8px}}

/* Nama daerah menyesuaikan ruang; zona waktu tetap utuh dalam satu baris. */
.clock-home-label{display:flex;align-items:baseline;gap:.3em;min-width:0;white-space:nowrap}
#clock-home-city{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#clock-home-zone{flex:none;white-space:nowrap}

/* Pilihan kontak dan tanggal wukuf di profil. */
.profile-option{display:flex;align-items:flex-start;gap:10px;font-weight:700;line-height:1.5;cursor:pointer}
.profile-option input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--primary)}
.profile-options>div:not([hidden]){margin-top:12px}
.profile-options>div .form-label:not(:first-child){margin-top:12px}
.r46-family{--r46-bg:#edf6ff;--r46-ink:#174a75;--r46-border:#c7def1}
.r46-companion{--r46-bg:#f7edff;--r46-ink:#613d79;--r46-border:#e0cdeb}

/* Daftar pilihan ringkas dengan latar putih. */
.pilihan-dialog{border:0;border-radius:18px;padding:0;background:#fff;color:#1e293b;width:min(92vw,520px);max-height:min(82dvh,700px);box-shadow:0 12px 40px #0004;overflow:hidden}
.pilihan-dialog::backdrop{background:#0007}
.pilihan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e6e9ec}
.pilihan-header h2{font-size:calc(16px * var(--font-scale));line-height:1.35;font-weight:800;margin:0}
.pilihan-close{width:44px;min-height:44px;border:0;border-radius:10px;background:#f2f4f3;color:#1e293b;font-size:26px;line-height:1}
.pilihan-list{overflow:auto;max-height:calc(min(82dvh,700px) - 70px);overscroll-behavior:contain;padding:4px 0 8px}
.pilihan-group{font-size:calc(13px * var(--font-scale));font-weight:800;color:var(--primary-dark);padding:12px 16px 5px}
.pilihan-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:8px 16px;border:0;background:#fff;color:#1e293b;text-align:left;font-size:calc(14px * var(--font-scale));font-weight:500;line-height:1.4}
.pilihan-option span:first-child{min-width:0;overflow-wrap:anywhere}
.pilihan-option.selected{background:var(--primary-light);color:var(--primary-dark);font-weight:700}
.pilihan-check{flex:none;width:22px;text-align:center;color:var(--primary);font-weight:800}
.pilihan-option:disabled{opacity:.5}

/* Panah Salin dari WhatsApp mengikuti komponen panduan. */
#view-titipan .titipan-paste>summary{display:flex;align-items:center;justify-content:space-between;list-style:none}
#view-titipan .titipan-paste>summary::-webkit-details-marker{display:none}
#view-titipan .titipan-paste>summary::after{content:'↓';margin-left:10px;font-size:1.25em;font-weight:800;line-height:1}
#view-titipan .titipan-paste[open]>summary::after{content:'↑'}

#family-toggle-label{flex:1;min-width:0}

/* Pemicu dropdown satu ketukan tanpa antarmuka pilihan bawaan ponsel. */
select.pilihan-native{display:none!important}
.pilihan-trigger{display:block;width:100%;text-align:left;cursor:pointer;white-space:normal;line-height:1.5;padding-right:32px;position:relative;color:var(--text-main);background-color:var(--surface);border:1px solid var(--border);border-radius:10px}
.pilihan-trigger::after{content:'⌄';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.1em;pointer-events:none}

/* Tombol akses versi lengkap. */
a.demo-purchase,a.demo-purchase:visited,a.demo-purchase:hover,a.demo-purchase:focus,a.demo-purchase:active{color:#fff!important;text-decoration:none!important}
