:root{--font-brand-ber:var(--font-nunito),"Nunito Sans",system-ui,sans-serif;--font-brand-suffix:var(--font-inter),Inter,system-ui,sans-serif;--font-brand-body:var(--font-jakarta),"Plus Jakarta Sans",system-ui,sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--text-small:0.875rem;--text-body:1rem;--text-h2:1.125rem;--text-h1:1.5rem;--touch-min:44px;--bp-sm:640px;--bp-md:1024px;--content-max:480px;--content-max-sm:480px;--content-max-md:720px;--content-max-lg:960px;--nav-bottom-height:64px;--sidebar-width:240px;--red-50:#fef2f2;--red-700:#b91c1c}.wordmark{display:inline-flex;align-items:baseline;line-height:1}.wordmark-ber{font-family:var(--font-brand-ber);font-weight:700;color:var(--color-menteng);letter-spacing:.02em}.wordmark-suffix{font-family:var(--font-brand-suffix);font-weight:500;color:var(--color-cloud-dark)}.wordmark--sm .wordmark-ber,.wordmark--sm .wordmark-suffix{font-size:1.25rem}.wordmark--md .wordmark-ber,.wordmark--md .wordmark-suffix{font-size:1.5rem}.wordmark--lg .wordmark-ber,.wordmark--lg .wordmark-suffix{font-size:1.75rem}.logo-header{padding-top:var(--space-md);margin-bottom:var(--space-lg)}.logo-header--center{text-align:center}.logo-header__row{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.logo-header__tagline{color:var(--color-slate-light);font-size:var(--text-small);font-family:var(--font-brand-body);max-width:20rem;line-height:1.5}.logo-header--center .logo-header__tagline{margin:0 auto}.logo-header:not(.logo-header--center) .logo-header__row{justify-content:flex-start}.logo-header:not(.logo-header--center) .logo-header__tagline{margin-left:0;margin-right:0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body-id);background:var(--surface-page);line-height:1.5;min-height:100vh}a,body{color:var(--color-slate-dark)}a{text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}.container{max-width:var(--content-max-sm);margin:0 auto;padding:1rem;min-height:100vh}@media (min-width:640px){.container{max-width:var(--content-max-md);padding:1.25rem 1.5rem}}@media (min-width:1024px){.container{max-width:var(--content-max-lg);padding:1.5rem 2rem}}.layout-landing{max-width:var(--page-max-width);margin:0 auto}.layout-app{display:flex;min-height:100vh}.layout-app__sidebar{display:none}.layout-app__main{flex:1 1;min-width:0;padding-bottom:calc(var(--nav-bottom-height) + 1rem)}@media (min-width:640px){.layout-app__sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--color-cloud-light);background:var(--color-ivory-medium);min-height:100vh;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start}.layout-app__main{padding-bottom:1rem}}.grid-2col{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:640px){.grid-2col{grid-template-columns:repeat(2,1fr)}}.grid-3col{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:640px){.grid-3col{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-3col{grid-template-columns:repeat(3,1fr)}}.hide-sm{display:none}.show-sm-only{display:block}@media (min-width:640px){.hide-sm{display:block}.show-sm-only{display:none!important}}.page-header{margin-bottom:1.25rem}.page-header__title{margin-bottom:.25rem}.page-header__breadcrumb{font-size:var(--text-caption);color:var(--color-cloud-dark);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.empty-state{text-align:center;padding:2rem 1rem}.empty-state p{color:var(--color-slate-light);margin-bottom:1rem}.task-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:640px){.task-grid{grid-template-columns:repeat(2,1fr)}}.detail-layout{display:grid;grid-gap:1.5rem;gap:1.5rem}@media (min-width:1024px){.detail-layout{grid-template-columns:1fr 280px;align-items:start}}.detail-sidebar{background:var(--color-ivory-medium);border:1px solid var(--color-cloud-light);border-radius:var(--radius-card);padding:1.25rem}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.login-back,.login-card{width:100%;max-width:400px}.login-back{align-self:flex-start;margin-bottom:1rem;font-size:var(--text-small)}.demo-details summary{cursor:pointer;font-size:var(--text-small);color:var(--color-slate-light);margin-top:1rem}.demo-details[open] summary{margin-bottom:.5rem}.sidebar-nav{display:flex;flex-direction:column;height:100%;padding:1.25rem 1rem}.sidebar-nav__brand{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-cloud-light);color:inherit}.sidebar-nav__brand,.sidebar-nav__brand:hover{text-decoration:none}.sidebar-nav__links{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.sidebar-nav__link{display:block;padding:.75rem 1rem;font-family:var(--font-ui);font-size:var(--text-body-sm);font-weight:500;border-radius:var(--radius-btn);border:1px solid transparent;text-decoration:none;color:var(--color-slate-dark);transition:background .15s,border-color .15s}.sidebar-nav__link:hover{background:var(--color-ivory-light);text-decoration:none}.sidebar-nav__link--active{background:var(--color-ivory-light);border-color:var(--color-menteng);color:var(--color-menteng-deep)}.sidebar-nav__logout{margin-top:auto;padding:.75rem 1rem;font-family:var(--font-ui);font-size:var(--text-small);background:transparent;border:1px solid var(--color-cloud-light);border-radius:var(--radius-btn);color:var(--color-slate-light);cursor:pointer;text-align:left}.sidebar-nav__logout:hover{color:var(--color-slate-dark);border-color:var(--color-slate-dark)}.bottom-tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;align-items:stretch;height:var(--nav-bottom-height);background:var(--color-ivory-medium);border-top:1px solid var(--color-cloud-light);padding-bottom:env(safe-area-inset-bottom,0)}@media (min-width:640px){.bottom-tab-bar{display:none}}.bottom-tab-bar__item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.5rem .25rem;font-family:var(--font-ui);font-size:.6875rem;font-weight:500;color:var(--color-slate-light);text-decoration:none;border:none;background:transparent;cursor:pointer;min-height:var(--touch-min)}.bottom-tab-bar__item:hover{text-decoration:none;color:var(--color-slate-dark)}.bottom-tab-bar__item--active{color:var(--color-menteng-deep);font-weight:600}.bottom-tab-bar__icon{font-size:1.125rem;line-height:1}.card{background:var(--color-ivory-medium);border:1px solid var(--color-cloud-light);border-radius:var(--radius-card);padding:1.25rem;margin-bottom:1rem}.card--oat{background:var(--color-oat)}.card--link{display:block;color:inherit;text-decoration:none;transition:border-color .15s}.card--link:hover{border-color:var(--color-slate-dark);text-decoration:none}.card__row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.notice{border:1px solid var(--color-cloud-light);padding:.75rem 1rem;margin-bottom:1rem;font-size:var(--text-body-sm)}.notice,.notice--ok{background:var(--color-ivory-medium)}.notice--ok{border-color:var(--color-setaman)}.notice--warn{border-color:var(--color-merak);background:var(--color-oat)}h1{font-size:var(--text-h1);margin-bottom:.5rem;letter-spacing:-.01em}h1,h2{font-family:var(--font-ui);font-weight:600;color:var(--color-slate-dark)}h2{font-size:var(--text-h2);margin-bottom:.75rem}.tagline{color:var(--color-slate-light);font-size:var(--text-body-sm);margin-bottom:1.5rem}.text-muted{font-size:var(--text-small)}.text-caption,.text-muted{color:var(--color-cloud-dark)}.text-caption{font-size:var(--text-caption)}.btn{display:block;width:100%;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--color-slate-dark);border-radius:var(--radius-btn);font-family:var(--font-ui);font-size:var(--text-body-sm);font-weight:500;cursor:pointer;text-align:center;margin-bottom:.75rem;transition:background .15s,color .15s}.btn-primary{background:var(--color-menteng);border-color:var(--color-menteng);color:var(--color-ivory-light)}.btn-primary:hover:not(:disabled){background:var(--color-menteng-deep);border-color:var(--color-menteng-deep)}.btn-secondary{background:var(--color-ivory-light);color:var(--color-slate-dark);border-color:var(--color-slate-dark)}.btn-secondary:hover:not(:disabled){background:var(--color-slate-dark);color:var(--color-ivory-light)}.btn--inline{width:auto;margin:0;padding:.5rem 1rem}.btn--flex{flex:1 1;margin:0}.btn:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-family:var(--font-ui);font-size:var(--text-small);font-weight:500;margin-bottom:.25rem;margin-top:.75rem}input,label,select,textarea{color:var(--color-slate-dark)}input,select,textarea{width:100%;padding:.75rem;border:1px solid var(--color-cloud-medium);border-radius:var(--radius-btn);font-family:var(--font-body-id);font-size:1rem;background:var(--color-ivory-light)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-menteng);outline-offset:1px;border-color:var(--color-menteng)}textarea{min-height:120px;resize:vertical}.error{background:var(--red-50);color:var(--red-700);border:1px solid var(--color-merak);padding:.75rem;margin-bottom:1rem;font-size:var(--text-small)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-btn);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:400;text-transform:uppercase;letter-spacing:.04em;background:var(--color-ivory-dark);color:var(--color-slate-dark);border:1px solid var(--color-cloud-light)}.badge--active,.badge-green{background:var(--color-ivory-medium);color:var(--color-menteng);border-color:var(--color-setaman)}.badge-match{background:var(--color-ivory-medium);color:var(--color-langit);border-color:var(--color-langit)}.badge-match-high{background:var(--color-menteng);color:var(--color-ivory-light);border-color:var(--color-menteng)}.nav{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-cloud-light)}.nav a{font-family:var(--font-ui);font-size:var(--text-small);font-weight:400;padding:.5rem .75rem;background:var(--color-ivory-medium);border:1px solid var(--color-slate-dark);border-radius:var(--radius-btn)}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{background:var(--color-slate-dark);color:var(--color-ivory-light)}.nav__logout{font-family:var(--font-ui);font-size:var(--text-small);padding:.5rem .75rem;border:1px solid transparent;border-radius:var(--radius-btn);background:transparent;color:var(--color-slate-light);cursor:pointer;margin-left:auto}.nav__logout:hover{color:var(--color-slate-dark);text-decoration:underline}.privacy-note{font-size:var(--text-caption);color:var(--color-cloud-dark);margin-top:.5rem}.charter{border-left:3px solid var(--color-menteng);padding:.75rem;font-size:var(--text-small)}.charter,.classification-card{background:var(--color-ivory-medium);margin:1rem 0}.classification-card{border:1px solid var(--color-menteng);border-radius:var(--radius-card);padding:1rem}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chip{padding:.5rem .75rem;border-radius:var(--radius-btn);border:1px solid var(--color-cloud-medium);background:var(--color-ivory-light);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-small);color:var(--color-slate-dark)}.chip.selected{background:var(--color-ivory-medium);border-color:var(--color-menteng);color:var(--color-menteng-deep);font-weight:600}.section-gap{margin-top:1.5rem}.img-thumb{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-btn);border:1px solid var(--color-cloud-light)}.img-row{display:flex;gap:.5rem;flex-wrap:wrap}.mt-sm{margin-top:.25rem}.consent-row,.mt-md{margin-top:1rem}.consent-row{display:flex;gap:.75rem;align-items:flex-start;font-size:var(--text-small);line-height:1.5;cursor:pointer}.consent-row input[type=checkbox]{width:auto;min-height:auto;margin-top:.2rem;flex-shrink:0;accent-color:var(--color-menteng)}.consent-row a{color:var(--color-menteng);text-decoration:underline;text-underline-offset:2px}.mt-lg{margin-top:1.5rem}.mb-sm{margin-bottom:.75rem}.row-actions{display:flex;gap:.5rem;margin-top:.75rem}.demo-list{margin-top:.5rem;padding-left:1.25rem;line-height:1.8}.demo-phone-btn{font:inherit;font-family:var(--font-mono);font-size:var(--text-caption);padding:0;border:none;background:none;color:var(--color-menteng);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.demo-phone-btn:hover{color:var(--color-menteng-deep)}.quote{font-size:var(--text-body-sm);margin-top:.5rem;color:var(--color-slate-light)}