:root{--palette-gading-0:#FFFEFA;--palette-gading-50:#FAF6EC;--palette-gading-100:#F3EEE0;--palette-gading-200:#E6DFCD;--palette-gading-300:#D3CAB4;--palette-gading-500:#8A826E;--palette-gading-600:#6B6555;--palette-gading-700:#55594C;--palette-gading-900:#232A20;--palette-daun-50:#F2F6EE;--palette-daun-100:#E2ECDC;--palette-daun-200:#C5D9BC;--palette-daun-300:#9DBE92;--palette-daun-700:#2E5C39;--palette-daun-800:#244A2E;--palette-daun-900:#1A3521;--palette-tanah-100:#F5E4D0;--palette-tanah-500:#C27A3E;--palette-tanah-700:#874A1E;--palette-tanah-800:#6B3A17;--color-bg:var(--palette-gading-50);--color-surface:var(--palette-gading-0);--color-surface-sunken:var(--palette-gading-100);--color-surface-pressed:var(--palette-gading-200);--color-border-subtle:var(--palette-gading-200);--color-border-strong:var(--palette-gading-300);--color-border-control:var(--palette-gading-500);--color-fg:var(--palette-gading-900);--color-fg-muted:var(--palette-gading-700);--color-fg-subtle:var(--palette-gading-600);--color-primary:var(--palette-daun-700);--color-primary-hover:var(--palette-daun-800);--color-primary-active:var(--palette-daun-900);--color-on-primary:#fff;--color-primary-soft:var(--palette-daun-100);--color-primary-soft-hover:var(--palette-daun-200);--color-on-primary-soft:var(--palette-daun-800);--color-primary-faint:var(--palette-daun-50);--color-accent:var(--palette-tanah-700);--color-accent-soft:var(--palette-tanah-100);--color-on-accent-soft:var(--palette-tanah-800);--color-accent-decor:var(--palette-tanah-500);--color-focus:#1D5FA6;--color-scrim:rgb(35 42 32/.5);--color-success-fg:#2E5C39;--color-success-bg:#E2ECDC;--color-warning-fg:#6B4E00;--color-warning-bg:#FAEFC8;--color-info-fg:#24566F;--color-info-bg:#E6EFF4;--color-ai-fg:#66436A;--color-ai-bg:#F1E9F1;--color-danger-fg:#962A1A;--color-danger-bg:#FBEAE6;--color-danger-solid:#B4321F;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--shadow-raised:0 1px 2px rgb(35 42 32/.06);--shadow-overlay:0 8px 24px rgb(35 42 32/.14);--duration-instant:100ms;--duration-fast:150ms;--duration-base:200ms;--duration-slow:300ms;--ease-out:cubic-bezier(.2,0,0,1);--ease-in:cubic-bezier(.4,0,1,1);--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;--font-narasi:ui-serif,Georgia,"Noto Serif","Droid Serif","Times New Roman",serif;color-scheme:light;--color-fg-disabled:var(--palette-gading-500);--color-on-danger:#fff;--color-toast-bg:var(--palette-gading-900);--color-toast-fg:var(--palette-gading-0);--color-toast-action:var(--palette-daun-300);--shadow-none:none;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--z-base:0;--z-sticky:10;--z-nav:20;--z-menu:30;--z-scrim:40;--z-dialog:50;--z-toast:60;--font-display:var(--font-narasi);--font-h1:var(--font-narasi);--text-display:clamp(2.75rem,6.6vw + .4rem,5.5rem);--text-h1:clamp(1.875rem,1.2rem + 1.6vw,2.75rem);--text-h2:1.25rem;--text-h3:1.125rem;--text-body:1rem;--text-small:.875rem;--text-caption:.75rem;--color-border:var(--color-border-strong);--color-sunken:var(--color-surface-sunken);--color-primary-fg:var(--color-on-primary)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:light}body,html{margin:0;min-height:100%}body{background:var(--color-bg);color:var(--color-fg);font:400 1rem/1.5 var(--font-sans)}img,svg{max-width:100%}h1,h2,h3{text-wrap:balance}h1{font:700 var(--text-h1)/1.15 var(--font-h1);letter-spacing:-.01em}h1,h2{margin:0 0 .5rem}h2{font:600 var(--text-h2)/1.4 var(--font-sans)}h3{font:600 var(--text-h3)/1.45 var(--font-sans);margin:0 0 .5rem}.display{font:700 var(--text-display)/1.02 var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0}.body-sm{font-size:var(--text-small);line-height:1.43}.label{font:600 var(--text-small)/1.43 var(--font-sans)}.caption{font:500 var(--text-caption)/1.33 var(--font-sans)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--palette-daun-200);color:var(--palette-gading-900)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-64px;z-index:var(--z-toast);background:var(--color-primary);color:var(--color-on-primary);padding:12px 16px;border-radius:var(--radius-md)}.skip-link:focus{top:8px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.draw,.skel,.skeleton-row{animation:none!important}}@media print{body{background:#fff;color:#000}.botani,.botani-kecil,.mtop,.nav,.pl-top,.side,.skip-link,.sprig,.toast{display:none!important}}.center{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:var(--space-6)}.row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.actions{justify-content:flex-end;margin-top:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);font:600 1rem/1.2 var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color var(--duration-instant) var(--ease-out),transform var(--duration-instant) var(--ease-out)}.btn,.btn:hover{color:var(--color-on-primary)}.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn:active{background:var(--color-primary-active);border-color:var(--color-primary-active);transform:translateY(1px)}.btn.primary{background:var(--color-primary)}.btn.lg{min-height:48px;padding:0 24px}.btn.sm{min-height:44px;padding:0 16px}@media (min-width:1024px) and (pointer:fine){.btn.sm{min-height:36px;padding:0 12px;font-size:.875rem}}.btn.block{width:100%}.btn.soft{background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.btn.soft,.btn.soft:hover{color:var(--color-on-primary-soft)}.btn.soft:hover{background:var(--color-primary-soft-hover);border-color:var(--color-primary-soft-hover)}.btn.outline{background:var(--color-surface);border-color:var(--color-border-control);color:var(--color-fg)}.btn.outline:hover{background:var(--color-surface-sunken);color:var(--color-fg)}.btn.ghost{background:transparent;border-color:transparent;color:var(--color-primary);padding-inline:12px}.btn.ghost:hover{background:var(--color-surface-sunken);color:var(--color-primary)}.btn.destructive{background:var(--color-danger-solid);border-color:var(--color-danger-solid);color:var(--color-on-danger)}.btn.destructive:hover{background:var(--color-danger-fg);border-color:var(--color-danger-fg);color:var(--color-on-danger)}.btn[aria-disabled=true],.btn[disabled]{opacity:1;background:var(--color-surface-sunken);border-color:var(--color-surface-sunken);color:var(--color-fg-disabled);cursor:not-allowed;transform:none}.btn[aria-busy=true]{position:relative;color:transparent!important;cursor:progress}.btn[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-on-primary);border-right:2px solid transparent;animation:spin .8s linear infinite}.btn.ghost[aria-busy=true]:after,.btn.outline[aria-busy=true]:after,.btn.soft[aria-busy=true]:after{border-color:var(--color-primary);border-right-color:transparent}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.btn[aria-busy=true]:after{animation:none}}.icon-btn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--color-fg);font:inherit;cursor:pointer}.icon-btn:disabled{color:var(--color-fg-disabled);cursor:not-allowed}.icon-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:var(--space-4)}.field .lbl,.field label{font:600 .875rem/1.25 var(--font-sans);color:var(--color-fg)}.field input:where(:not([type=checkbox]):not([type=radio])),.field select,.field textarea{width:100%;min-height:48px;padding:0 12px;background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border-control);border-radius:var(--radius-md);font:400 1rem/1.4 var(--font-sans)}.field textarea{padding:10px 12px;min-height:96px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-fg-muted)}.field input::placeholder{color:var(--color-fg-subtle);opacity:1}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-width:2px;border-color:var(--color-danger-solid)}.field input:disabled,.field select:disabled{background:var(--color-surface-sunken);color:var(--color-fg-disabled);cursor:not-allowed}[data-density=padat] .field input:where(:not([type=checkbox]):not([type=radio])),[data-density=padat] .field select{min-height:48px}@media (min-width:1024px) and (pointer:fine){[data-density=padat] .field input:where(:not([type=checkbox]):not([type=radio])),[data-density=padat] .field select{min-height:36px;font-size:.875rem}}.field .help{font-size:.875rem;color:var(--color-fg-muted)}.field .err{display:flex;gap:6px;align-items:flex-start;font-size:.875rem;color:var(--color-danger-fg)}.field .err svg{flex:none;margin-top:2px}.check,.radio{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:400}.check input,.radio input{width:20px;height:20px;margin:0;accent-color:var(--color-primary)}fieldset.radios{border:0;padding:0;margin:0 0 var(--space-4)}fieldset.radios legend{font:600 .875rem/1.25 var(--font-sans);padding:0;margin-bottom:4px}.switch{display:inline-flex;align-items:center;gap:10px;min-height:44px}.switch,.switch input{position:relative;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-border-control);margin:0;transition:background-color var(--duration-fast) var(--ease-out)}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);transition:transform var(--duration-fast) var(--ease-out)}.switch input:checked{background:var(--color-primary)}.switch input:checked:after{transform:translateX(18px)}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);width:min(100%,26rem)}.card.interactive:hover{border-color:var(--color-border-strong);background:var(--color-primary-faint)}.card.sunken{background:var(--color-surface-sunken)}.card.accent{border-left:4px solid var(--color-accent-decor)}.card h1{font-size:1.5rem}.card.info{width:100%;max-width:40rem}.card.info dl{display:grid;grid-template-columns:12rem 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:0}.card.info dt{color:var(--color-fg-muted);font-size:.875rem}.card.info dd{margin:0}.card.info .dl-row{display:contents}.card+.card,.card+section.card{margin-top:var(--space-4)}.cards{list-style:none;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.cards .card{width:100%;max-width:none}.card.interactive a{color:inherit;text-decoration:none;display:block}.home{max-width:40rem;margin:0 auto;padding:var(--space-6) var(--space-4)}.muted{color:var(--color-fg-muted)}.banner{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:.9375rem;background:var(--color-info-bg);color:var(--color-fg)}.banner>svg{flex:none;margin-top:2px}.banner .banner-title{display:block;font-weight:600}.banner.info{background:var(--color-info-bg)}.banner.info .banner-title,.banner.info>svg{color:var(--color-info-fg)}.banner.success{background:var(--color-success-bg)}.banner.success .banner-title,.banner.success>svg{color:var(--color-success-fg)}.banner.warning{background:var(--color-warning-bg)}.banner.warning .banner-title,.banner.warning>svg{color:var(--color-warning-fg)}.banner.danger{background:var(--color-danger-bg)}.banner.danger,.banner.danger .banner-title,.banner.danger>svg{color:var(--color-danger-fg)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:var(--radius-full);background:var(--color-surface-pressed);color:var(--color-fg);font:500 .875rem/1 var(--font-sans);white-space:nowrap}.badge.active,.badge.info{background:var(--color-info-bg);color:var(--color-info-fg)}.badge.active{font-weight:600}.badge.invited,.badge.success{background:var(--color-success-bg);color:var(--color-success-fg)}.badge.planned,.badge.warning{background:var(--color-warning-bg);color:var(--color-warning-fg)}.badge.closed{background:var(--color-surface-pressed);color:var(--color-fg)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.page-head h1{margin:0}.toolbar{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:end;margin-bottom:var(--space-2)}.toolbar.end{justify-content:flex-end;margin-top:var(--space-4)}.toolbar .field{margin-bottom:var(--space-2);min-width:12rem}.toolbar.fill .field{flex:1 1 12rem}.toolbar .toolbar-end{margin-left:auto;margin-bottom:var(--space-2)}@media (max-width:639px){.toolbar .toolbar-end,.toolbar.fill .field{flex-basis:100%;margin-left:0}.toolbar .toolbar-end .btn{width:100%}}.seg{flex-wrap:wrap;gap:0}.seg .btn{border-radius:0;border-width:0;min-height:44px}.seg .btn+.btn{border-left:1px solid var(--color-border-strong)}.picker{list-style:none;margin:0;padding:0;max-height:40vh;overflow-y:auto}.picker li{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-height:44px;padding-block:4px}.picker input[type=checkbox]{width:24px;height:24px;flex:none}.picker label{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--space-2);min-height:44px}.picker .err{flex-basis:100%}.seg{display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden}.seg button{font:600 .875rem/1.2 var(--font-sans);min-height:44px;padding:0 16px;border:0;background:transparent;color:var(--color-fg-muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.pager{justify-content:space-between}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.table td,.table th{text-align:left;padding:8px 14px;border-bottom:1px solid var(--color-border-subtle);font-size:.875rem;vertical-align:middle}.table th{background:var(--color-surface-sunken);font-weight:600;color:var(--color-fg-muted);white-space:nowrap;height:40px}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--color-surface-sunken)}.table a{color:var(--color-primary);font-weight:600;text-decoration:none;display:inline-block;padding-block:8px}.table a:hover{text-decoration:underline}.table td a:not(.btn){min-width:44px}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}@media (max-width:767px){.table{display:block;overflow-x:auto}.table td,.table th{padding:8px}.table:has(td[data-label]){display:block;overflow:visible;border:0;background:transparent}.table:has(td[data-label]) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table:has(td[data-label]) tbody,.table:has(td[data-label]) td,.table:has(td[data-label]) tr{display:block}.table:has(td[data-label]) tr{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-3);padding:8px 12px}.table:has(td[data-label]) td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 0;text-align:right}.table:has(td[data-label]) td a:not(.btn){display:inline-flex;align-items:center;min-height:44px}.table:has(td[data-label]) td:before{content:attr(data-label);font-weight:600;color:var(--color-fg-muted);text-align:left;flex:none}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border-strong);margin-top:var(--space-6);overflow-x:auto}.tab{font:600 1rem/1.2 var(--font-sans);padding:0 16px;min-height:44px;background:transparent;color:var(--color-fg-muted);border:0;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--color-fg)}.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}dialog.card,dialog.modal{color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-overlay)}dialog.modal{max-width:28rem;width:calc(100% - 2rem)}dialog.card::-webkit-backdrop,dialog.modal::-webkit-backdrop{background:var(--color-scrim)}dialog.card::backdrop,dialog.modal::backdrop{background:var(--color-scrim)}dialog .dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}dialog .dialog-head h2{margin:0}@media (max-width:639px){dialog.card,dialog.modal{width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0;overflow-y:auto;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom, 0px))}}.empty{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);text-align:center;padding:48px 24px;color:var(--color-fg-muted)}.empty h2,.empty h3{color:var(--color-fg);margin:0}.empty p{margin:0;max-width:40ch}.skeleton{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.skel,.skeleton-row{height:40px;border-radius:var(--radius-md);background:var(--color-surface-pressed);animation:pulse 1.2s ease-in-out infinite}.skel{height:16px;border-radius:var(--radius-sm)}.skeleton .card{height:4rem;margin-bottom:var(--space-3);background:var(--color-surface-pressed)}@keyframes pulse{50%{opacity:.6}}.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--color-toast-bg);color:var(--color-toast-fg);border-radius:var(--radius-md);padding:12px 16px;box-shadow:var(--shadow-overlay);z-index:var(--z-toast);max-width:calc(100% - 2rem)}.profile{position:relative}.profile summary{cursor:pointer;list-style:none;min-height:44px;padding:0 12px;border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface)}.profile .menu{position:absolute;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);padding:4px;min-width:10rem;z-index:var(--z-menu)}.profile .menu hr{border:0;border-top:1px solid var(--color-border-subtle);margin:4px 0}.menu-item{display:flex;align-items:center;width:100%;text-align:left;font:inherit;padding:0 12px;min-height:44px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-fg);cursor:pointer;text-decoration:none}.menu-item:hover{background:var(--color-surface-sunken)}.menu-item.danger{color:var(--color-danger-fg)}.menu-item[disabled]{color:var(--color-fg-disabled);cursor:not-allowed}@media (max-width:767px){.card.info dl{grid-template-columns:1fr}}.qr{width:200px;height:200px;image-rendering:pixelated;background:#fff;padding:8px;border-radius:var(--radius-md);display:block;margin:0 auto var(--space-4);box-sizing:content-box}.secret{letter-spacing:.08em;word-break:break-all}.codes,.secret{font-family:ui-monospace,monospace}.codes{background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:12px 16px;list-style:none;margin:0 0 var(--space-4);display:grid;grid-gap:4px;gap:4px}.codes.two{grid-template-columns:1fr 1fr}.field .pass-wrap{position:relative;display:block}.field .pass-wrap input{padding-right:52px}.pass-wrap .icon-btn{position:absolute;top:2px;right:2px;min-width:44px;min-height:44px;color:var(--color-fg-muted)}.field input.otp{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.5rem;letter-spacing:.3em;text-align:center}.auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-3) 0 0}.auth-links a{display:inline-flex;align-items:center;min-height:44px}.reqs{list-style:none;margin:calc(var(--space-2) * -1) 0 var(--space-3);padding:0;display:grid;grid-gap:4px;gap:4px;font-size:.875rem;color:var(--color-fg-muted)}.reqs li{display:flex;gap:8px;align-items:center;min-height:24px}.reqs li>svg{flex:none;color:var(--color-success-fg)}.reqs li[data-met=true]{color:var(--color-fg)}.reqs .req-dot{flex:none;width:16px;height:16px;box-sizing:border-box;border:2px solid var(--color-border-control);border-radius:50%}.auth-privacy{text-align:center;margin:var(--space-3) 0 0}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-fg);font:600 .8125rem/1 var(--font-sans);vertical-align:middle;flex:none}.avatar[data-size="40"]{width:40px;height:40px;font-size:.9375rem}.draw{stroke-dasharray:1;stroke-dashoffset:0;animation:grow 2.4s var(--ease-out) backwards;animation-delay:calc(var(--d, 0) * 1s)}@keyframes grow{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.botani,.botani-kecil,.sprig{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.botani .tn,.botani-kecil .tn,.sprig .tn{stroke:var(--color-accent-decor)}.botani .dot,.botani-kecil .dot{fill:var(--color-accent-decor);stroke:none}.botani-kecil{width:96px;height:96px;stroke:var(--palette-daun-700)}.botani-kecil .tn{stroke:var(--palette-tanah-500)}.botani{width:100%;height:auto}.sprig{width:56px;height:auto}:root{--side-w:256px;--side-w-collapsed:72px;--mtop-h:56px;--bottom-h:64px}h1[tabindex="-1"]:focus,main#isi:focus{outline:none}.brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 1.25rem/1 var(--font-narasi);color:var(--color-primary);text-decoration:none}.brand .ic{flex:none}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;background:var(--color-bg)}.auth-head{padding:12px 16px 0}.auth-aside{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:8px 16px 20px}.auth-aside .h-sec{margin:0;font:600 1.25rem/1.25 var(--font-narasi);max-width:22ch;text-wrap:balance}.auth-aside .sprig{width:40px;flex:none}.auth-main{background:var(--color-surface);display:grid;justify-items:center;align-content:start;padding:24px 16px 32px}.auth-box{width:min(100%,30rem)}.auth-box>.card{border:0;padding:0;background:transparent;width:100%}.auth-foot{background:var(--color-surface);padding:12px 16px 20px;font-size:var(--text-small);color:var(--color-fg-muted)}.auth.one .auth-foot,.auth.one .auth-main{background:var(--color-bg)}@media (min-width:900px){.auth{grid-template-columns:5fr 7fr;grid-template-rows:auto 1fr auto;grid-template-areas:"head main" "aside main" "aside foot"}.auth-head{grid-area:head;padding:32px 40px 0}.auth-aside{grid-area:aside;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--space-8);padding:24px 40px 48px}.auth-aside .h-sec{font-size:clamp(1.75rem,2.4vw,2.5rem)}.auth-aside .sprig{width:120px;margin-top:auto}.auth-main{grid-area:main;align-content:center;padding:48px clamp(24px,4vw,56px)}.auth-foot{grid-area:foot;padding:16px clamp(24px,4vw,56px) 24px}.auth.one{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "main" "foot"}.auth.one .auth-main{grid-area:main}}.app{display:block;min-height:100dvh;background:var(--color-bg)}.side{display:contents}.collapse-in,.nav-cap,.side-brand,.side-unit{display:none}.side-foot{position:fixed;right:8px;z-index:calc(var(--z-nav) + 1)}.mtop,.side-foot{top:0;height:var(--mtop-h);display:flex;align-items:center}.mtop{position:-webkit-sticky;position:sticky;z-index:var(--z-sticky);padding:0 176px 0 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.ad-col{min-width:0}.ad-main{padding:24px 16px calc(var(--bottom-h) + 40px + env(safe-area-inset-bottom, 0px))}.app.no-nav .ad-main{padding-bottom:40px}.nav ul{list-style:none;margin:0;padding:0}.nav-i{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--radius-md);color:var(--color-fg);text-decoration:none;font-weight:500}.nav-i:hover{background:var(--color-surface-sunken)}.nav-i[aria-current=page]{background:var(--color-primary-soft);color:var(--color-on-primary-soft);font-weight:600}.nav-i .ic{flex:none}.cnt{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-on-accent-soft);font:600 .75rem/1 var(--font-sans);text-align:center}.app .nav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);height:calc(var(--bottom-h) + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--color-surface);border-top:1px solid var(--color-border-subtle)}.app .nav ul{display:flex;height:var(--bottom-h)}.app .nav li{flex:1 1;min-width:0}.app .nav-i{flex-direction:column;justify-content:center;gap:2px;width:100%;height:100%;min-height:var(--bottom-h);padding:0 2px;border-radius:0;font-size:.75rem;line-height:1.2}.app .nav-l{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .cnt{position:absolute;top:6px;left:55%;margin:0}.app~.toast{bottom:calc(var(--bottom-h) + 16px + env(safe-area-inset-bottom, 0px))}.app.no-nav~.toast{bottom:16px}.profile summary{display:block;max-width:11rem;line-height:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile summary::-webkit-details-marker{display:none}.profile .menu{top:100%}.pl-profile .profile .menu,.side-foot .profile .menu{right:0}@media (min-width:1024px){.app:not(.no-nav){display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);transition:grid-template-columns var(--duration-base) var(--ease-out)}.app:not(.no-nav)[data-collapsed=true]{grid-template-columns:var(--side-w-collapsed) minmax(0,1fr)}.app:not(.no-nav) .side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding:16px 12px;background:var(--color-surface);border-right:1px solid var(--color-border-subtle);z-index:var(--z-nav)}.app:not(.no-nav) .collapse-in,.app:not(.no-nav) .side-brand{display:block}.app:not(.no-nav) .side-brand{padding:0 4px}.app:not(.no-nav) .side-unit{display:grid;grid-gap:2px;gap:2px;width:100%;padding:12px}.app:not(.no-nav) .nav-cap{display:block;padding:8px 12px 4px;color:var(--color-fg-muted);text-transform:none}.app:not(.no-nav) .mtop{display:none}.app:not(.no-nav) .nav{position:static;height:auto;padding:0;background:none;border:0;flex:1 1}.app:not(.no-nav) .nav ul{display:grid;grid-gap:2px;gap:2px;height:auto}.app:not(.no-nav) .nav-i{flex-direction:row;justify-content:flex-start;gap:12px;height:auto;min-height:44px;padding:0 12px;border-radius:var(--radius-md);font-size:1rem}.app:not(.no-nav) .cnt{position:static;margin-left:auto}.app:not(.no-nav) .collapse-in{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-fg-muted);cursor:pointer;font:inherit}.app:not(.no-nav) .collapse-in:hover{background:var(--color-surface-sunken)}.app:not(.no-nav) .side-foot{position:static;height:auto;z-index:auto}.app:not(.no-nav) .side-foot .profile{width:100%}.app:not(.no-nav) .side-foot .profile summary{max-width:none}.app:not(.no-nav) .side-foot .profile .menu{top:auto;bottom:100%;margin:0 0 4px;left:0;right:auto}.app:not(.no-nav) .ad-main{padding-bottom:40px}.app:not(.no-nav)~.toast{bottom:16px}.ad-main{padding:40px clamp(24px,4vw,56px)}.app.no-nav .ad-main{padding-bottom:40px}.app:not(.no-nav) .collapse-in,.app:not(.no-nav) .nav-i{min-height:44px}}@media (min-width:1024px) and (pointer:fine){.app:not(.no-nav) .nav-i{min-height:40px}}@media (min-width:1024px){.app[data-collapsed=true]:not(.no-nav) .side{padding-inline:12px}.app[data-collapsed=true]:not(.no-nav) .brand-l,.app[data-collapsed=true]:not(.no-nav) .nav-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app[data-collapsed=true]:not(.no-nav) .nav-cap,.app[data-collapsed=true]:not(.no-nav) .side-unit{display:none}.app[data-collapsed=true]:not(.no-nav) .nav-i{justify-content:center;padding:0}.app[data-collapsed=true]:not(.no-nav) .cnt{position:absolute;top:4px;right:4px;margin:0}.app[data-collapsed=true]:not(.no-nav) .collapse-in{justify-content:center;padding:0}.app[data-collapsed=true]:not(.no-nav) .side-foot .profile summary{padding:0 8px;text-align:center}.app[data-collapsed=true]:not(.no-nav) .nav-i:is(:hover,:focus-visible):after{content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:var(--z-menu);padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-toast-bg);color:var(--color-toast-fg);font:500 .875rem/1.2 var(--font-sans);white-space:nowrap;pointer-events:none}}@media (min-width:1024px) and (max-height:560px){.app:not(.no-nav) .side{overflow-y:auto}}@media (prefers-reduced-motion:reduce){.app,.app *,.app:not(.no-nav),.auth,.auth *,.pl,.pl *{transition:none!important}}.pl{min-height:100dvh;background:var(--color-bg)}.pl-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);height:var(--mtop-h);padding:0 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.pl-top .brand{flex:none}.pl-nav{flex:1 1 auto;min-width:0}.pl-nav ul{display:flex;gap:4px}.pl-profile{margin-left:auto;flex:0 1 auto;min-width:0}.pl-profile .profile summary{max-width:100%}.pl-main{max-width:1440px;margin:0 auto;padding:24px 16px 48px}@media (min-width:1024px){.pl-top{padding:0 clamp(24px,4vw,56px)}.pl-main{padding:40px clamp(24px,4vw,56px)}.pl-profile .profile summary{max-width:16rem}}@media (max-width:479px){.pl-top .brand-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.page{max-width:64rem}.page .lead{font-size:1.125rem;line-height:1.5;margin:0 0 .5rem;max-width:60ch}.home-grid{grid-template-columns:minmax(0,1fr);margin:var(--space-4) 0}@media (min-width:768px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.unit-card{display:grid;grid-gap:4px;gap:4px;min-height:44px;overflow-wrap:anywhere}.unit-card-name{display:flex;justify-content:space-between;align-items:center;gap:12px}.unit-card-title{display:inline-flex;align-items:center;gap:10px;min-width:0}.card.panel{width:min(100%,32rem)}.devices .dev-name>*+*{margin-left:8px}.devices .dev-action{text-align:right;width:1%;white-space:nowrap}.devices-foot{margin-top:var(--space-4)}@media (max-width:767px){.table.devices .dev-name{justify-content:flex-start;flex-wrap:wrap;gap:8px;text-align:left}.table.devices .dev-name>*+*{margin-left:0}.table.devices .dev-action{justify-content:flex-end;width:auto}}.three-pane{display:block}.tp-detail{margin-top:var(--space-4)}@media (min-width:1280px){.three-pane{display:grid;grid-template-columns:minmax(0,1fr) 480px;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.tp-detail{margin:0;position:-webkit-sticky;position:sticky;top:var(--space-6)}}.auth-box .card h1{font:400 clamp(1.75rem,2vw + 1rem,2.5rem)/1.1 var(--font-narasi);letter-spacing:-.02em;margin:0 0 var(--space-5)}