@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg: #f4f8f7;--surface: #ffffff;--border: #e2e5ea;--text: #1c2330;--muted: #667085;--primary: #1f8a8b;--primary-contrast: #ffffff;--accent: #b7d84b;--accent-ink: #5a6b1f;--accent-soft: #dce775;--violet: #6d28d9;--teal: #3fc1a5;--isu-color: #3b82f6;--heartlink-color: #e85d75;--ministry-color: #36a269;--attention: #d89b2b;--error: #c0362c;--success: #1f7a4d;--radius: 10px;--radius-lg: 18px;--gap: 1rem;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 2px 8px rgba(16, 24, 40, .08);--shadow-lg: 0 8px 24px rgba(16, 24, 40, .12);--shadow-xl: 0 16px 40px rgba(16, 24, 40, .16);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.error{color:var(--error)}.success{color:var(--success)}.btn{font:inherit;padding:.5rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.btn:hover{border-color:var(--muted)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary)}.btn-danger{background:#dc143c;color:#fff;border-color:#dc143c}.btn-danger:hover{border-color:#8b0000;background:#8b0000}:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}.btn:focus-visible,.input:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-block:var(--gap);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.centered{min-height:100dvh;display:grid;place-items:center;padding:1rem}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-form{width:min(360px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;margin:0}.auth-form h1{margin:0}.auth-form form{width:100%;display:flex;flex-direction:column;align-items:center}.auth-form label{align-self:center;margin-top:.6rem;font-weight:600}.auth-form input{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius);text-align:center}.auth-form .btn{width:100%}.auth-form .btn-primary{margin-top:1rem}.auth-form .divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.8rem;margin:.8rem 0 .4rem}.auth-form .divider:before,.auth-form .divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.auth-form .divider:before{margin-right:.5em}.auth-form .divider:after{margin-left:.5em}.btn-google{display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:500;padding:.55rem .9rem}.btn-google:hover{background:color-mix(in srgb,var(--bg) 40%,var(--surface))}.app{display:flex;flex-direction:column;min-height:100dvh}.app-header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.app-header-left{display:flex;align-items:center;gap:var(--space-sm)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;color:var(--text);border-radius:var(--radius);cursor:pointer;padding:0}.sidebar-toggle:hover{background:color-mix(in srgb,var(--text) 10%,transparent)}.app-header .brand{font-weight:700;color:var(--text);font-size:var(--text-xl)}.app-header-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-sm)}.app-body{display:flex;flex:1;position:relative}.app-sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);transition:width .3s ease;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0}.sidebar-closed .app-sidebar{width:0;border-right:none}.sidebar-closed .app-sidebar nav{visibility:hidden;opacity:0;transition:visibility 0s .3s,opacity .3s ease}.app-sidebar nav{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg);white-space:nowrap;opacity:1;visibility:visible;transition:opacity .3s ease}.app-sidebar nav a,.app-sidebar nav .btn-find{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);color:var(--text);text-decoration:none;font-weight:500;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;font-size:var(--text-sm)}.app-sidebar nav a:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);text-decoration:none}.app-sidebar nav .btn-find{margin-top:var(--space-md);text-align:left;border:1px solid var(--border);background:var(--surface);width:100%}.app-sidebar nav .btn-find:hover{background:var(--bg)}.app-main{flex:1;max-width:960px;margin:var(--space-lg) auto;padding:0 var(--space-lg);width:100%}@media (max-width: 768px){.app-sidebar{position:absolute;z-index:20;height:100%;box-shadow:4px 0 12px #0000000d}}.detail{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0}.detail dt{font-weight:600;color:var(--muted)}.detail dd{margin:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.row{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.empty{text-align:center;color:var(--muted)}.form{display:flex;flex-direction:column;gap:.35rem;max-width:480px}.form label{margin-top:.6rem;font-weight:600}.form input,.form select{font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.form-group>label,.form-group>span.form-label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.form-group input,.form-group select,.form-group textarea{font:inherit;font-size:var(--text-base);padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:color-mix(in srgb,var(--bg) 70%,var(--surface));color:var(--muted);cursor:not-allowed}.form-group input[readonly]{background:color-mix(in srgb,var(--bg) 70%,var(--surface));color:var(--muted)}.form-group textarea{resize:vertical;min-height:4.5rem}.form-section-title{font-size:var(--text-xl);font-weight:700;margin:0 0 var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.option-group{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xs)}.option-group.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm)}.option-item{display:flex;align-items:center;gap:.4rem;font-weight:400;font-size:var(--text-base);margin:0;cursor:pointer}.option-item input{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer}.step-progress{margin-bottom:var(--space-xl)}.step-progress-track{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.step-progress-segment{flex:1;height:6px;border-radius:999px;background:var(--border);transition:background-color .2s ease}.step-progress-segment.is-complete,.step-progress-segment.is-current{background:var(--primary)}.step-progress-label{display:flex;align-items:baseline;gap:var(--space-sm);font-size:var(--text-sm);color:var(--muted)}.step-progress-label strong{font-size:var(--text-base);font-weight:700;color:var(--text)}.history{margin:.5rem 0 0;padding-left:1.1rem}.history li{margin-bottom:.25rem}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.table th{background:color-mix(in srgb,var(--bg) 60%,var(--surface));font-size:.85rem;color:var(--muted)}.table tr:last-child td{border-bottom:none}.pager{display:flex;align-items:center;gap:1rem;margin-top:1rem}.qr-placeholder{background:color-mix(in srgb,var(--bg) 70%,var(--surface));border:1px dashed var(--border);border-radius:var(--radius)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap);align-items:start}.card-grid>.card{margin-block:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap)}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.8rem;font-weight:700}.nested{margin:.5rem 0 0 .5rem;padding-left:.75rem;border-left:2px solid var(--border)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width: 640px){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table td{border:none;padding:.25rem .8rem}.table tr{border-bottom:1px solid var(--border);padding:.5rem 0}}@media (max-width: 560px){.app-header{gap:.75rem}.app-header-right{width:100%}}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-pending{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-approved{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.status-rejected{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.list{list-style:none;padding:0;margin:0}.list>li{margin-bottom:1rem}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.login-split{display:flex;min-height:100dvh;flex-direction:column}.login-split-form{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem}.login-split-image{display:none}@media (min-width: 768px){.login-split{flex-direction:row}.login-split-image{display:block;flex:1;position:relative}.login-split-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}}.login-logo{max-height:140px;width:auto;display:block}.dashboard-bento h1{margin-bottom:var(--space-lg);font-size:var(--text-3xl)}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-md)}.bento-grid-detail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.bento-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.bento-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.bento-card-wide{grid-column:span 2}.bento-card .stat-value{font-size:var(--text-3xl);font-weight:700;line-height:1.1}.bento-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.85rem}.bento-icon-primary{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent)}.bento-icon-accent{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 30%,transparent)}.bento-icon-success{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.bento-icon-error{color:var(--error);background:color-mix(in srgb,var(--error) 14%,transparent)}.bento-icon-violet{color:var(--violet);background:color-mix(in srgb,var(--violet) 14%,transparent)}.bento-icon-teal{color:var(--teal);background:color-mix(in srgb,var(--teal) 14%,transparent)}.bento-card-detail{gap:var(--space-md)}.bento-detail-head{display:flex;align-items:center;gap:var(--space-sm)}.bento-detail-head h2{margin:0;font-size:var(--text-base)}.bento-card-detail .detail{width:100%}@media (max-width: 900px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-card-wide{grid-column:span 2}}@media (max-width: 520px){.bento-grid{grid-template-columns:1fr}.bento-card-wide{grid-column:span 1}}.skeleton{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.skeleton-row{height:48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:center}.empty-state-icon svg{width:100%;height:100%}.empty-state-heading{margin:0 0 var(--space-xs);font-size:var(--text-lg);font-weight:600;color:var(--text)}.empty-state-desc{margin:0 0 var(--space-lg);max-width:400px}.empty-state-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.journey-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:999px;font-size:var(--text-xs);font-weight:600}.journey-badge-not_started{background:#eef1f0;color:var(--muted)}.journey-badge-in_progress{background:#fef3e0;color:#a5680f}.journey-badge-completed{background:#e3f4ea;color:var(--success)}.journey-badge-current{background:var(--primary);color:var(--primary-contrast)}.journey-stage-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.journey-stage-current{border-color:var(--primary);box-shadow:var(--shadow-md)}.journey-stage-isu{border-top:4px solid var(--isu-color, #3b82f6)}.journey-stage-heartlink{border-top:4px solid var(--heartlink-color, #e85d75)}.journey-stage-ministry{border-top:4px solid var(--ministry-color, #36a269)}.journey-stage-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.journey-stage-note{color:var(--muted);font-size:var(--text-sm)}.journey-roadmap-cards{display:flex;gap:var(--space-lg);align-items:stretch;margin-top:var(--space-md)}@media (max-width: 768px){.journey-roadmap-cards{flex-direction:column}}.journey-welcome{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.journey-welcome-avatar{width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg);flex-shrink:0}.journey-welcome-stage{margin-left:auto}.journey-summary{display:flex;flex-direction:column;gap:var(--space-sm)}.journey-progress-track{width:100%;height:10px;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.journey-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.journey-next-step{border-left:4px solid var(--attention)}.journey-activities-list,.journey-support-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.journey-activity-item{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:baseline;padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.journey-activity-type{font-size:var(--text-xs);font-weight:700;color:var(--primary);text-transform:uppercase}.journey-support-row{display:flex;align-items:center;gap:var(--space-sm)}.journey-support-avatar{width:36px;height:36px;font-size:var(--text-sm)}.journey-skeleton{display:flex;flex-direction:column;gap:var(--space-lg)}.skeleton-block{background:linear-gradient(90deg,var(--bg) 25%,#e9edec 50%,var(--bg) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-lg)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton-block{animation:none}}.journey-dashboard{display:flex;flex-direction:column;gap:var(--space-xl);max-width:1200px;margin:0 auto}.journey-secondary-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg)}@media (max-width: 768px){.journey-secondary-grid{grid-template-columns:1fr}}.modal-overlay,.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#10182873}.modal,.drawer-panel{width:100%;max-width:480px;max-height:calc(100dvh - var(--space-2xl));overflow-y:auto}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-icon:hover{border-color:var(--muted);color:var(--text)}.btn-secondary{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.btn-secondary:hover{background:color-mix(in srgb,var(--primary) 18%,var(--surface))}.faq-item{padding-block:var(--space-sm)}.faq-item+.faq-item{border-top:1px solid var(--border)}.dialog-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.leadership-ladder{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.leadership-ladder-step{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);border:1px solid var(--border);color:var(--muted)}.leadership-ladder-in_progress{border-color:var(--primary);color:var(--text);background:color-mix(in srgb,var(--primary) 8%,var(--surface));font-weight:600}.leadership-ladder-completed{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--border))}.leadership-ladder-not_started{opacity:.7}.member-picker{display:flex;flex-direction:column;gap:var(--space-xs)}.member-picker-selected{gap:var(--space-sm)}.picker-selection{flex:1}.requirement-checklist{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.requirement-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius)}.requirement-name{font-weight:600}.requirement-status{font-size:var(--text-sm);color:var(--muted)}.status-not_started{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted)}.status-in_progress{background:color-mix(in srgb,var(--attention) 18%,transparent);color:var(--attention)}.status-submitted{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-completed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.status-waived{background:color-mix(in srgb,var(--teal) 15%,transparent);color:var(--teal)}.journey-progress-bar{display:flex;flex-direction:column;gap:var(--space-xs);margin:var(--space-sm) 0}.journey-progress-bar>p{margin:0;font-size:var(--text-sm);color:var(--muted)}.progress-track{width:100%;height:10px;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.next-actions-list{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.next-action-item{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius)}.detail-row{padding-block:var(--space-sm)}.detail-row+.detail-row{border-top:1px solid var(--border)}.form-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.journey-error{border-left:4px solid var(--error)}.journey-empty{border-left:4px solid var(--primary)}.journey-locked-notice{border-left:4px solid var(--accent)}.journey-roadmap{display:flex;flex-direction:column;gap:var(--space-md)}.journey-dashboard-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.tabs{border-bottom:1px solid var(--border);padding-bottom:var(--space-sm)}
