.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/build/assets/layers-BWBAp2CZ.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/build/assets/layers-2x-Bpkbi35X.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/build/assets/marker-icon-hN30_KVU.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/build/assets/plus-jakarta-sans-400-eXO_dkmS.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/source-serif-4-400-BBYXi81A.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/source-serif-4-600-CYmhlZB2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-feature-settings:"ss01"}::-moz-selection{background:color-mix(in srgb,var(--primary-color) 24%,transparent)}::selection{background:color-mix(in srgb,var(--primary-color) 24%,transparent)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}[x-cloak]{display:none!important}.\!btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.\!btn{border-radius:var(--radius)!important;border:1px solid transparent!important;min-height:2.5rem!important;transition:background-color .15s ease,border-color .15s ease,color .15s ease!important}.btn{border-radius:var(--radius);border:1px solid transparent;min-height:2.5rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.\!btn:focus-visible{outline-offset:2px!important}.btn:focus-visible{outline-offset:2px}.\!btn:disabled{opacity:.45!important;pointer-events:none!important}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--primary-color);color:var(--on-primary)}.btn-primary:hover{background:color-mix(in srgb,var(--primary-color) 88%,#000 12%)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-3)}.btn-danger{background:var(--danger);color:#fff}[data-theme=dark] .btn-danger{color:#20100d}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 88%,#000 12%)}[data-theme=dark] .btn-danger:hover{background:color-mix(in srgb,var(--danger) 88%,#fff 12%)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-sm{padding:.25rem .75rem;font-size:.75rem;line-height:1rem;min-height:2rem}.btn-lg{padding:.625rem 1.5rem;font-size:1rem;line-height:1.5rem}.btn-destructive-ghost{color:var(--danger);background:transparent}.btn-destructive-ghost:hover{background:var(--danger-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-medium);padding:1.25rem;box-shadow:var(--shadow-1)}.card-flush{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-medium);overflow:hidden;box-shadow:var(--shadow-1)}.card-hover{transition:border-color .15s ease}.card-hover:hover{border-color:var(--border-strong)}.card-pad-lg{padding:1.5rem}.badge,.badge-success,.badge-warning,.badge-danger,.badge-info,.badge-neutral{display:inline-flex;align-items:center;gap:.375rem;min-height:24px;padding:0 .55rem;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex-shrink:0}.badge-success{background:var(--ok-soft);color:var(--ok)}.badge-warning{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--surface-3);color:var(--text-muted)}.qr-ring{padding:10px;border-radius:var(--radius-medium);border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center}.attendance-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:22rem}.attendance-day{font-size:10px;text-align:center;color:var(--text-subtle)}.attendance-cell{display:block;width:100%;aspect-ratio:1;border-radius:3px;border:1px solid transparent;background:var(--surface-3);transition:transform .12s ease,box-shadow .12s ease}.attendance-cell:hover,.attendance-cell:focus-visible{transform:scale(1.12);outline:2px solid var(--ring);outline-offset:1px}.attendance-cell--hadir{background:var(--ok)}.attendance-cell--terlambat{background:var(--warn)}.attendance-cell--izin,.attendance-cell--sakit{background:var(--info)}.attendance-cell--alfa{background:var(--danger)}.attendance-cell--empty{background:var(--surface-3);border-color:var(--border)}.attendance-cell--future{background:transparent;border:1px dashed var(--border-strong)}.attendance-cell--outside{background:transparent;border-color:transparent}.attendance-grid+div .attendance-cell{width:.75rem;height:.75rem;aspect-ratio:auto}.scale-option{display:inline-flex;position:relative;cursor:pointer}.scale-option input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.scale-option span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);font-size:14px;font-weight:600;transition:background-color .12s ease,border-color .12s ease}.scale-option input:checked+span{background:var(--primary-color);border-color:var(--primary-color);color:var(--on-primary)}.scale-option input:focus-visible+span{outline:2px solid var(--ring);outline-offset:2px}.landing-wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.25rem}@media (min-width: 640px){.landing-wrap{padding-inline:2rem}}.landing-section{border-top:1px solid var(--border)}.landing-section-inner{padding-block:clamp(3rem,7vw,5.5rem)}.landing-section-head{max-width:44rem}.landing-h2{font-family:"Source Serif 4",Plus Jakarta Sans,serif;font-weight:600;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--text);text-wrap:balance}.landing-lede{margin-top:.9rem;max-width:40rem;font-size:1.0625rem;line-height:1.7;color:var(--text-muted)}#fitur,#cuplikan,#galeri,#peran,#cara-mulai,#faq{scroll-margin-top:5.5rem}.landing-header{--header-ink: var(--text);position:fixed;inset-inline:0;top:0;z-index:50;border-bottom:1px solid transparent;background:transparent;color:var(--header-ink);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.landing-header>div{height:4.5rem;max-width:1240px}.landing-header .nav-link,.landing-header .site-brand-name{color:var(--header-ink)}.landing-header .nav-link:hover{background:color-mix(in srgb,var(--header-ink) 12%,transparent);color:var(--header-ink)}body[data-hero-tone=light] .landing-header{--header-ink: #ffffff}body[data-hero-tone=dark] .landing-header{--header-ink: #14201b}[data-theme=dark] body[data-hero-tone-dark=light] .landing-header{--header-ink: #ffffff}[data-theme=dark] body[data-hero-tone-dark=dark] .landing-header{--header-ink: #14201b}.landing-header.is-scrolled{--header-ink: var(--text);background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom-color:var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(38rem,86svh,60rem);padding-block:8.5rem 4rem;overflow:hidden;background-color:var(--bg);container-type:inline-size;container-name:hero}.landing-hero--pattern{background-image:radial-gradient(color-mix(in srgb,var(--border-strong) 65%,transparent) 1px,transparent 1px);background-size:20px 20px}.landing-hero--gradient{background-image:radial-gradient(110% 85% at 10% 6%,color-mix(in srgb,var(--primary-color) 18%,transparent),transparent 62%),linear-gradient(180deg,var(--surface-2),var(--bg))}.landing-hero--image{background-color:var(--surface-3)}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden}.landing-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:var(--hero-focus-desktop, 50% 50%);object-position:var(--hero-focus-desktop, 50% 50%);display:block}.landing-hero-image--dark{display:none}@container hero (max-width: 1023px){.landing-hero-image{-o-object-position:var(--hero-focus-mobile, 50% 50%);object-position:var(--hero-focus-mobile, 50% 50%)}}[data-theme=dark] .landing-hero--has-dark .landing-hero-image--light{display:none}[data-theme=dark] .landing-hero--has-dark .landing-hero-image--dark{display:block}.landing-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.landing-hero[data-tone=light]{--hero-ink: #ffffff;--hero-muted: rgba(255, 255, 255, .86)}.landing-hero[data-tone=dark]{--hero-ink: #14201b;--hero-muted: rgba(20, 32, 27, .8)}.landing-hero[data-tone=theme]{--hero-ink: var(--text);--hero-muted: var(--text-muted)}[data-theme=dark] .landing-hero[data-tone-dark=light]{--hero-ink: #ffffff;--hero-muted: rgba(255, 255, 255, .86)}[data-theme=dark] .landing-hero[data-tone-dark=dark]{--hero-ink: #14201b;--hero-muted: rgba(20, 32, 27, .8)}.landing-hero-grid{display:grid;gap:3rem;align-items:center}@container hero (min-width: 1024px){.landing-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.5rem}}.landing-hero-copy{color:var(--hero-ink)}.landing-hero-copy>*{animation:landing-rise .6s ease both}.landing-hero-copy>:nth-child(2){animation-delay:.08s}.landing-hero-copy>:nth-child(3){animation-delay:.16s}.landing-hero-copy>:nth-child(4){animation-delay:.24s}.landing-hero-copy>:nth-child(5){animation-delay:.32s}.landing-hero-device{animation:landing-float 7s ease-in-out infinite}@keyframes landing-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.landing-hero-title{margin-top:1.1rem;max-width:34rem;font-family:"Source Serif 4",Plus Jakarta Sans,serif;font-weight:600;font-size:clamp(2.15rem,4.5vw,3.6rem);font-size:clamp(2.15rem,4.5cqw,3.6rem);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}.landing-hero-lede{margin-top:1.25rem;max-width:33rem;font-size:1.0625rem;line-height:1.7;color:var(--hero-muted)}.landing-hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}.landing-hero[data-tone=light] .btn-secondary{background:color-mix(in srgb,#ffffff 14%,transparent);border-color:color-mix(in srgb,#ffffff 55%,transparent);color:#fff}.landing-hero[data-tone=light] .btn-secondary:hover{background:color-mix(in srgb,#ffffff 24%,transparent)}.landing-hero-note{margin-top:1rem;max-width:30rem;font-size:1rem;line-height:1.6;color:var(--hero-muted)}.landing-hero-device{margin:0;justify-self:center;width:min(100%,13.5rem)}@container hero (min-width: 640px){.landing-hero-device{width:15rem}}@container hero (min-width: 1024px){.landing-hero-device{justify-self:end;width:15.5rem}}.landing-device{padding:.5rem;border-radius:2.1rem;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:var(--surface);box-shadow:0 22px 48px -26px #00000080}.landing-device-screen{overflow:hidden;border-radius:1.65rem;aspect-ratio:390 / 844;background:var(--surface-3)}.landing-device-screen img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.landing-hero-device figcaption{margin-top:1rem;font-size:.9rem;line-height:1.55;text-align:center;color:var(--hero-muted)}@container hero (max-width: 380px){.landing-hero{padding-block:7rem 3rem}}.fit-list{margin-top:2.5rem;border-top:1px solid var(--border)}.fit-row{display:grid;gap:.4rem;padding:1.35rem 0;border-bottom:1px solid var(--border)}@media (min-width: 768px){.fit-row{grid-template-columns:14rem minmax(0,1fr);gap:2rem}}.fit-row dt{display:flex;align-items:center;gap:.65rem;font-size:1rem;font-weight:600}.feature-icon{flex:none;width:1.45rem;height:1.45rem;color:var(--primary-color)}.fit-row{transition:background-color .16s ease,padding-left .16s ease}.fit-row:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent);padding-left:.5rem}.fit-row dd{max-width:42rem;font-size:1rem;line-height:1.7;color:var(--text-muted)}.showcase-tabs{margin-top:2.25rem;display:flex;gap:.15rem;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch}.showcase-tabs::-webkit-scrollbar{display:none}.showcase-tab{flex:0 0 auto;min-height:2.75rem;margin-bottom:-1px;padding:.65rem 1rem;border-bottom:2px solid transparent;font-size:1rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.showcase-tab:hover{color:var(--text)}.showcase-tab[aria-selected=true]{border-bottom-color:var(--primary-color);color:var(--text)}.showcase-panels{margin-top:2rem}.showcase-panel{display:grid;gap:2rem;align-items:start}.showcase-panel[hidden]{display:none}.showcase-panel.is-entering{animation:landing-fade .28s ease both}@media (min-width: 1024px){.showcase-panel{grid-template-columns:minmax(0,.78fr) minmax(0,1.35fr);gap:3rem}}.showcase-title{font-family:"Source Serif 4",Plus Jakarta Sans,serif;font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.015em}.showcase-benefits{margin-top:1.2rem;display:grid;gap:.8rem;font-size:1rem;line-height:1.65;color:var(--text-muted)}.showcase-benefits li{position:relative;padding-left:1.35rem}.showcase-benefits li:before{content:"";position:absolute;left:0;top:.72em;width:.7rem;height:1px;background:var(--border-strong)}.showcase-copy .btn{margin-top:1.5rem}.showcase-copy .\!btn{margin-top:1.5rem!important}.showcase-figure{margin:0;min-width:0}.showcase-frame{overflow:hidden;aspect-ratio:16 / 10;border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-2)}.showcase-image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.showcase-figure figcaption{margin-top:.75rem;font-size:.9375rem;line-height:1.55;color:var(--text-muted)}.showcase-cta{margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.25rem}.showcase-cta p{max-width:36rem;font-size:.9375rem;line-height:1.6;color:var(--text-muted)}.guard-list{margin-top:2.5rem;display:grid;gap:1.75rem 3rem}@media (min-width: 768px){.guard-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.guard-list li{position:relative;padding-top:1rem;border-top:1px solid var(--border-strong)}.guard-icon{width:1.35rem;height:1.35rem;margin-bottom:.45rem;color:var(--primary-color)}.guard-title{font-size:1.0625rem;font-weight:600;line-height:1.5}.guard-text{margin-top:.35rem;font-size:1rem;line-height:1.65;color:var(--text-muted)}.gallery-carousel{margin-top:2rem}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.gallery-buttons{display:flex;gap:.5rem}.gallery-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);transition:background-color .15s ease,border-color .15s ease}.gallery-button:hover:not(:disabled){background:var(--surface-3)}.gallery-button:disabled{opacity:.4;cursor:not-allowed}.gallery-button svg{width:1.1rem;height:1.1rem}.gallery-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;padding-bottom:.5rem}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.gallery-slide{flex:0 0 86%;scroll-snap-align:start;margin:0}@media (min-width: 768px){.gallery-slide{flex-basis:calc((100% - 2.5rem) / 2.3)}}.gallery-frame{overflow:hidden;aspect-ratio:4 / 3;border:1px solid var(--border);border-radius:var(--radius-medium)}.gallery-frame img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-slide figcaption{margin-top:.7rem;min-height:2.9em;font-size:.9375rem;line-height:1.55;color:var(--text-muted)}.role-list{margin-top:2.25rem;border-top:1px solid var(--border)}.role-list>div{display:grid;gap:.3rem;padding:1.2rem 0;border-bottom:1px solid var(--border)}@media (min-width: 768px){.role-list>div{grid-template-columns:11rem minmax(0,1fr);gap:2rem}}.role-list dt{display:flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:600}.role-icon{flex:none;width:1.25rem;height:1.25rem;color:var(--primary-color)}.role-list dd{max-width:42rem;font-size:1rem;line-height:1.7;color:var(--text-muted)}.landing-start{display:grid;gap:2.5rem}@media (min-width: 1024px){.landing-start{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:4rem}}.landing-start .btn{margin-top:1.6rem}.landing-start .\!btn{margin-top:1.6rem!important}.start-list{border-top:1px solid var(--border)}.start-list li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--border)}.start-number{font-family:"Source Serif 4",serif;font-size:1.15rem;line-height:1.4;color:var(--text-subtle);font-variant-numeric:tabular-nums}.start-title{font-size:1rem;font-weight:600}.start-text{margin-top:.2rem;font-size:1rem;line-height:1.65;color:var(--text-muted)}.landing-faq{display:grid;gap:2rem}@media (min-width: 1024px){.landing-faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:4rem}}.faq-list{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.05rem 0;font-size:1rem;font-weight:600;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-mark{font-size:1.25rem;line-height:1;color:var(--text-muted);transition:transform .15s ease}.faq-item[open] .faq-mark{transform:rotate(45deg)}.faq-item p{max-width:42rem;padding-bottom:1.1rem;font-size:1rem;line-height:1.7;color:var(--text-muted)}.landing-close{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:2.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-close-actions{display:flex;flex-wrap:wrap;gap:.75rem}@keyframes landing-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.\!chip,.chip{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.75rem;line-height:1rem}.\!chip{border-radius:999px!important;background:var(--surface-3)!important;color:var(--text-muted)!important;border:1px solid var(--border)!important}.chip{border-radius:999px;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.form-label{margin-bottom:.375rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--text)}.form-hint{margin-top:.25rem;font-size:.75rem;line-height:1rem;color:var(--text-muted)}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--radius-small);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .15s ease}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-subtle)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:2px solid var(--ring);outline-offset:0;border-color:var(--primary-color)}.form-error{margin-top:.25rem;font-size:.75rem;line-height:1rem;color:var(--danger)}.table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.25rem}.table th{padding:.625rem 1rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.025em;background:var(--surface-2);color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:none}.table td{padding:.75rem 1rem;vertical-align:middle;color:var(--text);border-bottom:1px solid var(--border)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:var(--surface-2)}.table .text-end{text-align:right}.table-shell{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-shell>.table{min-width:640px}@media (min-width: 768px){.table th:first-child,.table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.table th:first-child{background:var(--surface-2)}.table th:last-child,.table td:last-child{position:sticky;right:0;z-index:1;background:var(--surface);box-shadow:-8px 0 12px -12px #1b232059}.table th:last-child{background:var(--surface-2)}}@media (max-width: 767px){.table-shell{overflow:visible}.table-shell>.table,.table{display:block;min-width:0;border-collapse:separate}.table thead{display:none}.table tbody,.table tr,.table td{display:block;width:100%}.table tbody tr{margin-bottom:.75rem;padding:.35rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table tbody tr:last-child{margin-bottom:0}.table td{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.45rem 0;border:0;text-align:right}.table td:before{content:attr(data-label);flex:1;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted)}.table td:first-child{display:block;padding-top:.65rem;text-align:left;font-size:1rem}.table td:first-child:before,.table td:last-child:before{display:none}.table td:last-child{justify-content:flex-end;margin-top:.25rem;padding-top:.65rem;border-top:1px solid var(--border)}.table td[data-label=""]:before{display:none}}.review-menu{position:relative;display:inline-block;text-align:left}.review-menu[open]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#080f0c73}.review-popover{position:fixed;z-index:70;top:50%;left:50%;width:min(30rem,calc(100vw - 2rem));max-height:85vh;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:var(--shadow-2)}.review-popover .review-close{position:absolute;top:.55rem;right:.75rem;font-size:1.35rem;line-height:1;color:var(--text-muted)}.review-popover .review-close:hover{color:var(--text)}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--radius-medium);border:1px solid}.alert-success{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.alert-warning{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.alert-info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--info)}.alert strong{color:inherit}.alert-icon{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:1px}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;border-radius:var(--radius-small);color:var(--text-muted);transition:background-color .12s ease,color .12s ease}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-link:hover{background:var(--surface-3);color:var(--text)}.sidebar-link.active{background:var(--primary-soft);color:color-mix(in srgb,var(--primary-color) 80%,var(--text));font-weight:600}.sidebar-group-label{padding:1.25rem .75rem .5rem;font-size:11px;font-weight:600;letter-spacing:.025em;color:var(--text-subtle)}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;border-radius:var(--radius-small);color:var(--text-muted)}.nav-link:hover{background:var(--surface-3);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--primary-color)}.page-title{font-size:1.25rem;line-height:1.75rem;font-weight:700;letter-spacing:-.025em;color:var(--text)}.page-subtitle{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:var(--text-muted)}.section-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--text)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-medium);padding:1rem 1.25rem}.stat-label{font-size:.75rem;line-height:1rem;font-weight:500;color:var(--text-muted)}.stat-value{margin-top:.25rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);letter-spacing:-.025em;color:var(--text)}.stat-hint{font-size:.75rem;line-height:1rem;--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);color:var(--text-subtle)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding-top:2.5rem;padding-bottom:2.5rem;text-align:center}.empty-state-icon{margin-bottom:.5rem;display:grid;height:2.75rem;width:2.75rem;place-items:center;border-radius:999px;background:var(--surface-3);color:var(--text-subtle)}.empty-state-icon svg{width:20px;height:20px}.empty-state-title{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--text)}.empty-state-text{max-width:20rem;font-size:.875rem;line-height:1.25rem;color:var(--text-muted)}.list-summary{display:flex;flex-wrap:wrap;-moz-column-gap:1.25rem;column-gap:1.25rem;row-gap:.25rem;font-size:.875rem;line-height:1.25rem;color:var(--text-muted)}.list-summary strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-auto{margin-left:auto;margin-right:auto}.\!mb-0{margin-bottom:0!important}.\!mb-1{margin-bottom:.25rem!important}.\!mt-0{margin-top:0!important}.-ml-1{margin-left:-.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[80vh\]{height:80vh}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:20rem}.max-h-\[460px\]{max-height:460px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[16rem\]{min-width:16rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[80rem\]{max-width:80rem}.max-w-\[90rem\]{max-width:90rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/40{background-color:#ecfdf566}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/85{background-color:#ffffffd9}.bg-white\/90{background-color:#ffffffe6}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-end{text-align:end}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Plus Jakarta Sans,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.accent-blue-600{accent-color:#2563eb}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{color-scheme:light;--primary-color: #0f766e;--primary-soft: #d9f2ec;--on-primary: #ffffff;--radius-small: 4px;--radius-medium: 10px;--radius-large: 18px;--radius: var(--radius-medium);--bg: #f6f7f6;--surface: #ffffff;--surface-2: #fbfbfa;--surface-3: #eef1f0;--border: #e2e6e4;--border-strong: #d2d8d5;--text: #1b2320;--text-muted: #5c6b64;--text-subtle: #8b948f;--ok: #16794d;--ok-soft: #e2f4ea;--warn: #92610b;--warn-soft: #fdf2d9;--danger: #bb3a2b;--danger-soft: #fbe7e3;--info: #2361a8;--info-soft: #e4eefb;--ring: color-mix(in srgb, var(--primary-color) 45%, transparent);--shadow-1: 0 1px 2px rgb(27 35 32 / .06);--shadow-2: 0 4px 12px rgb(27 35 32 / .08);--map-primary: var(--primary-color);--map-info: #2361a8;--map-success: #16794d;--map-warning: #cf8a1b}[data-theme=dark]{color-scheme:dark;--bg: #101413;--surface: #171c1a;--surface-2: #1c2321;--surface-3: #232b28;--border: #2a322e;--border-strong: #39443f;--text: #e6ebe8;--text-muted: #9daba4;--text-subtle: #76827d;--primary-soft: #143329;--on-primary: #eafff7;--ok: #63c292;--ok-soft: #16312a;--warn: #dcb15c;--warn-soft: #332a14;--danger: #e4796c;--danger-soft: #351d19;--info: #7fa9d6;--info-soft: #182637;--map-info: #6fa3dd;--map-success: #4cc38a;--map-warning: #dcb15c}#mapContainer,#todayMap{overflow:hidden;border-radius:var(--radius)}#mapContainer{height:400px}.leaflet-container{font-family:Plus Jakarta Sans,system-ui,sans-serif;z-index:0}.map-pin-wrapper,.map-dot-wrapper{background:none;border:0}.map-pin{display:block;width:28px;height:40px;filter:drop-shadow(0 2px 3px rgb(15 23 42 / .28))}.map-pin svg{width:100%;height:100%}.map-dot{display:block;width:18px;height:18px;border-radius:999px;background:var(--dot-fill);border:3px solid var(--dot-ring)}.map-filter{display:inline-flex;align-items:center;gap:.3rem;min-height:30px;padding:0 .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:11px;cursor:pointer}.map-filter.active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary-color) 35%,transparent);color:var(--primary-color);font-weight:600}@media (max-width: 767px){.map-panel{position:sticky;bottom:0;max-height:55vh;z-index:10;box-shadow:0 -10px 24px -18px #1b232073}.map-panel #studentList{max-height:40vh}}[data-theme=dark] .map-tiles{filter:brightness(.62) contrast(1.06) saturate(.72) hue-rotate(175deg) invert(1)}@media print{.map-tiles{filter:none!important}}[data-theme=dark] .bg-white,[data-theme=dark] .bg-white\/90,[data-theme=dark] .bg-white\/85,[data-theme=dark] .bg-white\/80,[data-theme=dark] .bg-white\/75{background-color:var(--surface)!important}[data-theme=dark] .bg-slate-50{background-color:var(--surface-2)!important}[data-theme=dark] .bg-slate-100{background-color:var(--surface-3)!important}[data-theme=dark] .text-slate-900,[data-theme=dark] .text-slate-800,[data-theme=dark] .text-slate-700{color:var(--text)!important}[data-theme=dark] .text-slate-600,[data-theme=dark] .text-slate-500{color:var(--text-muted)!important}[data-theme=dark] .text-slate-400{color:var(--text-subtle)!important}[data-theme=dark] .border-slate-200{border-color:var(--border)!important}[data-theme=dark] .border-slate-300{border-color:var(--border-strong)!important}[data-theme=dark] .divide-slate-100>:not([hidden])~:not([hidden]),[data-theme=dark] .divide-slate-200>:not([hidden])~:not([hidden]),[data-theme=dark] .divide-y>:not([hidden])~:not([hidden]){border-color:var(--border)!important}[data-theme=dark] .hover\:bg-slate-50:hover,[data-theme=dark] .hover\:bg-slate-100:hover{background-color:var(--surface-3)!important}[data-theme=dark] .hover\:text-slate-900:hover{color:var(--text)!important}[data-theme=dark] .ring-slate-200{--tw-ring-color: var(--border) !important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theme-toggle{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.6rem;border:1px solid var(--border);color:var(--text-muted);background:var(--surface);transition:color .15s ease,background-color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text);background:var(--surface-3)}.theme-toggle svg{width:1.05rem;height:1.05rem}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-moon{display:block}.bg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.bg-option{position:relative;cursor:pointer}.bg-option input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.bg-option-body{display:flex;align-items:center;gap:.6rem;padding:.55rem;border:1px solid var(--border);border-radius:var(--radius-small);font-size:.875rem;font-weight:500}.bg-option input:checked+.bg-option-body{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary-color)}.bg-option input:focus-visible+.bg-option-body{outline:2px solid var(--ring);outline-offset:2px}.bg-swatch{flex:none;width:2.25rem;height:1.5rem;border:1px solid var(--border-strong);border-radius:3px}.bg-swatch--plain{background:var(--surface-2)}.bg-swatch--pattern{background-color:var(--surface-2);background-image:radial-gradient(var(--border-strong) 1px,transparent 1px);background-size:6px 6px}.bg-swatch--gradient{background:linear-gradient(120deg,color-mix(in srgb,var(--primary-color) 30%,var(--surface)),var(--surface))}.bg-swatch--image{background:linear-gradient(135deg,#8a9a92,#39443f)}.focus-grid{display:grid;grid-template-columns:repeat(3,2.5rem);gap:.3rem;width:-moz-max-content;width:max-content;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-2)}.focus-option{position:relative;display:block;width:2.5rem;height:2rem;cursor:pointer}.focus-option input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.focus-option>span[aria-hidden]{display:block;width:100%;height:100%;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface)}.focus-option input:checked+span[aria-hidden]{border-color:var(--primary-color);background:var(--primary-color)}.focus-option input:focus-visible+span[aria-hidden]{outline:2px solid var(--ring);outline-offset:2px}.hero-preview{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface-2)}.hero-preview--desktop{aspect-ratio:16 / 10}.hero-preview--phone{max-width:15rem;margin-inline:auto}.hero-preview-canvas{pointer-events:none}.hero-preview-canvas .landing-hero{min-height:100%!important;padding-block:6rem 2.5rem}.gallery-admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface)}.gallery-admin-item.is-dragging{opacity:.55;border-color:var(--primary-color)}.gallery-admin-handle{display:grid;flex:none;place-items:center;width:1.75rem;height:2.5rem;color:var(--text-subtle);cursor:grab;touch-action:none}.gallery-admin-handle svg{width:1.4rem;height:1.4rem}.auth-layout{display:grid;min-height:calc(100vh - 4rem)}@media (min-width: 1024px){.auth-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:3rem 1.25rem}@media (min-width: 640px){.auth-form-side{padding-inline:2.5rem}}.auth-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-color)}.auth-eyebrow svg,.auth-trust svg,.auth-points svg,.auth-scene svg{width:1.05rem;height:1.05rem;flex:none}.auth-input{position:relative}.auth-input>svg{position:absolute;z-index:1;top:50%;left:.9rem;width:1.1rem;height:1.1rem;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}.auth-input-control{padding-left:2.6rem!important}.auth-input-control--toggle{padding-right:2.8rem!important}.auth-toggle{position:absolute;top:0;right:0;bottom:0;display:flex;width:2.75rem;align-items:center;justify-content:center;color:var(--text-muted)}.auth-toggle:hover{color:var(--text)}.auth-trust{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.auth-trust span{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.auth-trust svg{color:var(--primary-color)}.auth-aside{position:relative;display:none;overflow:hidden;flex-direction:column;justify-content:center;padding:3rem;border-left:1px solid var(--border);background:radial-gradient(60% 60% at 80% 12%,color-mix(in srgb,var(--primary-color) 12%,transparent),transparent 70%),radial-gradient(45% 45% at 15% 85%,color-mix(in srgb,var(--primary-color) 8%,transparent),transparent 70%),var(--surface-2)}@media (min-width: 1024px){.auth-aside{display:flex}}.auth-orbit{position:absolute;top:-7rem;right:-7rem;width:24rem;height:24rem;border:1px dashed color-mix(in srgb,var(--primary-color) 35%,transparent);border-radius:999px;animation:auth-spin 50s linear infinite}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;width:.55rem;height:.55rem;border-radius:999px;background:var(--primary-color)}.auth-orbit:before{top:2.5rem;left:4rem}.auth-orbit:after{right:3.5rem;bottom:4.5rem;opacity:.55}.auth-scene{position:relative;z-index:1;width:min(23rem,100%);padding:1.15rem;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow-2);animation:auth-float 8s ease-in-out infinite}.auth-scene-head{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--text)}.auth-scene-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 18%,transparent)}.auth-scene-state{margin-left:auto;padding:.18rem .55rem;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:.68rem}.auth-scene-place{display:flex;gap:.6rem;margin-top:1rem;padding:.8rem;border-radius:var(--radius-medium);background:var(--surface-2);color:var(--primary-color)}.auth-scene-place p{font-size:.82rem;font-weight:600;color:var(--text)}.auth-scene-place span{display:block;margin-top:.15rem;font-size:.72rem;line-height:1.5;color:var(--text-muted)}.auth-scene-bar{height:.42rem;margin-top:1rem;overflow:hidden;border-radius:999px;background:var(--surface-3)}.auth-scene-bar span{display:block;width:72%;height:100%;border-radius:inherit;background:var(--primary-color)}.auth-scene-foot{display:flex;gap:.4rem;margin-top:.9rem;font-size:.7rem;color:var(--text-muted)}.auth-scene-foot span{padding:.28rem .55rem;border:1px solid var(--border);border-radius:999px}.auth-scene-foot .auth-scene-pill{margin-left:auto;border-color:transparent;background:var(--primary-soft);color:var(--primary-color)}.auth-aside-title{position:relative;z-index:1;margin-top:2.5rem;max-width:24rem;font-family:"Source Serif 4",Plus Jakarta Sans,serif;font-size:1.7rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text)}.auth-aside-text{position:relative;z-index:1;max-width:23rem;margin-top:.75rem;font-size:.9rem;line-height:1.7;color:var(--text-muted)}.auth-points{position:relative;z-index:1;display:grid;gap:.9rem;margin-top:1.75rem;max-width:24rem}.auth-points li{display:flex;gap:.7rem;padding-top:.9rem;border-top:1px solid var(--border);font-size:.86rem;line-height:1.6;color:var(--text-muted)}.auth-points svg{margin-top:.15rem;color:var(--primary-color)}.auth-points strong{color:var(--text)}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes auth-spin{to{transform:rotate(360deg)}}.register-shell{display:grid;gap:2.5rem;width:100%;max-width:1180px;margin-inline:auto;padding:3rem 1.25rem 4rem}@media (min-width: 1024px){.register-shell{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:4rem;padding-inline:2rem}}.register-intro{align-self:start}@media (min-width: 1024px){.register-intro{position:sticky;top:6rem}}.register-title{margin-top:.9rem;max-width:28rem;font-family:"Source Serif 4",Plus Jakarta Sans,serif;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:600;line-height:1.12;letter-spacing:-.02em;color:var(--text);text-wrap:balance}.register-lede{max-width:26rem;margin-top:.9rem;font-size:.98rem;line-height:1.7;color:var(--text-muted)}.register-steps{display:grid;gap:.85rem;max-width:26rem;margin-top:2rem}.register-steps li{display:flex;gap:.8rem;padding-top:.85rem;border-top:1px solid var(--border)}.register-step-icon,.register-section-icon{display:grid;flex:none;place-items:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);color:var(--primary-color)}.register-step-icon svg{width:1.1rem;height:1.1rem}.register-steps strong{display:block;font-size:.9rem;color:var(--text)}.register-steps span:not(.register-step-icon){display:block;margin-top:.12rem;font-size:.8rem;line-height:1.55;color:var(--text-muted)}.register-note{display:flex;gap:.55rem;max-width:25rem;margin-top:1.75rem;padding:.85rem .9rem;border-radius:var(--radius-medium);background:var(--surface-2);font-size:.78rem;line-height:1.6;color:var(--text-muted)}.register-note svg{flex:none;width:1rem;height:1rem;margin-top:.1rem;color:var(--primary-color)}.register-form-wrap{min-width:0}.register-form{display:grid;gap:1.5rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow-1)}@media (min-width: 640px){.register-form{padding:2rem}}.register-section{display:grid;gap:1rem;min-width:0;margin:0;padding:0 0 1.5rem;border:0;border-bottom:1px solid var(--border)}.register-section:last-of-type{padding-bottom:0;border-bottom:0}.register-section legend{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem;padding:0;font-size:1rem;font-weight:700;color:var(--text)}.register-section-icon{width:1.8rem;height:1.8rem}.register-section-icon svg{width:1rem;height:1rem}.register-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding-top:.25rem}@media (min-width: 640px){.sm\:btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;border-radius:var(--radius);border:1px solid transparent;min-height:2.5rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.sm\:btn:focus-visible{outline-offset:2px}.sm\:btn:disabled{opacity:.45;pointer-events:none}.showcase-copy .sm\:btn{margin-top:1.5rem}.landing-start .sm\:btn{margin-top:1.6rem}}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-y-125:hover{--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.sm\:grid-cols-\[1fr_9rem\]{grid-template-columns:1fr 9rem}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:grid-cols-\[2rem_1fr\]{grid-template-columns:2rem 1fr}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width: 768px){.md\:sticky{position:sticky}.md\:top-0{top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-screen{height:100vh}.md\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-\[11rem_minmax\(0\,1fr\)\]{grid-template-columns:11rem minmax(0,1fr)}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-center{align-items:center}.md\:gap-6{gap:1.5rem}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}.lg\:gap-14{gap:3.5rem}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,27rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,27rem) minmax(0,1fr)}}@media print{.print\:hidden{display:none}}
