@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f7f3ea;--bg-deep:#efe8da;--surface:#fffcf5e6;--surface-solid:#fffcf5;--panel:#fffcf5eb;--ink:#241b1a;--ink-soft:#4d403b;--muted:#7c6e64;--line:#4a302624;--line-strong:#4a30263d;--brand:#6a0032;--brand-deep:#4a0022;--maroon:#6a0032;--maroon-soft:#f4e2eb;--gold:#b8891f;--gold-bright:#c9a227;--gold-soft:#f0e2bd;--green:#3f6b4a;--kit:#3f6f73;--certificate:#2e5a7a;--shadow:0 24px 70px #3c23192e;--shadow-soft:0 10px 30px #3c23191f;--sans:"Manrope Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--panel-height:46dvh;--fs-2xs:clamp(10px, .5rem + .104vw, 11.5px);--fs-xs:clamp(10.5px, .563rem + .104vw, 12.5px);--fs-sm:clamp(11.5px, .625rem + .104vw, 13.5px);--fs-base:clamp(12.5px, .688rem + .104vw, 15px);--fs-md:clamp(13px, .75rem + .104vw, 16px);--fs-lg:clamp(14.5px, .844rem + .104vw, 17.5px);--fs-xl:clamp(16.5px, .906rem + .208vw, 22.5px);--fs-2xl:clamp(20.5px, 1.031rem + .417vw, 30.5px);--fs-3xl:clamp(26.5px, 1.406rem + .417vw, 38.5px);--fs-4xl:clamp(30px, 1.75rem + .313vw, 42px);--fs-5xl:clamp(40px, 2.344rem + .313vw, 52px)}[data-theme=dark]{--bg:#12100e;--bg-deep:#0c0a09;--surface:#1e1a16e6;--surface-solid:#1c1815;--panel:#181411f0;--ink:#f4ece0;--ink-soft:#d8cbbb;--muted:#a99a8b;--line:#f4ece021;--line-strong:#f4ece03d;--maroon:#b85b86;--maroon-soft:#b85b8633;--gold:#d7ae43;--gold-bright:#e0b84a;--gold-soft:#e0b84a29;--green:#7fae88;--kit:#8fc2bd;--certificate:#8fb8d4;--shadow:0 24px 70px #00000073;--shadow-soft:0 10px 30px #0000004d}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}::selection{background:var(--gold-soft);color:var(--ink)}.app-shell{background:var(--bg);width:100vw;height:100dvh;color:var(--ink);position:relative;overflow:hidden}.map-shell{background:var(--bg);position:absolute;inset:0;overflow:hidden}.map-loading{background:radial-gradient(circle at 50% 42%, var(--surface) 0%, var(--bg) 70%)}.map-shell>.map-canvas{z-index:0;position:absolute;inset:0}.map-canvas canvas{outline:none}.map-texture{--map-texture-x:50%;--map-texture-y:40%;--map-texture-mask-y:42%;z-index:1;pointer-events:none;background-image:linear-gradient(#4d302309 1px, transparent 1px), linear-gradient(90deg, #4d302309 1px, transparent 1px), radial-gradient(circle at var(--map-texture-x) var(--map-texture-y), transparent 42%, #35201829 100%);-webkit-mask-image:radial-gradient(circle at var(--map-texture-x) var(--map-texture-mask-y), black 0%, black 55%, transparent 100%);-webkit-mask-image:radial-gradient(circle at var(--map-texture-x) var(--map-texture-mask-y), black 0%, black 55%, transparent 100%);-webkit-mask-image:radial-gradient(circle at var(--map-texture-x) var(--map-texture-mask-y), black 0%, black 55%, transparent 100%);mask-image:radial-gradient(circle at var(--map-texture-x) var(--map-texture-mask-y), black 0%, black 55%, transparent 100%);opacity:.55;mix-blend-mode:multiply;background-size:52px 52px,52px 52px,100% 100%;position:absolute;inset:0}[data-theme=dark] .map-texture{background-image:linear-gradient(#ffeed609 1px, transparent 1px), linear-gradient(90deg, #ffeed609 1px, transparent 1px), radial-gradient(circle at var(--map-texture-x) var(--map-texture-y), transparent 42%, #00000080 100%);mix-blend-mode:normal}.firefly-canvas{z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.8;width:100%;height:100%;animation:1.4s both firefly-in;position:absolute;inset:0}@keyframes firefly-in{0%{opacity:0}to{opacity:.8}}@media (prefers-reduced-motion:reduce){.firefly-canvas{animation:none}}.focus-blur{--focus-blur-x:52%;--focus-blur-y:47%;z-index:2;pointer-events:none;background:radial-gradient(ellipse 72% 62% at var(--focus-blur-x) var(--focus-blur-y), transparent 36%, #20140f09 76%, #140c0a17 100%);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-mask-image:radial-gradient(ellipse 64% 56% at var(--focus-blur-x) var(--focus-blur-y), transparent 34%, black 82%);-webkit-mask-image:radial-gradient(ellipse 64% 56% at var(--focus-blur-x) var(--focus-blur-y), transparent 34%, black 82%);-webkit-mask-image:radial-gradient(ellipse 64% 56% at var(--focus-blur-x) var(--focus-blur-y), transparent 34%, black 82%);-webkit-mask-image:radial-gradient(ellipse 64% 56% at var(--focus-blur-x) var(--focus-blur-y), transparent 34%, black 82%);mask-image:radial-gradient(ellipse 64% 56% at var(--focus-blur-x) var(--focus-blur-y), transparent 34%, black 82%);position:absolute;inset:0}.map-overlay{z-index:3;pointer-events:none;position:absolute;inset:0}.route-svg{pointer-events:none;z-index:15;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-svg-casing{stroke:var(--surface-solid);stroke-width:7px;stroke-linecap:round;opacity:.92}.route-svg-line{stroke:var(--gold);stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:7 6;filter:drop-shadow(0 2px 3px #32191433)}[data-theme=dark] .route-svg-line{stroke:var(--gold-bright)}.route-svg-end{fill:var(--gold-bright);stroke:var(--surface-solid);stroke-width:2px}.map-loading{z-index:4;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:var(--fs-base);letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:22px 28px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-loading-mark{background-color:#0000;background-image:url(/siteicon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;width:56px;height:56px}[data-theme=dark] .map-loading-mark{background-image:url(/siteicon-white.svg)}.building-label{z-index:7;color:var(--maroon);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffcf5d1;border:1px solid #6a00322e;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:750;line-height:1.2;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 6px #321e161a}[data-theme=dark] .building-label{color:var(--gold-bright);background:#181411d1;border-color:#e0b84a3d}.building-label.is-editable{pointer-events:auto;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.building-label.is-editable:hover,.building-label.is-editable:focus-visible{border-color:var(--brand);background:var(--maroon-soft);color:var(--brand);transform:translate(-50%,-50%)scale(1.04)}[data-theme=dark] .building-label.is-editable:hover,[data-theme=dark] .building-label.is-editable:focus-visible{border-color:var(--maroon);color:#f4ece0;background:#b85b862e}.building-label.is-selected,.building-label.is-selected:hover{border-color:var(--brand);background:var(--brand);color:#fff8ec;transform:translate(-50%,-50%)scale(1.06);box-shadow:0 4px 14px #6a00324d}[data-theme=dark] .building-label.is-selected,[data-theme=dark] .building-label.is-selected:hover{border-color:var(--maroon);background:var(--maroon);color:#241b1a;box-shadow:0 4px 14px #0006}.poi-pin{z-index:10;transform-origin:50% 100%;background:var(--pin-color,var(--brand));color:#fff8ec;pointer-events:auto;touch-action:manipulation;border:2px solid #fffcf5f2;border-radius:50% 50% 50% 5px;place-items:center;width:36px;height:36px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,opacity .18s;display:grid;position:absolute;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 8px 20px #28161152,inset 0 1px #ffffff38}.poi-pin.is-editable{touch-action:none}.poi-pin:hover,.poi-pin:focus-visible{z-index:14;transform:translate(-50%,-100%)rotate(-45deg)scale(1.08)}.poi-pin.is-selected{z-index:16;border-color:var(--gold-bright);transform:translate(-50%,-100%)rotate(-45deg)scale(1.14);box-shadow:0 0 0 4px #c9a22747,0 14px 28px #28161161}.poi-pin.is-editable{cursor:grab}.poi-pin.is-dragging{cursor:grabbing;z-index:20;transform:translate(-50%,-100%)rotate(-45deg)scale(1.2)}.pin-icon{place-items:center;display:grid;transform:rotate(45deg)}.pin-label{color:#fff8ec;font-size:var(--fs-xs);letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;background:#1c1412e6;border-radius:5px;flex-direction:column;align-items:center;gap:5px;padding:6px 10px;font-weight:700;line-height:1.15;transition:opacity .16s;display:flex;position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 4px 12px #00000038}.pin-label small{color:#fff8ecad;font-size:var(--fs-2xs);letter-spacing:0;font-weight:600;line-height:1.25}.poi-pin:hover .pin-label,.poi-pin:focus-visible .pin-label,.poi-pin.is-selected .pin-label{opacity:1}.pin-featured{background:var(--gold-bright);border:1.5px solid #fff8ec;border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:-4px}.pin-roof-stem{z-index:8;border-left:1px dashed var(--brand);width:1px;position:absolute;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.pin-roof-stem{border-left:1px dashed color-mix(in srgb, var(--brand) 55%, transparent)}}.pin-roof-stem{pointer-events:none}.pin-ground-dot{z-index:9;border:1.5px solid var(--surface-solid);background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 3px var(--brand);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.pin-ground-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}}.pin-ground-dot{pointer-events:none}[data-theme=dark] .pin-roof-stem{border-left-color:var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .pin-roof-stem{border-left-color:color-mix(in srgb, var(--gold-bright) 60%, transparent)}}[data-theme=dark] .pin-ground-dot{background:var(--gold-bright);box-shadow:0 0 0 3px var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .pin-ground-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-bright) 18%, transparent)}}.boundary-handle{z-index:25;border:2px solid var(--surface-solid);background:var(--gold-bright);color:#2a1d11;width:20px;height:20px;font-size:var(--fs-2xs);pointer-events:auto;cursor:grab;touch-action:none;box-shadow:0 0 0 3px var(--gold-bright), 0 4px 10px #28161147;border-radius:50%;place-items:center;font-weight:900;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.boundary-handle{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-bright) 28%, transparent), 0 4px 10px #28161147}}.boundary-handle:hover,.boundary-handle.is-dragging{z-index:26;cursor:grabbing;background:var(--brand);color:var(--gold-soft);transform:translate(-50%,-50%)scale(1.18)}[data-theme=dark] .boundary-handle:hover,[data-theme=dark] .boundary-handle.is-dragging{color:var(--gold-bright)}.user-location{z-index:18;pointer-events:none;width:50px;height:68px;position:absolute;transform:translate(-50%,-90%)}.user-outside-badge{border:1px solid var(--gold);padding:4px 8px;position:absolute;top:-27px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.user-outside-badge{border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line))}}.user-outside-badge{background:var(--surface-solid);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.user-outside-badge{background:color-mix(in srgb, var(--surface-solid) 90%, var(--gold))}}.user-outside-badge{color:var(--maroon);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:800;line-height:1;box-shadow:0 4px 14px #3f2b1429}[data-theme=dark] .user-outside-badge{background:var(--surface-solid)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .user-outside-badge{background:color-mix(in srgb, var(--surface-solid) 88%, var(--gold))}}[data-theme=dark] .user-outside-badge{color:var(--gold-bright)}.user-location.is-outside .user-pulse{background:#c9a2273d}.user-character{filter:drop-shadow(0 2px 3px #1e140f29);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.user-shadow{fill:#1e120e29}.user-pulse{background:#3f6b4a2e;border-radius:50%;width:28px;height:9px;animation:2.6s ease-out infinite user-pulse;position:absolute;bottom:1px;left:calc(50% - 14px)}@media (width<=600px){.user-location{width:42px;height:58px}.user-pulse{width:22px;height:7px;left:calc(50% - 11px)}.user-outside-badge{padding:3px 6px;font-size:8px;top:-23px}}.char-body,.char-head{fill:#fcfaf4;stroke:#161616;stroke-width:2.4px;stroke-linejoin:round}.char-leg path{fill:#fcfaf4;stroke:#161616;stroke-width:2.2px;stroke-linejoin:round}.char-hat{fill:#161616}.char-hat-band{fill:#303030}.char-hat-shine{fill:none;stroke:#ffffff38;stroke-width:1.6px;stroke-linecap:round}.char-backpack{fill:#7a5230;stroke:#161616;stroke-width:2.2px;stroke-linejoin:round}.char-nose{fill:#fcfaf4;stroke:#161616;stroke-width:1.8px;stroke-linejoin:round}.char-side-mirror{transform-box:view-box;transform-origin:24px 0}.user-location.is-left .char-side-mirror{transform:scaleX(-1)}.char-eye{fill:#161616}.char-eye-glint{fill:#fff}.char-mouth{fill:none;stroke:#161616;stroke-width:1.4px;stroke-linecap:round}.char-bob,.char-leg,.char-arm{transform-box:view-box}.char-bob{transform-origin:24px 58px}.char-leg-left{transform-origin:21.1px 45.5px}.char-leg-right{transform-origin:26.9px 45.5px}.char-arm-left{transform-origin:16px 28px}.char-arm-right{transform-origin:32px 28px}.user-location.is-idle .char-bob{animation:3.4s ease-in-out infinite char-idle}.user-location.is-walking .char-bob{animation:.5s ease-in-out infinite char-walk-bob}.user-location.is-walking .char-leg-left{animation:.5s ease-in-out infinite char-leg-left}.user-location.is-walking .char-leg-right{animation:.5s ease-in-out infinite char-leg-right}.user-location.is-walking .char-arm-left{animation:.5s ease-in-out infinite char-arm-left}.user-location.is-walking .char-arm-right{animation:.5s ease-in-out infinite char-arm-right}.tree-marker{z-index:4;cursor:grab;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-100%)}.tree-marker:before{content:"";pointer-events:inherit;border:1px solid #0000;border-radius:50%;transition:border-color .15s,background .15s;position:absolute;inset:-8px}.tree-marker:hover:before{background:#4c7a4f12;border-color:#4c7a4f73}.tree-marker.is-selected:before{border-color:var(--gold-bright);background:var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){.tree-marker.is-selected:before{background:color-mix(in srgb, var(--gold-bright) 12%, transparent)}}.tree-marker.is-selected:before{box-shadow:0 0 0 3px var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){.tree-marker.is-selected:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-bright) 18%, transparent)}}.tree-marker.is-selected{z-index:6}.tree-marker.is-selected .tree-glyph{filter:drop-shadow(0 2px 3px #1e140f2e)drop-shadow(0 0 5px #c9a227a6)}.tree-marker.is-dragging{z-index:9;cursor:grabbing}.tree-marker:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:6px}.tree-ground{background:#1e120e2b;border-radius:50%;width:62%;height:11%;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.tree-glyph{filter:drop-shadow(0 2px 3px #1e140f2e);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tree-trunk{fill:#7a5230;stroke:#161616;stroke-width:1.2px;stroke-linejoin:round}.tree-canopy{stroke:#161616;stroke-width:1.4px;stroke-linejoin:round}.tree-canopy-back{fill:#3f6b4a}.tree-canopy-front{fill:#5b8f4e}.tree-marker.is-selected .tree-canopy{stroke:var(--gold-bright)}.tree-shine{fill:none;stroke:#ffffff40;stroke-width:1.2px;stroke-linecap:round}.tree-grip{border:1px solid var(--line-strong);background:var(--surface-solid);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:13px;height:13px;transition:opacity .15s;display:grid;position:absolute;bottom:1px;right:-2px;box-shadow:0 1px 4px #0000002e}.tree-marker:hover .tree-grip,.tree-marker.is-selected .tree-grip{opacity:1}.tree-grip svg{width:8px;height:8px;fill:var(--muted)}.gate-marker{z-index:6;cursor:grab;pointer-events:auto;filter:drop-shadow(0 2px 3px #1e140f2e);background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-100%)}.gate-marker.is-selected{z-index:8}.gate-marker.is-dragging{z-index:19;cursor:grabbing}.gate-marker:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:5px}.gate-shadow{filter:blur(1px);background:#1e120e3d;border-radius:50%;height:11%;position:absolute;bottom:-3%;left:3%;right:3%}.gate-pillar{z-index:2;background:linear-gradient(90deg,#b1a086 0%,#fdf7ea 38%,#efe2cc 60%,#ae9c82 100%);border:2px solid #161616;border-radius:7px 7px 4px 4px;width:15%;height:88%;position:absolute;bottom:3%;box-shadow:inset 0 0 0 2px #ffffff57,inset -4px 0 6px #0000001f}.gate-pillar-left{left:0}.gate-pillar-right{right:0}.gate-base{z-index:4;background:linear-gradient(#8c1a47,#5b0029);border:2px solid #161616;border-radius:4px;width:19%;height:8%;position:absolute;bottom:1%;box-shadow:0 2px 4px #140a0840}.gate-base-left{left:-2%}.gate-base-right{right:-2%}.gate-cap{background:linear-gradient(180deg, #ffe9a8, var(--gold));z-index:4;border:2px solid #161616;border-radius:4px;width:17.5%;height:3.8%;position:absolute;top:22%}.gate-cap-left{left:-1.25%}.gate-cap-right{right:-1.25%}.gate-doors{border:2px solid #161616;border-top:3px solid var(--gold-bright);opacity:.92;z-index:1;background:repeating-linear-gradient(90deg,#4d3a29 0 3px,#0000 3px 9px),linear-gradient(#6a00322e,#17100c1f);border-radius:48% 48% 0 0/18% 18% 0 0;position:absolute;inset:26% 14% 8%;overflow:hidden}.gate-doors:before{content:"";background:#161616;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gate-doors:after{content:"";background:linear-gradient(90deg, var(--gold), #ffefb0, var(--gold));height:3px;position:absolute;top:54%;left:0;right:0}.gate-top{height:25%;box-shadow:inset 0 -3px 0 var(--gold-bright), inset 0 2px 0 #ffffff2e, 0 4px 10px #140a083d;z-index:3;background:linear-gradient(#8c1248 0%,#63002f 55%,#43001f 100%);border:2px solid #161616;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 2%;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.gate-crest{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #fff0b8, var(--gold));border:1.5px solid #161616;border-radius:50%;flex:none;width:9%;box-shadow:inset 0 0 0 1.5px #ffffff47}.gate-sign{color:#fff8ec;letter-spacing:.1em;text-overflow:ellipsis;text-shadow:0 1px 2px #140a0873;text-transform:uppercase;white-space:nowrap;max-width:100%;font-weight:800;line-height:1;overflow:hidden}.gate-finial{background:radial-gradient(circle at 35% 28%, #fff0b8, var(--gold));z-index:5;border:2px solid #161616;border-radius:50% 50% 22% 22%;width:8%;height:9%;position:absolute;top:-5%}.gate-finial-left{left:1.5%}.gate-finial-right{right:1.5%}.gate-marker.is-selected .gate-top,.gate-marker.is-selected .gate-pillar,.gate-marker.is-selected .gate-base{box-shadow:0 0 0 3px var(--gold-bright), inset 0 0 0 2px #ffffff4d}@supports (color:color-mix(in lab, red, red)){.gate-marker.is-selected .gate-top,.gate-marker.is-selected .gate-pillar,.gate-marker.is-selected .gate-base{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-bright) 82%, transparent), inset 0 0 0 2px #ffffff4d}}.gate-grip{border:1px solid var(--line-strong);background:var(--surface-solid);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:15px;height:15px;transition:opacity .15s;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 1px 4px #0000002e}.gate-marker:hover .gate-grip,.gate-marker.is-selected .gate-grip{opacity:1}.gate-grip svg{width:9px;height:9px;fill:var(--muted)}.chair-marker{z-index:5;width:22px;height:26px;color:inherit;cursor:default;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-100%)}.chair-marker.is-editable{cursor:grab}.chair-marker.is-dragging{z-index:17;cursor:grabbing;transform:translate(-50%,-100%)scale(1.08)}.chair-marker.is-selected{z-index:6}.chair-marker.is-placement{opacity:.35}.chair-marker:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:6px}.chair-ground{background:#1e120e2e;border-radius:50%;width:19px;height:5px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.chair-glyph{filter:drop-shadow(0 2px 3px #1e140f2e);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.chair-back{fill:#fcfaf4;stroke:#161616;stroke-width:1.9px;stroke-linejoin:round}.chair-seat{fill:var(--chair-color,var(--brand));stroke:#161616;stroke-width:1.9px;stroke-linejoin:round}.chair-leg{fill:none;stroke:#161616;stroke-width:1.8px;stroke-linecap:round}.chair-cushion{fill:none;stroke:var(--chair-color,var(--brand))}@supports (color:color-mix(in lab, red, red)){.chair-cushion{stroke:color-mix(in srgb, var(--chair-color,var(--brand)) 55%, #161616)}}.chair-cushion{stroke-width:1.2px;stroke-linecap:round}.chair-marker.is-selected .chair-back{stroke:var(--gold-bright)}.chair-marker.is-selected .chair-seat{fill:var(--chair-color,var(--brand))}.chair-grip{border:1px solid var(--line-strong);background:var(--surface-solid);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:13px;height:13px;transition:opacity .15s;display:grid;position:absolute;bottom:1px;right:-6px;box-shadow:0 1px 4px #0000002e}.chair-marker:hover .chair-grip,.chair-marker.is-selected .chair-grip{opacity:1}.chair-grip svg{width:8px;height:8px;fill:var(--muted)}.chair-grid-handle{z-index:17;border:1px solid var(--chair-color,var(--brand));align-items:center;gap:5px;height:25px;padding:0 8px;display:flex;position:absolute;transform:translate(-50%,-100%)}@supports (color:color-mix(in lab, red, red)){.chair-grid-handle{border:1px solid color-mix(in srgb, var(--chair-color,var(--brand)) 45%, var(--line))}}.chair-grid-handle{background:var(--surface-solid);color:var(--ink);font-size:var(--fs-xs);cursor:grab;pointer-events:auto;border-radius:999px;font-weight:800;box-shadow:0 4px 12px #1e140f2e}.chair-group-label{z-index:7;border:1px solid var(--chair-color,var(--brand));align-items:center;gap:5px;padding:3px 8px;display:flex;position:absolute;transform:translate(-50%,-100%)}@supports (color:color-mix(in lab, red, red)){.chair-group-label{border:1px solid color-mix(in srgb, var(--chair-color,var(--brand)) 55%, transparent)}}.chair-group-label{background:var(--surface-solid);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.chair-group-label{background:color-mix(in srgb, var(--surface-solid) 92%, transparent)}}.chair-group-label{color:var(--ink);font-size:var(--fs-2xs);letter-spacing:.02em;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:800;box-shadow:0 3px 10px #1e140f2e}.chair-group-dot{background:var(--chair-color,var(--brand));width:6px;height:6px;box-shadow:0 0 0 2px var(--chair-color,var(--brand));border-radius:50%}@supports (color:color-mix(in lab, red, red)){.chair-group-dot{box-shadow:0 0 0 2px color-mix(in srgb, var(--chair-color,var(--brand)) 20%, transparent)}}.chair-grid-handle.is-dragging{z-index:19;cursor:grabbing}.chair-grid-handle svg{color:var(--muted)}.chair-handle-dot{background:var(--chair-color,var(--brand));border:1px solid #161616;border-radius:50%;width:8px;height:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes char-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2px)}}@keyframes char-walk-bob{0%,to{transform:translateY(0)rotate(-1.2deg)}50%{transform:translateY(-2.4px)rotate(1.2deg)}}@keyframes char-leg-left{0%,to{transform:rotate(13deg)}50%{transform:rotate(-15deg)}}@keyframes char-leg-right{0%,to{transform:rotate(-15deg)}50%{transform:rotate(13deg)}}@keyframes char-arm-left{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@keyframes char-arm-right{0%,to{transform:rotate(10deg)}50%{transform:rotate(-10deg)}}@keyframes user-pulse{0%{opacity:.65;transform:scale(.45)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}.top-bar{z-index:40;pointer-events:none;justify-content:space-between;align-items:flex-start;height:74px;padding:14px 18px 0;display:flex;position:fixed;top:0;left:0;right:0}.top-bar-left,.top-bar-right{pointer-events:auto}.top-bar-right{align-items:center;gap:8px;display:flex}.brand-lockup{border:1px solid var(--line);background:var(--surface);height:46px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);border-radius:14px;align-items:center;gap:10px;padding:3px 12px 3px 3px;display:flex}.brand-mark{background-color:#0000;background-image:url(/siteicon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;flex:none;width:40px;height:40px}[data-theme=dark] .brand-mark{background-image:url(/siteicon-white.svg)}.brand-divider{background:var(--line);width:1px;height:27px}.brand-text{font-size:var(--fs-md);color:var(--ink);letter-spacing:.005em;flex-direction:column;gap:4px;font-weight:800;line-height:1.15;display:flex}.brand-text small{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;place-items:center;transition:background .16s,transform .16s,border-color .16s;display:grid}.icon-button:hover{background:var(--surface-solid);border-color:var(--line-strong);transform:translateY(-1px)}.icon-button.bordered{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex:none}.edit-button{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink);font-size:var(--fs-base);letter-spacing:.01em;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;align-items:center;gap:7px;padding:0 13px;font-weight:800;transition:background .16s,color .16s,transform .16s;display:flex}.edit-button:hover{transform:translateY(-1px)}.dashboard-button{border:1px solid var(--gold);border-radius:12px;align-items:center;gap:7px;height:40px;padding:0 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.dashboard-button{border:1px solid color-mix(in srgb, var(--gold) 32%, var(--line))}}.dashboard-button{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.dashboard-button{background:color-mix(in srgb, var(--gold-soft) 22%, var(--surface))}}.dashboard-button{color:var(--maroon);font-size:var(--fs-sm);letter-spacing:.01em;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:800;transition:background .16s,transform .16s}.dashboard-button:hover{background:var(--gold-soft);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.dashboard-button:hover{background:color-mix(in srgb, var(--gold-soft) 42%, var(--surface))}}[data-theme=dark] .dashboard-button{color:var(--gold-bright)}.edit-button.is-active{background:var(--brand);color:#fff8ec;border-color:var(--brand)}.top-bar-auth{align-items:center;gap:7px;display:flex}.login-button{border:1px solid var(--brand);background:var(--brand);color:#fff8ec;height:40px;font-size:var(--fs-base);letter-spacing:.01em;box-shadow:var(--shadow-soft);border-radius:12px;align-items:center;gap:7px;padding:0 14px;font-weight:800;transition:background .16s,transform .16s;display:flex}.login-button:hover{background:var(--brand-deep);transform:translateY(-1px)}.search-dock{z-index:35;flex-direction:column;gap:9px;width:min(620px,100vw - 20px);display:flex;position:fixed;top:82px;left:50%;transform:translate(-50%)}.search-box{border:1px solid var(--line);background:var(--surface);height:50px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px)saturate(1.2);backdrop-filter:blur(22px)saturate(1.2);border-radius:16px;align-items:center;gap:10px;padding:0 13px;transition:border-color .16s,box-shadow .16s,opacity .22s,transform .22s;display:flex}.search-box:focus-within{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.search-box:focus-within{border-color:color-mix(in srgb, var(--maroon) 38%, var(--line))}}.search-box:focus-within{box-shadow:0 0 0 3px var(--maroon), var(--shadow)}@supports (color:color-mix(in lab, red, red)){.search-box:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--maroon) 8%, transparent), var(--shadow)}}.search-box-icon{color:var(--muted);flex:none}.search-box input{min-width:0;height:100%;color:var(--ink);font-size:var(--fs-lg);background:0 0;border:0;outline:0;flex:1;font-weight:550}.search-box input::placeholder{color:var(--muted);opacity:.85}.search-clear{background:var(--line);width:26px;height:26px;color:var(--muted);border:0;border-radius:50%;place-items:center;display:grid}.search-clear:hover{background:var(--line-strong);color:var(--ink)}.search-hint{border:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-size:var(--fs-xs);opacity:.8;border-radius:5px;flex:none;padding:3px 6px;line-height:1}.explore-panel{z-index:30;height:var(--panel-height);border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(26px)saturate(1.15);backdrop-filter:blur(26px)saturate(1.15);padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;transition:height .34s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1),opacity .22s;display:flex;position:fixed;bottom:0;left:10px;right:10px;overflow:hidden;box-shadow:0 -24px 70px #301b1438}.explore-panel.is-expanded{height:min(84dvh,760px)}.explore-panel.is-closed{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}.explore-panel.is-admin{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.explore-panel.is-admin{border-color:color-mix(in srgb, var(--maroon) 26%, var(--line))}}.panel-grab{height:38px;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;flex:none;justify-content:center;align-items:flex-end;gap:6px;padding:0 48px 8px;font-weight:800;display:flex;position:relative}.panel-close{z-index:2;border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:8px;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid;position:absolute;top:7px;right:9px}.panel-close:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-solid)}.grab-bar{background:var(--line-strong);border-radius:999px;width:38px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.grab-label{line-height:1}.panel-grab svg{transition:transform .22s}.panel-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;padding:4px 16px 14px;overflow-y:auto}.panel-scroll::-webkit-scrollbar{width:6px}.panel-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.panel-section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:4px 0 12px;padding-right:34px;display:flex}.panel-eyebrow{color:var(--maroon);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:800}[data-theme=dark] .panel-eyebrow{color:var(--gold-bright)}.panel-title{color:var(--ink);font-family:var(--sans);font-size:var(--fs-3xl);letter-spacing:-.025em;margin:2px 0 0;font-weight:570;line-height:1.02}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.filter-pill{background:var(--maroon-soft);color:var(--maroon);font-size:var(--fs-xs);border-radius:6px;padding:4px 8px;font-weight:750}[data-theme=dark] .filter-pill{color:var(--gold-bright)}.filter-clear{color:var(--muted);font-size:var(--fs-xs);background:0 0;border:0;padding:4px;font-weight:750;text-decoration:underline}.poi-list-wrap{padding-bottom:4px}.poi-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.poi-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;gap:10px;padding:10px 8px;transition:background .15s,border-color .15s,transform .15s;display:flex}.poi-row:hover{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.poi-row:hover{background:color-mix(in srgb, var(--maroon) 5%, transparent)}}.poi-row.is-selected{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.poi-row.is-selected{background:color-mix(in srgb, var(--maroon) 8%, transparent)}}.poi-row.is-selected{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.poi-row.is-selected{border-color:color-mix(in srgb, var(--maroon) 18%, transparent)}}.poi-row-icon{border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.poi-row-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.poi-row-title{min-width:0;color:var(--ink);font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:780;display:flex;overflow:hidden}.featured-dot{background:var(--gold-soft);color:var(--maroon);font-size:var(--fs-2xs);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;flex:none;padding:2px 5px;font-weight:850}[data-theme=dark] .featured-dot{color:var(--gold-bright)}.poi-row-sub{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.poi-row-allocation{color:var(--brand);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:800}[data-theme=dark] .poi-row-allocation{color:var(--gold-bright)}.poi-row-meta{color:var(--ink);font-size:var(--fs-sm);flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.poi-row-meta strong{font-size:var(--fs-sm);font-weight:800}.poi-row-meta small{color:var(--muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.panel-footnote{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);text-align:center;margin:13px 0 0;padding-top:10px;line-height:1.45}.panel-attribution{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-2xs);text-align:center;margin-top:14px;padding-top:10px;line-height:1.4}.panel-open{z-index:32;border:1px solid var(--line);background:var(--surface);height:42px;color:var(--ink);font-size:var(--fs-sm);white-space:nowrap;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.panel-open:hover{background:var(--surface-solid)}.panel-open-icon{color:var(--maroon);place-items:center;display:grid}.panel-open-count{background:var(--brand);color:#fff8ec;min-width:22px;height:22px;font-size:var(--fs-2xs);border-radius:999px;place-items:center;padding:0 5px;display:grid}.route-end-pill{z-index:33;border:1px solid var(--brand);align-items:center;gap:6px;height:38px;padding:0 13px;display:flex;position:fixed;bottom:68px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.route-end-pill{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line))}}.route-end-pill{background:var(--surface);color:var(--maroon);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);border-radius:999px;font-weight:800}.route-end-pill:hover{background:var(--surface-solid)}[data-theme=dark] .route-end-pill{color:var(--gold-bright);border-color:var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .route-end-pill{border-color:color-mix(in srgb, var(--gold-bright) 42%, var(--line))}}@media (width>=900px){.route-end-pill{bottom:112px}}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.empty-state svg{color:var(--gold);margin-bottom:2px}.empty-state strong{color:var(--ink);font-family:var(--sans);font-size:var(--fs-xl);font-weight:600}.empty-state p{max-width:230px;font-size:var(--fs-sm);line-height:1.5}.primary-button,.secondary-button,.danger-button{min-height:46px;font-size:var(--fs-md);border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.primary-button{background:var(--brand);border-color:var(--brand);color:#fff8ec;box-shadow:0 10px 22px #4a002233}.primary-button:hover{background:var(--brand-deep);transform:translateY(-1px)}.primary-button.is-active{background:var(--gold-soft);border-color:var(--gold);color:var(--maroon);box-shadow:none}[data-theme=dark] .primary-button.is-active{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .primary-button.is-active{background:color-mix(in srgb, var(--gold) 20%, var(--surface-solid))}}[data-theme=dark] .primary-button.is-active{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .primary-button.is-active{border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}}[data-theme=dark] .primary-button.is-active{color:var(--gold-bright)}.secondary-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-solid)}.danger-button{color:#a33a32;background:#a33a321a;border-color:#a33a3242;min-height:40px}[data-theme=dark] .danger-button{color:#e58b84}.danger-button:hover{background:#a33a3229}.primary-button.wide,.secondary-button.wide,.danger-button.wide{width:100%}.secondary-button.compact{height:32px;min-height:32px;font-size:var(--fs-sm);border-radius:9px;flex:none;padding:0 10px}.poi-detail{padding-bottom:4px}.back-button{color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:5px;padding:5px 0 10px;font-weight:750;display:inline-flex}.back-button:hover{color:var(--ink)}.poi-hero{color:#fff8ec;border-radius:18px;flex-direction:column;justify-content:space-between;height:136px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff24,0 14px 30px #32191433}.poi-hero-grid{opacity:.5;background-image:linear-gradient(#fff8ec1f 1px,#0000 1px),linear-gradient(90deg,#fff8ec1f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 75%);mask-image:linear-gradient(135deg,#000,#0000 75%)}.poi-hero:after{content:"";border:1px solid #fff8ec33;border-radius:50%;width:150px;height:150px;position:absolute;top:-55px;right:-45px;box-shadow:0 0 0 24px #fff8ec0a}.poi-hero-icon{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff8ec29;border:1px solid #fff8ec3d;border-radius:15px;place-items:center;width:52px;height:52px;display:grid;position:relative}.poi-hero-copy{z-index:1;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:relative}.poi-hero-category{font-size:var(--fs-xs);letter-spacing:.13em;text-transform:uppercase;opacity:.85;font-weight:800}.poi-detail-head h1{color:var(--ink);font-family:var(--sans);font-size:var(--fs-4xl);letter-spacing:-.03em;margin:14px 0 10px;font-weight:570;line-height:1}.poi-detail-location{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:5px;font-weight:600;display:flex}.poi-detail-parent{color:var(--muted);font-size:var(--fs-xs);margin-top:3px;padding-left:19px;font-weight:600}.poi-attributes{gap:8px;margin-top:11px;display:flex}.poi-attribute{border:1px solid var(--line);background:var(--surface-solid);border-radius:12px;flex-direction:column;flex:1 1 0;gap:3px;min-width:0;padding:9px 11px 10px;display:flex}[data-theme=dark] .poi-attribute{background:var(--surface-solid)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .poi-attribute{background:color-mix(in srgb, var(--surface-solid) 70%, transparent)}}.poi-attribute small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.poi-attribute strong{color:var(--ink);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.1;overflow:hidden}.poi-allocation{border:1px solid var(--line);background:var(--surface-solid);border-radius:12px;margin-top:12px;padding:11px}.poi-allocation-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.poi-allocation-head .panel-eyebrow{margin:0}.poi-allocation-head>span{color:var(--muted);font-size:var(--fs-2xs);font-weight:750}.poi-allocation-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.poi-allocation-list li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 8px;padding:9px 0;display:grid}.poi-allocation-list li:first-child{border-top:0;padding-top:0}.poi-allocation-room{min-width:44px;color:var(--ink);font-size:var(--fs-sm);grid-area:1/1/span 2;font-weight:800;line-height:1.35}.poi-allocation-mode{background:var(--brand);border-radius:999px;grid-area:1/2;justify-self:start;padding:2px 6px}@supports (color:color-mix(in lab, red, red)){.poi-allocation-mode{background:color-mix(in srgb, var(--brand) 10%, transparent)}}.poi-allocation-mode{color:var(--brand);font-size:var(--fs-2xs);letter-spacing:.04em;white-space:nowrap;font-weight:800;line-height:1.4}[data-theme=dark] .poi-allocation-mode{color:var(--gold-bright);background:var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .poi-allocation-mode{background:color-mix(in srgb, var(--gold-bright) 16%, transparent)}}.poi-allocation-copy{min-width:0;color:var(--ink-soft);font-size:var(--fs-xs);flex-direction:column;grid-area:2/2;gap:2px;font-weight:600;line-height:1.4;display:flex}.poi-allocation-copy small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;margin-right:4px;font-weight:800}.poi-allocation-departments{color:var(--ink);font-weight:700}.status-banner{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-size:var(--fs-sm);border-radius:10px;align-items:center;gap:7px;margin:12px 0;padding:8px 10px;font-weight:750;display:flex}.status-open{background:#3f6b4a;border-color:#3f6b4a3d}@supports (color:color-mix(in lab, red, red)){.status-open{background:color-mix(in srgb, #3f6b4a 8%, var(--surface))}}.status-closed{background:#a33a32;border-color:#a33a323d}@supports (color:color-mix(in lab, red, red)){.status-closed{background:color-mix(in srgb, #a33a32 8%, var(--surface))}}.status-dot{background:#3f8a57;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #3f8a5729}.status-closed .status-dot{background:#a33a32;box-shadow:0 0 0 3px #a33a3224}.status-hours{color:var(--muted);font-size:var(--fs-xs);margin-left:auto;font-weight:600}.distance-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex;box-shadow:0 8px 20px #3c23190f}.distance-main{flex-direction:column;gap:3px;display:flex}.distance-value{color:var(--ink);font-family:var(--sans);font-size:var(--fs-5xl);letter-spacing:-.03em;font-weight:600;line-height:.95}.distance-meta{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.bearing-arrow{background:var(--brand);width:42px;height:42px;color:var(--gold-soft);border-radius:50%;flex:none;place-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:grid;box-shadow:0 8px 18px #4a002238}[data-theme=dark] .bearing-arrow{color:var(--gold-bright)}.distance-empty{width:100%;color:var(--muted);align-items:center;gap:10px;display:flex}.distance-empty svg{color:var(--maroon);flex:none}.distance-empty div{flex-direction:column;gap:2px;min-width:0;display:flex}.distance-empty strong{color:var(--ink);font-size:var(--fs-base)}.distance-empty span{font-size:var(--fs-xs)}.distance-empty .secondary-button{margin-left:auto}.poi-description{color:var(--ink-soft);font-size:var(--fs-base);margin:13px 0;line-height:1.58}.detail-actions{gap:7px;margin:13px 0 0;display:flex}.detail-actions .primary-button{flex:1}.detail-actions .icon-button.bordered{border-radius:13px;width:46px;height:46px}.route-banner{border:1px solid var(--gold);border-radius:9px;align-items:center;gap:8px;margin-top:9px;padding:8px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.route-banner{border:1px solid color-mix(in srgb, var(--gold) 28%, transparent)}}.route-banner{background:var(--gold-soft);color:var(--maroon);font-size:var(--fs-xs);font-weight:750}[data-theme=dark] .route-banner{color:var(--gold-bright)}.route-line-icon{border-top:2px dashed;flex:none;width:22px}.detail-meta{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-2xs);text-align:center;justify-content:center;align-items:center;gap:10px;margin-top:15px;padding-top:10px;line-height:1.4;display:flex}.detail-meta span{align-items:center;gap:4px;display:flex}.admin-head{margin-bottom:10px}.admin-sub{color:var(--muted);font-size:var(--fs-sm);margin:5px 0 0;line-height:1.5}.admin-tabs{border:1px solid var(--line);background:var(--maroon);border-radius:12px;flex-wrap:wrap;gap:3px;margin:10px 0 12px;padding:4px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-tabs{background:color-mix(in srgb, var(--maroon) 4%, transparent)}}.admin-tab{height:34px;color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:calc(50% - 4px);justify-content:center;align-items:center;gap:5px;font-weight:800;display:flex}.admin-tab.is-active{background:var(--surface-solid);color:var(--maroon);box-shadow:0 2px 8px #3c23191a}[data-theme=dark] .admin-tab.is-active{color:var(--gold-bright)}.admin-section{flex-direction:column;gap:9px;display:flex}.decoration-section{gap:14px}.decoration-head{margin-bottom:0}.decoration-cards{flex-direction:column;gap:8px;display:flex}.decoration-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;border-radius:14px;align-items:center;gap:10px;padding:14px;transition:border-color .15s,background .15s,transform .15s;display:flex;box-shadow:0 3px 12px #321e160d}.decoration-card:hover{border-color:var(--brand);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.decoration-card:hover{border-color:color-mix(in srgb, var(--brand) 28%, var(--line))}}.decoration-card:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.decoration-card:hover{background:color-mix(in srgb, var(--brand) 4%, var(--surface))}}.decoration-card-icon{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.decoration-card-icon.is-seating{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.decoration-card-icon.is-seating{background:color-mix(in srgb, var(--brand) 10%, transparent)}}.decoration-card-icon.is-seating{color:var(--brand)}.decoration-card-icon.is-trees{color:#4c7a4f;background:#4c7a4f21}.decoration-card-icon.is-gate{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.decoration-card-icon.is-gate{background:color-mix(in srgb, var(--gold) 18%, transparent)}}.decoration-card-icon.is-gate{color:var(--maroon)}[data-theme=dark] .decoration-card-icon.is-gate{color:var(--gold-bright)}.decoration-card-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.decoration-card-copy strong{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:750}.decoration-card-copy small{color:var(--muted);font-size:var(--fs-xs);font-weight:550;line-height:1.4}.decoration-card-meta{flex-direction:column;flex:none;align-items:flex-end;gap:0;display:flex}.decoration-card-meta strong{color:var(--ink);font-size:var(--fs-lg);font-weight:750;line-height:1}.decoration-card-meta small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-weight:700}.decoration-card>svg{color:var(--muted);flex:none}.admin-subpage-back{color:var(--muted);font-size:var(--fs-xs);background:0 0;border:0;align-self:flex-start;align-items:center;gap:5px;margin:0 0 2px;padding:0;font-weight:750;display:flex}.admin-subpage-back:hover{color:var(--ink)}.admin-hint{color:var(--muted);font-size:var(--fs-xs);align-items:flex-start;gap:5px;margin:0;line-height:1.45;display:flex}.admin-hint.mono{font-family:var(--sans);font-size:var(--fs-2xs)}.admin-live-button{margin-top:7px}.admin-list{border:1px solid var(--line);background:var(--maroon);border-radius:12px;max-height:188px;padding:4px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.admin-list{background:color-mix(in srgb, var(--maroon) 3%, transparent)}}.admin-list{scrollbar-width:thin;flex-direction:column;gap:2px;display:flex}.admin-building-list{max-height:210px}.admin-attached-building{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;align-items:center;gap:5px;padding:7px 9px;display:flex}.admin-attached-building svg{color:var(--brand);flex:none}.admin-attached-building strong{color:var(--ink)}.admin-hidden-buildings{margin-top:5px}.admin-hidden-buildings summary{color:var(--muted);font-size:var(--fs-xs);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 6px;font-weight:700}.admin-hidden-buildings .admin-list{max-height:140px;margin-top:4px}.admin-list-row{color:var(--ink);text-align:left;font-size:var(--fs-sm);background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:9px;font-weight:650;display:flex}.admin-list-row span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-list-row .admin-list-icon{flex:none;place-items:center;display:grid}.admin-list-row small{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;font-weight:600}.admin-list-row:hover{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.admin-list-row:hover{background:color-mix(in srgb, var(--maroon) 6%, transparent)}}.admin-list-row.is-selected{background:var(--brand);color:#fff8ec}.admin-list-row.is-selected small{color:#fff8eca6}.boundary-card{border:1px solid var(--gold);flex-direction:column;gap:9px;padding:11px;display:flex}@supports (color:color-mix(in lab, red, red)){.boundary-card{border:1px solid color-mix(in srgb, var(--gold) 26%, var(--line))}}.boundary-card{background:var(--gold-soft);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.boundary-card{background:color-mix(in srgb, var(--gold-soft) 34%, var(--surface))}}.boundary-card h3{color:var(--ink);font-family:var(--sans);font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:600}.boundary-card p{color:var(--muted);font-size:var(--fs-xs);margin:3px 0 0;line-height:1.45}.boundary-actions{gap:6px;display:flex}.boundary-actions .primary-button,.boundary-actions .secondary-button{flex:1}.primary-button.compact{height:32px;min-height:32px;font-size:var(--fs-xs);border-radius:8px;padding:0 9px}.admin-form{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:9px;padding:11px;display:flex}.admin-form .admin-toggle{border:1px solid var(--line);background:var(--gold-soft);border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-form .admin-toggle{background:color-mix(in srgb, var(--gold-soft) 20%, var(--surface-solid))}}.admin-form .admin-toggle{cursor:pointer;transition:border-color .16s,background .16s}.admin-form .admin-toggle:hover{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.admin-form .admin-toggle:hover{border-color:color-mix(in srgb, var(--maroon) 22%, var(--line))}}.admin-form .admin-toggle:hover{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.admin-form .admin-toggle:hover{background:color-mix(in srgb, var(--gold-soft) 30%, var(--surface-solid))}}.admin-toggle-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-toggle-copy strong{color:var(--ink);font-size:var(--fs-base);letter-spacing:0;text-transform:none;font-weight:750}.admin-toggle-copy small{color:var(--muted);font-size:var(--fs-xs);letter-spacing:0;text-transform:none;font-weight:550;line-height:1.35}.admin-switch{flex:none;width:40px;height:23px;display:inline-flex;position:relative}.admin-form .admin-toggle .admin-switch input{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.admin-switch-track{background:var(--line-strong);border-radius:999px;width:40px;height:23px;transition:background .16s;display:block;position:relative}.admin-switch-thumb{background:#fff8ec;border-radius:50%;width:17px;height:17px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #28140f47}.admin-switch input:checked+.admin-switch-track{background:var(--brand)}.admin-switch input:checked+.admin-switch-track .admin-switch-thumb{transform:translate(17px)}.admin-switch input:focus-visible+.admin-switch-track{outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.admin-switch input:focus-visible+.admin-switch-track{outline:2px solid color-mix(in srgb, var(--maroon) 45%, transparent)}}.admin-switch input:focus-visible+.admin-switch-track{outline-offset:2px}[data-theme=dark] .admin-form .admin-toggle{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .admin-form .admin-toggle{background:color-mix(in srgb, var(--gold-soft) 8%, var(--surface-solid))}}[data-theme=dark] .admin-switch input:checked+.admin-switch-track{background:var(--gold-bright)}.admin-form label,.admin-coordinates label,.seat-controls label,.greenery-controls label,.seat-group-field,.gate-panel label{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;font-weight:800;display:flex}.admin-form input,.admin-form select,.admin-form textarea,.admin-coordinates input,.seat-controls input,.greenery-controls input,.seat-group-field input,.gate-panel input{border:1px solid var(--line);background:var(--surface-solid);width:100%;color:var(--ink);font-size:var(--fs-base);letter-spacing:0;text-transform:none;resize:vertical;border-radius:8px;padding:9px 10px;font-weight:550}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-coordinates input:focus,.seat-controls input:focus,.greenery-controls input:focus,.seat-group-field input:focus,.gate-panel input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--maroon);outline:0}@supports (color:color-mix(in lab, red, red)){.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-coordinates input:focus,.seat-controls input:focus,.greenery-controls input:focus,.seat-group-field input:focus,.gate-panel input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--maroon) 10%, transparent)}}.admin-coordinates{grid-template-columns:1fr 1fr;gap:9px;display:grid}.collection-allocation-editor{border-top:1px solid var(--line);flex-direction:column;gap:9px;padding-top:10px;display:flex}.collection-allocation-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.collection-allocation-head .admin-hint{margin:2px 0 0}.collection-allocation-status{align-items:center;gap:6px;margin:0;display:flex}.collection-allocation-status.is-error{border:1px solid #a33a32;justify-content:space-between;padding:8px 9px}@supports (color:color-mix(in lab, red, red)){.collection-allocation-status.is-error{border:1px solid color-mix(in srgb, #a33a32 28%, var(--line))}}.collection-allocation-status.is-error{color:#a33a32;font-size:var(--fs-xs);border-radius:9px;font-weight:650}.collection-allocation-status.is-error>span{align-items:center;gap:5px;min-width:0;display:flex}.collection-allocation-empty{margin:0}.collection-allocation-list{flex-direction:column;gap:10px;display:flex}.collection-allocation-row{border:1px solid var(--line);background:var(--brand);border-radius:10px;flex-direction:column;gap:9px;padding:10px;display:flex}@supports (color:color-mix(in lab, red, red)){.collection-allocation-row{background:color-mix(in srgb, var(--brand) 3%, var(--surface-solid))}}.collection-allocation-row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.collection-allocation-row-head strong{color:var(--ink-soft);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.collection-allocation-row-head .icon-button{color:var(--muted)}.collection-allocation-row-head .icon-button:hover{border-color:#a33a32}@supports (color:color-mix(in lab, red, red)){.collection-allocation-row-head .icon-button:hover{border-color:color-mix(in srgb, #a33a32 40%, var(--line))}}.collection-allocation-row-head .icon-button:hover{color:#a33a32}.collection-allocation-fields{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9px;display:grid}.collection-allocation-fields>label:last-child{grid-column:1/-1}.collection-allocation-departments{border:0;margin:0;padding:0}.collection-allocation-departments legend{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;padding:0;font-weight:800}.collection-allocation-departments .admin-hint{margin:0}.collection-allocation-checks{flex-wrap:wrap;gap:6px;max-height:168px;padding:1px;display:flex;overflow:auto}.collection-allocation-check{border:1px solid var(--line);background:var(--surface-solid);color:var(--ink-soft);cursor:pointer;border-radius:8px;align-items:center;padding:5px 8px;line-height:1.35;font-size:var(--fs-xs)!important;letter-spacing:0!important;text-transform:none!important;flex-direction:row!important;gap:6px!important;font-weight:650!important;display:inline-flex!important}.collection-allocation-check input{accent-color:var(--brand);margin:0;padding:0;width:auto!important}.collection-allocation-check:has(input:checked){border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.collection-allocation-check:has(input:checked){border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}}.collection-allocation-check:has(input:checked){background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.collection-allocation-check:has(input:checked){background:color-mix(in srgb, var(--brand) 9%, var(--surface-solid))}}.collection-allocation-incomplete{color:var(--muted);align-items:flex-start;gap:5px;margin:0;display:flex}@media (width<=720px){.collection-allocation-fields{grid-template-columns:1fr}}.seat-controls{grid-template-columns:1fr 1fr;gap:9px;display:grid}.seat-summary{border:1px solid var(--line);background:var(--brand);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.seat-summary{background:color-mix(in srgb, var(--brand) 4%, transparent)}}.seat-summary{color:var(--muted);font-size:var(--fs-xs);font-weight:650}.seat-summary span{align-items:center;gap:5px;display:flex}.seat-summary svg{color:var(--brand)}.seat-summary strong{color:var(--ink);font-size:var(--fs-base)}.seat-list{flex-direction:column;gap:7px;display:flex}.seat-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:4px;padding:4px;transition:border-color .15s,background .15s;display:flex}@supports (color:color-mix(in lab, red, red)){.seat-row.is-selected{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}}.seat-row.is-selected{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.seat-row.is-selected{background:color-mix(in srgb, var(--brand) 6%, var(--surface))}}.seat-row-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:8px;padding:5px;display:flex}.seat-row-main:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.seat-row-main:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}}.seat-row-icon{background:var(--brand);border-radius:8px;flex:none;place-items:center;width:29px;height:29px;display:grid}@supports (color:color-mix(in lab, red, red)){.seat-row-icon{background:color-mix(in srgb, var(--brand) 9%, transparent)}}.seat-row-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.seat-row-copy strong{font-size:var(--fs-sm);font-weight:750}.seat-row-copy small{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.seat-row-delete{width:27px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.seat-row-delete:hover{color:#a33a32;background:#a33a321f}.seat-color-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.seat-color-row>span{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.seat-swatches{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.seat-swatch{border:2px solid #0000;border-radius:50%;width:21px;height:21px;padding:0;transition:border-color .15s,transform .15s;box-shadow:inset 0 0 0 1px #00000024}.seat-swatch:hover{transform:scale(1.08)}.seat-swatch.is-selected{border-color:var(--surface-solid);box-shadow:0 0 0 2px var(--ink), inset 0 0 0 1px #00000024}.seat-swatch-custom{border:1px dashed var(--line-strong);width:21px;height:21px;color:var(--muted);font-size:var(--fs-lg);background:conic-gradient(from 20deg,#d94c4c,#d9a64c,#7da84c,#4c9fd9,#7d4cd9,#d94c9f,#d94c4c);border-radius:50%;place-items:center;font-weight:700;line-height:1;display:grid;position:relative;overflow:hidden}.seat-swatch-custom:after{content:"+";background:var(--surface-solid);width:15px;height:15px;color:var(--ink);font-size:var(--fs-base);border-radius:50%;place-items:center;font-weight:800;display:grid}.seat-swatch-custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.seat-move-bar{align-items:center;gap:8px;display:flex}.seat-move-bar .secondary-button{flex:none}.seat-move-bar .secondary-button.is-active{border-color:var(--brand);color:var(--brand)}.seat-move-bar>span{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.seat-save-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.seat-save-row>span{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.seat-save-row .secondary-button{flex:none}.greenery-controls{grid-template-columns:1fr auto;align-items:end;gap:9px;display:grid}.greenery-summary{color:var(--muted);font-size:var(--fs-xs);flex-direction:column;align-items:flex-end;gap:3px;font-weight:650;display:flex}.greenery-summary span{align-items:center;gap:4px;display:flex}.greenery-summary svg{color:#4c7a4f}.greenery-summary strong{color:var(--ink);font-size:var(--fs-sm)}.greenery-list{flex-direction:column;gap:5px;display:flex}.tree-selected-bar{border:1px solid var(--gold);justify-content:space-between;align-items:center;gap:8px;padding:7px 8px 7px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.tree-selected-bar{border:1px solid color-mix(in srgb, var(--gold) 42%, var(--line))}}.tree-selected-bar{background:var(--gold-soft);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.tree-selected-bar{background:color-mix(in srgb, var(--gold-soft) 28%, var(--surface))}}.tree-selected-copy{color:#4c7a4f;align-items:center;gap:7px;min-width:0;display:flex}.tree-selected-copy>span{flex-direction:column;gap:1px;display:flex}.tree-selected-copy strong{color:var(--ink);font-size:var(--fs-sm);font-weight:750}.tree-selected-copy small{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.tree-selected-bar .danger-button{height:30px;min-height:30px;font-size:var(--fs-xs);border-radius:8px;flex:none;padding:0 9px}.greenery-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:4px;padding:4px;transition:border-color .15s,background .15s;display:flex}.greenery-row.is-selected{border-color:#4c7a4f}@supports (color:color-mix(in lab, red, red)){.greenery-row.is-selected{border-color:color-mix(in srgb, #4c7a4f 55%, var(--line))}}.greenery-row.is-selected{background:#4c7a4f}@supports (color:color-mix(in lab, red, red)){.greenery-row.is-selected{background:color-mix(in srgb, #4c7a4f 7%, var(--surface))}}.greenery-row-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:8px;padding:5px;display:flex}.greenery-row-main:hover{background:#4c7a4f0f}.greenery-row-icon{color:#4c7a4f;background:#4c7a4f1c;border-radius:8px;flex:none;place-items:center;width:29px;height:29px;display:grid}.greenery-row-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.greenery-row-copy strong{font-size:var(--fs-sm);font-weight:750}.greenery-row-copy small{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.greenery-row-delete{width:27px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.greenery-row-delete:hover{color:#a33a32;background:#a33a321f}.gate-controls{grid-template-columns:1fr 1fr;gap:7px;display:grid}.gate-list{flex-direction:column;gap:5px;display:flex}.gate-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:4px;padding:4px;transition:border-color .15s,background .15s;display:flex}.gate-row.is-selected{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.gate-row.is-selected{border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}}.gate-row.is-selected{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.gate-row.is-selected{background:color-mix(in srgb, var(--gold-soft) 24%, var(--surface))}}.gate-row-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:8px;padding:5px;display:flex}.gate-row-main:hover{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.gate-row-main:hover{background:color-mix(in srgb, var(--gold) 8%, transparent)}}.gate-row-icon{background:var(--gold);border-radius:8px;flex:none;place-items:center;width:29px;height:29px;display:grid}@supports (color:color-mix(in lab, red, red)){.gate-row-icon{background:color-mix(in srgb, var(--gold) 18%, transparent)}}.gate-row-icon{color:var(--maroon)}[data-theme=dark] .gate-row-icon{color:var(--gold-bright)}.gate-row-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.gate-row-copy strong{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.gate-row-copy small{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.gate-row-delete{width:27px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.gate-row-delete:hover{color:#a33a32;background:#a33a321f}.seat-row{--grid-color:var(--brand)}.seat-row.is-selected{border-color:var(--grid-color)}.seat-row-icon{background:var(--grid-color);position:relative}@supports (color:color-mix(in lab, red, red)){.seat-row-icon{background:color-mix(in srgb, var(--grid-color) 10%, transparent)}}.seat-row-icon{color:var(--grid-color)}.seat-row-color{border:1.5px solid var(--surface-solid);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 0 1px #00000024}.admin-empty{border:1px dashed var(--line-strong);color:var(--muted);font-size:var(--fs-sm);text-align:center;border-radius:12px;margin:4px 0 0;padding:18px 12px;line-height:1.5}.data-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px}.data-card h3{color:var(--ink);font-size:var(--fs-base);margin:0;font-weight:800}.data-card p{color:var(--muted);font-size:var(--fs-xs);margin:4px 0 9px;line-height:1.45}.data-card.is-danger{border-color:#a33a32}@supports (color:color-mix(in lab, red, red)){.data-card.is-danger{border-color:color-mix(in srgb, #a33a32 20%, var(--line))}}.map-controls{z-index:25;flex-direction:column;gap:7px;display:flex;position:fixed;top:206px;right:11px}.map-control{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;place-items:center;transition:background .16s,color .16s,transform .16s;display:grid;position:relative}.map-control:hover{background:var(--surface-solid);transform:translateY(-1px)}.map-control.is-active{background:var(--brand);border-color:var(--brand);color:#fff8ec}.control-dot{border:1.5px solid var(--surface-solid);background:var(--green);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.control-dot.is-outside{background:var(--gold)}.map-control.is-outside{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.map-control.is-outside{border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}}.quality-control{position:relative}.quality-control>summary{cursor:pointer;list-style:none}.quality-control>summary::-webkit-details-marker{display:none}.quality-control[open]>summary{border-color:var(--brand);background:var(--surface-solid);color:var(--brand)}.quality-menu{z-index:3;overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface-solid);width:178px;max-height:min(320px,100dvh - 196px);box-shadow:var(--shadow);border-radius:12px;gap:2px;padding:6px;display:grid;position:absolute;top:0;bottom:auto;right:calc(100% + 10px);overflow-y:auto}@media (width>=900px){.quality-menu{max-height:min(320px,100dvh - 140px);top:auto;bottom:0}}@media (width<=899px) and (height>=561px){.quality-menu{max-height:min(320px,100dvh - 140px);top:auto;bottom:0}}@media (width<=899px) and (height<=560px){.quality-menu{width:auto;max-height:calc(100dvh - 20px);position:fixed;inset:auto 10px 10px}}.quality-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;transition:background .14s,color .14s;display:flex}.quality-menu button:hover,.quality-menu button:focus-visible{background:var(--maroon-soft)}.quality-menu button.is-active{background:var(--maroon-soft);color:var(--brand)}.quality-menu strong,.quality-menu small{display:block}.quality-menu strong{font-size:var(--fs-xs);font-weight:750}.quality-menu small{color:var(--muted);font-size:var(--fs-2xs);margin-top:1px;font-weight:550}.quality-menu button.is-active small{color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.quality-menu button.is-active small{color:color-mix(in srgb, var(--brand) 72%, var(--muted))}}[data-theme=dark] .quality-menu button:hover,[data-theme=dark] .quality-menu button:focus-visible,[data-theme=dark] .quality-menu button.is-active{background:#b85b862e}[data-theme=dark] .quality-menu button.is-active{color:#f4ece0}.map-hint{z-index:24;left:50%;bottom:calc(var(--panel-height) + 12px);border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-weight:650;display:flex;position:fixed;transform:translate(-50%)}.map-hint-dot{background:var(--gold-bright);border-radius:50%;width:6px;height:6px}.mode-banner{z-index:26;border:1px solid var(--gold);border-radius:11px;align-items:center;gap:12px;padding:8px 9px 8px 13px;display:flex;position:fixed;top:196px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.mode-banner{border:1px solid color-mix(in srgb, var(--gold) 32%, transparent)}}.mode-banner{background:var(--brand);color:#fff8ec;font-size:var(--fs-sm);white-space:nowrap;font-weight:700;box-shadow:0 12px 28px #3218144d}.mode-banner button{color:#fff8ec;height:26px;font-size:var(--fs-xs);background:#fff8ec1a;border:1px solid #fff8ec3d;border-radius:7px;align-items:center;gap:4px;padding:0 8px;font-weight:750;display:flex}.boundary-banner{white-space:normal;max-width:min(620px,100vw - 24px)}.boundary-banner span{flex:1;line-height:1.35}.map-attribution{z-index:22;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;padding:4px 8px;position:fixed;bottom:12px;left:12px}.building-toast{z-index:24;left:12px;bottom:calc(var(--panel-height) + 12px);border:1px solid var(--line);border-left:3px solid var(--brand);background:var(--surface);max-width:280px;color:var(--muted);font-size:var(--fs-xs);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:9px;padding:8px 10px;line-height:1.4;position:fixed}.building-toast strong{color:var(--ink)}.toast{z-index:70;color:#fff8ec;max-width:min(92vw,420px);font-size:var(--fs-sm);text-align:center;background:#241b1a;border:1px solid #fff8ec1f;border-radius:10px;align-items:center;gap:7px;padding:9px 13px;font-weight:650;line-height:1.35;animation:.22s cubic-bezier(.2,.8,.2,1) toast-in;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0000004d}.toast svg{color:var(--gold-bright);flex:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140c0a8a;place-items:center;padding:16px;animation:.18s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.location-modal{border:1px solid var(--line);background:var(--surface-solid);width:min(430px,100%);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:22px;padding:22px;animation:.26s cubic-bezier(.2,.8,.2,1) modal-in;position:relative;overflow-y:auto;box-shadow:0 30px 90px #00000052}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:0 0;border-radius:9px;place-items:center;display:grid;position:absolute;top:13px;right:13px}.modal-close:hover{background:var(--line);color:var(--ink)}.location-modal-icon{background:var(--brand);width:54px;height:54px;color:var(--gold-soft);border-radius:16px;place-items:center;margin-bottom:13px;display:grid;box-shadow:0 10px 24px #4a002233}.location-modal h2{font-family:var(--sans);font-size:var(--fs-3xl);letter-spacing:-.03em;margin:3px 0 0;font-weight:580;line-height:1.02}.location-modal-copy{color:var(--muted);font-size:var(--fs-base);margin:8px 0 15px;line-height:1.55}.location-legal{color:var(--muted);font-size:var(--fs-2xs);margin:10px 0 0;line-height:1.5}.location-modal-actions{flex-direction:column;gap:7px;margin-top:15px;display:flex}.location-modal-actions .primary-button,.location-modal-actions .secondary-button{width:100%}.location-spinner{animation:1.1s linear infinite location-spin}@keyframes location-spin{to{transform:rotate(360deg)}}.location-modal.is-outside{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.location-modal.is-outside{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}}.location-modal.is-outside .location-modal-icon{background:linear-gradient(135deg, var(--gold-soft), var(--gold));color:var(--maroon);box-shadow:0 10px 24px #9a701833}.location-modal.is-warning .location-modal-icon{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.location-modal.is-warning .location-modal-icon{background:color-mix(in srgb, var(--gold) 18%, var(--surface))}}.location-modal.is-warning .location-modal-icon{color:var(--maroon);box-shadow:none}[data-theme=dark] .location-modal-icon{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .location-modal-icon{background:color-mix(in srgb, var(--brand) 88%, #fff 12%)}}[data-theme=dark] .location-modal-icon{color:var(--gold-bright);box-shadow:0 10px 24px #00000059, inset 0 0 0 1px var(--gold)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .location-modal-icon{box-shadow:0 10px 24px #00000059, inset 0 0 0 1px color-mix(in srgb, var(--gold) 28%, transparent)}}[data-theme=dark] .location-modal.is-outside .location-modal-icon{background:linear-gradient(135deg, #f0e2bd, var(--gold));color:var(--brand-deep);box-shadow:0 10px 24px #00000059,inset 0 0 0 1px #ffffff3d}[data-theme=dark] .location-modal.is-warning .location-modal-icon{color:var(--gold-bright)}.location-modal.is-warning h2{font-size:var(--fs-2xl)}.distance-accuracy{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.02em;font-weight:650}.distance-card.is-outside{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.distance-card.is-outside{background:color-mix(in srgb, var(--gold) 7%, var(--surface))}}.distance-card.is-outside{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.distance-card.is-outside{border-color:color-mix(in srgb, var(--gold) 28%, var(--line))}}.distance-outside svg{color:var(--maroon)}[data-theme=dark] .distance-outside svg{color:var(--gold-bright)}.login-form{flex-direction:column;gap:12px;margin-top:4px;display:flex}.login-field{flex-direction:column;gap:7px;display:flex}.login-field>span:first-child{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;font-weight:800}.login-field input{border:1px solid var(--maroon);width:100%;height:42px;padding:0 12px}@supports (color:color-mix(in lab, red, red)){.login-field input{border:1px solid color-mix(in srgb, var(--maroon) 14%, var(--line))}}.login-field input{background:var(--bg);color:var(--ink);font-size:var(--fs-md);border-radius:11px;outline:0;font-weight:600;transition:border-color .16s,background .16s,box-shadow .16s}.login-field input:focus{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.login-field input:focus{border-color:color-mix(in srgb, var(--maroon) 48%, var(--line))}}.login-field input:focus{background:var(--surface-solid);box-shadow:0 0 0 3px var(--maroon)}@supports (color:color-mix(in lab, red, red)){.login-field input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--maroon) 10%, transparent)}}.login-password{display:block;position:relative}.login-password input{padding-right:44px}.login-reveal{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-reveal:hover{background:var(--line);color:var(--ink)}.login-error{color:#a33a32;font-size:var(--fs-sm);background:#a33a321a;border-radius:9px;margin:0;padding:8px 10px;font-weight:700;line-height:1.4}[data-theme=dark] .login-error{color:#e58b84}.login-submit{margin-top:2px}.login-submit:disabled{cursor:wait;opacity:.7}@media (width>=900px){:root{--panel-height:auto}.top-bar{height:82px;padding:18px 22px 0}.search-dock{width:min(640px,100vw - 480px);top:90px}.explore-panel{border:1px solid var(--line);width:382px;height:auto;box-shadow:var(--shadow);border-radius:22px;padding-bottom:0;inset:152px auto 20px 20px}.explore-panel.is-expanded{height:auto}.panel-grab{display:none}.panel-close{top:13px;right:13px}.panel-open{bottom:62px;left:20px;transform:none}.panel-scroll{padding:18px 19px 16px}.panel-section-head{margin-top:0}.map-controls{top:auto;bottom:22px;right:22px}.map-hint{bottom:22px;left:auto;right:76px;transform:none}.map-attribution{display:block;bottom:22px;left:22px}.toast{bottom:22px}.mode-banner{top:200px}.building-toast{bottom:22px;left:424px}}@media (width>=1220px){.search-dock{width:min(640px,100vw - 640px);top:18px}}@media (width<=899px){.map-attribution{display:none}.panel-grab{display:flex}.explore-panel{bottom:0;left:8px;right:8px}.panel-scroll{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.search-dock{top:78px}.top-bar{height:68px;padding:10px 10px 0}.brand-lockup{height:42px;padding-right:9px}.brand-mark{width:34px;height:34px}.brand-text{font-size:var(--fs-sm)}.brand-text small{font-size:var(--fs-2xs)}.icon-button,.edit-button{height:38px}.edit-button{padding:0 10px}.edit-button span{display:none}.dashboard-button{padding:0 10px}.dashboard-button span{display:none}.login-button{justify-content:center;width:38px;height:38px;padding:0}.login-button span{display:none}.map-hint{bottom:calc(var(--panel-height) + 10px);font-size:var(--fs-xs)}.app-shell.panel-is-closed .map-hint{bottom:72px}.map-controls{top:auto;bottom:calc(var(--panel-height) + 10px);right:10px}.app-shell.panel-is-closed .map-controls{bottom:calc(22px + env(safe-area-inset-bottom))}.poi-pin{border-width:1.5px;width:32px;height:32px}.pin-icon svg{width:14px;height:14px}.pin-label{font-size:var(--fs-2xs);padding:3px 6px}.building-label{font-size:var(--fs-2xs);padding:2px 5px}.mode-banner{white-space:normal;max-width:calc(100vw - 92px);font-size:var(--fs-xs);top:188px}.building-toast{left:10px;bottom:calc(var(--panel-height) + 10px);max-width:calc(100vw - 20px)}.app-shell.has-detail .search-dock{opacity:0;pointer-events:none;transform:translate(-50%,-10px)}.app-shell.has-detail .explore-panel{height:var(--panel-height)}.app-shell.has-detail .explore-panel.is-expanded{height:min(72dvh,680px)}}@media (width<=899px),(pointer:coarse){.map-texture{--map-texture-x:50%;--map-texture-y:50%;--map-texture-mask-y:50%}.focus-blur{-webkit-backdrop-filter:blur(1.1px);backdrop-filter:blur(1.1px);background:#140c0a1f;-webkit-mask-image:radial-gradient(72% 72%,#0000 30%,#000 72%);mask-image:radial-gradient(72% 72%,#0000 30%,#000 72%)}}@media (width<=560px){.search-hint,.brand-text small{display:none}.brand-lockup{gap:7px;padding-right:8px}.brand-divider{height:22px}.panel-title{font-size:var(--fs-2xl)}.poi-detail-head h1{font-size:var(--fs-3xl)}.poi-hero{height:120px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-page{--dashboard-bg:var(--bg);--dashboard-surface:#fff;--dashboard-field:#f6f1e7;--dashboard-field-hover:#eee5d4;--dashboard-border:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.dashboard-page{--dashboard-border:color-mix(in srgb, var(--maroon) 14%, var(--line))}}.dashboard-page{background:var(--dashboard-bg);width:100%;height:100dvh;color:var(--ink);padding:0;position:relative;overflow:hidden}[data-theme=dark] .dashboard-page{--dashboard-surface:var(--surface-solid);--dashboard-field:#14110f;--dashboard-field-hover:#241f1a;--dashboard-border:var(--line-strong)}.dashboard-page,.dashboard-page *{box-shadow:none!important}.dashboard-shell{background:var(--dashboard-bg);width:100%;height:100dvh;color:var(--ink);box-shadow:none;border:0;border-radius:0;flex-direction:column;margin:0;display:flex;overflow:hidden}.dashboard-top{border-bottom:1px solid var(--line);background:var(--dashboard-surface);flex:none;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.dashboard-brand{align-items:center;gap:12px;display:flex}.dashboard-brand-icon{background:url(/siteicon.svg) 50%/contain no-repeat;flex:none;width:40px;height:40px}[data-theme=dark] .dashboard-brand-icon{background-image:url(/siteicon-white.svg)}.dashboard-brand strong{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:800;display:block}.dashboard-brand small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-weight:700;display:block}.dashboard-user{align-items:center;gap:10px;display:flex}.dashboard-role{border:1px solid var(--maroon);align-items:center;gap:6px;height:30px;padding:0 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.dashboard-role{border:1px solid color-mix(in srgb, var(--maroon) 22%, var(--line))}}.dashboard-role{background:var(--maroon-soft);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.dashboard-role{background:color-mix(in srgb, var(--maroon-soft) 45%, transparent)}}.dashboard-role{color:var(--maroon);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:800}[data-theme=dark] .dashboard-role{color:#e7b3cc}.dashboard-icon-button{border:1px solid var(--dashboard-border);background:var(--dashboard-field);width:36px;height:36px;color:var(--muted);border-radius:10px;place-items:center;transition:background .16s,border-color .16s,color .16s;display:grid}.dashboard-icon-button:hover{background:var(--dashboard-field-hover);border-color:var(--line-strong);color:var(--ink)}.dashboard-map-link{border:1px solid var(--dashboard-border);background:var(--dashboard-field);height:36px;color:var(--ink);font-size:var(--fs-xs);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-weight:750;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.dashboard-map-link:hover{background:var(--dashboard-field-hover);border-color:var(--line-strong)}.dashboard-body{flex:1;min-height:0;display:flex}.dashboard-nav{border-right:1px solid var(--line);background:var(--dashboard-surface);flex-direction:column;flex:0 0 208px;gap:6px;padding:18px 12px;display:flex}.dashboard-nav-item{width:100%;height:42px;color:var(--muted);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:0 12px;font-weight:750;display:flex}.dashboard-nav-item:hover{background:var(--dashboard-field);color:var(--ink)}.dashboard-nav-item.is-active{background:var(--brand);color:#fff8ec;box-shadow:none}.dashboard-nav-account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:14px 6px 4px;display:flex}.dashboard-nav-avatar{background:var(--brand);color:#fff8ec;width:34px;height:34px;font-size:var(--fs-base);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.dashboard-nav-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.dashboard-nav-identity strong,.dashboard-nav-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-nav-identity strong{font-size:var(--fs-xs);font-weight:750}.dashboard-nav-identity small{color:var(--muted);font-size:var(--fs-2xs)}.dashboard-main{background:var(--dashboard-bg);flex:1;min-width:0;padding:28px 32px 36px;overflow-y:auto}.dashboard-section{flex-direction:column;gap:16px;width:100%;display:flex}.dashboard-section-head h2{font-family:var(--sans);font-size:var(--fs-3xl);letter-spacing:-.03em;margin:3px 0 0;font-weight:580;line-height:1.02}.dashboard-section-head p:last-child{color:var(--muted);font-size:var(--fs-sm);margin:6px 0 0;line-height:1.5}.dashboard-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.dashboard-stat{border:1px solid var(--line);background:var(--dashboard-surface);border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex;container-type:inline-size}.dashboard-stat-body{flex:auto;justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.dashboard-stat-main{min-width:0}.dashboard-stat-scope{text-align:right;white-space:nowrap;flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.dashboard-stat-scope-tag{background:var(--brand);border-radius:999px;padding:2px 6px}@supports (color:color-mix(in lab, red, red)){.dashboard-stat-scope-tag{background:color-mix(in srgb, var(--brand) 9%, transparent)}}.dashboard-stat-scope-tag{color:var(--brand);font-size:var(--fs-2xs);font-weight:800;line-height:1.4}[data-theme=dark] .dashboard-stat-scope-tag{color:var(--gold-bright);background:var(--gold-bright)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .dashboard-stat-scope-tag{background:color-mix(in srgb, var(--gold-bright) 14%, transparent)}}.dashboard-stat-scope-line{color:var(--muted);font-size:var(--fs-2xs);font-weight:600;line-height:1.35}@container (width<=300px){.dashboard-stat-body{flex-direction:column;align-items:stretch;gap:8px}.dashboard-stat-scope{text-align:left;white-space:normal;flex-flow:wrap;justify-content:space-between;align-items:center;gap:4px 8px;padding-top:8px}}.dashboard-stat-icon{background:var(--gold);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.dashboard-stat-icon{background:color-mix(in srgb, var(--gold) 16%, transparent)}}.dashboard-stat-icon{color:var(--maroon)}[data-theme=dark] .dashboard-stat-icon{color:var(--gold-bright)}.dashboard-stat strong{font-size:var(--fs-2xl);letter-spacing:-.03em;font-weight:600;line-height:1;display:block}.dashboard-stat small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-weight:750;display:block}.dashboard-panel{border:1px solid var(--line);background:var(--dashboard-surface);border-radius:14px;flex-direction:column;gap:13px;padding:17px;display:flex}.dashboard-panel-head{justify-content:flex-start;align-items:center;gap:12px;display:flex}.dashboard-panel-head h3{font-family:var(--sans);font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:650}.dashboard-panel-head>svg{color:var(--maroon);margin-left:auto}[data-theme=dark] .dashboard-panel-head>svg{color:var(--gold-bright)}.dashboard-count{background:var(--brand);color:#fff8ec;min-width:24px;height:24px;font-size:var(--fs-xs);border-radius:999px;place-items:center;padding:0 7px;font-weight:800;display:grid}.dashboard-muted{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.5}.dashboard-setting-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.dashboard-setting-row strong{font-size:var(--fs-sm);font-weight:750;display:block}.dashboard-setting-row .dashboard-muted{max-width:54ch;margin-top:4px}.settings-switch{border:1px solid var(--line);background:var(--dashboard-field);cursor:pointer;border-radius:999px;flex:none;width:46px;height:26px;padding:0;transition:background .16s,border-color .16s;position:relative}.settings-switch-thumb{background:#fff8ec;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #23180d40}.settings-switch.is-on{border-color:var(--brand);background:var(--brand)}.settings-switch.is-on .settings-switch-thumb{transform:translate(20px)}.settings-switch:disabled{opacity:.6;cursor:wait}.event-overview-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.event-head-actions{justify-content:flex-end;margin-left:auto}.event-sync-chip{border:1px solid var(--green);align-items:center;gap:7px;min-height:38px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.event-sync-chip{border:1px solid color-mix(in srgb, var(--green) 34%, var(--line))}}.event-sync-chip{background:var(--green);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.event-sync-chip{background:color-mix(in srgb, var(--green) 12%, var(--dashboard-field))}}.event-sync-chip{color:var(--green)}@supports (color:color-mix(in lab, red, red)){.event-sync-chip{color:color-mix(in srgb, var(--green) 82%, var(--ink))}}.event-sync-chip{font-size:var(--fs-2xs);white-space:nowrap;font-weight:750}[data-theme=dark] .event-sync-chip{color:#a8d18a}.event-sync-dot{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px}.event-sync-chip.is-stale{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.event-sync-chip.is-stale{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}}.event-sync-chip.is-stale{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.event-sync-chip.is-stale{background:color-mix(in srgb, var(--gold) 12%, var(--dashboard-field))}}.event-sync-chip.is-stale{color:#8a6515}.event-sync-chip.is-stale .event-sync-dot{background:var(--gold)}[data-theme=dark] .event-sync-chip.is-stale{color:var(--gold-bright)}.event-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.event-kpi{gap:10px;min-width:0;padding:14px}.event-kpi>span:last-child{min-width:0}.event-kpi.is-green .dashboard-stat-icon{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.event-kpi.is-green .dashboard-stat-icon{background:color-mix(in srgb, var(--green) 15%, transparent)}}.event-kpi.is-green .dashboard-stat-icon{color:var(--green)}.event-kpi.is-gold .dashboard-stat-icon{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.event-kpi.is-gold .dashboard-stat-icon{background:color-mix(in srgb, var(--gold) 18%, transparent)}}.event-kpi.is-gold .dashboard-stat-icon{color:#8a6515}[data-theme=dark] .event-kpi.is-gold .dashboard-stat-icon{color:var(--gold-bright)}.event-kpi.is-brand .dashboard-stat-icon{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.event-kpi.is-brand .dashboard-stat-icon{background:color-mix(in srgb, var(--brand) 11%, transparent)}}.event-kpi.is-brand .dashboard-stat-icon{color:var(--maroon)}[data-theme=dark] .event-kpi.is-brand .dashboard-stat-icon{color:var(--gold-bright)}.event-kpi-hint{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:0;text-transform:none;margin-top:2px;font-weight:500;display:block}strong.graduate-only-value,span.graduate-only-value{color:var(--maroon);font-variant-numeric:tabular-nums;font-size:1.05em;font-weight:850}[data-theme=dark] strong.graduate-only-value,[data-theme=dark] span.graduate-only-value{color:var(--gold-bright)}.event-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.event-grid:not(.is-two)>.event-card:nth-child(-n+3){grid-column:span 2}.event-grid:not(.is-two)>.event-card:nth-child(n+4){grid-column:span 3}.event-grid.is-two{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.event-card{gap:14px;min-width:0}.event-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.event-card-head h3{font-family:var(--sans);font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:650}.event-card-head small{color:var(--muted);font-size:var(--fs-2xs);margin-top:3px;line-height:1.4;display:block}.event-scope-switch{border:1px solid var(--line);background:var(--dashboard-field);border-radius:9px;flex:none;gap:2px;padding:3px;display:inline-flex}.event-scope-switch button{min-height:24px;color:var(--muted);font-size:var(--fs-2xs);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-weight:700}.event-scope-switch button.is-active{background:var(--dashboard-surface);color:var(--maroon);box-shadow:0 1px 2px #00000014}[data-theme=dark] .event-scope-switch button.is-active{color:var(--gold-bright)}.event-card-big{color:var(--maroon);font-size:var(--fs-xl);font-variant-numeric:tabular-nums}[data-theme=dark] .event-card-big{color:var(--gold-bright)}.event-ring-wrap{width:166px;height:166px;margin:2px auto;position:relative}.event-ring{width:100%;height:100%}.event-ring circle{fill:none;stroke-width:11px}.event-ring-track{stroke:var(--dashboard-field)}.event-ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.event-ring-center strong{font-family:var(--sans);letter-spacing:-.05em;font-size:2rem;font-weight:650;line-height:1}.event-ring-center span{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-weight:800}.event-legend{gap:7px;margin:0;padding:0;list-style:none;display:grid}.event-legend li{min-width:0;color:var(--muted);font-size:var(--fs-xs);align-items:center;gap:7px;display:flex}.event-legend-dot{border-radius:50%;flex:none;width:8px;height:8px}.event-legend-dot.is-done,.event-legend-dot.is-gown{background:var(--green)}.event-legend-dot.is-pending{background:var(--muted)}.event-legend-dot.is-kit{background:var(--kit)}.event-legend-dot.is-certificate{background:var(--certificate)}.event-legend-dot.is-portrait{background:var(--brand)}.event-legend-dot.is-family{background:var(--gold)}.event-legend-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-legend-value{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;margin-left:auto;font-weight:700;line-height:1.25;display:flex}.event-legend-secondary{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:0;font-weight:600}.event-legend.is-compact{flex-wrap:wrap;gap:5px 12px;display:flex}.event-legend.is-compact li{font-size:var(--fs-2xs)}.event-photo{gap:7px;display:grid}.event-photo+.event-photo{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.event-photo-head{font-size:var(--fs-xs);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.event-photo-head span{color:var(--muted);font-size:var(--fs-2xs)}.event-photo-scope{text-align:right;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.event-photo-scope small{color:var(--muted);font-size:var(--fs-2xs);font-weight:600}.event-stack{background:var(--dashboard-field);border-radius:999px;height:14px;display:flex;overflow:hidden}.event-stack-seg{min-width:2px;height:100%}.event-stack-seg.is-done{background:var(--green)}.event-stack-seg.is-pending{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.event-stack-seg.is-pending{background:color-mix(in srgb, var(--muted) 38%, transparent)}}.event-donut-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.event-donut{border-radius:50%;flex:none;width:154px;height:154px;position:relative}.event-donut:after{content:"";background:var(--dashboard-surface);border-radius:50%;position:absolute;inset:27px}.event-donut-center{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.event-donut-center strong{font-family:var(--sans);letter-spacing:-.04em;font-size:1.5rem;font-weight:650;line-height:1}.event-donut-center span{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;margin-top:3px;font-weight:800}.event-donut-wrap .event-legend{flex:135px}.event-donut-wrap .event-legend li{align-items:flex-start}.event-donut-wrap .event-legend-label{white-space:normal;line-height:1.3}.event-table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.event-table th,.event-table td{border-top:1px solid var(--line);vertical-align:middle;padding:8px 6px}.event-table thead th{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.04em;text-align:right;text-transform:uppercase;border-top:0;padding-top:0;font-weight:800}.event-table thead th:first-child,.event-table tbody th{text-align:left}.event-table tbody th{white-space:nowrap;font-weight:700}.event-table th:not(:first-child),.event-table td:not(:first-child){text-align:right}.event-cell{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.event-cell.is-na{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.04em;font-weight:600}.event-table tr.is-students-only .event-cell.is-na{color:var(--muted);font-weight:600}.event-mini-bar{background:var(--dashboard-field);border-radius:999px;width:40px;height:5px;overflow:hidden}.event-mini-bar>span{border-radius:inherit;background:var(--green);height:100%;display:block}.event-mini-bar.is-brand>span{background:var(--brand)}.event-mini-bar.is-kit>span{background:var(--kit)}.event-mini-bar.is-certificate>span{background:var(--certificate)}.event-mini-bar.is-gold>span{background:var(--gold)}.event-table tr.is-students-only th,.event-table tr.is-students-only td{background:var(--brand);padding-top:4px;padding-bottom:4px}@supports (color:color-mix(in lab, red, red)){.event-table tr.is-students-only th,.event-table tr.is-students-only td{background:color-mix(in srgb, var(--brand) 4%, transparent)}}.event-table tr.is-students-only th,.event-table tr.is-students-only td{color:var(--muted);font-size:var(--fs-2xs)}.event-table tr.is-students-only th{padding-left:14px;font-weight:700}.event-table tr.is-students-only td{color:var(--maroon);font-weight:800}[data-theme=dark] .event-table tr.is-students-only td{color:var(--gold-bright)}.event-table-note{color:var(--muted);font-size:var(--fs-2xs);margin:0;line-height:1.5}.event-scope-note{border:1px dashed var(--certificate);margin:-2px 0 0;padding:8px 11px}@supports (color:color-mix(in lab, red, red)){.event-scope-note{border:1px dashed color-mix(in srgb, var(--certificate) 24%, var(--line))}}.event-scope-note{background:var(--certificate);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.event-scope-note{background:color-mix(in srgb, var(--certificate) 5%, transparent)}}.event-scope-note{color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.event-hourly{align-items:flex-end;gap:4px;height:152px;padding-top:8px;display:flex;overflow-x:auto}.event-hour{flex-direction:column;flex:1 1 0;align-items:stretch;gap:3px;min-width:13px;height:100%;display:flex}.event-hour-stack{flex-direction:column-reverse;flex:1;justify-content:flex-start;gap:1px;min-height:0;display:flex}.event-hour-stack span{border-radius:2px 2px 0 0;width:100%;min-height:1px}.event-hour-stack .is-gown{background:var(--green)}.event-hour-stack .is-kit{background:var(--kit)}.event-hour-stack .is-certificate{background:var(--certificate)}.event-hour-stack .is-portrait{background:var(--brand)}.event-hour-stack .is-family{background:var(--gold)}.event-hour-label{height:11px;color:var(--muted);text-align:center;font-size:9px;line-height:1}.event-hour-total{height:10px;color:var(--muted);text-align:center;font-size:8px;line-height:1}.event-empty{border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-xs);text-align:center;border-radius:10px;padding:28px 12px;line-height:1.5}.event-activity-grid{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;display:grid}.event-activity{border:1px solid var(--line);background:var(--dashboard-field);border-radius:10px;min-width:0;padding:10px}.event-activity strong{letter-spacing:-.03em;font-size:1.35rem;line-height:1;display:block}.event-activity span{color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.event-activity small{color:var(--muted);font-size:var(--fs-2xs);margin-top:3px;font-weight:600;display:block}.event-activity-foot{color:var(--muted);font-size:var(--fs-xs);margin:0}.event-access{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.event-access>div{border:1px solid var(--line);background:var(--dashboard-field);border-radius:10px;min-width:0;padding:10px}.event-access strong{font-size:1.25rem;line-height:1;display:block}.event-access span{color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.event-revenue{gap:6px;padding-top:2px;display:grid}.event-revenue>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.event-revenue>div>span{color:var(--muted);font-size:var(--fs-xs)}.event-revenue>div>strong{font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.event-revenue ul{gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.event-revenue li{color:var(--muted);font-size:var(--fs-2xs);justify-content:space-between;gap:8px;display:flex}.event-revenue li strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.event-revenue-values{text-align:right;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.event-revenue-values strong{font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.event-revenue li .event-revenue-values strong{font-size:var(--fs-2xs)}.event-revenue-values small{color:var(--muted);font-size:var(--fs-2xs);font-weight:600}.event-revenue-scope-note{margin-top:-2px}.event-recent-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.event-recent-list li{color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.4;display:flex}.event-recent-list strong{color:var(--ink);font-weight:700}.event-recent-list time{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;margin-left:auto}.event-recent-dot{background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px}.event-campus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.event-campus-stat{border:1px solid var(--line);background:var(--dashboard-field);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:11px;display:flex}.event-campus-stat strong{font-size:var(--fs-xl);letter-spacing:-.03em;line-height:1;display:block}.event-campus-stat small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:3px;font-weight:700;display:block;overflow:hidden}.event-error{border:1px solid #a33a32;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.event-error{border:1px solid color-mix(in srgb, #a33a32 35%, var(--line))}}.event-error{background:#a33a32;border-radius:10px}@supports (color:color-mix(in lab, red, red)){.event-error{background:color-mix(in srgb, #a33a32 7%, var(--dashboard-surface))}}.event-error p{color:#a33a32;font-size:var(--fs-xs);margin:0}[data-theme=dark] .event-error p{color:#e58b84}.event-team-table td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}@media (width<=1200px){.event-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-grid,.event-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.event-grid:not(.is-two)>.event-card{grid-column:auto}}@media (width<=1100px){.event-grid,.event-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.event-grid,.event-grid.is-two{grid-template-columns:1fr}.event-head-actions{justify-content:flex-start;width:100%;margin-left:0}.event-sync-chip{white-space:normal}}@media (width<=700px){.event-kpi-grid,.event-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.event-access,.event-campus-grid{grid-template-columns:1fr}.event-donut-wrap{justify-content:center}}.dashboard-invite-form{grid-template-columns:1fr 150px auto;align-items:end;gap:10px;display:grid}.dashboard-invite-form label,.dashboard-settings-form label{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.07em;text-transform:uppercase;flex-direction:column;gap:6px;font-weight:800;display:flex}.dashboard-invite-form input,.dashboard-invite-form select,.dashboard-settings-form input,.dashboard-settings-form select{border:1px solid var(--dashboard-border);background:var(--dashboard-field);width:100%;color:var(--ink);font-size:var(--fs-base);letter-spacing:0;text-transform:none;border-radius:8px;padding:10px 11px;font-weight:550}.dashboard-invite-form input:focus,.dashboard-invite-form select:focus,.dashboard-settings-form input:focus,.dashboard-settings-form select:focus{border-color:var(--brand);background:var(--dashboard-surface);outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.dashboard-invite-form input:focus,.dashboard-invite-form select:focus,.dashboard-settings-form input:focus,.dashboard-settings-form select:focus{outline:2px solid color-mix(in srgb, var(--maroon) 16%, transparent)}}.dashboard-invite-form input:focus,.dashboard-invite-form select:focus,.dashboard-settings-form input:focus,.dashboard-settings-form select:focus{outline-offset:1px;box-shadow:none}.dashboard-invite-button{height:40px;min-height:40px;font-size:var(--fs-xs);white-space:nowrap;border-radius:8px;padding:0 14px}.dashboard-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dashboard-settings-form{flex-direction:column;gap:13px;display:flex}.dashboard-page .secondary-button{background:var(--dashboard-field);border-color:var(--dashboard-border)}.dashboard-page .secondary-button:hover{background:var(--dashboard-field-hover);border-color:var(--line-strong)}.dashboard-form-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-error,.dashboard-notice{font-size:var(--fs-xs);border-radius:8px;margin:0;padding:8px 10px;line-height:1.45}.dashboard-error{color:#a33a32;background:#a33a321a}[data-theme=dark] .dashboard-error{color:#e58b84}.dashboard-notice{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.dashboard-notice{background:color-mix(in srgb, var(--green) 18%, transparent)}}.dashboard-notice{color:#3f6b4a}[data-theme=dark] .dashboard-notice{color:#a8d18a}.dashboard-invite-result{border:1px solid var(--green);padding:10px}@supports (color:color-mix(in lab, red, red)){.dashboard-invite-result{border:1px solid color-mix(in srgb, var(--green) 35%, var(--line))}}.dashboard-invite-result{background:var(--green);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.dashboard-invite-result{background:color-mix(in srgb, var(--green) 10%, transparent)}}.dashboard-invite-result{font-size:var(--fs-xs)}.dashboard-invite-result.is-warning{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.dashboard-invite-result.is-warning{border-color:color-mix(in srgb, var(--gold) 42%, var(--line))}}.dashboard-invite-result.is-warning{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.dashboard-invite-result.is-warning{background:color-mix(in srgb, var(--gold-soft) 20%, transparent)}}.dashboard-invite-result p{margin:0 0 6px}.dashboard-invite-result p:last-child{margin-bottom:0}.dashboard-copy-row{gap:6px;margin-top:7px;display:flex}.dashboard-copy-row input{border:1px solid var(--dashboard-border);background:var(--dashboard-field);min-width:0;color:var(--muted);font-size:var(--fs-xs);border-radius:7px;flex:1;padding:8px 9px}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.dashboard-table th{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--line);padding:9px 10px;font-weight:800}.dashboard-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}.dashboard-table tr:last-child td{border-bottom:0}.dashboard-table .is-actions{text-align:right}.dashboard-user-cell{flex-direction:column;gap:1px;display:flex}.dashboard-user-cell strong{font-size:var(--fs-sm);font-weight:700}.dashboard-user-cell small{color:var(--muted);font-size:var(--fs-2xs)}.dashboard-role-badge{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;background:var(--maroon);border-radius:999px;padding:3px 7px;font-weight:800;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.dashboard-role-badge{background:color-mix(in srgb, var(--maroon) 8%, transparent)}}.dashboard-role-badge{color:var(--maroon)}.dashboard-role-badge.is-super_admin{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.dashboard-role-badge.is-super_admin{background:color-mix(in srgb, var(--gold) 22%, transparent)}}.dashboard-role-badge.is-super_admin{color:var(--maroon)}[data-theme=dark] .dashboard-role-badge{color:#e7b3cc}.dashboard-role-control{color:var(--muted);align-items:center;gap:7px;display:inline-flex}.dashboard-role-select{border:1px solid var(--dashboard-border);background:var(--dashboard-field);height:30px;color:var(--ink);font:inherit;font-size:var(--fs-xs);cursor:pointer;border-radius:8px;padding:0 24px 0 9px;font-weight:750}.dashboard-role-select:focus{border-color:var(--brand);outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.dashboard-role-select:focus{outline:2px solid color-mix(in srgb, var(--maroon) 12%, transparent)}}.dashboard-role-select:focus{outline-offset:1px}.dashboard-role-select:disabled{opacity:.6;cursor:default}[data-theme=dark] .dashboard-role-badge.is-super_admin{color:var(--gold-bright)}.dashboard-text-button{color:var(--muted);font-size:var(--fs-xs);background:0 0;border:0;border-radius:5px;padding:4px 5px;font-weight:750}.dashboard-text-button:hover{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.dashboard-text-button:hover{background:color-mix(in srgb, var(--maroon) 6%, transparent)}}.dashboard-text-button:hover{color:var(--ink)}.dashboard-text-button.danger:hover{color:#a33a32;background:#a33a3217}.dashboard-text-button:disabled{opacity:.45;cursor:default}.dashboard-text-button.danger:disabled:hover{color:var(--muted);background:0 0}.dashboard-delete-button{border:1px solid #a33a32;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.dashboard-delete-button{border:1px solid color-mix(in srgb, #a33a32 34%, var(--line))}}.dashboard-delete-button{background:#a33a32;border-radius:8px}@supports (color:color-mix(in lab, red, red)){.dashboard-delete-button{background:color-mix(in srgb, #a33a32 8%, var(--dashboard-surface))}}.dashboard-delete-button{color:#a33a32;font-size:var(--fs-xs);white-space:nowrap;font-weight:800;transition:background .15s,border-color .15s,color .15s,transform .15s}.dashboard-delete-button:hover:not(:disabled){color:#fff8ec;background:#a33a32;border-color:#a33a32;transform:translateY(-1px)}.dashboard-delete-button:disabled{opacity:.45;cursor:default}[data-theme=dark] .dashboard-delete-button{color:#e58b84}.is-spinning{animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}@media (width<=900px){.dashboard-page{padding:0}.dashboard-shell{border:0;border-radius:0;width:100%;height:100dvh}.dashboard-top{padding:12px 14px}.dashboard-map-link span{display:none}.dashboard-map-link{justify-content:center;width:34px;padding:0}.dashboard-body{flex-direction:column}.dashboard-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;padding:8px 10px;overflow-x:auto}.dashboard-nav-item{flex:none;width:auto;height:34px;padding:0 10px}.dashboard-nav-account{display:none}.dashboard-main{padding:18px 15px 28px}.dashboard-section-head h2{font-size:var(--fs-3xl)}.dashboard-stat-grid{grid-template-columns:1fr 1fr}.dashboard-invite-form,.dashboard-form-grid{grid-template-columns:1fr}.dashboard-invite-button{width:100%}}@media (width<=600px){.dashboard-top{gap:8px}.dashboard-role{display:none}.dashboard-brand small{font-size:var(--fs-2xs);white-space:nowrap}.dashboard-user{gap:6px}.dashboard-nav{gap:4px;padding:7px 8px}.dashboard-nav-item{min-width:0;font-size:var(--fs-xs);white-space:nowrap;flex:1 1 0;justify-content:center;gap:5px;padding:0 4px}}@media (width<=380px){.top-bar{padding:10px 8px 0}.brand-lockup{gap:0;padding:3px}.brand-text,.brand-divider{display:none}.top-bar-right{gap:4px}.dashboard-nav-item{font-size:var(--fs-2xs);gap:4px;padding:0 3px}}.students-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.students-head-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.students-head-actions .students-head-button{min-height:38px;font-size:var(--fs-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:800;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.students-head-actions .students-head-button svg{flex:none}.students-head-actions .students-head-button:hover:not(:disabled){transform:translateY(-1px)}.students-head-actions .students-head-button:disabled{opacity:.65;cursor:default}.students-head-actions .students-head-button.is-primary{background:var(--brand);border-color:var(--brand);color:#fff8ec}.students-head-actions .students-head-button.is-primary:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.students-head-actions .students-head-button.is-gold{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-gold{background:color-mix(in srgb, var(--gold) 20%, var(--dashboard-surface))}}.students-head-actions .students-head-button.is-gold{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-gold{border-color:color-mix(in srgb, var(--gold) 52%, var(--line))}}.students-head-actions .students-head-button.is-gold{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-gold{color:color-mix(in srgb, var(--maroon) 82%, var(--ink))}}.students-head-actions .students-head-button.is-gold:hover:not(:disabled){background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-gold:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 30%, var(--dashboard-surface))}}.students-head-actions .students-head-button.is-gold:hover:not(:disabled){border-color:var(--gold)}.students-head-actions .students-head-button.is-outline{background:var(--dashboard-surface);border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-outline{border-color:color-mix(in srgb, var(--maroon) 30%, var(--line))}}.students-head-actions .students-head-button.is-outline{color:var(--maroon)}.students-head-actions .students-head-button.is-outline:hover:not(:disabled){background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-outline:hover:not(:disabled){background:color-mix(in srgb, var(--maroon) 7%, var(--dashboard-surface))}}.students-head-actions .students-head-button.is-outline:hover:not(:disabled){border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-head-actions .students-head-button.is-outline:hover:not(:disabled){border-color:color-mix(in srgb, var(--maroon) 52%, var(--line))}}[data-theme=dark] .students-head-actions .students-head-button.is-gold{color:var(--gold-bright)}[data-theme=dark] .students-head-actions .students-head-button.is-outline{color:#e7b3cc}.students-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.students-stat-grid.is-team-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (width<=900px){.students-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.students-notice{margin:0}.students-stale{border:1px solid var(--gold);margin:0;padding:9px 11px}@supports (color:color-mix(in lab, red, red)){.students-stale{border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line))}}.students-stale{background:var(--gold-soft);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.students-stale{background:color-mix(in srgb, var(--gold-soft) 30%, var(--surface))}}.students-stale{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-stale{color:color-mix(in srgb, var(--maroon) 80%, var(--ink))}}.students-stale{font-size:var(--fs-xs);line-height:1.45}[data-theme=dark] .students-stale{color:var(--gold-bright)}.students-panel{gap:0;padding:0;overflow:hidden}.students-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:9px;padding:13px;display:flex}.students-search{border:1px solid var(--dashboard-border);background:var(--dashboard-field);min-width:200px;height:38px;color:var(--muted);border-radius:9px;flex:260px;align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}.students-search:focus-within{border-color:var(--brand);outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-search:focus-within{outline:2px solid color-mix(in srgb, var(--maroon) 14%, transparent)}}.students-search:focus-within{outline-offset:1px}.students-search input{min-width:0;color:var(--ink);font-size:var(--fs-sm);background:0 0;border:0;outline:0;flex:1;padding:0}.students-search input::placeholder{color:var(--muted)}.students-select{min-width:160px;color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:4px;font-weight:800;display:flex}.students-select select{border:1px solid var(--dashboard-border);background:var(--dashboard-field);width:100%;max-width:220px;height:38px;color:var(--ink);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;border-radius:9px;padding:0 9px;font-weight:600}.students-select select:focus{border-color:var(--brand);outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-select select:focus{outline:2px solid color-mix(in srgb, var(--maroon) 14%, transparent)}}.students-select select:focus{outline-offset:1px}.students-result-badge{border:1px solid var(--gold);justify-content:center;align-items:center;height:38px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.students-result-badge{border:1px solid color-mix(in srgb, var(--gold) 38%, var(--line))}}.students-result-badge{background:var(--gold);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.students-result-badge{background:color-mix(in srgb, var(--gold) 12%, var(--dashboard-surface))}}.students-result-badge{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.students-result-badge{color:color-mix(in srgb, var(--maroon) 84%, var(--ink))}}.students-result-badge{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}[data-theme=dark] .students-result-badge{color:var(--gold-bright)}.students-list-wrap{overflow-x:auto}.students-list-head,.student-row{grid-template-columns:minmax(190px,1.25fr) minmax(160px,1fr) 100px minmax(270px,1.45fr) 18px;align-items:center;gap:12px;min-width:760px;display:grid}.students-list-head{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;font-weight:800}.students-list{flex-direction:column;display:flex}.student-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font:inherit;background:0 0;padding:11px 14px;transition:background .14s}.student-row:last-child{border-bottom:0}.student-row:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.student-row:hover{background:color-mix(in srgb, var(--brand) 4%, var(--dashboard-surface))}}.student-row.is-selected{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.student-row.is-selected{background:color-mix(in srgb, var(--brand) 7%, var(--dashboard-surface))}}.student-name-cell{align-items:center;gap:9px;min-width:0;display:flex}.student-avatar{background:var(--gold);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab, red, red)){.student-avatar{background:color-mix(in srgb, var(--gold) 20%, var(--dashboard-field))}}.student-avatar{color:var(--maroon);font-size:var(--fs-xs);font-weight:800}[data-theme=dark] .student-avatar{color:var(--gold-bright)}.student-name-copy,.student-dept-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.student-name-copy strong,.student-dept-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:750;overflow:hidden}.student-name-copy small,.student-dept-cell small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-2xs);font-weight:600;overflow:hidden}.student-degree-badge{border:1px solid var(--gold);align-items:center;padding:1px 5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-degree-badge{border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line))}}.student-degree-badge{background:var(--gold);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.student-degree-badge{background:color-mix(in srgb, var(--gold) 18%, transparent)}}.student-degree-badge{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.student-degree-badge{color:color-mix(in srgb, var(--maroon) 85%, var(--ink))}}.student-degree-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;font-size:9px;font-weight:800;line-height:1.25}.student-name-copy .student-degree-badge{margin-left:5px}[data-theme=dark] .student-degree-badge{color:var(--gold-bright)}.student-tag{border:1px solid var(--certificate);align-items:center;padding:1px 6px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-tag{border:1px solid color-mix(in srgb, var(--certificate) 32%, var(--line))}}.student-tag{background:var(--certificate);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.student-tag{background:color-mix(in srgb, var(--certificate) 9%, transparent)}}.student-tag{color:var(--certificate)}@supports (color:color-mix(in lab, red, red)){.student-tag{color:color-mix(in srgb, var(--certificate) 78%, var(--ink))}}.student-tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;font-size:9px;font-weight:800;line-height:1.25}.student-name-copy .student-tag{margin-left:5px}[data-theme=dark] .student-tag{color:#8fb8d4}.student-option-cell{min-width:0}.student-option{background:var(--maroon);border-radius:999px;max-width:100%;padding:4px 7px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-option{background:color-mix(in srgb, var(--maroon) 8%, transparent)}}.student-option{color:var(--maroon);font-size:var(--fs-2xs);letter-spacing:.02em;white-space:nowrap;font-weight:800}.student-option.is-muted{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.student-option.is-muted{background:color-mix(in srgb, var(--muted) 10%, transparent)}}.student-option.is-muted{color:var(--muted)}.student-option.is-warning{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-option.is-warning{background:color-mix(in srgb, var(--gold) 20%, transparent)}}.student-option.is-warning{color:var(--maroon)}[data-theme=dark] .student-option{color:#e7b3cc}[data-theme=dark] .student-option.is-warning{color:var(--gold-bright)}.student-status-cell{flex-wrap:wrap;gap:4px;display:flex}.student-status{background:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:3px 6px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-status{background:color-mix(in srgb, var(--muted) 9%, transparent)}}.student-status{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;font-weight:700;line-height:1.25}.student-status-dot{opacity:.75;background:currentColor;border-radius:50%;width:5px;height:5px}.student-status.is-done{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.student-status.is-done{background:color-mix(in srgb, var(--green) 16%, transparent)}}.student-status.is-done{color:#3f6b4a}.student-status.is-returned{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-status.is-returned{background:color-mix(in srgb, var(--gold) 20%, transparent)}}.student-status.is-returned{color:#8a6515}.student-status.is-not-applicable{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.student-status.is-not-applicable{background:color-mix(in srgb, var(--muted) 8%, transparent)}}.student-status.is-not-applicable{color:var(--muted);white-space:normal;font-style:italic}[data-theme=dark] .student-status.is-done{color:#a8d18a}[data-theme=dark] .student-status.is-returned{color:var(--gold-bright)}.student-row-arrow{color:var(--muted)}.students-pagination{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.students-pagination-actions{align-items:center;gap:7px;display:flex}.students-pagination-actions .secondary-button{align-items:center;gap:4px;display:inline-flex}.students-page-count{font-size:var(--fs-2xs);white-space:nowrap;font-weight:750}.students-message{min-height:180px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:24px;display:flex}.students-error-bar{border-bottom:1px solid var(--line);color:#a33a32;font-size:var(--fs-xs);background:#a33a3214;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 13px;display:flex}.students-error-bar p{flex:1;min-width:180px;margin:0;line-height:1.45}[data-theme=dark] .students-error-bar{color:#e58b84}.students-error-bar .secondary-button{border-color:#a33a32;align-items:center;gap:6px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.students-error-bar .secondary-button{border-color:color-mix(in srgb, #a33a32 25%, var(--line))}}.students-message p{font-size:var(--fs-sm);margin:0;line-height:1.5}.students-message.is-error{color:#a33a32}[data-theme=dark] .students-message.is-error{color:#e58b84}.students-message .secondary-button{align-items:center;gap:6px;display:inline-flex}.students-scope-note{color:var(--muted);font-size:var(--fs-xs);margin:-2px 0 0;line-height:1.5}.student-sheet-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e140f6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.student-sheet{background:var(--dashboard-surface);width:min(580px,100%);height:100dvh;color:var(--ink);border-left:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.student-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;display:flex}.student-sheet-head h2{font-family:var(--sans);font-size:var(--fs-2xl);letter-spacing:-.02em;margin:3px 0 0;font-weight:600}.student-sheet-sub{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 0;font-weight:700}.student-sheet-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 18px 28px;display:flex;overflow-y:auto}.student-sheet-loading{min-height:240px}.student-profile{grid-template-columns:170px 1fr;align-items:start;gap:14px;display:grid}.student-photo-wrap{aspect-ratio:3/4;border:1px solid var(--line);background:var(--dashboard-field);border-radius:12px;width:100%;overflow:hidden}.student-photo{object-fit:cover;width:100%;height:100%;display:block}.student-photo-link{width:100%;height:100%;text-decoration:none;display:block}.student-photo-empty{width:100%;height:100%;color:var(--muted);font-size:var(--fs-2xs);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:700;display:flex}.student-profile-meta{flex-direction:column;gap:10px;min-width:0;display:flex}.student-badges{flex-wrap:wrap;gap:5px;display:flex}.student-payment{font-size:var(--fs-2xs);border-radius:999px;padding:4px 7px;font-weight:800;display:inline-flex}.student-payment.is-paid{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.student-payment.is-paid{background:color-mix(in srgb, var(--green) 16%, transparent)}}.student-payment.is-paid{color:#3f6b4a}.student-payment.is-pending{color:#a33a32;background:#a33a321a}[data-theme=dark] .student-payment.is-paid{color:#a8d18a}[data-theme=dark] .student-payment.is-pending{color:#e58b84}.student-facts{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.student-facts .is-full{grid-column:1/-1}.student-facts dt{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;margin:0 0 2px;font-weight:800}.student-facts dd{font-size:var(--fs-xs);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.4}.student-degree-card{--check-accent:var(--gold);border:1px solid var(--gold);flex-direction:column;gap:9px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.student-degree-card{border:1px solid color-mix(in srgb, var(--gold) 34%, var(--line))}}.student-degree-card{background:var(--gold);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.student-degree-card{background:color-mix(in srgb, var(--gold) 6%, var(--dashboard-surface))}}.student-degree-head{align-items:center;gap:9px;display:flex}.student-degree-head h3{font-family:var(--sans);font-size:var(--fs-lg);letter-spacing:-.01em;margin:0 0 3px;font-weight:650}.student-check-section-head{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.student-check-section-head .panel-eyebrow{margin:0}.student-check-progress{border:1px solid var(--brand);align-items:center;gap:7px;padding:4px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-check-progress{border:1px solid color-mix(in srgb, var(--brand) 14%, var(--line))}}.student-check-progress{background:var(--brand);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.student-check-progress{background:color-mix(in srgb, var(--brand) 5%, var(--dashboard-surface))}}.student-check-progress{color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.student-check-progress{color:color-mix(in srgb, var(--brand) 74%, var(--ink))}}.student-check-progress{font-size:var(--fs-2xs);white-space:nowrap;font-weight:750}.student-check-progress-dots{gap:3px;display:inline-flex}.student-check-progress-dots span{background:var(--muted);border-radius:999px;width:6px;height:6px}@supports (color:color-mix(in lab, red, red)){.student-check-progress-dots span{background:color-mix(in srgb, var(--muted) 26%, transparent)}}.student-check-progress-dots span.is-complete{background:var(--green)}[data-theme=dark] .student-check-progress{color:#e7b3cc}.student-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.student-check-grid.is-single{grid-template-columns:1fr}.student-check-card{--check-accent:var(--brand);border:1px solid var(--check-accent);flex-direction:column;gap:7px;min-height:138px;padding:12px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.student-check-card{border:1px solid color-mix(in srgb, var(--check-accent) 18%, var(--line))}}.student-check-card{background:radial-gradient(circle at 100% 0%, var(--check-accent), transparent 55%), linear-gradient(145deg, var(--check-accent), var(--dashboard-surface) 62%);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.student-check-card{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--check-accent) 10%, transparent), transparent 55%), linear-gradient(145deg, color-mix(in srgb, var(--check-accent) 5%, var(--dashboard-surface)), var(--dashboard-surface) 62%)}}.student-check-card{box-shadow:0 12px 26px -24px var(--check-accent)}@supports (color:color-mix(in lab, red, red)){.student-check-card{box-shadow:0 12px 26px -24px color-mix(in srgb, var(--check-accent) 70%, transparent)}}.student-check-card{transition:border-color .16s,box-shadow .16s}.student-check-card:focus-within{border-color:var(--check-accent)}@supports (color:color-mix(in lab, red, red)){.student-check-card:focus-within{border-color:color-mix(in srgb, var(--check-accent) 38%, var(--line))}}.student-check-card:focus-within{box-shadow:0 16px 34px -24px var(--check-accent)}@supports (color:color-mix(in lab, red, red)){.student-check-card:focus-within{box-shadow:0 16px 34px -24px color-mix(in srgb, var(--check-accent) 72%, transparent)}}.student-check-card.is-gown{--check-accent:var(--brand)}.student-check-card.is-kit{--check-accent:var(--gold)}.student-check-card.is-certificate{--check-accent:var(--certificate);grid-column:1/-1}.student-check-card.is-portrait,.student-check-card.is-family{--check-accent:var(--green)}.student-check-card.is-done{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.student-check-card.is-done{border-color:color-mix(in srgb, var(--green) 35%, var(--line))}}.student-check-card.is-done{background:radial-gradient(circle at 100% 0%, var(--green), transparent 55%), linear-gradient(145deg, var(--green), var(--dashboard-surface) 62%)}@supports (color:color-mix(in lab, red, red)){.student-check-card.is-done{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--green) 12%, transparent), transparent 55%), linear-gradient(145deg, color-mix(in srgb, var(--green) 7%, var(--dashboard-surface)), var(--dashboard-surface) 62%)}}.student-check-card.is-returned{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-check-card.is-returned{border-color:color-mix(in srgb, var(--gold) 38%, var(--line))}}.student-check-card.is-returned{background:radial-gradient(circle at 100% 0%, var(--gold), transparent 55%), linear-gradient(145deg, var(--gold), var(--dashboard-surface) 62%)}@supports (color:color-mix(in lab, red, red)){.student-check-card.is-returned{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gold) 13%, transparent), transparent 55%), linear-gradient(145deg, color-mix(in srgb, var(--gold) 7%, var(--dashboard-surface)), var(--dashboard-surface) 62%)}}.student-check-card.is-not-applicable{border-style:dashed;border-color:var(--line-strong);background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.student-check-card.is-not-applicable{background:color-mix(in srgb, var(--muted) 4%, var(--dashboard-surface))}}.student-check-head{align-items:center;gap:9px;display:flex}.student-check-head>div{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.student-check-icon{border:1px solid var(--check-accent);flex:none;place-items:center;width:36px;height:36px;display:grid}@supports (color:color-mix(in lab, red, red)){.student-check-icon{border:1px solid color-mix(in srgb, var(--check-accent) 22%, transparent)}}.student-check-icon{background:linear-gradient(145deg, var(--check-accent), var(--check-accent));border-radius:11px}@supports (color:color-mix(in lab, red, red)){.student-check-icon{background:linear-gradient(145deg, color-mix(in srgb, var(--check-accent) 24%, var(--dashboard-surface)), color-mix(in srgb, var(--check-accent) 8%, var(--dashboard-surface)))}}.student-check-icon{color:var(--check-accent)}@supports (color:color-mix(in lab, red, red)){.student-check-icon{color:color-mix(in srgb, var(--check-accent) 72%, var(--ink))}}.student-check-icon{box-shadow:0 8px 16px -12px var(--check-accent)}@supports (color:color-mix(in lab, red, red)){.student-check-icon{box-shadow:0 8px 16px -12px color-mix(in srgb, var(--check-accent) 70%, transparent)}}.student-check-head h3{font-family:var(--sans);font-size:var(--fs-lg);letter-spacing:-.01em;margin:0;font-weight:650}.student-check-meta{color:var(--muted);font-size:var(--fs-2xs);margin:0;line-height:1.4}.student-check-scope-note{border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-2xs);border-radius:9px;margin:0;padding:9px 11px;line-height:1.45}.student-note{background:var(--dashboard-field);color:var(--ink);font-size:var(--fs-xs);border-radius:7px;margin:0;padding:6px 8px;line-height:1.4}.student-check-actions{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:2px;display:flex}.student-check-actions .student-action{width:100%}.student-action{border:1px solid var(--dashboard-border);background:var(--dashboard-field);min-height:34px;color:var(--ink);font-size:var(--fs-xs);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-weight:800;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.student-action.is-mark{background:linear-gradient(135deg, var(--brand), var(--brand));border-color:#0000}@supports (color:color-mix(in lab, red, red)){.student-action.is-mark{background:linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 82%, #1b0710))}}.student-action.is-mark{color:#fff8ec;box-shadow:0 10px 18px -12px var(--brand)}@supports (color:color-mix(in lab, red, red)){.student-action.is-mark{box-shadow:0 10px 18px -12px color-mix(in srgb, var(--brand) 72%, transparent)}}.student-action.is-mark:hover:not(:disabled){background:linear-gradient(135deg, var(--brand-deep), var(--brand));border-color:#0000}@supports (color:color-mix(in lab, red, red)){.student-action.is-mark:hover:not(:disabled){background:linear-gradient(135deg, var(--brand-deep), color-mix(in srgb, var(--brand) 78%, #1b0710))}}.student-action.is-return{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-action.is-return{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}}.student-action.is-return{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-action.is-return{background:color-mix(in srgb, var(--gold) 13%, var(--dashboard-field))}}.student-action.is-return{color:#7a5a12}.student-action.is-return:hover:not(:disabled){border-color:var(--gold);background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.student-action.is-return:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 22%, var(--dashboard-field))}}[data-theme=dark] .student-action.is-return{color:var(--gold-bright)}[data-theme=dark] .student-action.is-mark{color:#fff8ec}.student-action:hover:not(:disabled){border-color:var(--line-strong);background:var(--dashboard-field-hover);transform:translateY(-1px)}.student-action:active:not(:disabled){transform:translateY(0)}.student-action.is-done{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.student-action.is-done{border-color:color-mix(in srgb, var(--green) 40%, var(--line))}}.student-action.is-done{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.student-action.is-done{background:color-mix(in srgb, var(--green) 12%, transparent)}}.student-action.is-done{color:#3f6b4a}[data-theme=dark] .student-action.is-done{color:#a8d18a}.student-action:disabled{opacity:.65;cursor:default}.student-action.is-done:disabled{opacity:1}.student-undo-link{color:var(--muted);font-size:var(--fs-2xs);background:0 0;border:0;align-self:flex-start;padding:2px 0;font-weight:750;text-decoration:underline}.student-undo-link:hover{color:var(--ink)}.student-undo-row{font-size:var(--fs-2xs);background:#a33a3214;border-radius:7px;flex-wrap:wrap;align-items:center;gap:5px;padding:6px 8px;font-weight:650;display:flex}.student-confirm-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e140f8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.student-confirm{border:1px solid var(--line);background:var(--dashboard-surface);width:min(420px,100%);max-height:calc(100dvh - 36px);color:var(--ink);border-radius:14px;flex-direction:column;gap:11px;padding:17px;display:flex;overflow-y:auto}.student-confirm h3{font-family:var(--sans);font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:650}.student-confirm-identity{background:var(--dashboard-field);border-radius:9px;align-items:center;gap:10px;padding:8px;display:flex}.student-confirm-identity img,.student-confirm-photo-empty{object-fit:cover;background:var(--dashboard-surface);border-radius:7px;flex:none;width:54px;height:68px}.student-confirm-photo-empty{color:var(--muted);place-items:center;display:grid}.student-confirm-identity div{flex-direction:column;gap:2px;min-width:0;display:flex}.student-confirm-identity strong{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.student-confirm-identity span{color:var(--muted);font-size:var(--fs-xs);font-weight:700}.student-confirm-identity small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.student-confirm-copy{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.45}.student-note-field{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:5px;font-weight:800;display:flex}.student-note-field textarea{border:1px solid var(--dashboard-border);background:var(--dashboard-field);width:100%;color:var(--ink);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;resize:vertical;border-radius:8px;padding:8px 9px;font-weight:550}.student-note-field textarea:focus{border-color:var(--brand);outline:2px solid var(--maroon)}@supports (color:color-mix(in lab, red, red)){.student-note-field textarea:focus{outline:2px solid color-mix(in srgb, var(--maroon) 14%, transparent)}}.student-note-field textarea:focus{outline-offset:1px}.student-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.gown-modal-backdrop{z-index:95;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e140f94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.gown-modal{border:1px solid var(--line);background:var(--dashboard-surface);width:min(560px,100%);max-height:calc(100dvh - 36px);color:var(--ink);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.gown-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;display:flex}.gown-modal-head h2{font-family:var(--sans);font-size:var(--fs-2xl);letter-spacing:-.02em;margin:3px 0 0;font-weight:600}.gown-modal-head p:last-child{color:var(--muted);font-size:var(--fs-xs);margin:5px 0 0;line-height:1.45}.gown-modal-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.gown-package-list,.signature-sheet-section{flex-direction:column;gap:7px;display:flex}.signature-sheet-label{margin:0}.signature-sheet-type{flex-direction:column;gap:7px;display:flex}.signature-sheet-type-option{cursor:pointer}.signature-sheet-type-option input{border-radius:50%}.gown-package-option{border:1px solid var(--line);background:var(--dashboard-field);cursor:pointer;border-radius:11px;align-items:center;gap:10px;padding:10px 11px;transition:border-color .15s,background .15s;display:flex}.gown-package-option.is-selected{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.gown-package-option.is-selected{border-color:color-mix(in srgb, var(--brand) 38%, var(--line))}}.gown-package-option.is-selected{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.gown-package-option.is-selected{background:color-mix(in srgb, var(--brand) 5%, var(--dashboard-surface))}}.gown-package-option.is-empty{opacity:.55}.signature-sheet-type.is-sheet-types{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.signature-sheet-type.is-download-modes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gown-package-option.signature-sheet-type-option{flex-direction:column;align-items:flex-start;gap:7px;min-height:72px;padding:10px}.gown-package-option.signature-sheet-type-option .gown-package-copy{gap:3px}.gown-package-option.signature-sheet-type-option .gown-package-copy small{line-height:1.3}.gown-package-option.signature-sheet-type-option.is-empty{cursor:not-allowed}@media (width<=560px){.signature-sheet-type.is-sheet-types,.signature-sheet-type.is-download-modes{grid-template-columns:1fr}}.gown-package-option input{width:16px;height:16px;accent-color:var(--brand);flex:none}.gown-package-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gown-package-copy strong{font-size:var(--fs-sm);font-weight:750;line-height:1.3}.gown-package-copy small{color:var(--muted);font-size:var(--fs-2xs);line-height:1.35}.gown-package-count{background:var(--gold);border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:24px;padding:0 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.gown-package-count{background:color-mix(in srgb, var(--gold) 18%, transparent)}}.gown-package-count{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.gown-package-count{color:color-mix(in srgb, var(--maroon) 85%, var(--ink))}}.gown-package-count{font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;font-weight:800}[data-theme=dark] .gown-package-count{color:var(--gold-bright)}.gown-excluded{color:var(--muted);font-size:var(--fs-2xs);margin:0;line-height:1.45}.gown-summary{border:1px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.gown-summary{border:1px solid color-mix(in srgb, var(--gold) 32%, var(--line))}}.gown-summary{background:var(--gold);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.gown-summary{background:color-mix(in srgb, var(--gold) 9%, var(--dashboard-surface))}}.gown-summary{font-size:var(--fs-xs);font-weight:650}.gown-summary strong{color:var(--maroon);font-weight:850}[data-theme=dark] .gown-summary strong{color:var(--gold-bright)}.gown-warning{border:1px solid var(--gold);margin:0;padding:9px 11px}@supports (color:color-mix(in lab, red, red)){.gown-warning{border:1px solid color-mix(in srgb, var(--gold) 38%, var(--line))}}.gown-warning{background:var(--gold-soft);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.gown-warning{background:color-mix(in srgb, var(--gold-soft) 26%, transparent)}}.gown-warning{color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.gown-warning{color:color-mix(in srgb, var(--maroon) 82%, var(--ink))}}.gown-warning{font-size:var(--fs-xs);line-height:1.5}[data-theme=dark] .gown-warning{color:var(--gold-bright)}.gown-privacy{color:var(--muted);font-size:var(--fs-2xs);margin:0;line-height:1.45}.gown-progress-panel{border:1px solid var(--line);background:var(--dashboard-field);border-radius:9px;flex-direction:column;gap:7px;padding:11px;display:flex}.gown-progress-meta{color:var(--muted);font-size:var(--fs-2xs);justify-content:space-between;align-items:center;gap:10px;font-weight:700;display:flex}.gown-progress-track{background:var(--maroon);border-radius:999px;height:8px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.gown-progress-track{background:color-mix(in srgb, var(--maroon) 10%, var(--dashboard-surface))}}.gown-progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--gold));height:100%;transition:width .18s;display:block}.gown-success{border:1px solid var(--green);align-items:center;gap:8px;margin:0;padding:10px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.gown-success{border:1px solid color-mix(in srgb, var(--green) 35%, var(--line))}}.gown-success{background:var(--green);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.gown-success{background:color-mix(in srgb, var(--green) 10%, transparent)}}.gown-success{color:#3f6b4a;font-size:var(--fs-xs);font-weight:700}[data-theme=dark] .gown-success{color:#a8d18a}.gown-modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.gown-modal-actions .primary-button,.gown-modal-actions .secondary-button{height:38px;min-height:38px;font-size:var(--fs-xs);border-radius:9px}@media (width<=600px){.gown-modal-backdrop{padding:10px}.gown-modal{max-height:calc(100dvh - 20px)}.gown-modal-actions .primary-button,.gown-modal-actions .secondary-button{flex:1}}@media (width<=1100px){.students-list-head,.student-row{grid-template-columns:minmax(170px,1.2fr) minmax(140px,1fr) 90px minmax(220px,1.4fr) 16px;min-width:680px}}@media (width<=900px){.students-section-head{flex-direction:column}.students-head-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;width:100%;display:grid}.students-head-actions .students-head-button{justify-content:center;width:100%}.students-toolbar{align-items:stretch}.students-search{flex:100%}.students-select{flex:140px}.students-result-badge{flex:100%}.students-list-head{display:none}.student-row{grid-template-columns:1fr auto;gap:6px 10px;min-width:0;padding:12px 13px}.student-name-cell{grid-column:1}.student-option-cell{grid-area:1/2;justify-self:end}.student-dept-cell{grid-area:2/1}.student-status-cell{grid-area:3/1/auto/-1}.student-row-arrow{display:none}.student-sheet{border-left:0;width:100%}.student-profile{grid-template-columns:140px 1fr}}@media (width<=600px){.students-pagination{flex-direction:column;align-items:flex-start}.students-pagination-actions{justify-content:space-between;width:100%}.student-profile{grid-template-columns:1fr}.student-photo-wrap{width:150px}.student-facts{grid-template-columns:1fr}.student-facts .is-full{grid-column:auto}.student-check-actions .student-action{flex:auto;justify-content:center}.student-confirm-actions .primary-button,.student-confirm-actions .secondary-button{flex:1}}@media (width<=540px){.student-check-grid{grid-template-columns:1fr}}.page-loading{background:radial-gradient(circle at 50% 35%, var(--gold), transparent 38%), linear-gradient(155deg, var(--bg), var(--bg-deep));flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;display:flex}@supports (color:color-mix(in lab, red, red)){.page-loading{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 38%), linear-gradient(155deg, var(--bg), var(--bg-deep))}}.page-loading{color:var(--ink)}.page-loading-logo{background:url(/siteicon.svg) 50%/contain no-repeat;width:46px;height:46px}[data-theme=dark] .page-loading-logo{background-image:url(/siteicon-white.svg)}.page-loading-text{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-weight:750;display:inline-flex}.site-config-error .page-loading-text{text-align:center;max-width:340px;font-size:var(--fs-sm);letter-spacing:0;text-transform:none}.auth-page{background:var(--surface-solid);width:100%;min-height:100dvh;color:var(--ink);overflow-y:auto}.auth-shell{grid-template-columns:1fr 1fr;align-items:stretch;width:100%;min-height:100dvh;margin:0;padding:0;display:grid}.auth-aside{isolation:isolate;background:radial-gradient(circle at 22% 16%, #fff0ba38, transparent 32%), radial-gradient(circle at 84% 82%, #c9a2272e, transparent 36%), linear-gradient(150deg, var(--brand), var(--brand-deep));color:#fff8ec;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(32px,5vw,76px);display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";z-index:-1;background-image:linear-gradient(#fff8ec13 1px,#0000 1px),linear-gradient(90deg,#fff8ec13 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.auth-aside:after{content:"";z-index:-1;border:1px solid #fff0ba38;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-140px;right:-130px;box-shadow:0 0 0 38px #fff0ba0d,0 0 0 76px #fff0ba09}.auth-brand{color:#fff8ec;align-items:center;gap:13px;width:fit-content;text-decoration:none;display:inline-flex}.auth-brand-icon{background:url(/siteicon-white.svg) 50%/contain no-repeat;flex:none;width:54px;height:54px}.auth-brand-text{font-size:var(--fs-lg);letter-spacing:.005em;flex-direction:column;gap:4px;font-weight:800;line-height:1.15;display:flex}.auth-brand-text small{color:#fff8eca3;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.auth-aside-copy{max-width:620px;padding:clamp(32px,8vh,90px) 0}.auth-aside .panel-eyebrow{color:#f0d58a}.auth-aside-copy h1{font-family:var(--sans);letter-spacing:-.04em;margin:10px 0 0;font-size:clamp(34px,3.5vw,50px);font-weight:560;line-height:1.01}.auth-aside-copy>p:not(.panel-eyebrow){color:#fff8ecb8;max-width:420px;font-size:var(--fs-base);margin:15px 0 0;line-height:1.65}.auth-points{flex-direction:column;gap:13px;margin:28px 0 0;padding:0;list-style:none;display:flex}.auth-points li{color:#fff8ecdb;font-size:var(--fs-sm);align-items:center;gap:11px;font-weight:650;display:flex}.auth-point-icon{color:#f0d58a;background:#fff8ec14;border:1px solid #fff0ba47;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.auth-copyright{color:#fff8ec9e;font-size:var(--fs-base);letter-spacing:.01em;margin:0}.auth-copyright a{color:#fff8ece6;text-decoration:none;transition:color .16s}.auth-copyright a:hover{color:#fff8ec;text-underline-offset:2px;text-decoration:underline}.auth-copyright strong{color:#fff8ec;font-weight:800}.auth-main{background:var(--surface-solid);flex-direction:column;min-height:100dvh;padding:clamp(26px,4vw,52px);display:flex}.auth-main-top{justify-content:flex-end;align-items:center;gap:10px;min-height:40px;display:flex}.auth-mobile-brand{color:var(--ink);font-size:var(--fs-base);letter-spacing:-.01em;align-items:center;gap:9px;font-weight:800;text-decoration:none;display:none}.auth-mobile-logo{background:url(/siteicon.svg) 50%/contain no-repeat;flex:none;width:34px;height:34px}[data-theme=dark] .auth-mobile-logo{background-image:url(/siteicon-white.svg)}.auth-theme-button{border:1px solid var(--maroon);place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-theme-button{border:1px solid color-mix(in srgb, var(--maroon) 12%, var(--line))}}.auth-theme-button{background:var(--bg);color:var(--ink);border-radius:11px;transition:background .16s,border-color .16s,transform .16s}.auth-theme-button:hover{background:var(--surface-solid);border-color:var(--line-strong);transform:translateY(-1px)}.auth-card{width:min(400px,100%);margin:auto;padding:clamp(24px,6vh,64px) 0}.auth-card h2{font-family:var(--sans);font-size:var(--fs-5xl);letter-spacing:-.04em;margin:0;font-weight:570;line-height:1}.auth-copy{color:var(--muted);font-size:var(--fs-base);margin:12px 0 0;line-height:1.55}.auth-card .login-form{margin-top:24px}.auth-card .login-field input{height:46px}.auth-card .login-submit{justify-content:center;align-items:center;gap:7px;height:46px;display:inline-flex}.auth-invite-summary{border:1px solid var(--maroon);gap:9px;margin-top:18px;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-invite-summary{border:1px solid color-mix(in srgb, var(--maroon) 13%, var(--line))}}.auth-invite-summary{background:var(--maroon);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.auth-invite-summary{background:color-mix(in srgb, var(--maroon) 4%, var(--surface-solid))}}.auth-invite-summary>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-invite-summary span{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.auth-invite-summary strong{min-width:0;color:var(--ink);font-size:var(--fs-sm);overflow-wrap:anywhere;text-align:right;font-weight:700}.auth-invite-state{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.auth-invite-state .auth-copy{margin:0}.auth-invite-icon{border:1px solid var(--maroon);place-items:center;width:46px;height:46px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon{border:1px solid color-mix(in srgb, var(--maroon) 14%, var(--line))}}.auth-invite-icon{background:var(--maroon);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon{background:color-mix(in srgb, var(--maroon) 7%, var(--surface-solid))}}.auth-invite-icon{color:var(--maroon)}.auth-invite-icon.is-error{border-color:#a33a32}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon.is-error{border-color:color-mix(in srgb, #a33a32 22%, var(--line))}}.auth-invite-icon.is-error{background:#a33a32}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon.is-error{background:color-mix(in srgb, #a33a32 8%, var(--surface-solid))}}.auth-invite-icon.is-error{color:#a33a32}.auth-invite-icon.is-success{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon.is-success{border-color:color-mix(in srgb, var(--green) 26%, var(--line))}}.auth-invite-icon.is-success{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.auth-invite-icon.is-success{background:color-mix(in srgb, var(--green) 9%, var(--surface-solid))}}.auth-invite-icon.is-success{color:var(--green)}[data-theme=dark] .auth-invite-icon{color:var(--gold-bright)}[data-theme=dark] .auth-invite-icon.is-error{color:#e58b84}[data-theme=dark] .auth-invite-icon.is-success{color:#a8d18a}.auth-invite-state .primary-button{margin-top:4px}.auth-form-footer{flex-direction:column;align-items:center;gap:9px;margin-top:4px;padding-top:12px;display:flex}.auth-back-inline{color:var(--muted);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:6px;font-weight:750;text-decoration:none;transition:color .16s;display:inline-flex}.auth-back-inline:hover{color:var(--ink)}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{min-height:100dvh;padding:18px 20px 28px}.auth-main-top{justify-content:space-between}.auth-mobile-brand{display:inline-flex}.auth-card{padding:48px 0 24px}.auth-card h2{font-size:var(--fs-5xl)}}.email-field{--email-radius:8px;font-size:var(--fs-base);display:block;position:relative}.login-field .email-field{--email-radius:11px;font-size:var(--fs-md)}.email-field input{padding-right:10.5em!important}.email-domain{border-left:1px solid var(--line);border-radius:0 var(--email-radius) var(--email-radius) 0;background:var(--ink);align-items:center;padding:0 11px 0 10px;display:inline-flex;position:absolute;top:0;bottom:0;right:0}@supports (color:color-mix(in lab, red, red)){.email-domain{background:color-mix(in srgb, var(--ink) 4%, transparent)}}.email-domain{color:var(--muted);font-size:inherit;letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:650}.email-field:focus-within .email-domain{border-left-color:var(--line-strong);color:var(--ink)}.login-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.login-forgot{color:var(--maroon);font-size:var(--fs-xs);letter-spacing:0;text-transform:none;white-space:nowrap;font-weight:700;text-decoration:none}.login-forgot:hover{text-underline-offset:2px;text-decoration:underline}[data-theme=dark] .login-forgot{color:var(--gold-bright)}.login-success{background:var(--green);border-radius:9px;margin:0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.login-success{background:color-mix(in srgb, var(--green) 15%, transparent)}}.login-success{color:var(--green);font-size:var(--fs-sm);line-height:1.5}[data-theme=dark] .login-success{color:#a8d18a}.login-success strong{margin-bottom:4px;display:block}.login-success p{margin:0 0 10px}.login-success .auth-back-inline{margin-top:4px}.password-strength{align-items:center;gap:9px;margin-top:-2px;display:flex}.password-strength-bars{flex:1;gap:4px;max-width:180px;display:flex}.password-strength-bars span{background:var(--line);border-radius:999px;flex:1;height:6px;transition:background .16s}.password-strength.is-1 .is-filled{background:#b4453c}.password-strength.is-2 .is-filled{background:#c07a24}.password-strength.is-3 .is-filled{background:var(--gold)}.password-strength.is-4 .is-filled{background:var(--green)}.password-strength-label{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;font-weight:700}.password-match{color:var(--green);font-size:var(--fs-xs);margin:0;font-weight:700}[data-theme=dark] .password-match{color:#a8d18a}.dashboard-field-full{grid-column:1/-1}.dashboard-settings-form input[readonly]{background:var(--dashboard-bg);color:var(--muted)}.dashboard-settings-form .login-password input{padding-right:44px}.campus-arrival{z-index:200;color:var(--ink);pointer-events:auto;background:0 0;position:fixed;inset:0;overflow:hidden}.app-shell.is-arriving .top-bar,.app-shell.is-arriving .map-controls,.app-shell.is-arriving .explore-panel,.app-shell.is-arriving .map-hint,.app-shell.is-arriving .panel-open,.app-shell.is-arriving .map-attribution,.app-shell.is-arriving .map-overlay{opacity:0;visibility:hidden}.app-shell.is-arriving .search-dock{z-index:210}.arrival-sky{z-index:0;background:radial-gradient(circle at 50% 44%,#fdf7ea 0%,#f6ead6 30%,#eddcbf 64%,#e2ccaa 100%);position:absolute;inset:0}[data-theme=dark] .arrival-sky{background:radial-gradient(circle at 50% 44%,#342a21 0%,#211b15 38%,#14100d 70%,#0a0807 100%)}.arrival-grid{z-index:1;opacity:.75;background-image:linear-gradient(#6a00320f 1px,#0000 1px),linear-gradient(90deg,#6a00320f 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 72%)}[data-theme=dark] .arrival-grid{background-image:linear-gradient(#f0d5960e 1px,#0000 1px),linear-gradient(90deg,#f0d5960e 1px,#0000 1px)}.arrival-glow{z-index:2;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffe09494,#0000 64%);border-radius:50%;width:min(78vw,900px);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .arrival-glow{background:radial-gradient(circle,#d7ae4342,#0000 64%)}.arrival-clouds{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.arrival-cloud{will-change:transform, opacity;transform-origin:50% 45%;position:absolute;inset:-22%}.arrival-wisp{z-index:4;pointer-events:none;will-change:transform, opacity;background:radial-gradient(#ffffff8f 0 20%,#faf1e247 46%,#0000 72%);border-radius:50%;height:8%;position:absolute}.arrival-wisp-one{width:46%;top:46%;left:30%;transform:rotate(-7deg)}.arrival-wisp-two{opacity:.7;width:38%;top:59%;left:46%;transform:rotate(5deg)}[data-theme=dark] .arrival-wisp{background:radial-gradient(#8674626b 0 24%,#5c4f4242 48%,#0000 74%)}.arrival-brand{z-index:5;align-items:center;gap:14px;display:flex;position:absolute;top:clamp(24px,5vw,58px);left:clamp(20px,6vw,72px)}.arrival-mark{background:url(/siteicon.svg) 50%/contain no-repeat;flex:none;width:48px;height:48px}[data-theme=dark] .arrival-mark{background-image:url(/siteicon-white.svg)}.arrival-brand-text{font-size:var(--fs-lg);letter-spacing:.005em;flex-direction:column;gap:4px;font-weight:800;line-height:1.15;display:flex}.arrival-brand-text small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.arrival-copy{z-index:5;width:min(620px,100vw - 40px);padding-right:24px;position:absolute;top:50%;left:clamp(20px,6vw,72px);transform:translateY(-50%)}.arrival-copy .panel-eyebrow{color:var(--maroon)}[data-theme=dark] .arrival-copy .panel-eyebrow{color:var(--gold-bright)}.arrival-copy h1{font-family:var(--sans);letter-spacing:-.045em;margin:12px 0 0;font-size:clamp(44px,6.2vw,82px);font-weight:560;line-height:.98}.arrival-copy p:last-child{max-width:380px;color:var(--muted);font-size:var(--fs-md);margin:18px 0 0;line-height:1.55}.arrival-status{z-index:5;flex-direction:column;gap:9px;display:flex;position:absolute;bottom:clamp(26px,5vw,58px);left:clamp(20px,6vw,72px)}.arrival-status>span:first-child{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:750}.arrival-progress{background:var(--ink);width:min(260px,56vw);height:2px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.arrival-progress{background:color-mix(in srgb, var(--ink) 12%, transparent)}}.arrival-progress{border-radius:999px}.arrival-progress-fill{background:var(--maroon);border-radius:inherit;transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}[data-theme=dark] .arrival-progress-fill{background:var(--gold-bright)}.arrival-coordinates{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.arrival-skip{z-index:6;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 13px;position:absolute;bottom:clamp(26px,5vw,58px);right:clamp(20px,6vw,72px)}@supports (color:color-mix(in lab, red, red)){.arrival-skip{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.arrival-skip{color:var(--muted);font-size:var(--fs-xs);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-weight:750;transition:background .16s,color .16s,border-color .16s}.arrival-skip:hover{border-color:var(--line-strong);background:var(--surface-solid);color:var(--ink)}.campus-arrival.is-lite .arrival-cloud-front .cloud-c,.campus-arrival.is-lite .arrival-wisp{display:none}@media (width<=700px){.arrival-brand{gap:11px;top:22px;left:20px}.arrival-mark{width:40px;height:40px}.arrival-brand-text{font-size:var(--fs-md)}.arrival-copy{width:calc(100vw - 40px);padding-right:12px;top:40%;left:20px}.arrival-copy h1{font-size:clamp(38px,11vw,56px)}.arrival-copy p:last-child{font-size:var(--fs-base);margin-top:14px}.arrival-status{bottom:24px;left:20px}.arrival-progress{width:min(200px,48vw)}.arrival-skip{bottom:22px;right:20px}.arrival-coordinates{display:none}}.campus-arrival{--arrival-cloud-top:#fffefb;--arrival-cloud-mid:#fcf5e8;--arrival-cloud-bottom:#f2e4ce}[data-theme=dark] .campus-arrival{--arrival-cloud-top:#8a745e;--arrival-cloud-mid:#5e4e3e;--arrival-cloud-bottom:#4a3d31}.arrival-cloud,[data-theme=dark] .arrival-cloud{filter:blur(3.5px)}.arrival-cloud-cluster{aspect-ratio:322/120;height:auto;display:block;position:absolute;overflow:visible}.arrival-cloud-back .cloud-a{width:34%;top:23%;left:-4%}.arrival-cloud-back .cloud-b{width:30%;top:17%;left:23%}.arrival-cloud-back .cloud-c{width:32%;top:22%;left:49%}.arrival-cloud-back .cloud-d{width:32%;top:16%;left:78%}.arrival-cloud-mid .cloud-a{width:34%;top:40%;left:-4%}.arrival-cloud-mid .cloud-b{width:26%;top:43%;left:23%}.arrival-cloud-mid .cloud-c{width:34%;top:44%;left:50%}.arrival-cloud-mid .cloud-d{width:28%;top:55%;left:80%}.arrival-cloud-front .cloud-a{width:48%;top:78%;left:-10%}.arrival-cloud-front .cloud-b{width:42%;top:72%;left:30%}.arrival-cloud-front .cloud-c{width:44%;top:78%;left:68%}.campus-arrival.is-lite .arrival-cloud{filter:blur(1.5px)}@media (width<=700px){.arrival-cloud-back .cloud-a{width:58%;top:26%;left:-14%}.arrival-cloud-back .cloud-b{width:50%;top:21%;left:30%}.arrival-cloud-back .cloud-c{width:56%;top:25%;left:61%}.arrival-cloud-back .cloud-d{width:42%;top:19%;left:94%}.arrival-cloud-mid .cloud-a{width:66%;top:38%;left:-28%}.arrival-cloud-mid .cloud-b{width:52%;top:46%;left:26%}.arrival-cloud-mid .cloud-c{width:62%;top:40%;left:56%}.arrival-cloud-mid .cloud-d{width:50%;top:50%;left:90%}.arrival-cloud-front .cloud-a{width:78%;top:74%;left:-30%}.arrival-cloud-front .cloud-b{width:70%;top:70%;left:22%}.arrival-cloud-front .cloud-c{width:68%;top:75%;left:68%}}[data-performance=high] :is(.brand-lockup,.map-loading,.building-label,.chair-group-label,.icon-button,.edit-button,.dashboard-button,.search-box,.explore-panel,.panel-open,.poi-hero-icon,.map-control,.map-hint,.map-attribution,.building-toast,.modal-backdrop,.focus-blur),[data-performance=balanced] :is(.brand-lockup,.map-loading,.building-label,.chair-group-label,.icon-button,.edit-button,.dashboard-button,.search-box,.explore-panel,.panel-open,.poi-hero-icon,.map-control,.map-hint,.map-attribution,.building-toast,.modal-backdrop,.focus-blur),[data-performance=lite] :is(.brand-lockup,.map-loading,.building-label,.chair-group-label,.icon-button,.edit-button,.dashboard-button,.search-box,.explore-panel,.panel-open,.poi-hero-icon,.map-control,.map-hint,.map-attribution,.building-toast,.modal-backdrop,.focus-blur){-webkit-backdrop-filter:none;backdrop-filter:none}[data-performance=balanced] .map-texture,[data-performance=lite] .map-texture,[data-performance=lite] .firefly-canvas{display:none}[data-performance=balanced] :is(.brand-lockup,.search-box,.explore-panel,.panel-open,.map-control:not(.is-active),.map-hint,.map-attribution,.building-toast,.building-label,.chair-group-label,.map-loading),[data-performance=lite] :is(.brand-lockup,.search-box,.explore-panel,.panel-open,.map-control:not(.is-active),.map-hint,.map-attribution,.building-toast,.building-label,.chair-group-label,.map-loading){background:var(--surface-solid)}[data-performance=lite] :is(.map-control,.brand-lockup,.search-box,.explore-panel,.panel-open,.building-label,.chair-group-label,.map-hint,.map-attribution,.building-toast){box-shadow:none}[data-performance=lite] .map-control,[data-performance=lite] .building-label{transition:none}.breakdown-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;display:flex}.breakdown-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.breakdown-section-head>div{min-width:0}.breakdown-section-head h2{font-size:var(--fs-2xl)}.breakdown-section-head .breakdown-refresh{align-self:flex-end;margin-left:auto}.breakdown-summary{flex-wrap:wrap;gap:7px;display:flex}.breakdown-summary span{border:1px solid var(--line);background:var(--dashboard-field);color:var(--muted);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-weight:600;display:inline-flex}.breakdown-summary span:first-child{border-color:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:first-child{border-color:color-mix(in srgb, var(--maroon) 28%, var(--line))}}.breakdown-summary span:first-child{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:first-child{background:color-mix(in srgb, var(--maroon) 9%, var(--dashboard-surface))}}.breakdown-summary span:first-child{color:var(--maroon)}.breakdown-summary span:nth-child(2){border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:nth-child(2){border-color:color-mix(in srgb, var(--green) 34%, var(--line))}}.breakdown-summary span:nth-child(2){background:var(--green)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:nth-child(2){background:color-mix(in srgb, var(--green) 11%, var(--dashboard-surface))}}.breakdown-summary span:nth-child(2){color:#3f6b4a}.breakdown-summary span:nth-child(3){border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:nth-child(3){border-color:color-mix(in srgb, var(--gold) 40%, var(--line))}}.breakdown-summary span:nth-child(3){background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.breakdown-summary span:nth-child(3){background:color-mix(in srgb, var(--gold) 14%, var(--dashboard-surface))}}.breakdown-summary span:nth-child(3){color:#8a6515}.breakdown-summary strong{color:inherit;font-weight:800}.breakdown-summary small{color:var(--muted);font-size:var(--fs-2xs);font-weight:600}.breakdown-value{display:block}.breakdown-secondary{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;margin-top:2px;font-weight:600;display:block}[data-theme=dark] .breakdown-summary span:first-child{color:#e7b3cc}[data-theme=dark] .breakdown-summary span:nth-child(2){color:#a8d18a}[data-theme=dark] .breakdown-summary span:nth-child(3){color:var(--gold-bright)}.breakdown-switch{border:1px solid var(--line);background:var(--dashboard-field);border-radius:10px;align-self:flex-start;gap:3px;padding:3px;display:inline-flex}.breakdown-switch button{color:var(--muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-weight:750;transition:background .15s,color .15s}.breakdown-switch button:not(.is-active){background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.breakdown-switch button:not(.is-active){background:color-mix(in srgb, var(--maroon) 4%, transparent)}}.breakdown-switch button:not(.is-active){color:var(--maroon)}.breakdown-switch button:hover{background:var(--maroon)}@supports (color:color-mix(in lab, red, red)){.breakdown-switch button:hover{background:color-mix(in srgb, var(--maroon) 9%, transparent)}}.breakdown-switch button:hover{color:var(--maroon)}.breakdown-switch button.is-active{background:var(--brand);color:#fff8ec}.breakdown-panel{padding:0;overflow:hidden}.breakdown-table-wrap{overflow-x:auto}.breakdown-table{border-collapse:collapse;width:100%;min-width:760px}.breakdown-table th,.breakdown-table td{border-bottom:1px solid var(--line);font-size:var(--fs-xs);text-align:right;white-space:nowrap;padding:10px 9px}.breakdown-table thead th{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.breakdown-table thead th:first-child,.breakdown-table tbody th[scope=row]{text-align:left}.breakdown-table tbody th[scope=row]{white-space:normal;min-width:220px;font-weight:650}.breakdown-table tbody tr:last-child th,.breakdown-table tbody tr:last-child td{border-bottom:0}.breakdown-table tbody tr:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.breakdown-table tbody tr:hover{background:color-mix(in srgb, var(--muted) 4%, transparent)}}.breakdown-name{display:block}.breakdown-school{color:var(--muted);font-size:var(--fs-2xs);margin-top:2px;font-weight:550;display:block}.breakdown-empty{color:var(--muted);text-align:center!important;padding:26px 12px!important}.breakdown-note{margin:10px 12px 12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
