@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.blur{--tw-blur:blur(8px);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,)}.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,)}}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk-Regular.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#172033;--muted:#687286;--line:#434c691f;--violet:#7657ff;--violet-2:#5d3be1;--panel:#ffffffb8;--panel-strong:#ffffffe6;--surface:#eef2f7;--shadow:0 18px 55px #282d461c, inset 0 1px 0 #ffffffd1}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:var(--surface);letter-spacing:-.01em;font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}button,input,textarea{font:inherit}button{color:inherit}svg{stroke-width:1.8px;width:19px;height:19px}.glass{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px)saturate(155%);border:1px solid #ffffffbd}[data-theme=dark]{--ink:#f3f5fb;--muted:#aeb6c8;--line:#dbe1f51f;--panel:#1d2232c2;--panel-strong:#252b3eeb;--surface:#111621;--shadow:0 22px 65px #00000047, inset 0 1px 0 #ffffff17;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.primary{cursor:pointer;color:#fff;background:linear-gradient(135deg,#8569ff,#5c3ad8);border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;height:46px;padding:0 19px;font-size:14px;font-weight:680;display:inline-flex;box-shadow:0 12px 26px #603fdc42,inset 0 1px #ffffff57}.primary:disabled{opacity:.45;cursor:not-allowed}.dashboard{background:radial-gradient(circle at 78% -8%, #8362ff29, transparent 35%), radial-gradient(circle at 18% 102%, #40cabb1c, transparent 31%), var(--surface);grid-template-columns:276px 1fr;min-height:100vh;transition:background .25s;display:grid}.dash-nav{z-index:20;border-radius:27px;flex-direction:column;width:240px;padding:27px 18px 17px;display:flex;position:fixed;top:18px;bottom:18px;left:18px}.brand{letter-spacing:-1.4px;align-items:center;gap:12px;height:50px;padding:0 11px;font-size:25px;display:flex}.brand-logo{object-fit:contain;width:126px;height:auto;display:block}.dash-nav nav{gap:8px;margin-top:31px;display:grid}.dash-nav nav button,.nav-footer button{height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:580;display:flex}.dash-nav nav span{text-align:center;background:var(--panel-strong);border-radius:12px;min-width:24px;margin-left:auto;padding:3px 7px;font-size:11px}.nav-footer{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding-top:16px;display:grid}.nav-footer button:last-child{color:#df5d73}.dash-content{grid-column:2;width:100%;max-width:1460px;margin:0 auto;padding:58px clamp(36px,5vw,78px) 40px}.dash-content>header{justify-content:space-between;align-items:flex-end;margin-bottom:34px;display:flex}.dash-content header em{letter-spacing:1.7px;color:#7354f1;align-items:center;gap:7px;font-size:11px;font-style:normal;font-weight:760;display:flex}.dash-content header em svg{width:14px}.dash-content h1{letter-spacing:-2.1px;margin:10px 0 6px;font-size:44px;line-height:.98}.dash-content header p{color:var(--muted);margin:0;font-size:16px}.metrics{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.metrics article{border-radius:22px;align-items:center;gap:17px;min-height:118px;padding:22px;display:flex}.metric{border-radius:16px;flex:0 0 50px;place-items:center;width:50px;height:50px;display:grid;box-shadow:inset 0 1px #fff}.metric svg{width:22px;height:22px}.metric.purple{color:#6544ed;background:linear-gradient(145deg,#eeeaff,#dcd2ff)}.metric.teal{color:#0b9586;background:linear-gradient(145deg,#dcfaf5,#c5f0e8)}.metric.amber{color:#d88900;background:linear-gradient(145deg,#fff3d6,#ffe4aa)}.metrics p{gap:2px;margin:0;display:grid}.metrics small{color:var(--muted);font-size:12px}.metrics b{letter-spacing:-1px;font-size:28px}.metrics em{color:var(--muted);font-size:11px;font-style:normal}.project-tools{align-items:center;gap:14px;margin:34px 0 26px;display:flex}.project-tools>label{border:1px solid var(--line);background:var(--panel);width:290px;height:44px;color:var(--muted);border-radius:13px;align-items:center;gap:10px;padding:0 14px;display:flex}.project-tools input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.project-tools>div{gap:6px;display:flex}.project-tools>div button,.square{height:39px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;padding:0 14px;font-size:12px}.project-tools>div button.active{background:var(--panel-strong);color:#6747e4;border-color:var(--line);box-shadow:0 5px 15px #2a2e480f}.square{background:var(--panel-strong);border-color:var(--line);place-items:center;width:42px;margin-left:auto;padding:0;display:grid}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title h2{margin:0;font-size:16px}.section-title span{color:var(--muted);font-size:12px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.project-card{cursor:pointer;border-radius:23px;outline:0;transition:transform .22s,box-shadow .22s;overflow:hidden}.preview{background:#dfe9ee;height:190px;position:relative;overflow:hidden}.mini-map{position:absolute;inset:0}.mini-map .maplibregl-canvas{filter:saturate(.78)contrast(.93)brightness(1.04)}.status,.special{z-index:3;color:#41495a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd6;border-radius:11px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:700;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 5px 17px #1e233714}.status i{background:#22b68c;border-radius:50%;width:7px;height:7px}.status.planning i{background:#f0a72b}.status.complete i{background:#e25570}.special{color:#624bc4;top:auto;bottom:13px}.special svg{width:13px}.preview>button{z-index:4;color:#6e7687;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd6;border:0;border-radius:11px;width:34px;height:34px;position:absolute;top:13px;right:13px}.map-card-actions{z-index:8;position:absolute;top:9px;right:9px}.map-card-menu-trigger{color:#4e5868;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;box-shadow:0 7px 20px #232b371f}.map-card-menu-trigger svg{width:18px}.map-card-menu{border-radius:18px;gap:3px;width:218px;padding:7px;display:grid;position:absolute;top:43px;right:0;box-shadow:0 24px 55px #1c222c40}.map-card-menu>button{min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:13px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;display:grid}.map-card-menu>button:hover{background:#7657ff17}.map-card-menu>button>svg{color:#6546e2;width:18px}.map-card-menu>button>span{gap:2px;display:grid}.map-card-menu>button b{font-size:12px}.map-card-menu>button small{color:var(--muted);font-size:9px;line-height:1.3}.map-card-menu>button.danger:hover{background:#e24e6917}.map-card-menu>button.danger>svg,.map-card-menu>button.danger b{color:#d94761}[data-theme=dark] .map-card-menu-trigger{color:#1c2430}.project-card:has(.map-card-menu){z-index:30;position:relative}.project-card:has(.map-card-menu) .preview{z-index:10;overflow:visible}.project-card:has(.map-card-menu) .card-info{z-index:1;position:relative}.project-card:has(.map-card-menu) .map-card-menu{z-index:40}.delete-map-modal{width:min(520px,100vw - 28px)}.delete-map-warning{color:#c83d57;background:#e24e6914;border:1px solid #e24e6933;border-radius:20px;align-items:flex-start;gap:13px;margin-top:18px;padding:18px;display:flex}.delete-map-warning>svg{flex:0 0 22px;width:22px}.delete-map-warning>div{gap:6px;display:grid}.delete-map-warning b{color:var(--ink);font-size:16px}.delete-map-warning p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.delete-map-disconnect{color:var(--muted);margin:14px 4px 4px;font-size:11px;line-height:1.5}.delete-map-modal footer .delete-map-confirm{color:#fff;background:#d94761;border-color:#0000;box-shadow:0 10px 24px #d9476138}.delete-map-modal footer .delete-map-confirm svg{width:15px}.card-info>small{color:var(--muted);text-transform:uppercase;letter-spacing:.9px;font-size:9px}.card-info h3{letter-spacing:-.35px;margin:7px 0 16px;font-size:16px}.card-info p{color:var(--muted);gap:8px;margin:0;font-size:11px;display:grid}.card-info p span{align-items:center;gap:7px;display:flex}.dash-content>footer{color:var(--muted);align-items:center;gap:7px;margin-top:27px;font-size:10px;display:flex}.dash-content>footer svg{width:14px}.workspace{height:100vh;color:var(--ink);background:var(--surface);overflow:hidden}.work-head{z-index:30;border-width:0 0 1px;border-radius:0;align-items:center;height:78px;padding:0 22px;display:flex;position:relative}.work-head button{cursor:pointer;background:0 0;border:0}.back{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:620;display:flex}.work-head>i{background:var(--line);width:1px;height:30px;margin:0 20px}.title-edit{gap:4px;min-width:310px;display:grid}.title-edit input{width:305px;color:var(--ink);letter-spacing:-.35px;background:0 0;border:0;outline:0;padding:0;font-size:17px;font-weight:720}.title-edit span{color:var(--muted);text-transform:uppercase;letter-spacing:.9px;align-items:center;gap:6px;font-size:9px;display:flex}.title-edit span i{background:#17b68e;border-radius:50%;width:6px;height:6px}.title-edit span.map-status-planning i{background:#f0a72b}.title-edit span.map-status-live i{background:#22b68c}.title-edit span.map-status-complete i{background:#e25570}.dates{color:var(--muted);align-items:center;gap:13px;margin:auto;display:flex}.dates label{gap:2px;display:grid}.dates label small{color:var(--muted);letter-spacing:1px;font-size:8px}.dates input{color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:11px}.head-actions{align-items:center;gap:7px;display:flex}.head-actions button{height:39px;color:var(--muted);border-radius:11px;align-items:center;gap:7px;padding:0 12px;font-size:11px;display:flex}.head-actions button:hover{background:#7657ff14}.head-actions .save{color:#fff;background:linear-gradient(135deg,#8063ff,#6040df);padding:0 16px;box-shadow:0 8px 19px #6746e942}.map-settings{position:relative}.head-actions .cog{border:1px solid var(--line);background:var(--panel-strong);justify-content:center;width:39px;padding:0}.settings-popover{z-index:45;border-radius:19px;width:310px;padding:15px;position:absolute;top:49px;right:0}.settings-popover>small{color:var(--muted);letter-spacing:1.1px;padding:2px 5px 10px;font-size:9px;font-weight:700;display:block}.settings-popover .layer-toggle{border:1px solid var(--line);text-align:left;background:#ffffff57;border-radius:15px;align-items:center;width:100%;height:auto;min-height:64px;padding:11px}.layer-toggle>span{border:1px solid #6c74884d;border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.layer-toggle>span.checked{color:#fff;background:#171b23;border-color:#171b23}.layer-toggle>span svg{width:14px}.layer-toggle p{gap:3px;margin:0;display:grid}.layer-toggle b{color:var(--ink);font-size:13px}.layer-toggle small{color:var(--muted);font-size:10px;line-height:1.35}.side-panel{z-index:15;border-width:0 1px 0 0;border-radius:0;flex-direction:column;flex:0 0 370px;width:370px;transition:width .2s,flex-basis .2s;display:flex;overflow:hidden}.side-panel.closed{background:var(--panel-strong);flex-basis:58px;width:58px}.panel-open{height:58px;color:var(--muted);cursor:pointer;background:0 0;border:0}.tabs{border-bottom:1px solid var(--line);align-items:center;height:66px;padding:0 15px;display:flex}.tabs>div{flex:1;height:100%;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0}.tabs>div button{padding:0 14px;font-size:13px;font-weight:650;position:relative}.tabs>div button.active:after{content:"";background:#7657ff;border-radius:3px;height:3px;position:absolute;bottom:0;left:13px;right:13px}.tabs span{background:#7657ff1c;border-radius:10px;margin-left:4px;padding:2px 7px;font-size:10px}.tabs>button{padding:9px}.panel-actions{gap:8px;padding:15px;display:flex}.panel-actions button{border:1px solid var(--line);background:var(--panel-strong);height:42px;color:var(--muted);cursor:pointer;border-radius:12px;place-items:center;padding:0 12px;display:grid}.panel-actions .add{color:#fff;background:linear-gradient(135deg,#8165ff,#6545e4);border:0;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:670;display:flex}.panel-search{border:1px solid var(--line);background:var(--panel-strong);height:42px;color:var(--muted);border-radius:12px;align-items:center;gap:9px;margin:0 15px 13px;padding:0 12px;display:flex}.panel-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.selected-counter{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#ffffff3d;border-radius:12px;justify-content:space-between;align-items:center;margin:-4px 15px 10px;padding:0 11px;font-size:11px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.selected-counter span{align-items:baseline;gap:5px;display:flex}.selected-counter b{color:var(--ink);font-size:14px}.selected-counter.has-selection{background:#7657ff17;border-color:#7657ff38;box-shadow:inset 3px 0 #7657ff}.selected-counter button{color:#6245d5;cursor:pointer;font:inherit;background:#7657ff1f;border:0;border-radius:999px;padding:5px 8px;font-weight:650}.loc-list{padding:0 10px 18px;overflow:auto}.loc-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:15px;align-items:flex-start;gap:10px;width:100%;min-height:72px;margin:3px 0;padding:11px 9px;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.loc-row.selected{background:linear-gradient(135deg,#7657ff1f,#7657ff0d);border-color:#7657ff2e}.pin-icon{color:#fff;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 1px #ffffff52,0 5px 13px #2328411f}.pin-icon svg{width:16px}.loc-row .location-copy{flex:1;gap:3px;min-width:0;display:grid}.loc-row b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.loc-row small{color:var(--muted);font-size:11px}.loc-row em{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);opacity:.78;font-size:10px;font-style:normal;overflow:hidden}.group-intro{align-items:center;padding:22px 18px 17px;display:flex}.group-intro p,.group-list p{gap:4px;margin:0;display:grid}.group-intro>p>small{display:none}.group-intro small,.group-list small{color:var(--muted);font-size:11px}.group-intro button{color:#6546df;cursor:pointer;background:#7657ff1f;border:0;border-radius:10px;align-items:center;gap:5px;height:34px;margin-left:auto;padding:0 11px;font-size:11px;font-weight:650;display:flex}.group-intro-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.group-intro .group-intro-actions button{white-space:nowrap;margin-left:0}.group-intro .group-intro-actions .show-all-groups{color:var(--ink);background:#232a3414}.group-intro .group-intro-actions .link-installer-groups{color:#6546df;background:#7657ff21;justify-content:center;width:34px;padding:0}.group-intro .group-intro-actions .link-installer-groups:hover{background:#7657ff33}.group-intro .group-intro-actions .show-all-groups:disabled{opacity:.36;cursor:default}.group-intro-actions svg{width:14px}.installer-group-link-modal{width:min(500px,100vw - 30px)}.installer-group-link-message{border:1px solid var(--line);color:var(--ink);background:#ffffff38;border-radius:18px;margin:3px 0 6px;padding:18px;font-size:14px;line-height:1.5}[data-theme=dark] .installer-group-link-message{background:#ffffff0e}.group-list>div{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:66px;padding:7px 3px;display:flex}.group-list button{color:var(--muted);cursor:pointer;background:0 0;border:0}.group-list>div>i{border-radius:7px;width:10px;height:38px}.group-list p{flex:1}.group-list .assign{color:#6849e4;background:#7657ff1c;border-radius:9px;padding:7px 10px;font-size:10px}.group-row{border-radius:14px;transition:transform .18s,background .18s,box-shadow .18s,opacity .18s}.group-row.draggable{cursor:grab}.group-row.draggable:hover{background:#ffffff57;transform:translate(2px);box-shadow:0 8px 22px #22283714}.group-row.draggable:active{cursor:grabbing}.group-row.dragging{opacity:.48;transform:scale(.98)}.group-row>i{cursor:pointer;outline:0 solid #7657ff00;transition:transform .18s,box-shadow .18s,outline-color .18s}.group-row>i:hover{outline:3px solid #7657ff1f;transform:scaleX(1.24);box-shadow:0 5px 14px #22283733}.group-row p>b{cursor:text;border-radius:5px}.group-row p>b.group-name-editing{white-space:normal;background:#ffffffad;outline:2px solid #7657ff6b;min-width:120px;padding:3px 6px}.group-colour-popover{z-index:1200;color:#172033;background:#fbfaf8f0;border-radius:20px;width:250px;padding:15px;position:fixed;box-shadow:0 24px 64px #1b20333d,inset 0 1px #ffffffe6}.group-colour-popover.dark{color:#f3f5fb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1d2232f0;border-color:#ffffff1f;box-shadow:0 24px 64px #0000006b,inset 0 1px #ffffff17}.group-colour-popover>div:first-child{justify-content:space-between;align-items:center;display:flex}.group-colour-popover>div:first-child span{font-size:14px;font-weight:680}.group-colour-popover>div:first-child button{width:28px;height:28px;color:inherit;cursor:pointer;background:#626b7e1a;border:0;border-radius:9px;place-items:center;font-size:20px;line-height:1;display:grid}.group-colour-palette{grid-template-columns:repeat(6,1fr);gap:7px;margin:13px 0 12px;display:grid}.group-colour-palette button{cursor:pointer;border:3px solid #ffffffd1;border-radius:50%;width:29px;height:29px;padding:0;transition:transform .15s,outline-color .15s;box-shadow:0 3px 10px #1f253629}.group-colour-palette button:hover{transform:scale(1.1)}.group-colour-palette button.active{outline-offset:2px;outline:2px solid #7657ff}.group-custom-colour{cursor:pointer;background:#ffffff7a;border:1px solid #434c691f;border-radius:13px;justify-content:space-between;align-items:center;min-height:44px;padding:7px 8px 7px 12px;font-size:12px;display:flex}.group-colour-popover.dark .group-custom-colour{background:#ffffff0f;border-color:#ffffff1a}.group-custom-colour input{cursor:pointer;background:0 0;border:0;border-radius:9px;width:34px;height:30px;padding:2px}.drag-group-hint{color:#6546df;border-radius:10px;flex:0 0 30px;place-items:center;width:30px;height:36px;display:grid}.drag-group-hint svg{width:18px;height:18px}.map-stage{background:#d8e8ef;flex:1;min-width:0;position:relative;overflow:hidden}.map-stage.map-dark{background:#111820}.map-stage.group-drop-ready:after{content:"";z-index:18;pointer-events:none;background:#7657ff14;border:2px dashed #5b41d68f;border-radius:30px;position:absolute;inset:96px 18px 102px;box-shadow:inset 0 0 60px #7657ff14}.group-drop-guide{z-index:19;color:#181c24;-webkit-backdrop-filter:blur(25px)saturate(125%);pointer-events:none;background:#fdfbf7e6;border:1px solid #ffffffb3;border-radius:20px;align-items:center;gap:12px;min-width:290px;padding:15px 18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 62px #1d23313d}.group-drop-guide>i{border-radius:999px;width:10px;height:42px;box-shadow:inset 0 1px #ffffff73}.group-drop-guide>span{gap:4px;display:grid}.group-drop-guide b{font-size:14px}.group-drop-guide small{color:#667080;font-size:11px}.map{position:absolute;inset:0}.map-load-error{z-index:24;max-width:470px;color:var(--ink);background:#fcfaf6f5;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;display:flex;position:absolute;top:108px;left:50%;transform:translate(-50%);box-shadow:0 18px 45px #1b222e33}.map-load-error>svg{color:#d4475e;flex:0 0 22px;width:22px}.map-load-error>span{gap:3px;display:grid}.map-load-error b{font-size:14px}.map-load-error small{color:var(--muted);font-size:12px}.map-load-error button{color:#fff;cursor:pointer;min-height:36px;font:inherit;background:#171b23;border:0;border-radius:999px;margin-left:8px;padding:0 15px;font-size:12px;font-weight:700}[data-theme=dark] .map-load-error{background:#1c2129f7;box-shadow:0 20px 52px #0000006b}[data-theme=dark] .map-load-error button{color:#171b23;background:#fff}.maplibregl-map{background:#d8e8ef;font-family:inherit}.maplibregl-canvas{filter:saturate(.88)contrast(.96)brightness(1.025)}.map-dark .maplibregl-map{background:#111820}.map-dark .maplibregl-canvas{filter:saturate(.82)contrast(1.04)brightness(.94)}.maplibregl-ctrl-bottom-right{bottom:13px;right:13px}.maplibregl-ctrl-group{-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px);overflow:hidden;background:#ffffffb8!important;border-radius:13px!important;box-shadow:0 9px 28px #21263b2e!important}.maplibregl-ctrl-group button{opacity:.68}.map-dark .maplibregl-ctrl-group{background:#181f28c7!important;border-color:#ffffff1f!important;box-shadow:0 10px 30px #0000004d!important}.map-dark .maplibregl-ctrl-group button{filter:invert();opacity:.82}.map-credit{z-index:4;opacity:.46;gap:5px;font-size:7px;line-height:1;display:flex;position:absolute;bottom:4px;right:58px}.map-credit a{color:#4e5c6a;text-decoration:none}.map-credit:hover{opacity:.82}.map-dark .map-credit a{color:#d4dbe3}.marker-anchor{cursor:pointer;background:0 0;border:0;outline:0;place-items:end center;width:44px;height:52px;padding:0;display:grid}.pin-drop{color:#fff;background:var(--pin);filter:drop-shadow(0 4px 2.5px #10151f6b);transform-origin:50% 76%;border:0;border-radius:50% 50% 50% 0;place-items:center;width:31px;height:31px;margin-bottom:7px;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 7px 17px #1c223657,inset 0 1px #ffffff57}.pin-symbol{font-size:14px;line-height:1;transform:rotate(45deg)}.marker-anchor.is-selected:before{display:none}.marker-anchor.is-selected .pin-drop{filter:saturate(1.14)brightness(1.08)drop-shadow(0 5px 3px #0c111b80);box-shadow:0 12px 30px #181e2f61, 0 3px 28px var(--pin), inset 0 1px #ffffff6b;transform:rotate(-45deg)scale(1.24)}@supports (color:color-mix(in lab, red, red)){.marker-anchor.is-selected .pin-drop{box-shadow:0 12px 30px #181e2f61, 0 3px 28px color-mix(in srgb, var(--pin), transparent 24%), inset 0 1px #ffffff6b}}.marker-anchor.shape-pin{place-items:center;width:44px;height:44px}.marker-anchor.shape-pin .pin-drop{filter:none;transform-origin:50%;border:3px solid #fff;border-radius:50%;width:18px;height:18px;margin:0;transform:none;box-shadow:0 5px 13px #181e2f52,0 1px 3px #181e2f3d}.marker-anchor.shape-pin .pin-symbol{display:none}.marker-anchor.shape-pin.is-selected .pin-drop{filter:saturate(1.12)brightness(1.06);box-shadow:0 8px 22px #181e2f5c, 0 3px 24px var(--pin);transform:scale(1.38)}@supports (color:color-mix(in lab, red, red)){.marker-anchor.shape-pin.is-selected .pin-drop{box-shadow:0 8px 22px #181e2f5c, 0 3px 24px color-mix(in srgb, var(--pin), transparent 30%)}}.marker-anchor.is-excluded{opacity:.55;filter:grayscale(.45)}.maplibregl-marker{will-change:transform}.draw-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.draw-layer.active{pointer-events:auto}.tool-draw .draw-layer{cursor:var(--pen-cursor,crosshair)}.tool-erase .draw-layer{cursor:var(--eraser-cursor,not-allowed)}.tool-polygon .maplibregl-canvas-container,.tool-polygon .maplibregl-canvas{cursor:var(--plus-cursor,crosshair)!important}.tool-move .maplibregl-canvas,.tool-move .marker-anchor{cursor:var(--move-cursor,move)!important}.toolbar{z-index:9;white-space:nowrap;border-radius:20px;align-items:center;gap:3px;min-height:64px;padding:7px;display:flex;position:absolute;top:17px;left:50%;transform:translate(-50%)}.toolbar button{min-width:63px;height:50px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:13px;place-items:center;gap:2px;padding:5px 10px;display:grid}.toolbar>i{background:var(--line);width:1px;height:32px;margin:0 3px}.toolbar input{background:0 0;border:0;width:30px;height:30px;padding:0}.toolbar .capture-tool{cursor:var(--camera-cursor,cell)}.helper{z-index:8;border-radius:14px;align-items:center;gap:9px;padding:9px 9px 9px 14px;font-size:11px;display:flex;position:absolute;top:94px;left:50%;transform:translate(-50%)}.helper span{color:var(--muted);align-items:center;gap:7px;display:flex}.helper span b{color:var(--ink)}.helper button{height:31px;color:var(--muted);cursor:pointer;background:#7981961a;border:0;border-radius:9px;padding:0 11px;font-size:10px}.helper .primary-mini{color:#fff;background:#7657ff}.helper button:disabled{opacity:.4;cursor:not-allowed}.mode-note{z-index:8;color:#fff;background:#1d2332db;border-radius:12px;align-items:center;gap:8px;padding:9px 13px;font-size:11px;display:flex;position:absolute;top:95px;left:50%;transform:translate(-50%);box-shadow:0 9px 25px #1a1f3133}.overlay{z-index:12;border-radius:20px;width:320px;padding:16px;position:absolute;top:94px;right:18px}.overlay header{align-items:center;gap:10px;display:flex}.overlay header>span{color:#5d47c4;background:#7657ff1f;border-radius:12px;place-items:center;width:37px;height:37px;display:grid}.overlay header p,.overlay-row p{flex:1;gap:3px;margin:0;display:grid}.overlay header b{font-size:14px}.overlay header small,.overlay-row small{color:var(--muted);font-size:10px}.overlay header>button{color:var(--muted);cursor:pointer;background:0 0;border:0}.overlay-row{border:1px solid var(--line);background:#ffffff4d;border-radius:14px;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.overlay-row>i{background:#4ba9dc;border-radius:7px;width:10px;height:40px}.overlay-row b{font-size:12px}.overlay-row button{color:#527184;cursor:pointer;background:#4ba9dc1f;border:0;border-radius:9px;align-items:center;gap:5px;height:31px;padding:0 9px;font-size:10px;display:flex}.overlay-row button.active{color:#187cae;background:#4ba9dc33}.overlay-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:14px;margin:14px 0 2px;padding:16px;font-size:11px}.selection-inspector{z-index:10;border-radius:20px;width:285px;padding:17px;position:absolute;top:94px;right:18px}.selection-inspector header{justify-content:space-between;align-items:center;display:flex}.selection-inspector header div{gap:3px;display:grid}.selection-inspector header small,.selection-inspector>label{color:var(--muted);letter-spacing:.8px;font-size:9px;font-weight:700}.selection-inspector header b{font-size:15px}.selection-inspector header button{color:var(--muted);cursor:pointer;background:0 0;border:0}.selection-inspector>label{margin:16px 0 8px;display:block}.color-set,.shape-set{flex-wrap:wrap;gap:7px;display:flex}.color-set button{border:3px solid var(--panel-strong);cursor:pointer;border-radius:50%;width:29px;height:29px;transition:transform .16s,box-shadow .16s;box-shadow:0 0 0 1px #666f8738}.color-set button:hover{transform:scale(1.1);box-shadow:0 0 0 2px #666f8733,0 6px 14px #23293524}.color-set button.colour-wheel{border-color:var(--panel-strong);background:conic-gradient(from 20deg,#eb5d7b,#f3a62f,#f1df4d,#13b8a6,#4ba9dc,#7657ff,#eb5d7b);position:relative}.color-set button.colour-wheel:after{content:"+";color:#202631;background:#ffffffe6;border-radius:50%;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;inset:5px;box-shadow:0 2px 7px #1e243029}.saved-colours{border-top:1px solid var(--line);min-height:29px;margin-top:12px;padding-top:12px}.saved-colour{place-items:end start;width:34px;height:34px;display:grid;position:relative}.saved-colour .saved-colour-swatch{width:29px;height:29px}.saved-colour .remove-saved-colour{border:2px solid var(--panel-strong);color:#fff;background:#252a33;place-items:center;width:16px;height:16px;padding:0;display:grid;position:absolute;top:-3px;right:-1px;transform:none;box-shadow:0 3px 8px #1b202a47}.saved-colour .remove-saved-colour:hover{color:#fff;background:#e25570;transform:scale(1.08);box-shadow:0 4px 10px #e2557052}.saved-colour .remove-saved-colour svg{stroke-width:2.6px;width:9px;height:9px}[data-theme=dark] .color-set button.colour-wheel:after{color:#f4f2ec;background:#1b2027eb}.color-set button.colour-wheel.active{transform:scale(1.1);box-shadow:0 0 0 2px #7657ff47,0 8px 18px #3a2c8033}.custom-colour-picker{z-index:12;width:225px;color:var(--ink);-webkit-backdrop-filter:blur(28px)saturate(120%);background:#fcfaf6f7;border:1px solid #353b461f;border-radius:23px;padding:15px;position:absolute;top:430px;right:18px;box-shadow:0 25px 70px #181e273d,0 3px 12px #181e2717}.custom-colour-picker header{justify-content:space-between;align-items:center;display:flex}.custom-colour-picker header>div{gap:3px;display:grid}.custom-colour-picker header small{color:var(--muted);letter-spacing:.8px;font-size:9px;font-weight:700}.custom-colour-picker header b{font-size:14px}.custom-colour-picker header button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.rainbow-wheel{background:radial-gradient(circle, var(--wheel-neutral) 0%, transparent 100%), conic-gradient(from 0deg, hsl(0 100% var(--wheel-lightness)), hsl(60 100% var(--wheel-lightness)), hsl(120 100% var(--wheel-lightness)), hsl(180 100% var(--wheel-lightness)), hsl(240 100% var(--wheel-lightness)), hsl(300 100% var(--wheel-lightness)), hsl(360 100% var(--wheel-lightness)));cursor:crosshair;touch-action:none;border:5px solid #ffffffc2;border-radius:50%;width:138px;height:138px;margin:14px auto 13px;display:block;position:relative;box-shadow:0 0 0 1px #585f7026,0 13px 30px #23283629}.rainbow-wheel>span{width:16px;height:16px;left:var(--wheel-x);top:var(--wheel-y);background:var(--chosen-colour);pointer-events:none;border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #161b2461}.colour-lightness{gap:6px;display:grid}.colour-lightness label{color:var(--muted);letter-spacing:.8px;font-size:9px;font-weight:700}.colour-lightness input{appearance:none;background:linear-gradient(90deg, #15171c, var(--chosen-colour), #fff);cursor:pointer;border-radius:999px;outline:0;width:100%;height:7px;margin:0}.colour-lightness input::-webkit-slider-thumb{appearance:none;background:var(--chosen-colour);border:3px solid #fff;border-radius:50%;width:17px;height:17px;box-shadow:0 2px 8px #161b2447}.custom-colour-picker footer{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:14px;padding-top:12px;display:flex}.custom-colour-picker footer>span{border:3px solid #ffffffc2;border-radius:50%;flex:0 0 30px;width:30px;height:30px;box-shadow:0 0 0 1px #585f7029}.custom-colour-picker footer button{color:#fff;cursor:pointer;height:34px;font:inherit;background:#171b23;border:0;border-radius:11px;flex:1;font-size:11px;font-weight:680}[data-theme=dark] .custom-colour-picker{background:#1c2129f7;border-color:#ffffff21;box-shadow:0 28px 74px #00000075}[data-theme=dark] .rainbow-wheel{border-color:#ffffff3d;box-shadow:0 0 0 1px #ffffff1f,0 14px 32px #00000052}[data-theme=dark] .custom-colour-picker footer button{color:#151921;background:#ffffffeb}.shape-set button{border:1px solid var(--line);width:35px;height:35px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:10px;place-items:center;display:grid}.selection-actions{border-top:1px solid var(--line);grid-template-columns:1fr;gap:7px;margin-top:17px;padding-top:13px;display:grid}.selection-actions button{border:1px solid var(--line);height:36px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:10px;display:flex}.selection-actions .danger{color:#dc536d;grid-column:1/-1}.selection-note-editor{border:1px solid var(--line);background:var(--panel-strong);border-radius:16px;margin-top:16px;padding:13px}.selection-note-editor>label{color:var(--muted);letter-spacing:.75px;margin-bottom:8px;font-size:9px;font-weight:720;display:block}.selection-note-editor .mixed-note-warning{color:#7b5d21;background:#f3a62f24;border-radius:9px;margin:-1px 0 9px;padding:8px 9px;font-size:10px;line-height:1.35;display:block}[data-theme=dark] .selection-note-editor .mixed-note-warning{color:#f4d596;background:#f3a62f2b}.selection-note-editor textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:92px;color:var(--ink);background:var(--panel);font:inherit;border-radius:11px;outline:0;padding:10px 11px;font-size:12px;line-height:1.45}.selection-note-editor textarea:focus{border-color:#a99aff;box-shadow:0 0 0 3px #7657ff1a}.selection-note-editor>div{justify-content:flex-end;gap:7px;margin-top:9px;display:flex}.selection-note-editor button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 11px;font-size:10px;display:flex}.selection-note-editor button.save-note{color:#fff;background:#171b23;border:0}.selection-note-editor button:disabled{opacity:.42;cursor:not-allowed}.pin-detail-popup{pointer-events:none}.pin-detail-popup .maplibregl-popup-content{color:#1d2430;-webkit-backdrop-filter:blur(22px)saturate(125%);backdrop-filter:blur(22px)saturate(125%);background:#fcfaf6f7;border:1px solid #3239451c;border-radius:18px;min-width:230px;padding:0;overflow:hidden;box-shadow:0 18px 50px #181f2a3d}.pin-detail-card{gap:4px;padding:15px 16px;display:grid}.pin-detail-card b{letter-spacing:-.2px;font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:600}.pin-detail-card span{color:#667080;font-size:12px}.pin-detail-card p{color:#3f4857;border-top:1px solid #32394517;margin:6px 0 0;padding-top:9px;font-size:12px;line-height:1.4}.pin-detail-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fcfaf6f7}.pin-detail-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#fcfaf6f7}[data-theme=dark] .pin-detail-popup .maplibregl-popup-content{color:#f5f3ee;background:#1c2129fa;border-color:#ffffff1f;box-shadow:0 22px 56px #00000075}[data-theme=dark] .pin-detail-card span{color:#b4bac4}[data-theme=dark] .pin-detail-card p{color:#d8dbe1;border-color:#ffffff1a}[data-theme=dark] .pin-detail-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#1c2129fa}[data-theme=dark] .pin-detail-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#1c2129fa}.notice{z-index:50;color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#1c2333e6;border:0;border-radius:13px;align-items:center;gap:8px;padding:11px 13px;font-size:11px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 13px 35px #151a2a40}.notice svg{width:15px}.modal-wrap{z-index:60;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1a1f2f42;place-items:center;display:grid;position:fixed;inset:0}.modal{border-radius:24px;width:min(520px,100vw - 30px);padding:24px}.modal header{align-items:center;gap:13px;margin-bottom:22px;display:flex}.modal header p{flex:1;gap:4px;margin:0;display:grid}.modal header b{color:var(--ink);letter-spacing:-.35px;font-size:18px;display:block}.modal header small{color:var(--muted);font-size:11px}.modal header>button{color:var(--muted);cursor:pointer;background:0 0;border:0}.modal>label{color:var(--muted);letter-spacing:.9px;justify-content:space-between;margin:14px 0 7px;font-size:9px;font-weight:730;display:flex}.modal>input,.modal textarea,.form-grid input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--panel-strong);border-radius:13px;outline:0;padding:12px 13px;font-size:12px}.modal textarea{resize:none;height:190px;font-family:inherit;line-height:1.6}.modal input:focus,.modal textarea:focus,.form-grid input:focus{border-color:#a99aff;box-shadow:0 0 0 4px #7657ff17}.tip{color:var(--muted);align-items:center;gap:7px;margin:11px 0;font-size:10px;display:flex}.modal footer{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.modal footer button{border:1px solid var(--line);height:41px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 14px;font-size:11px;display:flex}.modal footer .primary{color:#fff;background:linear-gradient(135deg,#8062ff,#6140dc);border:0}.unrecognised-wrap{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#151c286b}.unrecognised-modal{background:#fcfbf9f0;border-color:#ffffffb3;width:min(620px,100vw - 30px);padding:34px;box-shadow:0 28px 80px #191f2b3d}.unrecognised-modal header{align-items:flex-start}.unrecognised-modal header .unrecognised-icon{color:#ef464b;background:#ef464b1a;border-radius:20px;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid}.unrecognised-modal header .unrecognised-icon svg{width:25px}.unrecognised-modal header p{gap:7px;padding-top:5px}.unrecognised-modal header b{font-size:28px}.unrecognised-modal header small{max-width:430px;font-size:14px;line-height:1.45}.unrecognised-list{scrollbar-width:thin;gap:10px;max-height:min(340px,42vh);display:grid;overflow:auto}.unrecognised-list>div{color:#d9373d;background:#ef464b0b;border:1px solid #ef464b3d;border-radius:18px;align-items:center;gap:13px;min-height:54px;padding:0 18px;font-size:14px;font-weight:700;display:flex}.unrecognised-list svg{flex:0 0 17px;width:17px}.unrecognised-modal footer{grid-template-columns:1fr;gap:10px;margin-top:24px;display:grid}.unrecognised-modal footer button{letter-spacing:.8px;text-transform:uppercase;border-radius:999px;justify-content:center;width:100%;height:50px;font-size:12px;font-weight:750}.unrecognised-modal footer .copy-unrecognised{color:#42506a;background:#e8edf4c7}.unrecognised-modal footer .copy-unrecognised.copied{color:#087b61;background:#22b68c1f}.unrecognised-modal footer .primary{background:#111a2d;box-shadow:0 13px 26px #111a2d2b}[data-theme=dark] .unrecognised-modal{background:#1c2129f5;border-color:#ffffff21}[data-theme=dark] .unrecognised-modal footer .copy-unrecognised{color:#dce4f1;background:#ffffff12}.form-grid{grid-template-columns:1fr 1fr;gap:15px 13px;display:grid}.form-grid label{color:var(--muted);letter-spacing:.8px;gap:8px;font-size:9px;font-weight:720;display:grid}.form-grid label:nth-child(-n+2){grid-column:1/-1}.group-colors{gap:10px;display:flex}.group-colors button{border:3px solid var(--panel-strong);cursor:pointer;border-radius:50%;width:31px;height:31px;box-shadow:0 0 0 1px #676f8733}.group-colors button.active{box-shadow:0 0 0 2px #7657ff}.connect-project-modal{width:min(620px,100vw - 30px);max-height:calc(100vh - 34px);overflow-y:auto}.modal select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;padding:0 13px;font-size:12px}.glass-select{z-index:1;width:100%;min-width:0;color:var(--ink);font:inherit;letter-spacing:0;position:relative}.glass-select.open{z-index:120}.glass-select>button{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:0 13px 0 15px;font-size:12px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex;box-shadow:inset 0 1px #ffffff80}.glass-select>button:hover{background:#ffffff85;border-color:#7657ff47}.glass-select.open>button,.glass-select>button:focus-visible{border-color:#7657ff7a;outline:0;box-shadow:0 0 0 4px #7657ff17,inset 0 1px #fff9}.glass-select>button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.glass-select>button>span.placeholder{color:var(--muted)}.glass-select>button>svg{width:16px;color:var(--muted);flex:0 0 16px;transition:transform .2s}.glass-select.open>button>svg{transform:rotate(180deg)}.glass-select-menu{z-index:150;-webkit-backdrop-filter:blur(30px)saturate(145%);backdrop-filter:blur(30px)saturate(145%);scrollbar-width:thin;scrollbar-color:#5961714d transparent;background:#faf8f4eb;border:1px solid #ffffffb8;border-radius:19px;min-width:100%;max-height:min(330px,42vh);padding:7px;animation:.16s both glass-select-in;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 24px 70px #1f253138,inset 0 1px #ffffffdb}.glass-select-menu.glass-select-portal{z-index:1000;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6a707e61 transparent;min-width:0;right:auto}.glass-select-menu.glass-select-portal::-webkit-scrollbar{width:9px}.glass-select-menu.glass-select-portal::-webkit-scrollbar-track{background:0 0;border-radius:999px;margin:9px 0}.glass-select-menu.glass-select-portal::-webkit-scrollbar-thumb{background:#6a707e5c padding-box padding-box;border:3px solid #0000;border-radius:999px;min-height:34px}.glass-select-menu.glass-select-portal::-webkit-scrollbar-thumb:hover{background:#5a606f8c padding-box padding-box}@keyframes glass-select-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:none}}.glass-select-menu>button{width:100%;min-height:45px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;transition:background .15s,color .15s;display:flex}.glass-select-menu>button:hover,.glass-select-menu>button.active{background:#7657ff17}.glass-select-menu>button.selected{color:#6043d1;background:#7657ff1f}.glass-select-menu>button:disabled{opacity:.42;cursor:not-allowed}.glass-select-menu>button>span{gap:2px;min-width:0;display:grid}.glass-select-menu>button b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:570;overflow:hidden}.glass-select-menu>button small{color:var(--muted);letter-spacing:.9px;text-transform:uppercase;font-size:8px;font-weight:720}.glass-select-menu>button>svg{flex:0 0 15px;width:15px}[data-theme=dark] .glass-select>button{background:#fff1;box-shadow:inset 0 1px #ffffff14}[data-theme=dark] .glass-select>button:hover{background:#ffffff18}[data-theme=dark] .glass-select-menu{background:#1d222af0;border-color:#ffffff1f;box-shadow:0 26px 76px #0000006b,inset 0 1px #ffffff14}[data-theme=dark] .glass-select-menu,.glass-select-menu.glass-select-portal.dark{color:#f3f5f8;background:#1d222af0;border-color:#ffffff1f;box-shadow:0 26px 76px #0000006b,inset 0 1px #ffffff14}.glass-select-menu.glass-select-portal.dark>button{color:#f3f5f8}.glass-select-menu.glass-select-portal.dark>button small{color:#aeb7c5}[data-theme=dark] .glass-select-menu>button.selected,.glass-select-menu.glass-select-portal.dark>button.selected{color:#c1b4ff;background:#8b71ff2e}[data-theme=dark] .glass-select-menu.glass-select-portal,[data-theme=dark] .glass-select-menu.glass-select-portal,.glass-select-menu.glass-select-portal.dark{scrollbar-color:#dde2eb47 transparent}[data-theme=dark] .glass-select-menu.glass-select-portal::-webkit-scrollbar-thumb{background:#dde2eb42 padding-box padding-box}.glass-select-menu.glass-select-portal.dark::-webkit-scrollbar-thumb{background:#dde2eb42 padding-box padding-box}.connection-confirmation{color:#087b61;align-items:center;gap:7px;margin:9px 0 17px;font-size:10px;display:flex}.connection-confirmation svg{width:14px}.connect-map-modal{width:min(660px,100vw - 30px);max-height:calc(100vh - 34px);overflow-y:auto}.connect-map-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.connect-map-choices>button{border:1px solid var(--line);min-height:210px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff2e;border-radius:23px;flex-direction:column;align-items:flex-start;padding:22px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.connect-map-choices>button:hover,.connect-map-choices>button:focus-visible{border-color:#7657ff4d;outline:0;transform:translateY(-3px);box-shadow:0 20px 42px #1f26341f}.connect-map-choices>button>span{color:#fff;background:linear-gradient(145deg,#7e60ff,#5a3dd4);border-radius:16px;place-items:center;width:49px;height:49px;display:grid;box-shadow:0 12px 25px #5d3fd538}.connect-map-choices>button:last-child>span{background:linear-gradient(145deg,#14bda9,#078978);box-shadow:0 12px 25px #08907e30}.connect-map-choices svg{width:20px}.connect-map-choices p{gap:7px;margin:22px 0 16px;display:grid}.connect-map-choices p b{font-size:18px}.connect-map-choices p small{color:var(--muted);font-size:10px;line-height:1.5}.connect-map-choices strong{color:#6848df;margin-top:auto;font-size:10px}.connect-step-head{justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin:-4px 0 15px;display:flex}.connect-step-head button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:9px;display:inline-flex}.connect-step-head button svg{width:13px}.connect-step-head>span{color:var(--muted);font-size:9px}.connect-map-tabs{border:1px solid var(--line);background:#7780910e;border-radius:17px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:18px;padding:5px;display:grid}.connect-map-tabs button{min-height:45px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;display:flex}.connect-map-tabs button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 8px 22px #232a371a,inset 0 1px #ffffffa6}.connect-map-tabs svg{width:15px}.connected-map-form{grid-template-columns:1fr 1fr;gap:13px;display:grid}.connected-map-form label{gap:7px;display:grid}.connected-map-form label.full,.connected-map-prefill{grid-column:1/-1}.connected-map-form label>small{color:var(--muted);letter-spacing:.8px;font-size:9px;font-weight:750}.connected-map-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:15px;outline:0;padding:0 13px;font-size:12px}.connected-map-form input:focus{border-color:#7657ff7a;box-shadow:0 0 0 4px #7657ff17}.connected-map-prefill{color:#087b61;background:#13b8a617;border-radius:16px;align-items:center;gap:10px;min-height:55px;padding:11px 13px;display:flex}.connected-map-prefill>svg{flex:0 0 17px;width:17px}.connected-map-prefill>span{gap:3px;display:grid}.connected-map-prefill b{font-size:11px}.connected-map-prefill small{color:var(--muted);font-size:9px}.connect-map-empty{border:1px dashed var(--line);min-height:220px;color:var(--muted);text-align:center;border-radius:21px;align-content:center;place-items:center;gap:7px;padding:28px;display:grid}.connect-map-empty>svg{color:#7657ff;width:27px}.connect-map-empty b{color:var(--ink);font-size:15px}.connect-map-empty p{max-width:350px;margin:0;font-size:10px;line-height:1.45}.connect-map-empty button{color:#fff;cursor:pointer;min-height:39px;font:inherit;background:#171b23;border:0;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:0 13px;font-size:10px;display:inline-flex}.connect-map-empty button svg{width:13px}.connect-map-modal footer .primary:disabled{opacity:.45;cursor:default}.create-connected-map{width:100%;min-height:88px;color:var(--ink);text-align:left;cursor:pointer;background:#7657ff14;border:1px solid #7657ff33;border-radius:20px;align-items:center;gap:13px;padding:14px;display:flex}.create-connected-map>span{color:#fff;background:#7657ff;border-radius:14px;flex:0 0 43px;place-items:center;width:43px;height:43px;display:grid}.create-connected-map>span svg{width:18px}.create-connected-map p{gap:4px;margin:0;display:grid}.create-connected-map p b{font-size:14px}.create-connected-map p small{color:var(--muted);font-size:10px;line-height:1.4}.connect-divider{border-top:1px solid var(--line);text-align:center;margin:19px 0 12px}.connect-divider span{color:var(--muted);background:var(--panel-strong);text-transform:uppercase;letter-spacing:1px;padding:0 9px;font-size:8px;position:relative;top:-7px}.connect-map-list{gap:8px;display:grid}.connect-map-list>button{border:1px solid var(--line);width:100%;min-height:76px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff2e;border-radius:17px;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;display:grid}.connect-map-list.name-only>button{grid-template-columns:minmax(0,1fr) auto;min-height:82px;padding:14px 16px}.connect-map-list.name-only>button:hover,.connect-map-list.name-only>button:focus-visible{background:#7657ff12;border-color:#7657ff52;outline:0}.connect-map-list.name-only>button p{gap:3px}.connect-map-list.name-only>button p b{font-size:15px}.connect-map-list.name-only>button p small{font-size:10px}.connect-map-list>button>span{border-radius:12px;height:58px;overflow:hidden}.connect-map-list .mini-map{pointer-events:none;width:100%;height:100%}.connect-map-list>button p{gap:4px;min-width:0;margin:0;display:grid}.connect-map-list>button p b,.connect-map-list>button p small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connect-map-list>button p b{font-size:12px}.connect-map-list>button p small{color:var(--muted);font-size:9px}.connect-map-list>button strong{color:#6244dc;background:#7657ff1a;border-radius:999px;padding:7px 9px;font-size:9px}.connect-map-list>p{color:var(--muted);text-align:center;font-size:11px}.existing-map-picker{gap:14px;display:grid}.existing-map-picker>label{gap:8px;display:grid}.existing-map-picker>label>small{color:var(--muted);letter-spacing:.8px;font-size:9px;font-weight:750}.existing-map-picker select{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:var(--panel-strong);font:inherit;cursor:pointer;border-radius:16px;outline:0;padding:0 44px 0 15px;font-size:13px}.existing-map-picker select:focus{border-color:#7657ff7a;box-shadow:0 0 0 4px #7657ff17}.existing-map-picker .glass-select>button{min-height:52px;font-size:13px}.existing-map-selection{border:1px solid var(--line);background:#7657ff12;border-radius:17px;align-items:center;gap:13px;min-height:82px;padding:14px 16px;display:flex}.existing-map-selection>span{color:#6244dc;background:#7657ff1f;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.existing-map-selection>span svg{width:18px}.existing-map-selection p{gap:3px;min-width:0;margin:0;display:grid}.existing-map-selection p b,.existing-map-selection p small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.existing-map-selection p b{font-size:15px}.existing-map-selection p small{color:var(--muted);font-size:10px}.existing-map-picker>.primary{color:#fff;cursor:pointer;min-height:48px;font:inherit;background:#111722;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;font-size:11px;display:inline-flex}.existing-map-picker>.primary:disabled{opacity:.4;cursor:default}.group-create-fields{gap:11px;display:grid}.group-create-fields>label{color:var(--muted);letter-spacing:.9px;gap:8px;font-size:9px;font-weight:730;display:grid}.group-create-fields>label>span{opacity:.66;margin-left:4px;font-weight:520}.group-create-fields input,.group-create-fields select{border:1px solid var(--line);width:100%;min-height:49px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;outline:0;padding:0 14px;font-size:13px}.group-create-fields input:focus,.group-create-fields select:focus{border-color:#a99aff;box-shadow:0 0 0 4px #7657ff17}.group-create-fields .glass-select>button{min-height:49px;font-size:13px}.group-field-divider{place-items:center;height:16px;display:grid;position:relative}.group-field-divider:before{content:"";background:var(--line);width:100%;height:1px}.group-field-divider span{color:var(--muted);background:var(--panel-strong);text-transform:uppercase;padding:0 9px;font-size:9px;position:absolute}.group-field-guidance{min-height:38px;color:var(--muted);background:#232a340e;border-radius:13px;align-items:center;gap:7px;margin:14px 0 5px;padding:9px 11px;font-size:10px;display:flex}.group-field-guidance svg{flex:0 0 14px;width:14px}.group-field-guidance.ready{color:#087b61;background:#13b8a61a}@media (max-width:1120px){.project-grid{grid-template-columns:repeat(2,1fr)}.dates{display:none}.toolbar{left:14px;right:14px;overflow-x:auto;transform:none}.toolbar button{min-width:57px}}@media (max-width:760px){.dashboard{display:block}.dash-nav{flex-direction:row;width:auto;height:66px;padding:7px 12px;inset:auto 12px 10px}.brand,.nav-footer{display:none}.dash-nav nav{justify-content:center;width:100%;margin:0;display:flex}.dash-nav nav button{height:50px}.dash-content{padding:32px 18px 96px}.dash-content>header{align-items:center}.dash-content h1{font-size:34px}.dash-content header p{font-size:13px}.metrics{grid-template-columns:1fr}.metrics article:nth-child(n+2){display:none}.project-tools{flex-wrap:wrap}.project-tools>label{width:100%}.project-tools>div{overflow-x:auto}.project-grid{grid-template-columns:1fr}.work-head{padding:0 11px}.work-head>i{margin:0 9px}.title-edit{flex:1;min-width:0}.title-edit input{width:100%;font-size:13px}.head-actions button:not(.save){display:none}.side-panel{flex-basis:330px;width:330px;position:absolute;inset:0 auto 0 0}.side-panel.closed{border:0;width:0;overflow:visible}.panel-open{background:var(--panel-strong);width:44px;box-shadow:var(--shadow);border-radius:12px;position:absolute;top:84px;left:10px}.toolbar{max-width:calc(100% - 16px);top:9px;left:8px;right:8px}.toolbar button span{display:none}.selection-inspector,.overlay{width:min(290px,100vw - 20px);top:84px;right:10px}.helper{flex-wrap:wrap;width:calc(100% - 20px);top:84px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1/-1}}:root{--ink:#151a23;--muted:#667080;--line:#363d4a1a;--panel:#fffcf7a8;--panel-strong:#fffefbe0;--surface:#eaf1f3;--shadow:0 24px 80px #2b37441f, inset 0 1px 0 #ffffffeb}[data-theme=dark]{--ink:#f5f3ee;--muted:#afb5bf;--line:#eeeff21c;--panel:#191e25b0;--panel-strong:#232830e6;--surface:#12171c;--shadow:0 28px 90px #00000059, inset 0 1px 0 #ffffff1a;color:var(--ink)}body{background:radial-gradient(circle at 80% 2%,#b1daeea8,#0000 36%),radial-gradient(circle at 14% 88%,#e8ceaf85,#0000 38%),linear-gradient(135deg,#eef5f6,#f7f1e7 54%,#e9edf4);font-size:16px}.glass{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(38px)saturate(145%);background:linear-gradient(145deg,#ffffffbd,#fff9ef8a);border-color:#ffffff94}[data-theme=dark] .glass{background:linear-gradient(145deg,#232830c7,#171c23a3);border-color:#ffffff1a}.primary{color:#fff;background:#171b23;border-radius:999px;height:50px;padding-inline:23px;font-size:14px;box-shadow:0 14px 30px #12161d2e,inset 0 1px #ffffff2b}.dashboard{background:radial-gradient(at 85% -6%,#a0d7efa3,#0000 40%),radial-gradient(at 14% 104%,#ebcba79e,#0000 38%),radial-gradient(circle at 48% 42%,#e2d6f266,#0000 34%),linear-gradient(138deg,#e9f2f3 0%,#f5eee3 55%,#e9edf4 100%);grid-template-columns:292px 1fr}.dashboard[data-theme=dark]{background:radial-gradient(at 82% -8%,#4c728657,#0000 40%),radial-gradient(at 14% 105%,#7e5f4547,#0000 38%),linear-gradient(138deg,#12191d,#1b1918 58%,#161821)}[data-theme=dark] .project-tools>label,[data-theme=dark] .project-tools>div{background:#22272e94}[data-theme=dark] .project-tools>div button.active{color:var(--ink);background:#ffffff1f}.dash-nav{border-radius:32px;width:244px;padding:30px 20px 20px;top:24px;bottom:24px;left:24px}.brand{letter-spacing:-1.7px;gap:14px;height:56px;padding-inline:13px;font-size:28px}.dash-nav nav{gap:9px;margin-top:38px}.dash-nav nav .nav-map-group{gap:4px;display:grid}.dash-nav nav button,.nav-footer button{border-radius:18px;height:52px;padding-inline:15px;font-size:15px}.dash-nav nav button.active{color:var(--ink);background:#ffffff91;box-shadow:inset 0 0 0 1px #ffffff80,0 8px 24px #373e4a12}.dash-nav nav button.has-active-child{color:var(--ink)}.dash-nav nav .nav-section-divider{background:linear-gradient(90deg, transparent, var(--line) 14%, var(--line) 86%, transparent);border-radius:0;width:calc(100% - 24px);min-width:0;height:1px;margin:8px auto;padding:0;display:block}.dash-nav nav button.nav-subitem{border-radius:14px;width:calc(100% - 22px);height:42px;margin-left:22px;padding-left:14px;font-size:13px;position:relative}.dash-nav nav button.nav-subitem:before{content:"";border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 0 9px;width:12px;height:27px;position:absolute;top:-8px;left:-11px}.dash-nav nav button.nav-subitem.active{color:#5e45c7;background:#7657ff1a;box-shadow:inset 0 0 0 1px #7657ff14}[data-theme=dark] .dash-nav nav button.active{background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff14}[data-theme=dark] .dash-nav nav button.nav-subitem.active{color:#c9bfff;background:#7657ff29}.dash-content{max-width:1580px;padding:38px clamp(34px,4vw,66px) 56px}.dash-content>header{align-items:center;margin-bottom:44px}.dash-content header em{color:#4d5260;letter-spacing:2px;font-size:12px}.dash-content h1{letter-spacing:-3.6px;margin:12px 0 9px;font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(52px,5vw,72px);font-weight:500;line-height:.94}.dash-content header p{font-size:17px;line-height:1.5}.metrics{gap:18px;margin:0 0 30px}.metrics article{border-radius:25px;min-height:108px;padding:20px 22px}.metric{border-radius:16px;flex-basis:48px;width:48px;height:48px}.metrics small{font-size:13px}.metrics b{font-size:27px;font-weight:640}.metrics em{font-size:12px}.project-tools{gap:11px;margin:0 0 27px}.project-tools>label{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffcf794;border-radius:999px;width:270px;height:48px;padding-inline:16px}.project-tools input{font-size:14px}.project-tools>div{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffcf766;border-radius:999px;padding:4px}.project-tools>div button{border-radius:999px;height:40px;padding-inline:14px;font-size:12px}.project-tools>div button.active{color:var(--ink);background:#ffffffd6}.square{border-radius:50%;width:46px;height:46px}.project-tools .new-project{white-space:nowrap;min-width:146px;height:48px;padding-inline:19px;font-size:13px}.section-title{margin-bottom:16px}.section-title h2{letter-spacing:-.35px;font-size:18px}.section-title span{font-size:13px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{border-radius:23px}.project-card:hover,.project-card:focus{transform:translateY(-5px);box-shadow:0 34px 88px #272f3a2e}.preview{height:148px}.status,.special{border-radius:999px;padding:6px 10px;font-size:11px;top:10px;left:10px}.special{top:auto;bottom:10px}.preview>button{border-radius:50%;width:34px;height:34px;top:9px;right:9px}.card-info{padding:17px 18px 19px}.card-info>small{letter-spacing:.9px;font-size:11px}.card-info h3{letter-spacing:-.4px;margin:7px 0 13px;font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;font-size:18px;font-weight:600;line-height:1.08}.card-info p{gap:8px;font-size:13px;line-height:1.35}.card-info p svg{width:14px}.dash-content>footer{margin-top:34px;font-size:11px}.layer-folder-head{border-radius:28px;align-items:center;gap:17px;min-height:112px;margin-bottom:32px;padding:24px 27px;display:flex}.layer-folder-head>span{color:#5d47c4;background:#7657ff21;border-radius:18px;flex:0 0 52px;place-items:center;width:52px;height:52px;display:grid}.layer-folder-head p,.layer-file p{flex:1;gap:5px;margin:0;display:grid}.layer-folder-head b{font-size:20px}.layer-folder-head small,.layer-file small{color:var(--muted);font-size:13px}.layer-folder-head strong{min-width:38px;height:38px;color:var(--ink);background:var(--panel-strong);border-radius:999px;place-items:center;font-size:13px;display:grid}.layer-library{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.layer-file{min-height:92px;color:var(--ink);text-align:left;cursor:pointer;border-radius:22px;align-items:center;gap:14px;padding:18px 20px;transition:min-height .38s cubic-bezier(.22,.8,.24,1),box-shadow .38s,transform .38s;display:flex}.layer-file>span{color:#397fa4;background:#4ba9dc26;border-radius:14px;flex:0 0 43px;place-items:center;width:43px;height:43px;display:grid}.layer-file>svg{width:17px;color:var(--muted);transform:rotate(-90deg)}.layer-file:disabled{opacity:.68;cursor:default}.layer-file.expanded{grid-template-rows:auto 184px;grid-template-columns:43px minmax(0,1fr) 17px;align-items:center;min-height:302px;display:grid;transform:translateY(-3px);box-shadow:0 30px 80px #232c3833,inset 0 1px #ffffffb3}.layer-file.expanded>svg{transform:rotate(0)}.layer-map-preview{background:#dceaf0;border:1px solid #ffffffb8;border-radius:17px;grid-area:2/1/auto/-1;height:184px;animation:.32s both layerPreviewIn;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #313b460d}.layer-map-preview>span{z-index:3;color:#27303c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:999px;align-items:center;gap:6px;width:auto;height:30px;padding:0 11px;font-size:11px;font-weight:680;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 7px 20px #1c232c21}.layer-map-preview>span svg{width:14px}@keyframes layerPreviewIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.workspace{background:#dbe9ef;position:relative}.work-head{z-index:30;border-width:1px;border-radius:27px;height:74px;padding:0 20px;position:absolute;top:16px;left:16px;right:16px}.workspace .work-head.glass,.workspace .side-panel.glass{-webkit-backdrop-filter:blur(42px)saturate(138%);background:linear-gradient(145deg,#ffffffe8,#faf8f4d6);border-color:#ffffffc2}[data-theme=dark] .workspace .work-head.glass,[data-theme=dark] .workspace .side-panel.glass{background:linear-gradient(145deg,#232830ed,#171c23de);border-color:#ffffff21}.back{font-size:14px}.title-edit{min-width:280px}.title-edit input{width:275px;font-size:18px}.title-edit span{font-size:10px}.dates label small{font-size:9px}.dates input{font-size:12px}.head-actions{gap:8px}.head-actions button{border-radius:999px;height:42px;padding-inline:14px;font-size:12px}.head-actions .excel{color:#172019;background:#bde2c5b3}.head-actions .save{background:#171b23;padding-inline:19px;box-shadow:0 10px 22px #12161d2e}.head-actions .cog{width:42px;padding:0}.settings-popover{-webkit-backdrop-filter:blur(28px)saturate(125%);background:#fcfaf6fa;border:1px solid #353b461f;border-radius:22px;width:344px;padding:12px;top:54px;box-shadow:0 24px 65px #181e273d,0 3px 12px #181e271a}.settings-popover:before{content:"";background:#fcfaf6fa;border-top:1px solid #353b461f;border-left:1px solid #353b461f;width:13px;height:13px;position:absolute;top:-7px;right:17px;transform:rotate(45deg)}.settings-popover>small{padding:5px 8px 10px;font-size:10px}.settings-popover .settings-menu-item,.settings-popover .layer-toggle{text-align:left;background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;width:100%;height:auto;min-height:70px;padding:12px}.settings-popover .settings-menu-item:hover,.settings-popover .layer-toggle:hover{border-color:var(--line);background:#fff}.settings-menu-item>span,.layer-toggle>span{border-radius:9px;flex:0 0 28px;width:28px;height:28px}.settings-menu-item>span{color:#252b34;background:#242b3517;place-items:center;display:grid}.settings-menu-item>span svg{width:15px}.settings-menu-item p,.layer-toggle p{gap:4px;margin:0;display:grid}.settings-menu-item b,.layer-toggle b{color:var(--ink);font-size:14px}.settings-menu-item small,.layer-toggle small{color:var(--muted);font-size:12px;line-height:1.35}.status-settings{border:1px solid var(--line);background:#ffffff47;border-radius:16px;margin:4px 0;padding:12px}.status-settings>div:first-child{align-items:center;gap:10px;display:flex}.status-settings>div:first-child>span{color:#252b34;background:#242b3517;border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.status-settings>div:first-child>span svg{width:15px}.status-settings p{gap:2px;margin:0;display:grid}.status-settings b{color:var(--ink);font-size:14px}.status-settings small{color:var(--muted);font-size:11px}.status-options{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px;display:grid}.head-actions .status-options button{border:1px solid var(--line);height:32px;color:var(--ink);background:#ffffff70;border-radius:10px;justify-content:center;padding:0 7px;font-size:10px;font-weight:650}.head-actions .status-options button:hover{background:#ffffffd1}.head-actions .status-options button.active{color:#fff;background:#252b34;border-color:#252b34;box-shadow:0 5px 13px #181e2729}.head-actions .status-options button.status-planning{color:#9a6200;background:#f0a72b1f}.head-actions .status-options button.status-live{color:#087b61;background:#22b68c1f}.head-actions .status-options button.status-complete{color:#b93751;background:#e255701f}[data-theme=dark] .settings-popover{background:#1c2129fa;border-color:#ffffff21;box-shadow:0 28px 74px #00000075,0 4px 16px #0000004d}[data-theme=dark] .settings-popover:before{background:#1c2129fa;border-color:#ffffff21}[data-theme=dark] .settings-menu-item>span,[data-theme=dark] .status-settings>div:first-child>span{color:#f4f6f8;background:#ffffff1f}[data-theme=dark] .status-settings{background:#ffffff0b}[data-theme=dark] .head-actions .status-options button{color:#f2f4f7;background:#ffffff0f}[data-theme=dark] .head-actions .status-options button:hover{background:#ffffff1f}[data-theme=dark] .head-actions .status-options button.active{color:#171b23;background:#ffffffeb;border-color:#ffffffe0}.head-actions .status-options button.status-planning.active,[data-theme=dark] .head-actions .status-options button.status-planning.active{color:#201707;background:#f0a72b;border-color:#e39a21}.head-actions .status-options button.status-live.active,[data-theme=dark] .head-actions .status-options button.status-live.active{color:#fff;background:#22a980;border-color:#159d78}.head-actions .status-options button.status-complete.active,[data-theme=dark] .head-actions .status-options button.status-complete.active{color:#fff;background:#df536d;border-color:#cf4862}[data-theme=dark] .head-actions .status-options button.status-planning:not(.active){color:#ffc867;background:#f0a72b1f}[data-theme=dark] .head-actions .status-options button.status-live:not(.active){color:#73dfbf;background:#22b68c1f}[data-theme=dark] .head-actions .status-options button.status-complete:not(.active){color:#ff91a6;background:#e255701f}[data-theme=dark] .settings-popover .settings-menu-item:hover,[data-theme=dark] .settings-popover .layer-toggle:hover{background:#ffffff14}.work-body{height:100vh;display:block;position:relative}.map-stage{position:absolute;inset:0}.work-body:has(.progress-locations-panel)>.side-panel{opacity:0;pointer-events:none}.map-stage.view-progress .selection-inspector,.map-stage.view-progress .custom-colour-picker,.map-stage.view-progress .overlay,.map-stage.view-progress .group-drop-guide{display:none}.map-view-toggle{z-index:22;border-radius:999px;align-items:center;gap:3px;padding:5px;display:flex;position:absolute;top:104px;right:16px}.map-view-toggle button{min-height:38px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:0 15px;font-size:12px;font-weight:680}.map-view-toggle button.active{color:#fff;background:#171b23;box-shadow:0 8px 20px #181d2629}[data-theme=dark] .map-view-toggle button.active{color:#171b23;background:#fffffff0}.progress-locations-panel{z-index:18;border-radius:28px;flex-direction:column;width:390px;padding:18px 14px 14px;display:flex;position:absolute;top:104px;bottom:16px;left:16px;overflow:hidden}.progress-locations-panel>label{border:1px solid var(--line);background:#ffffff59;border-radius:999px;flex:0 0 58px;align-items:center;gap:11px;width:100%;min-height:58px;padding:0 20px;display:flex}.progress-locations-panel>label svg{width:17px;color:var(--muted)}.progress-locations-panel>label input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:15px}.progress-locations-panel>header{justify-content:space-between;align-items:center;padding:18px 9px 12px;display:flex}.progress-locations-panel>header b{font-size:16px}.progress-locations-panel>header span{color:var(--muted);background:#7780911a;border-radius:999px;padding:5px 9px;font-size:11px}.progress-locations-panel>div{scrollbar-width:thin;scrollbar-color:#6871804d transparent;align-content:start;gap:7px;min-height:0;padding:0 3px 10px;display:grid;overflow-y:auto}.progress-locations-panel>div::-webkit-scrollbar{width:8px}.progress-locations-panel>div::-webkit-scrollbar-track{background:0 0}.progress-locations-panel>div::-webkit-scrollbar-thumb{background:#68718047;border-radius:999px}.progress-locations-panel>div>button{min-height:48px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#ffffff38;border:1px solid #0000;border-radius:15px;grid-template-columns:11px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:0 13px;display:grid}.progress-locations-panel>div>button:hover{background:#ffffff75}.progress-locations-panel>div>button.selected{background:#7657ff1c;border-color:#7657ff57;box-shadow:inset 3px 0 #7657ff}.progress-locations-panel>div>button i{border-radius:50%;width:11px;height:11px;box-shadow:0 2px 5px #191f2738}.progress-locations-panel>div>button span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:680;overflow:hidden}.progress-locations-panel>div>button svg{color:#6748df;width:16px}[data-theme=dark] .progress-locations-panel>label,[data-theme=dark] .progress-locations-panel>div>button{background:#fff1}[data-theme=dark] .progress-locations-panel>div>button:hover{background:#ffffff1a}.progress-status-panel{z-index:21;border-radius:24px;width:260px;padding:18px;position:absolute;top:162px;right:16px}.progress-status-panel>header{gap:4px;display:grid}.progress-status-panel>header small{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:760}.progress-status-panel>header b{font-size:17px}.progress-status-panel>header p{color:var(--muted);margin:2px 0 0;font-size:11px;line-height:1.45}.progress-status-panel>div{gap:8px;margin-top:15px;display:grid}.progress-status-panel>div>button{cursor:pointer;min-height:45px;font:inherit;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:0 13px;font-size:13px;font-weight:700;display:flex}.progress-status-panel>div>button i{background:currentColor;border-radius:50%;width:12px;height:12px;box-shadow:0 2px 5px}@supports (color:color-mix(in lab, red, red)){.progress-status-panel>div>button i{box-shadow:0 2px 5px color-mix(in srgb, currentColor, transparent 65%)}}.progress-status-panel>div>button.completed{color:#087957;background:#20a87824;border-color:#20a87833}.progress-status-panel>div>button.aborted{color:#9a6810;background:#e9ac2f29;border-color:#e9ac2f38}.progress-status-panel>div>button.complete{color:#b82f42;background:#e6536224;border-color:#e6536233}.progress-status-panel>div>button.reset{color:#5d6570;background:#969da824;border-color:#969da838}.progress-status-panel>div>button:disabled{opacity:.42;cursor:default}.map-stage.view-progress .toolbar{left:50%}.side-panel{z-index:15;border-width:1px;border-radius:28px;flex:none;width:390px;transition:width .2s,opacity .2s;position:absolute;top:104px;bottom:16px;left:16px}.side-panel.closed{border-width:1px;border-radius:22px;flex-basis:auto;width:58px}.tabs{height:88px;padding:10px 19px 0}.tabs>div{gap:4px}.tabs>div button{min-height:56px;padding:0 18px;font-size:15px}.tabs>button{border-radius:50%;width:42px;height:42px;margin-left:8px;padding:9px}.tabs>div button.active{color:var(--ink)}.tabs>div button.active:after{background:var(--ink);height:2px;left:16px;right:16px}.tabs span{padding:3px 8px;font-size:11px}.panel-actions{gap:10px;padding:19px}.panel-actions button{border-radius:999px;height:48px}.panel-actions .add{background:#171b23;font-size:14px}.panel-search{border-radius:999px;flex:0 0 58px;width:calc(100% - 28px);height:58px;margin:4px 14px 20px;padding-inline:20px}.panel-search input{font-size:15px}.selected-counter{border-radius:15px;min-height:42px;margin:-6px 19px 12px;padding:0 14px;font-size:12px}.selected-counter b{font-size:16px}.selected-counter button{padding:7px 11px;font-size:11px}[data-theme=dark] .selected-counter{background:#ffffff0e}[data-theme=dark] .selected-counter.has-selection{background:#876bff2b;border-color:#b09eff47;box-shadow:inset 3px 0 #a892ff}[data-theme=dark] .selected-counter button{color:#e4deff;background:#a692ff33}.loc-list{scrollbar-gutter:stable;padding:0 13px 22px}[data-theme=dark] .loc-list{scrollbar-width:thin;scrollbar-color:#e6ebf447 transparent}[data-theme=dark] .loc-list::-webkit-scrollbar{width:10px}[data-theme=dark] .loc-list::-webkit-scrollbar-track{background:0 0;border-radius:999px;margin-block:10px}[data-theme=dark] .loc-list::-webkit-scrollbar-thumb{background:linear-gradient(#e6ebf442,#e6ebf42e) padding-box padding-box;border:3px solid #0000;border-radius:999px;min-height:48px;box-shadow:inset 0 1px #ffffff1f}[data-theme=dark] .loc-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#f1f4f966,#f1f4f94d) padding-box padding-box}[data-theme=dark] .loc-list::-webkit-scrollbar-corner{background:0 0}.loc-row{cursor:default;border-radius:20px;flex-wrap:wrap;align-items:stretch;gap:0;min-height:98px;margin:6px 0;padding:0}.loc-row:hover{background:#ffffff6b}.loc-row.selected{color:var(--ink);border-color:var(--row-accent)}@supports (color:color-mix(in lab, red, red)){.loc-row.selected{border-color:color-mix(in srgb, var(--row-accent), transparent 70%)}}.loc-row.selected{background:linear-gradient(135deg, var(--row-accent), #ffffffb8)}@supports (color:color-mix(in lab, red, red)){.loc-row.selected{background:linear-gradient(135deg, color-mix(in srgb, var(--row-accent), white 84%), #ffffffb8)}}.loc-row.selected{box-shadow:inset 4px 0 0 var(--row-accent), 0 10px 28px #2d343e1a;transform:translate(2px)}.pin-icon{border-radius:14px;flex-basis:39px;width:39px;height:39px;transition:transform .18s,box-shadow .18s}.loc-row.selected .pin-icon{box-shadow:inset 0 1px #ffffff6b, 0 8px 20px var(--row-accent);transform:scale(1.08)}@supports (color:color-mix(in lab, red, red)){.loc-row.selected .pin-icon{box-shadow:inset 0 1px #ffffff6b, 0 8px 20px color-mix(in srgb, var(--row-accent), transparent 54%)}}.loc-row .location-copy{gap:5px}.loc-row b{font-size:16px;line-height:1.2}.loc-row small{font-size:14px;line-height:1.35}.loc-row em{opacity:.86;font-size:13px;line-height:1.35}.loc-row-main{min-width:0;min-height:98px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:12px;padding:16px 5px 16px 12px;display:flex}.location-menu-trigger{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 38px;place-items:center;margin:13px 8px 0 0;padding:0;transition:color .18s,border-color .18s,background .18s;display:grid}.location-menu-trigger svg{width:18px}.location-menu-trigger:hover,.location-menu-trigger[aria-expanded=true]{border-color:var(--line);color:var(--ink);background:var(--panel-strong)}.location-card-popover{border:1px solid var(--line);width:calc(100% - 22px);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf9f7e0;border-radius:18px;margin:-5px 11px 12px;padding:15px;box-shadow:0 14px 34px #1d24301f}.location-card-popover header{align-items:center;gap:10px;margin-bottom:13px;display:flex}.location-card-popover header>span{color:#6245d5;background:#7657ff1f;border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.location-card-popover header svg{width:15px}.location-card-popover header p{flex:1;gap:2px;min-width:0;margin:0;display:grid}.location-card-popover header b{font-size:14px}.location-card-popover header small{font-size:10px}.location-card-popover header>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.location-card-popover>label{color:var(--muted);letter-spacing:1px;gap:6px;margin-top:10px;font-size:9px;font-weight:750;display:grid}.location-card-popover input,.location-card-popover textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:12px;outline:0;padding:10px 11px;font-size:12px}.location-card-popover textarea{resize:vertical;min-height:76px;line-height:1.45}.location-card-popover input:focus,.location-card-popover textarea:focus{border-color:#7657ff7a;box-shadow:0 0 0 3px #7657ff17}.location-card-popover footer{justify-content:flex-end;gap:7px;margin-top:13px;display:flex}.location-card-popover footer button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:10px;display:flex}.location-card-popover footer svg{width:13px}.location-card-popover footer .save-location-meta{color:#fff;background:#171b23;border-color:#171b23}[data-theme=dark] .loc-row:hover{background:#ffffff12}[data-theme=dark] .location-card-popover{background:#1b212af0;box-shadow:0 16px 38px #00000047}[data-theme=dark] .location-menu-trigger:hover,[data-theme=dark] .location-menu-trigger[aria-expanded=true]{background:#ffffff14}[data-theme=dark] .location-card-popover footer .save-location-meta{color:#171b23;background:#ffffffe6;border-color:#ffffffe6}.group-intro{padding:26px 22px 20px}.group-intro>p{min-width:0}.group-intro b{font-size:16px}.group-intro small,.group-list small{font-size:12px}.group-intro button{border-radius:999px;height:39px;padding-inline:13px;font-size:12px}.group-list{padding:0 17px}.group-list>div{gap:13px;min-height:78px}.group-list b{font-size:14px}.group-list .assign{border-radius:999px;padding:9px 12px;font-size:11px}.drag-group-hint{color:#6546df;flex-basis:32px;width:32px}[data-theme=dark] .group-row.draggable:hover{background:#ffffff14;box-shadow:0 8px 22px #00000029}[data-theme=dark] .drag-group-hint{color:#d9d0ff}[data-theme=dark] .group-intro button,[data-theme=dark] .group-list .assign{color:#e1dbff;background:#876bff3d;box-shadow:inset 0 0 0 1px #c4b7ff1f}[data-theme=dark] .group-intro .group-intro-actions .show-all-groups{color:#f2f4f7;background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff12}.toolbar{z-index:20;border-radius:25px;gap:4px;min-height:70px;padding:8px;top:auto;bottom:20px;left:calc(50% + 145px)}.toolbar button{color:#2c333d;border-radius:18px;min-width:67px;height:54px}.toolbar button span{font-size:10px;font-weight:630}.toolbar button.active{color:#11151b;background:#ffffffdb;box-shadow:inset 0 0 0 1px #181d2512,0 8px 20px #252d3717}[data-theme=dark] .toolbar button:not(.active){color:#f6f7fadb}[data-theme=dark] .toolbar button:disabled{color:#f6f7fa85;opacity:1}[data-theme=dark] .toolbar button.active{color:#121820;background:#ffffffeb}[data-theme=dark] .loc-row:hover{color:var(--ink);background:#ffffff1c}[data-theme=dark] .loc-row:hover small,[data-theme=dark] .loc-row:hover em{color:var(--muted)}[data-theme=dark] .loc-row.selected{color:var(--ink);background:linear-gradient(135deg, var(--row-accent), #ffffff1a)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .loc-row.selected{background:linear-gradient(135deg, color-mix(in srgb, var(--row-accent), #202631 78%), #ffffff1a)}}[data-theme=dark] .loc-row.selected{border-color:var(--row-accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .loc-row.selected{border-color:color-mix(in srgb, var(--row-accent), transparent 58%)}}[data-theme=dark] .loc-row.selected{box-shadow:inset 4px 0 0 var(--row-accent), 0 10px 28px #0003}.toolbar>i{height:34px}.helper,.mode-note{top:186px;left:calc(50% + 145px)}.helper{border-radius:999px;padding:11px 11px 11px 16px;font-size:12px}.helper button{border-radius:999px;height:35px;font-size:11px}.helper .primary-mini{background:#171b23}.mode-note{border-radius:999px;padding:11px 16px;font-size:12px}.overlay,.selection-inspector{-webkit-backdrop-filter:blur(28px)saturate(120%);background:#fcfaf6f7;border:1px solid #353b461f;border-radius:25px;right:16px;box-shadow:0 25px 70px #181e273d,0 3px 12px #181e2717}[data-theme=dark] .overlay,[data-theme=dark] .selection-inspector{background:#1c2129f7;border-color:#ffffff21;box-shadow:0 28px 74px #00000075}[data-theme=dark] .group-drop-guide{color:#f5f6f8;background:#1c2129f0;border-color:#ffffff24;box-shadow:0 28px 70px #0000006b}[data-theme=dark] .group-drop-guide small{color:#eef0f5ad}.overlay{width:336px;padding:19px;top:186px}.selection-inspector{width:225px;max-height:calc(100vh - 180px);padding:17px;top:164px;overflow:auto}.selection-inspector header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.selection-inspector header:active{cursor:grabbing}.selection-inspector header button{cursor:pointer}.overlay header b,.selection-inspector header b{font-size:16px}.overlay header small,.overlay-row small{font-size:11px}.overlay-row{border-radius:18px}.selection-actions button,.shape-set button{border-radius:13px}.maplibregl-ctrl-group{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#fffcf7b3!important;border:1px solid #ffffffa6!important;border-radius:18px!important;box-shadow:0 15px 40px #25303c26!important}.maplibregl-ctrl-group button{opacity:.72;width:34px;height:34px}.modal-wrap{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#262b3133}.modal{border-radius:31px;padding:30px}.modal header b{font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;font-size:25px;font-weight:600}.modal header small{font-size:12px}.modal>input,.modal textarea,.form-grid input{border-radius:16px;min-height:48px;font-size:14px}.edit-map-modal{background:#fcfaf6fa;width:min(580px,100vw - 30px);box-shadow:0 34px 100px #1419224d}[data-theme=dark] .edit-map-modal{background:#1c2129fc}.modal footer button{border-radius:999px;height:46px;padding-inline:18px;font-size:12px}.modal footer .primary{background:#171b23}.workspace-page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.workspace-page-head em{color:var(--muted);letter-spacing:1.8px;align-items:center;gap:8px;font-size:11px;font-style:normal;font-weight:720;display:flex}.workspace-page-head em svg{width:15px}.workspace-page-head h1,.detail-hero h1,.installer-profile-hero h1{letter-spacing:-3px;margin:12px 0 8px;font-size:clamp(42px,4.3vw,64px);font-weight:520;line-height:.95}.workspace-page-head p{color:var(--muted);margin:0;font-size:16px}.page-count{color:var(--muted);white-space:nowrap;border-radius:999px;padding:12px 17px;font-size:12px}.operations-tools{margin-bottom:20px}.operations-tools>label{width:330px}.operations-tools>.project-sort{width:205px;color:var(--ink);margin-left:auto;padding-right:11px}.project-sort>svg:first-child{width:16px;color:var(--muted)}.project-sort>svg:last-child{width:14px;color:var(--muted);pointer-events:none}.project-sort span{color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.project-sort select{appearance:none;min-width:0;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:12px;font-weight:650}.project-sort .glass-select{flex:1}.project-sort .glass-select>button{min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:11px;padding:0 4px 0 7px;font-size:12px;font-weight:650}.project-sort .glass-select.open>button,.project-sort .glass-select>button:focus-visible{box-shadow:0 0 0 3px #7657ff14}.project-sort .glass-select-menu{min-width:170px;left:auto;right:0}.ops-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px;display:grid}.ops-metrics article{border-radius:24px;align-items:center;gap:15px;min-height:100px;padding:19px 21px;display:flex}.ops-metrics p{gap:2px;margin:0;display:grid}.ops-metrics p small,.ops-metrics p em{color:var(--muted);font-size:11px;font-style:normal}.ops-metrics p b{font-size:25px}.metric.rose{color:#cb4561;background:linear-gradient(145deg,#ffe6eb,#f9cad4)}.overview-head{margin-bottom:22px}.overview-filter{border-radius:23px;align-items:center;gap:20px;min-height:72px;margin-bottom:18px;padding:10px 12px 10px 20px;display:flex}.overview-filter>div:first-child{gap:3px;min-width:220px;display:grid}.overview-filter>div:first-child span{color:var(--muted);font-size:10px}.overview-filter>div:first-child strong{font-size:14px}.period-tabs{background:#ffffff47;border-radius:16px;gap:3px;margin-left:auto;padding:5px;display:flex}.period-tabs button{min-height:40px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:12px;padding:0 14px;font-size:11px}.period-tabs button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 7px 18px #1b222d17,inset 0 1px #ffffffb8}.custom-date-range{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:16px;display:flex}.custom-date-range label{gap:2px;display:grid}.custom-date-range label small{color:var(--muted);letter-spacing:1px;font-size:8px;font-weight:750}.custom-date-range input{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:12px;padding:0 10px;font-size:10px}.custom-date-range>span{color:var(--muted);font-size:10px}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.overview-metrics article{border-radius:25px;align-items:center;gap:15px;min-height:120px;padding:20px;display:flex}.overview-metrics article>div{gap:2px;min-width:0;display:grid}.overview-metrics article small,.overview-metrics article em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.overview-metrics article b{letter-spacing:-1px;font-size:29px;line-height:1.05}.overview-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch;gap:18px;display:grid}.last-map-card{min-width:0;min-height:390px;color:var(--ink);text-align:left;cursor:pointer;border-radius:30px;grid-template-columns:minmax(0,1.15fr) minmax(235px,.85fr);padding:0;display:grid;overflow:hidden}.last-map-card:disabled{cursor:default}.last-map-preview{background:#dbe8eb;min-height:390px;position:relative;overflow:hidden}.last-map-preview .mini-map{pointer-events:none;width:100%;height:100%}.last-map-preview>span{z-index:2;color:#202631;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#faf8f4d1;border-radius:999px;align-items:center;gap:7px;min-height:35px;padding:0 12px;font-size:10px;display:flex;position:absolute;top:17px;left:17px;box-shadow:0 8px 22px #1c25331f}.last-map-preview>span svg{width:14px}.last-map-card>div:last-child{flex-direction:column;justify-content:center;padding:28px;display:flex}.last-map-card>div:last-child>small{color:var(--muted);letter-spacing:1.1px;text-transform:uppercase;font-size:9px;font-weight:740}.last-map-card h2{letter-spacing:-1.5px;margin:14px 0 9px;font-size:clamp(27px,2.5vw,38px);font-weight:540;line-height:.98}.last-map-card p{color:var(--muted);margin:0;font-size:11px}.last-map-card>div:last-child>strong{color:#6244dc;align-items:center;gap:8px;margin-top:48px;font-size:11px;display:inline-flex}.last-map-card>div:last-child>strong svg{width:15px;transition:transform .18s;transform:rotate(180deg)}.last-map-card:hover>div:last-child>strong svg{transform:rotate(180deg)translate(-4px)}.period-projects{border-radius:30px;min-height:390px;padding:23px}.period-projects>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.period-projects>header>div{align-items:center;gap:11px;display:flex}.period-projects>header>div>span{color:#d88900;background:#f3a62f21;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.period-projects>header svg{width:18px}.period-projects>header p{gap:3px;margin:0;display:grid}.period-projects>header p b{font-size:15px}.period-projects>header p small{color:var(--muted);font-size:10px}.period-projects>header>strong{color:var(--muted);font-size:13px}.period-projects>div{gap:8px;margin-top:18px;display:grid}.period-projects>div>button{border:1px solid var(--line);width:100%;min-height:69px;color:var(--ink);text-align:left;cursor:pointer;background:#fff3;border-radius:17px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;transition:transform .16s,background .16s;display:grid}.period-projects>div>button:hover{background:#ffffff61;transform:translate(3px)}.period-projects>div>button>div{gap:4px;min-width:0;display:grid}.period-projects>div>button>div b,.period-projects>div>button>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.period-projects>div>button>div b{font-size:12px}.period-projects>div>button>div small{color:var(--muted);font-size:9px}.period-projects>div>button>strong{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.period-projects>div>button>strong svg{width:13px}.period-empty{min-height:255px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.period-empty>svg{opacity:.55;width:28px;height:28px;margin-bottom:10px}.period-empty b{color:var(--ink);font-size:14px}.period-empty p{max-width:240px;margin:5px 0 0;font-size:10px;line-height:1.5}[data-theme=dark] .period-tabs,[data-theme=dark] .period-projects>div>button{background:#ffffff0b}[data-theme=dark] .period-tabs button.active{box-shadow:none;background:#ffffff1f}.work-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.work-project-card{min-height:340px;color:var(--ink);text-align:left;border-color:#ffffffa3;border-radius:25px;flex-direction:column;padding:0;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.work-project-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #1e26342b}.work-project-image{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#7c62ff1f,#13b8a617 52%,#f0a72b1f);place-items:center;height:112px;display:grid;position:relative;overflow:hidden}.work-project-image>span{color:var(--muted);justify-items:center;gap:3px;display:grid}.work-project-image>span svg{width:20px;margin-bottom:2px}.work-project-image>span b{color:var(--ink);font-size:11px}.work-project-image>span small{font-size:9px}.work-project-image>img{object-fit:cover;width:100%;height:100%}.work-project-content{min-height:228px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;padding:17px 20px 20px;display:flex}.work-project-content header{justify-content:space-between;align-items:center;display:flex}.work-project-content header>svg{width:17px;color:var(--muted);transform:rotate(180deg)}.work-status{border-radius:999px;align-items:center;gap:7px;width:max-content;padding:7px 10px;font-size:10px;font-weight:720;display:flex}.work-status i{border-radius:50%;width:7px;height:7px}.work-status.upcoming{color:#9c6200;background:#f0a72b21}.work-status.upcoming i{background:#f0a72b}.work-status.live{color:#087b61;background:#22b68c21}.work-status.live i{background:#22b68c}.work-status.pending{color:#6946cf;background:#7657ff24}.work-status.pending i{background:#7657ff}.work-status.completed{color:#b63852;background:#e2557021}.work-status.completed i{background:#e25570}.work-project-content>small{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:18px;font-size:10px;font-weight:700}.work-project-card h3{margin:8px 0 17px;font-size:21px;line-height:1.08}.work-project-content>p{color:var(--muted);gap:8px;margin:0;font-size:12px;display:grid}.work-project-content>p span,.work-project-card footer span{align-items:center;gap:7px;display:flex}.work-project-content>p svg,.work-project-card footer svg{width:14px}.work-project-card footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px;font-size:11px;display:flex}.work-project-card footer strong{color:var(--ink);font-weight:650}.create-work-project{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:11px;display:inline-flex;box-shadow:0 12px 28px #1a202c29}.create-work-project svg{width:15px}.connected-map-tag{color:#6244dc;background:#7657ff1a;border-radius:999px;align-items:center;gap:5px;margin-left:auto;margin-right:10px;padding:6px 9px;font-size:8px;font-weight:720;display:inline-flex}.connected-map-tag svg{width:11px}.work-project-card footer .connected-map-tag{margin:0 0 0 auto}.dashboard-calendar-section{margin-top:28px}.dash-content:has(.expanded-calendar){max-width:none;min-height:100vh;padding-top:24px;padding-bottom:24px}.dash-content:has(.expanded-calendar)>:not(.dashboard-calendar-section){display:none}.dashboard-calendar-section:has(.expanded-calendar){min-height:calc(100vh - 48px);margin:0}.dashboard-calendar-section:has(.expanded-calendar)>header{display:none}.dashboard-calendar-section:has(.expanded-calendar) .expanded-calendar{min-height:calc(100vh - 48px)}.dashboard-calendar-section>header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:15px;padding:0 4px;display:flex}.dashboard-calendar-section>header>div{align-items:center;gap:12px;display:flex}.dashboard-calendar-section>header>div>span{border:1px solid var(--line);color:#8e5b00;background:#ffc45633;border-radius:15px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 24px #59452214}.dashboard-calendar-section>header svg{width:18px}.dashboard-calendar-section>header p{gap:2px;margin:0;display:grid}.dashboard-calendar-section>header small{color:var(--muted);letter-spacing:1.35px;font-size:11px;font-weight:750}.dashboard-calendar-section>header b{letter-spacing:-.5px;font-size:28px;font-weight:650}.dashboard-calendar-section>header>span{border:1px solid var(--line);color:var(--muted);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;padding:10px 15px;font-size:12px;font-weight:700;box-shadow:0 8px 20px #1c24300f}.calendar-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:15px;display:grid}.calendar-month{border-radius:25px;min-height:360px;padding:18px}.calendar-month-open{width:100%;min-height:42px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0;display:flex}.calendar-month-open span{font-size:21px;font-weight:650}.calendar-month-open strong{width:32px;height:32px;color:var(--muted);background:var(--panel-strong);border-radius:50%;place-items:center;font-size:12px;transition:color .18s,background .18s,transform .18s;display:grid}.calendar-month-open:hover strong{color:#fff;background:#7657ff;transform:scale(1.06)}.calendar-month>div{gap:9px;display:grid}.calendar-month>div>button{border:1px solid var(--line);min-height:88px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff3d;border-radius:17px;align-items:flex-start;gap:10px;padding:11px;transition:transform .18s,background .18s;display:flex}.calendar-month>div>button:hover{background:#ffffff7a;transform:translateY(-2px)}.calendar-month time{color:#fff;background:#171b23;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:13px;display:grid}.calendar-month button>span{flex:1;gap:3px;min-width:0;display:grid}.calendar-month button small,.calendar-month button em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;line-height:1.35;overflow:hidden}.calendar-month button b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;overflow:hidden}.calendar-month button>i{background:#f0a72b;border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:4px}.calendar-month button>i.live{background:#22b68c}.calendar-month button>i.pending{background:#7657ff}.calendar-month button>i.completed{background:#e25570}.calendar-month>div>p{color:var(--muted);text-align:center;margin-top:42px;font-size:13px}[data-theme=dark] .calendar-month>div>button{background:#ffffff0e}.expanded-calendar{transform-origin:top;border-radius:30px;width:100%;padding:24px;animation:.34s cubic-bezier(.22,.8,.25,1) both calendar-expand}.expanded-calendar>header{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:62px;margin-bottom:20px;display:grid;position:relative}.expanded-calendar>header>div{text-align:center}.expanded-calendar>header small{color:var(--muted);letter-spacing:1.15px;font-size:11px;font-weight:750}.expanded-calendar>header h2{letter-spacing:-1px;margin:4px 0 0;font-size:36px;font-weight:650}.expanded-calendar-back,.expanded-calendar-add{border:1px solid var(--line);width:max-content;min-height:44px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:12px;font-weight:680;display:inline-flex;box-shadow:0 8px 20px #1c243012}.expanded-calendar-back svg,.expanded-calendar-add svg{width:14px}.expanded-calendar-add{color:#fff;background:#171b23;border-color:#0000;justify-self:end}.calendar-drag-bin{color:#b63852;cursor:grabbing;min-width:70px;min-height:44px;font:inherit;background:#ffffffeb;border:1px solid #e255704d;border-radius:999px;padding:0 16px;font-size:12px;font-weight:720;transition:color .16s,background .16s,border-color .16s,transform .16s,box-shadow .16s;animation:.18s both calendar-bin-in;position:absolute;top:50%;right:108px;transform:translateY(-50%);box-shadow:0 8px 22px #411c271f}.calendar-drag-bin.drag-over{color:#fff;background:#df4d69;border-color:#df4d69;transform:translateY(-50%)scale(1.05);box-shadow:0 11px 28px #bd304b4d}@keyframes calendar-bin-in{0%{opacity:0;transform:translate(8px,-50%)scale(.96)}to{opacity:1;transform:translateY(-50%)scale(1)}}.calendar-weekdays,.expanded-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;padding:0 9px;font-size:11px;font-weight:740}.calendar-spacer{background:#727c8909;border-radius:15px;min-height:118px}.expanded-day-cell{border:1px solid var(--line);cursor:zoom-in;background:#ffffff38;border-radius:17px;min-width:0;min-height:145px;padding:9px;transition:border-color .16s,background .16s,transform .16s}.expanded-day-cell:hover{background:#ffffff61;border-color:#7657ff4d}.expanded-day-cell.drag-over{background:#7657ff17;border-color:#7657ff9e;transform:translateY(-2px)}.expanded-day-cell>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.expanded-day-cell>header small{color:var(--muted);font-size:11px}.expanded-day-cell>header b{background:var(--panel-strong);border-radius:10px;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.expanded-day-entries{gap:5px;display:grid}.calendar-project-entry{min-width:0;min-height:34px;color:var(--ink);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f0a72b21;border:0;border-radius:9px;align-items:center;gap:6px;padding:7px 8px;font-size:11px;font-weight:680;line-height:1.25;display:flex;overflow:hidden}.calendar-project-entry>span{background:#f0a72b;border-radius:50%;flex:0 0 5px;width:5px;height:5px}.calendar-project-entry.live{background:#22b68c21}.calendar-project-entry.live>span{background:#22b68c}.calendar-project-entry.pending{background:#7657ff21}.calendar-project-entry.pending>span{background:#7657ff}.calendar-project-entry.completed{background:#e255701f}.calendar-project-entry.completed>span{background:#e25570}.calendar-user-item{min-width:0;min-height:38px;color:var(--ink);cursor:grab;background:#7657ff1c;border:1px solid #7657ff26;border-radius:10px;align-items:center;gap:6px;padding:6px;display:flex}.calendar-user-item:active{cursor:grabbing}.calendar-user-item.note{background:#4ba9dc1c;border-color:#4ba9dc33}.calendar-user-item>span{color:#6946cf;background:#ffffff8c;border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.calendar-user-item.note>span{color:#267ea9}.calendar-user-item>span svg,.calendar-user-item>svg{width:11px}.calendar-user-item>p{flex:1;gap:1px;min-width:0;margin:0;display:grid}.calendar-user-item small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:740}.calendar-user-item b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.calendar-user-item>svg{color:var(--muted);flex:0 0 11px}.day-calendar{flex-direction:column;display:flex}.day-calendar-layout{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0;display:grid}.day-calendar-panel{border:1px solid var(--line);background:#ffffff3d;border-radius:24px;min-width:0;padding:22px}.day-calendar-panel>header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.day-calendar-panel>header>span{color:#6946cf;background:#7657ff1f;border-radius:15px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}.day-calendar-panel>header>span svg{width:19px}.day-calendar-panel>header p{flex:1;gap:3px;min-width:0;margin:0;display:grid}.day-calendar-panel>header small{color:var(--muted);letter-spacing:1.05px;font-size:10px;font-weight:760}.day-calendar-panel>header b{font-size:22px;font-weight:650}.day-calendar-panel>header strong{width:38px;height:38px;color:var(--ink);background:var(--panel-strong);border-radius:50%;place-items:center;font-size:13px;display:grid}.day-project-list,.day-item-list{gap:10px;display:grid}.day-project-list>button{border:1px solid var(--line);min-height:106px;color:var(--ink);background:var(--panel-strong);cursor:pointer;text-align:left;border-radius:19px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;transition:transform .18s,background .18s;display:grid}.day-project-list>button:hover{background:#ffffffb8;transform:translateY(-2px)}.day-project-list>button>.work-status{align-self:start}.day-project-list>button>div{min-width:0}.day-project-list h3{margin:0 0 5px;font-size:18px;font-weight:650}.day-project-list p{color:var(--muted);margin:0 0 7px;font-size:13px}.day-project-list small{color:var(--muted);font-size:12px}.day-project-list>button>svg{width:17px;transform:rotate(180deg)}.day-item-list>article{background:#7657ff17;border:1px solid #7657ff2b;border-radius:19px;align-items:center;gap:13px;min-height:86px;padding:15px;display:flex}.day-item-list>article[draggable=true]{cursor:grab}.day-item-list>article[draggable=true]:active{cursor:grabbing}.day-item-list>article.note{background:#4ba9dc1a;border-color:#4ba9dc33}.day-item-list>article>span{color:#6946cf;background:#ffffff8c;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.day-item-list>article.note>span{color:#267ea9}.day-item-list>article svg{width:18px}.day-item-list>article>div{gap:4px;display:grid}.day-item-list small{color:var(--muted);letter-spacing:.9px;text-transform:uppercase;font-size:10px;font-weight:760}.day-item-list b{font-size:16px;line-height:1.35}.day-calendar-empty{min-height:250px;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.day-calendar-empty>svg{opacity:.58;width:30px;margin-bottom:12px}.day-calendar-empty b{color:var(--ink);font-size:17px}.day-calendar-empty p{margin:6px 0 0;font-size:13px}[data-theme=dark] .day-calendar-panel{background:#ffffff09}[data-theme=dark] .day-project-list>button{background:#ffffff0f}[data-theme=dark] .day-project-list>button:hover{background:#ffffff1a}[data-theme=dark] .calendar-drag-bin{color:#ff9cb0;background:#252a32f5;border-color:#ff9cb047}[data-theme=dark] .calendar-drag-bin.drag-over{color:#fff;background:#df4d69;border-color:#df4d69}.calendar-item-modal{width:min(560px,100vw - 30px)}.calendar-item-type{background:#757e8b1a;border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid}.calendar-item-type button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.calendar-item-type button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 7px 18px #181f2a1a}.calendar-item-type svg{width:14px}.calendar-item-modal .form-grid label.full{grid-column:1/-1}.calendar-item-modal textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:88px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:15px;outline:0;padding:12px;font-size:12px}[data-theme=dark] .expanded-day-cell{background:#ffffff0b}[data-theme=dark] .calendar-user-item>span{background:#ffffff1a}@keyframes calendar-expand{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.page-back{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:2px 0 22px;padding:0;font-size:13px;display:flex}.calendar-return-marker{display:none}.dash-content:has(>.calendar-return-marker) .project-profile-toolbar .page-back{font-size:0}.dash-content:has(>.calendar-return-marker) .project-profile-toolbar .page-back:after{content:"Calendar";font-size:13px}.detail-hero{border-radius:30px;justify-content:space-between;align-items:flex-end;gap:20px;min-height:180px;margin-bottom:20px;padding:28px 31px;display:flex}.detail-hero h1{font-size:clamp(38px,4vw,56px)}.detail-hero p{color:var(--muted);margin:0;font-size:14px}.detail-hero>div:last-child{color:var(--muted);background:#ffffff61;border-radius:18px;align-items:center;gap:12px;padding:13px 15px;font-size:12px;display:flex}.detail-hero>div:last-child span{align-items:center;gap:6px;display:flex}.detail-hero>div:last-child svg{width:15px}.project-visual-hero{isolation:isolate;background:linear-gradient(135deg,#7657ff24,#13b8a61a 54%,#f0a72b1a);min-height:278px;position:relative;overflow:hidden}.project-visual-hero:after{content:"";z-index:-1;opacity:0;background:linear-gradient(90deg,#131822b3,#13182233 65%,#13182261);position:absolute;inset:0}.project-visual-hero.has-cover:after{opacity:1}.project-cover-photo{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-photo-upload{color:#1b2430;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#ffffffd1;border:1px solid #ffffff7a;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 13px;font-size:10px;font-weight:700;display:flex;position:absolute;top:18px;right:18px;box-shadow:0 9px 24px #141b2629}.cover-photo-upload svg{width:14px}.cover-photo-upload input,.project-profile-image input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.project-hero-identity{align-items:flex-end;gap:18px;min-width:0;display:flex}.project-visual-hero .work-status{background:#fff;border:1px solid #fffc;box-shadow:0 9px 24px #0d141f33}.project-profile-image{color:#253041;cursor:pointer;text-align:center;background:#ffffffe0;border:1px solid #ffffffa8;border-radius:24px;flex:0 0 86px;align-content:center;place-items:center;gap:4px;width:86px;height:86px;display:grid;overflow:hidden;box-shadow:0 15px 36px #161d2833}.project-profile-image img{object-fit:contain;width:100%;height:100%;padding:8px}.project-profile-image svg{width:19px}.project-profile-image span{padding-inline:8px;font-size:9px;line-height:1.15}.project-visual-hero.has-cover h1,.project-visual-hero.has-cover p{color:#fff;text-shadow:0 2px 18px #0000003d}.project-visual-hero.has-cover .detail-dates{color:#ffffffe0;background:#10161e61}.project-map-overview-row{grid-template-columns:minmax(0,2fr) minmax(280px,.78fr);align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.project-map-overview-row.has-overview{grid-template-columns:minmax(0,2fr) minmax(280px,.78fr)}.project-map-overview-row.has-overview .completed-project-overview{grid-column:1/-1}.project-map-connection{border-radius:28px;align-items:center;gap:18px;min-height:130px;margin-bottom:20px;padding:20px;display:flex}.project-map-overview-row .project-map-connection{height:100%;margin-bottom:0}.project-map-connection>.project-map-empty-icon{color:#7657ff;background:#7657ff1f;border-radius:18px;flex:0 0 54px;place-items:center;width:54px;height:54px;display:grid}.project-map-empty-icon svg{width:23px}.project-map-connection>div{flex:1;min-width:0}.project-map-connection h2{margin:0 0 5px;font-size:22px}.project-map-connection p{color:var(--muted);margin:0;font-size:11px}.project-map-connection>button.primary{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-size:10px;display:inline-flex}.project-map-connection>button svg{width:14px}.project-map-connection.connected{grid-template-columns:180px minmax(0,1fr) auto;display:grid}.project-connected-preview{cursor:pointer;background:#dce8ea;border:0;border-radius:19px;width:100%;height:98px;padding:0;position:relative;overflow:hidden}.project-connected-preview .mini-map{pointer-events:none;width:100%;height:100%}.project-connected-preview>span{z-index:3;color:#202631;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f4e0;border-radius:999px;align-items:center;gap:6px;min-height:29px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex;position:absolute;bottom:9px;right:9px;box-shadow:0 7px 20px #1b232f29}.project-connected-preview>span svg{width:12px}.project-connected-preview:focus-visible{outline-offset:3px;outline:3px solid #7657ff6b}.project-map-connection.connected>div:nth-child(2)>span{color:#0b8c78;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:7px;font-size:9px;font-weight:740;display:inline-flex}.project-map-connection.connected>div:nth-child(2)>span svg{width:12px}.project-map-connection.connected>div:nth-child(2)>div{gap:7px;margin-top:13px;display:flex}.project-map-connection.connected>div:nth-child(2) button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:9px;display:inline-flex}.project-map-connection.connected>div:nth-child(2) button svg{width:13px}.project-map-connection.connected>strong{color:#7657ff;justify-items:end;min-width:90px;font-size:30px;display:grid}.project-map-connection.connected>strong small{color:var(--muted);font-size:9px;font-weight:500}.project-lead-panel{border-radius:28px;flex-direction:column;gap:14px;min-width:0;min-height:130px;padding:20px;display:flex;position:relative}.project-lead-panel>header{align-items:center;gap:11px;display:flex}.project-lead-panel>header>span{color:#6847f5;letter-spacing:.5px;background:linear-gradient(145deg,#7657ff33,#7657ff14);border-radius:14px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:10px;font-weight:800;display:grid}.project-lead-panel>header p{gap:2px;min-width:0;margin:0;display:grid}.project-lead-panel>header small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.project-lead-panel>header b{font-size:18px}.project-lead-controls{align-items:center;gap:6px;margin-left:auto;display:flex}.project-lead-controls button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:50%;place-items:center;padding:0;font-size:17px;line-height:1;transition:transform .18s,border-color .18s,background .18s;display:grid}.project-lead-controls button:hover{background:#7657ff1a;border-color:#7657ff5c;transform:translateY(-1px)}.project-lead-controls button.remove:hover{color:#d94f68;background:#d94f6817;border-color:#d94f684d}.project-lead-empty{flex:1;align-content:end;gap:12px;display:grid}.project-lead-empty p{gap:4px;margin:0;display:grid}.project-lead-empty b{font-size:14px}.project-lead-empty small{color:var(--muted);font-size:11px;line-height:1.35}.project-lead-empty button,.project-lead-panel>button{color:#fff;cursor:pointer;min-height:40px;font:inherit;background:#7657ff;border:1px solid #7657ff2e;border-radius:999px;padding:0 14px;font-size:12px;font-weight:700}.project-lead-empty button:disabled{color:var(--muted);cursor:not-allowed;background:#828a961a}.project-lead-profile{border:1px solid var(--line);background:#ffffff42;border-radius:18px;align-items:center;gap:11px;min-width:0;padding:11px;display:flex}.project-lead-profile>span,.project-lead-picker>button:not(.project-lead-picker-cancel)>span{color:#fff;background:linear-gradient(145deg,#856cff,#5d3fe0);border-radius:50%;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:10px;font-weight:800;display:grid;box-shadow:0 8px 20px #6246df33}.project-lead-profile>div{min-width:0}.project-lead-profile h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.project-lead-profile p{color:var(--muted);margin:3px 0;font-size:11px}.project-lead-profile small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.project-lead-panel>button{color:var(--ink);border-color:var(--line);background:var(--panel-strong)}.project-lead-picker{z-index:25;width:100%;max-height:250px;color:var(--ink);background:var(--panel-strong);-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);scrollbar-width:thin;scrollbar-color:#7657ff6b transparent;border:1px solid #ffffffa3;border-radius:22px;gap:7px;padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 24px 56px #1b222f33}.project-lead-picker>strong{padding:0 2px 4px;font-size:11px}.project-lead-picker>button{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;font:inherit;background:#ffffff47;border-radius:15px;align-items:center;gap:9px;padding:9px;display:flex}.project-lead-picker>button:hover,.project-lead-picker>button.selected{background:#7657ff1a;border-color:#7657ff61}.project-lead-picker>button p{gap:2px;min-width:0;margin:0;display:grid}.project-lead-picker>button b{font-size:12px}.project-lead-picker>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.project-lead-picker>button.project-lead-picker-cancel{min-height:34px;color:var(--muted);background:0 0;border-radius:999px;justify-content:center;font-size:11px;font-weight:700}[data-theme=dark] .project-lead-profile,[data-theme=dark] .project-lead-picker>button{background:#ffffff0e}.completed-project-overview{border-radius:28px;flex-direction:column;min-width:0;padding:20px;display:flex}.completed-project-overview>header{align-items:center;gap:10px;margin-bottom:15px;display:flex}.completed-project-overview>header>span{color:#087b61;background:#22b68c24;border-radius:13px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.completed-project-overview>header svg{width:17px}.completed-project-overview>header p{gap:2px;margin:0;display:grid}.completed-project-overview>header small,.project-notes>span{color:var(--muted);letter-spacing:.9px;font-size:8px;font-weight:720}.completed-project-overview>header b{font-size:17px}.project-notes{gap:7px;display:grid}.project-notes textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:92px;color:var(--ink);font:inherit;background:#ffffff57;border-radius:15px;outline:0;padding:11px 12px;font-size:11px;line-height:1.45}.project-notes textarea:focus{border-color:#7657ff7a;box-shadow:0 0 0 3px #7657ff1a}.save-project-notes{border:1px solid var(--line);width:max-content;min-height:31px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:0 10px;font-size:9px;font-weight:680;display:inline-flex}.save-project-notes svg{width:12px}.save-project-notes:disabled{opacity:.5;cursor:default}.completed-early-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding-top:13px;display:flex}.completed-early-row p{gap:3px;margin:0;display:grid}.completed-early-row b{font-size:11px}.completed-early-row small{color:var(--muted);font-size:9px;line-height:1.3}.completed-early-row>button{cursor:pointer;background:#535d6c38;border:0;border-radius:999px;flex:0 0 42px;width:42px;height:24px;padding:3px;transition:background .18s}.completed-early-row>button span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;display:block;box-shadow:0 2px 7px #1e25303d}.completed-early-row>button.active{background:#22b68c}.completed-early-row>button.active span{transform:translate(18px)}.project-detail-grid,.profile-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:20px;display:grid}.detail-panel{border-radius:27px;padding:22px}.detail-panel>header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.detail-panel>header>span{color:#202832;background:#242b3514;border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.detail-panel>header p{flex:1;gap:4px;margin:0;display:grid}.detail-panel>header b{font-size:16px}.detail-panel>header small{color:var(--muted);font-size:11px}.detail-panel>header strong{background:var(--panel-strong);border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.assignment-head-actions{align-items:center;gap:7px;display:flex}.assignment-head-actions>strong{background:var(--panel-strong);border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.assignment-head-actions>button{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;box-shadow:0 8px 20px #191f2a29}.assignment-head-actions>button svg{width:15px;transition:transform .18s}.assignment-head-actions>button[aria-expanded=true] svg{transform:rotate(45deg)}.installer-picker{border:1px solid var(--line);background:#ffffff4d;border-radius:19px;margin:-3px 0 15px;padding:12px}.installer-picker>label{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;align-items:center;gap:8px;height:42px;padding:0 12px;display:flex}.installer-picker>label svg{width:14px;color:var(--muted)}.installer-picker input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:10px}.installer-picker>div{gap:6px;max-height:245px;margin-top:9px;display:grid;overflow-y:auto}.installer-picker>div>button{width:100%;min-height:55px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:9px;padding:7px 9px;display:flex}.installer-picker>div>button:hover{border-color:var(--line);background:#ffffff6b}.installer-picker>div>button:disabled{opacity:.48;cursor:not-allowed}.installer-picker>div>button img{object-fit:cover;border-radius:12px;width:38px;height:38px}.installer-picker>div>button span{flex:1;gap:3px;min-width:0;display:grid}.installer-picker>div>button b{font-size:11px}.installer-picker>div>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.installer-picker>div>button>svg{color:#0b8c78;width:14px}.installer-picker>div>p{color:var(--muted);text-align:center;margin:0;padding:18px;font-size:10px}.assignment-list{gap:7px;display:grid}.assignment-list article{border:1px solid var(--line);background:#ffffff38;border-radius:17px;flex-wrap:wrap;align-items:center;gap:9px;min-height:64px;padding:8px;display:flex;position:relative}.assignment-profile{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.assignment-profile img{object-fit:cover;border-radius:14px;width:42px;height:42px}.assignment-profile span{gap:3px;min-width:0;display:grid}.assignment-profile b{font-size:13px}.assignment-profile small{color:var(--muted);font-size:10px}.assignment-list article>button:last-child{color:#087b61;cursor:pointer;background:#22b68c1f;border:0;border-radius:999px;height:33px;padding:0 10px;font-size:10px;font-weight:650}.assignment-list article>button:last-child.assigned{color:#fff;background:#159d78}.assignment-list article>button:last-child:disabled{opacity:.35;cursor:not-allowed}.assignment-list article>button:last-child svg{width:13px}.assignment-list article>button:nth-of-type(2){color:#087b61;cursor:pointer;background:#22b68c1f;border:0;border-radius:999px;height:33px;padding:0 10px;font-size:10px;font-weight:650}.assignment-list article>button:nth-of-type(2).assigned{color:#fff;background:#159d78}.assignment-list article>button:nth-of-type(2):disabled{opacity:.42;cursor:not-allowed}.assignment-list article>button:nth-of-type(2) svg{width:13px}.assignment-list article>button.unassign{color:#c5415b;background:#e255701a;place-items:center;width:34px;padding:0;font-size:0;display:grid}.assignment-list article>button.unassign svg{width:15px;height:15px}.assignment-confirmation-actions{align-items:center;gap:6px;display:flex}.assignment-confirmation-actions .assignment-state-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:16px;font-weight:760;transition:color .18s,border-color .18s,background .18s,transform .18s;display:grid}.assignment-confirmation-actions .assignment-state-button:hover{transform:translateY(-1px)}.assignment-confirmation-actions .confirm.active{color:#087b61;background:#22b68c29;border-color:#149d783d}.assignment-confirmation-actions .pending.active{color:#b66c00;background:#f0a72b2b;border-color:#f0a72b4d}.assignment-list article.assignment-confirmed{background:linear-gradient(135deg,#22b68c29,#22b68c12);border-color:#149d7847;box-shadow:inset 4px 0 #22b68c}.assignment-list article.assignment-pending{background:linear-gradient(135deg,#f0a72b2e,#f0a72b12);border-color:#f0a72b4d;box-shadow:inset 4px 0 #f0a72b}.assignment-empty{border:1px dashed var(--line);min-height:150px;color:var(--muted);text-align:center;border-radius:18px;align-content:center;place-items:center;gap:5px;padding:25px;display:grid}.assignment-empty svg{opacity:.55;width:24px;margin-bottom:3px}.assignment-empty b{color:var(--ink);font-size:12px}.assignment-empty small{font-size:9px}.assignment-booking{display:none}.assignment-booking label{gap:5px;min-width:0;display:grid}.assignment-booking label small{color:var(--muted);letter-spacing:.8px;font-size:7px;font-weight:740}.assignment-booking input{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:10px;padding:0 7px;font-size:8px}.assignment-postcodes{z-index:18;overscroll-behavior:contain;max-height:255px;color:var(--ink);-webkit-backdrop-filter:blur(26px)saturate(145%);cursor:default;scrollbar-width:thin;scrollbar-color:#7657ff59 transparent;background:#fbfaf8f5;border:1px solid #7657ff2e;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:16px;position:absolute;top:calc(100% - 2px);left:8px;right:8px;overflow-y:auto;box-shadow:0 24px 58px #1b222f42,inset 0 1px #ffffffe6;display:none!important}.assignment-profile:hover .assignment-postcodes,.assignment-profile:focus-visible .assignment-postcodes,.assignment-postcodes:hover,.assignment-postcodes:focus{display:grid!important}.assignment-postcodes::-webkit-scrollbar{width:7px}.assignment-postcodes::-webkit-scrollbar-track{background:0 0;margin-block:12px}.assignment-postcodes::-webkit-scrollbar-thumb{background:#7657ff61 padding-box padding-box;border:2px solid #0000;border-radius:999px}.assignment-postcodes b{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfaf8f0;grid-column:1/-1;margin:-16px -16px 6px;padding:14px 16px 11px;font-size:12px;position:sticky;top:-16px}.assignment-postcodes small{color:#544a77;text-align:center;background:#7657ff16;border:1px solid #7657ff14;border-radius:10px;padding:8px 9px;font-size:10px;font-weight:650}[data-theme=dark] .assignment-postcodes{scrollbar-color:#9b84ff80 transparent;background:#1d2232f7;border-color:#9b84ff38;box-shadow:0 25px 62px #00000080,inset 0 1px #ffffff14}[data-theme=dark] .assignment-postcodes b{background:#1d2232f2}[data-theme=dark] .assignment-postcodes small{color:#ddd6ff;background:#8b6fff26;border-color:#9b84ff1f}.pdf-drop{min-height:116px;color:var(--muted);text-align:center;cursor:pointer;background:#fff3;border:1px dashed #666f7e47;border-radius:19px;align-content:center;place-items:center;gap:5px;padding:18px;display:grid}.pdf-drop svg{width:24px;height:24px}.pdf-drop b{color:var(--ink);font-size:13px}.pdf-drop small{font-size:10px}.pdf-drop input{display:none}.pdf-drop.compact{min-height:88px}.document-list{gap:7px;margin-top:13px;display:grid}.document-list article{border:1px solid var(--line);background:#ffffff38;border-radius:15px;align-items:center;gap:9px;min-height:55px;padding:9px 10px;display:flex}.document-list article>svg{color:#d4516b;width:18px}.document-list article>span{flex:1;gap:2px;min-width:0;display:grid}.document-list article b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.document-list article small{color:var(--muted);font-size:9px}.doc-select{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;place-items:center;width:22px;height:22px;padding:0;display:grid}.doc-select.selected{color:#fff;background:#171b23;border-color:#171b23}.doc-select svg{width:12px}.download-doc,.remove-doc{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.download-doc svg,.remove-doc svg{width:14px}.download-doc:hover{color:var(--ink)}.empty-docs{color:var(--muted);text-align:center;background:#ffffff2e;border-radius:14px;margin:5px 0;padding:14px;font-size:10px}.send-prep{background:#232a340f;border-radius:18px;align-items:center;gap:12px;margin-top:15px;padding:14px;display:flex}.send-prep p{flex:1;gap:3px;margin:0;display:grid}.send-prep b{font-size:12px}.send-prep small{color:var(--muted);font-size:9px}.send-prep>div{gap:6px;display:flex}.send-prep button{border:1px solid var(--line);height:34px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:10px;display:flex}.send-prep button:disabled{opacity:.35;cursor:not-allowed}.send-prep svg{width:13px}.database-tools{grid-template-columns:minmax(250px,1fr) minmax(310px,.85fr) auto;gap:12px;margin-bottom:27px;display:grid}.database-summary{margin-bottom:22px}.installer-metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0}.installer-metrics article{min-height:92px}.database-add{white-space:nowrap;place-self:center end;min-width:132px;height:50px;padding-inline:15px}.database-tools>label,.locator{border-radius:999px;align-items:center;gap:10px;min-height:50px;padding:0 16px;display:flex}.database-tools input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.database-tools svg{width:17px;color:var(--muted)}.locator button{color:#fff;cursor:pointer;white-space:nowrap;background:#171b23;border:0;border-radius:999px;height:34px;padding:0 10px;font-size:10px}.locator button:disabled{opacity:.42}.locator-error,.form-error{color:#d84d68;margin:-16px 0 22px;font-size:11px}.installer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.installer-card{width:100%;height:100%;color:var(--ink);text-align:left;cursor:pointer;appearance:none;border-radius:22px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.installer-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #1e26342b}.installer-image{background:#dbe5e7;flex:0 0 142px;width:100%;height:142px;position:relative;overflow:hidden}.installer-image img{object-fit:cover;width:100%;height:100%}.availability{color:#087b61;background:#e2fcf4e6;border-radius:999px;width:max-content;padding:6px 9px;font-size:9px;font-weight:720}.installer-image .availability{position:absolute;top:11px;left:11px;box-shadow:0 6px 18px #17212a1f}.availability.assigned{color:#8c5a00;background:#fff0cceb}.availability.unavailable{color:#b63852;background:#ffe1e8eb}.installer-card-copy{flex:1;width:100%;padding:15px 16px 17px}.installer-card-copy>small{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px}.installer-card-copy h3{margin:6px 0 10px;font-size:18px}.installer-card-copy p{min-height:36px;color:var(--muted);align-items:flex-start;gap:7px;margin:0;font-size:12px;line-height:1.4;display:flex}.installer-card-copy p svg,.installer-card-copy strong svg{flex:0 0 14px;width:14px}.installer-card-copy strong{border-top:1px solid var(--line);color:#0b8c78;align-items:center;gap:7px;margin-top:13px;padding-top:12px;font-size:12px;display:flex}.teams-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.team-card{width:100%;min-height:195px;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:27px;padding:24px;transition:transform .25s cubic-bezier(.2,.75,.25,1),box-shadow .25s,border-color .25s}.team-card:hover,.team-card:focus-visible{z-index:2;border-color:#7657ff4d;outline:0;transform:translateY(-5px)scale(1.025);box-shadow:0 28px 68px #1b212f2b,inset 0 1px #ffffffbf}.lead-team-card>header{align-items:center;display:flex}.team-leader{min-width:0;color:var(--ink);align-items:center;gap:16px;display:flex}.team-leader img{object-fit:cover;border-radius:50%;flex:0 0 66px;width:66px;height:66px;box-shadow:0 12px 28px #181f2a2b}.team-leader b{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.5px;font-size:25px;line-height:1.05;overflow:hidden}.team-member-portraits{align-items:center;min-height:58px;margin-top:25px;padding-left:4px;display:flex}.team-member-portraits>span:not(.team-no-members){border:3px solid var(--panel-strong);background:var(--panel-strong);border-radius:50%;width:54px;height:54px;margin-left:-13px;overflow:hidden;box-shadow:0 8px 20px #181f2a24}.team-member-portraits>span:first-child{margin-left:0}.team-member-portraits img{object-fit:cover;width:100%;height:100%;display:block}.team-no-members{color:var(--muted);font-size:13px}.team-tree-page{min-height:calc(100vh - 76px);animation:.38s cubic-bezier(.2,.8,.2,1) team-tree-enter}@keyframes team-tree-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.team-tree-heading{text-align:left;justify-content:center;align-items:center;gap:18px;max-width:780px;margin:32px auto 42px;display:flex}.team-tree-heading>span{color:#fff;background:linear-gradient(145deg,#7958ff,#a66cf4);border-radius:22px;flex:0 0 62px;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 17px 36px #7657ff40}.team-tree-heading>span svg{width:27px}.team-tree-heading small{color:#7352d7;letter-spacing:1.4px;font-size:10px;font-weight:780}.team-tree-heading h1{letter-spacing:-2px;margin:4px 0 5px;font-size:46px;line-height:1}.team-tree-heading p{color:var(--muted);margin:0;font-size:13px}.team-tree{padding:0 0 50px;position:relative}.team-tree-lead{width:min(670px,100%);margin:0 auto;position:relative}.team-tree-lead:after{content:"";background:linear-gradient(#7657ffb3,#7657ff3d);width:1px;height:46px;position:absolute;bottom:-46px;left:50%}.team-installer-node{border-radius:28px;padding:22px;position:relative}.team-installer-node.lead{border-color:#7657ff4d;box-shadow:0 28px 70px #4e378e29,inset 0 1px #ffffffc2}.team-node-profile{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:15px;padding:0;display:flex}.team-node-profile>img{object-fit:cover;border-radius:50%;flex:0 0 74px;width:74px;height:74px;box-shadow:0 13px 28px #181f2a29}.team-installer-node.lead .team-node-profile>img{flex-basis:88px;width:88px;height:88px}.team-node-profile>span{min-width:0}.team-node-profile small{color:#7352d7;letter-spacing:1.2px;font-size:9px;font-weight:800}.team-node-profile h2{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.55px;margin:4px 0 7px;font-size:24px;overflow:hidden}.team-installer-node.lead .team-node-profile h2{font-size:30px}.team-node-rating{align-items:center;gap:3px;display:flex}.team-node-rating svg{color:#b7bbc4;width:15px;height:15px}.team-node-rating svg.filled{color:#e3aa2d;fill:currentColor}.team-node-rating b{color:var(--muted);margin-left:5px;font-size:11px}.team-node-credentials{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;padding-top:16px;display:grid}.team-node-credentials>div{border:1px solid var(--line);background:#ffffff38;border-radius:15px;align-items:center;gap:9px;min-width:0;min-height:54px;padding:9px 10px;display:flex}.team-node-credentials>div>span{color:#7352d7;background:#7657ff1a;border-radius:10px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.team-node-credentials svg{width:14px}.team-node-credentials p{gap:2px;min-width:0;margin:0;display:grid}.team-node-credentials small{color:var(--muted);letter-spacing:.55px;text-transform:uppercase;font-size:8px;font-weight:720}.team-node-credentials b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.team-tree-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:46px;padding-top:40px;display:grid;position:relative}.team-tree-members:before{content:"";background:linear-gradient(90deg,#7657ff2e,#7657ffad,#7657ff2e);height:1px;position:absolute;top:0;left:16.67%;right:16.67%}.team-tree-members .team-installer-node:before{content:"";background:#7657ff57;width:1px;height:40px;position:absolute;top:-40px;left:50%}.team-tree-empty{text-align:center;border-radius:24px;max-width:420px;margin:46px auto 0;padding:28px}.team-tree-empty svg{color:#7352d7;width:24px}.team-tree-empty b{margin-top:8px;font-size:16px;display:block}.team-tree-empty p{color:var(--muted);margin-bottom:0;font-size:12px}[data-theme=dark] .team-tree-heading small,[data-theme=dark] .team-node-profile small{color:#c8b9ff}[data-theme=dark] .team-node-credentials>div{background:#ffffff0a}[data-theme=dark] .connect-map-choices>button{background:#ffffff0b}.prospecting-intro{background:radial-gradient(circle at 82% 18%, #70e1ca59, transparent 28%), radial-gradient(circle at 16% 88%, #f3bc6f40, transparent 32%), var(--panel);border-radius:34px;align-items:flex-end;gap:24px;min-height:320px;padding:42px;display:flex;position:relative;overflow:hidden}.prospecting-intro>span{color:#fff;background:linear-gradient(145deg,#7556f7,#4e3bb6);border-radius:23px;flex:0 0 68px;place-items:center;width:68px;height:68px;display:grid;box-shadow:0 17px 38px #533eb83d}.prospecting-intro>span svg{width:28px}.prospecting-intro>div{max-width:690px}.prospecting-intro small{color:#6e50d1;letter-spacing:1.4px;font-size:10px;font-weight:780}.prospecting-intro h2{letter-spacing:-2.3px;margin:8px 0 10px;font-size:clamp(34px,4.2vw,57px);font-weight:540;line-height:.98}.prospecting-intro p{max-width:570px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}[data-theme=dark] .prospecting-intro small{color:#c9bfff}.prospecting-page-head{margin-bottom:24px}.prospecting-add{color:#fff;cursor:pointer;min-height:48px;font:inherit;background:#151a24;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 19px;font-size:12px;display:inline-flex;box-shadow:0 14px 28px #161b2626}.prospecting-add svg{width:16px}.prospecting-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.prospecting-summary article{border-radius:27px;align-items:center;gap:16px;min-height:112px;padding:21px 23px;display:flex}.prospecting-summary article>p{gap:3px;margin:0;display:grid}.prospecting-summary small,.prospecting-summary em{color:var(--muted);font-size:11px;font-style:normal}.prospecting-summary b{font-size:27px;line-height:1}.quote-tools{border-radius:23px;justify-content:space-between;align-items:center;gap:16px;min-height:74px;margin-bottom:26px;padding:10px 12px;display:flex}.quote-tools>.glass-select{width:min(330px,44%)}.quote-tools>.glass-select>button{background:#ffffff7a;border:0;border-radius:16px;min-height:52px}.quote-status-tabs{background:#6f778813;border-radius:17px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.quote-status-tabs button{min-width:126px;height:42px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:11px;display:flex}.quote-status-tabs button span{min-width:23px;color:inherit;background:#6d75841a;border-radius:999px;padding:4px 6px;font-size:9px}.quote-status-tabs button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 8px 22px #1f26321a,inset 0 1px #ffffffb3}.quote-list{gap:10px;display:grid}.quote-row{border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:96px;padding:17px 18px;display:grid}.quote-state{text-align:center;border-radius:999px;min-width:58px;padding:7px 9px;font-size:9px;font-weight:740}.quote-state.draft{color:#9a6411;background:#f3a62f24}.quote-state.sent{color:#087b61;background:#13b8a621}.quote-row>div{min-width:0}.quote-row>div small,.quote-row>div p{color:var(--muted);font-size:10px}.quote-row h3{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 4px;font-size:17px;font-weight:560;overflow:hidden}.quote-row p{margin:0}.quote-row>strong{font-size:18px;font-weight:590}.quote-row>button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.quote-row>button svg{width:14px;transform:rotate(180deg)}.potential-client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.potential-client-card{border-radius:28px;flex-direction:column;min-height:270px;padding:22px;display:flex}.potential-client-card>header{justify-content:space-between;align-items:center;display:flex}.potential-client-card>header>span{color:#fff;background:linear-gradient(145deg,#7657ff,#13b8a6);border-radius:17px;place-items:center;width:51px;height:51px;font-size:20px;display:grid}.potential-client-card>header>svg{width:18px;color:var(--muted)}.potential-client-card>small{color:#6848df;letter-spacing:1.1px;margin-top:20px;font-size:8px;font-weight:760}.potential-client-card h3{margin:7px 0 16px;font-size:21px;font-weight:560}.potential-client-card>div{gap:8px;display:grid}.potential-client-card p,.potential-client-card a{overflow-wrap:anywhere;color:var(--muted);align-items:center;gap:8px;margin:0;font-size:10px;text-decoration:none;display:flex}.potential-client-card p svg,.potential-client-card a svg{flex:0 0 13px;width:13px}.potential-client-card footer{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:17px;font-size:10px;line-height:1.45}.prospecting-modal{width:min(620px,100vw - 30px)}.prospecting-modal .form-grid label.full{grid-column:1/-1}.prospecting-modal textarea{resize:vertical;min-height:112px;padding:13px 14px;line-height:1.45}[data-theme=dark] .quote-tools>.glass-select>button{background:#fff1}[data-theme=dark] .potential-client-card>small{color:#c7bcff}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.client-card{cursor:pointer;border-radius:28px;min-height:310px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s}.client-card:hover,.client-card:focus-visible{border-color:#7657ff47;outline:0;transform:translateY(-4px);box-shadow:0 24px 54px #232b3a24,inset 0 1px #ffffffb3}.client-card header{justify-content:space-between;align-items:center;display:flex}.client-card header>span{color:#fff;background:linear-gradient(135deg,#7657ff,#13b8a6);border-radius:17px;place-items:center;width:50px;height:50px;font-size:22px;display:grid;overflow:hidden}.client-card-logo img{object-fit:contain;background:#ffffffeb;width:100%;height:100%;padding:5px}.client-card header strong{color:var(--muted);font-size:11px}.client-card h2{margin:28px 0 8px;font-size:24px;line-height:1.05}.client-card>p,.client-card a{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.client-card svg{width:14px}.client-card>div{background:#ffffff3d;border-radius:18px;gap:5px;margin-top:24px;padding:16px;display:grid}.client-card>div small{color:var(--muted);letter-spacing:1px;font-size:9px}.client-card>div b{font-size:14px}.client-card>div a{margin-top:4px;text-decoration:none}.client-email{overflow-wrap:anywhere;color:var(--muted);align-items:center;gap:7px;margin-top:4px;font-size:12px;display:flex}.client-card footer{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.client-page-actions{align-items:center;gap:9px;display:flex}.add-client-button{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-size:11px;display:inline-flex;box-shadow:0 11px 26px #191f2a29}.add-client-button svg{width:15px}.client-form-modal,.edit-work-project-modal{width:min(650px,100vw - 30px)}.client-form-modal .form-grid label.full,.edit-work-project-modal .form-grid label.full{grid-column:1/-1}.client-form-modal .form-grid label span{opacity:.65;margin-left:5px;font-weight:500}.client-profile-toolbar,.project-profile-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.client-profile-toolbar .page-back,.project-profile-toolbar .page-back{margin:0}.edit-client-button,.edit-project-button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:10px;display:inline-flex;box-shadow:0 9px 24px #1c232f14}.edit-client-button svg,.edit-project-button svg{width:14px}.status-helper{color:var(--muted);align-items:center;gap:8px;margin:14px 2px 0;font-size:10px;line-height:1.45;display:flex}.status-helper svg{flex:0 0 15px;width:15px}.client-profile-hero{border-radius:34px;align-items:center;gap:38px;min-height:310px;padding:34px;display:flex}.client-logo-upload{width:240px;height:210px;color:var(--muted);cursor:pointer;text-align:center;background:#ffffff40;border:1px dashed #7657ff57;border-radius:30px;flex:0 0 240px;align-content:center;place-items:center;gap:7px;transition:border-color .18s,transform .18s;display:grid;position:relative;overflow:hidden}.client-logo-upload:hover{border-color:#7657ff;transform:translateY(-2px)}.client-logo-upload>svg{color:#7657ff;width:34px;height:34px}.client-logo-upload>b{color:var(--ink);font-size:16px}.client-logo-upload>small{font-size:11px}.client-logo-upload>input{display:none}.client-logo-upload>img{object-fit:contain;background:#ffffffe6;width:100%;height:100%;padding:22px}.client-logo-upload>span{color:#fff;white-space:nowrap;background:#131820db;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 13px;font-size:10px;display:inline-flex;position:absolute;bottom:13px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #141c282e}.client-logo-upload>span svg{width:14px}.client-profile-copy{min-width:0}.client-profile-copy>em{color:var(--muted);letter-spacing:1.6px;font-size:10px;font-style:normal;font-weight:750}.client-profile-copy h1{letter-spacing:-3.5px;max-width:700px;margin:14px 0 10px;font-size:clamp(44px,5vw,72px);font-weight:520;line-height:.94}.client-profile-copy>p{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.client-profile-copy>p svg{width:17px}.client-profile-copy>div{gap:12px;margin-top:30px;display:flex}.client-profile-copy>div>span{border:1px solid var(--line);background:#ffffff3d;border-radius:18px;grid-template-columns:24px 1fr;column-gap:9px;min-width:130px;padding:14px 16px;display:grid}.client-profile-copy>div svg{color:#7657ff;grid-row:span 2;align-self:center;width:20px}.client-profile-copy>div b{font-size:20px;line-height:1}.client-profile-copy>div small{color:var(--muted);margin-top:4px;font-size:10px}.client-contacts-panel{border-radius:32px;margin-top:22px;padding:28px}.client-contacts-panel>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.client-contacts-panel>header>div{align-items:center;gap:13px;display:flex}.client-contacts-panel>header>div>span{color:#7657ff;background:#7657ff1f;border-radius:16px;place-items:center;width:46px;height:46px;display:grid}.client-contacts-panel>header svg{width:19px}.client-contacts-panel>header p{gap:4px;margin:0;display:grid}.client-contacts-panel>header p b{font-size:18px}.client-contacts-panel>header p small{color:var(--muted);font-size:11px}.client-contacts-panel>header>button,.add-contact-form>button{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-size:11px;display:inline-flex}.client-contacts-panel>header>button svg,.add-contact-form>button svg{width:14px}.add-contact-form{border:1px solid var(--line);background:#ffffff30;border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:22px 0 2px;padding:18px;display:grid}.add-contact-form label{gap:7px;display:grid}.add-contact-form label small{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:720}.add-contact-form input{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);font:inherit;background:#ffffff61;border-radius:14px;outline:0;padding:0 13px;font-size:12px}.add-contact-form input:focus{border-color:#7657ff8c;box-shadow:0 0 0 3px #7657ff1a}.add-contact-form>button:disabled{opacity:.4;cursor:not-allowed}.company-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:23px;display:grid}.company-contact-card{border:1px solid var(--line);background:#ffffff38;border-radius:23px;min-height:228px;padding:19px;position:relative}.company-contact-card>header{justify-content:space-between;align-items:center;display:flex}.company-contact-card>header>span{color:#fff;background:linear-gradient(135deg,#7657ff,#13b8a6);border-radius:14px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:760;display:grid}.company-contact-card>header>button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.company-contact-card>header>button:hover{color:#e24e69;background:#e24e691a}.company-contact-card>header svg{width:15px}.company-contact-card h2{margin:20px 0 4px;font-size:19px}.company-contact-card>p{color:var(--muted);margin:0;font-size:11px}.company-contact-card>div{gap:8px;margin-top:17px;display:grid}.company-contact-card a{overflow-wrap:anywhere;color:var(--ink);align-items:center;gap:8px;font-size:11px;text-decoration:none;display:flex}.company-contact-card a:hover{color:#6244dc}.company-contact-card a svg{width:14px;color:var(--muted);flex:0 0 14px}.primary-contact-tag{color:#0b8c78;letter-spacing:.4px;text-transform:uppercase;background:#13b8a61a;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:740;position:absolute;bottom:16px;right:17px}.documentation-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;display:grid}.email-template-panel{scroll-margin-top:30px}.email-template-panel>label{color:var(--muted);letter-spacing:1px;gap:7px;margin-top:13px;font-size:9px;font-weight:700;display:grid}.email-template-panel input,.email-template-panel select,.email-template-panel textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);letter-spacing:0;background:#ffffff4d;border-radius:15px;outline:0;padding:0 14px;font-size:12px}.email-template-panel .glass-select>button{background:#ffffff4d;min-height:46px}.email-template-panel textarea{resize:vertical;min-height:210px;padding-block:13px;line-height:1.55}.template-tokens{color:var(--muted);margin:9px 0 18px;font-size:10px}.template-tokens span{color:#5d43c7;background:#7657ff1a;border-radius:8px;padding:4px 7px;font-weight:700}.template-actions{justify-content:flex-end;gap:8px;display:flex}.template-actions button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;display:inline-flex}.template-actions button.primary{color:#fff;border:0}.template-actions button:disabled{opacity:.38;cursor:not-allowed}.template-actions svg{width:14px}.email-handoff-note{color:var(--muted);text-align:right;margin-top:12px;font-size:9px;line-height:1.45;display:block}.account-foundation-note{border-radius:24px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:18px;padding:18px 20px;display:grid}.account-foundation-note>span{color:#0b8c78;background:#13b8a621;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.account-foundation-note>span svg{width:21px}.account-foundation-note>div{gap:4px;display:grid}.account-foundation-note>div b{font-size:16px}.account-foundation-note>div p{max-width:850px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.account-foundation-note>strong{color:#0b8c78;letter-spacing:.4px;text-transform:uppercase;background:#13b8a61a;border-radius:999px;padding:9px 12px;font-size:11px}.account-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.account-metrics article{border-radius:24px;align-items:center;gap:14px;min-height:102px;padding:18px 20px;display:flex}.account-metrics p{gap:2px;margin:0;display:grid}.account-metrics p small,.account-metrics p em{color:var(--muted);font-size:12px;font-style:normal}.account-metrics p b{font-size:30px;line-height:1}.client-account-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.client-account-list{border-radius:30px;padding:25px}.client-account-list>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.client-account-list>header>div{align-items:center;gap:12px;display:flex}.client-account-list>header>div>span{color:#7657ff;background:#7657ff1f;border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.client-account-list>header svg{width:19px}.client-account-list>header p{gap:3px;margin:0;display:grid}.client-account-list>header p b{font-size:19px}.client-account-list>header p small{color:var(--muted);font-size:13px}.client-account-list>header>strong{color:var(--muted);font-size:14px}.client-account-list>div{gap:11px;margin-top:19px;display:grid}.client-account-row{border:1px solid var(--line);background:#ffffff2e;border-radius:24px;grid-template-columns:minmax(210px,1fr) auto;align-items:center;gap:17px;padding:18px;transition:box-shadow .22s,border-color .22s;display:grid}.client-account-row.expanded{border-color:#7657ff3d;box-shadow:0 20px 50px #252b3a1a,inset 0 1px #ffffff8c}.account-client-identity{align-items:center;gap:12px;min-width:0;display:flex}.account-client-identity>span{color:#fff;background:linear-gradient(135deg,#7657ff,#13b8a6);border-radius:15px;flex:0 0 47px;place-items:center;width:47px;height:47px;font-size:18px;display:grid;overflow:hidden}.account-client-identity img{object-fit:contain;background:#fffffff0;width:100%;height:100%;padding:5px}.installer-account-identity img{object-fit:cover;padding:0}.account-client-identity p{gap:4px;min-width:0;margin:0;display:grid}.account-client-identity p b,.account-client-identity p small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-client-identity p b{font-size:16px}.account-client-identity p small{color:var(--muted);font-size:12px}.account-expand-toggle{border:1px solid var(--line);min-width:112px;height:42px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;display:inline-flex}.account-expand-toggle svg{width:14px;transition:transform .2s}.client-account-row.expanded .account-expand-toggle svg{transform:rotate(180deg)}.account-expanded-details{border-top:1px solid var(--line);grid-column:1/-1;gap:17px;padding-top:17px;animation:.22s account-expand;display:grid}@keyframes account-expand{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.account-credential-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:9px;display:grid}.account-login,.account-status,.account-role,.account-map-view{gap:6px;display:grid}.account-login small,.account-status small,.account-role small,.account-map-view small{color:var(--muted);letter-spacing:.8px;font-size:10.5px;font-weight:740}.account-login input,.account-status select,.account-role select,.account-map-view select{border:1px solid var(--line);width:100%;height:47px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:14px;outline:0;padding:0 13px;font-size:13px}.account-status .glass-select>button,.account-role .glass-select>button,.account-map-view .glass-select>button{border-radius:14px;height:47px;min-height:47px;font-size:13px}.account-status .glass-select-menu,.account-role .glass-select-menu,.account-map-view .glass-select-menu{min-width:180px}.account-login input:focus,.account-status select:focus,.account-role select:focus,.account-map-view select:focus{border-color:#7657ff73;box-shadow:0 0 0 3px #7657ff14}.account-password>span{display:block;position:relative}.account-password>span input{padding-right:43px}.account-password>span button{width:35px;height:35px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.account-password>span button:hover{color:var(--ink);background:#7657ff14}.account-password>span svg{width:15px}.account-password-actions{align-items:center;gap:6px;display:flex}.account-password-actions button{border:1px solid var(--line);height:47px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;white-space:nowrap;border-radius:14px;align-items:center;gap:7px;padding:0 14px;font-size:12px;display:inline-flex}.account-password-actions .generate-password{color:#fff;background:#171b23;border-color:#0000}.account-password-actions .undo-password{color:#6541d0;background:#7657ff17;border-color:#7657ff40;animation:.18s undo-enter}.account-password-actions svg{width:14px}@keyframes undo-enter{0%{opacity:0;transform:translate(5px)}to{opacity:1;transform:none}}.account-policy-controls{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.installer-account-policy{grid-template-columns:minmax(240px,1fr);max-width:480px}.account-visibility{border:1px solid var(--line);background:#ffffff29;border-radius:18px;grid-column:1/-1;padding:14px}.account-visibility>header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:11px;display:flex}.account-visibility>header b{font-size:14px}.account-visibility>header small{max-width:390px;color:var(--muted);text-align:right;font-size:11px;line-height:1.4}.account-permissions{flex-wrap:wrap;gap:6px;display:flex}.account-permissions button{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:inline-flex}.account-permissions button svg{opacity:.3;width:12px}.account-permissions button.active{color:#087b61;background:#13b8a61a;border-color:#13b8a647}.account-permissions button.active svg{opacity:1}.account-map-access{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.account-map-access h4{color:var(--ink);margin:0 0 11px;font-size:13px;font-weight:700}.account-row-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;gap:7px;padding-top:12px;display:flex}.account-row-actions button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 15px;font-size:12px;display:inline-flex}.account-row-actions button.primary{color:#fff;background:#171b23;border-color:#0000}.account-row-actions button:disabled{opacity:.52;cursor:default}.account-row-actions svg{width:13px}.account-preview-wrap{padding:26px;overflow-y:auto}.client-portal-preview{border-radius:34px;width:min(980px,100%);max-height:none;margin:auto;padding:24px}.client-portal-preview>header{align-items:center;gap:14px;display:flex}.portal-preview-brand{align-items:center;gap:12px;display:flex}.portal-preview-brand>img,.portal-preview-brand>span{object-fit:contain;color:#fff;background:linear-gradient(135deg,#7657ff,#13b8a6);border-radius:16px;place-items:center;width:50px;height:50px;padding:5px;font-size:19px;display:grid}.portal-preview-brand>img{background:#ffffffe6}.portal-preview-brand p{gap:4px;margin:0;display:grid}.portal-preview-brand p small{color:var(--muted);letter-spacing:1.2px;font-size:8px;font-weight:740}.portal-preview-brand p b{font-size:16px}.portal-preview-mode{align-items:center;gap:6px;margin-left:auto;display:flex}.portal-preview-mode span{border:1px solid var(--line);color:var(--muted);background:var(--panel-strong);border-radius:999px;padding:7px 10px;font-size:9px}.client-portal-preview>header>button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.client-portal-preview>header>button svg{width:16px}.portal-preview-banner{color:#fff;background:radial-gradient(circle at 80% 20%,#64ebcc80,#0000 30%),linear-gradient(135deg,#1a2130,#463491 62%,#8b72e7);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:20px;min-height:220px;margin-top:22px;padding:34px;display:flex;box-shadow:0 20px 48px #362a6e33}.portal-preview-banner small{letter-spacing:1.4px;font-size:9px}.portal-preview-banner h2{letter-spacing:-2.5px;max-width:540px;margin:11px 0 7px;font-size:clamp(34px,4.3vw,55px);font-weight:520;line-height:.95}.portal-preview-banner p{color:#ffffffad;margin:0;font-size:11px}.portal-preview-banner>span,.portal-editor-action{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:inherit;white-space:nowrap;background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:9px;display:inline-flex}.portal-editor-action{cursor:pointer}.portal-preview-banner svg{width:13px}.portal-preview-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.portal-preview-metrics article{border:1px solid var(--line);background:#ffffff2e;border-radius:21px;align-content:center;gap:5px;min-height:96px;padding:17px;display:grid}.portal-preview-metrics small{color:var(--muted);font-size:10px}.portal-preview-metrics b{font-size:27px}.portal-map-variant{border:1px solid var(--line);background:#ffffff29;border-radius:24px;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);align-items:stretch;gap:18px;min-height:205px;margin-top:14px;padding:10px;display:grid;overflow:hidden}.portal-map-canvas{background:linear-gradient(135deg,#d8e6e4,#dce9f4);border-radius:17px;min-height:185px;position:relative;overflow:hidden}.portal-map-canvas>div{width:100%;height:100%;min-height:185px}.portal-map-canvas>span{color:var(--muted);align-content:center;place-items:center;gap:8px;font-size:10px;display:grid;position:absolute;inset:0}.portal-map-canvas>span svg{width:22px}.portal-map-variant>div:last-child{align-content:center;gap:7px;padding:18px 15px 18px 0;display:grid}.portal-map-variant>div:last-child small{color:#7657ff;letter-spacing:.9px;font-size:8px;font-weight:740}.portal-map-variant>div:last-child b{font-size:18px}.portal-map-variant>div:last-child p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.portal-map-variant.view-live-rollout{box-shadow:inset 4px 0 #13b8a6bf}.portal-map-variant.view-locations-only .portal-map-canvas{filter:saturate(.72)}.portal-map-variant.view-summary-only .portal-map-canvas{opacity:.64}.portal-hidden-module{border:1px dashed var(--line);min-height:68px;color:var(--muted);background:#77809109;border-radius:20px;align-items:center;gap:11px;margin-top:14px;padding:15px 18px;display:flex}.portal-hidden-module>svg{flex:0 0 18px;width:18px}.portal-hidden-module>span{gap:3px;display:grid}.portal-hidden-module b{color:var(--ink);font-size:10px}.portal-hidden-module small{font-size:9px}.portal-project-list{border:1px solid var(--line);border-radius:23px;margin-top:14px;padding:20px}.portal-project-list>header{justify-content:space-between;align-items:center;display:flex}.portal-project-list>header b{font-size:14px}.portal-project-list>header span{color:var(--muted);font-size:10px}.portal-project-list>article{border-bottom:1px solid var(--line);grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:11px 0;display:grid}.portal-project-list>article:last-child{border-bottom:0}.portal-project-list>article>div{gap:4px;min-width:0;display:grid}.portal-project-list>article>div b,.portal-project-list>article>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-project-list>article>div b{font-size:12px}.portal-project-list>article>div small,.portal-project-list>article>strong{color:var(--muted);font-size:9px}.portal-access-summary{border:1px solid var(--line);border-radius:20px;flex-wrap:wrap;gap:7px;margin-top:14px;padding:14px;display:flex}.portal-access-summary span{color:var(--muted);opacity:.48;background:#77809112;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;display:inline-flex}.portal-access-summary span.visible{color:#087b61;opacity:1;background:#13b8a61a}.portal-access-summary svg{width:12px}[data-theme=dark] .client-card>div,[data-theme=dark] .email-template-panel input,[data-theme=dark] .email-template-panel select,[data-theme=dark] .email-template-panel textarea,[data-theme=dark] .add-contact-form input{background:#ffffff0e}[data-theme=dark] .client-logo-upload,[data-theme=dark] .client-profile-copy>div>span,[data-theme=dark] .add-contact-form,[data-theme=dark] .company-contact-card,[data-theme=dark] .client-account-row,[data-theme=dark] .account-visibility,[data-theme=dark] .portal-preview-metrics article,[data-theme=dark] .portal-map-variant{background:#ffffff0b}.dash-nav{transition:width .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s;overflow:hidden}.dash-nav.nav-expanded{width:500px;box-shadow:0 26px 80px #1f26342e,inset 0 1px #ffffffd1}.dash-nav>.brand,.dash-nav>nav,.dash-nav>.nav-footer{flex:none;width:202px}.dash-nav>.nav-footer{margin-top:auto}.nav-footer-actions{grid-template-columns:1fr 1fr;gap:5px;display:grid}.nav-footer-actions button{justify-content:center;gap:6px;min-width:0;padding:0 9px;font-size:11px}.nav-footer-actions button span{text-overflow:ellipsis;overflow:hidden}.nav-footer-actions button:last-child{color:#df5d73}.nav-footer-actions form{min-width:0;display:flex}.nav-footer-actions form button{width:100%}.nav-footer-actions button.active{color:var(--ink);background:#ffffff80}.nav-flyout{-webkit-backdrop-filter:blur(44px)saturate(125%);background:linear-gradient(155deg,#fcfbf8fb,#f7f3edf7);border:0;border-left:1px solid #474e5c1f;border-radius:0 32px 32px 0;flex-direction:column;gap:6px;width:256px;padding:30px 18px;animation:.2s ease-out nav-column-in;display:flex;position:absolute;top:0;bottom:0;left:244px;box-shadow:-14px 0 34px #232a3412}.nav-flyout.settings-flyout{top:0;bottom:0}.nav-flyout header{justify-content:space-between;align-items:center;min-height:56px;margin-bottom:29px;padding:0 3px 0 7px;display:flex}.nav-flyout header small{color:var(--muted);letter-spacing:1.5px;font-size:9px;font-weight:750}.nav-flyout header button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.nav-flyout header svg{width:14px}.nav-flyout>button{min-height:62px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:17px;align-items:center;gap:11px;padding:9px 11px;display:flex}.nav-flyout>button>svg{width:18px;color:var(--muted);flex:0 0 18px}.nav-flyout>button>span{gap:3px;display:grid}.nav-flyout>button b{font-size:12px}.nav-flyout>button small{color:var(--muted);font-size:10px}.nav-flyout>button:hover,.nav-flyout>button.active{background:#ffffffb3;border-color:#ffffffb3;box-shadow:0 8px 22px #1e263214}[data-theme=dark] .nav-flyout{background:linear-gradient(155deg,#1f242bfb,#181d24fa);border-left-color:#ffffff1a;box-shadow:-14px 0 34px #0000003d}[data-theme=dark] .nav-flyout>button:hover,[data-theme=dark] .nav-flyout>button.active,[data-theme=dark] .nav-footer-actions button.active{background:#ffffff1a}@keyframes nav-column-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.empty-state{color:var(--muted);text-align:center;border-radius:28px;place-items:center;gap:7px;margin-top:18px;padding:40px;display:grid}.empty-state b{color:var(--ink)}.empty-state p{margin:0;font-size:12px}.installer-modal{width:min(650px,100vw - 30px)}.installer-form-grid label.full{grid-column:1/-1}.installer-form-grid label span{opacity:.7;margin-left:5px;font-weight:500}.installer-image-upload{cursor:pointer;position:relative}.installer-image-upload>input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.installer-image-upload>div{color:#6946cf;background:#7657ff0f;border:1px dashed #7657ff57;border-radius:18px;justify-content:center;align-items:center;gap:11px;min-height:86px;margin-top:7px;padding:10px;transition:border-color .18s,background .18s;display:flex}.installer-image-upload:hover>div{background:#7657ff1a;border-color:#7657ff}.installer-image-upload>div>span{opacity:1;color:inherit;align-items:center;gap:7px;margin:0;font-size:10px;font-weight:700;display:inline-flex}.installer-image-upload>div svg{width:15px}.installer-image-upload>div img{object-fit:cover;border-radius:18px;width:66px;height:66px;box-shadow:0 9px 22px #181f2a24}.installer-image-upload.has-image>div{justify-content:flex-start}.installer-profile-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;margin:2px 0 18px;display:flex}.installer-profile-toolbar .page-back{margin:0}.edit-installer-button{color:#fff;cursor:pointer;min-height:44px;font:inherit;background:#171b23;border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:0 17px;font-size:12px;font-weight:650;display:inline-flex;box-shadow:0 12px 28px #171b232e}.edit-installer-button svg{width:15px}.installer-profile-hero{border-radius:30px;align-items:center;gap:26px;min-height:230px;margin-bottom:20px;padding:24px;display:flex}.installer-profile-hero>img{object-fit:cover;border-radius:24px;width:180px;height:180px;box-shadow:0 18px 45px #1e26342e}.installer-profile-hero h1{font-size:clamp(38px,4vw,58px)}.installer-profile-hero p{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.installer-profile-hero p svg{width:15px}.installer-profile-identity{flex:1;min-width:220px}.installer-contact-cards{flex-wrap:wrap;gap:8px;margin-top:17px;display:flex}.installer-contact-cards article{border:1px solid var(--line);background:var(--panel-strong);border-radius:16px;align-items:center;gap:4px;min-width:0;max-width:260px;height:46px;padding:5px 6px 5px 10px;transition:min-width .22s,box-shadow .22s,transform .22s;display:flex}.installer-contact-cards article:hover{z-index:4;min-width:250px;transform:translateY(-2px);box-shadow:0 14px 32px #1a212c24}.installer-contact-cards a{min-width:0;color:var(--ink);background:0 0;flex:1;align-items:center;gap:7px;padding:0;text-decoration:none;display:flex}.installer-contact-cards a>svg{flex:0 0 14px;width:14px}.installer-contact-cards a span{gap:1px;min-width:0;display:grid}.installer-contact-cards a small{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:8px;font-weight:730}.installer-contact-cards a b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:620;overflow:hidden}.installer-contact-cards article:hover a b{text-overflow:clip;overflow:visible}.installer-contact-cards button,.installer-fact-card>button{width:27px;height:27px;min-height:0;color:var(--muted);opacity:.5;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:0 0 27px;place-items:center;padding:0;transition:opacity .16s,color .16s,background .16s,transform .16s;display:grid}.installer-contact-cards button:hover,.installer-fact-card>button:hover{opacity:1;color:var(--ink);background:#232a3412;transform:translateY(-1px)}.installer-contact-cards button.copied,.installer-fact-card>button.copied{color:#087b61;opacity:1;background:#13b8a61f}.installer-contact-cards button svg,.installer-fact-card>button svg{width:12px}.installer-contact-cards button:disabled{opacity:.4;cursor:default}.installer-profile-facts{border:1px solid var(--line);background:#ffffff42;border-radius:23px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(520px,48%);margin-left:auto;padding:14px;display:grid;overflow:visible;box-shadow:inset 0 1px #ffffff61}.installer-fact-card,.installer-storage-card{min-width:0;min-height:66px;color:var(--ink);background:var(--panel-strong);text-align:left;border:0;border-radius:16px;align-items:center;gap:9px;padding:10px;transition:transform .22s,min-height .22s,box-shadow .22s,background .22s;display:flex;position:relative}.installer-fact-card:hover{z-index:6;min-height:76px;transform:scale(1.055);box-shadow:0 16px 36px #19202b2b}.installer-fact-card>span,.installer-storage-card>span{color:#6946cf;background:#7657ff1a;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.installer-fact-card>span svg,.installer-storage-card>span svg{width:15px}.installer-fact-card>p,.installer-storage-card>p{flex:1;gap:3px;min-width:0;margin:0;display:grid}.installer-profile-facts small{color:var(--muted);letter-spacing:.65px;text-transform:uppercase;font-size:9px;font-weight:740}.installer-profile-facts b{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:11px;font-weight:650;line-height:1.25}.installer-fact-card>p b{max-height:2.55em;overflow:hidden}.installer-fact-card:hover>p b{max-height:none;overflow:visible}.installer-fact-card>button{position:absolute;top:7px;right:7px}.installer-fact-card:has(>button)>p{padding-right:18px}.installer-storage-card{cursor:pointer;width:100%;font:inherit}.installer-storage-card:hover{z-index:6;transform:scale(1.04);box-shadow:0 16px 36px #19202b2b}.installer-storage-card.yes{color:#075f4f;background:linear-gradient(145deg,#bcf1dceb,#8fdec0c7)}.installer-storage-card.no{color:#a62e47;background:linear-gradient(145deg,#ffdce2f0,#f8b1bec2)}.installer-storage-card.yes>span{color:#087b61;background:#ffffff7a}.installer-storage-card.no>span{color:#b63852;background:#ffffff80}.installer-storage-card small,.installer-storage-card b{color:inherit}.installer-storage-card>em{width:28px;height:28px;color:inherit;background:#ffffff75;border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.installer-storage-card>em svg{width:13px}[data-theme=dark] .installer-profile-facts{background:#ffffff09}[data-theme=dark] .installer-fact-card{background:#fff1}[data-theme=dark] .installer-contact-cards button:hover,[data-theme=dark] .installer-fact-card>button:hover{color:#eef1f5;background:#ffffff17}[data-theme=dark] .installer-contact-cards button.copied,[data-theme=dark] .installer-fact-card>button.copied{color:#7ce4c5;background:#13b8a629}.edit-installer-modal{background:#fcfaf6fa;flex-direction:column;width:min(820px,100vw - 30px);max-height:min(880px,100vh - 30px);display:flex;box-shadow:0 34px 100px #1419224d}.edit-installer-modal>header,.edit-installer-modal>footer{flex:none}.edit-installer-scroll{scrollbar-width:thin;min-height:0;padding:3px 4px 3px 0;overflow:auto}.installer-edit-form{padding:2px 1px}.installer-edit-form label:nth-child(-n+2){grid-column:auto}.installer-edit-form select{border:1px solid var(--line);appearance:none;width:100%;min-height:48px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;outline:0;padding:0 13px;font-size:14px}.installer-edit-form select:focus{border-color:#a99aff;box-shadow:0 0 0 4px #7657ff17}.installer-edit-form .glass-select>button{min-height:48px;font-size:14px}.installer-edit-section{border:1px solid var(--line);background:#fff3;border-radius:21px;margin-top:17px;padding:17px}.installer-edit-section>header{gap:3px;margin:0 0 13px;display:grid}.installer-edit-section>header b{font-size:14px}.installer-edit-section>header small{color:var(--muted);font-size:10px}.installer-edit-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.installer-edit-toggle button{border:1px solid var(--line);min-height:43px;color:var(--muted);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:14px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.installer-edit-toggle button svg{width:14px}.installer-edit-toggle button.active.yes{color:#075f4f;background:#13b8a62b;border-color:#13b8a64d}.installer-edit-toggle button.active.no{color:#b63852;background:#e2557026;border-color:#e255704d}.installer-team-question>header{justify-content:space-between;align-items:center;gap:16px;margin:0;display:flex}.installer-team-question>header>div{gap:3px;display:grid}.installer-team-question>header>button{cursor:pointer;background:#232a341f;border:0;border-radius:999px;flex:0 0 48px;width:48px;height:28px;padding:3px;transition:background .18s}.installer-team-question>header>button span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block;box-shadow:0 3px 8px #181f2a33}.installer-team-question>header>button.active{background:#7657ff}.installer-team-question>header>button.active span{transform:translate(20px)}[data-theme=dark] .edit-installer-modal{background:#1c2129fc}[data-theme=dark] .installer-edit-section{background:#ffffff09}.installer-team-panel{color:#fff;background:linear-gradient(135deg,#6e4ce8,#8f70ff 58%,#aa8cff);border:1px solid #ffffff47;border-radius:29px;margin-bottom:20px;padding:22px;position:relative;overflow:hidden;box-shadow:0 20px 50px #5537b938,inset 0 1px #ffffff47}.installer-team-panel>header{align-items:center;gap:14px;display:flex;position:relative}.installer-team-panel>header>span{background:#ffffff2b;border-radius:16px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 1px #ffffff40}.installer-team-panel>header>span svg{width:21px}.installer-team-panel>header>div{flex:1;min-width:0}.installer-team-panel>header small{color:#ffffffb8;letter-spacing:1.2px;font-size:9px;font-weight:760}.installer-team-panel>header h2{margin:3px 0 2px;font-size:23px}.installer-team-panel>header p{color:#ffffffbd;margin:0;font-size:11px}.installer-team-panel>header>button{color:#6946cf;cursor:pointer;background:#ffffffeb;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid;box-shadow:0 10px 24px #2f1b7633}.installer-team-panel>header>button svg{width:17px}.team-member-picker{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#2b176d2e;border:1px solid #ffffff38;border-radius:19px;margin-top:17px;padding:12px;position:relative}.team-member-picker>label{color:#6d51d0;background:#ffffffed;border-radius:13px;align-items:center;gap:8px;min-height:43px;padding:0 12px;display:flex}.team-member-picker>label svg{width:14px}.team-member-picker input{color:#252033;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:11px}.team-member-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:210px;margin-top:8px;display:grid;overflow:auto}.team-member-picker>div>button{color:#fff;text-align:left;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:14px;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:8px;min-height:54px;padding:6px;display:grid}.team-member-picker>div>button:disabled{opacity:.46;cursor:not-allowed}.team-member-picker img{object-fit:cover;border-radius:11px;width:38px;height:38px}.team-member-picker button span{gap:2px;min-width:0;display:grid}.team-member-picker button b,.team-member-picker button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-member-picker button b{font-size:10px}.team-member-picker button small{color:#ffffffad;font-size:8px}.team-member-picker button>svg{width:13px}.team-member-picker>div>p{color:#ffffffb8;grid-column:1/-1;margin:8px;font-size:10px}.installer-team-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px;display:grid;position:relative}.installer-team-members.is-scrollable{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff6 #ffffff14;max-height:138px;padding-right:7px;overflow-y:auto}.installer-team-members.is-scrollable::-webkit-scrollbar{width:7px}.installer-team-members.is-scrollable::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.installer-team-members.is-scrollable::-webkit-scrollbar-thumb{background:#ffffff6b padding-box padding-box;border:2px solid #0000;border-radius:999px}.installer-team-members article{background:#ffffff1c;border:1px solid #fff3;border-radius:17px;align-items:center;gap:4px;min-width:0;min-height:65px;padding:7px;display:flex}.installer-team-members article>button:first-child{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:0;display:flex}.installer-team-members img{object-fit:cover;border-radius:13px;flex:0 0 44px;width:44px;height:44px}.installer-team-members article span{gap:3px;min-width:0;display:grid}.installer-team-members article b,.installer-team-members article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.installer-team-members article b{font-size:11px}.installer-team-members article small{color:#ffffffad;font-size:8px}.remove-team-member{color:#ffffffad;cursor:pointer;background:#2a176729;border:0;border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;display:grid}.remove-team-member:hover{color:#fff;background:#2a176747}.remove-team-member svg{width:12px}.team-panel-empty{color:#ffffffb8;border:1px dashed #ffffff40;border-radius:17px;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;min-height:76px;padding:14px;display:flex}.team-panel-empty>svg{width:20px}.team-panel-empty span{gap:3px;display:grid}.team-panel-empty b{color:#fff;font-size:11px}.team-panel-empty small{font-size:9px}.installer-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.installer-profile-column{flex-direction:column;align-self:stretch;gap:20px;min-width:0;display:flex}.installer-profile-column>:last-child{flex:1}.installer-profile-grid .installer-history-panel{grid-column:1/-1}.installer-capability-section{gap:11px;display:grid}.installer-capability-section>small,.installer-control-block>small,.rating-control>span>small{color:var(--muted);letter-spacing:1.1px;font-size:9px;font-weight:760}.installer-capability-divider{background:linear-gradient(90deg, transparent, var(--line) 8%, var(--line) 92%, transparent);height:1px;margin:22px 0}.installer-control-panel{flex-direction:column;display:flex}.installer-control-block{border-bottom:1px solid var(--line);gap:11px;padding:16px 0;display:grid}.installer-control-block:last-child{border-bottom:0}.installer-availability-control{background:#232a340e;border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;display:grid}.installer-availability-control button{min-width:0;min-height:39px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:10px;font-weight:650;display:flex}.installer-availability-control button i{opacity:.45;background:currentColor;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.installer-availability-control button.active{background:var(--panel-strong);box-shadow:0 7px 18px #181f2a1a}.installer-availability-control button.active.available{color:#087b61}.installer-availability-control button.active.assigned{color:#a66b09}.installer-availability-control button.active.unavailable{color:#b63852}.unavailable-summary{color:#a9324a;text-align:left;cursor:pointer;background:#e2557012;border:1px solid #e255702e;border-radius:15px;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:54px;padding:9px 10px;display:grid}.unavailable-summary>svg:first-child{width:15px}.unavailable-summary>svg:last-child{width:12px;color:var(--muted)}.unavailable-summary>span{gap:2px;min-width:0;display:grid}.unavailable-summary b{font-size:10px}.unavailable-summary small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;overflow:hidden}.unavailable-scheduler{background:#e255700e;border:1px solid #e255702e;border-radius:16px;gap:10px;padding:12px;display:grid}.unavailable-scheduler>label{color:#b63852;letter-spacing:.9px;gap:7px;font-size:8px;font-weight:760;display:grid}.unavailable-scheduler input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:12px;outline:0;padding:0 11px;font-size:11px}.unavailable-scheduler input:focus{border-color:#e255707a;box-shadow:0 0 0 3px #e2557014}.unavailable-scheduler>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.unavailable-scheduler>div button{border:1px solid var(--line);cursor:pointer;min-height:37px;font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:9px;font-weight:680;display:flex}.unavailable-scheduler>div button svg{width:12px}.unavailable-scheduler .no-date{color:var(--muted);background:var(--panel-strong)}.unavailable-scheduler .save-date{color:#fff;background:#b63852;border-color:#0000}.unavailable-scheduler .save-date:disabled{opacity:.42;cursor:not-allowed}.unavailable-scheduler>small{color:var(--muted);font-size:8px;line-height:1.4}.installer-control-contact{grid-template-columns:1fr 1fr;gap:8px;display:grid}.installer-control-contact a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--panel-strong);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:680;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.installer-control-contact a:hover{transform:translateY(-1px);box-shadow:0 10px 24px #19202b1c}.installer-control-contact a svg{width:15px}.installer-control-contact a:last-child{color:#087b61}.installer-control-contact a.disabled{pointer-events:none;opacity:.42}.rating-control{border-bottom:0;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;display:flex}.rating-control>span{gap:4px;display:grid}.rating-control>span b{font-size:13px}.rating-control>div{gap:3px;display:flex}.rating-control>div button{color:#a9afb8;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:32px;height:32px;padding:0;transition:color .15s,background .15s,transform .15s;display:grid}.rating-control>div button:hover{color:#e2a92b;background:#e2a92b1a;transform:translateY(-1px)}.rating-control>div button.selected{color:#e2a92b}.rating-control>div button.selected svg{fill:currentColor}.rating-control>div svg{width:20px}[data-theme=dark] .installer-availability-control{background:#ffffff0e}[data-theme=dark] .installer-availability-control button.active{background:#ffffff1a}[data-theme=dark] .installer-availability-control button.active.available{color:#7ce4c5}[data-theme=dark] .installer-availability-control button.active.assigned{color:#ffd077}[data-theme=dark] .installer-availability-control button.active.unavailable{color:#ff9cb0}[data-theme=dark] .unavailable-summary,[data-theme=dark] .unavailable-scheduler{background:#e2557017;border-color:#ff7e9733}[data-theme=dark] .unavailable-summary{color:#ff9cb0}.installer-project-list{gap:8px;display:grid}.installer-project-list>article{border:1px solid var(--line);background:#ffffff42;border-radius:17px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:11px 12px;display:grid}.installer-project-icon{color:#9a670c;background:#f3a62f24;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.installer-project-icon.historic{color:#087b61;background:#13b8a621}.installer-project-icon svg{width:16px}.installer-project-list article>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0;display:grid}.installer-project-list article>div>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.installer-project-list article>div>small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);grid-column:1/-1;font-size:10px;overflow:hidden}.installer-project-list .work-status{width:max-content;min-height:20px;padding:0 7px;font-size:8px}.installer-project-list article>strong{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:690}.installer-project-list.history{grid-template-columns:repeat(2,minmax(0,1fr))}.installer-project-empty{border:1px dashed var(--line);min-height:118px;color:var(--muted);text-align:left;background:#ffffff1f;border-radius:18px;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.installer-project-empty>svg{opacity:.65;width:22px}.installer-project-empty>span{gap:3px;display:grid}.installer-project-empty b{color:var(--ink);font-size:12px}.installer-project-empty small{font-size:10px}[data-theme=dark] .installer-project-list>article{background:#ffffff0e}[data-theme=dark] .installer-project-empty{background:#ffffff06}.skill-cloud{flex-wrap:wrap;gap:9px;display:flex}.skill-cloud button{min-height:38px;color:var(--ink);cursor:pointer;font:inherit;background:#232a3412;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:11px;font-weight:650;transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.skill-cloud button:hover{border-color:#232a3424;transform:translateY(-1px)}.skill-cloud button svg{opacity:0;width:13px}.skill-cloud button.selected{color:#075f4f;background:#13b8a62e;border-color:#13b8a647;box-shadow:inset 0 0 0 1px #ffffff38}.skill-cloud button.selected svg{opacity:1}.map-directory-content{max-width:none;height:100vh;padding:18px 18px 18px 0;overflow:hidden}.installer-map-page{border-radius:30px;height:100%;position:relative;overflow:hidden}.installer-map-canvas{position:absolute;inset:0}.installer-map-search{z-index:5;border-radius:24px;width:350px;max-height:calc(100% - 36px);padding:16px;position:absolute;top:18px;left:18px;overflow:hidden}.installer-map-search>header{align-items:center;gap:11px;display:flex}.installer-map-search>header>span{color:#0b8d79;background:#13b8a621;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.installer-map-search header p{gap:3px;margin:0;display:grid}.installer-map-search header b{font-size:16px}.installer-map-search header small{color:var(--muted);font-size:10px}.installer-map-search>label{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;align-items:center;gap:8px;height:45px;margin-top:14px;padding:0 7px 0 12px;display:flex}.installer-map-search>label>svg{width:15px;color:var(--muted)}.installer-map-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:11px}.installer-map-search label button{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;align-items:center;gap:5px;height:33px;padding:0 10px;font-size:9px;display:flex}.installer-map-search label button svg{width:12px}.map-search-error{color:#d84d68;margin:8px 5px 0;font-size:9px;display:block}.radius-summary{background:#13b8a617;border-radius:16px;align-items:center;gap:9px;margin-top:13px;padding:11px;display:flex}.radius-summary>span{color:#0a8b78;background:#13b8a621;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.radius-summary p{gap:2px;margin:0;display:grid}.radius-summary b{font-size:12px}.radius-summary small{color:var(--muted);font-size:9px}.nearby-installer-list{gap:5px;max-height:430px;margin-top:9px;display:grid;overflow:auto}.nearby-installer-list button{min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff47;border:0;border-radius:14px;align-items:center;gap:9px;padding:7px;display:flex}.nearby-installer-list img{object-fit:cover;border-radius:12px;width:38px;height:38px}.nearby-installer-list span{flex:1;gap:2px;min-width:0;display:grid}.nearby-installer-list b{font-size:11px}.nearby-installer-list small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;overflow:hidden}.nearby-installer-list strong{color:#0b8c78;white-space:nowrap;font-size:10px}.installer-map-marker{cursor:pointer;background-position:50%;background-size:cover;border:3px solid #ffffffe6;border-radius:50% 50% 50% 8px;width:42px;height:42px;padding:0;transition:width .18s,height .18s,box-shadow .18s;transform:rotate(-45deg);box-shadow:0 8px 20px #161d2857}.installer-map-marker.nearby{border-color:#fff;width:50px;height:50px;box-shadow:0 0 0 5px #13b8a638,0 12px 28px #115a4f61}.installer-credit{z-index:5}[data-theme=dark] .work-status.upcoming{color:#ffd077}[data-theme=dark] .work-status.live{color:#7ce4c5}[data-theme=dark] .work-status.pending{color:#baf}[data-theme=dark] .work-status.completed{color:#ff9cb0}[data-theme=dark] .project-visual-hero .work-status.upcoming{color:#9c6200}[data-theme=dark] .project-visual-hero .work-status.live{color:#087b61}[data-theme=dark] .project-visual-hero .work-status.pending{color:#6946cf}[data-theme=dark] .project-visual-hero .work-status.completed{color:#b63852}[data-theme=dark] .detail-panel>header>span,[data-theme=dark] .skill-cloud button{color:#f3f5f8;background:#ffffff1a}[data-theme=dark] .skill-cloud button:hover{border-color:#ffffff26}[data-theme=dark] .skill-cloud button.selected{color:#a7f4dc;background:#199c7747;border-color:#49d8ae5c}[data-theme=dark] .assignment-list article,[data-theme=dark] .document-list article,[data-theme=dark] .nearby-installer-list button{background:#ffffff0e}[data-theme=dark] .assignment-list article.assignment-confirmed{background:linear-gradient(135deg,#22b68c33,#22b68c14)}[data-theme=dark] .assignment-list article.assignment-pending{background:linear-gradient(135deg,#f0a72b38,#f0a72b14)}[data-theme=dark] .installer-picker{background:#ffffff0b}[data-theme=dark] .installer-picker>div>button:hover{background:#ffffff12}[data-theme=dark] .locator button,[data-theme=dark] .installer-map-search label button{color:#171b23;background:#ffffffeb}@media (max-width:1240px){.dash-content{padding-inline:42px}.overview-filter{flex-wrap:wrap;align-items:flex-start}.period-tabs{margin-left:auto}.custom-date-range{border-left:0;border-top:1px solid var(--line);width:100%;padding:12px 0 0}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.project-tools{flex-wrap:wrap}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.installer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teams-grid,.team-tree-members{grid-template-columns:repeat(2,minmax(0,1fr))}.team-tree-members:before{left:25%;right:25%}.installer-team-members{grid-template-columns:repeat(2,minmax(0,1fr))}.installer-team-members.is-scrollable{max-height:211px}.client-grid,.potential-client-grid,.company-contact-grid,.add-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-grid,.client-account-layout{grid-template-columns:1fr}.account-credential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-password-actions{align-self:end}.calendar-board{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-grid,.profile-grid{grid-template-columns:1fr}.toolbar{left:430px;right:16px;overflow-x:auto;transform:none}.helper,.mode-note{left:62%}.head-actions button span{display:none}}@media (max-width:900px){.dashboard{grid-template-columns:250px 1fr}.dash-nav{width:216px}.dash-content{padding-inline:28px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-panel{width:350px}.toolbar{left:380px}.database-tools,.ops-metrics{grid-template-columns:1fr}.installer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.database-summary{flex-direction:column}.database-add{align-self:flex-end}.installer-profile-hero{flex-wrap:wrap}.installer-profile-facts{width:100%;margin-left:0}.project-map-overview-row,.project-map-overview-row.has-overview{grid-template-columns:1fr}.project-map-overview-row.has-overview .completed-project-overview{grid-column:1}.expanded-calendar{overflow-x:auto}.day-calendar-layout{grid-template-columns:1fr}.calendar-weekdays,.expanded-calendar-grid{min-width:760px}.ops-metrics article{min-height:90px}.map-directory-content{padding:12px 12px 92px}}@media (max-width:760px){.dashboard{display:block}.dash-nav{border-radius:24px;width:auto;inset:auto 12px 10px}.dash-nav.nav-expanded{width:auto;overflow:visible}.dash-nav nav{justify-content:flex-start;overflow-x:auto}.dash-nav nav>button,.dash-nav nav .nav-map-group{flex:none}.dash-nav nav>button span,.dash-nav nav .nav-map-group>button span{display:none}.dash-nav nav .nav-section-divider{background:linear-gradient(transparent, var(--line) 14%, var(--line) 86%, transparent);flex:0 0 1px;width:1px;min-width:1px;height:32px;margin:9px 3px}.dash-nav nav .nav-map-group{flex:1;justify-content:center;display:flex}.dash-nav nav button.nav-subitem{width:auto;height:50px;margin-left:0;padding-inline:14px}.dash-nav nav button.nav-subitem:before{display:none}.dash-content{padding:38px 18px 100px}.dash-content h1{letter-spacing:-2.4px;font-size:48px}.dash-content>header{margin-bottom:30px}.expanded-calendar>header{grid-template-columns:1fr auto 1fr;min-width:760px}.project-tools>label{width:100%}.project-tools>div{max-width:100%;overflow-x:auto}.project-tools .new-project{margin-left:auto}.project-grid{grid-template-columns:1fr}.workspace-page-head,.detail-hero,.installer-profile-hero{flex-direction:column;align-items:flex-start}.workspace-page-head h1{font-size:44px}.operations-tools>div{max-width:100%;overflow-x:auto}.work-project-grid,.installer-grid,.project-detail-grid,.profile-grid,.database-tools,.teams-grid{grid-template-columns:1fr}.team-tree-heading{justify-content:flex-start;margin-block:26px 34px}.team-tree-heading h1{letter-spacing:-1.5px;font-size:38px}.team-tree-members{grid-template-columns:1fr}.team-tree-members:before{display:none}.team-tree-members .team-installer-node:before{left:50%}.team-node-credentials{grid-template-columns:1fr}.installer-team-panel{padding:18px}.installer-team-panel>header{flex-wrap:wrap;align-items:flex-start}.installer-team-panel>header>button{margin-left:auto}.team-member-picker>div,.installer-team-members{grid-template-columns:1fr}.installer-team-members.is-scrollable{max-height:430px}.client-grid,.prospecting-summary,.potential-client-grid{grid-template-columns:1fr}.quote-tools{flex-direction:column;align-items:stretch}.quote-tools>.glass-select{width:100%}.quote-status-tabs button{min-width:0}.quote-row{grid-template-columns:auto minmax(0,1fr) auto}.quote-row>strong{grid-column:2}.quote-row>button{grid-area:1/3/span 2}.account-foundation-note{grid-template-columns:44px minmax(0,1fr)}.account-foundation-note>strong{grid-column:2;width:max-content}.account-metrics{grid-template-columns:1fr}.client-account-list{padding:20px}.client-account-row{grid-template-columns:1fr}.account-login,.account-policy-controls,.account-visibility,.account-row-actions{grid-column:1}.account-credential-grid{grid-template-columns:1fr}.account-password-actions{flex-wrap:wrap;justify-content:flex-start}.account-policy-controls{grid-template-columns:1fr}.account-visibility>header{flex-direction:column;align-items:flex-start}.account-visibility>header small{text-align:left}.account-row-actions{flex-wrap:wrap;justify-content:flex-start}.client-portal-preview>header{flex-wrap:wrap;align-items:flex-start}.portal-preview-mode{order:3;width:100%;margin:0;overflow-x:auto}.portal-preview-banner{flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:260px;padding:25px}.portal-preview-metrics,.portal-map-variant{grid-template-columns:1fr}.portal-map-variant>div:last-child{padding:7px 10px 15px}.portal-project-list>article{grid-template-columns:1fr}.overview-filter{padding:16px}.overview-filter>div:first-child{width:100%;min-width:0}.period-tabs{width:100%;margin:0;overflow-x:auto}.period-tabs button{flex:1 0 auto}.custom-date-range{flex-direction:column;align-items:stretch}.custom-date-range>span{display:none}.overview-metrics{grid-template-columns:1fr}.overview-metrics article{min-height:105px}.last-map-card{grid-template-columns:1fr}.last-map-preview{min-height:245px}.last-map-card>div:last-child{padding:24px}.last-map-card>div:last-child>strong{margin-top:28px}.period-projects>div>button{grid-template-columns:78px minmax(0,1fr)}.period-projects>div>button>strong{display:none}.client-page-actions{justify-content:space-between;width:100%}.client-profile-toolbar,.project-profile-toolbar{flex-direction:column;align-items:stretch}.edit-client-button,.edit-project-button{width:max-content}.client-profile-hero{flex-direction:column;align-items:flex-start;padding:24px}.client-logo-upload{flex-basis:190px;width:100%;height:190px}.client-profile-copy h1{font-size:46px}.client-profile-copy>div{flex-wrap:wrap}.client-contacts-panel{padding:20px}.client-contacts-panel>header{flex-direction:column;align-items:flex-start}.add-contact-form,.company-contact-grid,.calendar-board{grid-template-columns:1fr}.dashboard-calendar-section>header{flex-direction:column;align-items:flex-start;gap:10px}.database-add{width:100%}.nav-flyout,.nav-flyout.settings-flyout{border-left:1px solid #ffffffbd;border-radius:24px 24px 0 0;width:min(286px,100vw - 24px);padding:12px;inset:auto auto 58px 0}.nav-flyout:before{display:none}.detail-hero>div:last-child{width:100%}.project-visual-hero{min-height:400px;padding-top:76px}.project-map-connection.connected{grid-template-columns:1fr}.project-connected-preview{height:150px}.project-map-connection.connected>strong{justify-items:start}.assignment-booking{grid-template-columns:repeat(2,minmax(0,1fr))}.installer-group-suggestions{grid-template-columns:1fr}.connect-map-list>button{grid-template-columns:70px minmax(0,1fr)}.connect-map-list>button>strong{display:none}.connect-map-choices{grid-template-columns:1fr}.connect-map-choices>button{min-height:170px}.connected-map-form{grid-template-columns:1fr}.connected-map-form label.full,.connected-map-prefill{grid-column:1}.project-hero-identity{flex-direction:column;align-items:flex-start;width:100%}.cover-photo-upload{top:14px;right:14px}.locator{border-radius:22px;flex-wrap:wrap;padding-block:8px}.installer-profile-hero{flex-direction:column;align-items:flex-start}.installer-profile-hero>img{width:120px;height:120px}.installer-profile-facts{grid-template-columns:1fr}.installer-profile-grid .installer-capabilities-panel,.installer-profile-grid .installer-control-panel,.installer-profile-grid .installer-upcoming-panel,.installer-profile-grid .installer-compliance-panel,.installer-profile-grid .installer-history-panel{grid-area:auto/1}.installer-project-list.history{grid-template-columns:1fr}.map-directory-content{padding:10px 10px 88px}.installer-map-search{width:auto;max-height:65%;top:10px;left:10px;right:10px}.layer-library{grid-template-columns:1fr}.preview{height:210px}.work-head{border-radius:23px;height:66px;top:9px;left:9px;right:9px}.work-head>i{margin-inline:9px}.side-panel{width:min(350px,100vw - 18px);top:84px;bottom:9px;left:9px}.toolbar{max-width:none;inset:auto 9px 12px}.helper,.mode-note{top:163px;left:50%}.overlay{top:163px;right:9px}.map-view-toggle{top:84px;right:9px}.selection-inspector{max-height:calc(100vh - 160px);top:144px;right:9px}}.head-actions button,.group-intro button,.helper button,.overlay-row button,.custom-colour-picker footer button,.selection-actions button,.selection-note-editor button,.modal footer button,.connect-step-head button,.connect-map-empty button,.period-tabs button,.calendar-project-entry,.cover-photo-upload,.project-map-connection>button.primary,.save-project-notes,.send-prep button,.locator button,.edit-client-button,.edit-project-button,.account-expand-toggle,.account-password-actions button,.account-permissions button,.account-row-actions button,.installer-availability-control button,.unavailable-scheduler>div button,.installer-map-search label button{font-size:12px}.connect-map-tabs button,.existing-map-picker>.primary,.create-work-project,.add-client-button,.client-contacts-panel>header>button,.add-contact-form>button,.template-actions button,.quote-status-tabs button{font-size:13px}.toolbar button span{font-size:12px}.project-connected-preview>span{min-height:34px;padding-inline:12px;font-size:12px}.project-map-connection.connected>div:nth-child(2) button{min-height:42px;padding-inline:15px;font-size:13px}.client-portal-shell{--portal-ink:#18202d;--portal-muted:#697589;--portal-line:#2c384a1c;--portal-card:#ffffffb3;z-index:4000;color:var(--portal-ink);background:radial-gradient(circle at 82% 8%,#ace1f1b8,#0000 29%),radial-gradient(circle at 13% 91%,#ffd8af9e,#0000 31%),linear-gradient(145deg,#e8efee 0%,#f5f0ea 48%,#eef2f5 100%);position:fixed;inset:0;overflow:hidden}.portal-staff-bar{z-index:60;-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);color:#fff;background:#171d27e6;border-bottom:1px solid #ffffffbf;align-items:center;gap:10px;height:78px;padding:11px 18px;display:flex;position:relative;box-shadow:0 16px 40px #171f2a33}.portal-staff-bar>div:first-child{align-items:center;gap:10px;min-width:210px;display:flex}.portal-staff-bar>div:first-child>span{color:#171d27;background:#fff;border-radius:13px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.portal-staff-bar>div:first-child svg{width:16px}.portal-staff-bar>div:first-child p{gap:2px;margin:0;display:grid}.portal-staff-bar>div:first-child b{font-size:13px}.portal-staff-bar>div:first-child small{color:#ffffff8c;font-size:9px}.portal-staff-bar>label{gap:3px;width:min(290px,24vw);display:grid}.portal-staff-bar>label>small{color:#ffffff73;letter-spacing:1px;font-size:7px;font-weight:750}.portal-staff-bar .glass-select-trigger{color:#fff;background:#ffffff12;border-color:#ffffff1f;min-height:42px}.portal-staff-mode{color:#ffffffc2;white-space:nowrap;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:999px;align-items:center;min-height:34px;padding:0 11px;font-size:10px;display:inline-flex}.portal-staff-bar>button{color:#fff;cursor:pointer;min-height:40px;font:inherit;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:11px;display:inline-flex}.portal-staff-bar>button:first-of-type{margin-left:auto}.portal-staff-bar>button:hover,.portal-staff-bar>button.active{background:#ffffff29}.portal-staff-bar>button svg{width:14px}.portal-staff-controls{z-index:70;width:min(560px,100vw - 36px);color:var(--ink);background:#f9f8f5f0;border-radius:24px;padding:18px;position:absolute;top:68px;right:18px;box-shadow:0 26px 70px #1219234d}.portal-staff-controls>header{justify-content:space-between;align-items:center;display:flex}.portal-staff-controls>header>div{gap:3px;display:grid}.portal-staff-controls>header b{font-size:16px}.portal-staff-controls>header small{color:var(--muted);font-size:10px}.portal-staff-controls>header button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;display:grid}.portal-staff-controls>header svg{width:14px}.portal-preview-selects{grid-template-columns:1fr;gap:9px;margin-top:15px;display:grid}.portal-preview-selects label{gap:6px;display:grid}.portal-preview-selects label>small{color:var(--muted);letter-spacing:.8px;font-size:8px;font-weight:750}.portal-preview-permissions{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.portal-preview-permissions button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:10px;display:inline-flex}.portal-preview-permissions button svg{opacity:.3;width:12px}.portal-preview-permissions button.active{color:#087b61;background:#13b8a61a;border-color:#13b8a640}.portal-preview-permissions button.active svg{opacity:1}.portal-staff-controls>p{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:8px;margin:14px 0 0;padding-top:12px;font-size:9px;line-height:1.45;display:flex}.portal-staff-controls>p svg{color:#087b61;flex:0 0 14px;width:14px}.client-portal-app{grid-template-columns:248px minmax(0,1fr);height:calc(100vh - 78px);display:grid}.portal-client-nav{-webkit-backdrop-filter:blur(28px)saturate(145%);backdrop-filter:blur(28px)saturate(145%);background:#ffffff8c;border:1px solid #ffffffc7;border-radius:30px;flex-direction:column;min-height:0;margin:14px 0 14px 14px;padding:20px 14px;display:flex;box-shadow:0 22px 65px #23314121,inset 0 1px #ffffffc7}.portal-client-brand{border-bottom:1px solid var(--portal-line);align-items:center;gap:11px;min-width:0;padding:4px 6px 22px;display:flex}.portal-client-brand>img,.portal-client-brand>span{object-fit:contain;color:#fff;background:linear-gradient(145deg,#7657ff,#22b8a7);border-radius:15px;flex:0 0 46px;place-items:center;width:46px;height:46px;padding:6px;font-size:18px;font-weight:700;display:grid;box-shadow:0 10px 26px #5943c32e}.portal-client-brand>img{background:#ffffffeb}.portal-client-brand p{gap:3px;min-width:0;margin:0;display:grid}.portal-client-brand small{color:var(--portal-muted);letter-spacing:1.1px;font-size:7px;font-weight:780}.portal-client-brand b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.portal-client-nav nav{gap:6px;margin-top:18px;display:grid}.portal-client-nav nav button{min-height:44px;color:var(--portal-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:15px;align-items:center;gap:10px;padding:0 13px;font-size:12px;transition:transform .18s,background .18s,color .18s;display:flex}.portal-client-nav nav button:hover{color:var(--portal-ink);background:#ffffff94;transform:translate(2px)}.portal-client-nav nav button.active{color:#fff;background:#171e29;box-shadow:0 12px 28px #171e292e}.portal-client-nav nav svg{width:17px}.portal-nav-account{border-top:1px solid var(--portal-line);align-items:center;gap:9px;min-width:0;margin-top:auto;padding:14px 5px;display:flex}.portal-nav-account>span{color:#6847f5;background:#7657ff1f;border-radius:50%;flex:0 0 35px;place-items:center;width:35px;height:35px;font-size:12px;font-weight:750;display:grid}.portal-nav-account p{gap:3px;min-width:0;margin:0;display:grid}.portal-nav-account b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.portal-nav-account small{color:var(--portal-muted);font-size:9px}.portal-secure-note{color:#087b61;background:#13b8a613;border:1px solid #13b8a621;border-radius:16px;align-items:flex-start;gap:8px;padding:11px;display:flex}.portal-secure-note>svg{flex:0 0 15px;width:15px}.portal-secure-note>span{gap:3px;display:grid}.portal-secure-note small{color:#487f76;font-size:8px;line-height:1.35}.portal-client-main{scrollbar-width:thin;scrollbar-color:#51607442 transparent;min-width:0;padding:24px clamp(24px,4vw,62px) 70px;overflow-y:auto}.portal-page-header{justify-content:space-between;align-items:flex-start;gap:20px;min-height:74px;display:flex}.portal-page-header>div:first-child{gap:4px;display:grid}.portal-page-header>div:first-child small{color:var(--portal-muted);letter-spacing:1.2px;font-size:8px;font-weight:750}.portal-page-header h1{letter-spacing:-2.3px;margin:0;font-size:clamp(35px,4vw,54px);font-weight:520;line-height:1}.portal-page-header>div:last-child{align-items:center;gap:8px;display:flex}.portal-page-header>div:last-child>span{color:#087b61;background:#13b8a61a;border:1px solid #13b8a62e;border-radius:999px;align-items:center;min-height:35px;padding:0 11px;font-size:10px;display:inline-flex}.portal-page-header button{color:#fff;cursor:pointer;min-height:37px;font:inherit;background:#171e29;border:0;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:10px;display:inline-flex}.portal-page-header button svg{width:13px}.portal-welcome-card{color:#fff;background:radial-gradient(circle at 82% 18%,#45e3c361,#0000 27%),radial-gradient(circle at 62% 112%,#8e6fff99,#0000 40%),linear-gradient(130deg,#151c28 0%,#283353 48%,#5543a0 100%);border:1px solid #ffffff4d;border-radius:34px;justify-content:space-between;align-items:flex-end;gap:30px;min-height:250px;padding:clamp(28px,4vw,48px);display:flex;position:relative;overflow:hidden;box-shadow:0 25px 65px #2f315638}.portal-welcome-card:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:360px;height:360px;position:absolute;top:-150px;right:-115px;box-shadow:0 0 0 45px #ffffff06,0 0 0 90px #ffffff05}.portal-welcome-card>div:first-child{z-index:1;max-width:650px;position:relative}.portal-welcome-card>div:first-child>span{color:#ffffffa6;letter-spacing:1.5px;font-size:9px;font-weight:760}.portal-welcome-card h2{letter-spacing:-3.8px;margin:14px 0 10px;font-size:clamp(40px,5.3vw,72px);font-weight:500;line-height:.91}.portal-welcome-card p{color:#ffffffa3;max-width:590px;margin:0;font-size:13px;line-height:1.5}.portal-progress-orbit{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff17;border:1px solid #ffffff40;border-radius:50%;flex:0 0 145px;align-content:center;place-items:center;gap:2px;width:145px;height:145px;display:grid;position:relative;box-shadow:inset 0 0 0 10px #ffffff0a,0 20px 50px #0c111c38}.portal-progress-orbit strong{letter-spacing:-1.5px;font-size:36px;font-weight:520}.portal-progress-orbit small{color:#ffffff9e;font-size:9px}.portal-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.portal-kpi-grid article{background:var(--portal-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid #ffffffb8;border-radius:24px;align-items:center;gap:13px;min-height:126px;padding:18px;display:flex;box-shadow:0 14px 38px #2f3a4914}.portal-kpi-grid article>span{border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.portal-kpi-grid article>span svg{width:18px}.portal-kpi-grid article>span.purple{color:#6847f5;background:#7657ff1f}.portal-kpi-grid article>span.teal{color:#078c79;background:#13b8a61f}.portal-kpi-grid article>span.amber{color:#c27b08;background:#f3a62f24}.portal-kpi-grid article>span.blue{color:#3586bd;background:#4ba9dc24}.portal-kpi-grid article p{gap:2px;min-width:0;margin:0;display:grid}.portal-kpi-grid article small{color:var(--portal-muted);font-size:9px}.portal-kpi-grid article b{letter-spacing:-1px;font-size:27px;font-weight:540}.portal-kpi-grid article em{color:var(--portal-muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.portal-client-hidden{min-height:92px;color:var(--portal-muted);background:#ffffff52;border:1px dashed #54607038;border-radius:23px;align-items:center;gap:13px;margin-top:16px;padding:20px;display:flex}.portal-client-hidden>svg{width:21px}.portal-client-hidden>span{gap:4px;display:grid}.portal-client-hidden b{color:var(--portal-ink);font-size:13px}.portal-client-hidden small{font-size:10px}.portal-overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);align-items:stretch;gap:14px;margin-top:16px;display:grid}.portal-focus-project,.portal-updates-card,.portal-project-directory,.portal-project-detail,.portal-live-map,.portal-documents-page,.portal-contacts-page{background:var(--portal-card);-webkit-backdrop-filter:blur(25px)saturate(135%);backdrop-filter:blur(25px)saturate(135%);border:1px solid #ffffffbd;border-radius:28px;box-shadow:0 16px 42px #303b4a17}.portal-focus-project{min-width:0;padding:21px}.portal-focus-project>header,.portal-updates-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-focus-project>header>div,.portal-updates-card>header>div{gap:4px;display:grid}.portal-focus-project>header small,.portal-updates-card>header small{color:var(--portal-muted);letter-spacing:1.05px;font-size:8px;font-weight:760}.portal-focus-content{grid-template-columns:minmax(220px,.66fr) minmax(280px,1.2fr);gap:16px;margin-top:15px;display:grid}.portal-focus-content>div:first-child{flex-direction:column;display:flex}.portal-focus-content>div:first-child>p{color:var(--portal-muted);margin:0 0 14px;font-size:11px;line-height:1.45}.portal-focus-dates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-focus-dates span{border:1px solid var(--portal-line);background:#ffffff61;border-radius:14px;gap:4px;padding:10px;display:grid}.portal-focus-dates small,.portal-detail-dates small{color:var(--portal-muted);letter-spacing:.7px;font-size:7px;font-weight:760}.portal-project-progress{gap:6px;margin-top:16px;display:grid}.portal-project-progress>span,.portal-project-directory button>div>span,.portal-live-map>footer>span{background:#636f801f;border-radius:999px;height:5px;overflow:hidden}.portal-project-progress i,.portal-project-directory button>div>span i,.portal-live-map>footer>span i{border-radius:inherit;background:linear-gradient(90deg,#7657ff,#13b8a6);height:100%;display:block}.portal-project-progress small{color:var(--portal-muted);font-size:9px}.portal-focus-content>div:first-child>button{color:#fff;cursor:pointer;width:max-content;min-height:36px;font:inherit;background:#171e29;border:0;border-radius:999px;margin-top:auto;padding:0 12px;font-size:10px}.portal-focus-map{cursor:pointer;background:#dce8e8;border:0;border-radius:20px;min-height:205px;padding:0;position:relative;overflow:hidden}.portal-focus-map .mini-map{width:100%;height:100%}.portal-focus-map>span,.portal-detail-map>span{color:#1c2430;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:9px;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 8px 24px #202b3826}.portal-focus-map>span svg,.portal-detail-map>span svg{width:12px}.portal-focus-map-empty{border:1px dashed var(--portal-line);min-height:205px;color:var(--portal-muted);text-align:center;border-radius:20px;align-content:center;place-items:center;gap:8px;display:grid}.portal-focus-map-empty>svg{width:25px}.portal-focus-map-empty>span{gap:3px;display:grid}.portal-focus-map-empty b{color:var(--portal-ink);font-size:11px}.portal-updates-card{padding:21px}.portal-updates-card>header>svg{width:19px;color:var(--portal-muted)}.portal-updates-card>div{margin-top:12px;display:grid}.portal-updates-card article{border-bottom:1px solid var(--portal-line);grid-template-columns:10px minmax(0,1fr);gap:10px;min-height:68px;padding:10px 0;display:grid}.portal-updates-card article>span{border:2px solid #67738466;border-radius:50%;width:8px;height:8px;margin-top:4px}.portal-updates-card article>span.live{border-color:#13b8a6;box-shadow:0 0 0 4px #13b8a61a}.portal-updates-card article>div{gap:2px;min-width:0;display:grid}.portal-updates-card article p{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.portal-updates-card article small{color:var(--portal-muted);font-size:8px}.portal-updates-card>button{border:1px solid var(--portal-line);min-height:36px;color:var(--portal-ink);cursor:pointer;font:inherit;background:#ffffff75;border-radius:999px;align-items:center;gap:6px;margin-top:13px;padding:0 12px;font-size:9px;display:inline-flex}.portal-updates-card>button svg{width:12px}.portal-lead-strip{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff9e;border:1px solid #ffffffb8;border-radius:24px;align-items:center;gap:12px;min-height:86px;margin-top:14px;padding:15px 18px;display:flex;box-shadow:0 14px 38px #303b4a12}.portal-lead-strip>span{color:#fff;background:linear-gradient(145deg,#7657ff,#4d37bd);border-radius:50%;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:11px;font-weight:760;display:grid}.portal-lead-strip>div{gap:2px;display:grid}.portal-lead-strip>div small{color:var(--portal-muted);letter-spacing:.8px;font-size:7px;font-weight:760}.portal-lead-strip>div p{color:var(--portal-muted);margin:0;font-size:9px}.portal-lead-strip>a{color:#fff;background:#171e29;border-radius:999px;align-items:center;gap:7px;min-height:38px;margin-left:auto;padding:0 13px;font-size:10px;text-decoration:none;display:inline-flex}.portal-lead-strip>a svg{width:13px}.portal-projects-layout{grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);align-items:start;gap:14px;display:grid}.portal-project-directory{padding:20px}.portal-project-directory>header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.portal-project-directory>header>div{gap:3px;display:grid}.portal-project-directory>header small{color:var(--portal-muted);letter-spacing:.9px;font-size:8px;font-weight:750}.portal-project-directory>header b{font-size:16px}.portal-project-directory>header>span{color:var(--portal-muted);font-size:9px}.portal-project-directory>div{gap:8px;margin-top:15px;display:grid}.portal-project-directory>div>button{border:1px solid var(--portal-line);width:100%;min-height:98px;color:var(--portal-ink);cursor:pointer;font:inherit;text-align:left;background:#ffffff52;border-radius:18px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;display:grid}.portal-project-directory>div>button.active{background:#7657ff16;border-color:#7657ff54;box-shadow:0 10px 25px #4f3da414}.portal-project-directory button>div{gap:5px;min-width:0;display:grid}.portal-project-directory button>div b,.portal-project-directory button>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-project-directory button>div small{color:var(--portal-muted);font-size:8px}.portal-project-directory button>strong{justify-items:end;font-size:18px;display:grid}.portal-project-directory button>strong small{color:var(--portal-muted);font-size:7px;font-weight:500}.portal-project-detail{min-width:0;padding:24px}.portal-project-detail>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portal-project-detail>header>div{min-width:0}.portal-project-detail>header h2{letter-spacing:-1.8px;margin:12px 0 5px;font-size:clamp(28px,3vw,42px);font-weight:520}.portal-project-detail>header p{color:var(--portal-muted);margin:0;font-size:11px}.portal-project-detail>header>strong{color:#7657ff;justify-items:end;font-size:33px;font-weight:520;display:grid}.portal-project-detail>header>strong small{color:var(--portal-muted);font-size:8px;font-weight:500}.portal-detail-dates{border:1px solid var(--portal-line);background:#ffffff4d;border-radius:17px;align-items:center;gap:15px;margin-top:20px;padding:13px 15px;display:flex}.portal-detail-dates span{gap:4px;display:grid}.portal-detail-dates i{color:var(--portal-muted);font-style:normal}.portal-detail-map{cursor:pointer;background:#dce8e8;border:0;border-radius:22px;width:100%;height:300px;margin-top:14px;padding:0;position:relative;overflow:hidden}.portal-detail-map .mini-map{width:100%;height:100%}.portal-detail-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.portal-detail-summary article{border:1px solid var(--portal-line);background:#ffffff47;border-radius:16px;align-content:center;gap:5px;min-height:82px;padding:13px;display:grid}.portal-detail-summary small{color:var(--portal-muted);font-size:8px}.portal-detail-summary b{font-size:18px}.portal-shared-note{color:#6847f5;background:#7657ff12;border:1px solid #7657ff29;border-radius:17px;align-items:flex-start;gap:10px;margin-top:14px;padding:15px;display:flex}.portal-shared-note>svg{flex:0 0 16px;width:16px}.portal-shared-note>span{gap:4px;display:grid}.portal-shared-note small{letter-spacing:.8px;font-size:7px;font-weight:750}.portal-shared-note p{color:var(--portal-ink);margin:0;font-size:10px;line-height:1.45}.portal-map-page{grid-template-columns:minmax(270px,.55fr) minmax(0,1.45fr);align-items:stretch;gap:14px;display:grid}.portal-map-page>aside{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border:1px solid #ffffffb8;border-radius:28px;padding:20px;box-shadow:0 16px 42px #303b4a14}.portal-map-page>aside>header{gap:4px;display:grid}.portal-map-page>aside>header small{color:var(--portal-muted);letter-spacing:.9px;font-size:8px;font-weight:750}.portal-map-page>aside>header b{font-size:16px}.portal-map-page>aside>button{border:1px solid var(--portal-line);width:100%;min-height:76px;color:var(--portal-ink);cursor:pointer;font:inherit;text-align:left;background:#ffffff45;border-radius:17px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:9px;padding:11px;display:grid}.portal-map-page>aside>button.active{background:#7657ff14;border-color:#7657ff4d}.portal-map-page>aside>button>span{color:#6847f5;background:#7657ff1c;border-radius:12px;place-items:center;width:37px;height:37px;display:grid}.portal-map-page>aside>button svg{width:16px}.portal-map-page>aside>button>div{gap:4px;min-width:0;display:grid}.portal-map-page>aside>button b,.portal-map-page>aside>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-map-page>aside>button small{color:var(--portal-muted);font-size:8px}.portal-map-page>aside>button strong{font-size:12px}.portal-live-map{min-width:0;padding:20px}.portal-live-map>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.portal-live-map>header small{color:#6847f5;letter-spacing:1px;font-size:8px;font-weight:760}.portal-live-map>header h2{margin:6px 0 4px;font-size:25px}.portal-live-map>header p{color:var(--portal-muted);margin:0;font-size:10px}.portal-live-map>header>span{min-height:34px;color:var(--portal-muted);background:#ffffff61;border-radius:999px;align-items:center;padding:0 11px;font-size:9px;display:inline-flex}.portal-map-large{background:#dce8e8;border-radius:22px;height:min(58vh,590px);min-height:410px;margin-top:16px;position:relative;overflow:hidden}.portal-map-large .mini-map{width:100%;height:100%}.portal-live-map.view-summary-only .portal-map-large{filter:saturate(.65);opacity:.72}.portal-live-map.view-locations-only .portal-map-large{filter:saturate(.78)}.portal-live-map.view-live-rollout{box-shadow:inset 0 4px #13b8a6b8,0 16px 42px #303b4a17}.portal-map-legend{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe0;border-radius:999px;gap:10px;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 8px 24px #26313f24}.portal-map-legend span{color:#4f5c6d;align-items:center;gap:5px;font-size:8px;display:flex}.portal-map-legend i{background:#7657ff;border-radius:50%;width:8px;height:8px}.portal-map-legend i.complete{background:#13b8a6}.portal-live-map>footer{grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:16px;margin-top:14px;display:grid}.portal-live-map>footer>div{align-items:baseline;gap:8px;display:flex}.portal-live-map>footer small{color:var(--portal-muted);letter-spacing:.8px;font-size:8px;font-weight:750}.portal-live-map>footer b{font-size:20px}.portal-live-map>footer>span{height:7px}.portal-documents-page,.portal-contacts-page{padding:25px}.portal-documents-page>header,.portal-contacts-page>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portal-documents-page>header>div,.portal-contacts-page>header{gap:5px;display:grid}.portal-documents-page>header small,.portal-contacts-page>header>small{color:#6847f5;letter-spacing:1px;font-size:8px;font-weight:760}.portal-documents-page h2,.portal-contacts-page h2{letter-spacing:-2px;margin:0;font-size:clamp(30px,3.5vw,48px);font-weight:520}.portal-documents-page>header p,.portal-contacts-page>header p{color:var(--portal-muted);margin:0;font-size:11px}.portal-documents-page>header>span{min-height:34px;color:var(--portal-muted);background:#ffffff61;border-radius:999px;align-items:center;padding:0 11px;font-size:9px;display:inline-flex}.portal-documents-page>div{gap:8px;margin-top:22px;display:grid}.portal-documents-page article{border:1px solid var(--portal-line);background:#ffffff45;border-radius:17px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:78px;padding:13px 15px;display:grid}.portal-documents-page article>span{color:#6847f5;background:#7657ff1a;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.portal-documents-page article>span svg{width:17px}.portal-documents-page article>div{gap:4px;min-width:0;display:grid}.portal-documents-page article b,.portal-documents-page article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-documents-page article small{color:var(--portal-muted);font-size:9px}.portal-documents-page article button{border:1px solid var(--portal-line);min-height:36px;color:var(--portal-ink);cursor:pointer;font:inherit;background:#ffffff7a;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:9px;display:inline-flex}.portal-documents-page article button svg{width:12px}.portal-contacts-page>header{justify-content:start}.portal-contacts-page>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.portal-contacts-page article{border:1px solid var(--portal-line);background:#ffffff47;border-radius:21px;grid-template-columns:52px minmax(0,1fr);gap:12px;min-height:160px;padding:18px;display:grid}.portal-contacts-page article>span{color:#fff;background:linear-gradient(145deg,#7657ff,#4f39bc);border-radius:50%;place-items:center;width:52px;height:52px;font-size:12px;font-weight:760;display:grid}.portal-contacts-page article>div:nth-child(2){align-content:start;gap:3px;min-width:0;display:grid}.portal-contacts-page article small{color:var(--portal-muted);letter-spacing:.8px;font-size:7px;font-weight:750}.portal-contacts-page article h3{margin:4px 0 0;font-size:17px}.portal-contacts-page article p{color:var(--portal-muted);margin:0;font-size:10px}.portal-contacts-page article>div:last-child{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.portal-contacts-page article a{border:1px solid var(--portal-line);min-height:34px;color:var(--portal-ink);background:#ffffff73;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:9px;text-decoration:none;display:inline-flex}.portal-contacts-page article a svg{width:12px}.portal-contacts-page article.hubbl-contact{background:#13b8a612;border-color:#13b8a62e}.portal-contacts-page article.hubbl-contact>span{background:linear-gradient(145deg,#13b8a6,#087b6a)}.portal-empty-state{min-height:240px;color:var(--portal-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.portal-empty-state>svg{width:28px}.portal-empty-state>b{color:var(--portal-ink);font-size:14px}.portal-empty-state>small{max-width:290px;font-size:10px;line-height:1.4}.portal-comment-modal{z-index:4200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#11172075;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.portal-comment-modal>section{background:#f9f8f5f0;border-radius:27px;width:min(520px,100%);padding:22px}.portal-comment-modal>section>header{justify-content:space-between;align-items:center;display:flex}.portal-comment-modal>section>header>div{gap:3px;display:grid}.portal-comment-modal>section>header small{color:var(--muted);letter-spacing:.8px;font-size:8px;font-weight:750}.portal-comment-modal>section>header b{font-size:18px}.portal-comment-modal>section>header button{border:1px solid var(--line);width:35px;height:35px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;display:grid}.portal-comment-modal>section>header svg{width:14px}.portal-comment-modal>section>label{color:var(--muted);letter-spacing:.7px;gap:7px;margin-top:14px;font-size:8px;font-weight:750;display:grid}.portal-comment-modal textarea{resize:vertical;border:1px solid var(--line);min-height:130px;color:var(--ink);font:inherit;background:#ffffff80;border-radius:17px;outline:0;padding:13px;font-size:12px;line-height:1.5}.portal-comment-modal textarea:focus{border-color:#7657ff6b;box-shadow:0 0 0 3px #7657ff1a}.portal-comment-modal footer{justify-content:flex-end;gap:7px;margin-top:14px;display:flex}.portal-comment-modal footer button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;padding:0 12px;font-size:10px}.portal-comment-modal footer button.primary{color:#fff;background:#171e29;border-color:#171e29}.portal-comment-modal footer button:disabled{opacity:.5;cursor:default}.portal-comment-modal>section>p{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:7px;margin:14px 0 0;padding-top:12px;font-size:8px;line-height:1.4;display:flex}.portal-comment-modal>section>p svg{color:#087b61;flex:0 0 13px;width:13px}@media (max-width:1180px){.portal-staff-mode{display:none}.portal-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-overview-grid,.portal-projects-layout,.portal-map-page{grid-template-columns:1fr}.portal-map-page>aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portal-map-page>aside>header{grid-column:1/-1}.portal-map-page>aside>button{margin-top:0}}@media (max-width:820px){.portal-staff-bar{padding-inline:10px}.portal-staff-bar>div:first-child{min-width:0}.portal-staff-bar>div:first-child p,.portal-staff-bar>label{display:none}.portal-staff-bar>button{padding-inline:10px}.client-portal-app{grid-template-columns:78px minmax(0,1fr)}.portal-client-nav{padding-inline:9px}.portal-client-brand{justify-content:center;padding-inline:0}.portal-client-brand>img,.portal-client-brand>span{flex-basis:42px;width:42px;height:42px}.portal-client-brand p,.portal-client-nav nav button{font-size:0}.portal-client-nav nav button{justify-content:center;padding:0}.portal-client-nav nav svg{width:19px}.portal-nav-account,.portal-secure-note{display:none}.portal-client-main{padding-inline:18px}.portal-welcome-card{flex-direction:column;align-items:flex-start}.portal-progress-orbit{flex-basis:112px;width:112px;height:112px}.portal-progress-orbit strong{font-size:28px}.portal-focus-content{grid-template-columns:1fr}.portal-focus-content>div:first-child>button{margin-top:16px}.portal-detail-summary{grid-template-columns:repeat(2,1fr)}.portal-contacts-page>div{grid-template-columns:1fr}}@media (max-width:560px){.portal-staff-bar>button{justify-content:center;width:42px;padding:0;font-size:0}.portal-staff-bar>button svg{width:16px}.portal-staff-controls{width:calc(100vw - 16px);right:8px}.portal-preview-selects{grid-template-columns:1fr}.portal-client-main{padding:18px 12px 56px}.portal-page-header{flex-direction:column;align-items:flex-start;min-height:92px}.portal-page-header h1{font-size:34px}.portal-page-header>div:last-child{width:100%}.portal-welcome-card{min-height:330px;padding:25px}.portal-welcome-card h2{letter-spacing:-2.4px;font-size:42px}.portal-kpi-grid{grid-template-columns:1fr}.portal-kpi-grid article{min-height:98px}.portal-lead-strip{flex-wrap:wrap;align-items:flex-start}.portal-lead-strip>a{justify-content:center;width:100%;margin:4px 0 0}.portal-map-page>aside{grid-template-columns:1fr}.portal-map-page>aside>header{grid-column:1}.portal-map-large{min-height:340px}.portal-live-map>footer{grid-template-columns:1fr}.portal-documents-page article{grid-template-columns:42px minmax(0,1fr)}.portal-documents-page article button{grid-column:1/-1;justify-content:center}}.portal-client-main p{line-height:1.48;font-size:13px!important}.portal-client-main small{line-height:1.38;font-size:11.5px!important}.portal-client-main em{line-height:1.35;font-size:11.5px!important}.portal-client-brand small{font-size:10px;line-height:1.3}.portal-client-brand b{font-size:15px}.portal-client-nav nav button{font-size:14px}.portal-nav-account{padding-block:17px}.portal-nav-account b{font-size:13px}.portal-nav-account small{font-size:11.5px;line-height:1.3}.portal-secure-note{padding:13px}.portal-secure-note b{font-size:12px}.portal-secure-note small{font-size:10.5px;line-height:1.45}.portal-page-header>div:first-child small{font-size:10.5px!important}.portal-page-header>div:last-child>span,.portal-page-header button{font-size:12px}.portal-welcome-card>div:first-child>span{font-size:11px}.portal-welcome-card p{font-size:15px!important}.portal-progress-orbit small{font-size:11.5px!important}.portal-kpi-grid article{min-height:138px}.portal-kpi-grid article small,.portal-kpi-grid article em{white-space:normal}.portal-focus-project>header small,.portal-updates-card>header small{font-size:10.5px!important}.portal-focus-project>header b,.portal-updates-card>header b{font-size:19px}.portal-focus-content>div:first-child>p{font-size:13px!important}.portal-focus-dates small,.portal-detail-dates small{font-size:10px!important}.portal-focus-dates b,.portal-detail-dates b{font-size:12px}.portal-project-progress small{font-size:11.5px!important}.portal-focus-content>div:first-child>button,.portal-focus-map>span,.portal-detail-map>span{font-size:11.5px}.portal-focus-map-empty b{font-size:13px}.portal-focus-map-empty small{font-size:11.5px!important}.portal-updates-card article{grid-template-columns:12px minmax(0,1fr);min-height:82px}.portal-updates-card article b{font-size:13px}.portal-updates-card article p{font-size:12.5px!important}.portal-updates-card article small{font-size:11px!important}.portal-updates-card>button{min-height:40px;font-size:11.5px}.portal-lead-strip>div small{font-size:10px!important}.portal-lead-strip>div b{font-size:15px}.portal-lead-strip>div p{font-size:12px!important}.portal-lead-strip>a{font-size:11.5px}.portal-project-directory>header small{font-size:10px!important}.portal-project-directory>header>span{font-size:11.5px}.portal-project-directory button>div b{font-size:14px}.portal-project-directory button>div small{white-space:normal;font-size:11px!important}.portal-project-directory button>strong small{font-size:10px!important}.portal-project-detail>header p{font-size:13px!important}.portal-project-detail>header>strong small{font-size:10px!important}.portal-detail-summary small{font-size:10.5px!important}.portal-shared-note small{font-size:10px!important}.portal-shared-note p{font-size:12.5px!important}.portal-map-page>aside>header small,.portal-live-map>header small{font-size:10px!important}.portal-map-page>aside>button b{font-size:13px}.portal-map-page>aside>button small{white-space:normal;font-size:11px!important}.portal-live-map>header p{font-size:12px!important}.portal-live-map>header>span{font-size:11px}.portal-map-legend span{font-size:10.5px}.portal-live-map>footer small{font-size:10px!important}.portal-documents-page>header small,.portal-contacts-page>header>small{font-size:10.5px!important}.portal-documents-page>header p,.portal-contacts-page>header p{font-size:13px!important}.portal-documents-page>header>span{font-size:11px}.portal-documents-page article b{font-size:14px}.portal-documents-page article small{font-size:11.5px!important}.portal-documents-page article button{font-size:11.5px}.portal-contacts-page article small{font-size:10px!important}.portal-contacts-page article h3{font-size:19px}.portal-contacts-page article p{font-size:12.5px!important}.portal-contacts-page article a{font-size:11.5px}.portal-empty-state>b{font-size:16px}.portal-empty-state>small{font-size:12px!important}.portal-page-header.portal-overview-header{text-align:center;justify-content:center;align-items:center;height:25vh;min-height:250px;position:relative}.portal-overview-header>div:first-child{align-items:center}.portal-overview-header h1{letter-spacing:-4px;justify-items:center;gap:4px;font-size:clamp(48px,6.5vw,88px);line-height:.88;display:grid}.portal-overview-header h1 span{font-size:.72em;font-weight:450;display:block}.portal-overview-header h1 strong{max-width:1000px;font-weight:540;display:block}.portal-overview-header>div:last-child{position:absolute;top:0;right:0}.installer-account-add{border:0;border-radius:999px;align-items:center;gap:8px;min-height:45px;padding:0 17px;display:inline-flex}.installer-account-add svg{width:16px}.installer-access-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:300px;padding:38px;display:grid}.installer-access-empty>span{color:#6546e2;background:#7657ff1c;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.installer-access-empty>span svg{width:23px}.installer-access-empty b{font-size:18px}.installer-access-empty p{max-width:440px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.installer-access-empty button{border:0;border-radius:999px;align-items:center;gap:7px;min-height:42px;margin-top:8px;padding:0 15px;display:inline-flex}.account-row-actions .remove-installer-access{color:#d94761;background:#e24e6912;border-color:#e24e6933;margin-right:auto}.installer-account-picker{width:min(650px,100vw - 28px)}.installer-account-search{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;align-items:center;gap:10px;min-height:52px;margin-top:18px;padding:0 16px;display:flex}.installer-account-search svg{width:17px;color:var(--muted)}.installer-account-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.installer-account-options{scrollbar-width:thin;scrollbar-color:#70798959 transparent;gap:7px;max-height:390px;margin-top:14px;display:grid;overflow:auto}.installer-account-options>button{border:1px solid var(--line);min-height:68px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff29;border-radius:17px;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:9px 12px;transition:transform .18s,background .18s,border-color .18s;display:grid}.installer-account-options>button:hover{background:#ffffff4d;border-color:#7657ff47;transform:translateY(-1px)}.installer-account-options img{object-fit:cover;border-radius:15px;width:48px;height:48px}.installer-account-options span{gap:4px;min-width:0;display:grid}.installer-account-options b{font-size:14px}.installer-account-options small{text-overflow:ellipsis;color:var(--muted);white-space:nowrap;font-size:11px;overflow:hidden}.installer-account-options svg{color:#6546e2;width:17px}.installer-account-options>p{color:var(--muted);text-align:center;padding:40px 16px}.installer-access-page-head{align-items:flex-end}.installer-access-deployment-note{color:#167b66;border-radius:18px;align-items:flex-start;gap:11px;margin-bottom:14px;padding:13px 15px;display:flex}.installer-access-deployment-note>svg{flex:0 0 18px;width:18px}.installer-access-deployment-note p{gap:3px;margin:0;display:grid}.installer-access-deployment-note b{color:var(--ink);font-size:13px}.installer-access-deployment-note small{color:var(--muted);font-size:11px;line-height:1.45}.installer-access-metrics{margin-bottom:18px}.installer-access-library{border-radius:28px;padding:18px}.installer-access-library>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;padding:0 4px 15px;display:flex}.installer-access-library>header>div{align-items:center;gap:12px;display:flex}.installer-access-library>header>div>span{color:#6546e2;background:#7657ff1a;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.installer-access-library>header svg{width:18px}.installer-access-library>header p{gap:3px;margin:0;display:grid}.installer-access-library>header b{font-size:16px}.installer-access-library>header small{color:var(--muted);font-size:12px}.installer-access-library>header strong{background:var(--panel-strong);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;display:grid}.installer-access-list{gap:12px;padding-top:14px;display:grid}.installer-access-card{border:1px solid var(--line);background:#fff3;border-radius:23px;grid-template-columns:270px minmax(0,1fr);min-height:210px;display:grid;overflow:hidden}.installer-access-card.revoked,.installer-access-card.expired{opacity:.72}.installer-access-preview{background:#dceaf0;min-height:210px;position:relative;overflow:hidden}.installer-access-preview .mini-map{height:100%}.installer-access-status{color:#21362f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5fffbeb;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:13px;left:13px;box-shadow:0 7px 20px #1e282f1c}.installer-access-status i{background:#20a878;border-radius:50%;width:7px;height:7px}.installer-access-status.expired{color:#835d18}.installer-access-status.expired i{background:#e9ac2f}.installer-access-status.revoked{color:#92364b}.installer-access-status.revoked i{background:#e65362}.installer-access-card-body{align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.installer-access-card-body>header{align-items:center;gap:12px;display:flex}.installer-access-card-body>header img{object-fit:cover;border-radius:14px;width:46px;height:46px}.installer-access-card-body>header div{gap:2px;min-width:0;display:grid}.installer-access-card-body>header small{color:var(--muted);letter-spacing:.09em;font-size:9px}.installer-access-card-body>header h2{margin:0;font-size:18px;line-height:1.05}.installer-access-card-body>header p{color:var(--muted);margin:0;font-size:12px}.installer-access-facts{flex-wrap:wrap;gap:9px;display:flex}.installer-access-facts>span{border:1px solid var(--line);background:#fff3;border-radius:13px;grid-template-columns:17px auto;align-items:center;column-gap:7px;min-height:43px;padding:7px 11px;display:grid}.installer-access-facts svg{width:15px;color:var(--muted);grid-row:1/3}.installer-access-facts small{color:var(--muted);letter-spacing:.07em;font-size:8px}.installer-access-facts b{font-size:11px}.installer-access-link{border:1px solid var(--line);background:#ffffff42;border-radius:14px;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:42px;padding:5px 6px 5px 12px;display:grid}.installer-access-link>svg{color:#6546e2;width:15px}.installer-access-link>span{text-overflow:ellipsis;color:var(--muted);white-space:nowrap;font-size:10px;overflow:hidden}.installer-access-link button,.installer-access-card-body>footer button{border:1px solid var(--line);min-height:32px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:11px;display:inline-flex}.installer-access-link button svg,.installer-access-card-body>footer svg{width:14px}.installer-access-card-body>footer{flex-wrap:wrap;gap:7px;display:flex}.installer-access-card-body>footer .danger{color:#d94761;background:#e24e6912;margin-left:auto}.installer-access-link button:disabled,.installer-access-card-body>footer button:disabled{opacity:.38;cursor:default}.installer-access-create{width:min(660px,100vw - 28px)}.installer-access-create-fields{gap:13px;margin-top:18px;display:grid}.installer-access-create-fields>label{color:var(--muted);letter-spacing:.06em;gap:7px;font-size:10px;font-weight:700;display:grid}.installer-access-create-fields input[type=date]{border:1px solid var(--line);min-height:51px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;padding:0 16px;font-size:13px}.installer-access-scope{color:#157e67;background:#31c29a14;border:1px solid #1b97772e;border-radius:17px;align-items:flex-start;gap:11px;margin-top:15px;padding:14px;display:flex}.installer-access-scope svg{flex:0 0 18px;width:18px}.installer-access-scope p{gap:4px;margin:0;display:grid}.installer-access-scope b{color:var(--ink);font-size:13px}.installer-access-scope small{color:var(--muted);font-size:11px;line-height:1.45}.revoke-installer-link>p{color:var(--muted);margin:18px 0 0;font-size:13px;line-height:1.5}.revoke-installer-link footer .danger{color:#fff;background:#d94761}.temporary-access-chip{color:#183a31;background:#dcf9eec7;border:1px solid #45b99738;border-radius:999px;align-items:center;gap:9px;min-height:46px;padding:6px 13px;display:flex}.temporary-access-chip>svg{color:#159070;width:17px}.temporary-access-chip>span{gap:1px;display:grid}.temporary-access-chip b{font-size:11px}.temporary-access-chip small{color:#477066;font-size:9px}.installer-access-workspace .title-edit input:read-only,.installer-access-workspace .dates input:disabled{cursor:default;opacity:1}.installer-access-message{color:#17202b;background:radial-gradient(circle at 82% 8%,#9cddf294,#0000 33%),radial-gradient(circle at 12% 91%,#ffd39e80,#0000 35%),#edf0ef;place-items:center;min-height:100vh;padding:24px;display:grid}.installer-access-message>section{text-align:center;border-radius:34px;justify-items:center;gap:10px;width:min(520px,100%);padding:44px;display:grid}.installer-access-message>section>span{color:#6546e2;background:#7657ff1c;border-radius:19px;place-items:center;width:58px;height:58px;margin-bottom:8px;display:grid}.installer-access-message.blocked>section>span{color:#d94761;background:#e24e6917}.installer-access-message>section svg{width:24px}.installer-access-message>section small{color:#6f7782;letter-spacing:.1em;font-size:10px;font-weight:700}.installer-access-message h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,5vw,48px)}.installer-access-message p{color:#66707d;max-width:420px;margin:0;font-size:14px;line-height:1.55}.installer-access-message em{color:#7b8490;margin-top:8px;font-size:11px;font-style:normal}@media (max-width:980px){.installer-access-card{grid-template-columns:210px minmax(0,1fr)}.temporary-access-chip{display:none}}@media (max-width:720px){.installer-access-page-head{align-items:stretch}.installer-access-card{grid-template-columns:1fr}.installer-access-preview{min-height:170px}.installer-access-card-body>footer .danger{margin-left:0}}@media (max-width:820px){.portal-page-header.portal-overview-header{justify-content:center;height:28vh;min-height:270px}.portal-overview-header h1{letter-spacing:-3px;font-size:clamp(42px,9vw,68px)}}@media (max-width:560px){.portal-page-header.portal-overview-header{flex-direction:row;align-items:center;height:30vh;min-height:280px}.portal-overview-header>div:last-child{width:auto}.portal-overview-header h1{letter-spacing:-2.3px;font-size:clamp(38px,11vw,54px)}}.auth-page{isolation:isolate;color:#172033;background:radial-gradient(at 88% 4%,#97d7f0bf,#0000 41%),radial-gradient(at 8% 100%,#f4ca9eb8,#0000 40%),radial-gradient(circle at 51% 48%,#dbccf475,#0000 35%),linear-gradient(136deg,#eaf3f4 0%,#f7efe5 58%,#e9edf5 100%);grid-template-columns:minmax(360px,.95fr) minmax(430px,.72fr);justify-content:center;align-items:stretch;gap:clamp(18px,2.2vw,34px);min-height:100vh;padding:clamp(22px,4vw,58px);display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";z-index:-1;opacity:.22;background-image:radial-gradient(circle,#222a3b47 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(115deg,#000,#0000 58%);mask-image:linear-gradient(115deg,#000,#0000 58%)}.auth-ambient{z-index:-1;filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.auth-ambient-one{background:#ffffff80;width:36vw;height:36vw;top:-21vw;right:8vw;box-shadow:0 0 110px #ffffffb8}.auth-ambient-two{background:#8160ff21;width:26vw;height:26vw;bottom:-17vw;left:42%;box-shadow:0 0 90px #8160ff29}.auth-page .glass{-webkit-backdrop-filter:blur(42px)saturate(145%);background:linear-gradient(145deg,#ffffffb8,#fffaf380);border-color:#ffffffb8;box-shadow:0 32px 90px #2e354924,inset 0 1px #fffffff5}.auth-brand-panel{border-radius:42px;flex-direction:column;justify-content:space-between;min-height:min(820px,100vh - clamp(44px,8vw,116px));padding:clamp(34px,5vw,72px);display:flex}.auth-brand-panel>img{width:clamp(138px,13vw,192px);height:auto}.auth-brand-panel>div{max-width:670px}.auth-brand-panel small,.auth-card>header small{color:#6953c9;letter-spacing:1.8px;font-size:12px;font-weight:750}.auth-brand-panel h2{letter-spacing:clamp(-5px,-.06em,-2.8px);margin:20px 0 23px;font-size:clamp(54px,6.4vw,96px);font-weight:500;line-height:.89}.auth-brand-panel p{color:#657083;max-width:560px;margin:0;font-size:clamp(17px,1.45vw,22px);line-height:1.5}.auth-brand-panel footer{color:#596477;align-items:center;gap:10px;font-size:13px;display:flex}.auth-brand-panel footer span{background:#1eb78d;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 7px #1eb78d1a}.auth-card{border-radius:42px;width:100%;max-width:610px;margin:auto;padding:clamp(36px,5vw,70px)}.auth-card>header{margin-bottom:38px}.auth-card h1{letter-spacing:-.055em;margin:15px 0 13px;font-size:clamp(46px,4.5vw,68px);font-weight:500;line-height:.95}.auth-card>header p{color:#687388;margin:0;font-size:16px;line-height:1.55}.auth-form{gap:20px;display:grid}.auth-form>label{color:#4f596c;gap:9px;font-size:13px;font-weight:650;display:grid}.auth-form>label>div{background:#ffffff9e;border:1px solid #474f6824;border-radius:18px;align-items:center;gap:12px;min-height:58px;padding:0 16px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.auth-form>label>div:focus-within{background:#ffffffdb;border-color:#7657ff75;box-shadow:0 0 0 4px #7657ff14,0 12px 25px #3338500f}.auth-form>label svg{color:#7a8498;flex:0 0 19px;width:19px}.auth-form input{color:#172033;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:16px}.auth-form input::placeholder{color:#9aa2b0}.auth-form label button{color:#697489;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;display:grid}.auth-form label button:hover{background:#7657ff14}.auth-form-row{color:#8991a0;justify-content:space-between;align-items:center;gap:14px;font-size:12px;display:flex}.auth-form-row a,.auth-back-link{color:#5f43d4;font-weight:700;text-decoration:none}.auth-submit{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:18px;justify-content:space-between;align-items:center;min-height:58px;margin-top:2px;padding:0 21px;font-size:15px;font-weight:680;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex;box-shadow:0 16px 30px #171b2333,inset 0 1px #ffffff29}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 36px #171b2340,inset 0 1px #ffffff29}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-submit svg{width:19px}.auth-error{color:#c43c54;background:#e8536b12;border:1px solid #dd455e29;border-radius:14px;margin:-4px 0 0;padding:12px 14px;font-size:13px;line-height:1.45}.auth-recovery-fallback{gap:24px;display:grid}.auth-recovery-fallback-copy{color:#8f2d42;background:#e8536b12;border:1px solid #dd455e29;border-radius:18px;align-items:flex-start;gap:14px;padding:16px;display:flex}.auth-recovery-fallback-copy>span{color:#c43c54;background:#ffffffb8;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.auth-recovery-fallback-copy svg{width:20px}.auth-recovery-fallback-copy h3{color:#7e2639;margin:0 0 5px;font-size:17px;font-weight:700}.auth-recovery-fallback-copy p{margin:0;font-size:14px;line-height:1.5}.auth-back-link{align-items:center;gap:7px;width:max-content;margin:4px auto 0;font-size:13px;display:inline-flex}.auth-back-link svg{width:15px}.auth-password-rule{color:#8992a2;align-items:center;gap:7px;margin:-5px 0 0;font-size:12px;display:flex}.auth-password-rule svg{width:15px}.auth-password-rule.valid{color:#16886c}.auth-success{text-align:center;justify-items:center;gap:12px;display:grid}.auth-success>span{color:#6042d6;background:#7657ff1a;border-radius:20px;place-items:center;width:64px;height:64px;margin-bottom:8px;display:grid}.auth-success>span svg{width:26px}.auth-spinner{animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-success h3{letter-spacing:-.8px;margin:0;font-size:28px;font-weight:560}.auth-success p{color:#6c7688;max-width:380px;margin:0;font-size:14px;line-height:1.55}.auth-success a{color:#5f43d4;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.auth-success a svg{width:15px}.mfa-loading{color:#687388;text-align:center;align-content:center;place-items:center;gap:16px;min-height:220px;display:grid}.mfa-loading svg{width:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mfa-setup{text-align:center;justify-items:center;gap:16px;display:grid}.mfa-security-mark{color:#16886c;background:#1fbc941f;border-radius:22px;place-items:center;width:70px;height:70px;margin-bottom:4px;display:grid;box-shadow:inset 0 0 0 1px #1fbc9426}.mfa-security-mark svg{width:30px}.mfa-setup h3{letter-spacing:-1px;margin:0;font-size:30px;font-weight:560}.mfa-setup>p{color:#687388;max-width:420px;margin:0 0 6px;font-size:14px;line-height:1.6}.mfa-setup .auth-submit{width:100%}.mfa-signout{color:#747e90;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:7px;margin:2px auto 0;padding:8px 13px;font-size:13px;display:inline-flex}.mfa-signout svg{width:16px}.mfa-steps{justify-content:center;align-items:center;gap:10px;display:flex}.mfa-steps span{color:#848da0;background:#59627614;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;font-weight:750;display:grid}.mfa-steps span.active{color:#fff;background:#171b23;box-shadow:0 8px 18px #171b232e}.mfa-steps span svg{width:15px}.mfa-steps i{background:#5962761f;width:42px;height:2px}.mfa-steps i.complete{background:#23af8a}.mfa-qr{background:#fff;border:1px solid #4e566c1f;border-radius:26px;place-items:center;width:216px;height:216px;margin:0 auto;display:grid;box-shadow:0 16px 34px #272d3d17}.mfa-qr img{width:190px;height:190px}.mfa-instruction{color:#6042d6;background:#7657ff13;border-radius:17px;align-items:flex-start;gap:12px;padding:15px 16px;display:flex}.mfa-instruction>svg{flex:0 0 21px;width:21px;margin-top:1px}.mfa-instruction p{gap:4px;margin:0;display:grid}.mfa-instruction b{color:#343b4b;font-size:14px}.mfa-instruction span{color:#747e91;font-size:12px;line-height:1.45}.mfa-secret{background:#ffffff80;border:1px solid #4e566c1c;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px 12px 12px 15px;display:flex}.mfa-secret>span{gap:4px;min-width:0;display:grid}.mfa-secret small{color:#8992a2;letter-spacing:1px;font-size:9px}.mfa-secret code{color:#333b4b;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mfa-secret button{color:#6042d6;cursor:pointer;background:#7657ff1a;border:0;border-radius:13px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.mfa-secret button svg{width:17px}.mfa-code{font-variant-numeric:tabular-nums;letter-spacing:.28em;font-weight:650;font-size:21px!important}@media (max-width:980px){.auth-page{grid-template-columns:1fr;overflow:auto}.auth-brand-panel{min-height:300px;padding:34px}.auth-brand-panel>div{margin-block:55px}.auth-brand-panel h2{font-size:clamp(50px,11vw,82px)}.auth-card{max-width:none}}@media (max-width:560px){.auth-page{gap:12px;padding:12px}.auth-brand-panel{border-radius:30px;min-height:245px;padding:27px}.auth-brand-panel>div{margin-block:38px}.auth-brand-panel h2{margin-block:13px;font-size:47px}.auth-brand-panel p{font-size:15px}.auth-brand-panel footer{display:none}.auth-card{border-radius:30px;padding:34px 25px}.auth-card h1{font-size:44px}}@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}
